@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","_propTypes","_globalObject","_isInstanceOf","_identifiers","_decorators","_keyListener","_utils","_client","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_getVisualStateDataAttributes","_Paging2","NavigationHelper","_interopRequireWildcard","_PagingHelper","_locale","_PagingDefaultComponent","_ForwardIcon","_dec","_class","_Paging","IGNORE_EVENT_TAGS","PagingDataTids","exports","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","locale","PagingLocaleHelper","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","_cx","default","createElement","className","cx","styles","theme","dotsDisabled","classes","pageLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","ForwardIcon","size","parseInt","pagingForwardIconSize","style","marginLeft","_extends2","onClick","emptyHandler","goForward","tabIndex","pageNumber","getVisualStateDataAttributes","caption","_cx2","pageLinkDisabled","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","onMouseDown","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","Fragment","transparent","getKeyName","pageLinkHint","handleMouseDown","setState","isIE11","globalObject","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isKeyArrowLeft","isArrowRight","isKeyArrowRight","isInstanceOf","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","isKeyEnter","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","getItems","pagesCount","isItemFocusable","moveFocus","step","items","findIndex","x","onPageChange","addGlobalListener","_globalObject$documen","document","addEventListener","removeGlobalListener","_globalObject$documen2","removeEventListener","refContainer","element","_inheritsLoose2","isForward","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","_this2","ThemeContext","Consumer","renderMain","_cx3","_this$getProps","CommonWrapper","rootNodeRef","setRootNode","paging","pagingDisabled","onKeyDown","undefined","onFocus","onBlur","ref","map","React","PureComponent","__KONTUR_REACT_UI__","displayName","PagingDefaultComponent","propTypes","number","isRequired","func"],"sources":["Paging.tsx"],"sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\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 { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport type { PagingLocale } from './locale';\nimport { PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon } from './ForwardIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n /** Определяет, является ли страница текущей. */\n active: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className: string;\n\n /** Задает функцию, которая вызывается при клике на элемент. */\n onClick: () => void;\n\n /** Задает номер текущей страницы. */\n pageNumber: number | 'forward';\n\n /** Задает HTML-атрибут `tabindex`. */\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /** Компонент обертки по умолчанию.\n * @default <span /> */\n component?: React.ComponentType<ItemComponentProps>;\n\n /** Задает функцию, которая вызывается при переключении страницы. */\n onPageChange: (pageNumber: number) => void;\n\n /** Задает общее количество страниц. */\n pagesCount: number;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры (либо элемент в фокусе, либо globalListeners === true). */\n withoutNavigationHint?: boolean;\n\n /** Задает подпить у пейджинга. */\n caption?: string;\n\n /** Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов **Paging** с useGlobalListener === true,\n * то обработчик keyDown будет вызываться на каждом из них. Такие случаи лучше обрабатывать отдельно. */\n useGlobalListener?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<Pick<PagingProps, 'component' | 'useGlobalListener'>>;\n\n/**\n * Постраничная навигация `Paging` (пейджинг или пагинация) — способ представления большого количества однородной информации, когда контент разбивается на страницы.\n */\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n public static displayName = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n useGlobalListener: false,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2) {\n return null;\n }\n\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 { useGlobalListener } = this.getProps();\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled: this.props.disabled })}\n >\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={PagingDataTids.root}\n className={cx({ [styles.paging(this.theme)]: true, [styles.pagingDisabled()]: this.props.disabled })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={cx({ [styles.dots(this.theme)]: true, [styles.dotsDisabled(this.theme)]: this.props.disabled })}\n >\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = cx(\n styles.pageLink(this.theme),\n styles.forwardLink(this.theme),\n focused && styles.pageLinkFocused(this.theme),\n (disabled || this.props.disabled) && styles.forwardLinkDisabled(this.theme),\n );\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = <ForwardIcon size={parseInt(this.theme.pagingForwardIconSize)} style={{ marginLeft: 4 }} />;\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n {...getVisualStateDataAttributes({ disabled })}\n >\n {this.props.caption || forward}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const disabled = this.props.disabled;\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.pageLinkDisabled(this.theme)]: disabled,\n [styles.pageLinkCurrent(this.theme)]: active,\n [styles.pageLinkCurrentDisabled(this.theme)]: active && disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n {...getVisualStateDataAttributes({ active, disabled })}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n let hint = null;\n if (keyboardControl && (canGoBackward || canGoForward)) {\n hint = (\n <>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n globalObject.setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n isInstanceOf(target, globalObject.Element) &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n globalObject.document?.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_isInstanceOf","_identifiers","_decorators","_keyListener","_utils","_client","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_getVisualStateDataAttributes","_Paging2","NavigationHelper","_interopRequireWildcard","_PagingHelper","_locale","_PagingDefaultComponent","_ForwardIcon","_dec","_class","_Paging","IGNORE_EVENT_TAGS","PagingDataTids","exports","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","locale","PagingLocaleHelper","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","_cx","default","createElement","className","cx","styles","theme","dotsDisabled","classes","pageLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","ForwardIcon","size","parseInt","pagingForwardIconSize","style","marginLeft","_extends2","onClick","emptyHandler","goForward","tabIndex","pageNumber","getVisualStateDataAttributes","caption","_cx2","pageLinkDisabled","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","onMouseDown","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","Fragment","transparent","getKeyName","pageLinkHint","handleMouseDown","setState","isIE11","globalObject","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isKeyArrowLeft","isArrowRight","isKeyArrowRight","isInstanceOf","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","isKeyEnter","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","getItems","pagesCount","isItemFocusable","moveFocus","step","items","findIndex","x","onPageChange","addGlobalListener","_globalObject$documen","document","addEventListener","removeGlobalListener","_globalObject$documen2","removeEventListener","refContainer","element","_inheritsLoose2","isForward","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","_this2","ThemeContext","Consumer","renderMain","_cx3","_this$getProps","CommonWrapper","rootNodeRef","setRootNode","paging","pagingDisabled","onKeyDown","undefined","onFocus","onBlur","ref","map","React","PureComponent","__KONTUR_REACT_UI__","displayName","PagingDefaultComponent"],"sources":["Paging.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\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 { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport type { PagingLocale } from './locale';\nimport { PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon } from './ForwardIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n /** Определяет, является ли страница текущей. */\n active: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className: string;\n\n /** Задает функцию, которая вызывается при клике на элемент. */\n onClick: () => void;\n\n /** Задает номер текущей страницы. */\n pageNumber: number | 'forward';\n\n /** Задает HTML-атрибут `tabindex`. */\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n\n /** Компонент обертки по умолчанию.\n * @default <span /> */\n component?: React.ComponentType<ItemComponentProps>;\n\n /** Задает функцию, которая вызывается при переключении страницы. */\n onPageChange: (pageNumber: number) => void;\n\n /** Задает общее количество страниц. */\n pagesCount: number;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры (либо элемент в фокусе, либо globalListeners === true). */\n withoutNavigationHint?: boolean;\n\n /** Задает подпить у пейджинга. */\n caption?: string;\n\n /** Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов **Paging** с useGlobalListener === true,\n * то обработчик keyDown будет вызываться на каждом из них. Такие случаи лучше обрабатывать отдельно. */\n useGlobalListener?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<Pick<PagingProps, 'component' | 'useGlobalListener'>>;\n\n/**\n * Постраничная навигация `Paging` (пейджинг или пагинация) — способ представления большого количества однородной информации, когда контент разбивается на страницы.\n */\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n public static displayName = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n useGlobalListener: false,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2) {\n return null;\n }\n\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 { useGlobalListener } = this.getProps();\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled: this.props.disabled })}\n >\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={PagingDataTids.root}\n className={cx({ [styles.paging(this.theme)]: true, [styles.pagingDisabled()]: this.props.disabled })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={cx({ [styles.dots(this.theme)]: true, [styles.dotsDisabled(this.theme)]: this.props.disabled })}\n >\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = cx(\n styles.pageLink(this.theme),\n styles.forwardLink(this.theme),\n focused && styles.pageLinkFocused(this.theme),\n (disabled || this.props.disabled) && styles.forwardLinkDisabled(this.theme),\n );\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = <ForwardIcon size={parseInt(this.theme.pagingForwardIconSize)} style={{ marginLeft: 4 }} />;\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n {...getVisualStateDataAttributes({ disabled })}\n >\n {this.props.caption || forward}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const disabled = this.props.disabled;\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.pageLinkDisabled(this.theme)]: disabled,\n [styles.pageLinkCurrent(this.theme)]: active,\n [styles.pageLinkCurrentDisabled(this.theme)]: active && disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n {...getVisualStateDataAttributes({ active, disabled })}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n let hint = null;\n if (keyboardControl && (canGoBackward || canGoForward)) {\n hint = (\n <>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n globalObject.setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n isInstanceOf(target, globalObject.Element) &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n globalObject.document?.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { AriaAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import type { InputProps } from '../Input';
|
|
5
4
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
6
5
|
export interface PasswordInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Omit<InputProps, 'showClearIcon'> {
|
|
@@ -26,12 +25,6 @@ type DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;
|
|
|
26
25
|
export declare class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {
|
|
27
26
|
static __KONTUR_REACT_UI__: string;
|
|
28
27
|
static displayName: string;
|
|
29
|
-
static propTypes: {
|
|
30
|
-
/**
|
|
31
|
-
* Включает CapsLock детектор
|
|
32
|
-
*/
|
|
33
|
-
detectCapsLock: PropTypes.Requireable<boolean>;
|
|
34
|
-
};
|
|
35
28
|
static defaultProps: DefaultProps;
|
|
36
29
|
private getProps;
|
|
37
30
|
state: PasswordInputState;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.PasswordInputDataTids = exports.PasswordInput = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
2
2
|
var _react = _interopRequireDefault(require("react"));
|
|
3
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
4
3
|
var _globalObject = require("@skbkontur/global-object");
|
|
5
4
|
|
|
6
5
|
var _decorators = require("../../lib/locale/decorators");
|
|
@@ -63,13 +62,6 @@ PasswordInput = exports.PasswordInput = (_dec = (0, _decorators.locale)('Passwor
|
|
|
63
62
|
|
|
64
63
|
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
65
|
getProps = (0, _createPropsGetter.createPropsGetter)(PasswordInput.defaultProps);_this.
|
|
74
66
|
|
|
75
67
|
state = {
|
|
@@ -272,6 +264,4 @@ PasswordInput = exports.PasswordInput = (_dec = (0, _decorators.locale)('Passwor
|
|
|
272
264
|
};return _this;}(0, _inheritsLoose2.default)(PasswordInput, _React$PureComponent);var _proto = PasswordInput.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.detectCapsLock) {this.setState({ capsLockEnabled: null });} // @ts-expect-error: IE-specific API.
|
|
273
265
|
if (_client.isIE11 && (0, _globalObject.isBrowser)(_globalObject.globalObject) && !_globalObject.globalObject.document.msCapsLockWarningOff) {// @ts-expect-error: Read the comment above.
|
|
274
266
|
// turns off default ie capslock warning
|
|
275
|
-
_globalObject.globalObject.document.msCapsLockWarningOff = true;}};PasswordInput.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {if (props.disabled) {return { visible: false };}return state;};_proto.render = function render() {var _this3 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this3.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this3.setRootNode }, _this3.getProps()), _this3.renderMain);});};_proto.getEyeWrapperClassname = function getEyeWrapperClassname() {switch (this.getProps().size) {case 'large':return _PasswordInput2.styles.eyeWrapperLarge(this.theme);case 'medium':return _PasswordInput2.styles.eyeWrapperMedium(this.theme);case 'small':default:return _PasswordInput2.styles.eyeWrapperSmall(this.theme);}};return PasswordInput;}(_react.default.PureComponent), _PasswordInput.__KONTUR_REACT_UI__ = 'PasswordInput', _PasswordInput.displayName = 'PasswordInput', _PasswordInput.
|
|
276
|
-
* Включает CapsLock детектор
|
|
277
|
-
*/detectCapsLock: _propTypes.default.bool }, _PasswordInput.defaultProps = { size: 'small' }, _PasswordInput)) || _class) || _class);
|
|
267
|
+
_globalObject.globalObject.document.msCapsLockWarningOff = true;}};PasswordInput.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {if (props.disabled) {return { visible: false };}return state;};_proto.render = function render() {var _this3 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this3.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this3.setRootNode }, _this3.getProps()), _this3.renderMain);});};_proto.getEyeWrapperClassname = function getEyeWrapperClassname() {switch (this.getProps().size) {case 'large':return _PasswordInput2.styles.eyeWrapperLarge(this.theme);case 'medium':return _PasswordInput2.styles.eyeWrapperMedium(this.theme);case 'small':default:return _PasswordInput2.styles.eyeWrapperSmall(this.theme);}};return PasswordInput;}(_react.default.PureComponent), _PasswordInput.__KONTUR_REACT_UI__ = 'PasswordInput', _PasswordInput.displayName = 'PasswordInput', _PasswordInput.defaultProps = { size: 'small' }, _PasswordInput)) || _class) || _class);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_globalObject","_decorators","_RenderLayer","_utils","_identifiers","_KeyboardEventCodes","_Input","_client","_CommonWrapper","_ThemeContext","_Emotion","_rootNode","_createPropsGetter","_PasswordInput2","_PasswordInputIcon","_locale","_excluded","_dec","_class","_PasswordInput","PasswordInputDataTids","exports","root","capsLockDetector","eyeIcon","PasswordInput","locale","PasswordInputLocaleHelper","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","visible","focused","capsLockEnabled","focus","input","blur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","Codes","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","isKeyCapsLock","isNonNullable","handleToggleVisibility","prevState","focusOnInput","handleFocus","event","onFocus","handleFocusOutside","hideSymbols","renderEye","default","createElement","className","styles","iconWrapper","cx","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","PasswordInputIcon","size","refInput","element","renderMain","rest","_objectWithoutPropertiesLoose2","inputProps","_extends2","rightIcon","RenderLayer","active","onFocusOutside","onClickOutside","Input","ref","_inheritsLoose2","_proto","prototype","componentDidMount","isIE11","isBrowser","globalObject","document","msCapsLockWarningOff","getDerivedStateFromProps","render","_this3","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool"],"sources":["PasswordInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport type { PasswordInputLocale } from './locale';\nimport { PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Omit<InputProps, 'showClearIcon'> {\n /** Включает CapsLock детектор. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * `PasswordInput` — однострочное поле для ввода пароля, в котором символы заменяются на точки.\n *\n * Не используйте такое поле для ввода одноразовых кодов из смс. У них короткий срок действия и используются они только один раз.\n */\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n globalObject.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.props.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n onFocus: this.handleFocus,\n };\n\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;;AAEA,IAAAQ,MAAA,GAAAR,OAAA;;AAEA,IAAAS,OAAA,GAAAT,OAAA;;AAEA,IAAAU,cAAA,GAAAV,OAAA;;AAEA,IAAAW,aAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;;AAEA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,kBAAA,GAAAd,OAAA;;AAEA,IAAAe,eAAA,GAAAf,OAAA;AACA,IAAAgB,kBAAA,GAAAhB,OAAA;;AAEA,IAAAiB,OAAA,GAAAjB,OAAA,aAAqD,IAAAkB,SAAA,0BAAAC,IAAA,EAAAC,MAAA,EAAAC,cAAA;;;;;;;;;;;;;;;;AAgB9C,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG;EACnCE,IAAI,EAAE,eAAe;EACrBC,gBAAgB,EAAE,+BAA+B;EACjDC,OAAO,EAAE;AACX,CAAU;;;;AAIV;AACA;AACA;AACA;AACA,GAJA;;;AAOaC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,IAAAR,IAAA,GADzB,IAAAS,kBAAM,EAAC,eAAe,EAAEC,iCAAyB,CAAC,MADlDC,kBAAQ,EAAAV,MAAA,GAAAD,IAAA,CAAAC,MAAA,IAAAC,cAAA,0BAAAU,oBAAA,YAAAJ,cAAA,OAAAK,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;IAiBCU,QAAQ,GAAG,IAAAC,oCAAiB,EAAChB,aAAa,CAACiB,YAAY,CAAC,CAAAZ,KAAA;;IAEzDa,KAAK,GAAuB;MACjCC,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE,KAAK;MACdC,eAAe,EAAE;IACnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4CD;AACF;AACA,OAFEhB,KAAA;IAGOiB,KAAK,GAAG,YAAM;MACnB,IAAIjB,KAAA,CAAKkB,KAAK,EAAE;QACdlB,KAAA,CAAKkB,KAAK,CAACD,KAAK,CAAC,CAAC;MACpB;IACF,CAAC;;IAED;AACF;AACA,OAFEjB,KAAA;IAGOmB,IAAI,GAAG,YAAM;MAClB,IAAInB,KAAA,CAAKkB,KAAK,EAAE;QACdlB,KAAA,CAAKkB,KAAK,CAACC,IAAI,CAAC,CAAC;MACnB;IACF,CAAC,CAAAnB,KAAA;;IAEOoB,cAAc,GAAG,UAACC,CAAwC,EAAK;MACrE,IAAAC,WAAA,GAAuCtB,KAAA,CAAKuB,KAAK,CAAzCC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;;MAElC,IAAID,UAAU,EAAE;QACdA,UAAU,CAACH,CAAC,CAAC;MACf;;MAEA,IAAI,CAACI,cAAc,EAAE;QACnB;MACF;;MAEA,IAAMT,eAAe,GAAGK,CAAC,CAACK,gBAAgB,CAACC,sCAAK,CAACC,QAAQ,CAAC;;MAE1D5B,KAAA,CAAK6B,QAAQ,CAAC,EAAEb,eAAe,EAAfA,eAAe,CAAC,CAAC,CAAC;IACpC,CAAC,CAAAhB,KAAA;;IAEO8B,aAAa,GAAG,UAACT,CAAwC,EAAK;MACpE,IAAAU,MAAA,GAAA/B,KAAA,CAAAgC,YAAA,GAAAD,MAAA;QACER,KAAK,CAAIE,cAAc,GAAAO,YAAA,CAAdP,cAAc,CAAEQ,SAAS,GAAAD,YAAA,CAATC,SAAS;QACzBjB,eAAe,GAAAe,MAAA,CAAxBlB,KAAK,CAAIG,eAAe;;;MAG1B,IAAIiB,SAAS,EAAE;QACbA,SAAS,CAACZ,CAAC,CAAC;MACd;;MAEA,IAAI,CAACI,cAAc,EAAE;QACnB;MACF;;MAEA,IAAI,IAAAS,0BAAa,EAACb,CAAC,CAAC,IAAI,IAAAc,oBAAa,EAACnB,eAAe,CAAC,EAAE;QACtDhB,KAAA,CAAK6B,QAAQ,CAAC,EAAEb,eAAe,EAAE,CAACA,eAAe,CAAC,CAAC,CAAC;MACtD;IACF,CAAC,CAAAhB,KAAA;;IAEOoC,sBAAsB,GAAG,YAAM;MACrCpC,KAAA,CAAK6B,QAAQ,CAAC,UAACQ,SAAS,UAAM,EAAEvB,OAAO,EAAE,CAACuB,SAAS,CAACvB,OAAO,CAAC,CAAC,EAAC,EAAEd,KAAA,CAAKsC,YAAY,CAAC;IACpF,CAAC,CAAAtC,KAAA;;IAEOsC,YAAY,GAAG,YAAM;MAC3B,IAAItC,KAAA,CAAKkB,KAAK,EAAE;QACdlB,KAAA,CAAKkB,KAAK,CAACD,KAAK,CAAC,CAAC;MACpB;IACF,CAAC,CAAAjB,KAAA;;IAEOuC,WAAW,GAAG,UAACC,KAAyC,EAAK;MACnE,IAAIxC,KAAA,CAAKa,KAAK,CAACE,OAAO,EAAE;QACtB;MACF;;MAEAf,KAAA,CAAK6B,QAAQ,CAAC,EAAEd,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;;MAEhC,IAAIf,KAAA,CAAKuB,KAAK,CAACkB,OAAO,EAAE;QACtBzC,KAAA,CAAKuB,KAAK,CAACkB,OAAO,CAACD,KAAK,CAAC;MAC3B;IACF,CAAC,CAAAxC,KAAA;;IAEO0C,kBAAkB,GAAG,YAAM;MACjC1C,KAAA,CAAK2C,WAAW,CAAC,CAAC;;MAElB,IAAI3C,KAAA,CAAKa,KAAK,CAACE,OAAO,EAAE;QACtBf,KAAA,CAAK6B,QAAQ,CAAC,EAAEd,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,CAAAf,KAAA;;;;;;;;;;;;;;IAcO4C,SAAS,GAAG,YAAM;MACxB,IAAQ5B,eAAe,GAAKhB,KAAA,CAAKa,KAAK,CAA9BG,eAAe;;MAEvB;QACElD,MAAA,CAAA+E,OAAA,CAAAC,aAAA,WAAMC,SAAS,EAAEC,sBAAM,CAACC,WAAW,CAAC,CAAE;QACnCjC,eAAe;QACdlD,MAAA,CAAA+E,OAAA,CAAAC,aAAA,WAAMC,SAAS,EAAEC,sBAAM,CAACvD,gBAAgB,CAAC,CAAE,EAAC,YAAUH,qBAAqB,CAACG,gBAAiB,EAAE,CAChG;;QACD3B,MAAA,CAAA+E,OAAA,CAAAC,aAAA,WAAMC,SAAS,EAAE,IAAAG,WAAE,EAACF,sBAAM,CAACG,gBAAgB,CAACnD,KAAA,CAAKoD,KAAK,CAAC,EAAEpD,KAAA,CAAKqD,sBAAsB,CAAC,CAAC,CAAE;QACrF,CAACrD,KAAA,CAAKuB,KAAK,CAAC+B,QAAQ;QACnBxF,MAAA,CAAA+E,OAAA,CAAAC,aAAA;UACES,IAAI,EAAC,QAAQ;UACb,cAAYvD,KAAA,CAAKa,KAAK,CAACC,OAAO,GAAGd,KAAA,CAAKJ,MAAM,CAAC4D,kBAAkB,GAAGxD,KAAA,CAAKJ,MAAM,CAAC6D,kBAAmB;UACjGC,OAAO,EAAE1D,KAAA,CAAKoC,sBAAuB;UACrCW,SAAS,EAAEC,sBAAM,CAACW,IAAI,CAAC,CAAE;UACzB,YAAUrE,qBAAqB,CAACI,OAAQ;;QAExC5B,MAAA,CAAA+E,OAAA,CAAAC,aAAA,CAAC9D,kBAAA,CAAA4E,iBAAiB,IAACC,IAAI,EAAE7D,KAAA,CAAKuB,KAAK,CAACsC,IAAK,EAAC/C,OAAO,EAAEd,KAAA,CAAKa,KAAK,CAACC,OAAQ,EAAE;QAClE;;QAEN;QACF,CAAC;;IAEX,CAAC,CAAAd,KAAA;;IAEO8D,QAAQ,GAAG,UAACC,OAAc,EAAK;MACrC/D,KAAA,CAAKkB,KAAK,GAAG6C,OAAO;IACtB,CAAC,CAAA/D,KAAA;;IAEO2C,WAAW,GAAG,YAAM;MAC1B3C,KAAA,CAAK6B,QAAQ,CAAC,EAAEf,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC,CAAAd,KAAA;;IAEOgE,UAAU,GAAG,UAACzC,KAAiD,EAAK;MAC1E,IAAQE,cAAc,GAAcF,KAAK,CAAjCE,cAAc,CAAKwC,IAAI,OAAAC,8BAAA,CAAArB,OAAA,EAAKtB,KAAK,EAAArC,SAAA;MACzC,IAAMiF,UAAU,OAAAC,SAAA,CAAAvB,OAAA;MACXoB,IAAI;QACPhC,SAAS,EAAEjC,KAAA,CAAK8B,aAAa;QAC7BN,UAAU,EAAExB,KAAA,CAAKoB,cAAc;QAC/BiD,SAAS,EAAErE,KAAA,CAAK4C,SAAS,CAAC,CAAC;QAC3BH,OAAO,EAAEzC,KAAA,CAAKuC,WAAW,GAC1B;;;MAED;QACEzE,MAAA,CAAA+E,OAAA,CAAAC,aAAA,CAAC1E,YAAA,CAAAkG,WAAW;UACVC,MAAM,EAAEvE,KAAA,CAAKa,KAAK,CAACE,OAAQ;UAC3ByD,cAAc,EAAExE,KAAA,CAAK0C,kBAAmB;UACxC+B,cAAc,EAAEzE,KAAA,CAAK0C,kBAAmB;;QAExC5E,MAAA,CAAA+E,OAAA,CAAAC,aAAA,UAAK,YAAUxD,qBAAqB,CAACE,IAAK,EAACuD,SAAS,EAAEC,sBAAM,CAACxD,IAAI,CAAC,CAAE;QAClE1B,MAAA,CAAA+E,OAAA,CAAAC,aAAA,CAACtE,MAAA,CAAAkG,KAAK,MAAAN,SAAA,CAAAvB,OAAA,IAAC8B,GAAG,EAAE3E,KAAA,CAAK8D,QAAS,EAACP,IAAI,EAAEvD,KAAA,CAAKa,KAAK,CAACC,OAAO,GAAG,MAAM,GAAG,UAAW,IAAKqD,UAAU,CAAG;QACzF;QACM,CAAC;;IAElB,CAAC,QAAAnE,KAAA,MAAA4E,eAAA,CAAA/B,OAAA,EAAAlD,aAAA,EAAAI,oBAAA,MAAA8E,MAAA,GAAAlF,aAAA,CAAAmF,SAAA,CAAAD,MAAA,CAzLME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,IAAI,CAACxD,KAAK,CAACE,cAAc,EAAE,CAC7B,IAAI,CAACI,QAAQ,CAAC,EAAEb,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAC1C,CAAC,CAED;IACA,IAAIgE,cAAM,IAAI,IAAAC,uBAAS,EAACC,0BAAY,CAAC,IAAI,CAACA,0BAAY,CAACC,QAAQ,CAACC,oBAAoB,EAAE,CACpF;MACA;MACAF,0BAAY,CAACC,QAAQ,CAACC,oBAAoB,GAAG,IAAI,CACnD,CACF,CAAC,CAAAzF,aAAA,CAEa0F,wBAAwB,GAAtC,SAAAA,yBAAuC9D,KAAyB,EAAEV,KAAyB,EAAE,CAC3F,IAAIU,KAAK,CAAC+B,QAAQ,EAAE,CAClB,OAAO,EAAExC,OAAO,EAAE,KAAK,CAAC,CAAC,CAC3B,CAEA,OAAOD,KAAK,CACd,CAAC,CAAAgE,MAAA,CAEMS,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEzH,MAAA,CAAA+E,OAAA,CAAAC,aAAA,CAACnE,aAAA,CAAA6G,YAAY,CAACC,QAAQ,QACnB,UAACrC,KAAK,EAAK,CACVmC,MAAI,CAACnC,KAAK,GAAGA,KAAK,CAClB,oBACEtF,MAAA,CAAA+E,OAAA,CAAAC,aAAA,CAACpE,cAAA,CAAAgH,aAAa,MAAAtB,SAAA,CAAAvB,OAAA,IAAC8C,WAAW,EAAEJ,MAAI,CAACK,WAAY,IAAKL,MAAI,CAAC7E,QAAQ,CAAC,CAAC,GAC9D6E,MAAI,CAACvB,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,CAAAa,MAAA,CAqFOxB,sBAAsB,GAA9B,SAAAA,uBAAA,EAAiC,CAC/B,QAAQ,IAAI,CAAC3C,QAAQ,CAAC,CAAC,CAACmD,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOb,sBAAM,CAAC6C,eAAe,CAAC,IAAI,CAACzC,KAAK,CAAC,CAC3C,KAAK,QAAQ,CACX,OAAOJ,sBAAM,CAAC8C,gBAAgB,CAAC,IAAI,CAAC1C,KAAK,CAAC,CAC5C,KAAK,OAAO,CACZ,QACE,OAAOJ,sBAAM,CAAC+C,eAAe,CAAC,IAAI,CAAC3C,KAAK,CAAC,CAC7C,CACF,CAAC,QAAAzD,aAAA,GA9JgCqG,cAAK,CAACC,aAAa,GAAA5G,cAAA,CACtC6G,mBAAmB,GAAG,eAAe,EAAA7G,cAAA,CACrC8G,WAAW,GAAG,eAAe,EAAA9G,cAAA,CAE7B+G,SAAS,GAAG,EACxB;AACJ;AACA,KACI3E,cAAc,EAAE4E,kBAAS,CAACC,IAAI,CAChC,CAAC,EAAAjH,cAAA,CAEauB,YAAY,GAAiB,EACzCiD,IAAI,EAAE,OAAO,CACf,CAAC,EAAAxE,cAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_decorators","_RenderLayer","_utils","_identifiers","_KeyboardEventCodes","_Input","_client","_CommonWrapper","_ThemeContext","_Emotion","_rootNode","_createPropsGetter","_PasswordInput2","_PasswordInputIcon","_locale","_excluded","_dec","_class","_PasswordInput","PasswordInputDataTids","exports","root","capsLockDetector","eyeIcon","PasswordInput","locale","PasswordInputLocaleHelper","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","visible","focused","capsLockEnabled","focus","input","blur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","Codes","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","isKeyCapsLock","isNonNullable","handleToggleVisibility","prevState","focusOnInput","handleFocus","event","onFocus","handleFocusOutside","hideSymbols","renderEye","default","createElement","className","styles","iconWrapper","cx","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","PasswordInputIcon","size","refInput","element","renderMain","rest","_objectWithoutPropertiesLoose2","inputProps","_extends2","rightIcon","RenderLayer","active","onFocusOutside","onClickOutside","Input","ref","_inheritsLoose2","_proto","prototype","componentDidMount","isIE11","isBrowser","globalObject","document","msCapsLockWarningOff","getDerivedStateFromProps","render","_this3","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","React","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["PasswordInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport type { PasswordInputLocale } from './locale';\nimport { PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Omit<InputProps, 'showClearIcon'> {\n /** Включает CapsLock детектор. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * `PasswordInput` — однострочное поле для ввода пароля, в котором символы заменяются на точки.\n *\n * Не используйте такое поле для ввода одноразовых кодов из смс. У них короткий срок действия и используются они только один раз.\n */\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n globalObject.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.props.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n onFocus: this.handleFocus,\n };\n\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -69,6 +69,7 @@ export declare class RadioGroup<T> extends React.Component<RadioGroupProps<T>, R
|
|
|
69
69
|
private name;
|
|
70
70
|
private getProps;
|
|
71
71
|
private setRootNode;
|
|
72
|
+
private featureFlags;
|
|
72
73
|
constructor(props: RadioGroupProps<T>);
|
|
73
74
|
private getRadioGroupContextValue;
|
|
74
75
|
render(): React.JSX.Element;
|
|
@@ -14,6 +14,8 @@ var _Emotion = require("../../lib/theming/Emotion");
|
|
|
14
14
|
var _rootNode = require("../../lib/rootNode");
|
|
15
15
|
var _getVisualStateDataAttributes = require("../../internal/CommonWrapper/utils/getVisualStateDataAttributes");
|
|
16
16
|
|
|
17
|
+
var _featureFlagsContext = require("../../lib/featureFlagsContext");
|
|
18
|
+
|
|
17
19
|
var _RadioGroup2 = require("./RadioGroup.styles");
|
|
18
20
|
var _Prevent = require("./Prevent");
|
|
19
21
|
|
|
@@ -113,6 +115,7 @@ RadioGroup = exports.RadioGroup = (0, _rootNode.rootNode)(_class = (_RadioGroup
|
|
|
113
115
|
|
|
114
116
|
|
|
115
117
|
|
|
118
|
+
|
|
116
119
|
function RadioGroup(props) {var _this;
|
|
117
120
|
_this = _React$Component.call(this, props) || this;_this.name = (0, _utils.getRandomID)();_this.getProps = (0, _createPropsGetter.createPropsGetter)(RadioGroup.defaultProps);_this.
|
|
118
121
|
|
|
@@ -178,6 +181,20 @@ RadioGroup = exports.RadioGroup = (0, _rootNode.rootNode)(_class = (_RadioGroup
|
|
|
178
181
|
|
|
179
182
|
|
|
180
183
|
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
181
198
|
|
|
182
199
|
|
|
183
200
|
|
|
@@ -240,7 +257,7 @@ RadioGroup = exports.RadioGroup = (0, _rootNode.rootNode)(_class = (_RadioGroup
|
|
|
240
257
|
|
|
241
258
|
ref = function (element) {
|
|
242
259
|
_this.node = element;
|
|
243
|
-
};_this.state = { activeItem: _this.props.defaultValue };return _this;}(0, _inheritsLoose2.default)(RadioGroup, _React$Component);var _proto = RadioGroup.prototype;_proto.render = function render() {var _this$props = this.props,width = _this$props.width,onMouseLeave = _this$props.onMouseLeave,onMouseOver = _this$props.onMouseOver,onMouseEnter = _this$props.onMouseEnter,onBlur = _this$props.onBlur,ariaDescribedby = _this$props['aria-describedby'],disabled = _this$props.disabled;var style = { width: width != null ? width : 'auto' };var handlers = { onMouseOver: onMouseOver, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave };return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef:
|
|
260
|
+
};_this.state = { activeItem: _this.props.defaultValue };return _this;}(0, _inheritsLoose2.default)(RadioGroup, _React$Component);var _proto = RadioGroup.prototype;_proto.render = function render() {var _this2 = this;var _this$props = this.props,width = _this$props.width,onMouseLeave = _this$props.onMouseLeave,onMouseOver = _this$props.onMouseOver,onMouseEnter = _this$props.onMouseEnter,onBlur = _this$props.onBlur,ariaDescribedby = _this$props['aria-describedby'],disabled = _this$props.disabled;var style = { width: width != null ? width : 'auto' };var handlers = { onMouseOver: onMouseOver, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave };return /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {var _cx2;_this2.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props, (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ disabled: disabled })), /*#__PURE__*/_react.default.createElement(_FocusTrap.FocusTrap, { onBlur: onBlur }, /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({ "data-tid": RadioGroupDataTids.root, ref: _this2.ref, style: style, className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_RadioGroup2.styles.root()] = true, _cx2[_RadioGroup2.styles.removeBaselineSpacer()] = _this2.featureFlags.radioGroupRemoveBaselineSpacer, _cx2)), role: "radiogroup" }, handlers, { "aria-describedby": ariaDescribedby }), /*#__PURE__*/_react.default.createElement(_RadioGroupContext.RadioGroupContext.Provider, { value: _this2.getRadioGroupContextValue() }, _this2.renderChildren()))));});} /**
|
|
244
261
|
* @public
|
|
245
262
|
*/;_proto.focus = function focus() {var node = this.node;if (!node) {return;}var radio = node.querySelector('input[type="radio"]:checked'); // If no checked radios, try get first radio
|
|
246
263
|
if (!radio || radio.disabled) {radio = node.querySelector('input[type="radio"]:not([disabled])');}if (radio) {radio.focus();}};_proto.renderChildren = function renderChildren() {var _this$props2 = this.props,items = _this$props2.items,children = _this$props2.children;(0, _invariant.default)(!items && children || items && !children, 'Either items or children must be passed, not both');return items ? mapItems(this.renderRadio, items) : children;};return RadioGroup;}(_react.default.Component), _RadioGroup.__KONTUR_REACT_UI__ = 'RadioGroup', _RadioGroup.displayName = 'RadioGroup', _RadioGroup.defaultProps = { renderItem: renderItem }, _RadioGroup.Prevent = _Prevent.Prevent, _RadioGroup)) || _class;function renderItem(_value, data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_invariant","_utils","_Radio","_createPropsGetter","_FocusTrap","_CommonWrapper","_Emotion","_rootNode","_getVisualStateDataAttributes","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","rootNode","_React$Component","props","_this","call","name","getRandomID","getProps","createPropsGetter","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","isNonNullable","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","cx","styles","item","itemFirst","itemInline","inline","default","createElement","_extends2","role","Radio","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose2","_proto","prototype","render","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","FocusTrap","RadioGroupContext","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","invariant","mapItems","React","Component","__KONTUR_REACT_UI__","displayName","Prevent","_value","fn","result","_iterator","_createForOfIteratorHelperLoose2","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\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 { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport type { RadioGroupContextType } from './RadioGroupContext';\nimport { RadioGroupContext } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */\n defaultValue?: T;\n\n /** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый. */\n value?: T;\n\n /** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан параметр `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу\n * @param item - элемент, по которуму нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Делает все радиокнопки недоступными. */\n disabled?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Выравнивает элементы items в строку. Не работает с children. */\n inline?: boolean;\n\n /** Задает ширину радиогруппы. Не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при потере радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.\n *\n * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`.\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={styles.root()}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_invariant","_utils","_Radio","_createPropsGetter","_FocusTrap","_CommonWrapper","_Emotion","_rootNode","_getVisualStateDataAttributes","_featureFlagsContext","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","rootNode","_React$Component","props","_this","call","name","getRandomID","getProps","createPropsGetter","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","isNonNullable","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","cx","styles","item","itemFirst","itemInline","inline","default","createElement","_extends2","role","Radio","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose2","_proto","prototype","render","_this2","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","ReactUIFeatureFlagsContext","Consumer","flags","_cx2","featureFlags","getFullReactUIFlagsContext","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","FocusTrap","removeBaselineSpacer","radioGroupRemoveBaselineSpacer","RadioGroupContext","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","invariant","mapItems","React","Component","__KONTUR_REACT_UI__","displayName","Prevent","_value","fn","result","_iterator","_createForOfIteratorHelperLoose2","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\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 { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport type { RadioGroupContextType } from './RadioGroupContext';\nimport { RadioGroupContext } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */\n defaultValue?: T;\n\n /** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый. */\n value?: T;\n\n /** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан параметр `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу\n * @param item - элемент, по которуму нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Делает все радиокнопки недоступными. */\n disabled?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Выравнивает элементы items в строку. Не работает с children. */\n inline?: boolean;\n\n /** Задает ширину радиогруппы. Не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при потере радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.\n *\n * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`.\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled })}\n >\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={cx({\n [styles.root()]: true,\n [styles.removeBaselineSpacer()]: this.featureFlags.radioGroupRemoveBaselineSpacer,\n })}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
2
2
|
|
|
3
3
|
var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
4
4
|
root: function root() {
|
|
@@ -8,10 +8,16 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
removeBaselineSpacer: function removeBaselineSpacer() {
|
|
14
|
+
return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n vertical-align: bottom;\n "])));
|
|
15
|
+
|
|
16
|
+
|
|
11
17
|
},
|
|
12
18
|
|
|
13
19
|
item: function item() {
|
|
14
|
-
return (0, _Emotion.css)(
|
|
20
|
+
return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: table;\n margin-top: 0;\n width: 100%;\n "])));
|
|
15
21
|
|
|
16
22
|
|
|
17
23
|
|
|
@@ -19,13 +25,13 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
19
25
|
},
|
|
20
26
|
|
|
21
27
|
itemFirst: function itemFirst() {
|
|
22
|
-
return (0, _Emotion.css)(
|
|
28
|
+
return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-top: 0;\n "])));
|
|
23
29
|
|
|
24
30
|
|
|
25
31
|
},
|
|
26
32
|
|
|
27
33
|
itemInline: function itemInline() {
|
|
28
|
-
return (0, _Emotion.css)(
|
|
34
|
+
return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-table;\n margin-right: 15px;\n margin-top: 0;\n width: auto;\n "])));
|
|
29
35
|
|
|
30
36
|
|
|
31
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Emotion","require","_templateObject","_templateObject2","_templateObject3","_templateObject4","styles","exports","memoizeStyle","root","css","_taggedTemplateLiteralLoose2","default","item","itemFirst","itemInline"],"sources":["RadioGroup.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n user-select: none;\n cursor: default;\n line-height: normal;\n `;\n },\n\n item() {\n return css`\n display: table;\n margin-top: 0;\n width: 100%;\n `;\n },\n\n itemFirst() {\n return css`\n margin-top: 0;\n `;\n },\n\n itemInline() {\n return css`\n display: inline-table;\n margin-right: 15px;\n margin-top: 0;\n width: auto;\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA,8BAA8D,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;;AAEvD,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,IAAI,WAAAA,KAAA,EAAG;IACL,WAAOC,YAAG,
|
|
1
|
+
{"version":3,"names":["_Emotion","require","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","styles","exports","memoizeStyle","root","css","_taggedTemplateLiteralLoose2","default","removeBaselineSpacer","item","itemFirst","itemInline"],"sources":["RadioGroup.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n user-select: none;\n cursor: default;\n line-height: normal;\n `;\n },\n\n removeBaselineSpacer() {\n return css`\n vertical-align: bottom;\n `;\n },\n\n item() {\n return css`\n display: table;\n margin-top: 0;\n width: 100%;\n `;\n },\n\n itemFirst() {\n return css`\n margin-top: 0;\n `;\n },\n\n itemInline() {\n return css`\n display: inline-table;\n margin-right: 15px;\n margin-top: 0;\n width: auto;\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA,8BAA8D,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;;AAEvD,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,IAAI,WAAAA,KAAA,EAAG;IACL,WAAOC,YAAG,EAAAT,eAAA,KAAAA,eAAA,OAAAU,4BAAA,CAAAC,OAAA;;;;;;EAMZ,CAAC;;EAEDC,oBAAoB,WAAAA,qBAAA,EAAG;IACrB,WAAOH,YAAG,EAAAR,gBAAA,KAAAA,gBAAA,OAAAS,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDE,IAAI,WAAAA,KAAA,EAAG;IACL,WAAOJ,YAAG,EAAAP,gBAAA,KAAAA,gBAAA,OAAAQ,4BAAA,CAAAC,OAAA;;;;;EAKZ,CAAC;;EAEDG,SAAS,WAAAA,UAAA,EAAG;IACV,WAAOL,YAAG,EAAAN,gBAAA,KAAAA,gBAAA,OAAAO,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDI,UAAU,WAAAA,WAAA,EAAG;IACX,WAAON,YAAG,EAAAL,gBAAA,KAAAA,gBAAA,OAAAM,4BAAA,CAAAC,OAAA;;;;;;EAMZ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
4
3
|
import type { Nullable } from '../../typings/utility-types';
|
|
5
4
|
import type { ScrollAxis } from './ScrollBar';
|
|
@@ -64,14 +63,6 @@ export declare class ScrollContainer extends React.Component<ScrollContainerProp
|
|
|
64
63
|
static __KONTUR_REACT_UI__: string;
|
|
65
64
|
static displayName: string;
|
|
66
65
|
inner: Nullable<HTMLElement>;
|
|
67
|
-
static propTypes: {
|
|
68
|
-
invert: PropTypes.Requireable<boolean>;
|
|
69
|
-
maxWidth: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
70
|
-
maxHeight: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
71
|
-
scrollBehaviour: PropTypes.Requireable<string>;
|
|
72
|
-
preventWindowScroll: PropTypes.Requireable<boolean>;
|
|
73
|
-
onScrollStateChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
74
|
-
};
|
|
75
66
|
static defaultProps: DefaultProps;
|
|
76
67
|
private getProps;
|
|
77
68
|
private scrollX;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.ScrollContainerDataTids = exports.ScrollContainer = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
2
|
var _globalObject = require("@skbkontur/global-object");
|
|
4
3
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
5
4
|
|
|
@@ -122,15 +121,6 @@ ScrollContainer = exports.ScrollContainer = (0, _rootNode.rootNode)(_class = (_S
|
|
|
122
121
|
|
|
123
122
|
|
|
124
123
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
124
|
|
|
135
125
|
|
|
136
126
|
|
|
@@ -444,4 +434,4 @@ ScrollContainer = exports.ScrollContainer = (0, _rootNode.rootNode)(_class = (_S
|
|
|
444
434
|
* @public
|
|
445
435
|
*/;_proto.scrollToLeft = function scrollToLeft() {if (!this.inner) {return;}this.inner.scrollLeft = 0;} /**
|
|
446
436
|
* @public
|
|
447
|
-
*/;_proto.scrollToRight = function scrollToRight() {if (!this.inner) {return;}this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;};_proto.hasScrollBar = function hasScrollBar(axis) {if (!this.inner) {return false;}return axis === 'x' ? this.inner.offsetWidth < this.inner.scrollWidth : this.inner.offsetHeight < this.inner.scrollHeight;};return ScrollContainer;}(_react.default.Component), _ScrollContainer.__KONTUR_REACT_UI__ = 'ScrollContainer', _ScrollContainer.displayName = 'ScrollContainer', _ScrollContainer.
|
|
437
|
+
*/;_proto.scrollToRight = function scrollToRight() {if (!this.inner) {return;}this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;};_proto.hasScrollBar = function hasScrollBar(axis) {if (!this.inner) {return false;}return axis === 'x' ? this.inner.offsetWidth < this.inner.scrollWidth : this.inner.offsetHeight < this.inner.scrollHeight;};return ScrollContainer;}(_react.default.Component), _ScrollContainer.__KONTUR_REACT_UI__ = 'ScrollContainer', _ScrollContainer.displayName = 'ScrollContainer', _ScrollContainer.defaultProps = { invert: false, scrollBehaviour: 'auto', preventWindowScroll: false, disableAnimations: _currentEnvironment.isTestEnv, hideScrollBarDelay: 500, showScrollBar: 'always' }, _ScrollContainer)) || _class;
|