@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
|
@@ -8,17 +8,16 @@ var withFileUploaderControlProvider = exports.withFileUploaderControlProvider =
|
|
|
8
8
|
Component)
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
11
14
|
{
|
|
12
|
-
return /*#__PURE__*/_react.default.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
)
|
|
23
|
-
);
|
|
15
|
+
return /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
16
|
+
var onRemove = props.onRemove,onValueChange = props.onValueChange,onAttach = props.onAttach,initialFiles = props.initialFiles,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
17
|
+
return /*#__PURE__*/(
|
|
18
|
+
_react.default.createElement(_FileUploaderControlProvider.FileUploaderControlProvider, props, /*#__PURE__*/
|
|
19
|
+
_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, rest))
|
|
20
|
+
));
|
|
21
|
+
|
|
22
|
+
});
|
|
24
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_FileUploaderControlProvider","_excluded","withFileUploaderControlProvider","exports","Component","React","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_FileUploaderControlProvider","_excluded","withFileUploaderControlProvider","exports","Component","React","forwardRef","props","ref","onRemove","onValueChange","onAttach","initialFiles","rest","_objectWithoutPropertiesLoose2","default","createElement","FileUploaderControlProvider","_extends2"],"sources":["withFileUploaderControlProvider.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport React from 'react';\n\nimport type { FileUploaderControlProviderProps } from './FileUploaderControlProvider';\nimport { FileUploaderControlProvider } from './FileUploaderControlProvider';\n\nexport const withFileUploaderControlProvider = <TProps extends Record<string, any>, TRef extends Record<string, any>>(\n Component: ComponentType<\n Omit<\n React.PropsWithoutRef<TProps & FileUploaderControlProviderProps>,\n 'onAttach' | 'onRemove' | 'onValueChange' | 'initialFiles'\n >\n >,\n) => {\n return React.forwardRef<TRef, TProps & FileUploaderControlProviderProps>((props, ref) => {\n const { onRemove, onValueChange, onAttach, initialFiles, ...rest } = props;\n return (\n <FileUploaderControlProvider {...props}>\n <Component ref={ref} {...rest} />\n </FileUploaderControlProvider>\n );\n });\n};\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;;;AAGA,IAAAC,4BAAA,GAAAD,OAAA,kCAA4E,IAAAE,SAAA;;AAErE,IAAMC,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA,GAAG,SAAlCA,+BAA+BA;AAC1CE,SAKC;;;;;;AACE;EACH,oBAAOC,cAAK,CAACC,UAAU,CAAkD,UAACC,KAAK,EAAEC,GAAG,EAAK;IACvF,IAAQC,QAAQ,GAAqDF,KAAK,CAAlEE,QAAQ,CAAEC,aAAa,GAAsCH,KAAK,CAAxDG,aAAa,CAAEC,QAAQ,GAA4BJ,KAAK,CAAzCI,QAAQ,CAAEC,YAAY,GAAcL,KAAK,CAA/BK,YAAY,CAAKC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAKR,KAAK,EAAAN,SAAA;IAC1E;MACEJ,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,4BAAA,CAAAiB,2BAA2B,EAAKV,KAAK;MACpCV,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACZ,SAAS,MAAAc,SAAA,CAAAH,OAAA,IAACP,GAAG,EAAEA,GAAI,IAAKK,IAAI,CAAG;MACL,CAAC;;EAElC,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react';
|
|
2
1
|
import React from 'react';
|
|
3
2
|
interface Props {
|
|
4
3
|
/**
|
|
@@ -9,10 +8,10 @@ interface Props {
|
|
|
9
8
|
* Событие вызывается когда элемент потеряет фокус, и при этом он задисэйблен
|
|
10
9
|
*/
|
|
11
10
|
onBlurWhenDisabled(): void | undefined;
|
|
11
|
+
onFocus?: (e: React.FocusEvent) => void;
|
|
12
|
+
onBlur?: (e: React.FocusEvent) => void;
|
|
12
13
|
}
|
|
13
|
-
export declare
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var displayName: string;
|
|
17
|
-
}
|
|
14
|
+
export declare const FocusControlWrapper: React.ForwardRefExoticComponent<Props & {
|
|
15
|
+
children?: React.ReactNode | undefined;
|
|
16
|
+
} & React.RefAttributes<any>>;
|
|
18
17
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.FocusControlWrapper =
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.FocusControlWrapper = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
2
2
|
var _react = _interopRequireWildcard(require("react"));
|
|
3
3
|
|
|
4
4
|
var _CommonWrapper = require("../CommonWrapper");
|
|
@@ -17,31 +17,36 @@ var _useFocusControl2 = require("./useFocusControl");var _excluded = ["disabled"
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
function FocusControlWrapper(_ref) {var disabled = _ref.disabled,children = _ref.children,onBlurWhenDisabled = _ref.onBlurWhenDisabled,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
21
|
-
var isValidChildren = children && /*#__PURE__*/(0, _react.isValidElement)(children);
|
|
22
20
|
|
|
23
|
-
var _useFocusControl = (0, _useFocusControl2.useFocusControl)({
|
|
24
|
-
disabled: disabled != null ? disabled : isValidChildren ? children.props.disabled : undefined,
|
|
25
|
-
onFocus: isValidChildren ? children.props.onFocus : undefined,
|
|
26
|
-
onBlur: isValidChildren ? children.props.onBlur : undefined,
|
|
27
|
-
onBlurWhenDisabled: onBlurWhenDisabled
|
|
28
|
-
}),handleFocus = _useFocusControl.handleFocus,handleBlur = _useFocusControl.handleBlur;
|
|
29
21
|
|
|
30
|
-
if (!isValidChildren) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
22
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
23
|
+
var FocusControlWrapper = exports.FocusControlWrapper = /*#__PURE__*/(0, _react.forwardRef)(
|
|
24
|
+
function (_ref, ref) {var disabled = _ref.disabled,children = _ref.children,onBlurWhenDisabled = _ref.onBlurWhenDisabled,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
25
|
+
var isValidChildren = children && /*#__PURE__*/(0, _react.isValidElement)(children);
|
|
26
|
+
|
|
27
|
+
var _useFocusControl = (0, _useFocusControl2.useFocusControl)({
|
|
28
|
+
disabled: disabled != null ? disabled : isValidChildren ? children.props.disabled : undefined,
|
|
29
|
+
onFocus: isValidChildren ? children.props.onFocus : undefined,
|
|
30
|
+
onBlur: isValidChildren ? children.props.onBlur : undefined,
|
|
31
|
+
onBlurWhenDisabled: onBlurWhenDisabled
|
|
32
|
+
}),handleFocus = _useFocusControl.handleFocus,handleBlur = _useFocusControl.handleBlur;
|
|
33
|
+
|
|
34
|
+
if (!isValidChildren) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return /*#__PURE__*/(
|
|
39
|
+
_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({}, rest, { ref: ref }),
|
|
40
|
+
_react.default.Children.only( /*#__PURE__*/
|
|
41
|
+
(0, _react.cloneElement)(children, {
|
|
42
|
+
onFocus: handleFocus,
|
|
43
|
+
onBlur: handleBlur
|
|
44
|
+
})
|
|
45
|
+
)
|
|
46
|
+
));
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
);
|
|
45
50
|
|
|
46
51
|
FocusControlWrapper.__KONTUR_REACT_UI__ = 'FocusControlWrapper';
|
|
47
52
|
FocusControlWrapper.displayName = 'FocusControlWrapper';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_CommonWrapper","_useFocusControl2","_excluded","FocusControlWrapper","_ref","disabled","children","onBlurWhenDisabled","rest","_objectWithoutPropertiesLoose2","default","isValidChildren","isValidElement","_useFocusControl","useFocusControl","props","undefined","onFocus","onBlur","handleFocus","handleBlur","createElement","CommonWrapper","React","Children","only","cloneElement","__KONTUR_REACT_UI__","displayName"],"sources":["FocusControlWrapper.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactElement } from 'react';\nimport React, {
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_CommonWrapper","_useFocusControl2","_excluded","FocusControlWrapper","exports","forwardRef","_ref","ref","disabled","children","onBlurWhenDisabled","rest","_objectWithoutPropertiesLoose2","default","isValidChildren","isValidElement","_useFocusControl","useFocusControl","props","undefined","onFocus","onBlur","handleFocus","handleBlur","createElement","CommonWrapper","_extends2","React","Children","only","cloneElement","__KONTUR_REACT_UI__","displayName"],"sources":["FocusControlWrapper.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactElement, Ref } from 'react';\nimport React, { cloneElement, forwardRef, isValidElement } from 'react';\n\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { useFocusControl } from './useFocusControl';\n\ninterface Props {\n /**\n * Использовать только когда на children нет пропса disabled\n */\n disabled?: boolean;\n\n /**\n * Событие вызывается когда элемент потеряет фокус, и при этом он задисэйблен\n */\n onBlurWhenDisabled(): void | undefined;\n\n onFocus?: (e: React.FocusEvent) => void;\n onBlur?: (e: React.FocusEvent) => void;\n}\n\nexport const FocusControlWrapper = forwardRef(\n ({ disabled, children, onBlurWhenDisabled, ...rest }: PropsWithChildren<Props>, ref: Ref<any>) => {\n const isValidChildren = children && isValidElement(children);\n\n const { handleFocus, handleBlur } = useFocusControl({\n disabled: disabled ?? (isValidChildren ? (children as ReactElement<Props>).props.disabled : undefined),\n onFocus: isValidChildren ? (children as ReactElement<Props>).props.onFocus : undefined,\n onBlur: isValidChildren ? (children as ReactElement<Props>).props.onBlur : undefined,\n onBlurWhenDisabled,\n });\n\n if (!isValidChildren) {\n return null;\n }\n\n return (\n <CommonWrapper {...rest} ref={ref}>\n {React.Children.only(\n cloneElement(children as ReactElement<Props>, {\n onFocus: handleFocus,\n onBlur: handleBlur,\n }),\n )}\n </CommonWrapper>\n );\n },\n);\n\nFocusControlWrapper.__KONTUR_REACT_UI__ = 'FocusControlWrapper';\nFocusControlWrapper.displayName = 'FocusControlWrapper';\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;;AAEA,IAAAC,cAAA,GAAAD,OAAA;;AAEA,IAAAE,iBAAA,GAAAF,OAAA,sBAAoD,IAAAG,SAAA;;;;;;;;;;;;;;;;;AAiB7C,IAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,iBAAU;EAC3C,UAAAC,IAAA,EAAgFC,GAAa,EAAK,KAA/FC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAEC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB,CAAKC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAP,IAAA,EAAAJ,SAAA;IAChD,IAAMY,eAAe,GAAGL,QAAQ,iBAAI,IAAAM,qBAAc,EAACN,QAAQ,CAAC;;IAE5D,IAAAO,gBAAA,GAAoC,IAAAC,iCAAe,EAAC;QAClDT,QAAQ,EAAEA,QAAQ,WAARA,QAAQ,GAAKM,eAAe,GAAIL,QAAQ,CAAyBS,KAAK,CAACV,QAAQ,GAAGW,SAAU;QACtGC,OAAO,EAAEN,eAAe,GAAIL,QAAQ,CAAyBS,KAAK,CAACE,OAAO,GAAGD,SAAS;QACtFE,MAAM,EAAEP,eAAe,GAAIL,QAAQ,CAAyBS,KAAK,CAACG,MAAM,GAAGF,SAAS;QACpFT,kBAAkB,EAAlBA;MACF,CAAC,CAAC,CALMY,WAAW,GAAAN,gBAAA,CAAXM,WAAW,CAAEC,UAAU,GAAAP,gBAAA,CAAVO,UAAU;;IAO/B,IAAI,CAACT,eAAe,EAAE;MACpB,OAAO,IAAI;IACb;;IAEA;MACEjB,MAAA,CAAAgB,OAAA,CAAAW,aAAA,CAACxB,cAAA,CAAAyB,aAAa,MAAAC,SAAA,CAAAb,OAAA,MAAKF,IAAI,IAAEJ,GAAG,EAAEA,GAAI;MAC/BoB,cAAK,CAACC,QAAQ,CAACC,IAAI;QAClB,IAAAC,mBAAY,EAACrB,QAAQ,EAAyB;UAC5CW,OAAO,EAAEE,WAAW;UACpBD,MAAM,EAAEE;QACV,CAAC;MACH;MACa,CAAC;;EAEpB;AACF,CAAC;;AAEDpB,mBAAmB,CAAC4B,mBAAmB,GAAG,qBAAqB;AAC/D5B,mBAAmB,CAAC6B,WAAW,GAAG,qBAAqB","ignoreList":[]}
|
|
@@ -4,5 +4,5 @@ export interface IgnoreLayerClickProps {
|
|
|
4
4
|
active: boolean;
|
|
5
5
|
}
|
|
6
6
|
export declare class IgnoreLayerClick extends React.Component<IgnoreLayerClickProps> {
|
|
7
|
-
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
7
|
+
render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
|
|
8
8
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { type JSX } from 'react';
|
|
2
2
|
import type { MouseDragEventHandler } from '../../lib/events/MouseDrag';
|
|
3
3
|
import type { InputProps, InputState } from '../../components/Input';
|
|
4
4
|
import type { CommonProps } from '../CommonWrapper';
|
|
@@ -58,7 +58,7 @@ export declare class InputLikeText extends React.Component<InputLikeTextProps, I
|
|
|
58
58
|
selectInnerNode: (node: HTMLElement | null, start?: number, end?: number) => void;
|
|
59
59
|
componentDidMount(): void;
|
|
60
60
|
componentWillUnmount(): void;
|
|
61
|
-
render():
|
|
61
|
+
render(): JSX.Element;
|
|
62
62
|
private renderMain;
|
|
63
63
|
private renderPlaceholder;
|
|
64
64
|
private handleKeyDown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_lodash","_utils","_MouseDrag","_client","_selectionHelpers","_Input","_Input2","_ThemeContext","_CommonWrapper","_rootNode","_createPropsGetter","_InputLayoutAside","_InputLayoutContext","_FocusControlWrapper","_ClearCrossIcon","_blink2","_SizeDecorator","_renderEnvironment","_InputLikeText2","_excluded","_class","_InputLikeText","InputLikeTextDataTids","exports","root","input","nativeInput","InputLikeText","withRenderEnvironment","withSize","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","calculateClearCrossShowedState","showClearIcon","notEmptyValue","Boolean","children","state","clearCrossShowed","node","dragging","selectNodeContentsDebounced","debounce","selectNodeContents","selectInnerNode","start","end","renderMain","_this$cx","_this$cx2","_this$cx3","innerRef","tabIndex","placeholder","align","borderless","width","error","warning","onValueChange","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","ariaLabel","ariaLabelledby","onClearCrossClick","rest","_objectWithoutPropertiesLoose2","default","getRightIcon","createElement","ClearCrossIcon","InputDataTids","clearCross","size","onFocus","event","stopPropagation","onClick","leftSide","InputLayoutAside","icon","text","side","rightSide","className","cx","styles","jsInputStyles","theme","getSizeClassName","focus","hovering","hideBlinkingCursor","isMobile","wrapperClass","wrapper","userSelectContain","context","InputLayoutContextDefault","Object","assign","FocusControlWrapper","onBlurWhenDisabled","resetFocus","_extends2","style","textAlign","handleFocus","onMouseEnter","handleHover","onMouseLeave","handleUnhover","onBlur","handleBlur","ref","onKeyDown","handleKeyDown","role","InputLayoutContext","Provider","type","absolute","inputFocus","inputDisabled","renderPlaceholder","_this$props","hasValue","isNonNullable","_this$cx4","placeholderDisabled","placeholderFocus","e","handleMouseDragStart","_this$globalObject$do","globalObject","document","documentElement","classList","add","userSelectNone","handleMouseDragEnd","_this$globalObject$do2","setTimeout","remove","_this$node","setAttribute","React","version","search","ReactDOM","flushSync","setState","cancel","_this$node2","removeAttribute","removeAllSelections","_this$node3","el","_this$cx5","_this$cx6","_this$cx7","sizeLarge","sizeMedium","sizeSmall","_inheritsLoose2","_proto","prototype","blur","blink","blinkColor","inputBlinkColor","getNode","componentDidMount","MouseDrag","listen","componentWillUnmount","stop","render","_this2","getJsInputStyles","emotion","getStyles","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["InputLikeText.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isNonNullable } from '../../lib/utils';\nimport type { MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\nimport { isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../lib/dom/selectionHelpers';\nimport type { InputProps, InputState } from '../../components/Input';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { getStyles as getJsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { FocusControlWrapper } from '../FocusControlWrapper';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\nimport { blink } from '../../lib/blink';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n onClearCrossClick?: () => void;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder' | 'hovered'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'showClearIcon'>>;\n\n@withRenderEnvironment\n@withSize\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n public static displayName = 'InputLikeText';\n\n public static defaultProps: DefaultProps = {\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.props.children),\n focused,\n hovered,\n });\n };\n\n public state = {\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n }),\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private jsInputStyles!: ReturnType<typeof getJsInputStyles>;\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private node: HTMLElement | null = null;\n private dragging = false;\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n blink({\n el: this.node,\n blinkColor: this.theme.inputBlinkColor,\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n\n this.selectNodeContentsDebounced(node, start, end);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n }\n\n public componentWillUnmount() {\n MouseDrag.stop(this.node);\n }\n\n public render() {\n this.jsInputStyles = getJsInputStyles(this.emotion);\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 private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n showClearIcon,\n onClearCrossClick,\n ...rest\n } = props;\n\n const { focused } = this.state;\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon\n data-tid={InputDataTids.clearCross}\n size={this.size}\n onFocus={(event) => event.stopPropagation()}\n onClick={onClearCrossClick}\n />\n ) : (\n rightIcon\n );\n };\n const leftSide = <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />;\n const rightSide = <InputLayoutAside icon={getRightIcon()} text={suffix} side=\"right\" />;\n\n const className = this.cx(this.styles.root(), this.jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [this.jsInputStyles.disabled(this.theme)]: !!disabled,\n [this.jsInputStyles.borderless()]: !!borderless,\n [this.jsInputStyles.focus(this.theme)]: focused,\n [this.jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [this.jsInputStyles.warning(this.theme)]: !!warning,\n [this.jsInputStyles.error(this.theme)]: !!error,\n [this.jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = this.cx(this.jsInputStyles.wrapper(), {\n [this.styles.userSelectContain()]: focused,\n });\n const size = this.size;\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <FocusControlWrapper disabled={disabled} onBlurWhenDisabled={this.resetFocus}>\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? -1 : 0}\n onFocus={this.handleFocus}\n onMouseEnter={this.handleHover}\n onMouseLeave={this.handleUnhover}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n role=\"textbox\"\n aria-disabled={disabled}\n aria-describedby={ariaDescribedby}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n >\n <InputLayoutContext.Provider value={context}>\n <input type=\"hidden\" data-tid={InputLikeTextDataTids.nativeInput} value={value} disabled={disabled} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={this.cx(this.jsInputStyles.input(this.theme), {\n [this.styles.absolute()]: !takeContentWidth,\n [this.jsInputStyles.inputFocus(this.theme)]: focused,\n [this.jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n </InputLayoutContext.Provider>\n </span>\n </FocusControlWrapper>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={this.cx(this.jsInputStyles.placeholder(this.theme), {\n [this.jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [this.jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n this.globalObject.document?.documentElement.classList.add(this.styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n this.globalObject.document?.documentElement.classList.remove(this.styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n this.node?.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n return;\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n removeAllSelections(this.globalObject);\n this.setState({ focused: false });\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n removeAllSelections(this.globalObject);\n this.setState({ focused: false });\n\n this.props.onBlur?.(e);\n };\n\n private handleHover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleUnhover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private getSizeClassName = () => {\n switch (this.size) {\n case 'large':\n return this.cx({\n [this.jsInputStyles.sizeLarge(this.theme)]: true,\n });\n case 'medium':\n return this.cx({\n [this.jsInputStyles.sizeMedium(this.theme)]: true,\n });\n case 'small':\n default:\n return this.cx({\n [this.jsInputStyles.sizeSmall(this.theme)]: true,\n });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_lodash","_utils","_MouseDrag","_client","_selectionHelpers","_Input","_Input2","_ThemeContext","_CommonWrapper","_rootNode","_createPropsGetter","_InputLayoutAside","_InputLayoutContext","_FocusControlWrapper","_ClearCrossIcon","_blink2","_SizeDecorator","_renderEnvironment","_InputLikeText2","_excluded","_class","_InputLikeText","InputLikeTextDataTids","exports","root","input","nativeInput","InputLikeText","withRenderEnvironment","withSize","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","calculateClearCrossShowedState","showClearIcon","notEmptyValue","Boolean","children","state","clearCrossShowed","node","dragging","selectNodeContentsDebounced","debounce","selectNodeContents","selectInnerNode","start","end","renderMain","_this$cx","_this$cx2","_this$cx3","innerRef","tabIndex","placeholder","align","borderless","width","error","warning","onValueChange","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","ariaLabel","ariaLabelledby","onClearCrossClick","rest","_objectWithoutPropertiesLoose2","default","getRightIcon","createElement","ClearCrossIcon","InputDataTids","clearCross","size","onFocus","event","stopPropagation","onClick","leftSide","InputLayoutAside","icon","text","side","rightSide","className","cx","styles","jsInputStyles","theme","getSizeClassName","focus","hovering","hideBlinkingCursor","isMobile","wrapperClass","wrapper","userSelectContain","context","InputLayoutContextDefault","Object","assign","FocusControlWrapper","onBlurWhenDisabled","resetFocus","_extends2","style","textAlign","handleFocus","onMouseEnter","handleHover","onMouseLeave","handleUnhover","onBlur","handleBlur","ref","onKeyDown","handleKeyDown","role","InputLayoutContext","Provider","type","absolute","inputFocus","inputDisabled","renderPlaceholder","_this$props","hasValue","isNonNullable","_this$cx4","placeholderDisabled","placeholderFocus","e","handleMouseDragStart","_this$globalObject$do","globalObject","document","documentElement","classList","add","userSelectNone","handleMouseDragEnd","_this$globalObject$do2","setTimeout","remove","_this$node","setAttribute","React","version","search","ReactDOM","flushSync","setState","cancel","_this$node2","removeAttribute","removeAllSelections","_this$node3","el","_this$cx5","_this$cx6","_this$cx7","sizeLarge","sizeMedium","sizeSmall","_inheritsLoose2","_proto","prototype","blur","blink","blinkColor","inputBlinkColor","getNode","componentDidMount","MouseDrag","listen","componentWillUnmount","stop","render","_this2","getJsInputStyles","emotion","getStyles","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["InputLikeText.tsx"],"sourcesContent":["import React, { type JSX } from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isNonNullable } from '../../lib/utils';\nimport type { MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\nimport { isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../lib/dom/selectionHelpers';\nimport type { InputProps, InputState } from '../../components/Input';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { getStyles as getJsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { FocusControlWrapper } from '../FocusControlWrapper';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\nimport { blink } from '../../lib/blink';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n onClearCrossClick?: () => void;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder' | 'hovered'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'showClearIcon'>>;\n\n@withRenderEnvironment\n@withSize\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n public static displayName = 'InputLikeText';\n\n public static defaultProps: DefaultProps = {\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.props.children),\n focused,\n hovered,\n });\n };\n\n public state = {\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n }),\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private jsInputStyles!: ReturnType<typeof getJsInputStyles>;\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private node: HTMLElement | null = null;\n private dragging = false;\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n blink({\n el: this.node,\n blinkColor: this.theme.inputBlinkColor,\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n\n this.selectNodeContentsDebounced(node, start, end);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n }\n\n public componentWillUnmount() {\n MouseDrag.stop(this.node);\n }\n\n public render() {\n this.jsInputStyles = getJsInputStyles(this.emotion);\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 private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n showClearIcon,\n onClearCrossClick,\n ...rest\n } = props;\n\n const { focused } = this.state;\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon\n data-tid={InputDataTids.clearCross}\n size={this.size}\n onFocus={(event) => event.stopPropagation()}\n onClick={onClearCrossClick}\n />\n ) : (\n rightIcon\n );\n };\n const leftSide = <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />;\n const rightSide = <InputLayoutAside icon={getRightIcon()} text={suffix} side=\"right\" />;\n\n const className = this.cx(this.styles.root(), this.jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [this.jsInputStyles.disabled(this.theme)]: !!disabled,\n [this.jsInputStyles.borderless()]: !!borderless,\n [this.jsInputStyles.focus(this.theme)]: focused,\n [this.jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [this.jsInputStyles.warning(this.theme)]: !!warning,\n [this.jsInputStyles.error(this.theme)]: !!error,\n [this.jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = this.cx(this.jsInputStyles.wrapper(), {\n [this.styles.userSelectContain()]: focused,\n });\n const size = this.size;\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <FocusControlWrapper disabled={disabled} onBlurWhenDisabled={this.resetFocus}>\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? -1 : 0}\n onFocus={this.handleFocus}\n onMouseEnter={this.handleHover}\n onMouseLeave={this.handleUnhover}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n role=\"textbox\"\n aria-disabled={disabled}\n aria-describedby={ariaDescribedby}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n >\n <InputLayoutContext.Provider value={context}>\n <input type=\"hidden\" data-tid={InputLikeTextDataTids.nativeInput} value={value} disabled={disabled} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={this.cx(this.jsInputStyles.input(this.theme), {\n [this.styles.absolute()]: !takeContentWidth,\n [this.jsInputStyles.inputFocus(this.theme)]: focused,\n [this.jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n </InputLayoutContext.Provider>\n </span>\n </FocusControlWrapper>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={this.cx(this.jsInputStyles.placeholder(this.theme), {\n [this.jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [this.jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n this.globalObject.document?.documentElement.classList.add(this.styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n this.globalObject.document?.documentElement.classList.remove(this.styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n this.node?.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n return;\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n removeAllSelections(this.globalObject);\n this.setState({ focused: false });\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n removeAllSelections(this.globalObject);\n this.setState({ focused: false });\n\n this.props.onBlur?.(e);\n };\n\n private handleHover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleUnhover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private getSizeClassName = () => {\n switch (this.size) {\n case 'large':\n return this.cx({\n [this.jsInputStyles.sizeLarge(this.theme)]: true,\n });\n case 'medium':\n return this.cx({\n [this.jsInputStyles.sizeMedium(this.theme)]: true,\n });\n case 'small':\n default:\n return this.cx({\n [this.jsInputStyles.sizeSmall(this.theme)]: true,\n });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -280,7 +280,9 @@ Menu = exports.Menu = (0, _renderEnvironment.withRenderEnvironment)(_class = (0,
|
|
|
280
280
|
_this.styles.wrapper()] = true, _this$cx[
|
|
281
281
|
_this.styles.headerWrapper()] = true, _this$cx)
|
|
282
282
|
),
|
|
283
|
-
ref: function ref(el) {
|
|
283
|
+
ref: function ref(el) {
|
|
284
|
+
_this.header = el;
|
|
285
|
+
} }, /*#__PURE__*/
|
|
284
286
|
|
|
285
287
|
_react.default.createElement("div", { className: _this.styles.contentWrapper() }, _this.props.header), /*#__PURE__*/
|
|
286
288
|
_react.default.createElement("div", { className: _this.styles.menuSeparatorWrapper(_this.theme) },
|
|
@@ -297,7 +299,9 @@ Menu = exports.Menu = (0, _renderEnvironment.withRenderEnvironment)(_class = (0,
|
|
|
297
299
|
_this.styles.wrapper()] = true, _this$cx2[
|
|
298
300
|
_this.styles.footerWrapper()] = true, _this$cx2)
|
|
299
301
|
),
|
|
300
|
-
ref: function ref(el) {
|
|
302
|
+
ref: function ref(el) {
|
|
303
|
+
_this.footer = el;
|
|
304
|
+
} }, /*#__PURE__*/
|
|
301
305
|
|
|
302
306
|
_react.default.createElement("div", { className: _this.styles.menuSeparatorWrapper(_this.theme) },
|
|
303
307
|
_this.state.scrollState !== 'bottom' && _this.renderMenuSeparatorWithNoMargin()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_identifiers","_MenuSeparator","_ThemeFactory","_getDOMRect","_decorator","_utils","_ScrollContainer","_MenuItem","_ThemeContext","_rootNode2","_createPropsGetter","_isInstanceOf","_CommonWrapper","_renderEnvironment","_Menu2","_MenuNavigation","_MenuContext","_class","_Menu","MenuDataTids","exports","root","Menu","withRenderEnvironment","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","React","createRef","menuNavigation","MenuNavigation","MenuItemDataTids","content","focusOnRootElement","getRootNode","isInstanceOf","globalObject","HTMLElement","focus","renderHeader","_this$cx","default","createElement","className","cx","styles","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_this$cx2","footerWrapper","footer","ThemeContext","Provider","value","ThemeFactory","create","menuSeparatorMarginY","MenuSeparator","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","isBrowser","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getDOMRect","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","isKeyArrowUp","preventDefault","up","isKeyArrowDown","isKeyEnter","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose2","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","getStyles","emotion","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_this$cx3","_this$cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","CommonWrapper","_extends2","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","ScrollContainer","onScrollStateChangeY","disabled","disableScrollContainer","scrollContainerMobile","MenuContext","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","isNonNullable","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","alignRight"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isBrowser } from '../../lib/globalObject';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollStateY } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n maxHeight: number | string;\n scrollState: ScrollContainerScrollStateY;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\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 scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, this.globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n public render() {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={this.cx(getAlignRightClass(this.props, this.cx, this.styles), {\n [this.styles.root(this.theme)]: true,\n [this.styles.hasMargin(this.theme)]: hasMargin,\n [this.styles.mobileRoot(this.theme)]: isMobile,\n [this.styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChangeY={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={this.cx({\n [this.styles.scrollContainer(this.theme)]: true,\n [this.styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={this.cx({\n [this.styles.wrapper()]: true,\n [this.styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={this.styles.contentWrapper()}>{this.props.header}</div>\n <div className={this.styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={this.cx({\n [this.styles.wrapper()]: true,\n [this.styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={this.styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={this.styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(this.globalObject) && rootNode) {\n const rootElementMaxHeight = this.globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, this.globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollStateY) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getAlignRightClass = (props: MenuProps, cx: Emotion['cx'], styles: ReturnType<typeof getStyles>) => {\n if (props.align === 'right') {\n return cx(styles.alignRight());\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_identifiers","_MenuSeparator","_ThemeFactory","_getDOMRect","_decorator","_utils","_ScrollContainer","_MenuItem","_ThemeContext","_rootNode2","_createPropsGetter","_isInstanceOf","_CommonWrapper","_renderEnvironment","_Menu2","_MenuNavigation","_MenuContext","_class","_Menu","MenuDataTids","exports","root","Menu","withRenderEnvironment","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","React","createRef","menuNavigation","MenuNavigation","MenuItemDataTids","content","focusOnRootElement","getRootNode","isInstanceOf","globalObject","HTMLElement","focus","renderHeader","_this$cx","default","createElement","className","cx","styles","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_this$cx2","footerWrapper","footer","ThemeContext","Provider","value","ThemeFactory","create","menuSeparatorMarginY","MenuSeparator","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","isBrowser","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getDOMRect","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","isKeyArrowUp","preventDefault","up","isKeyArrowDown","isKeyEnter","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose2","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","getStyles","emotion","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_this$cx3","_this$cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","CommonWrapper","_extends2","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","ScrollContainer","onScrollStateChangeY","disabled","disableScrollContainer","scrollContainerMobile","MenuContext","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","isNonNullable","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","alignRight"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isBrowser } from '../../lib/globalObject';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollStateY } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n maxHeight: number | string;\n scrollState: ScrollContainerScrollStateY;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\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 scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, this.globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n public render() {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={this.cx(getAlignRightClass(this.props, this.cx, this.styles), {\n [this.styles.root(this.theme)]: true,\n [this.styles.hasMargin(this.theme)]: hasMargin,\n [this.styles.mobileRoot(this.theme)]: isMobile,\n [this.styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChangeY={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={this.cx({\n [this.styles.scrollContainer(this.theme)]: true,\n [this.styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={this.cx({\n [this.styles.wrapper()]: true,\n [this.styles.headerWrapper()]: true,\n })}\n ref={(el) => {\n this.header = el;\n }}\n >\n <div className={this.styles.contentWrapper()}>{this.props.header}</div>\n <div className={this.styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={this.cx({\n [this.styles.wrapper()]: true,\n [this.styles.footerWrapper()]: true,\n })}\n ref={(el) => {\n this.footer = el;\n }}\n >\n <div className={this.styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={this.styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(this.globalObject) && rootNode) {\n const rootElementMaxHeight = this.globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, this.globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollStateY) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getAlignRightClass = (props: MenuProps, cx: Emotion['cx'], styles: ReturnType<typeof getStyles>) => {\n if (props.align === 'right') {\n return cx(styles.alignRight());\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ export declare class MenuNavigation<T extends Highlightable> {
|
|
|
12
12
|
private tagsAndItems;
|
|
13
13
|
highlightedItem: T | null;
|
|
14
14
|
items: T[];
|
|
15
|
-
constructor(root: RefObject<HTMLDivElement> | null, itemsContentDataTid: string);
|
|
15
|
+
constructor(root: RefObject<HTMLDivElement | null> | null, itemsContentDataTid: string);
|
|
16
16
|
private update;
|
|
17
17
|
add(tag: Element, item: T): void;
|
|
18
18
|
remove(tag: HTMLElement): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MenuNavigation","exports","root","itemsContentDataTid","_this","tagsAndItems","WeakMap","highlightedItem","items","getEnabledItems","filter","item","isEnabled","_proto","prototype","update","_this$root","_this2","current","menuItems","Array","from","querySelectorAll","map","get","undefined","add","tag","_this$root2","set","push","remove","delete","move","step","isCyclic","enabledItems","currentIndex","indexOf","minIndex","maxIndex","length","nextIndex","nextItem","highlight","_this3","forEach","_item","unhighlight","highlightByIndex","index","_this4","i","_this$highlightedItem","select","event","reset"],"sources":["MenuNavigation.tsx"],"sourcesContent":["import type { RefObject } from 'react';\nimport type React from 'react';\n\ninterface Highlightable {\n highlight(): void;\n unhighlight(): void;\n select(...args: unknown[]): void;\n isEnabled(): boolean;\n}\n\nexport class MenuNavigation<T extends Highlightable> {\n private readonly root: RefObject<HTMLDivElement> | null;\n private readonly itemsContentDataTid: string;\n private tagsAndItems: WeakMap<Element, T> = new WeakMap();\n\n public highlightedItem: T | null = null;\n public items: T[] = [];\n\n constructor(root: RefObject<HTMLDivElement> | null, itemsContentDataTid: string) {\n this.root = root;\n this.itemsContentDataTid = itemsContentDataTid;\n }\n\n private update() {\n if (this.root?.current) {\n const menuItems = Array.from(this.root.current.querySelectorAll(`span[data-tid=\"${this.itemsContentDataTid}\"]`));\n this.items = menuItems.map((item) => this.tagsAndItems.get(item)).filter((item): item is T => item !== undefined);\n }\n }\n\n public add(tag: Element, item: T) {\n this.tagsAndItems.set(tag, item);\n if (this.root?.current) {\n this.update();\n } else {\n this.items.push(item);\n }\n }\n\n public remove(tag: HTMLElement) {\n this.tagsAndItems.delete(tag);\n this.update();\n }\n\n public move(step: number, isCyclic: boolean) {\n const enabledItems = this.getEnabledItems();\n const currentIndex = this.highlightedItem ? enabledItems.indexOf(this.highlightedItem) : -1;\n const minIndex = 0;\n const maxIndex = enabledItems.length - 1;\n let nextIndex = currentIndex + step;\n if (nextIndex < minIndex) {\n nextIndex = isCyclic ? maxIndex : minIndex;\n }\n if (nextIndex > maxIndex) {\n nextIndex = isCyclic ? minIndex : maxIndex;\n }\n\n const nextItem = enabledItems[nextIndex];\n\n this.highlight(nextItem);\n\n return nextIndex;\n }\n\n public highlight(item: T | null) {\n const enabledItems = this.getEnabledItems();\n enabledItems.forEach((_item) => {\n if (item === _item) {\n _item.highlight();\n this.highlightedItem = item;\n } else {\n _item.unhighlight();\n }\n });\n }\n\n public highlightByIndex(index: number) {\n this.items.forEach((_item, i) => {\n if (index === i && _item.isEnabled()) {\n _item.highlight();\n this.highlightedItem = _item;\n } else {\n _item.unhighlight();\n }\n });\n }\n\n public unhighlight() {\n this.highlightedItem?.unhighlight();\n this.highlightedItem = null;\n }\n\n public select(event: React.SyntheticEvent<HTMLElement>) {\n if (this.highlightedItem) {\n this.highlightedItem.select(event);\n return true;\n }\n return false;\n }\n\n public reset() {\n this.highlight(null);\n this.highlightedItem = null;\n }\n\n private getEnabledItems = () => {\n return this.items.filter((item) => item.isEnabled());\n };\n}\n"],"mappings":";;;;;;;;;;AAUaA,cAAc,GAAAC,OAAA,CAAAD,cAAA;;;;;;;;EAQzB,SAAAA,eAAYE,
|
|
1
|
+
{"version":3,"names":["MenuNavigation","exports","root","itemsContentDataTid","_this","tagsAndItems","WeakMap","highlightedItem","items","getEnabledItems","filter","item","isEnabled","_proto","prototype","update","_this$root","_this2","current","menuItems","Array","from","querySelectorAll","map","get","undefined","add","tag","_this$root2","set","push","remove","delete","move","step","isCyclic","enabledItems","currentIndex","indexOf","minIndex","maxIndex","length","nextIndex","nextItem","highlight","_this3","forEach","_item","unhighlight","highlightByIndex","index","_this4","i","_this$highlightedItem","select","event","reset"],"sources":["MenuNavigation.tsx"],"sourcesContent":["import type { RefObject } from 'react';\nimport type React from 'react';\n\ninterface Highlightable {\n highlight(): void;\n unhighlight(): void;\n select(...args: unknown[]): void;\n isEnabled(): boolean;\n}\n\nexport class MenuNavigation<T extends Highlightable> {\n private readonly root: RefObject<HTMLDivElement | null> | null;\n private readonly itemsContentDataTid: string;\n private tagsAndItems: WeakMap<Element, T> = new WeakMap();\n\n public highlightedItem: T | null = null;\n public items: T[] = [];\n\n constructor(root: RefObject<HTMLDivElement | null> | null, itemsContentDataTid: string) {\n this.root = root;\n this.itemsContentDataTid = itemsContentDataTid;\n }\n\n private update() {\n if (this.root?.current) {\n const menuItems = Array.from(this.root.current.querySelectorAll(`span[data-tid=\"${this.itemsContentDataTid}\"]`));\n this.items = menuItems.map((item) => this.tagsAndItems.get(item)).filter((item): item is T => item !== undefined);\n }\n }\n\n public add(tag: Element, item: T) {\n this.tagsAndItems.set(tag, item);\n if (this.root?.current) {\n this.update();\n } else {\n this.items.push(item);\n }\n }\n\n public remove(tag: HTMLElement) {\n this.tagsAndItems.delete(tag);\n this.update();\n }\n\n public move(step: number, isCyclic: boolean) {\n const enabledItems = this.getEnabledItems();\n const currentIndex = this.highlightedItem ? enabledItems.indexOf(this.highlightedItem) : -1;\n const minIndex = 0;\n const maxIndex = enabledItems.length - 1;\n let nextIndex = currentIndex + step;\n if (nextIndex < minIndex) {\n nextIndex = isCyclic ? maxIndex : minIndex;\n }\n if (nextIndex > maxIndex) {\n nextIndex = isCyclic ? minIndex : maxIndex;\n }\n\n const nextItem = enabledItems[nextIndex];\n\n this.highlight(nextItem);\n\n return nextIndex;\n }\n\n public highlight(item: T | null) {\n const enabledItems = this.getEnabledItems();\n enabledItems.forEach((_item) => {\n if (item === _item) {\n _item.highlight();\n this.highlightedItem = item;\n } else {\n _item.unhighlight();\n }\n });\n }\n\n public highlightByIndex(index: number) {\n this.items.forEach((_item, i) => {\n if (index === i && _item.isEnabled()) {\n _item.highlight();\n this.highlightedItem = _item;\n } else {\n _item.unhighlight();\n }\n });\n }\n\n public unhighlight() {\n this.highlightedItem?.unhighlight();\n this.highlightedItem = null;\n }\n\n public select(event: React.SyntheticEvent<HTMLElement>) {\n if (this.highlightedItem) {\n this.highlightedItem.select(event);\n return true;\n }\n return false;\n }\n\n public reset() {\n this.highlight(null);\n this.highlightedItem = null;\n }\n\n private getEnabledItems = () => {\n return this.items.filter((item) => item.isEnabled());\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,6 +39,7 @@ export declare const MobilePopupDataTids: {
|
|
|
39
39
|
export declare class MobilePopup extends React.Component<MobilePopupProps> {
|
|
40
40
|
static __KONTUR_REACT_UI__: string;
|
|
41
41
|
static displayName: string;
|
|
42
|
+
private refForTransition;
|
|
42
43
|
static readonly defaultRootNode: null;
|
|
43
44
|
private emotion;
|
|
44
45
|
private jsStyles;
|