@skbkontur/react-ui 4.3.1 → 4.5.1
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 +38 -0
- package/cjs/components/Autocomplete/Autocomplete.js +3 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +4 -2
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +6 -4
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
- package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +10 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -1
- package/cjs/components/DateInput/DateInput.js +1 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
- package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.js +11 -3
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/Picker.js +5 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +2 -1
- package/cjs/components/FileUploader/FileUploader.js +16 -3
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FxInput/FxInput.js +3 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Input/Input.js +5 -2
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.md +5 -1
- package/cjs/components/Input/Input.styles.d.ts +1 -0
- package/cjs/components/Input/Input.styles.js +17 -10
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +1 -4
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +1 -3
- package/cjs/components/Link/Link.js +1 -1
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +2 -1
- package/cjs/components/Loader/Loader.js +1 -0
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
- package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.js +3 -1
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Modal/Modal.js +2 -2
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +2 -2
- package/cjs/components/Modal/Modal.styles.js +2 -2
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +2 -2
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +1 -1
- package/cjs/components/Paging/Paging.js +1 -1
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -2
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +7 -5
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +3 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +5 -9
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +2 -2
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ResponsiveLayout/decorator.d.ts +1 -1
- package/cjs/components/ResponsiveLayout/types.d.ts +9 -1
- package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
- package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +31 -15
- package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
- package/cjs/components/Select/Item.d.ts +4 -2
- package/cjs/components/Select/Item.js +3 -0
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.js +2 -0
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +6 -4
- package/cjs/components/SidePage/SidePageFooter.js +4 -0
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +1 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
- package/cjs/components/Spinner/Spinner.styles.js +7 -7
- package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +1 -1
- package/cjs/components/Tabs/Indicator.js +1 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +3 -1
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.js +1 -1
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Token/Token.styles.js +2 -1
- package/cjs/components/Token/Token.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +3 -0
- package/cjs/components/TokenInput/TokenInput.js +57 -15
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +26 -0
- package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
- package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
- package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
- package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
- package/cjs/hooks/useMemoObject.d.ts +2 -1
- package/cjs/hooks/useMemoObject.js +2 -0
- package/cjs/hooks/useMemoObject.js.map +1 -1
- package/cjs/internal/BGRuler.d.ts +1 -1
- package/cjs/internal/BGRuler.js.map +1 -1
- package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
- package/cjs/internal/Calendar/config.d.ts +1 -8
- package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/ComponentTable.d.ts +2 -2
- package/cjs/internal/ComponentTable.js +3 -1
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +8 -8
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -5
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DataTids/DataTids.d.ts +5 -5
- package/cjs/internal/DataTids/DataTids.js +4 -0
- package/cjs/internal/DataTids/DataTids.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +1 -1
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +4 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.js +3 -1
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
- package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
- package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
- package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
- package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
- package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
- package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
- package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
- package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
- package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
- package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
- package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
- package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
- package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
- package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
- package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.d.ts +1 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
- package/cjs/internal/ThemePlayground/helpers.js +4 -2
- package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.js +2 -9
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +2 -0
- package/cjs/internal/themes/DefaultTheme.js +8 -2
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/ConditionalHandler.js.map +1 -1
- package/cjs/lib/ModalStack.js +2 -2
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/animation/index.js +1 -0
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/callChildRef/callChildRef.js +1 -1
- package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
- package/cjs/lib/createPropsGetter.d.ts +1 -1
- package/cjs/lib/createPropsGetter.js +1 -0
- package/cjs/lib/createPropsGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
- package/cjs/lib/date/InternalDateCalculator.js +1 -1
- package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
- package/cjs/lib/date/InternalDateValidator.js +9 -2
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/extractKeyboardAction.d.ts +1 -1
- package/cjs/lib/extractKeyboardAction.js.map +1 -1
- package/cjs/lib/filterProps.js +0 -1
- package/cjs/lib/filterProps.js.map +1 -1
- package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
- package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
- package/cjs/lib/memo.d.ts +3 -1
- package/cjs/lib/memo.js +3 -3
- package/cjs/lib/memo.js.map +1 -1
- package/cjs/lib/net/fetch.js +2 -2
- package/cjs/lib/net/fetch.js.map +1 -1
- package/cjs/lib/reactGetTextContent.js +0 -1
- package/cjs/lib/reactGetTextContent.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -2
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js +2 -2
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorFunctions.js.map +1 -1
- package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
- package/cjs/lib/theming/AnimationKeyframes.js +8 -22
- package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +1 -0
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
- package/cjs/lib/theming/ThemeFactory.js +3 -1
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.d.ts +2 -2
- package/cjs/lib/theming/ThemeHelpers.js +1 -1
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/utils.d.ts +3 -1
- package/cjs/lib/utils.js +5 -2
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/lib/withClassWrapper.js +1 -4
- package/cjs/lib/withClassWrapper.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +5 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +1 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +8 -3
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +10 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateFragmentsView.d.ts +1 -1
- package/components/DateInput/DateInput/DateInput.js +1 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -1
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +13 -12
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/Picker/Picker.js +5 -1
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +9 -4
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +2 -1
- package/components/FxInput/FxInput/FxInput.js +4 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
- package/components/Input/Input/Input.js +5 -2
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.md +5 -1
- package/components/Input/Input.styles/Input.styles.js +13 -10
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +1 -4
- package/components/Link/Link/Link.js +1 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +1 -3
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +2 -1
- package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +4 -1
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/Modal/Modal/Modal.js +2 -2
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +2 -2
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +2 -2
- package/components/Modal/ModalBody/ModalBody.js +2 -2
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Paging/Paging/Paging.js +1 -1
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +1 -1
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
- package/components/Paging/PagingDefaultComponent.d.ts +2 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js +7 -8
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +4 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -8
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
- package/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ResponsiveLayout/decorator.d.ts +1 -1
- package/components/ResponsiveLayout/types.d.ts +9 -1
- package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +42 -17
- package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +4 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +6 -4
- package/components/Spinner/Spinner/Spinner.js +1 -1
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Spinner/Spinner.styles.d.ts +1 -1
- package/components/Tabs/Indicator/Indicator.js +1 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +1 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +4 -1
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +2 -2
- package/components/Toast/Toast/Toast.js +1 -1
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Token/Token.styles/Token.styles.js +1 -1
- package/components/Token/Token.styles/Token.styles.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +82 -19
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +3 -0
- package/components/TokenInput/TokenInput.md +26 -0
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +2 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
- package/hooks/useEffectWithoutInitCall.d.ts +2 -2
- package/hooks/useMemoObject/useMemoObject.js.map +1 -1
- package/hooks/useMemoObject.d.ts +2 -1
- package/internal/BGRuler/BGRuler.js.map +1 -1
- package/internal/BGRuler.d.ts +1 -1
- package/internal/Calendar/MonthViewModel.d.ts +1 -1
- package/internal/Calendar/config.d.ts +1 -8
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/ComponentTable.d.ts +2 -2
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +14 -17
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -5
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/DataTids/DataTids/DataTids.js.map +1 -1
- package/internal/DataTids/DataTids.d.ts +5 -5
- package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
- package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
- package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
- package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
- package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
- package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
- package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
- package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
- package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
- package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
- package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.d.ts +1 -1
- package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
- package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
- package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
- package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
- package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
- package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
- package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
- package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
- package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/VariableValue.d.ts +1 -4
- package/internal/ThemePlayground/helpers/helpers.js +0 -1
- package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
- package/internal/ThemePlayground/helpers.d.ts +1 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +6 -3
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +11 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +2 -0
- package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
- package/lib/ModalStack/ModalStack.js +2 -2
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/animation/index/index.js +1 -1
- package/lib/animation/index/index.js.map +1 -1
- package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
- package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
- package/lib/createPropsGetter/createPropsGetter.js +1 -0
- package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
- package/lib/createPropsGetter.d.ts +1 -1
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
- package/lib/date/InternalDateCalculator.d.ts +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/InternalDateValidator.d.ts +1 -1
- package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
- package/lib/extractKeyboardAction.d.ts +1 -1
- package/lib/filterProps/filterProps.js +0 -1
- package/lib/filterProps/filterProps.js.map +1 -1
- package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
- package/lib/locale/useLocaleForControl.d.ts +1 -1
- package/lib/memo/memo.js +2 -4
- package/lib/memo/memo.js.map +1 -1
- package/lib/memo.d.ts +3 -1
- package/lib/net/fetch/fetch.js +2 -2
- package/lib/net/fetch/fetch.js.map +1 -1
- package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
- package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +2 -2
- package/lib/styles/ColorFactory/ColorFactory.js +3 -1
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
- package/lib/theming/AnimationKeyframes.d.ts +3 -5
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +4 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeFactory.d.ts +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +2 -2
- package/lib/utils/utils.js +2 -2
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +3 -1
- package/lib/withClassWrapper/withClassWrapper.js +1 -4
- package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
- package/package.json +3 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Radio.tsx"],"names":["RadioDataTids","root","Radio","rootNode","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","React","createRef","renderMain","props","disabled","warning","error","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","styles","circle","theme","checked","focus","checkedDisabled","globalClasses","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","rootChecked","rootIE11","isIE11","isEdge","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","keyListener","isArrowPressed","isTabPressed","setState","render","setRootNode","current","blur","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","contextType","RadioGroupContext"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Radio.tsx"],"names":["RadioDataTids","root","Radio","rootNode","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","React","createRef","renderMain","props","disabled","warning","error","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","styles","circle","theme","checked","focus","checkedDisabled","globalClasses","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","rootChecked","rootIE11","isIE11","isEdge","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","keyListener","isArrowPressed","isTabPressed","setState","render","setRootNode","current","blur","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","contextType","RadioGroupContext"],"mappings":";;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CO,IAAMA,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,aADqB,EAAtB,C;;;;;AAMP;AACA;AACA,G;;AAEaC,K,OADZC,kB;;;AAIQC,IAAAA,K,GAAQ;AACbC,MAAAA,iBAAiB,EAAE,KADN,E;;;;;;;AAQPC,IAAAA,Q,GAAW,0CAAkBJ,KAAK,CAACK,YAAxB,C;;;AAGZC,IAAAA,O,GAAoC,MAAKA,O;;AAExCC,IAAAA,O,gBAAUC,eAAMC,SAAN,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCXC,IAAAA,U,GAAa,UAACC,KAAD,EAAkD;AACpE;;;;;;;;;;AAUIA,MAAAA,KAVJ,CACEC,QADF,CACEA,QADF,gCACa,MAAKN,OAAL,CAAaM,QAD1B,oCAUID,KAVJ,CAEEE,OAFF,CAEEA,OAFF,+BAEY,MAAKP,OAAL,CAAaO,OAFzB,iCAUIF,KAVJ,CAGEG,KAHF,CAGEA,KAHF,6BAGU,MAAKR,OAAL,CAAaQ,KAHvB,gBAIEC,OAJF,GAUIJ,KAVJ,CAIEI,OAJF,CAKEC,WALF,GAUIL,KAVJ,CAKEK,WALF,CAMEC,YANF,GAUIN,KAVJ,CAMEM,YANF,CAOEC,YAPF,GAUIP,KAVJ,CAOEO,YAPF,CAQEC,aARF,GAUIR,KAVJ,CAQEQ,aARF,CASKC,IATL,+CAUIT,KAVJ;;AAYA,UAAMU,UAAU,GAAG;AACjBC,QAAAA,SAAS,EAAE;AACRC,sBAAOC,MAAP,CAAc,MAAKC,KAAnB,CADQ,IACoB,IADpB;AAERF,sBAAOG,OAAP,CAAe,MAAKD,KAApB,CAFQ,IAEqB,MAAKd,KAAL,CAAWe,OAFhC;AAGRH,sBAAOI,KAAP,CAAa,MAAKF,KAAlB,CAHQ,IAGmB,MAAKrB,QAAL,GAAgBW,OAAhB,IAA2B,MAAKb,KAAL,CAAWC,iBAHzD;AAIRoB,sBAAOT,KAAP,CAAa,MAAKW,KAAlB,CAJQ,IAImBX,KAJnB;AAKRS,sBAAOV,OAAP,CAAe,MAAKY,KAApB,CALQ,IAKqBZ,OALrB;AAMRU,sBAAOX,QAAP,CAAgB,MAAKa,KAArB,CANQ,IAMsBb,QANtB;AAORW,sBAAOK,eAAP,CAAuB,MAAKH,KAA5B,CAPQ,IAO6B,MAAKd,KAAL,CAAWe,OAAX,IAAsBd,QAPnD;AAQRiB,6BAAcL,MARN,IAQe,IARf,OADM,EAAnB;;;;AAaA,UAAIM,KAAJ;AACA,UAAI,OAAO,MAAKnB,KAAL,CAAWmB,KAAlB,KAA4B,QAA5B,IAAwC,OAAO,MAAKnB,KAAL,CAAWmB,KAAlB,KAA4B,QAAxE,EAAkF;AAChFA,QAAAA,KAAK,GAAG,MAAKnB,KAAL,CAAWmB,KAAnB;AACD;;AAED,UAAMC,UAAU;AACXX,MAAAA,IADW;AAEdY,QAAAA,IAAI,EAAE,OAFQ;AAGdV,QAAAA,SAAS,EAAEC,cAAOU,KAAP,EAHG;AAIdrB,QAAAA,QAAQ,EAARA,QAJc;AAKdsB,QAAAA,QAAQ,EAAE,MAAKvB,KAAL,CAAWuB,QALP;AAMdJ,QAAAA,KAAK,EAALA,KANc;AAOdK,QAAAA,GAAG,EAAE,MAAK5B,OAPI;AAQd6B,QAAAA,QAAQ,EAAE,MAAKC,YARD;AASdC,QAAAA,OAAO,EAAE,MAAKC,WATA;AAUdC,QAAAA,MAAM,EAAE,MAAKC,UAVC,GAAhB;;;AAaA,UAAMC,UAAU,GAAG;AACjBpB,QAAAA,SAAS,EAAE,iBAAGC,cAAOxB,IAAP,CAAY,MAAK0B,KAAjB,CAAH;AACRF,sBAAOoB,WAAP,CAAmB,MAAKlB,KAAxB,CADQ,IACyB,MAAKd,KAAL,CAAWe,OADpC;AAERH,sBAAOqB,QAAP,EAFQ,IAEYC,kBAAUC,cAFtB,QADM;;AAKjB9B,QAAAA,WAAW,EAAE,MAAK+B,eALD;AAMjB9B,QAAAA,YAAY,EAAE,MAAK+B,gBANF;AAOjB9B,QAAAA,YAAY,EAAE,MAAK+B,gBAPF;AAQjBC,QAAAA,OAAO,EAAE,oEAA+B,MAAK3C,OAApC,CARQ,EAAnB;;;AAWA,UAAI,MAAK4C,eAAL,EAAJ,EAA4B;AAC1B,YAAMzB,OAAO,GAAG,MAAKf,KAAL,CAAWmB,KAAX,KAAqB,MAAKxB,OAAL,CAAa8C,UAAlD;AACArB,QAAAA,UAAU,CAACL,OAAX,GAAqBA,OAArB;AACAK,QAAAA,UAAU,CAACsB,IAAX,GAAkB,MAAK/C,OAAL,CAAa+C,IAA/B;AACAtB,QAAAA,UAAU,CAACuB,wBAAX,GAAsC,IAAtC;AACAZ,QAAAA,UAAU,CAACpB,SAAX,GAAuB,iBAAGC,cAAOxB,IAAP,CAAY,MAAK0B,KAAjB,CAAH;AACpBF,sBAAOoB,WAAP,CAAmB,MAAKlB,KAAxB,CADoB,IACaC,OADb;AAEpBH,sBAAOqB,QAAP,EAFoB,IAEAC,kBAAUC,cAFV,QAAvB;;AAIAzB,QAAAA,UAAU,CAACC,SAAX,GAAuB,iBAAGD,UAAU,CAACC,SAAd;AACpBC,sBAAOG,OAAP,CAAe,MAAKD,KAApB,CADoB,IACSC,OADT;AAEpBH,sBAAOK,eAAP,CAAuB,MAAKH,KAA5B,CAFoB,IAEiBC,OAAO,IAAId,QAF5B,QAAvB;;AAID;;AAED;AACE,uEAAO,YAAUd,aAAa,CAACC,IAA/B,IAAyC2C,UAAzC;AACE,8CAAWX,UAAX,CADF;AAEE,6CAAUV,UAAV;AACE,+CAAM,SAAS,EAAEE,cAAOgC,WAAP,EAAjB,GADF,CAFF;;AAKG,cAAK5C,KAAL,CAAW6C,QAAX,IAAuB,MAAKC,aAAL,EAL1B,CADF;;;AASD,K;;AAEON,IAAAA,e,GAAkB,oBAAMO,OAAO,CAAC,MAAKpD,OAAL,CAAa+C,IAAd,CAAb,E;;;;;;;;;;;;AAYlBhB,IAAAA,Y,GAA2D,UAACsB,CAAD,EAAO;AACxE,YAAKhD,KAAL,CAAWQ,aAAX,0BAAKR,KAAL,CAAWQ,aAAX,CAA2B,MAAKR,KAAL,CAAWmB,KAAtC;;AAEA,UAAI,MAAKqB,eAAL,EAAJ,EAA4B;AAC1B,cAAK7C,OAAL,CAAasD,QAAb,CAAsB,MAAKjD,KAAL,CAAWmB,KAAjC;AACD;;AAED,YAAKnB,KAAL,CAAWyB,QAAX,0BAAKzB,KAAL,CAAWyB,QAAX,CAAsBuB,CAAtB;AACD,K;;AAEOZ,IAAAA,e,GAA6D,UAACY,CAAD,EAAO;AAC1E,YAAKhD,KAAL,CAAWK,WAAX,0BAAKL,KAAL,CAAWK,WAAX,CAAyB2C,CAAzB;AACD,K;;AAEOX,IAAAA,gB,GAA8D,UAACW,CAAD,EAAO;AAC3E,YAAKhD,KAAL,CAAWM,YAAX,0BAAKN,KAAL,CAAWM,YAAX,CAA0B0C,CAA1B;AACD,K;;AAEOV,IAAAA,gB,GAA8D,UAACU,CAAD,EAAO;AAC3E,YAAKhD,KAAL,CAAWO,YAAX,0BAAKP,KAAL,CAAWO,YAAX,CAA0ByC,CAA1B;AACD,K;;AAEOpB,IAAAA,W,GAAc,UAACoB,CAAD,EAA8B;AAClD,UAAI,CAAC,MAAKrD,OAAL,CAAaM,QAAlB,EAA4B;AAC1B;AACA;AACAiD,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAIC,yBAAYC,cAAZ,IAA8BD,yBAAYE,YAA9C,EAA4D;AAC1D,kBAAKC,QAAL,CAAc,EAAE9D,iBAAiB,EAAE,IAArB,EAAd;AACD;AACF,SAJoB,CAArB;;AAMA,YAAI,MAAKQ,KAAL,CAAW2B,OAAf,EAAwB;AACtB,gBAAK3B,KAAL,CAAW2B,OAAX,CAAmBqB,CAAnB;AACD;AACF;AACF,K;;AAEOlB,IAAAA,U,GAAa,UAACkB,CAAD,EAA2C;AAC9D,YAAKhD,KAAL,CAAW6B,MAAX,0BAAK7B,KAAL,CAAW6B,MAAX,CAAoBmB,CAApB;AACA,YAAKM,QAAL,CAAc,EAAE9D,iBAAiB,EAAE,KAArB,EAAd;AACD,K,mDApKM+D,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACzC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,MAAI,CAAC0C,WAAjC,IAAkD,MAAI,CAACxD,KAAvD,GACG,MAAI,CAACD,UADR,CADF,CAKD,CARH,CADF,CAYD,C,CAED;AACF;AACA,K,QACSiB,K,GAAP,iBAAe,2BACbmC,yBAAYE,YAAZ,GAA2B,IAA3B,CACA,8BAAKzD,OAAL,CAAa6D,OAAb,2CAAsBzC,KAAtB,GACD,C,CAED;AACF;AACA,K,QACS0C,I,GAAP,gBAAc,4BACZ,+BAAK9D,OAAL,CAAa6D,OAAb,4CAAsBC,IAAtB,GACD,C,QAqFOZ,a,GAAR,yBAAwB,UACtB,IAAMa,iBAAiB,GAAG,kCACvB/C,cAAOgD,OAAP,CAAe,KAAK9C,KAApB,CADuB,IACM,IADN,OAEvBF,cAAOiD,eAAP,CAAuB,KAAK/C,KAA5B,CAFuB,IAEc,CAAC,EAAE,KAAKd,KAAL,CAAWC,QAAX,IAAuB,KAAKN,OAAL,CAAaM,QAAtC,CAFf,OAGvBW,cAAOkD,WAAP,EAHuB,IAGA5B,kBAAUC,cAHV,QAA1B,CAMA,oBAAO,sCAAK,SAAS,EAAEwB,iBAAhB,IAAoC,KAAK3D,KAAL,CAAW6C,QAA/C,CAAP,CACD,C,gBA7I2BhD,eAAMkE,S,WACpBC,mB,GAAsB,O,UAMtBtE,Y,GAA6B,EACzCU,OAAO,EAAE,KADgC,E,UAM7B6D,W,GAAcC,oC","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ResponsiveLayoutFlags } from './types';
|
|
3
|
-
interface ResponsiveLayoutProps {
|
|
4
|
-
onLayoutChange?: (layout: ResponsiveLayoutFlags) => void;
|
|
5
|
-
children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags) => React.ReactNode);
|
|
2
|
+
import { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags } from './types';
|
|
3
|
+
interface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {
|
|
4
|
+
onLayoutChange?: (layout: ResponsiveLayoutFlags<T>) => void;
|
|
5
|
+
children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags<T>) => React.ReactNode);
|
|
6
|
+
customMediaQueries?: T;
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
8
9
|
* Компонент для определения текущего лэйаута.
|
|
9
10
|
*/
|
|
10
|
-
export declare
|
|
11
|
+
export declare function ResponsiveLayout<T extends MediaQueriesType = EmptyObject>(props: ResponsiveLayoutProps<T>): JSX.Element;
|
|
11
12
|
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
1
|
+
"use strict";exports.__esModule = true;exports.ResponsiveLayout = ResponsiveLayout;var _react = _interopRequireWildcard(require("react"));
|
|
3
2
|
|
|
4
3
|
var _utils = require("../../lib/utils");
|
|
5
4
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
@@ -12,12 +11,13 @@ var _useResponsiveLayout = require("./useResponsiveLayout");function _getRequire
|
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
|
|
14
|
+
|
|
15
15
|
/**
|
|
16
16
|
* Компонент для определения текущего лэйаута.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
var layoutFlags = (0, _useResponsiveLayout.useResponsiveLayout)();
|
|
19
|
+
function ResponsiveLayout(props) {var _props$children, _props$children2;
|
|
20
|
+
var layoutFlags = (0, _useResponsiveLayout.useResponsiveLayout)({ customMediaQueries: props.customMediaQueries });
|
|
21
21
|
|
|
22
22
|
(0, _react.useEffect)(function () {
|
|
23
23
|
if (props.onLayoutChange) {
|
|
@@ -30,8 +30,4 @@ var ResponsiveLayout = function ResponsiveLayout(props) {var _props$children, _p
|
|
|
30
30
|
(0, _utils.isFunction)(props.children) ? (_props$children = props.children(layoutFlags)) != null ? _props$children : null : (_props$children2 = props.children) != null ? _props$children2 : null));
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
ResponsiveLayout.propTypes = {
|
|
36
|
-
onLayoutChange: _propTypes.default.func,
|
|
37
|
-
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]) };
|
|
33
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ResponsiveLayout.tsx"],"names":["ResponsiveLayout","props","layoutFlags","
|
|
1
|
+
{"version":3,"sources":["ResponsiveLayout.tsx"],"names":["ResponsiveLayout","props","layoutFlags","customMediaQueries","onLayoutChange","children"],"mappings":"mFAAA;;AAEA;AACA;;;AAGA,4D;;;;;;;;AAQA;AACA;AACA;;AAEO,SAASA,gBAAT,CAAoEC,KAApE,EAAqG;AAC1G,MAAMC,WAAW,GAAG,8CAAuB,EAAEC,kBAAkB,EAAEF,KAAK,CAACE,kBAA5B,EAAvB,CAApB;;AAEA,wBAAU,YAAM;AACd,QAAIF,KAAK,CAACG,cAAV,EAA0B;AACxBH,MAAAA,KAAK,CAACG,cAAN,CAAqBF,WAArB;AACD;AACF,GAJD,EAIG,CAACA,WAAD,CAJH;;AAMA;AACE,iCAAC,4BAAD,EAAmBD,KAAnB;AACG,2BAAWA,KAAK,CAACI,QAAjB,uBAA6BJ,KAAK,CAACI,QAAN,CAAeH,WAAf,CAA7B,8BAA4D,IAA5D,uBAAmED,KAAK,CAACI,QAAzE,+BAAqF,IADxF,CADF;;;AAKD","sourcesContent":["import React, { useEffect } from 'react';\n\nimport { isFunction } from '../../lib/utils';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags } from './types';\nimport { useResponsiveLayout } from './useResponsiveLayout';\n\ninterface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {\n onLayoutChange?: (layout: ResponsiveLayoutFlags<T>) => void;\n children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags<T>) => React.ReactNode);\n customMediaQueries?: T;\n}\n\n/**\n * Компонент для определения текущего лэйаута.\n */\n\nexport function ResponsiveLayout<T extends MediaQueriesType = EmptyObject>(props: ResponsiveLayoutProps<T>) {\n const layoutFlags = useResponsiveLayout<T>({ customMediaQueries: props.customMediaQueries });\n\n useEffect(() => {\n if (props.onLayoutChange) {\n props.onLayoutChange(layoutFlags);\n }\n }, [layoutFlags]);\n\n return (\n <CommonWrapper {...props}>\n {isFunction(props.children) ? props.children(layoutFlags) ?? null : props.children ?? null}\n </CommonWrapper>\n );\n}\n"]}
|
|
@@ -40,4 +40,35 @@ class SomeComponent {
|
|
|
40
40
|
}
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
+
В компонент можно передать проп `customMediaQueries: MediaQueriesType`, который позволяет кастомизировать возвращаемые флаги:
|
|
44
|
+
```ts static
|
|
45
|
+
type MediaQueriesType = Record<string, string>;
|
|
46
|
+
```
|
|
47
|
+
1. Без кастомизации есть только флаг isMobile
|
|
48
|
+
2. Поля из `customMediaQueries` дополняют список возвращаемых флагов в `ResponsiveLayoutFlags`
|
|
49
|
+
3. При добавлении кастомного флага isMobile, значение дефолтного флага перезаписывается в пользу кастомного
|
|
50
|
+
|
|
51
|
+
```jsx static
|
|
52
|
+
import { ResponsiveLayout } from '@skbkontur/react-ui';
|
|
53
|
+
|
|
54
|
+
const customMediaQueries = {
|
|
55
|
+
isTablet: '(min-width: 577px)',
|
|
56
|
+
isDesktop: '(min-width: 1280px)',
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
class SomeComponent {
|
|
60
|
+
public render() {
|
|
61
|
+
return (
|
|
62
|
+
<ResponsiveLayout customMediaQueries={customMediaQueries}>
|
|
63
|
+
{
|
|
64
|
+
({ isMobile, isTablet, isDesktop }) => {
|
|
65
|
+
/* ... */
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
</ResponsiveLayout>
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
43
74
|
Как альтернативу можно использовать хук [useResponsiveLayout](#/Mobiles).
|
|
@@ -76,7 +76,7 @@ function removeCallbackFromMQListener(mediaQuery, callback) {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
function checkMatches(mediaQuery) {
|
|
79
|
+
function checkMatches(mediaQuery) {var _eventListener$mql$ma;
|
|
80
80
|
if (!_client.canUseDOM) {
|
|
81
81
|
return false;
|
|
82
82
|
}
|
|
@@ -86,7 +86,7 @@ function checkMatches(mediaQuery) {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
var eventListener = eventListenersMap.get(mediaQuery);
|
|
89
|
-
return eventListener.mql.matches;
|
|
89
|
+
return (_eventListener$mql$ma = eventListener == null ? void 0 : eventListener.mql.matches) != null ? _eventListener$mql$ma : false;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
function changeCallback(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ResponsiveLayoutEvents.ts"],"names":["eventListenersMap","Map","addResponsiveLayoutListener","mediaQuery","callback","has","addCallbackToMQListener","createMQListener","remove","removeCallbackFromMQListener","eventListener","get","set","listeners","mql","window","matchMedia","newMediaQueryInfo","addEventListener","changeCallback","addListener","newListeners","filter","listener","length","removeEventListener","removeListener","delete","checkMatches","canUseDOM","matches","e","media","forEach"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["ResponsiveLayoutEvents.ts"],"names":["eventListenersMap","Map","addResponsiveLayoutListener","mediaQuery","callback","has","addCallbackToMQListener","createMQListener","remove","removeCallbackFromMQListener","eventListener","get","set","listeners","mql","window","matchMedia","newMediaQueryInfo","addEventListener","changeCallback","addListener","newListeners","filter","listener","length","removeEventListener","removeListener","delete","checkMatches","canUseDOM","matches","e","media","forEach"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../../lib/client';\n\ninterface mediaQueryData {\n mql: MediaQueryList;\n listeners: Array<(e: MediaQueryListEvent) => void>;\n}\n\nexport interface listenerToken {\n remove: () => void;\n}\n\nexport const eventListenersMap = new Map<string, mediaQueryData>();\n\nexport function addResponsiveLayoutListener(\n mediaQuery: string,\n callback: (e: MediaQueryListEvent) => void,\n): listenerToken {\n if (eventListenersMap.has(mediaQuery)) {\n addCallbackToMQListener(mediaQuery, callback);\n } else {\n createMQListener(mediaQuery, callback);\n }\n\n return {\n remove() {\n removeCallbackFromMQListener(mediaQuery, callback);\n },\n };\n}\n\nfunction addCallbackToMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...eventListener.listeners, callback],\n });\n }\n}\n\nfunction createMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const mql = window.matchMedia(mediaQuery);\n const newMediaQueryInfo: mediaQueryData = { mql, listeners: [callback] };\n\n eventListenersMap.set(mediaQuery, newMediaQueryInfo);\n if (mql.addEventListener) {\n mql.addEventListener('change', changeCallback);\n } else {\n mql.addListener(changeCallback);\n }\n}\n\nfunction removeCallbackFromMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n if (eventListenersMap.has(mediaQuery)) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n const newListeners = eventListener.listeners.filter((listener) => listener !== callback);\n\n if (newListeners.length === 0) {\n if (eventListener.mql.removeEventListener) {\n eventListener.mql.removeEventListener('change', changeCallback);\n } else {\n eventListener.mql.removeListener(changeCallback);\n }\n eventListenersMap.delete(mediaQuery);\n return;\n }\n\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...newListeners],\n });\n }\n }\n}\n\nexport function checkMatches(mediaQuery: string) {\n if (!canUseDOM) {\n return false;\n }\n\n if (!eventListenersMap.has(mediaQuery)) {\n return window.matchMedia(mediaQuery).matches;\n }\n\n const eventListener = eventListenersMap.get(mediaQuery);\n return eventListener?.mql.matches ?? false;\n}\n\nfunction changeCallback(e: MediaQueryListEvent) {\n const eventListener = eventListenersMap.get(e.media);\n\n if (eventListener) {\n eventListener.listeners.forEach((listener) => {\n listener(e);\n });\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { ResponsiveLayoutFlags } from './types';
|
|
|
3
3
|
export declare function responsiveLayout<T extends new (...args: any[]) => React.Component>(WrappedComp: T): {
|
|
4
4
|
new (...args: any[]): {
|
|
5
5
|
layout: ResponsiveLayoutFlags;
|
|
6
|
-
currentLayout: ResponsiveLayoutFlags
|
|
6
|
+
currentLayout: ResponsiveLayoutFlags<import("./types").EmptyObject>;
|
|
7
7
|
isMobileLayout: boolean;
|
|
8
8
|
renderWithLayout: (currentLayout: ResponsiveLayoutFlags) => React.ReactNode;
|
|
9
9
|
render(): JSX.Element;
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare type MediaQueriesType = Record<string, string>;
|
|
2
|
+
export declare type EmptyObject = Record<never, never>;
|
|
3
|
+
export interface ResponsiveLayoutOptions<MQ extends MediaQueriesType> {
|
|
4
|
+
customMediaQueries?: MQ;
|
|
5
|
+
}
|
|
6
|
+
export declare type ResponsiveLayoutFlags<T extends MediaQueriesType = EmptyObject> = {
|
|
7
|
+
[K in keyof T]?: boolean;
|
|
8
|
+
} & ResponsiveLayoutFlagsInternal;
|
|
9
|
+
export interface ResponsiveLayoutFlagsInternal {
|
|
2
10
|
isMobile: boolean;
|
|
3
11
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ResponsiveLayoutFlags } from './types';
|
|
2
|
-
export declare function useResponsiveLayout(): ResponsiveLayoutFlags
|
|
1
|
+
import { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags, ResponsiveLayoutOptions } from './types';
|
|
2
|
+
export declare function useResponsiveLayout<T extends MediaQueriesType = EmptyObject>({ customMediaQueries, }?: ResponsiveLayoutOptions<T>): ResponsiveLayoutFlags<T>;
|
|
@@ -1,34 +1,48 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.useResponsiveLayout = useResponsiveLayout;var
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.useResponsiveLayout = useResponsiveLayout;var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react = require("react");
|
|
2
2
|
|
|
3
3
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _ResponsiveLayoutEvents = require("./ResponsiveLayoutEvents");
|
|
7
7
|
|
|
8
|
-
function useResponsiveLayout()
|
|
8
|
+
function useResponsiveLayout(_temp)
|
|
9
|
+
|
|
10
|
+
{var _ref = _temp === void 0 ? {} : _temp,customMediaQueries = _ref.customMediaQueries;
|
|
9
11
|
var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
|
|
10
12
|
|
|
13
|
+
var allMediaQueries = Object.entries((0, _extends3.default)({
|
|
14
|
+
isMobile: theme.mobileMediaQuery },
|
|
15
|
+
customMediaQueries)).
|
|
16
|
+
map(function (_ref2) {var key = _ref2[0],value = _ref2[1];return {
|
|
17
|
+
flag: key,
|
|
18
|
+
query: value,
|
|
19
|
+
ref: /*#__PURE__*/(0, _react.createRef)() };});
|
|
20
|
+
|
|
21
|
+
|
|
11
22
|
var getLayoutFromGlobal = function getLayoutFromGlobal() {
|
|
12
|
-
|
|
23
|
+
return allMediaQueries.reduce(
|
|
24
|
+
function (result, mediaQuery) {var _Object$assign;return Object.assign(result, (_Object$assign = {}, _Object$assign[mediaQuery.flag] = (0, _ResponsiveLayoutEvents.checkMatches)(mediaQuery.query), _Object$assign));},
|
|
25
|
+
{});
|
|
13
26
|
|
|
14
|
-
return { isMobile: !!isMobile };
|
|
15
27
|
};
|
|
16
28
|
|
|
17
29
|
var _useState = (0, _react.useState)(getLayoutFromGlobal()),state = _useState[0],setState = _useState[1];
|
|
18
30
|
|
|
19
|
-
var mobileListener = (0, _react.useRef)(null);
|
|
20
|
-
|
|
21
31
|
var prepareMediaQueries = (0, _react.useCallback)(function () {
|
|
22
32
|
if (!theme) {
|
|
23
33
|
return;
|
|
24
34
|
}
|
|
25
35
|
|
|
26
|
-
|
|
36
|
+
allMediaQueries.forEach(
|
|
37
|
+
function (mediaQuery) {return (
|
|
38
|
+
mediaQuery.ref.current = (0, _ResponsiveLayoutEvents.addResponsiveLayoutListener)(mediaQuery.query, checkLayoutsMediaQueries));});
|
|
39
|
+
|
|
27
40
|
|
|
28
41
|
// Checking for SSR use case
|
|
29
42
|
var globalLayout = getLayoutFromGlobal();
|
|
43
|
+
var hasChangedQuery = Object.entries(globalLayout).find(function (_ref3) {var key = _ref3[0],value = _ref3[1];return state[key] !== value;});
|
|
30
44
|
|
|
31
|
-
if (
|
|
45
|
+
if (hasChangedQuery) {
|
|
32
46
|
setState(globalLayout);
|
|
33
47
|
}
|
|
34
48
|
}, [theme]);
|
|
@@ -39,12 +53,14 @@ function useResponsiveLayout() {
|
|
|
39
53
|
return;
|
|
40
54
|
}
|
|
41
55
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
prevState, {
|
|
45
|
-
|
|
56
|
+
allMediaQueries.forEach(function (mediaQuery) {
|
|
57
|
+
if (e.media === mediaQuery.query) {
|
|
58
|
+
setState(function (prevState) {var _extends2;return (0, _extends3.default)({},
|
|
59
|
+
prevState, (_extends2 = {}, _extends2[
|
|
60
|
+
mediaQuery.flag] = e.matches, _extends2));});
|
|
46
61
|
|
|
47
|
-
|
|
62
|
+
}
|
|
63
|
+
});
|
|
48
64
|
},
|
|
49
65
|
[theme]);
|
|
50
66
|
|
|
@@ -52,8 +68,8 @@ function useResponsiveLayout() {
|
|
|
52
68
|
(0, _react.useEffect)(function () {
|
|
53
69
|
prepareMediaQueries();
|
|
54
70
|
|
|
55
|
-
return function () {
|
|
56
|
-
(
|
|
71
|
+
return function () {
|
|
72
|
+
allMediaQueries.forEach(function (mediaQuery) {var _mediaQuery$ref$curre;return (_mediaQuery$ref$curre = mediaQuery.ref.current) == null ? void 0 : _mediaQuery$ref$curre.remove();});
|
|
57
73
|
};
|
|
58
74
|
}, []);
|
|
59
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useResponsiveLayout.ts"],"names":["useResponsiveLayout","theme","ThemeContext","
|
|
1
|
+
{"version":3,"sources":["useResponsiveLayout.ts"],"names":["useResponsiveLayout","customMediaQueries","theme","ThemeContext","allMediaQueries","Object","entries","isMobile","mobileMediaQuery","map","key","value","flag","query","ref","getLayoutFromGlobal","reduce","result","mediaQuery","assign","state","setState","prepareMediaQueries","forEach","current","checkLayoutsMediaQueries","globalLayout","hasChangedQuery","find","e","media","prevState","matches","remove"],"mappings":"gQAAA;;AAEA;;;AAGA;;AAEO,SAASA,mBAAT;;AAE6B,+BAAJ,EAAI,SADlCC,kBACkC,QADlCA,kBACkC;AAClC,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAMC,eAAe,GAAGC,MAAM,CAACC,OAAP;AACtBC,IAAAA,QAAQ,EAAEL,KAAK,CAACM,gBADM;AAEnBP,EAAAA,kBAFmB;AAGrBQ,EAAAA,GAHqB,CAGjB,sBAAEC,GAAF,YAAOC,KAAP,mBAAmB;AACxBC,MAAAA,IAAI,EAAEF,GADkB;AAExBG,MAAAA,KAAK,EAAEF,KAFiB;AAGxBG,MAAAA,GAAG,eAAE,uBAHmB,EAAnB,EAHiB,CAAxB;;;AASA,MAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAgC;AAC1D,WAAOX,eAAe,CAACY,MAAhB;AACL,cAACC,MAAD,EAASC,UAAT,6BAAwBb,MAAM,CAACc,MAAP,CAAcF,MAAd,uCAAyBC,UAAU,CAACN,IAApC,IAA2C,0CAAaM,UAAU,CAACL,KAAxB,CAA3C,kBAAxB,EADK;AAEL,MAFK,CAAP;;AAID,GALD;;AAOA,kBAA0B,qBAASE,mBAAmB,EAA5B,CAA1B,CAAOK,KAAP,gBAAcC,QAAd;;AAEA,MAAMC,mBAAmB,GAAG,wBAAY,YAAM;AAC5C,QAAI,CAACpB,KAAL,EAAY;AACV;AACD;;AAEDE,IAAAA,eAAe,CAACmB,OAAhB;AACE,cAACL,UAAD;AACGA,QAAAA,UAAU,CAACJ,GAAX,CAAeU,OAAf,GAAyB,yDAA4BN,UAAU,CAACL,KAAvC,EAA8CY,wBAA9C,CAD5B,GADF;;;AAKA;AACA,QAAMC,YAAY,GAAGX,mBAAmB,EAAxC;AACA,QAAMY,eAAe,GAAGtB,MAAM,CAACC,OAAP,CAAeoB,YAAf,EAA6BE,IAA7B,CAAkC,sBAAElB,GAAF,YAAOC,KAAP,mBAAkBS,KAAK,CAACV,GAAD,CAAL,KAAeC,KAAjC,EAAlC,CAAxB;;AAEA,QAAIgB,eAAJ,EAAqB;AACnBN,MAAAA,QAAQ,CAACK,YAAD,CAAR;AACD;AACF,GAjB2B,EAiBzB,CAACxB,KAAD,CAjByB,CAA5B;;AAmBA,MAAMuB,wBAAwB,GAAG;AAC/B,YAACI,CAAD,EAA4B;AAC1B,QAAI,CAAC3B,KAAL,EAAY;AACV;AACD;;AAEDE,IAAAA,eAAe,CAACmB,OAAhB,CAAwB,UAACL,UAAD,EAAgB;AACtC,UAAIW,CAAC,CAACC,KAAF,KAAYZ,UAAU,CAACL,KAA3B,EAAkC;AAChCQ,QAAAA,QAAQ,CAAC,UAACU,SAAD;AACJA,UAAAA,SADI;AAENb,UAAAA,UAAU,CAACN,IAFL,IAEYiB,CAAC,CAACG,OAFd,eAAD,CAAR;;AAID;AACF,KAPD;AAQD,GAd8B;AAe/B,GAAC9B,KAAD,CAf+B,CAAjC;;;AAkBA,wBAAU,YAAM;AACdoB,IAAAA,mBAAmB;;AAEnB,WAAO,YAAM;AACXlB,MAAAA,eAAe,CAACmB,OAAhB,CAAwB,UAACL,UAAD,6DAAgBA,UAAU,CAACJ,GAAX,CAAeU,OAA/B,qBAAgB,sBAAwBS,MAAxB,EAAhB,EAAxB;AACD,KAFD;AAGD,GAND,EAMG,EANH;;AAQA,SAAOb,KAAP;AACD","sourcesContent":["import React, { createRef, useCallback, useContext, useEffect, useState } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags, ResponsiveLayoutOptions } from './types';\nimport { addResponsiveLayoutListener, checkMatches } from './ResponsiveLayoutEvents';\n\nexport function useResponsiveLayout<T extends MediaQueriesType = EmptyObject>({\n customMediaQueries,\n}: ResponsiveLayoutOptions<T> = {}) {\n const theme = useContext(ThemeContext);\n\n const allMediaQueries = Object.entries({\n isMobile: theme.mobileMediaQuery,\n ...customMediaQueries,\n }).map(([key, value]) => ({\n flag: key,\n query: value,\n ref: createRef() as React.MutableRefObject<{ remove: () => void } | null>,\n }));\n\n const getLayoutFromGlobal = (): ResponsiveLayoutFlags<T> => {\n return allMediaQueries.reduce(\n (result, mediaQuery) => Object.assign(result, { [mediaQuery.flag]: checkMatches(mediaQuery.query) }),\n {},\n ) as ResponsiveLayoutFlags<T>;\n };\n\n const [state, setState] = useState(getLayoutFromGlobal());\n\n const prepareMediaQueries = useCallback(() => {\n if (!theme) {\n return;\n }\n\n allMediaQueries.forEach(\n (mediaQuery) =>\n (mediaQuery.ref.current = addResponsiveLayoutListener(mediaQuery.query, checkLayoutsMediaQueries)),\n );\n\n // Checking for SSR use case\n const globalLayout = getLayoutFromGlobal();\n const hasChangedQuery = Object.entries(globalLayout).find(([key, value]) => state[key] !== value);\n\n if (hasChangedQuery) {\n setState(globalLayout);\n }\n }, [theme]);\n\n const checkLayoutsMediaQueries = useCallback(\n (e: MediaQueryListEvent) => {\n if (!theme) {\n return;\n }\n\n allMediaQueries.forEach((mediaQuery) => {\n if (e.media === mediaQuery.query) {\n setState((prevState: ResponsiveLayoutFlags<T>) => ({\n ...prevState,\n [mediaQuery.flag]: e.matches,\n }));\n }\n });\n },\n [theme],\n );\n\n useEffect(() => {\n prepareMediaQueries();\n\n return () => {\n allMediaQueries.forEach((mediaQuery) => mediaQuery.ref.current?.remove());\n };\n }, []);\n\n return state;\n}\n"]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
interface ItemProps {
|
|
3
3
|
children?: React.ReactNode;
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
|
+
export declare class Item extends React.Component<ItemProps> {
|
|
5
6
|
static __KONTUR_REACT_UI__: string;
|
|
6
7
|
render(): JSX.Element;
|
|
7
8
|
}
|
|
9
|
+
export {};
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var _MenuItem = require("../MenuItem");var
|
|
4
4
|
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
5
8
|
Item = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Item, _React$Component);function Item() {return _React$Component.apply(this, arguments) || this;}var _proto = Item.prototype;_proto.
|
|
6
9
|
|
|
7
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Item.tsx"],"names":["Item","render","props","children","React","Component","__KONTUR_REACT_UI__"],"mappings":"gPAAA;;AAEA,uC
|
|
1
|
+
{"version":3,"sources":["Item.tsx"],"names":["Item","render","props","children","React","Component","__KONTUR_REACT_UI__"],"mappings":"gPAAA;;AAEA,uC;;;;;AAKaA,I;;;AAGJC,EAAAA,M,GAAP,kBAAgB;AACd,wBAAO,6BAAC,kBAAD,QAAW,KAAKC,KAAL,CAAWC,QAAtB,CAAP;AACD,G,eALuBC,eAAMC,S,sBAAnBL,I,CACGM,mB,GAAsB,Y","sourcesContent":["import React from 'react';\n\nimport { MenuItem } from '../MenuItem';\n\ninterface ItemProps {\n children?: React.ReactNode;\n}\nexport class Item extends React.Component<ItemProps> {\n public static __KONTUR_REACT_UI__ = 'SelectItem';\n\n public render() {\n return <MenuItem>{this.props.children}</MenuItem>;\n }\n}\n"]}
|