@skbkontur/react-ui 4.17.0-next.3 → 4.17.0-next.4

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/cjs/components/Hint/Hint.js +1 -2
  3. package/cjs/components/Hint/Hint.js.map +1 -1
  4. package/cjs/components/Kebab/Kebab.js +1 -1
  5. package/cjs/components/Kebab/Kebab.js.map +1 -1
  6. package/cjs/components/Paging/Paging.js +7 -7
  7. package/cjs/components/Paging/Paging.js.map +1 -1
  8. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  9. package/cjs/components/Paging/Paging.styles.js +3 -9
  10. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  11. package/cjs/internal/themes/Theme2022.d.ts +0 -4
  12. package/cjs/internal/themes/Theme2022.js +2 -11
  13. package/cjs/internal/themes/Theme2022.js.map +1 -1
  14. package/cjs/internal/themes/Theme2022Dark.d.ts +0 -5
  15. package/cjs/internal/themes/Theme2022Dark.js +1 -6
  16. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  17. package/components/Hint/Hint/Hint.js +1 -2
  18. package/components/Hint/Hint/Hint.js.map +1 -1
  19. package/components/Kebab/Kebab/Kebab.js +1 -1
  20. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  21. package/components/Paging/Paging/Paging.js +5 -5
  22. package/components/Paging/Paging/Paging.js.map +1 -1
  23. package/components/Paging/Paging.styles/Paging.styles.js +2 -5
  24. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  25. package/components/Paging/Paging.styles.d.ts +0 -1
  26. package/internal/themes/Theme2022/Theme2022.js +3 -11
  27. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  28. package/internal/themes/Theme2022.d.ts +0 -4
  29. package/internal/themes/Theme2022Dark/Theme2022Dark.js +4 -9
  30. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  31. package/internal/themes/Theme2022Dark.d.ts +0 -5
  32. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.17.0-next.4](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@4.17.0-next.3...@skbkontur/react-ui@4.17.0-next.4) (2023-10-31)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Paging:** fix hint height ([#3295](https://github.com/skbkontur/retail-ui/issues/3295)) ([67363ca](https://github.com/skbkontur/retail-ui/commit/67363ca7fb28242a88dfb6b59fc67a55880bd9d5))
12
+
13
+
14
+
15
+
16
+
6
17
  # [4.17.0-next.3](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@4.16.2...@skbkontur/react-ui@4.17.0-next.3) (2023-10-26)
7
18
 
8
19
 
@@ -13,7 +13,6 @@ var _Emotion = require("../../lib/theming/Emotion");
13
13
  var _rootNode = require("../../lib/rootNode");
14
14
 
15
15
  var _createPropsGetter = require("../../lib/createPropsGetter");
16
- var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
17
16
 
18
17
  var _Hint = require("./Hint.styles");var _class, _class2, _temp;
19
18
 
@@ -241,4 +240,4 @@ Hint = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function
241
240
 
242
241
  open = function () {
243
242
  _this.setState({ opened: true });
244
- };return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),opened = _this$getProps.opened,manual = _this$getProps.manual;if (!manual) {return;}if (this.timer) {_globalObject.globalObject.clearTimeout(this.timer);this.timer = null;}if (opened !== prevProps.opened) {this.setState({ opened: !!opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {_globalObject.globalObject.clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,useWrapper = _this$getProps2.useWrapper;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: !(0, _ThemeHelpers.isTheme2022)(this.theme), opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, onPositionChange: function onPositionChange(position) {return _this3.setState({ position: position });}, disableAnimations: disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper, ref: this.popupRef, withoutMobile: true }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$getProps3 = this.getProps(),maxWidth = _this$getProps3.maxWidth;var centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = centerAlignPositions.includes(this.state.position), _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class;exports.Hint = Hint;
243
+ };return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),opened = _this$getProps.opened,manual = _this$getProps.manual;if (!manual) {return;}if (this.timer) {_globalObject.globalObject.clearTimeout(this.timer);this.timer = null;}if (opened !== prevProps.opened) {this.setState({ opened: !!opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {_globalObject.globalObject.clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,useWrapper = _this$getProps2.useWrapper;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: true, opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, onPositionChange: function onPositionChange(position) {return _this3.setState({ position: position });}, disableAnimations: disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper, ref: this.popupRef, withoutMobile: true }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$getProps3 = this.getProps(),maxWidth = _this$getProps3.maxWidth;var centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = centerAlignPositions.includes(this.state.position), _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class;exports.Hint = Hint;
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","timer","globalObject","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","disableAnimations","useWrapper","setRootNode","children","hintBgColor","renderContent","text","maxWidth","centerAlignPositions","className","styles","content","contentCenter","includes","PureComponent","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={!isTheme2022(this.theme)}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","timer","globalObject","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","disableAnimations","useWrapper","setRootNode","children","hintBgColor","renderContent","text","maxWidth","centerAlignPositions","className","styles","content","contentCenter","includes","PureComponent","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -226,7 +226,7 @@ Kebab = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
226
226
  _this.setState({
227
227
  focusedByTab: false });
228
228
 
229
- };return _this;}var _proto = Kebab.prototype;_proto.componentDidMount = function componentDidMount() {/** addListener'у нужен колбэк в аргумент */this.listener = LayoutEvents.addListener(function () {return undefined;});};_proto.componentWillUnmount = function componentWillUnmount() {this.listener.remove();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.kebabPinOffset, popupMargin: theme.kebabMargin, popupPinSize: theme.kebabPinSize, menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var disabled = this.props.disabled;var _this$getProps2 = this.getProps(),positions = _this$getProps2.positions,disableAnimations = _this$getProps2.disableAnimations,onOpen = _this$getProps2.onOpen,onClose = _this$getProps2.onClose;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_PopupMenu.PopupMenu, { popupHasPin: !(0, _ThemeHelpers.isTheme2022)(this.theme), preventIconsOffset: this.props.preventIconsOffset, positions: positions, onChangeMenuState: this.handleChangeMenuState, caption: this.renderCaption, disableAnimations: disableAnimations, menuMaxHeight: this.props.menuMaxHeight, onOpen: onOpen, onClose: onClose, popupMenuId: this.props.popupMenuId, "aria-label": this.props['aria-label'] }, !disabled && this.props.children));};_proto.
229
+ };return _this;}var _proto = Kebab.prototype;_proto.componentDidMount = function componentDidMount() {/** addListener'у нужен колбэк в аргумент */this.listener = LayoutEvents.addListener(function () {return undefined;});};_proto.componentWillUnmount = function componentWillUnmount() {this.listener.remove();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.kebabPinOffset, popupMargin: theme.kebabMargin, popupPinSize: theme.kebabPinSize, menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var disabled = this.props.disabled;var _this$getProps2 = this.getProps(),positions = _this$getProps2.positions,disableAnimations = _this$getProps2.disableAnimations,onOpen = _this$getProps2.onOpen,onClose = _this$getProps2.onClose;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_PopupMenu.PopupMenu, { popupHasPin: true, preventIconsOffset: this.props.preventIconsOffset, positions: positions, onChangeMenuState: this.handleChangeMenuState, caption: this.renderCaption, disableAnimations: disableAnimations, menuMaxHeight: this.props.menuMaxHeight, onOpen: onOpen, onClose: onClose, popupMenuId: this.props.popupMenuId, "aria-label": this.props['aria-label'] }, !disabled && this.props.children));};_proto.
230
230
 
231
231
  renderIcon = function renderIcon() {var _cx;
232
232
  var _this$getProps3 = this.getProps(),size = _this$getProps3.size,_this$getProps3$icon = _this$getProps3.icon,icon = _this$getProps3$icon === void 0 ? /*#__PURE__*/_react.default.createElement(_px.MenuKebabIcon, null) : _this$getProps3$icon;
@@ -1 +1 @@
1
- {"version":3,"sources":["Kebab.tsx"],"names":["KebabDataTids","caption","Kebab","rootNode","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","globalObject","requestAnimationFrame","keyListener","isTabPressed","componentDidMount","LayoutEvents","addListener","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","propTypes","isTestEnv","PropTypes","node","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin={!isTheme2022(this.theme)}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n return (\n <div\n className={cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
1
+ {"version":3,"sources":["Kebab.tsx"],"names":["KebabDataTids","caption","Kebab","rootNode","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","globalObject","requestAnimationFrame","keyListener","isTabPressed","componentDidMount","LayoutEvents","addListener","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","propTypes","isTestEnv","PropTypes","node","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n return (\n <div\n className={cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
@@ -297,17 +297,17 @@ Paging = (_dec = (0, _decorators.locale)('Paging', _locale.PagingLocaleHelper),
297
297
  var canGoBackward = _this.canGoBackward();
298
298
  var canGoForward = _this.canGoForward();
299
299
 
300
+ var hint = null;
300
301
  if (keyboardControl && (canGoBackward || canGoForward)) {
301
- return /*#__PURE__*/(
302
- _react.default.createElement("span", { className: _Paging.styles.pageLinkHint(_this.theme) }, /*#__PURE__*/
303
- _react.default.createElement("span", { className: canGoBackward ? '' : _Paging.styles.transparent() }, '←'), /*#__PURE__*/
304
- _react.default.createElement("span", null, NavigationHelper.getKeyName()), /*#__PURE__*/
305
- _react.default.createElement("span", { className: canGoForward ? '' : _Paging.styles.transparent() }, '→')));
302
+ hint = /*#__PURE__*/
303
+ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/
304
+ _react.default.createElement("span", { className: canGoBackward ? '' : _Paging.styles.transparent() }, '←'), /*#__PURE__*/
305
+ _react.default.createElement("span", null, NavigationHelper.getKeyName()), /*#__PURE__*/
306
+ _react.default.createElement("span", { className: canGoForward ? '' : _Paging.styles.transparent() }, '→'));
306
307
 
307
308
 
308
309
  }
309
-
310
- return /*#__PURE__*/_react.default.createElement("div", { className: _Paging.styles.pageLinkHintPlaceHolder(_this.theme) });
310
+ return /*#__PURE__*/_react.default.createElement("div", { className: _Paging.styles.pageLinkHint(_this.theme) }, hint);
311
311
  };_this.
312
312
 
313
313
  handleMouseDown = function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["Paging.tsx"],"names":["IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","PagingLocaleHelper","rootNode","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","styles","theme","dotsDisabled","classes","pageLinkFocused","pageLinkDisabled","forwardLinkFocused","forwardLinkDisabled","Component","component","forward","locale","forwardIcon","parseInt","pagingForwardIconSize","marginLeft","emptyHandler","goForward","caption","pageNumber","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","pageLinkHint","transparent","NavigationHelper","getKeyName","pageLinkHintPlaceHolder","handleMouseDown","setState","isIE11","globalObject","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","getItems","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","shouldBeVisibleWithLessThanTwoPages","renderMain","dataTid","setRootNode","paging","pagingDisabled","undefined","map","React","PureComponent","__KONTUR_REACT_UI__","PagingDefaultComponent","propTypes","number","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\nimport { globalObject, isInstanceOf } from '@skbkontur/global-object';\n\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon } from './ForwardIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component?: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener?: boolean;\n /**\n * Определяет, нужно ли показывать `Paging` когда страница всего одна.\n *\n * Этот проп будет удалён в 5-ой версии библиотеки,\n * так как поведение со скрытием `Paging`'а станет поведением по умолчанию.\n *\n * @default false\n */\n shouldBeVisibleWithLessThanTwoPages?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<\n Pick<PagingProps, 'component' | 'shouldBeVisibleWithLessThanTwoPages' | 'useGlobalListener' | 'data-tid'>\n>;\n\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n shouldBeVisibleWithLessThanTwoPages: true,\n useGlobalListener: false,\n 'data-tid': PagingDataTids.root,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2 && !this.getProps().shouldBeVisibleWithLessThanTwoPages) {\n return null;\n }\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { 'data-tid': dataTid, useGlobalListener } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={dataTid}\n className={cx({ [styles.paging(this.theme)]: true, [styles.pagingDisabled()]: this.props.disabled })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={cx({ [styles.dots(this.theme)]: true, [styles.dotsDisabled(this.theme)]: this.props.disabled })}\n >\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = isTheme2022(this.theme)\n ? cx(\n styles.pageLink(this.theme),\n styles.forwardLink(this.theme),\n focused && styles.pageLinkFocused(this.theme),\n (disabled || this.props.disabled) && styles.pageLinkDisabled(this.theme),\n )\n : cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n });\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = isTheme2022(this.theme) ? (\n <ForwardIcon size={parseInt(this.theme.pagingForwardIconSize)} style={{ marginLeft: 4 }} />\n ) : (\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n );\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {this.props.caption || forward}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.pageLinkDisabled(this.theme)]: this.props.disabled,\n [styles.pageLinkCurrent(this.theme)]: active,\n [styles.pageLinkCurrentDisabled(this.theme)]: active && this.props.disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n if (keyboardControl && (canGoBackward || canGoForward)) {\n return (\n <span className={styles.pageLinkHint(this.theme)}>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </span>\n );\n }\n\n return <div className={styles.pageLinkHintPlaceHolder(this.theme)} />;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n globalObject.setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n isInstanceOf(target, globalObject.Element) &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n globalObject.document?.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
1
+ {"version":3,"sources":["Paging.tsx"],"names":["IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","PagingLocaleHelper","rootNode","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","styles","theme","dotsDisabled","classes","pageLinkFocused","pageLinkDisabled","forwardLinkFocused","forwardLinkDisabled","Component","component","forward","locale","forwardIcon","parseInt","pagingForwardIconSize","marginLeft","emptyHandler","goForward","caption","pageNumber","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","transparent","NavigationHelper","getKeyName","pageLinkHint","handleMouseDown","setState","isIE11","globalObject","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","getItems","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","shouldBeVisibleWithLessThanTwoPages","renderMain","dataTid","setRootNode","paging","pagingDisabled","undefined","map","React","PureComponent","__KONTUR_REACT_UI__","PagingDefaultComponent","propTypes","number","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\nimport { globalObject, isInstanceOf } from '@skbkontur/global-object';\n\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon } from './ForwardIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component?: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener?: boolean;\n /**\n * Определяет, нужно ли показывать `Paging` когда страница всего одна.\n *\n * Этот проп будет удалён в 5-ой версии библиотеки,\n * так как поведение со скрытием `Paging`'а станет поведением по умолчанию.\n *\n * @default false\n */\n shouldBeVisibleWithLessThanTwoPages?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<\n Pick<PagingProps, 'component' | 'shouldBeVisibleWithLessThanTwoPages' | 'useGlobalListener' | 'data-tid'>\n>;\n\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n shouldBeVisibleWithLessThanTwoPages: true,\n useGlobalListener: false,\n 'data-tid': PagingDataTids.root,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2 && !this.getProps().shouldBeVisibleWithLessThanTwoPages) {\n return null;\n }\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { 'data-tid': dataTid, useGlobalListener } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={dataTid}\n className={cx({ [styles.paging(this.theme)]: true, [styles.pagingDisabled()]: this.props.disabled })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={cx({ [styles.dots(this.theme)]: true, [styles.dotsDisabled(this.theme)]: this.props.disabled })}\n >\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = isTheme2022(this.theme)\n ? cx(\n styles.pageLink(this.theme),\n styles.forwardLink(this.theme),\n focused && styles.pageLinkFocused(this.theme),\n (disabled || this.props.disabled) && styles.pageLinkDisabled(this.theme),\n )\n : cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n });\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = isTheme2022(this.theme) ? (\n <ForwardIcon size={parseInt(this.theme.pagingForwardIconSize)} style={{ marginLeft: 4 }} />\n ) : (\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n );\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {this.props.caption || forward}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.pageLinkDisabled(this.theme)]: this.props.disabled,\n [styles.pageLinkCurrent(this.theme)]: active,\n [styles.pageLinkCurrentDisabled(this.theme)]: active && this.props.disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n let hint = null;\n if (keyboardControl && (canGoBackward || canGoForward)) {\n hint = (\n <>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n globalObject.setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n isInstanceOf(target, globalObject.Element) &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n globalObject.document?.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
@@ -15,6 +15,5 @@ export declare const styles: {
15
15
  pageLinkCurrentDisabled(t: Theme): string;
16
16
  pageLinkFocused(t: Theme): string;
17
17
  transparent(): string;
18
- pageLinkHintPlaceHolder(t: Theme): string;
19
18
  pageLinkHint(t: Theme): string;
20
19
  };
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
2
2
 
3
3
 
4
4
  var styles = (0, _Emotion.memoizeStyle)({
@@ -136,19 +136,13 @@ var styles = (0, _Emotion.memoizeStyle)({
136
136
 
137
137
  },
138
138
 
139
- pageLinkHintPlaceHolder: function pageLinkHintPlaceHolder(t) {
140
- return (0, _Emotion.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteralLoose2.default)(["\n height: ", ";\n line-height: ", ";\n "])),
141
- t.pagingPageLinkHintLineHeight,
142
- t.pagingPageLinkHintLineHeight);
143
-
144
- },
145
-
146
139
  pageLinkHint: function pageLinkHint(t) {
147
- return (0, _Emotion.css)(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n margin: ", ";\n font-size: ", ";\n line-height: ", ";\n color: ", ";\n "])),
140
+ return (0, _Emotion.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n margin: ", ";\n font-size: ", ";\n height: ", ";\n line-height: ", ";\n color: ", ";\n "])),
148
141
 
149
142
  t.pagingPageLinkHintMargin,
150
143
  t.pagingPageLinkHintFontSize,
151
144
  t.pagingPageLinkHintLineHeight,
145
+ t.pagingPageLinkHintLineHeight,
152
146
  t.pagingPageLinkHintColor);
153
147
 
154
148
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["Paging.styles.ts"],"names":["styles","paging","t","css","pagingFontSize","pagingLineHeight","pagingDisabled","dots","pagingDotsColor","pagingDotsPadding","dotsDisabled","pagingDotsDisabledColor","forwardLink","pagingForwardLinkColor","pagingPageForwardLinkMarginTop","pagingPageForwardLinkMarginLeft","pagingPageForwardLinkPaddingRight","forwardLinkFocused","forwardIcon","pagingForwardIconMarginTop","forwardLinkDisabled","pagingForwardLinkDisabledColor","pageLinkWrapper","pageLink","pagingPageLinkBorderRadius","pagingPageLinkMargin","pagingPageLinkMinWidth","pagingPageLinkPaddingY","pagingPageLinkPaddingX","pagingPageLinkBoxSizing","pagingPageLinkHoverBg","pageLinkDisabled","linkDisabledColor","pageLinkCurrent","pagingPageLinkActiveBg","pagingPageLinkActiveColor","pageLinkCurrentDisabled","pagingPageLinkDisabledActiveBg","pageLinkFocused","borderColorFocus","transparent","pageLinkHintPlaceHolder","pagingPageLinkHintLineHeight","pageLinkHint","pagingPageLinkHintMargin","pagingPageLinkHintFontSize","pagingPageLinkHintColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n paging(t: Theme) {\n return css`\n user-select: none;\n outline: 0;\n font-size: ${t.pagingFontSize};\n line-height: ${t.pagingLineHeight};\n display: inline-block;\n `;\n },\n\n pagingDisabled() {\n return css`\n pointer-events: none;\n `;\n },\n\n dots(t: Theme) {\n return css`\n color: ${t.pagingDotsColor};\n display: inline-block;\n padding: ${t.pagingDotsPadding};\n `;\n },\n\n dotsDisabled(t: Theme) {\n return css`\n color: ${t.pagingDotsDisabledColor};\n `;\n },\n\n forwardLink(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: inline-block;\n margin-top: ${t.pagingPageForwardLinkMarginTop};\n margin-left: ${t.pagingPageForwardLinkMarginLeft};\n outline: none;\n padding-right: ${t.pagingPageForwardLinkPaddingRight};\n position: relative;\n text-decoration: none;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n forwardLinkFocused() {\n return css`\n text-decoration: underline;\n `;\n },\n\n forwardIcon(t: Theme) {\n return css`\n vertical-align: -2px;\n position: absolute;\n margin-top: ${t.pagingForwardIconMarginTop};\n right: 0;\n `;\n },\n\n forwardLinkDisabled(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkDisabledColor};\n cursor: default;\n `;\n },\n\n pageLinkWrapper() {\n return css`\n display: inline-flex;\n flex-flow: column nowrap;\n text-align: center;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n pageLink(t: Theme) {\n return css`\n box-sizing: content-box;\n border-radius: ${t.pagingPageLinkBorderRadius};\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: block;\n margin: ${t.pagingPageLinkMargin};\n outline: none;\n min-width: ${t.pagingPageLinkMinWidth};\n padding: ${t.pagingPageLinkPaddingY} ${t.pagingPageLinkPaddingX} ${t.pagingPageLinkPaddingY};\n text-decoration: none;\n box-sizing: ${t.pagingPageLinkBoxSizing};\n\n &:hover {\n background: ${t.pagingPageLinkHoverBg};\n }\n `;\n },\n\n pageLinkDisabled(t: Theme) {\n return css`\n color: ${t.linkDisabledColor};\n pointer-events: none;\n `;\n },\n\n pageLinkCurrent(t: Theme) {\n return css`\n cursor: default;\n background: ${t.pagingPageLinkActiveBg} !important; // override hover styles\n color: ${t.pagingPageLinkActiveColor};\n `;\n },\n\n pageLinkCurrentDisabled(t: Theme) {\n return css`\n background: ${t.pagingPageLinkDisabledActiveBg} !important;\n color: ${t.linkDisabledColor};\n `;\n },\n\n pageLinkFocused(t: Theme) {\n return css`\n ${`\n box-shadow: 0 0 0 2px ${t.borderColorFocus};\n `}\n `;\n },\n\n transparent() {\n return css`\n color: transparent;\n `;\n },\n\n pageLinkHintPlaceHolder(t: Theme) {\n return css`\n height: ${t.pagingPageLinkHintLineHeight};\n line-height: ${t.pagingPageLinkHintLineHeight};\n `;\n },\n\n pageLinkHint(t: Theme) {\n return css`\n display: inline-block;\n margin: ${t.pagingPageLinkHintMargin};\n font-size: ${t.pagingPageLinkHintFontSize};\n line-height: ${t.pagingPageLinkHintLineHeight};\n color: ${t.pagingPageLinkHintColor};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Paging.styles.ts"],"names":["styles","paging","t","css","pagingFontSize","pagingLineHeight","pagingDisabled","dots","pagingDotsColor","pagingDotsPadding","dotsDisabled","pagingDotsDisabledColor","forwardLink","pagingForwardLinkColor","pagingPageForwardLinkMarginTop","pagingPageForwardLinkMarginLeft","pagingPageForwardLinkPaddingRight","forwardLinkFocused","forwardIcon","pagingForwardIconMarginTop","forwardLinkDisabled","pagingForwardLinkDisabledColor","pageLinkWrapper","pageLink","pagingPageLinkBorderRadius","pagingPageLinkMargin","pagingPageLinkMinWidth","pagingPageLinkPaddingY","pagingPageLinkPaddingX","pagingPageLinkBoxSizing","pagingPageLinkHoverBg","pageLinkDisabled","linkDisabledColor","pageLinkCurrent","pagingPageLinkActiveBg","pagingPageLinkActiveColor","pageLinkCurrentDisabled","pagingPageLinkDisabledActiveBg","pageLinkFocused","borderColorFocus","transparent","pageLinkHint","pagingPageLinkHintMargin","pagingPageLinkHintFontSize","pagingPageLinkHintLineHeight","pagingPageLinkHintColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n paging(t: Theme) {\n return css`\n user-select: none;\n outline: 0;\n font-size: ${t.pagingFontSize};\n line-height: ${t.pagingLineHeight};\n display: inline-block;\n `;\n },\n\n pagingDisabled() {\n return css`\n pointer-events: none;\n `;\n },\n\n dots(t: Theme) {\n return css`\n color: ${t.pagingDotsColor};\n display: inline-block;\n padding: ${t.pagingDotsPadding};\n `;\n },\n\n dotsDisabled(t: Theme) {\n return css`\n color: ${t.pagingDotsDisabledColor};\n `;\n },\n\n forwardLink(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: inline-block;\n margin-top: ${t.pagingPageForwardLinkMarginTop};\n margin-left: ${t.pagingPageForwardLinkMarginLeft};\n outline: none;\n padding-right: ${t.pagingPageForwardLinkPaddingRight};\n position: relative;\n text-decoration: none;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n forwardLinkFocused() {\n return css`\n text-decoration: underline;\n `;\n },\n\n forwardIcon(t: Theme) {\n return css`\n vertical-align: -2px;\n position: absolute;\n margin-top: ${t.pagingForwardIconMarginTop};\n right: 0;\n `;\n },\n\n forwardLinkDisabled(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkDisabledColor};\n cursor: default;\n `;\n },\n\n pageLinkWrapper() {\n return css`\n display: inline-flex;\n flex-flow: column nowrap;\n text-align: center;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n pageLink(t: Theme) {\n return css`\n box-sizing: content-box;\n border-radius: ${t.pagingPageLinkBorderRadius};\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: block;\n margin: ${t.pagingPageLinkMargin};\n outline: none;\n min-width: ${t.pagingPageLinkMinWidth};\n padding: ${t.pagingPageLinkPaddingY} ${t.pagingPageLinkPaddingX} ${t.pagingPageLinkPaddingY};\n text-decoration: none;\n box-sizing: ${t.pagingPageLinkBoxSizing};\n\n &:hover {\n background: ${t.pagingPageLinkHoverBg};\n }\n `;\n },\n\n pageLinkDisabled(t: Theme) {\n return css`\n color: ${t.linkDisabledColor};\n pointer-events: none;\n `;\n },\n\n pageLinkCurrent(t: Theme) {\n return css`\n cursor: default;\n background: ${t.pagingPageLinkActiveBg} !important; // override hover styles\n color: ${t.pagingPageLinkActiveColor};\n `;\n },\n\n pageLinkCurrentDisabled(t: Theme) {\n return css`\n background: ${t.pagingPageLinkDisabledActiveBg} !important;\n color: ${t.linkDisabledColor};\n `;\n },\n\n pageLinkFocused(t: Theme) {\n return css`\n ${`\n box-shadow: 0 0 0 2px ${t.borderColorFocus};\n `}\n `;\n },\n\n transparent() {\n return css`\n color: transparent;\n `;\n },\n\n pageLinkHint(t: Theme) {\n return css`\n display: inline-block;\n margin: ${t.pagingPageLinkHintMargin};\n font-size: ${t.pagingPageLinkHintFontSize};\n height: ${t.pagingPageLinkHintLineHeight};\n line-height: ${t.pagingPageLinkHintLineHeight};\n color: ${t.pagingPageLinkHintColor};\n `;\n },\n});\n"]}
@@ -56,9 +56,6 @@ export declare class Theme2022 extends Theme2022_base {
56
56
  static btnDisabledBg: string;
57
57
  static get btnDisabledTextColor(): string;
58
58
  static btnDisabledBorderColor: string;
59
- static btnBacklessHoverBg: string;
60
- static btnTextBg: string;
61
- static btnTextHoverBg: string;
62
59
  static btnBorderRadiusSmall: string;
63
60
  static btnBorderRadiusMedium: string;
64
61
  static btnBorderRadiusLarge: string;
@@ -148,7 +145,6 @@ export declare class Theme2022 extends Theme2022_base {
148
145
  static get selectIconGapLarge(): string;
149
146
  static get selectMenuOffsetY(): string;
150
147
  static get selectBorderColorHover(): string;
151
- static get selectPlaceholderColorDisabled(): string;
152
148
  static fileUploaderIconColor: string;
153
149
  static fileUploaderDisabledIconColor: string;
154
150
  static fileUploaderDisabledTextColor: string;
@@ -79,7 +79,7 @@ Theme2022 = /*#__PURE__*/function (_ref) {(0, _inheritsLoose2.default)(Theme2022
79
79
 
80
80
 
81
81
  function get() {
82
- return this.textColorDisabled;
82
+ return this.textColorDisabledContrast;
83
83
  } }, { key: "btnLinkLineBorderBottomStyle", get:
84
84
 
85
85
 
@@ -101,11 +101,6 @@ Theme2022 = /*#__PURE__*/function (_ref) {(0, _inheritsLoose2.default)(Theme2022
101
101
 
102
102
 
103
103
 
104
-
105
-
106
-
107
-
108
-
109
104
 
110
105
 
111
106
 
@@ -258,11 +253,7 @@ Theme2022 = /*#__PURE__*/function (_ref) {(0, _inheritsLoose2.default)(Theme2022
258
253
  } }, { key: "selectBorderColorHover", get:
259
254
  function get() {
260
255
  return this.inputBorderColorHover;
261
- } }, { key: "selectPlaceholderColorDisabled", get:
262
- function get() {
263
- return this.textColorDisabled;
264
256
  }
265
-
266
257
  //#endregion
267
258
 
268
259
  //#region FileUploader
@@ -525,7 +516,7 @@ Theme2022 = /*#__PURE__*/function (_ref) {(0, _inheritsLoose2.default)(Theme2022
525
516
 
526
517
 
527
518
  //#endregion
528
- }]);return Theme2022;}( /*#__PURE__*/function () {function _class() {}return _class;}());exports.Theme2022 = Theme2022;Theme2022.borderColorDisabled = 'rgba(0, 0, 0, 0.10)';Theme2022.borderColorFocus = '#3d3d3d';Theme2022.bgActive = '#141414';Theme2022.bgDisabled = '#F0F0F0';Theme2022.errorMain = '#FF5A49';Theme2022.linkColor = '#222222';Theme2022.linkHoverColor = '#222222';Theme2022.linkActiveColor = '#141414';Theme2022.linkHoverTextDecoration = 'none';Theme2022.linkSuccessColor = '#538A1B';Theme2022.linkSuccessHoverColor = '#477916';Theme2022.linkSuccessActiveColor = '#3A6710';Theme2022.linkDangerColor = '#CB3D35';Theme2022.linkDangerHoverColor = '#BA342E';Theme2022.linkDangerActiveColor = '#A92A27';Theme2022.linkGrayedColor = '#858585';Theme2022.linkGrayedHoverColor = '#292929';Theme2022.linkGrayedActiveColor = '#141414';Theme2022.linkLineBorderBottomStyle = 'solid';Theme2022.linkLineBorderBottomWidth = '1px';Theme2022.linkDisabledColor = '#858585';Theme2022.btnCheckedBg = '#3D3D3D';Theme2022.btnCheckedDisabledBg = '#ADADAD';Theme2022.btnCheckedDisabledColor = '#E6E6E6';Theme2022.btnDefaultBg = '#fff';Theme2022.btnDefaultHoverBg = '#F0F0F0';Theme2022.btnDefaultHoverBgStart = 'none';Theme2022.btnDefaultHoverBgEnd = 'none';Theme2022.btnDefaultActiveBg = '#E6E6E6';Theme2022.btnDefaultBorderColor = 'rgba(0, 0, 0, 0.16);';Theme2022.btnDefaultBorderBottomColor = '';Theme2022.btnDefaultHoverBorderBottomColor = '';Theme2022.btnDefaultActiveBorderTopColor = '';Theme2022.btnPrimaryBg = '#3D3D3D';Theme2022.btnPrimaryHoverBg = '#292929';Theme2022.btnPrimaryActiveBg = '#141414';Theme2022.btnPrimaryBorderColor = '#3D3D3D';Theme2022.btnPrimaryHoverBorderColor = '#292929';Theme2022.btnPrimaryActiveBorderColor = '#141414';Theme2022.btnDangerBg = '#FF5A49';Theme2022.btnDangerHoverBg = '#EE5042';Theme2022.btnDangerHoverBorderColor = '#EE5042';Theme2022.btnDangerBorderColor = '#FF5A49';Theme2022.btnDangerActiveBg = '#DD473B';Theme2022.btnDangerActiveBorderColor = '#DD473B';Theme2022.btnSuccessBg = '#78BF2B';Theme2022.btnSuccessHoverBg = '#6CAD26';Theme2022.btnSuccessHoverBorderColor = '#6CAD26';Theme2022.btnSuccessBorderColor = '#78BF2B';Theme2022.btnSuccessActiveBg = '#5F9C20';Theme2022.btnSuccessActiveBorderColor = '#5F9C20';Theme2022.btnDisabledBg = 'rgba(0, 0, 0, 0.06)';Theme2022.btnDisabledBorderColor = 'rgba(0, 0, 0, 0.10)';Theme2022.btnBacklessHoverBg = 'rgba(0, 0, 0, 0.06) !important';Theme2022.btnTextBg = 'transparent !important';Theme2022.btnTextHoverBg = 'rgba(0, 0, 0, 0.06) !important';Theme2022.btnBorderRadiusSmall = '8px';Theme2022.btnBorderRadiusMedium = '8px';Theme2022.btnBorderRadiusLarge = '8px';Theme2022.btnPaddingXSmall = '12px';Theme2022.btnPaddingXMedium = '16px';Theme2022.btnPaddingXLarge = '20px';Theme2022.btnIconSizeSmall = '16px';Theme2022.btnIconSizeMedium = '20px';Theme2022.btnIconSizeLarge = '24px';Theme2022.btnIconGapSmall = '4px';Theme2022.btnIconGapMedium = '6px';Theme2022.btnIconGapLarge = '8px';Theme2022.btnWithIconPaddingLeftSmall = '8px';Theme2022.btnWithIconPaddingLeftMedium = '10px';Theme2022.btnWithIconPaddingLeftLarge = '12px';Theme2022.dropdownButtonBorderRadiusSmall = '8px';Theme2022.dropdownButtonBorderRadiusMedium = '8px';Theme2022.dropdownButtonBorderRadiusLarge = '8px';Theme2022.inputIconColor = '#858585';Theme2022.inputBorderColor = 'rgba(0, 0, 0, 0.16)';Theme2022.inputBorderColorHover = 'rgba(0, 0, 0, 0.32)';Theme2022.inputBorderRadiusSmall = '2px';Theme2022.inputBorderRadiusMedium = '2px';Theme2022.inputBorderRadiusLarge = '2px';Theme2022.inputIconGapSmall = '4px';Theme2022.inputIconGapMedium = '6px';Theme2022.inputIconGapLarge = '8px';Theme2022.inputIconSizeSmall = '16px';Theme2022.inputIconSizeMedium = '20px';Theme2022.inputIconSizeLarge = '24px';Theme2022.inputBlinkColor = 'rgba(61, 61, 61, 0.2)';Theme2022.inputDisabledBackgroundClip = 'padding-box';Theme2022.textareaBorderRadius = '2px';Theme2022.textareaBackgroundClip = 'padding-box';Theme2022.radioBulletSize = '6px';Theme2022.radioDisabledBg = '#F0F0F0';Theme2022.menuSeparatorMarginX = '8px';Theme2022.popupBorderRadius = '8px';Theme2022.popupBoxShadow = '0px 32px 32px -16px rgba(0, 0, 0, 0.08), 0px 0px 24px 0px rgba(0, 0, 0, 0.12)';Theme2022.popupDropShadow = 'drop-shadow(0px 32px 32px rgba(0, 0, 0, 0.08)) drop-shadow(0px 0px 24px rgba(0, 0, 0, 0.12))';Theme2022.pickerShadow = '0px 32px 32px -16px rgba(0, 0, 0, 0.08), 0px 0px 24px 0px rgba(0, 0, 0, 0.12)';Theme2022.hintBgColor = 'rgba(0, 0, 0, 0.76)';Theme2022.hintBorderRadius = '6px';Theme2022.hintPaddingY = '4px';Theme2022.hintPaddingX = '8px';Theme2022.modalWindowShadow = '0px 16px 32px 0px rgba(0, 0, 0, 0.06)';Theme2022.modalBorderRadius = '16px';Theme2022.modalBodyBorderRadius = '0px';Theme2022.modalBodyPaddingBottom = '20px';Theme2022.fixedPanelShadow = 'none';Theme2022.modalFooterPanelPaddingTop = '20px';Theme2022.modalFixedPanelShadow = 'none';Theme2022.modalFooterPaddingTop = '0px';Theme2022.modalFooterPaddingBottom = '20px';Theme2022.modalFixedHeaderMarginBottom = '0px';Theme2022.modalCloseButtonClickArea = '6px';Theme2022.modalFixedFooterMarginTop = '0px';Theme2022.modalSeparatorBorderBottom = '1px solid #E6E6E6';Theme2022.modalHeaderFontWeight = '700';Theme2022.modalPaddingRight = '32px';Theme2022.modalCloseButtonPadding = '32px';Theme2022.modalCloseIconSize = '20px';Theme2022.mobileModalCloseIconSize = '20px';Theme2022.mobileModalCloseButtonRightPadding = '16px';Theme2022.mobileModalCloseButtonTopPadding = '8px';Theme2022.modalHeaderPaddingBottom = '16px';Theme2022.modalBackBg = '#000';Theme2022.modalBackOpacity = '0.16';Theme2022.fileUploaderIconColor = '#222222';Theme2022.fileUploaderDisabledIconColor = '#858585';Theme2022.fileUploaderDisabledTextColor = '#858585';Theme2022.fileUploaderDisabledLinkColor = '#858585';Theme2022.fileUploaderAfterLinkColor = '#858585';Theme2022.fileUploaderBorderRadius = '8px';Theme2022.fileUploaderLinkHoverTextDecoration = 'none';Theme2022.fileUploaderHoveredBg = 'rgba(0, 0, 0, 0.06)';Theme2022.fileUploaderDisabledBorderColor = 'rgba(0, 0, 0, 0.16)';Theme2022.fileUploaderHoveredBorderColor = 'transparent';Theme2022.fileUploaderBg = '';Theme2022.fileUploaderUploadButtonBg = '#fff';Theme2022.fileUploaderDisabledBgClip = 'padding-box';Theme2022.fileUploaderDragOverShadow = '0px 0px 0px 3px rgb(149, 149, 149), 0px 0px 0px 8px rgba(61, 61, 61, 0.2)';Theme2022.toastBg = 'rgba(0, 0, 0, 0.76)';Theme2022.toastLinkColor = '#fff';Theme2022.toastLinkBgHover = 'rgba(255, 255, 255, 0.12)';Theme2022.toastLinkBgActive = 'rgba(0, 0, 0, 0.87)';Theme2022.toastLinkTextDecorationHover = '';Theme2022.toastBorderRadius = '8px';Theme2022.toastCloseSize = '16px';Theme2022.toastClosePadding = '14px';Theme2022.tooltipBorderRadius = '8px';Theme2022.tooltipCloseBtnPadding = '4px';Theme2022.tooltipCloseBtnSide = '16px';Theme2022.tokenRemoveIconSize = '16px';Theme2022.tokenRemoveIconPaddingY = '0px';Theme2022.tokenRemoveIconPaddingX = '0px';Theme2022.tokenDefaultActive = '#323232';Theme2022.tokenBorderRadius = '2px';Theme2022.tokenPaddingY = '0px';Theme2022.tokenMarginX = '2px';Theme2022.tokenOutlineWidth = '1px';Theme2022.tokenShadowDisabled = '';Theme2022.tokenBorderColorDisabled = 'transparent';Theme2022.tokenDefaultIdleColor = '#222222';Theme2022.tokenDefaultIdleBg = 'rgba(0, 0, 0, 0.1)';Theme2022.tokenDefaultIdleBorderColor = 'rgba(0, 0, 0, 0.16)';Theme2022.tokenDefaultIdleColorHover = '#222222';Theme2022.tokenDefaultIdleBgHover = 'rgba(0, 0, 0, 0.16)';Theme2022.tokenDefaultIdleBorderColorHover = 'rgba(0, 0, 0, 0.16)';Theme2022.tokenDefaultActiveColor = '#FFFFFF';Theme2022.tokenDefaultActiveBg = '#3D3D3D';Theme2022.tokenDefaultActiveBorderColor = 'transparent';Theme2022.dateInputComponentSelectedBgColor = '';Theme2022.checkboxBorderRadius = '4px';Theme2022.checkboxCheckedBg = '#3D3D3D';Theme2022.checkboxCheckedHoverBg = '#292929';Theme2022.checkboxBgDisabled = '#F0F0F0';Theme2022.menuBorderRadius = '8px';Theme2022.menuPaddingX = '4px';Theme2022.menuOffsetY = '4px';Theme2022.menuBoxSizing = 'border-box';Theme2022.menuItemHoverBg = '#F0F0F0';Theme2022.menuItemSelectedBg = '#E6E6E6';Theme2022.menuItemBorderRadius = '6px';Theme2022.menuItemDisabledColor = '#858585';Theme2022.menuItemGap = '1px';Theme2022.menuItemCommentOpacity = '0.6';Theme2022.menuShadow = '0px 32px 32px -16px rgba(0, 0, 0, 0.08), 0px 0px 24px 0px rgba(0, 0, 0, 0.12)';Theme2022.tokenInputBorderRadius = '2px';Theme2022.tokenInputPaddingY = '2px';Theme2022.tokenInputPaddingX = '2px';Theme2022.tokenInputMenuPopupBg = 'transparent';Theme2022.toggleHandleSize = '14px';Theme2022.toggleHandleSizeSmall = '14px';Theme2022.toggleHandleSizeMedium = '16px';Theme2022.toggleHandleSizeLarge = '18px';Theme2022.toggleHandleLeft = '3px';Theme2022.toggleHandleTop = '3px';Theme2022.toggleHandleActiveWidthIncrement = '0px';Theme2022.toggleBgChecked = '#3D3D3D';Theme2022.toggleBgHover = '#3D3D3D';Theme2022.toggleCheckedBg = '#fff';Theme2022.toggleCheckedBgHover = '#fff';Theme2022.toggleContainerBg = '#FFFFFF';Theme2022.toggleContainerBoxShadow = 'inset 0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleHandleBg = '#FFFFFF';Theme2022.toggleHandleBoxShadow = '0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleContainerBgHover = '#F0F0F0';Theme2022.toggleContainerBoxShadowHover = 'inset 0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleHandleBgHover = '#FFFFFF';Theme2022.toggleHandleBoxShadowHover = '0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleContainerBgChecked = '#3D3D3D';Theme2022.toggleContainerBoxShadowChecked = 'none';Theme2022.toggleHandleBgChecked = '#FFFFFF';Theme2022.toggleHandleBoxShadowChecked = 'none';Theme2022.toggleContainerBgCheckedHover = '#292929';Theme2022.toggleContainerBoxShadowCheckedHover = 'none';Theme2022.toggleHandleBgCheckedHover = '#F0F0F0';Theme2022.toggleHandleBoxShadowCheckedHover = 'none';Theme2022.toggleContainerBgDisabled = '#F0F0F0';Theme2022.toggleContainerBoxShadowDisabled = 'inset 0 0 0 1px rgba(0, 0, 0, 0.1)';Theme2022.toggleHandleBgDisabled = 'transparent';Theme2022.toggleHandleBoxShadowDisabled = '0 0 0 1px rgba(0, 0, 0, 0.1)';Theme2022.toggleContainerBgDisabledChecked = '#D6D6D6';Theme2022.toggleContainerBoxShadowDisabledChecked = 'none';Theme2022.toggleHandleBgDisabledChecked = '#F0F0F0';Theme2022.toggleHandleBoxShadowDisabledChecked = 'none';Theme2022.switcherBorderRadius = '8px';Theme2022.calendarCellHoverBgColor = '#F0F0F0';Theme2022.calendarCellHoverColor = '';Theme2022.calendarCellActiveHoverColor = '';Theme2022.calendarCellSelectedBgColor = '#E6E6E6';Theme2022.calendarCellTodayBorder = '1px solid';Theme2022.dateSelectMenuItemBgActive = '#F0F0F0';Theme2022.dateSelectMenuItemFontActive = '';Theme2022.dateSelectTextColorInvert = '';Theme2022.pickerBorderRadius = '8px';Theme2022.pagingPageForwardLinkMarginTop = '';Theme2022.pagingPageForwardLinkMarginLeft = '0px';Theme2022.pagingLineHeight = '22px';Theme2022.pagingPageLinkPaddingX = '12px';Theme2022.pagingPageLinkBoxSizing = 'border-box';Theme2022.pagingPageLinkHintMargin = '4px -20px 0px';Theme2022.pagingDotsColor = '#ADADAD';Theme2022.pagingDotsDisabledColor = '#ADADAD';Theme2022.pagingForwardLinkColor = '#222222';Theme2022.pagingPageLinkActiveBg = 'rgba(0, 0, 0, 0.1)';Theme2022.pagingPageLinkHoverBg = 'rgba(0, 0, 0, 0.06)';Theme2022.sidePageBgDefault = '#fff';Theme2022.sidePageFooterPaddingTop = '20px';Theme2022.sidePageFooterPaddingBottom = '20px';Theme2022.sidePageHeaderFontWeight = 'bold';Theme2022.sidePageBackingBg = '#000';Theme2022.sidePageBackingBgOpacity = '0.16';Theme2022.tabColorHover = '#D6D6D6';Theme2022.tabIndicatorBorderRadius = '2px';Theme2022.kebabSizeSmall = '24px';Theme2022.kebabSizeMedium = '32px';Theme2022.kebabSizeLarge = '40px';Theme2022.kebabIconSizeSmall = '16px';Theme2022.kebabIconSizeMedium = '20px';Theme2022.kebabIconSizeLarge = '24px';Theme2022.kebabBackgroundHover = 'rgba(0, 0, 0, 0.06)';Theme2022.kebabBackgroundActive = 'rgba(0, 0, 0, 0.10)';
519
+ }]);return Theme2022;}( /*#__PURE__*/function () {function _class() {}return _class;}());exports.Theme2022 = Theme2022;Theme2022.borderColorDisabled = 'rgba(0, 0, 0, 0.10)';Theme2022.borderColorFocus = '#3d3d3d';Theme2022.bgActive = '#141414';Theme2022.bgDisabled = '#F0F0F0';Theme2022.errorMain = '#FF5A49';Theme2022.linkColor = '#222222';Theme2022.linkHoverColor = '#222222';Theme2022.linkActiveColor = '#141414';Theme2022.linkHoverTextDecoration = 'none';Theme2022.linkSuccessColor = '#538A1B';Theme2022.linkSuccessHoverColor = '#477916';Theme2022.linkSuccessActiveColor = '#3A6710';Theme2022.linkDangerColor = '#CB3D35';Theme2022.linkDangerHoverColor = '#BA342E';Theme2022.linkDangerActiveColor = '#A92A27';Theme2022.linkGrayedColor = '#858585';Theme2022.linkGrayedHoverColor = '#292929';Theme2022.linkGrayedActiveColor = '#141414';Theme2022.linkLineBorderBottomStyle = 'solid';Theme2022.linkLineBorderBottomWidth = '1px';Theme2022.linkDisabledColor = '#858585';Theme2022.btnCheckedBg = '#3D3D3D';Theme2022.btnCheckedDisabledBg = '#ADADAD';Theme2022.btnCheckedDisabledColor = '#E6E6E6';Theme2022.btnDefaultBg = '#fff';Theme2022.btnDefaultHoverBg = '#F0F0F0';Theme2022.btnDefaultHoverBgStart = 'none';Theme2022.btnDefaultHoverBgEnd = 'none';Theme2022.btnDefaultActiveBg = '#E6E6E6';Theme2022.btnDefaultBorderColor = 'rgba(0, 0, 0, 0.16);';Theme2022.btnDefaultBorderBottomColor = '';Theme2022.btnDefaultHoverBorderBottomColor = '';Theme2022.btnDefaultActiveBorderTopColor = '';Theme2022.btnPrimaryBg = '#3D3D3D';Theme2022.btnPrimaryHoverBg = '#292929';Theme2022.btnPrimaryActiveBg = '#141414';Theme2022.btnPrimaryBorderColor = '#3D3D3D';Theme2022.btnPrimaryHoverBorderColor = '#292929';Theme2022.btnPrimaryActiveBorderColor = '#141414';Theme2022.btnDangerBg = '#FF5A49';Theme2022.btnDangerHoverBg = '#EE5042';Theme2022.btnDangerHoverBorderColor = '#EE5042';Theme2022.btnDangerBorderColor = '#FF5A49';Theme2022.btnDangerActiveBg = '#DD473B';Theme2022.btnDangerActiveBorderColor = '#DD473B';Theme2022.btnSuccessBg = '#78BF2B';Theme2022.btnSuccessHoverBg = '#6CAD26';Theme2022.btnSuccessHoverBorderColor = '#6CAD26';Theme2022.btnSuccessBorderColor = '#78BF2B';Theme2022.btnSuccessActiveBg = '#5F9C20';Theme2022.btnSuccessActiveBorderColor = '#5F9C20';Theme2022.btnDisabledBg = 'rgba(0, 0, 0, 0.06)';Theme2022.btnDisabledBorderColor = 'rgba(0, 0, 0, 0.10)';Theme2022.btnBorderRadiusSmall = '8px';Theme2022.btnBorderRadiusMedium = '8px';Theme2022.btnBorderRadiusLarge = '8px';Theme2022.btnPaddingXSmall = '12px';Theme2022.btnPaddingXMedium = '16px';Theme2022.btnPaddingXLarge = '20px';Theme2022.btnIconSizeSmall = '16px';Theme2022.btnIconSizeMedium = '20px';Theme2022.btnIconSizeLarge = '24px';Theme2022.btnIconGapSmall = '4px';Theme2022.btnIconGapMedium = '6px';Theme2022.btnIconGapLarge = '8px';Theme2022.btnWithIconPaddingLeftSmall = '8px';Theme2022.btnWithIconPaddingLeftMedium = '10px';Theme2022.btnWithIconPaddingLeftLarge = '12px';Theme2022.dropdownButtonBorderRadiusSmall = '8px';Theme2022.dropdownButtonBorderRadiusMedium = '8px';Theme2022.dropdownButtonBorderRadiusLarge = '8px';Theme2022.inputIconColor = '#858585';Theme2022.inputBorderColor = 'rgba(0, 0, 0, 0.16)';Theme2022.inputBorderColorHover = 'rgba(0, 0, 0, 0.32)';Theme2022.inputBorderRadiusSmall = '2px';Theme2022.inputBorderRadiusMedium = '2px';Theme2022.inputBorderRadiusLarge = '2px';Theme2022.inputIconGapSmall = '4px';Theme2022.inputIconGapMedium = '6px';Theme2022.inputIconGapLarge = '8px';Theme2022.inputIconSizeSmall = '16px';Theme2022.inputIconSizeMedium = '20px';Theme2022.inputIconSizeLarge = '24px';Theme2022.inputBlinkColor = 'rgba(61, 61, 61, 0.2)';Theme2022.inputDisabledBackgroundClip = 'padding-box';Theme2022.textareaBorderRadius = '2px';Theme2022.textareaBackgroundClip = 'padding-box';Theme2022.radioBulletSize = '6px';Theme2022.radioDisabledBg = '#F0F0F0';Theme2022.menuSeparatorMarginX = '8px';Theme2022.popupBorderRadius = '8px';Theme2022.popupBoxShadow = '0px 32px 32px -16px rgba(0, 0, 0, 0.08), 0px 0px 24px 0px rgba(0, 0, 0, 0.12)';Theme2022.popupDropShadow = 'drop-shadow(0px 32px 32px rgba(0, 0, 0, 0.08)) drop-shadow(0px 0px 24px rgba(0, 0, 0, 0.12))';Theme2022.pickerShadow = '0px 32px 32px -16px rgba(0, 0, 0, 0.08), 0px 0px 24px 0px rgba(0, 0, 0, 0.12)';Theme2022.hintBgColor = 'rgba(0, 0, 0, 0.76)';Theme2022.hintBorderRadius = '8px';Theme2022.hintPaddingY = '8px';Theme2022.hintPaddingX = '8px';Theme2022.modalWindowShadow = '0px 16px 32px 0px rgba(0, 0, 0, 0.06)';Theme2022.modalBorderRadius = '16px';Theme2022.modalBodyBorderRadius = '0px';Theme2022.modalBodyPaddingBottom = '20px';Theme2022.fixedPanelShadow = 'none';Theme2022.modalFooterPanelPaddingTop = '20px';Theme2022.modalFixedPanelShadow = 'none';Theme2022.modalFooterPaddingTop = '0px';Theme2022.modalFooterPaddingBottom = '20px';Theme2022.modalFixedHeaderMarginBottom = '0px';Theme2022.modalCloseButtonClickArea = '6px';Theme2022.modalFixedFooterMarginTop = '0px';Theme2022.modalSeparatorBorderBottom = '1px solid #E6E6E6';Theme2022.modalHeaderFontWeight = '700';Theme2022.modalPaddingRight = '32px';Theme2022.modalCloseButtonPadding = '32px';Theme2022.modalCloseIconSize = '20px';Theme2022.mobileModalCloseIconSize = '20px';Theme2022.mobileModalCloseButtonRightPadding = '16px';Theme2022.mobileModalCloseButtonTopPadding = '8px';Theme2022.modalHeaderPaddingBottom = '16px';Theme2022.modalBackBg = '#000';Theme2022.modalBackOpacity = '0.16';Theme2022.fileUploaderIconColor = '#222222';Theme2022.fileUploaderDisabledIconColor = '#858585';Theme2022.fileUploaderDisabledTextColor = '#858585';Theme2022.fileUploaderDisabledLinkColor = '#858585';Theme2022.fileUploaderAfterLinkColor = '#858585';Theme2022.fileUploaderBorderRadius = '8px';Theme2022.fileUploaderLinkHoverTextDecoration = 'none';Theme2022.fileUploaderHoveredBg = 'rgba(0, 0, 0, 0.06)';Theme2022.fileUploaderDisabledBorderColor = 'rgba(0, 0, 0, 0.16)';Theme2022.fileUploaderHoveredBorderColor = 'transparent';Theme2022.fileUploaderBg = '';Theme2022.fileUploaderUploadButtonBg = '#fff';Theme2022.fileUploaderDisabledBgClip = 'padding-box';Theme2022.fileUploaderDragOverShadow = '0px 0px 0px 3px rgb(149, 149, 149), 0px 0px 0px 8px rgba(61, 61, 61, 0.2)';Theme2022.toastBg = 'rgba(0, 0, 0, 0.76)';Theme2022.toastLinkColor = '#fff';Theme2022.toastLinkBgHover = 'rgba(255, 255, 255, 0.12)';Theme2022.toastLinkBgActive = 'rgba(0, 0, 0, 0.87)';Theme2022.toastLinkTextDecorationHover = '';Theme2022.toastBorderRadius = '8px';Theme2022.toastCloseSize = '16px';Theme2022.toastClosePadding = '14px';Theme2022.tooltipBorderRadius = '8px';Theme2022.tooltipCloseBtnPadding = '4px';Theme2022.tooltipCloseBtnSide = '16px';Theme2022.tokenRemoveIconSize = '16px';Theme2022.tokenRemoveIconPaddingY = '0px';Theme2022.tokenRemoveIconPaddingX = '0px';Theme2022.tokenDefaultActive = '#323232';Theme2022.tokenBorderRadius = '2px';Theme2022.tokenPaddingY = '0px';Theme2022.tokenMarginX = '2px';Theme2022.tokenOutlineWidth = '1px';Theme2022.tokenShadowDisabled = '';Theme2022.tokenBorderColorDisabled = 'transparent';Theme2022.tokenDefaultIdleColor = '#222222';Theme2022.tokenDefaultIdleBg = 'rgba(0, 0, 0, 0.1)';Theme2022.tokenDefaultIdleBorderColor = 'rgba(0, 0, 0, 0.16)';Theme2022.tokenDefaultIdleColorHover = '#222222';Theme2022.tokenDefaultIdleBgHover = 'rgba(0, 0, 0, 0.16)';Theme2022.tokenDefaultIdleBorderColorHover = 'rgba(0, 0, 0, 0.16)';Theme2022.tokenDefaultActiveColor = '#FFFFFF';Theme2022.tokenDefaultActiveBg = '#3D3D3D';Theme2022.tokenDefaultActiveBorderColor = 'transparent';Theme2022.dateInputComponentSelectedBgColor = '';Theme2022.checkboxBorderRadius = '4px';Theme2022.checkboxCheckedBg = '#3D3D3D';Theme2022.checkboxCheckedHoverBg = '#292929';Theme2022.checkboxBgDisabled = '#F0F0F0';Theme2022.menuBorderRadius = '8px';Theme2022.menuPaddingX = '4px';Theme2022.menuOffsetY = '4px';Theme2022.menuBoxSizing = 'border-box';Theme2022.menuItemHoverBg = '#F0F0F0';Theme2022.menuItemSelectedBg = '#E6E6E6';Theme2022.menuItemBorderRadius = '6px';Theme2022.menuItemDisabledColor = '#858585';Theme2022.menuItemGap = '1px';Theme2022.menuItemCommentOpacity = '0.6';Theme2022.menuShadow = '0px 32px 32px -16px rgba(0, 0, 0, 0.08), 0px 0px 24px 0px rgba(0, 0, 0, 0.12)';Theme2022.tokenInputBorderRadius = '2px';Theme2022.tokenInputPaddingY = '2px';Theme2022.tokenInputPaddingX = '2px';Theme2022.tokenInputMenuPopupBg = 'transparent';Theme2022.toggleHandleSize = '14px';Theme2022.toggleHandleSizeSmall = '14px';Theme2022.toggleHandleSizeMedium = '16px';Theme2022.toggleHandleSizeLarge = '18px';Theme2022.toggleHandleLeft = '3px';Theme2022.toggleHandleTop = '3px';Theme2022.toggleHandleActiveWidthIncrement = '0px';Theme2022.toggleBgChecked = '#3D3D3D';Theme2022.toggleBgHover = '#3D3D3D';Theme2022.toggleCheckedBg = '#fff';Theme2022.toggleCheckedBgHover = '#fff';Theme2022.toggleContainerBg = '#FFFFFF';Theme2022.toggleContainerBoxShadow = 'inset 0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleHandleBg = '#FFFFFF';Theme2022.toggleHandleBoxShadow = '0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleContainerBgHover = '#F0F0F0';Theme2022.toggleContainerBoxShadowHover = 'inset 0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleHandleBgHover = '#FFFFFF';Theme2022.toggleHandleBoxShadowHover = '0 0 0 1px rgba(0, 0, 0, 0.16)';Theme2022.toggleContainerBgChecked = '#3D3D3D';Theme2022.toggleContainerBoxShadowChecked = 'none';Theme2022.toggleHandleBgChecked = '#FFFFFF';Theme2022.toggleHandleBoxShadowChecked = 'none';Theme2022.toggleContainerBgCheckedHover = '#292929';Theme2022.toggleContainerBoxShadowCheckedHover = 'none';Theme2022.toggleHandleBgCheckedHover = '#F0F0F0';Theme2022.toggleHandleBoxShadowCheckedHover = 'none';Theme2022.toggleContainerBgDisabled = '#F0F0F0';Theme2022.toggleContainerBoxShadowDisabled = 'inset 0 0 0 1px rgba(0, 0, 0, 0.1)';Theme2022.toggleHandleBgDisabled = 'transparent';Theme2022.toggleHandleBoxShadowDisabled = '0 0 0 1px rgba(0, 0, 0, 0.1)';Theme2022.toggleContainerBgDisabledChecked = '#D6D6D6';Theme2022.toggleContainerBoxShadowDisabledChecked = 'none';Theme2022.toggleHandleBgDisabledChecked = '#F0F0F0';Theme2022.toggleHandleBoxShadowDisabledChecked = 'none';Theme2022.switcherBorderRadius = '8px';Theme2022.calendarCellHoverBgColor = '#F0F0F0';Theme2022.calendarCellHoverColor = '';Theme2022.calendarCellActiveHoverColor = '';Theme2022.calendarCellSelectedBgColor = '#E6E6E6';Theme2022.calendarCellTodayBorder = '1px solid';Theme2022.dateSelectMenuItemBgActive = '#F0F0F0';Theme2022.dateSelectMenuItemFontActive = '';Theme2022.dateSelectTextColorInvert = '';Theme2022.pickerBorderRadius = '8px';Theme2022.pagingPageForwardLinkMarginTop = '';Theme2022.pagingPageForwardLinkMarginLeft = '0px';Theme2022.pagingLineHeight = '22px';Theme2022.pagingPageLinkPaddingX = '12px';Theme2022.pagingPageLinkBoxSizing = 'border-box';Theme2022.pagingPageLinkHintMargin = '4px -20px 0px';Theme2022.pagingDotsColor = '#ADADAD';Theme2022.pagingDotsDisabledColor = '#ADADAD';Theme2022.pagingForwardLinkColor = '#222222';Theme2022.pagingPageLinkActiveBg = 'rgba(0, 0, 0, 0.1)';Theme2022.pagingPageLinkHoverBg = 'rgba(0, 0, 0, 0.06)';Theme2022.sidePageBgDefault = '#fff';Theme2022.sidePageFooterPaddingTop = '20px';Theme2022.sidePageFooterPaddingBottom = '20px';Theme2022.sidePageHeaderFontWeight = 'bold';Theme2022.sidePageBackingBg = '#000';Theme2022.sidePageBackingBgOpacity = '0.16';Theme2022.tabColorHover = '#D6D6D6';Theme2022.tabIndicatorBorderRadius = '2px';Theme2022.kebabSizeSmall = '24px';Theme2022.kebabSizeMedium = '32px';Theme2022.kebabSizeLarge = '40px';Theme2022.kebabIconSizeSmall = '16px';Theme2022.kebabIconSizeMedium = '20px';Theme2022.kebabIconSizeLarge = '24px';Theme2022.kebabBackgroundHover = 'rgba(0, 0, 0, 0.06)';Theme2022.kebabBackgroundActive = 'rgba(0, 0, 0, 0.10)';
529
520
 
530
521
  var Theme2022Internal = Object.setPrototypeOf(
531
522
  (0, _ThemeHelpers.exposeGetters)(Theme2022),