@skbkontur/react-ui 5.4.7-7ccf0.0 → 5.4.7-a27a4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Button/Button.d.ts +1 -0
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +1 -1
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.d.ts +2 -2
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerContext.d.ts +3 -3
- package/cjs/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +4 -4
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +3 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +1 -1
- package/cjs/components/FileUploader/FileUploaderFile.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +3 -2
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +49 -50
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +2 -2
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +3 -1
- package/cjs/components/Input/InputLayout/InputLayout.js +2 -1
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +6 -4
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +1 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +1 -1
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -1
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -1
- package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.js +2 -2
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +1 -1
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +4 -1
- package/cjs/components/Modal/Modal.js +8 -3
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -2
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +2 -2
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ResponsiveLayout/decorator.d.ts +0 -3
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +1 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +5 -2
- package/cjs/components/SidePage/SidePage.js +9 -3
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +1 -1
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +1 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +1 -1
- package/cjs/components/Sticky/Sticky.js +6 -2
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +1 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Token/TokenView.d.ts +2 -1
- package/cjs/components/Token/TokenView.js +4 -4
- package/cjs/components/Token/TokenView.js.map +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.js +3 -1
- package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.js +14 -7
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +4 -4
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/hooks/useDrop.js +1 -1
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -2
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +3 -6
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +84 -83
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +11 -12
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FocusControlWrapper/FocusControlWrapper.d.ts +5 -6
- package/cjs/internal/FocusControlWrapper/FocusControlWrapper.js +28 -23
- package/cjs/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +6 -2
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/MenuNavigation.d.ts +1 -1
- package/cjs/internal/Menu/MenuNavigation.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +9 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.js +2 -4
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +9 -3
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -2
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
- package/cjs/lib/dom/getDOMRect.d.ts +1 -1
- package/cjs/lib/dom/getDOMRect.js +3 -1
- package/cjs/lib/dom/getDOMRect.js.map +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +3 -2
- package/cjs/lib/forwardRefAndName.js +2 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/getElementRef.d.ts +5 -0
- package/cjs/lib/getElementRef.js +16 -0
- package/cjs/lib/getElementRef.js.map +1 -0
- package/cjs/lib/locale/decorators.d.ts +0 -3
- package/cjs/lib/mergeRefs.d.ts +2 -3
- package/cjs/lib/mergeRefs.js +1 -1
- package/cjs/lib/mergeRefs.js.map +1 -1
- package/cjs/lib/reactGetTextContent.js +6 -1
- package/cjs/lib/reactGetTextContent.js.map +1 -1
- package/cjs/lib/renderEnvironment/RenderEnvironmentDecorator.d.ts +0 -3
- package/cjs/lib/rootNode/getRootNode.js +1 -24
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +0 -3
- package/cjs/lib/size/SizeDecorator.d.ts +0 -3
- package/cjs/lib/types/polymorphic-component.d.ts +2 -1
- package/cjs/lib/types/polymorphic-component.js.map +1 -1
- package/cjs/lib/utils.d.ts +4 -3
- package/cjs/lib/utils.js +4 -3
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/lib/withClassWrapper.d.ts +3 -8
- package/components/Button/Button/Button.js +1 -1
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -0
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateFragmentsView.d.ts +2 -2
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +1 -1
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/components/DateRangePicker/DateRangePickerContext/DateRangePickerContext.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerContext.d.ts +3 -3
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +4 -4
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +1 -1
- package/components/FileUploader/FileUploaderFile/FileUploaderFile.js +1 -1
- package/components/FileUploader/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +5 -4
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +3 -2
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +2 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js +4 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +3 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +2 -2
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +1 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -1
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +1 -1
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js +2 -2
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +1 -1
- package/components/Modal/Modal/Modal.js +7 -3
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +4 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -2
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +2 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/components/ResponsiveLayout/decorator.d.ts +0 -3
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +1 -1
- package/components/SidePage/SidePage/SidePage.js +7 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +5 -2
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +1 -1
- package/components/SingleToast/SingleToast.d.ts +1 -1
- package/components/Sticky/Sticky/Sticky.js +2 -2
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +1 -1
- package/components/Token/TokenView/TokenView.js +6 -4
- package/components/Token/TokenView/TokenView.js.map +1 -1
- package/components/Token/TokenView.d.ts +2 -1
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +1 -1
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +5 -5
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +4 -4
- package/hooks/useDrop/useDrop.js +1 -1
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +2 -2
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +3 -6
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -3
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
- package/internal/FocusControlWrapper/FocusControlWrapper/FocusControlWrapper.js +7 -4
- package/internal/FocusControlWrapper/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
- package/internal/FocusControlWrapper/FocusControlWrapper.d.ts +5 -6
- package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +2 -2
- package/internal/Menu/Menu/Menu.js +2 -2
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -1
- package/internal/Menu/MenuNavigation.d.ts +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +5 -2
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +1 -0
- package/internal/Popup/Popup/Popup.js +2 -2
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +2 -2
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +1 -1
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/FxInputPlayground.d.ts +1 -1
- package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
- package/lib/dom/getDOMRect.d.ts +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +1 -1
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +3 -2
- package/lib/getElementRef/getElementRef.js +11 -0
- package/lib/getElementRef/getElementRef.js.map +1 -0
- package/lib/getElementRef/package.json +6 -0
- package/lib/getElementRef.d.ts +5 -0
- package/lib/locale/decorators.d.ts +0 -3
- package/lib/mergeRefs/mergeRefs.js.map +1 -1
- package/lib/mergeRefs.d.ts +2 -3
- package/lib/reactGetTextContent/reactGetTextContent.js +1 -1
- package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentDecorator.d.ts +0 -3
- package/lib/rootNode/getRootNode/getRootNode.js +0 -15
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +0 -3
- package/lib/size/SizeDecorator.d.ts +0 -3
- package/lib/types/polymorphic-component/polymorphic-component.js.map +1 -1
- package/lib/types/polymorphic-component.d.ts +2 -1
- package/lib/utils/utils.js +2 -2
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +4 -3
- package/lib/withClassWrapper.d.ts +3 -8
- package/package.json +10 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { type JSX } from 'react';
|
|
2
2
|
import type { Nullable } from '../../typings/utility-types';
|
|
3
3
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
4
4
|
import type { TGetRootNode } from '../../lib/rootNode';
|
|
@@ -82,7 +82,7 @@ export declare class Paging extends React.PureComponent<PagingProps, PagingState
|
|
|
82
82
|
componentDidMount(): void;
|
|
83
83
|
componentDidUpdate(prevProps: PagingProps): void;
|
|
84
84
|
componentWillUnmount(): void;
|
|
85
|
-
render():
|
|
85
|
+
render(): JSX.Element | null;
|
|
86
86
|
private renderMain;
|
|
87
87
|
private renderItem;
|
|
88
88
|
private renderDots;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_warning","_isInstanceOf","_identifiers","_decorators","_keyListener","_utils","_ThemeContext","_CommonWrapper","_rootNode","_createPropsGetter","_getVisualStateDataAttributes","_ResponsiveLayout","_renderEnvironment","_Paging2","NavigationHelper","_interopRequireWildcard","_PagingHelper","_locale","_PagingDefaultComponent","_ForwardIcon","_DotsIcon","_dec","_class","_Paging","IGNORE_EVENT_TAGS","PagingDataTids","exports","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","locale","PagingLocaleHelper","withRenderEnvironment","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","_this$cx","default","createElement","className","cx","styles","theme","sizeClassNames","dotsDisabled","getDotsIcon","_this$cx2","classNames","pageLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","getForwardIcon","_extends2","onClick","emptyHandler","goForward","tabIndex","pageNumber","getVisualStateDataAttributes","isMobile","caption","_this$cx3","pageLinkDisabled","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","Fragment","transparent","getKeyName","pageLinkHint","handleMouseDown","setState","handleKeyDown","e","shiftKey","target","isArrowLeft","isKeyArrowLeft","isArrowRight","isKeyArrowRight","isInstanceOf","globalObject","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","_this$globalObject$do","document","addEventListener","removeGlobalListener","_this$globalObject$do2","removeEventListener","refContainer","element","getPagingSizeClassNames","size","getSize","defaultClassNames","pagingSmall","dotsSmall","forwardLinkSmall","pageLinkSmall","pagingMedium","dotsMedium","forwardLinkMediumMobile","forwardLinkMedium","pageLinkMedium","pagingLarge","dotsLarge","forwardLinkLargeMobile","forwardLinkLarge","pageLinkLarge","warning","DotsIcon","iconSize","ForwardIconMobile","ForwardIcon","style","marginLeft","defaultSize","_inheritsLoose2","isForward","_proto","prototype","componentDidMount","KeyListener","componentDidUpdate","prevProps","componentWillUnmount","render","_this2","getStyles","emotion","ThemeContext","Consumer","ResponsiveLayout","_ref","renderMain","_this$cx4","_this3","_this$getProps","CommonWrapper","rootNodeRef","setRootNode","paging","pagingMobile","pagingDisabled","onKeyDown","undefined","onFocus","onBlur","onMouseDown","ref","map","React","PureComponent","__KONTUR_REACT_UI__","displayName","PagingDefaultComponent"],"sources":["Paging.tsx"],"sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\nimport warning from 'warning';\n\nimport type { GlobalObject } from '../../lib/globalObject';\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 { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport type { SizeProp } from '../../lib/types/props';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } 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, ForwardIconMobile } from './ForwardIcon';\nimport { DotsIcon } from './DotsIcon';\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 * @default 'small'\n */\n size?: SizeProp;\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\ninterface PagingSizeClassNames {\n root: string;\n dots: string;\n forwardLink: string;\n pageLink: string;\n}\n\n/**\n * Постраничная навигация `Paging` (пейджинг или пагинация) — способ представления большого количества однородной информации, когда контент разбивается на страницы.\n */\n@withRenderEnvironment\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 getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean {\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 globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private isMobile!: boolean;\n private sizeClassNames!: PagingSizeClassNames;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\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 this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ResponsiveLayout>\n {({ isMobile }) => {\n this.isMobile = isMobile;\n this.sizeClassNames = this.getPagingSizeClassNames();\n return this.renderMain();\n }}\n </ResponsiveLayout>\n );\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={this.cx(this.styles.paging(), this.sizeClassNames.root, {\n [this.styles.pagingMobile()]: this.isMobile,\n [this.styles.pagingDisabled()]: this.props.disabled,\n })}\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((item, index) => this.renderItem(item, index))}\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={this.cx(this.styles.dots(this.theme), this.sizeClassNames.dots, {\n [this.styles.dotsDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {this.getDotsIcon()}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classNames = this.cx(\n this.styles.pageLink(this.theme),\n this.sizeClassNames.pageLink,\n this.styles.forwardLink(this.theme),\n this.sizeClassNames.forwardLink,\n {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n },\n );\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = this.getForwardIcon();\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classNames}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n {...getVisualStateDataAttributes({ disabled })}\n >\n {!this.isMobile && (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 classNames = this.cx(this.styles.pageLink(this.theme), this.sizeClassNames.pageLink, {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.pageLinkDisabled(this.theme)]: disabled,\n [this.styles.pageLinkCurrent(this.theme)]: active,\n [this.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={this.styles.pageLinkWrapper()}\n {...getVisualStateDataAttributes({ active, disabled })}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classNames}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && !this.isMobile && 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 ? '' : this.styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : this.styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={this.styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\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, this.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 this.globalObject.requestAnimationFrame?.(() => {\n if (this.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, this.isMobile).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 this.globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n this.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 private getPagingSizeClassNames = (): PagingSizeClassNames => {\n const size = this.getSize();\n\n const defaultClassNames = {\n root: this.styles.pagingSmall(this.theme),\n dots: this.styles.dotsSmall(this.theme),\n forwardLink: this.styles.forwardLinkSmall(this.theme),\n pageLink: this.styles.pageLinkSmall(this.theme),\n };\n\n switch (size) {\n case 'small':\n return defaultClassNames;\n case 'medium':\n return {\n root: this.styles.pagingMedium(this.theme),\n dots: this.styles.dotsMedium(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkMediumMobile(this.theme)\n : this.styles.forwardLinkMedium(this.theme),\n pageLink: this.styles.pageLinkMedium(this.theme),\n };\n case 'large':\n return {\n root: this.styles.pagingLarge(this.theme),\n dots: this.styles.dotsLarge(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkLargeMobile(this.theme)\n : this.styles.forwardLinkLarge(this.theme),\n pageLink: this.styles.pageLinkLarge(this.theme),\n };\n default:\n warning(false, `Invalid size prop: '${this.props.size}'`);\n return defaultClassNames;\n }\n };\n\n private getDotsIcon = () => {\n const size = this.getSize();\n return <DotsIcon size={size} />;\n };\n\n private getForwardIcon = () => {\n const size = this.getSize();\n const iconSize = size;\n return this.isMobile ? (\n <ForwardIconMobile size={iconSize} />\n ) : (\n <ForwardIcon size={iconSize} style={{ marginLeft: 4 }} />\n );\n };\n\n private getSize = () => {\n if (this.props.size) {\n return this.isMobile && this.props.size === 'small' ? 'medium' : this.props.size;\n }\n\n const defaultSize = 'small';\n return this.isMobile ? 'medium' : defaultSize;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_warning","_isInstanceOf","_identifiers","_decorators","_keyListener","_utils","_ThemeContext","_CommonWrapper","_rootNode","_createPropsGetter","_getVisualStateDataAttributes","_ResponsiveLayout","_renderEnvironment","_Paging2","NavigationHelper","_interopRequireWildcard","_PagingHelper","_locale","_PagingDefaultComponent","_ForwardIcon","_DotsIcon","_dec","_class","_Paging","IGNORE_EVENT_TAGS","PagingDataTids","exports","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","locale","PagingLocaleHelper","withRenderEnvironment","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","_this$cx","default","createElement","className","cx","styles","theme","sizeClassNames","dotsDisabled","getDotsIcon","_this$cx2","classNames","pageLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","getForwardIcon","_extends2","onClick","emptyHandler","goForward","tabIndex","pageNumber","getVisualStateDataAttributes","isMobile","caption","_this$cx3","pageLinkDisabled","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","Fragment","transparent","getKeyName","pageLinkHint","handleMouseDown","setState","handleKeyDown","e","shiftKey","target","isArrowLeft","isKeyArrowLeft","isArrowRight","isKeyArrowRight","isInstanceOf","globalObject","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","_this$globalObject$do","document","addEventListener","removeGlobalListener","_this$globalObject$do2","removeEventListener","refContainer","element","getPagingSizeClassNames","size","getSize","defaultClassNames","pagingSmall","dotsSmall","forwardLinkSmall","pageLinkSmall","pagingMedium","dotsMedium","forwardLinkMediumMobile","forwardLinkMedium","pageLinkMedium","pagingLarge","dotsLarge","forwardLinkLargeMobile","forwardLinkLarge","pageLinkLarge","warning","DotsIcon","iconSize","ForwardIconMobile","ForwardIcon","style","marginLeft","defaultSize","_inheritsLoose2","isForward","_proto","prototype","componentDidMount","KeyListener","componentDidUpdate","prevProps","componentWillUnmount","render","_this2","getStyles","emotion","ThemeContext","Consumer","ResponsiveLayout","_ref","renderMain","_this$cx4","_this3","_this$getProps","CommonWrapper","rootNodeRef","setRootNode","paging","pagingMobile","pagingDisabled","onKeyDown","undefined","onFocus","onBlur","onMouseDown","ref","map","React","PureComponent","__KONTUR_REACT_UI__","displayName","PagingDefaultComponent"],"sources":["Paging.tsx"],"sourcesContent":["import React, { type JSX } from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\nimport warning from 'warning';\n\nimport type { GlobalObject } from '../../lib/globalObject';\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 { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport type { SizeProp } from '../../lib/types/props';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } 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, ForwardIconMobile } from './ForwardIcon';\nimport { DotsIcon } from './DotsIcon';\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 * @default 'small'\n */\n size?: SizeProp;\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\ninterface PagingSizeClassNames {\n root: string;\n dots: string;\n forwardLink: string;\n pageLink: string;\n}\n\n/**\n * Постраничная навигация `Paging` (пейджинг или пагинация) — способ представления большого количества однородной информации, когда контент разбивается на страницы.\n */\n@withRenderEnvironment\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 getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean {\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 globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private isMobile!: boolean;\n private sizeClassNames!: PagingSizeClassNames;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\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 this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ResponsiveLayout>\n {({ isMobile }) => {\n this.isMobile = isMobile;\n this.sizeClassNames = this.getPagingSizeClassNames();\n return this.renderMain();\n }}\n </ResponsiveLayout>\n );\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={this.cx(this.styles.paging(), this.sizeClassNames.root, {\n [this.styles.pagingMobile()]: this.isMobile,\n [this.styles.pagingDisabled()]: this.props.disabled,\n })}\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((item, index) => this.renderItem(item, index))}\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={this.cx(this.styles.dots(this.theme), this.sizeClassNames.dots, {\n [this.styles.dotsDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {this.getDotsIcon()}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classNames = this.cx(\n this.styles.pageLink(this.theme),\n this.sizeClassNames.pageLink,\n this.styles.forwardLink(this.theme),\n this.sizeClassNames.forwardLink,\n {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n },\n );\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = this.getForwardIcon();\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classNames}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n {...getVisualStateDataAttributes({ disabled })}\n >\n {!this.isMobile && (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 classNames = this.cx(this.styles.pageLink(this.theme), this.sizeClassNames.pageLink, {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.pageLinkDisabled(this.theme)]: disabled,\n [this.styles.pageLinkCurrent(this.theme)]: active,\n [this.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={this.styles.pageLinkWrapper()}\n {...getVisualStateDataAttributes({ active, disabled })}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classNames}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && !this.isMobile && 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 ? '' : this.styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : this.styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={this.styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\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, this.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 this.globalObject.requestAnimationFrame?.(() => {\n if (this.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, this.isMobile).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 this.globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n this.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 private getPagingSizeClassNames = (): PagingSizeClassNames => {\n const size = this.getSize();\n\n const defaultClassNames = {\n root: this.styles.pagingSmall(this.theme),\n dots: this.styles.dotsSmall(this.theme),\n forwardLink: this.styles.forwardLinkSmall(this.theme),\n pageLink: this.styles.pageLinkSmall(this.theme),\n };\n\n switch (size) {\n case 'small':\n return defaultClassNames;\n case 'medium':\n return {\n root: this.styles.pagingMedium(this.theme),\n dots: this.styles.dotsMedium(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkMediumMobile(this.theme)\n : this.styles.forwardLinkMedium(this.theme),\n pageLink: this.styles.pageLinkMedium(this.theme),\n };\n case 'large':\n return {\n root: this.styles.pagingLarge(this.theme),\n dots: this.styles.dotsLarge(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkLargeMobile(this.theme)\n : this.styles.forwardLinkLarge(this.theme),\n pageLink: this.styles.pageLinkLarge(this.theme),\n };\n default:\n warning(false, `Invalid size prop: '${this.props.size}'`);\n return defaultClassNames;\n }\n };\n\n private getDotsIcon = () => {\n const size = this.getSize();\n return <DotsIcon size={size} />;\n };\n\n private getForwardIcon = () => {\n const size = this.getSize();\n const iconSize = size;\n return this.isMobile ? (\n <ForwardIconMobile size={iconSize} />\n ) : (\n <ForwardIcon size={iconSize} style={{ marginLeft: 4 }} />\n );\n };\n\n private getSize = () => {\n if (this.props.size) {\n return this.isMobile && this.props.size === 'small' ? 'medium' : this.props.size;\n }\n\n const defaultSize = 'small';\n return this.isMobile ? 'medium' : defaultSize;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_decorators","_RenderLayer","_utils","_identifiers","_KeyboardEventCodes","_Input","_CommonWrapper","_ThemeContext","_rootNode","_SizeDecorator","_createPropsGetter","_renderEnvironment","_PasswordInput2","_PasswordInputIcon","_locale","_dec","_class","_PasswordInput","PasswordInputDataTids","exports","root","capsLockDetector","eyeIcon","PasswordInput","locale","PasswordInputLocaleHelper","withRenderEnvironment","rootNode","withSize","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","visible","focused","capsLockEnabled","getProps","createPropsGetter","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","RenderLayer","active","onFocusOutside","onClickOutside","Input","_extends2","ref","rightIcon","_inheritsLoose2","_proto","prototype","componentDidMount","getDerivedStateFromProps","render","_this3","getStyles","emotion","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 type { Emotion } from '@emotion/css/types/create-instance';\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 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 type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } 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\n/**\n * Однострочное поле для ввода пароля, в котором символы заменяются на точки.\n */\n@withRenderEnvironment\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\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(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\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 * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\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.size) {\n case 'large':\n return this.styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return this.styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={this.styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={this.styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={this.cx(this.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={this.styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.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 return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={this.styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n {...props}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_decorators","_RenderLayer","_utils","_identifiers","_KeyboardEventCodes","_Input","_CommonWrapper","_ThemeContext","_rootNode","_SizeDecorator","_createPropsGetter","_renderEnvironment","_PasswordInput2","_PasswordInputIcon","_locale","_dec","_class","_PasswordInput","PasswordInputDataTids","exports","root","capsLockDetector","eyeIcon","PasswordInput","locale","PasswordInputLocaleHelper","withRenderEnvironment","rootNode","withSize","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","visible","focused","capsLockEnabled","getProps","createPropsGetter","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","RenderLayer","active","onFocusOutside","onClickOutside","Input","_extends2","ref","rightIcon","_inheritsLoose2","_proto","prototype","componentDidMount","getDerivedStateFromProps","render","_this3","getStyles","emotion","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","React","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["PasswordInput.tsx"],"sourcesContent":["import type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\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 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 type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } 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\n/**\n * Однострочное поле для ввода пароля, в котором символы заменяются на точки.\n */\n@withRenderEnvironment\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\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(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\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 * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\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.size) {\n case 'large':\n return this.styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return this.styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={this.styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={this.styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={this.cx(this.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={this.styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.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 return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={this.styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n {...props}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AriaAttributes } from 'react';
|
|
1
|
+
import type { AriaAttributes, JSX } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
4
4
|
import type { TGetRootNode } from '../../lib/rootNode';
|
|
@@ -76,7 +76,7 @@ export declare class RadioGroup<T> extends React.Component<RadioGroupProps<T>, R
|
|
|
76
76
|
private setRootNode;
|
|
77
77
|
constructor(props: RadioGroupProps<T>);
|
|
78
78
|
private getRadioGroupContextValue;
|
|
79
|
-
render():
|
|
79
|
+
render(): JSX.Element;
|
|
80
80
|
/**
|
|
81
81
|
* @public
|
|
82
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_invariant","_utils","_Radio","_createPropsGetter","_FocusTrap","_CommonWrapper","_rootNode","_getVisualStateDataAttributes","_renderEnvironment","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","withRenderEnvironment","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","_this$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$cx2","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","getStyles","emotion","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';\nimport type { Emotion } from '@emotion/css/types/create-instance';\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 type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } 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@withRenderEnvironment\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 emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n public getRootNode!: TGetRootNode;\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 this.styles = getStyles(this.emotion);\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={this.cx({\n [this.styles.root()]: true,\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\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: this.cx({\n [this.styles.item()]: true,\n [this.styles.itemFirst()]: index === 0,\n [this.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","_rootNode","_getVisualStateDataAttributes","_renderEnvironment","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","withRenderEnvironment","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","_this$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$cx2","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","getStyles","emotion","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, JSX } from 'react';\nimport React from 'react';\nimport invariant from 'invariant';\nimport type { Emotion } from '@emotion/css/types/create-instance';\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 type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } 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@withRenderEnvironment\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 emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n public getRootNode!: TGetRootNode;\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 this.styles = getStyles(this.emotion);\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={this.cx({\n [this.styles.root()]: true,\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\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: this.cx({\n [this.styles.item()]: true,\n [this.styles.itemFirst()]: index === 0,\n [this.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":[]}
|
|
@@ -14,9 +14,6 @@ export declare function responsiveLayout<T extends new (...args: any[]) => React
|
|
|
14
14
|
forceUpdate(callback?: (() => void) | undefined): void;
|
|
15
15
|
readonly props: Readonly<{}>;
|
|
16
16
|
state: Readonly<{}>;
|
|
17
|
-
refs: {
|
|
18
|
-
[key: string]: React.ReactInstance;
|
|
19
|
-
};
|
|
20
17
|
componentDidMount?(): void;
|
|
21
18
|
shouldComponentUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
22
19
|
componentWillUnmount?(): void;
|
|
@@ -74,7 +74,7 @@ export declare class ScrollContainer extends React.Component<ScrollContainerProp
|
|
|
74
74
|
state: ScrollContainerState;
|
|
75
75
|
componentDidMount(): void;
|
|
76
76
|
componentDidUpdate(prevProps: ScrollContainerProps): void;
|
|
77
|
-
render():
|
|
77
|
+
render(): React.ReactNode;
|
|
78
78
|
/**
|
|
79
79
|
* @public
|
|
80
80
|
* @param {Element} element
|