@skbkontur/react-ui 3.10.0 → 3.11.0-latest

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 (167) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/LICENSE +21 -21
  3. package/cjs/components/Button/Button.d.ts +1 -1
  4. package/cjs/components/Button/Button.js +4 -3
  5. package/cjs/components/Button/Button.js.map +1 -1
  6. package/cjs/components/Button/Button.styles.d.ts +1 -0
  7. package/cjs/components/Button/Button.styles.js +38 -28
  8. package/cjs/components/Button/Button.styles.js.map +1 -1
  9. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  10. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  11. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  12. package/cjs/components/Gapped/Gapped.md +43 -43
  13. package/cjs/components/Hint/Hint.d.ts +2 -1
  14. package/cjs/components/Hint/Hint.js +0 -16
  15. package/cjs/components/Hint/Hint.js.map +1 -1
  16. package/cjs/components/Input/Input.md +13 -13
  17. package/cjs/components/Kebab/Kebab.d.ts +2 -2
  18. package/cjs/components/Kebab/Kebab.js.map +1 -1
  19. package/cjs/components/MenuItem/MenuItem.d.ts +1 -1
  20. package/cjs/components/MenuItem/MenuItem.js +1 -4
  21. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  22. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  23. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  24. package/cjs/components/ScrollContainer/ScrollBar.js +4 -2
  25. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  26. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  27. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  28. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  29. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
  30. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  31. package/cjs/components/SidePage/SidePage.d.ts +1 -0
  32. package/cjs/components/SidePage/SidePage.js +14 -1
  33. package/cjs/components/SidePage/SidePage.js.map +1 -1
  34. package/cjs/components/Spinner/Spinner.d.ts +8 -0
  35. package/cjs/components/Spinner/Spinner.js +21 -3
  36. package/cjs/components/Spinner/Spinner.js.map +1 -1
  37. package/cjs/components/Spinner/Spinner.md +1 -0
  38. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  39. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  40. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  41. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  42. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  43. package/cjs/components/Token/Token.md +112 -112
  44. package/cjs/components/Tooltip/Tooltip.d.ts +8 -21
  45. package/cjs/components/Tooltip/Tooltip.js +14 -27
  46. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  47. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  48. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  49. package/cjs/index.d.ts +1 -0
  50. package/cjs/index.js +2 -1
  51. package/cjs/index.js.map +1 -1
  52. package/cjs/internal/Popup/Popup.d.ts +5 -4
  53. package/cjs/internal/Popup/Popup.js +13 -24
  54. package/cjs/internal/Popup/Popup.js.map +1 -1
  55. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  56. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  57. package/cjs/internal/Popup/types.d.ts +1 -0
  58. package/cjs/internal/Popup/types.js +1 -0
  59. package/cjs/internal/Popup/types.js.map +1 -0
  60. package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -3
  61. package/cjs/internal/PopupMenu/PopupMenu.js +17 -3
  62. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  63. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  64. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  65. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  66. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  67. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  68. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  69. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  70. package/cjs/lib/ModalStack.js +16 -17
  71. package/cjs/lib/ModalStack.js.map +1 -1
  72. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  73. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  74. package/cjs/lib/theming/useTheme.d.ts +1 -0
  75. package/cjs/lib/theming/useTheme.js +7 -0
  76. package/cjs/lib/theming/useTheme.js.map +1 -0
  77. package/cjs/lib/utils.d.ts +32 -0
  78. package/cjs/lib/utils.js +62 -2
  79. package/cjs/lib/utils.js.map +1 -1
  80. package/cjs/typings/html-props.d.ts +123 -0
  81. package/components/Button/Button/Button.js +3 -7
  82. package/components/Button/Button/Button.js.map +1 -1
  83. package/components/Button/Button.d.ts +1 -1
  84. package/components/Button/Button.styles/Button.styles.js +31 -28
  85. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  86. package/components/Button/Button.styles.d.ts +1 -0
  87. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  88. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  89. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  90. package/components/Gapped/Gapped.md +43 -43
  91. package/components/Hint/Hint/Hint.js.map +1 -1
  92. package/components/Hint/Hint.d.ts +2 -1
  93. package/components/Input/Input.md +13 -13
  94. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  95. package/components/Kebab/Kebab.d.ts +2 -2
  96. package/components/MenuItem/MenuItem/MenuItem.js +2 -7
  97. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  98. package/components/MenuItem/MenuItem.d.ts +1 -1
  99. package/components/PasswordInput/PasswordInput.md +9 -9
  100. package/components/RadioGroup/RadioGroup.md +43 -43
  101. package/components/ScrollContainer/ScrollBar/ScrollBar.js +6 -2
  102. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  103. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +2 -1
  104. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  105. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
  106. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  107. package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  108. package/components/SidePage/SidePage/SidePage.js +19 -0
  109. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  110. package/components/SidePage/SidePage.d.ts +1 -0
  111. package/components/Spinner/Spinner/Spinner.js +6 -3
  112. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  113. package/components/Spinner/Spinner.d.ts +8 -0
  114. package/components/Spinner/Spinner.md +1 -0
  115. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  116. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  117. package/components/Spinner/Spinner.styles.d.ts +2 -1
  118. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  119. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  120. package/components/Token/Token.md +112 -112
  121. package/components/Tooltip/Tooltip/Tooltip.js +2 -2
  122. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  123. package/components/Tooltip/Tooltip.d.ts +8 -21
  124. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  125. package/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  126. package/index.d.ts +1 -0
  127. package/index.js +2 -1
  128. package/index.js.map +1 -1
  129. package/internal/Popup/Popup/Popup.js +3 -2
  130. package/internal/Popup/Popup/Popup.js.map +1 -1
  131. package/internal/Popup/Popup.d.ts +5 -4
  132. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  133. package/internal/Popup/PopupHelper.d.ts +2 -2
  134. package/internal/Popup/types/package.json +6 -0
  135. package/internal/Popup/types/types.js +0 -0
  136. package/internal/Popup/types/types.js.map +1 -0
  137. package/internal/Popup/types.d.ts +1 -0
  138. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  139. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  140. package/internal/PopupMenu/PopupMenu.d.ts +3 -3
  141. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  142. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  143. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  144. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  145. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  146. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  147. package/internal/icons/SpinnerIcon.d.ts +4 -1
  148. package/lib/ModalStack/ModalStack.js +9 -13
  149. package/lib/ModalStack/ModalStack.js.map +1 -1
  150. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  151. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  152. package/lib/theming/useTheme/package.json +6 -0
  153. package/lib/theming/useTheme/useTheme.js +5 -0
  154. package/lib/theming/useTheme/useTheme.js.map +1 -0
  155. package/lib/theming/useTheme.d.ts +1 -0
  156. package/lib/utils/utils.js +66 -0
  157. package/lib/utils/utils.js.map +1 -1
  158. package/lib/utils.d.ts +32 -0
  159. package/package.json +5 -5
  160. package/typings/html-props.d.ts +123 -0
  161. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  162. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  163. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  164. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  165. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  166. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  167. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["SidePage.tsx"],"names":["TRANSITION_TIMEOUT","SidePage","state","hasHeader","hasFooter","hasPanel","theme","stackSubscription","layoutRef","footer","rootRef","React","createRef","updateLayout","update","getSidePageContextProps","requestClose","getWidth","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","length","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","clientX","document","documentElement","handleKeyDown","disableClose","onClose","ref","componentDidMount","window","addEventListener","add","componentWillUnmount","removeEventListener","remove","render","renderMain","blockBackground","disableAnimations","renderShadow","getTransitionNames","enter","exit","renderContainer","width","disableFocusLock","offset","styles","root","LayoutEvents","emit","right","left","focusLock","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","_","children","overlay","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appear","appearActive","Component","__KONTUR_REACT_UI__","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","defaultProps","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\n\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport { ModalStack, ModalStackSubscription } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps extends CommonProps {\n /**\n * Добавить блокирующий фон, когда сайдпейдж открыт\n */\n blockBackground?: boolean;\n\n /**\n * Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа\n */\n disableClose?: boolean;\n\n /**\n * Не закрывать сайдпейдж при клике на фон.\n */\n ignoreBackgroundClick?: boolean;\n\n /**\n * Задать ширину сайдпейджа\n */\n width?: number | string;\n\n /**\n * Вызывается, когда пользователь запросил закрытие сайдпейджа (нажал на фон, на\n * Escape или на крестик).\n */\n onClose?: () => void;\n\n /**\n * Показывать сайдпэйдж слева\n *\n */\n fromLeft?: boolean;\n\n /**\n * Отключить анимации\n *\n */\n disableAnimations?: boolean;\n\n /**\n * Работает только при заблокированном фоне: `blockBackground = true`\n */\n disableFocusLock: boolean;\n\n /**\n * задает отступ от края экрана\n */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * Сайдпейдж\n *\n * Содержит в себе три компоненты: **SidePage.Header**,\n * **SidePage.Body** и **SidePage.Footer**\n *\n * Для отображения серой плашки в футере в компонент\n * **Footer** необходимо передать пропс **panel**\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layoutRef: HTMLElement | null = null;\n private footer: SidePageFooter | null = null;\n private rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n window.addEventListener('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentWillUnmount() {\n window.removeEventListener('keydown', this.handleKeyDown);\n if (this.stackSubscription != null) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n if (this.footer) {\n this.footer.update();\n }\n };\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n disableFocusLock: true,\n offset: 0,\n };\n\n public render(): JSX.Element {\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 { blockBackground, disableAnimations } = this.props;\n\n return (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <div>\n {blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n >\n {this.renderContainer()}\n </CSSTransition>\n </div>\n </CommonWrapper>\n </RenderContainer>\n );\n }\n\n private renderContainer(): JSX.Element {\n const { width, blockBackground, fromLeft, disableFocusLock, offset } = this.props;\n\n return (\n <ZIndex\n priority={'Sidepage'}\n data-tid=\"SidePage__root\"\n className={cx({\n [styles.root()]: true,\n })}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{\n width: width || (blockBackground ? 800 : 500),\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }}\n wrapperRef={this.rootRef}\n >\n <FocusLock disabled={disableFocusLock || !blockBackground} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid=\"SidePage__container\"\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={(_) => (this.layoutRef = _)}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </ZIndex>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layoutRef) {\n return 'auto';\n }\n return this.layoutRef.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <ZIndex priority={'Sidepage'} className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </ZIndex>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: ReadonlyArray<React.Component>) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (e instanceof MouseEvent && e.clientX > document.documentElement.clientWidth) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"]}
1
+ {"version":3,"sources":["SidePage.tsx"],"names":["TRANSITION_TIMEOUT","SidePage","state","hasHeader","hasFooter","hasPanel","theme","stackSubscription","layoutRef","footer","rootRef","React","createRef","updateLayout","update","disablePageScroll","e","layout","reachedTop","scrollTop","deltaY","reachedBottom","scrollHeight","offsetHeight","props","blockBackground","preventDefault","getSidePageContextProps","requestClose","getWidth","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","fromLeft","currentSidePagePosition","indexOf","hasMargin","length","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","ignoreBackgroundClick","MouseEvent","clientX","document","documentElement","handleKeyDown","disableClose","onClose","ref","componentDidMount","window","addEventListener","current","passive","add","componentWillUnmount","removeEventListener","remove","render","renderMain","disableAnimations","renderShadow","getTransitionNames","enter","exit","renderContainer","width","disableFocusLock","offset","styles","root","LayoutEvents","emit","right","left","focusLock","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","_","children","overlay","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appear","appearActive","Component","__KONTUR_REACT_UI__","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","defaultProps","isTestEnv"],"mappings":"ybAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,IAAMA,kBAAkB,GAAG,GAA3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;AACaC,Q;;;;;;;AAOJC,IAAAA,K,GAAuB;AAC5BC,MAAAA,SAAS,EAAE,KADiB;AAE5BC,MAAAA,SAAS,EAAE,KAFiB;AAG5BC,MAAAA,QAAQ,EAAE,KAHkB,E;;AAKtBC,IAAAA,K;AACAC,IAAAA,iB,GAAmD,I;AACnDC,IAAAA,S,GAAgC,I;AAChCC,IAAAA,M,GAAgC,I;AAChCC,IAAAA,O,gBAAUC,eAAMC,SAAN,E;;;;;;;;;;;;;;;;;;;;;AAqBXC,IAAAA,Y,GAAe,YAAY;AAChC,UAAI,MAAKJ,MAAT,EAAiB;AACf,cAAKA,MAAL,CAAYK,MAAZ;AACD;AACF,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFOC,IAAAA,iB,GAAoB,UAACC,CAAD,EAAmB;AAC7C,UAAMC,MAAM,GAAG,MAAKT,SAApB;AACA,UAAI,CAACS,MAAL,EAAa;AACb,UAAMC,UAAU,GAAGD,MAAM,CAACE,SAAP,IAAoB,CAApB,IAAyBH,CAAC,CAACI,MAAF,GAAW,CAAvD;AACA,UAAMC,aAAa,GAAGJ,MAAM,CAACE,SAAP,IAAoBF,MAAM,CAACK,YAAP,GAAsBL,MAAM,CAACM,YAAjD,IAAiEP,CAAC,CAACI,MAAF,GAAW,CAAlG;;AAEA,UAAI,CAAC,MAAKI,KAAL,CAAWC,eAAZ,KAAgCP,UAAU,IAAIG,aAA9C,CAAJ,EAAkE;AAChEL,QAAAA,CAAC,CAACU,cAAF;AACD;AACF,K;;AAEOC,IAAAA,uB,GAA0B,YAA2B;AAC3D,aAAO;AACLxB,QAAAA,SAAS,EAAE,MAAKD,KAAL,CAAWC,SADjB;AAELC,QAAAA,SAAS,EAAE,MAAKF,KAAL,CAAWE,SAFjB;AAGLC,QAAAA,QAAQ,EAAE,MAAKH,KAAL,CAAWG,QAHhB;AAILuB,QAAAA,YAAY,EAAE,MAAKA,YAJd;AAKLC,QAAAA,QAAQ,EAAE,MAAKA,QALV;AAMLhB,QAAAA,YAAY,EAAE,MAAKA,YANd;AAOLiB,QAAAA,SAAS,EAAE,MAAKA,SAPX;AAQLC,QAAAA,YAAY,EAAE,MAAKA,YARd;AASLC,QAAAA,YAAY,EAAE,MAAKA,YATd;AAULC,QAAAA,WAAW,EAAE,MAAKA,WAVb,EAAP;;AAYD,K;;AAEOJ,IAAAA,Q,GAAW,YAAM;AACvB,UAAI,CAAC,MAAKrB,SAAV,EAAqB;AACnB,eAAO,MAAP;AACD;AACD,aAAO,MAAKA,SAAL,CAAe0B,WAAtB;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BOC,IAAAA,iB,GAAoB,UAACC,KAAD,EAA2C;AACrE,UAAMC,SAAS,GAAGD,KAAK,CAACE,MAAN,CAAa,UAACC,CAAD,UAAOA,CAAC,YAAYtC,QAAb,IAAyBsC,CAAC,CAACf,KAAF,CAAQgB,QAAR,KAAqB,MAAKhB,KAAL,CAAWgB,QAAhE,EAAb,CAAlB;AACA,UAAMC,uBAAuB,GAAGJ,SAAS,CAACK,OAAV,6CAAhC;;AAEA,UAAMC,SAAS,GAAGN,SAAS,CAACO,MAAV,GAAmB,CAAnB,IAAwBH,uBAAuB,KAAKJ,SAAS,CAACO,MAAV,GAAmB,CAAzF;AACA,UAAMC,SAAS,GAAGR,SAAS,CAACO,MAAV,GAAmB,CAAnB,IAAwBH,uBAAuB,GAAGJ,SAAS,CAACO,MAAV,GAAmB,CAAvF;AACA,UAAME,aAAa,GAAGC,uBAAWC,UAAX,6CAAtB;;AAEA,YAAKC,QAAL,CAAc;AACZC,QAAAA,aAAa,EAAEd,KAAK,CAACM,OAAN,6CADH;AAEZC,QAAAA,SAAS,EAATA,SAFY;AAGZE,QAAAA,SAAS,EAATA,SAHY;AAIZC,QAAAA,aAAa,EAAbA,aAJY,EAAd;;AAMD,K;;AAEOK,IAAAA,kB,GAAqB,UAACnC,CAAD,EAAc;AACzC,UAAI,MAAKd,KAAL,CAAWgD,aAAX,KAA6B,CAA7B,IAAkC,CAAC,MAAK1B,KAAL,CAAW4B,qBAAlD,EAAyE;AACvE;AACA,YAAIpC,CAAC,YAAYqC,UAAb,IAA2BrC,CAAC,CAACsC,OAAF,GAAYC,QAAQ,CAACC,eAAT,CAAyBtB,WAApE,EAAiF;AAC/E;AACD;AACD,cAAKN,YAAL;AACD;AACF,K;;AAEO6B,IAAAA,a,GAAgB,UAACzC,CAAD,EAAsB;AAC5C,UAAI,MAAKd,KAAL,CAAWgD,aAAX,KAA6B,CAAjC,EAAoC;AAClC;AACD;AACD,UAAI,8BAAYlC,CAAZ,CAAJ,EAAoB;AAClB,8CAAgBA,CAAhB;AACA,cAAKY,YAAL;AACD;AACF,K;;AAEOA,IAAAA,Y,GAAe,YAAM;AAC3B,UAAI,MAAKJ,KAAL,CAAWkC,YAAf,EAA6B;AAC3B;AACD;AACD,UAAI,MAAKlC,KAAL,CAAWmC,OAAf,EAAwB;AACtB,cAAKnC,KAAL,CAAWmC,OAAX;AACD;AACF,K;;AAEO7B,IAAAA,S,GAAY,UAAC8B,GAAD,EAAgC;AAClD,YAAKnD,MAAL,GAAcmD,GAAd;AACD,K;;AAEO7B,IAAAA,Y,GAAe,UAAC5B,SAAD,EAAsB,KAArBA,SAAqB,cAArBA,SAAqB,GAAT,IAAS;AAC3C,YAAKD,KAAL,CAAWC,SAAX,KAAyBA,SAAzB,IAAsC,MAAK8C,QAAL,CAAc,EAAE9C,SAAS,EAATA,SAAF,EAAd,CAAtC;AACD,K;;AAEO6B,IAAAA,Y,GAAe,UAAC5B,SAAD,EAAsB,KAArBA,SAAqB,cAArBA,SAAqB,GAAT,IAAS;AAC3C,YAAKF,KAAL,CAAWE,SAAX,KAAyBA,SAAzB,IAAsC,MAAK6C,QAAL,CAAc,EAAE7C,SAAS,EAATA,SAAF,EAAd,CAAtC;AACD,K;;AAEO6B,IAAAA,W,GAAc,UAAC5B,QAAD,EAAsB,KAArBA,QAAqB,cAArBA,QAAqB,GAAV,KAAU;AAC1C,YAAKH,KAAL,CAAWG,QAAX,KAAwBA,QAAxB,IAAoC,MAAK4C,QAAL,CAAc,EAAE5C,QAAQ,EAARA,QAAF,EAAd,CAApC;AACD,K,sDAvOMwD,iB,GAAP,6BAA2B,2BACzBC,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmC,KAAKN,aAAxC,EACA,8BAAK/C,OAAL,CAAasD,OAAb,2CAAsBD,gBAAtB,CAAuC,OAAvC,EAAgD,KAAKhD,iBAArD,EAAwE,EAAEkD,OAAO,EAAE,KAAX,EAAxE,EACA,KAAK1D,iBAAL,GAAyBwC,uBAAWmB,GAAX,CAAe,IAAf,EAAqB,KAAK/B,iBAA1B,CAAzB,CACD,C,QAEMgC,oB,GAAP,gCAA8B,4BAC5BL,MAAM,CAACM,mBAAP,CAA2B,SAA3B,EAAsC,KAAKX,aAA3C,EACA,+BAAK/C,OAAL,CAAasD,OAAb,4CAAsBI,mBAAtB,CAA0C,OAA1C,EAAmD,KAAKrD,iBAAxD,EACA,IAAI,KAAKR,iBAAL,IAA0B,IAA9B,EAAoC,CAClC,KAAKA,iBAAL,CAAuB8D,MAAvB,GACD,CACDtB,uBAAWsB,MAAX,CAAkB,IAAlB,EACD,C,CAED;AACF;AACA;AACA,K,QAaSC,M,GAAP,kBAA6B,mBAC3B,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAAChE,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACiE,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,mBAC4B,KAAK/C,KADjC,CACXC,eADW,eACXA,eADW,CACM+C,iBADN,eACMA,iBADN,CAGnB,oBACE,6BAAC,gCAAD,qBACE,6BAAC,4BAAD,EAAmB,KAAKhD,KAAxB,eACE,0CACGC,eAAe,IAAI,KAAKgD,YAAL,EADtB,eAEE,6BAAC,mCAAD,IACE,EAAE,MADJ,EAEE,UAAU,EAAE,KAAKC,kBAAL,EAFd,EAGE,MAAM,EAAE,CAACF,iBAHX,EAIE,KAAK,EAAE,CAACA,iBAJV,EAKE,IAAI,EAAE,KALR,EAME,OAAO,EAAE,EACPG,KAAK,EAAE3E,kBADA,EAEP4E,IAAI,EAAE5E,kBAFC,EANX,EAUE,OAAO,EAAE,KAAKU,OAVhB,IAYG,KAAKmE,eAAL,EAZH,CAFF,CADF,CADF,CADF,CAuBD,C,QAEOA,e,GAAR,2BAAuC,+CACkC,KAAKrD,KADvC,CAC7BsD,KAD6B,gBAC7BA,KAD6B,CACtBrD,eADsB,gBACtBA,eADsB,CACLe,QADK,gBACLA,QADK,CACKuC,gBADL,gBACKA,gBADL,CACuBC,MADvB,gBACuBA,MADvB,CAGrC,oBACE,6BAAC,cAAD,IACE,QAAQ,EAAE,UADZ,EAEE,YAAS,gBAFX,EAGE,SAAS,EAAE,gCACRC,iBAAOC,IAAP,EADQ,IACQ,IADR,OAHb,EAME,QAAQ,EAAEC,YAAY,CAACC,IANzB,EAOE,qBAAqB,MAPvB,EAQE,KAAK,EAAE,EACLN,KAAK,EAAEA,KAAK,KAAKrD,eAAe,GAAG,GAAH,GAAS,GAA7B,CADP,EAEL4D,KAAK,EAAE7C,QAAQ,GAAG,MAAH,GAAYwC,MAFtB,EAGLM,IAAI,EAAE9C,QAAQ,GAAGwC,MAAH,GAAY,MAHrB,EART,EAaE,UAAU,EAAE,KAAKtE,OAbnB,iBAeE,6BAAC,uBAAD,IAAW,QAAQ,EAAEqE,gBAAgB,IAAI,CAACtD,eAA1C,EAA2D,SAAS,EAAE,KAAtE,EAA6E,SAAS,EAAEwD,iBAAOM,SAAP,EAAxF,iBACE,6BAAC,wBAAD,IAAa,cAAc,EAAE,KAAKpC,kBAAlC,EAAsD,MAAM,MAA5D,iBACE,sCACE,YAAS,qBADX,EAEE,SAAS,EAAE,iBAAG8B,iBAAOO,OAAP,CAAe,KAAKlF,KAApB,CAAH,mBACR2E,iBAAOQ,WAAP,EADQ,IACejD,QADf,OAERyC,iBAAOS,iBAAP,EAFQ,IAEqB,KAAKxF,KAAL,CAAWyC,SAAX,IAAwBH,QAF7C,OAGRyC,iBAAOU,kBAAP,EAHQ,IAGsB,KAAKzF,KAAL,CAAWyC,SAAX,IAAwB,CAACH,QAH/C,OAIRyC,iBAAOW,MAAP,CAAc,KAAKtF,KAAnB,CAJQ,IAIoB,KAAKJ,KAAL,CAAW2C,SAJ/B,QAFb,EAQE,GAAG,EAAE,aAACgD,CAAD,UAAQ,MAAI,CAACrF,SAAL,GAAiBqF,CAAzB,EARP,iBAUE,6BAAC,gCAAD,CAAiB,QAAjB,IAA0B,KAAK,EAAE,KAAKlE,uBAAL,EAAjC,IACG,KAAKH,KAAL,CAAWsE,QADd,CAVF,CADF,CADF,CAfF,CADF,CAoCD,C,QAmCOrB,Y,GAAR,wBAAoC,UAClC,oBACE,6BAAC,cAAD,IAAQ,QAAQ,EAAE,UAAlB,EAA8B,SAAS,EAAEQ,iBAAOc,OAAP,EAAzC,EAA2D,QAAQ,EAAEZ,YAAY,CAACC,IAAlF,iBACE,6BAAC,8CAAD,IAAwB,GAAG,EAAC,MAA5B,GADF,eAEE,sCACE,GAAG,EAAC,SADN,EAEE,SAAS,EAAE,kCACRH,iBAAOe,UAAP,EADQ,IACc,IADd,OAERf,iBAAOgB,cAAP,CAAsB,KAAK3F,KAA3B,CAFQ,IAE4B,KAAKJ,KAAL,CAAW4C,aAFvC,QAFb,GAFF,CADF,CAYD,C,QAEO4B,kB,GAAR,8BAAqD,CACnD,IAAMwB,UAAU,GAAG,KAAK1E,KAAL,CAAWgB,QAAX,GAAsByC,iBAAOkB,eAA7B,GAA+ClB,iBAAOmB,cAAzE,CAEA,OAAO,EACLzB,KAAK,EAAEuB,UAAU,EADZ,EAELG,WAAW,EAAEpB,iBAAOqB,gBAAP,EAFR,EAGL1B,IAAI,EAAEK,iBAAOsB,eAAP,EAHD,EAILC,UAAU,EAAEvB,iBAAOwB,qBAAP,EAJP,EAKLC,MAAM,EAAER,UAAU,EALb,EAMLS,YAAY,EAAE1B,iBAAOqB,gBAAP,EANT,EAAP,CAQD,C,mBA5L2B3F,eAAMiG,S,8BAAvB3G,Q,CACG4G,mB,GAAsB,U,CADzB5G,Q,CAGG6G,M,GAASC,8B,CAHZ9G,Q,CAIG+G,I,GAAOC,0B,CAJVhH,Q,CAKGiH,M,GAASC,8B,CALZlH,Q,CAMGmH,S,GAAYC,oC,CANfpH,Q,CA2CGqH,Y,GAAe,EAC3B9C,iBAAiB,EAAE+C,6BADQ,EAE3BxC,gBAAgB,EAAE,IAFS,EAG3BC,MAAM,EAAE,CAHmB,E","sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\n\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport { ModalStack, ModalStackSubscription } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport { SidePageContext, SidePageContextType } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps extends CommonProps {\n /**\n * Добавить блокирующий фон, когда сайдпейдж открыт\n */\n blockBackground?: boolean;\n\n /**\n * Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа\n */\n disableClose?: boolean;\n\n /**\n * Не закрывать сайдпейдж при клике на фон.\n */\n ignoreBackgroundClick?: boolean;\n\n /**\n * Задать ширину сайдпейджа\n */\n width?: number | string;\n\n /**\n * Вызывается, когда пользователь запросил закрытие сайдпейджа (нажал на фон, на\n * Escape или на крестик).\n */\n onClose?: () => void;\n\n /**\n * Показывать сайдпэйдж слева\n *\n */\n fromLeft?: boolean;\n\n /**\n * Отключить анимации\n *\n */\n disableAnimations?: boolean;\n\n /**\n * Работает только при заблокированном фоне: `blockBackground = true`\n */\n disableFocusLock: boolean;\n\n /**\n * задает отступ от края экрана\n */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * Сайдпейдж\n *\n * Содержит в себе три компоненты: **SidePage.Header**,\n * **SidePage.Body** и **SidePage.Footer**\n *\n * Для отображения серой плашки в футере в компонент\n * **Footer** необходимо передать пропс **panel**\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layoutRef: HTMLElement | null = null;\n private footer: SidePageFooter | null = null;\n private rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n window.addEventListener('keydown', this.handleKeyDown);\n this.rootRef.current?.addEventListener('wheel', this.disablePageScroll, { passive: false });\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentWillUnmount() {\n window.removeEventListener('keydown', this.handleKeyDown);\n this.rootRef.current?.removeEventListener('wheel', this.disablePageScroll);\n if (this.stackSubscription != null) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n if (this.footer) {\n this.footer.update();\n }\n };\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n disableFocusLock: true,\n offset: 0,\n };\n\n public render(): JSX.Element {\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 { blockBackground, disableAnimations } = this.props;\n\n return (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <div>\n {blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n >\n {this.renderContainer()}\n </CSSTransition>\n </div>\n </CommonWrapper>\n </RenderContainer>\n );\n }\n\n private renderContainer(): JSX.Element {\n const { width, blockBackground, fromLeft, disableFocusLock, offset } = this.props;\n\n return (\n <ZIndex\n priority={'Sidepage'}\n data-tid=\"SidePage__root\"\n className={cx({\n [styles.root()]: true,\n })}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{\n width: width || (blockBackground ? 800 : 500),\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }}\n wrapperRef={this.rootRef}\n >\n <FocusLock disabled={disableFocusLock || !blockBackground} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid=\"SidePage__container\"\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={(_) => (this.layoutRef = _)}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </ZIndex>\n );\n }\n\n private disablePageScroll = (e: WheelEvent) => {\n const layout = this.layoutRef;\n if (!layout) return;\n const reachedTop = layout.scrollTop <= 0 && e.deltaY < 0;\n const reachedBottom = layout.scrollTop >= layout.scrollHeight - layout.offsetHeight && e.deltaY > 0;\n\n if (!this.props.blockBackground && (reachedTop || reachedBottom)) {\n e.preventDefault();\n }\n };\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layoutRef) {\n return 'auto';\n }\n return this.layoutRef.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <ZIndex priority={'Sidepage'} className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </ZIndex>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: ReadonlyArray<React.Component>) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (e instanceof MouseEvent && e.clientX > document.documentElement.clientWidth) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"]}
@@ -11,6 +11,14 @@ export interface SpinnerProps extends CommonProps {
11
11
  * @default normal
12
12
  */
13
13
  type: SpinnerType;
14
+ /**
15
+ * Толщина спиннера
16
+ */
17
+ width?: number;
18
+ /**
19
+ * Цвет спиннера
20
+ */
21
+ color?: React.CSSProperties['color'];
14
22
  }
15
23
  /**
16
24
  * DRAFT - инлайн-лоадер
@@ -28,6 +28,14 @@ var types = {
28
28
 
29
29
 
30
30
 
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
31
39
 
32
40
 
33
41
  /**
@@ -96,10 +104,20 @@ Spinner = (_dec = (0, _decorators.locale)('Spinner', _locale.SpinnerLocaleHelper
96
104
 
97
105
 
98
106
 
99
- renderSpinner = function (type, dimmed) {
100
- var circleClassName = dimmed ? _Spinner.styles.circleDimmed(_this.theme) : _Spinner.styles.circle(_this.theme);
107
+ renderSpinner = function (type, dimmed) {var _cx;
108
+ return /*#__PURE__*/(
109
+ _react.default.createElement(_SpinnerIcon.SpinnerIcon, {
110
+ size: type,
111
+ className: (0, _Emotion.cx)((_cx = {}, _cx[
112
+ _Spinner.styles.circle(_this.theme)] = !dimmed && !_this.props.color, _cx[
113
+ _Spinner.styles.circleDimmedColor(_this.theme)] = dimmed, _cx[
114
+ _Spinner.styles.circleWithoutColorAnimation(_this.theme)] = dimmed || !!_this.props.color, _cx)),
115
+
116
+ dimmed: dimmed,
117
+ width: _this.props.width,
118
+ color: _this.props.color }));
119
+
101
120
 
102
- return /*#__PURE__*/_react.default.createElement(_SpinnerIcon.SpinnerIcon, { size: type, className: circleClassName, dimmed: dimmed });
103
121
  };_this.
104
122
 
105
123
  renderCaption = function (type, caption) {return /*#__PURE__*/(
@@ -1 +1 @@
1
- {"version":3,"sources":["Spinner.tsx"],"names":["types","big","mini","normal","Spinner","SpinnerLocaleHelper","rootNode","props","theme","locale","setRootNode","renderSpinner","type","dimmed","circleClassName","styles","circleDimmed","circle","renderCaption","caption","captionColor","render","renderMain","loading","spinner","inner","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","node","bool","oneOf","Object","keys","defaultProps","Types"],"mappings":"qUAAA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kC;;AAEA,IAAMA,KAAuC,GAAG;AAC9CC,EAAAA,GAAG,EAAE,KADyC;AAE9CC,EAAAA,IAAI,EAAE,MAFwC;AAG9CC,EAAAA,MAAM,EAAE,QAHsC,EAAhD;;;;;;;;;;;;;;;AAkBA;AACA;AACA,G;;;;AAIaC,O,WADZ,wBAAO,SAAP,EAAkBC,2BAAlB,C,MADAC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCC,mBAAYC,KAAZ,EAAiC;AAC/B,wCAAMA,KAAN,UAD+B,MAJzBC,KAIyB,gBAHhBC,MAGgB,gBAFzBC,WAEyB;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BzBC,IAAAA,aA5ByB,GA4BT,UAACC,IAAD,EAAoBC,MAApB,EAAyC;AAC/D,UAAMC,eAAe,GAAGD,MAAM,GAAGE,gBAAOC,YAAP,CAAoB,MAAKR,KAAzB,CAAH,GAAqCO,gBAAOE,MAAP,CAAc,MAAKT,KAAnB,CAAnE;;AAEA,0BAAO,6BAAC,wBAAD,IAAa,IAAI,EAAEI,IAAnB,EAAyB,SAAS,EAAEE,eAApC,EAAqD,MAAM,EAAED,MAA7D,GAAP;AACD,KAhCgC;;AAkCzBK,IAAAA,aAlCyB,GAkCT,UAACN,IAAD,EAAoBO,OAApB;AACtB,+CAAM,SAAS,EAAE,iBAAGJ,gBAAOH,IAAP,EAAa,MAAKJ,KAAlB,CAAH,EAA6BO,gBAAOK,YAAP,CAAoB,MAAKZ,KAAzB,CAA7B,CAAjB,IAAiFW,OAAjF,CADsB,GAlCS,cAEhC,C,sCAEME,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACb,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACc,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,mBACqC,KAAKf,KAD1C,CACXK,IADW,eACXA,IADW,mCACLO,OADK,CACLA,OADK,oCACK,KAAKV,MAAL,CAAYc,OADjB,uBAC0BV,MAD1B,eAC0BA,MAD1B,CAGnB,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKH,WAAjC,IAAkD,KAAKH,KAAvD,gBACE,sCAAK,SAAS,EAAEQ,gBAAOS,OAAP,EAAhB,iBACE,uCAAM,SAAS,EAAET,gBAAOU,KAAP,EAAjB,IAAkC,KAAKd,aAAL,CAAmBC,IAAnB,EAAyBC,MAAzB,CAAlC,CADF,EAEGM,OAAO,IAAI,KAAKD,aAAL,CAAmBN,IAAnB,EAAyBO,OAAzB,CAFd,CADF,CADF,CAQD,C,kBA1D0BO,eAAMC,S,WACnBC,mB,GAAsB,S,UAEtBC,S,GAAY,EACxB;AACJ;AACA;AACA;AACA,KACIV,OAAO,EAAEW,mBAAUC,IANK,EAQxBlB,MAAM,EAAEiB,mBAAUE,IARM,EAUxB;AACJ;AACA;AACA;AACA;AACA;AACA,KACIpB,IAAI,EAAEkB,mBAAUG,KAAV,CAAgBC,MAAM,CAACC,IAAP,CAAYnC,KAAZ,CAAhB,CAjBkB,E,UAoBZoC,Y,GAA6B,EACzCxB,IAAI,EAAE,QADmC,E,UAI7ByB,K,GAAsBrC,K","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { SpinnerIcon } from '../../internal/icons/SpinnerIcon';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Spinner.styles';\nimport { SpinnerLocale, SpinnerLocaleHelper } from './locale';\n\nconst types: Record<SpinnerType, SpinnerType> = {\n big: 'big',\n mini: 'mini',\n normal: 'normal',\n};\n\nexport type SpinnerType = 'mini' | 'normal' | 'big';\n\nexport interface SpinnerProps extends CommonProps {\n caption?: React.ReactNode;\n dimmed?: boolean;\n /**\n * Тип спиннера\n * @default normal\n */\n type: SpinnerType;\n}\n\n/**\n * DRAFT - инлайн-лоадер\n */\n\n@rootNode\n@locale('Spinner', SpinnerLocaleHelper)\nexport class Spinner extends React.Component<SpinnerProps> {\n public static __KONTUR_REACT_UI__ = 'Spinner';\n\n public static propTypes = {\n /**\n * Текст рядом с мини-лоадером.\n *\n * 'Загрузка' - значение по-умолчанию\n */\n caption: PropTypes.node,\n\n dimmed: PropTypes.bool,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * Значение по-умолчанию - normal\n *\n * Spinner.types - все доступные типы\n */\n type: PropTypes.oneOf(Object.keys(types)),\n };\n\n public static defaultProps: SpinnerProps = {\n type: 'normal',\n };\n\n public static Types: typeof types = types;\n private theme!: Theme;\n private readonly locale!: SpinnerLocale;\n private setRootNode!: TSetRootNode;\n\n constructor(props: SpinnerProps) {\n super(props);\n }\n\n public render() {\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 { type, caption = this.locale.loading, dimmed } = this.props;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.spinner()}>\n <span className={styles.inner()}>{this.renderSpinner(type, dimmed)}</span>\n {caption && this.renderCaption(type, caption)}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderSpinner = (type: SpinnerType, dimmed?: boolean) => {\n const circleClassName = dimmed ? styles.circleDimmed(this.theme) : styles.circle(this.theme);\n\n return <SpinnerIcon size={type} className={circleClassName} dimmed={dimmed} />;\n };\n\n private renderCaption = (type: SpinnerType, caption: React.ReactNode) => (\n <span className={cx(styles[type](this.theme), styles.captionColor(this.theme))}>{caption}</span>\n );\n}\n"]}
1
+ {"version":3,"sources":["Spinner.tsx"],"names":["types","big","mini","normal","Spinner","SpinnerLocaleHelper","rootNode","props","theme","locale","setRootNode","renderSpinner","type","dimmed","styles","circle","color","circleDimmedColor","circleWithoutColorAnimation","width","renderCaption","caption","captionColor","render","renderMain","loading","spinner","inner","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","node","bool","oneOf","Object","keys","defaultProps","Types"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { SpinnerIcon } from '../../internal/icons/SpinnerIcon';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Spinner.styles';\nimport { SpinnerLocale, SpinnerLocaleHelper } from './locale';\n\nconst types: Record<SpinnerType, SpinnerType> = {\n big: 'big',\n mini: 'mini',\n normal: 'normal',\n};\n\nexport type SpinnerType = 'mini' | 'normal' | 'big';\n\nexport interface SpinnerProps extends CommonProps {\n caption?: React.ReactNode;\n dimmed?: boolean;\n /**\n * Тип спиннера\n * @default normal\n */\n type: SpinnerType;\n /**\n * Толщина спиннера\n */\n width?: number;\n /**\n * Цвет спиннера\n */\n color?: React.CSSProperties['color'];\n}\n\n/**\n * DRAFT - инлайн-лоадер\n */\n\n@rootNode\n@locale('Spinner', SpinnerLocaleHelper)\nexport class Spinner extends React.Component<SpinnerProps> {\n public static __KONTUR_REACT_UI__ = 'Spinner';\n\n public static propTypes = {\n /**\n * Текст рядом с мини-лоадером.\n *\n * 'Загрузка' - значение по-умолчанию\n */\n caption: PropTypes.node,\n\n dimmed: PropTypes.bool,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * Значение по-умолчанию - normal\n *\n * Spinner.types - все доступные типы\n */\n type: PropTypes.oneOf(Object.keys(types)),\n };\n\n public static defaultProps: SpinnerProps = {\n type: 'normal',\n };\n\n public static Types: typeof types = types;\n private theme!: Theme;\n private readonly locale!: SpinnerLocale;\n private setRootNode!: TSetRootNode;\n\n constructor(props: SpinnerProps) {\n super(props);\n }\n\n public render() {\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 { type, caption = this.locale.loading, dimmed } = this.props;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.spinner()}>\n <span className={styles.inner()}>{this.renderSpinner(type, dimmed)}</span>\n {caption && this.renderCaption(type, caption)}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderSpinner = (type: SpinnerType, dimmed?: boolean) => {\n return (\n <SpinnerIcon\n size={type}\n className={cx({\n [styles.circle(this.theme)]: !dimmed && !this.props.color,\n [styles.circleDimmedColor(this.theme)]: dimmed,\n [styles.circleWithoutColorAnimation(this.theme)]: dimmed || !!this.props.color,\n })}\n dimmed={dimmed}\n width={this.props.width}\n color={this.props.color}\n />\n );\n };\n\n private renderCaption = (type: SpinnerType, caption: React.ReactNode) => (\n <span className={cx(styles[type](this.theme), styles.captionColor(this.theme))}>{caption}</span>\n );\n}\n"]}
@@ -14,6 +14,7 @@ const reactNodeCaption = (
14
14
  <Spinner type="mini" caption="mini" />
15
15
  <Spinner type="mini" dimmed caption="mini dimmed" />
16
16
  <Spinner type="big" caption={reactNodeCaption} />
17
+ <Spinner type="big" caption="custom" width={8} color={'#538A1B'}/>
17
18
  </Gapped>;
18
19
  ```
19
20
 
@@ -1,7 +1,8 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
2
  export declare const styles: {
3
3
  circle(t: Theme): string;
4
- circleDimmed(t: Theme): string;
4
+ circleDimmedColor(t: Theme): string;
5
+ circleWithoutColorAnimation(t: Theme): string;
5
6
  captionColor(t: Theme): string;
6
7
  mini(t: Theme): string;
7
8
  normal(t: Theme): string;
@@ -1,7 +1,7 @@
1
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");
2
2
 
3
3
  var _AnimationKeyframes = require("../../lib/theming/AnimationKeyframes");
4
- var _client = require("../../lib/client");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
4
+ var _client = require("../../lib/client");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
5
5
 
6
6
  var styles = (0, _Emotion.memoizeStyle)({
7
7
  circle: function circle(t) {
@@ -17,10 +17,13 @@ var styles = (0, _Emotion.memoizeStyle)({
17
17
 
18
18
 
19
19
  },
20
- circleDimmed: function circleDimmed(t) {
21
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n stroke: ", ";\n\n ", "\n "])),
22
- t.spinnerDimmedColor,
20
+ circleDimmedColor: function circleDimmedColor(t) {
21
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n stroke: ", ";\n "])),
22
+ t.spinnerDimmedColor);
23
23
 
24
+ },
25
+ circleWithoutColorAnimation: function circleWithoutColorAnimation(t) {
26
+ return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "\n "])),
24
27
  !_client.isIE11 && "\n animation: " +
25
28
 
26
29
  _AnimationKeyframes.AnimationKeyframes.spinnerCircleOffset(t) + " 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n " +
@@ -31,13 +34,13 @@ var styles = (0, _Emotion.memoizeStyle)({
31
34
  },
32
35
 
33
36
  captionColor: function captionColor(t) {
34
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
37
+ return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
35
38
  t.spinnerCaptionColor);
36
39
 
37
40
  },
38
41
 
39
42
  mini: function mini(t) {
40
- return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-left: ", ";\n font-size: ", ";\n line-height: ", ";\n "])),
43
+ return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-left: ", ";\n font-size: ", ";\n line-height: ", ";\n "])),
41
44
  t.spinnerCaptionGapSmall,
42
45
  t.spinnerFontSizeSmall,
43
46
  t.spinnerLineHeightSmall);
@@ -45,7 +48,7 @@ var styles = (0, _Emotion.memoizeStyle)({
45
48
  },
46
49
 
47
50
  normal: function normal(t) {
48
- return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
51
+ return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
49
52
 
50
53
  t.spinnerFontSizeMedium,
51
54
  t.spinnerLineHeightMedium,
@@ -54,7 +57,7 @@ var styles = (0, _Emotion.memoizeStyle)({
54
57
  },
55
58
 
56
59
  big: function big(t) {
57
- return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
60
+ return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
58
61
 
59
62
  t.spinnerFontSizeLarge,
60
63
  t.spinnerLineHeightLarge,
@@ -63,14 +66,14 @@ var styles = (0, _Emotion.memoizeStyle)({
63
66
  },
64
67
 
65
68
  spinner: function spinner() {
66
- return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n text-align: center;\n "])));
69
+ return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n text-align: center;\n "])));
67
70
 
68
71
 
69
72
 
70
73
  },
71
74
 
72
75
  inner: function inner() {
73
- return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n "])));
76
+ return (0, _Emotion.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n "])));
74
77
 
75
78
 
76
79
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["Spinner.styles.ts"],"names":["styles","circle","t","css","spinnerColor","isIE11","AnimationKeyframes","spinnerCircleOffset","spinnerCircleLength","spinnerCircleRotate","circleDimmed","spinnerDimmedColor","captionColor","spinnerCaptionColor","mini","spinnerCaptionGapSmall","spinnerFontSizeSmall","spinnerLineHeightSmall","normal","spinnerFontSizeMedium","spinnerLineHeightMedium","spinnerCaptionGapMedium","big","spinnerFontSizeLarge","spinnerLineHeightLarge","spinnerCaptionGapLarge","spinner","inner"],"mappings":"4QAAA;;AAEA;AACA,0C;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,MADiC,kBAC1BC,CAD0B,EAChB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACE,YADd;;AAGI,KAACC,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGMI,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHN;AAIMI,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJN;AAKMI,2CAAmBF,YAAnB,CAAgCF,CAAhC,CALN,wCAHJ;;;AAWD,GAbgC;AAcjCQ,EAAAA,YAdiC,wBAcpBR,CAdoB,EAcV;AACrB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACS,kBADd;;AAGI,KAACN,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGII,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHJ;AAIII,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJJ,mCAHJ;;;AAUD,GAzBgC;;AA2BjCU,EAAAA,YA3BiC,wBA2BpBV,CA3BoB,EA2BV;AACrB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACW,mBADb;;AAGD,GA/BgC;;AAiCjCC,EAAAA,IAjCiC,gBAiC5BZ,CAjC4B,EAiClB;AACb,eAAOC,YAAP;AACiBD,IAAAA,CAAC,CAACa,sBADnB;AAEeb,IAAAA,CAAC,CAACc,oBAFjB;AAGiBd,IAAAA,CAAC,CAACe,sBAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,MAzCiC,kBAyC1BhB,CAzC0B,EAyChB;AACf,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACiB,qBAFjB;AAGiBjB,IAAAA,CAAC,CAACkB,uBAHnB;AAIgBlB,IAAAA,CAAC,CAACmB,uBAJlB;;AAMD,GAhDgC;;AAkDjCC,EAAAA,GAlDiC,eAkD7BpB,CAlD6B,EAkDnB;AACZ,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACqB,oBAFjB;AAGiBrB,IAAAA,CAAC,CAACsB,sBAHnB;AAIgBtB,IAAAA,CAAC,CAACuB,sBAJlB;;AAMD,GAzDgC;;AA2DjCC,EAAAA,OA3DiC,qBA2DvB;AACR,eAAOvB,YAAP;;;;AAID,GAhEgC;;AAkEjCwB,EAAAA,KAlEiC,mBAkEzB;AACN,eAAOxB,YAAP;;;AAGD,GAtEgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { AnimationKeyframes } from '../../lib/theming/AnimationKeyframes';\nimport { isIE11 } from '../../lib/client';\n\nexport const styles = memoizeStyle({\n circle(t: Theme) {\n return css`\n stroke: ${t.spinnerColor};\n\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite,\n ${AnimationKeyframes.spinnerColor(t)} 6s ease-in-out infinite;\n `}\n `;\n },\n circleDimmed(t: Theme) {\n return css`\n stroke: ${t.spinnerDimmedColor};\n\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite;\n `}\n `;\n },\n\n captionColor(t: Theme) {\n return css`\n color: ${t.spinnerCaptionColor};\n `;\n },\n\n mini(t: Theme) {\n return css`\n margin-left: ${t.spinnerCaptionGapSmall};\n font-size: ${t.spinnerFontSizeSmall};\n line-height: ${t.spinnerLineHeightSmall};\n `;\n },\n\n normal(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeMedium};\n line-height: ${t.spinnerLineHeightMedium};\n margin-top: ${t.spinnerCaptionGapMedium};\n `;\n },\n\n big(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeLarge};\n line-height: ${t.spinnerLineHeightLarge};\n margin-top: ${t.spinnerCaptionGapLarge};\n `;\n },\n\n spinner() {\n return css`\n display: inline-block;\n text-align: center;\n `;\n },\n\n inner() {\n return css`\n display: inline-block;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Spinner.styles.ts"],"names":["styles","circle","t","css","spinnerColor","isIE11","AnimationKeyframes","spinnerCircleOffset","spinnerCircleLength","spinnerCircleRotate","circleDimmedColor","spinnerDimmedColor","circleWithoutColorAnimation","captionColor","spinnerCaptionColor","mini","spinnerCaptionGapSmall","spinnerFontSizeSmall","spinnerLineHeightSmall","normal","spinnerFontSizeMedium","spinnerLineHeightMedium","spinnerCaptionGapMedium","big","spinnerFontSizeLarge","spinnerLineHeightLarge","spinnerCaptionGapLarge","spinner","inner"],"mappings":"4QAAA;;AAEA;AACA,0C;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,MADiC,kBAC1BC,CAD0B,EAChB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACE,YADd;;AAGI,KAACC,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGMI,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHN;AAIMI,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJN;AAKMI,2CAAmBF,YAAnB,CAAgCF,CAAhC,CALN,wCAHJ;;;AAWD,GAbgC;AAcjCQ,EAAAA,iBAdiC,6BAcfR,CAde,EAcL;AAC1B,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACS,kBADd;;AAGD,GAlBgC;AAmBjCC,EAAAA,2BAnBiC,uCAmBLV,CAnBK,EAmBK;AACpC,eAAOC,YAAP;AACI,KAACE,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGII,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHJ;AAIII,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJJ,mCADJ;;;AAQD,GA5BgC;;AA8BjCW,EAAAA,YA9BiC,wBA8BpBX,CA9BoB,EA8BV;AACrB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACY,mBADb;;AAGD,GAlCgC;;AAoCjCC,EAAAA,IApCiC,gBAoC5Bb,CApC4B,EAoClB;AACb,eAAOC,YAAP;AACiBD,IAAAA,CAAC,CAACc,sBADnB;AAEed,IAAAA,CAAC,CAACe,oBAFjB;AAGiBf,IAAAA,CAAC,CAACgB,sBAHnB;;AAKD,GA1CgC;;AA4CjCC,EAAAA,MA5CiC,kBA4C1BjB,CA5C0B,EA4ChB;AACf,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACkB,qBAFjB;AAGiBlB,IAAAA,CAAC,CAACmB,uBAHnB;AAIgBnB,IAAAA,CAAC,CAACoB,uBAJlB;;AAMD,GAnDgC;;AAqDjCC,EAAAA,GArDiC,eAqD7BrB,CArD6B,EAqDnB;AACZ,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACsB,oBAFjB;AAGiBtB,IAAAA,CAAC,CAACuB,sBAHnB;AAIgBvB,IAAAA,CAAC,CAACwB,sBAJlB;;AAMD,GA5DgC;;AA8DjCC,EAAAA,OA9DiC,qBA8DvB;AACR,eAAOxB,YAAP;;;;AAID,GAnEgC;;AAqEjCyB,EAAAA,KArEiC,mBAqEzB;AACN,eAAOzB,YAAP;;;AAGD,GAzEgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { AnimationKeyframes } from '../../lib/theming/AnimationKeyframes';\nimport { isIE11 } from '../../lib/client';\n\nexport const styles = memoizeStyle({\n circle(t: Theme) {\n return css`\n stroke: ${t.spinnerColor};\n\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite,\n ${AnimationKeyframes.spinnerColor(t)} 6s ease-in-out infinite;\n `}\n `;\n },\n circleDimmedColor(t: Theme) {\n return css`\n stroke: ${t.spinnerDimmedColor};\n `;\n },\n circleWithoutColorAnimation(t: Theme) {\n return css`\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite;\n `}\n `;\n },\n\n captionColor(t: Theme) {\n return css`\n color: ${t.spinnerCaptionColor};\n `;\n },\n\n mini(t: Theme) {\n return css`\n margin-left: ${t.spinnerCaptionGapSmall};\n font-size: ${t.spinnerFontSizeSmall};\n line-height: ${t.spinnerLineHeightSmall};\n `;\n },\n\n normal(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeMedium};\n line-height: ${t.spinnerLineHeightMedium};\n margin-top: ${t.spinnerCaptionGapMedium};\n `;\n },\n\n big(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeLarge};\n line-height: ${t.spinnerLineHeightLarge};\n margin-top: ${t.spinnerCaptionGapLarge};\n `;\n },\n\n spinner() {\n return css`\n display: inline-block;\n text-align: center;\n `;\n },\n\n inner() {\n return css`\n display: inline-block;\n `;\n },\n});\n"]}
@@ -51,8 +51,10 @@ var styles = (0, _Emotion.memoizeStyle)({
51
51
  },
52
52
 
53
53
  error: function error(t) {
54
- return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: 2px;\n box-shadow: 0 0 0 ", " ", ";\n "])),
54
+ var insideWidth = parseInt(t.btnBorderWidth);
55
+ var outsideWidth = parseInt(t.switcherOutlineWidth) - insideWidth + "px";
56
+ return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: 2px;\n box-shadow: inset 0 0 0 ", "px ", ", 0 0 0 ", " ", ";\n "])),
55
57
 
56
- t.switcherOutlineWidth, t.borderColorError);
58
+ insideWidth, t.borderColorError, outsideWidth, t.borderColorError);
57
59
 
58
60
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["Switcher.styles.ts"],"names":["styles","wrap","css","input","label","t","switcherTextColor","labelSmall","switcherLabelGapSmall","switcherLabelFontSizeSmall","switcherLabelLineHeightSmall","labelMedium","switcherLabelGapMedium","switcherLabelFontSizeMedium","switcherLabelLineHeightMedium","labelLarge","switcherLabelGapLarge","switcherLabelFontSizeLarge","switcherLabelLineHeightLarge","error","switcherOutlineWidth","borderColorError"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;;AAID,GANgC;;AAQjCC,EAAAA,KARiC,mBAQzB;AACN,eAAOD,YAAP;;;;;;AAMD,GAfgC;;AAiBjCE,EAAAA,KAjBiC,iBAiB3BC,CAjB2B,EAiBjB;AACd,eAAOH,YAAP;AACWG,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GAvBgC;;AAyBjCC,EAAAA,UAzBiC,sBAyBtBF,CAzBsB,EAyBZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACG,qBADpB;AAEeH,IAAAA,CAAC,CAACI,0BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,4BAHnB;;AAKD,GA/BgC;;AAiCjCC,EAAAA,WAjCiC,uBAiCrBN,CAjCqB,EAiCX;AACpB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACO,sBADpB;AAEeP,IAAAA,CAAC,CAACQ,2BAFjB;AAGiBR,IAAAA,CAAC,CAACS,6BAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,UAzCiC,sBAyCtBV,CAzCsB,EAyCZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACW,qBADpB;AAEeX,IAAAA,CAAC,CAACY,0BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,4BAHnB;;AAKD,GA/CgC;;AAiDjCC,EAAAA,KAjDiC,iBAiD3Bd,CAjD2B,EAiDjB;AACd,eAAOH,YAAP;;AAEsBG,IAAAA,CAAC,CAACe,oBAFxB,EAEgDf,CAAC,CAACgB,gBAFlD;;AAID,GAtDgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n wrap() {\n return css`\n display: inline-block;\n vertical-align: middle;\n `;\n },\n\n input() {\n return css`\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n `;\n },\n\n label(t: Theme) {\n return css`\n color: ${t.switcherTextColor};\n vertical-align: middle;\n display: inline-block;\n `;\n },\n\n labelSmall(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapSmall};\n font-size: ${t.switcherLabelFontSizeSmall};\n line-height: ${t.switcherLabelLineHeightSmall};\n `;\n },\n\n labelMedium(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapMedium};\n font-size: ${t.switcherLabelFontSizeMedium};\n line-height: ${t.switcherLabelLineHeightMedium};\n `;\n },\n\n labelLarge(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapLarge};\n font-size: ${t.switcherLabelFontSizeLarge};\n line-height: ${t.switcherLabelLineHeightLarge};\n `;\n },\n\n error(t: Theme) {\n return css`\n border-radius: 2px;\n box-shadow: 0 0 0 ${t.switcherOutlineWidth} ${t.borderColorError};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Switcher.styles.ts"],"names":["styles","wrap","css","input","label","t","switcherTextColor","labelSmall","switcherLabelGapSmall","switcherLabelFontSizeSmall","switcherLabelLineHeightSmall","labelMedium","switcherLabelGapMedium","switcherLabelFontSizeMedium","switcherLabelLineHeightMedium","labelLarge","switcherLabelGapLarge","switcherLabelFontSizeLarge","switcherLabelLineHeightLarge","error","insideWidth","parseInt","btnBorderWidth","outsideWidth","switcherOutlineWidth","borderColorError"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;;AAID,GANgC;;AAQjCC,EAAAA,KARiC,mBAQzB;AACN,eAAOD,YAAP;;;;;;AAMD,GAfgC;;AAiBjCE,EAAAA,KAjBiC,iBAiB3BC,CAjB2B,EAiBjB;AACd,eAAOH,YAAP;AACWG,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GAvBgC;;AAyBjCC,EAAAA,UAzBiC,sBAyBtBF,CAzBsB,EAyBZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACG,qBADpB;AAEeH,IAAAA,CAAC,CAACI,0BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,4BAHnB;;AAKD,GA/BgC;;AAiCjCC,EAAAA,WAjCiC,uBAiCrBN,CAjCqB,EAiCX;AACpB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACO,sBADpB;AAEeP,IAAAA,CAAC,CAACQ,2BAFjB;AAGiBR,IAAAA,CAAC,CAACS,6BAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,UAzCiC,sBAyCtBV,CAzCsB,EAyCZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACW,qBADpB;AAEeX,IAAAA,CAAC,CAACY,0BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,4BAHnB;;AAKD,GA/CgC;;AAiDjCC,EAAAA,KAjDiC,iBAiD3Bd,CAjD2B,EAiDjB;AACd,QAAMe,WAAW,GAAGC,QAAQ,CAAChB,CAAC,CAACiB,cAAH,CAA5B;AACA,QAAMC,YAAY,GAAMF,QAAQ,CAAChB,CAAC,CAACmB,oBAAH,CAAR,GAAmCJ,WAAzC,OAAlB;AACA,eAAOlB,YAAP;;AAE4BkB,IAAAA,WAF5B,EAE6Cf,CAAC,CAACoB,gBAF/C,EAE0EF,YAF1E,EAE0FlB,CAAC,CAACoB,gBAF5F;;AAID,GAxDgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n wrap() {\n return css`\n display: inline-block;\n vertical-align: middle;\n `;\n },\n\n input() {\n return css`\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n `;\n },\n\n label(t: Theme) {\n return css`\n color: ${t.switcherTextColor};\n vertical-align: middle;\n display: inline-block;\n `;\n },\n\n labelSmall(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapSmall};\n font-size: ${t.switcherLabelFontSizeSmall};\n line-height: ${t.switcherLabelLineHeightSmall};\n `;\n },\n\n labelMedium(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapMedium};\n font-size: ${t.switcherLabelFontSizeMedium};\n line-height: ${t.switcherLabelLineHeightMedium};\n `;\n },\n\n labelLarge(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapLarge};\n font-size: ${t.switcherLabelFontSizeLarge};\n line-height: ${t.switcherLabelLineHeightLarge};\n `;\n },\n\n error(t: Theme) {\n const insideWidth = parseInt(t.btnBorderWidth);\n const outsideWidth = `${parseInt(t.switcherOutlineWidth) - insideWidth}px`;\n return css`\n border-radius: 2px;\n box-shadow: inset 0 0 0 ${insideWidth}px ${t.borderColorError}, 0 0 0 ${outsideWidth} ${t.borderColorError};\n `;\n },\n});\n"]}
@@ -1,112 +1,112 @@
1
- Token example
2
-
3
- ```jsx harmony
4
- import { Token } from '@skbkontur/react-ui';
5
-
6
- <Token>Example</Token>;
7
- ```
8
-
9
- You can control color of each token
10
-
11
- ```jsx harmony
12
- import { Gapped, Token } from '@skbkontur/react-ui';
13
-
14
- const colors = {
15
- default: {
16
- idle: 'defaultIdle',
17
- active: 'defaultActive',
18
- },
19
- gray: {
20
- idle: 'grayIdle',
21
- active: 'grayActive',
22
- },
23
- blue: {
24
- idle: 'blueIdle',
25
- active: 'blueActive',
26
- },
27
- green: {
28
- idle: 'greenIdle',
29
- active: 'greenActive',
30
- },
31
- yellow: {
32
- idle: 'yellowIdle',
33
- active: 'yellowActive',
34
- },
35
- red: {
36
- idle: 'redIdle',
37
- active: 'redActive',
38
- },
39
- mono: {
40
- idle: 'white',
41
- active: 'black',
42
- },
43
- };
44
-
45
- <Gapped gap={20} vertical>
46
- <Gapped gap={10}>
47
- <Token colors={colors.default}>Default</Token>
48
- <Token isActive colors={colors.default}>
49
- Default
50
- </Token>
51
- </Gapped>
52
- <Gapped gap={10}>
53
- <Token colors={colors.gray}>Gray</Token>
54
- <Token isActive colors={colors.gray}>
55
- Gray
56
- </Token>
57
- </Gapped>
58
- <Gapped gap={10}>
59
- <Token colors={colors.blue}>Blue</Token>
60
- <Token isActive colors={colors.blue}>
61
- Blue
62
- </Token>
63
- </Gapped>
64
- <Gapped gap={10}>
65
- <Token colors={colors.green}>Green</Token>
66
- <Token isActive colors={colors.green}>
67
- Green
68
- </Token>
69
- </Gapped>
70
- <Gapped gap={10}>
71
- <Token colors={colors.yellow}>Yellow</Token>
72
- <Token isActive colors={colors.yellow}>
73
- Yellow
74
- </Token>
75
- </Gapped>
76
- <Gapped gap={10}>
77
- <Token colors={colors.red}>Red</Token>
78
- <Token isActive colors={colors.red}>
79
- Red
80
- </Token>
81
- </Gapped>
82
- <Gapped gap={10}>
83
- <Token colors={colors.mono}>Monochrome</Token>
84
- <Token isActive colors={colors.mono}>
85
- Monochrome
86
- </Token>
87
- </Gapped>
88
- </Gapped>;
89
- ```
90
-
91
- Can accept validation state
92
-
93
- ```jsx harmony
94
- import { Gapped, Token } from '@skbkontur/react-ui';
95
-
96
- <Gapped gap={20} vertical>
97
- <Gapped gap={10}>
98
- <Token>Correct</Token>
99
- <Token warning>Warned</Token>
100
- <Token error>Errored</Token>
101
- </Gapped>
102
- <Gapped gap={10}>
103
- <Token isActive>Correct</Token>
104
- <Token isActive warning>
105
- Warned
106
- </Token>
107
- <Token isActive error>
108
- Errored
109
- </Token>
110
- </Gapped>
111
- </Gapped>;
112
- ```
1
+ Token example
2
+
3
+ ```jsx harmony
4
+ import { Token } from '@skbkontur/react-ui';
5
+
6
+ <Token>Example</Token>;
7
+ ```
8
+
9
+ You can control color of each token
10
+
11
+ ```jsx harmony
12
+ import { Gapped, Token } from '@skbkontur/react-ui';
13
+
14
+ const colors = {
15
+ default: {
16
+ idle: 'defaultIdle',
17
+ active: 'defaultActive',
18
+ },
19
+ gray: {
20
+ idle: 'grayIdle',
21
+ active: 'grayActive',
22
+ },
23
+ blue: {
24
+ idle: 'blueIdle',
25
+ active: 'blueActive',
26
+ },
27
+ green: {
28
+ idle: 'greenIdle',
29
+ active: 'greenActive',
30
+ },
31
+ yellow: {
32
+ idle: 'yellowIdle',
33
+ active: 'yellowActive',
34
+ },
35
+ red: {
36
+ idle: 'redIdle',
37
+ active: 'redActive',
38
+ },
39
+ mono: {
40
+ idle: 'white',
41
+ active: 'black',
42
+ },
43
+ };
44
+
45
+ <Gapped gap={20} vertical>
46
+ <Gapped gap={10}>
47
+ <Token colors={colors.default}>Default</Token>
48
+ <Token isActive colors={colors.default}>
49
+ Default
50
+ </Token>
51
+ </Gapped>
52
+ <Gapped gap={10}>
53
+ <Token colors={colors.gray}>Gray</Token>
54
+ <Token isActive colors={colors.gray}>
55
+ Gray
56
+ </Token>
57
+ </Gapped>
58
+ <Gapped gap={10}>
59
+ <Token colors={colors.blue}>Blue</Token>
60
+ <Token isActive colors={colors.blue}>
61
+ Blue
62
+ </Token>
63
+ </Gapped>
64
+ <Gapped gap={10}>
65
+ <Token colors={colors.green}>Green</Token>
66
+ <Token isActive colors={colors.green}>
67
+ Green
68
+ </Token>
69
+ </Gapped>
70
+ <Gapped gap={10}>
71
+ <Token colors={colors.yellow}>Yellow</Token>
72
+ <Token isActive colors={colors.yellow}>
73
+ Yellow
74
+ </Token>
75
+ </Gapped>
76
+ <Gapped gap={10}>
77
+ <Token colors={colors.red}>Red</Token>
78
+ <Token isActive colors={colors.red}>
79
+ Red
80
+ </Token>
81
+ </Gapped>
82
+ <Gapped gap={10}>
83
+ <Token colors={colors.mono}>Monochrome</Token>
84
+ <Token isActive colors={colors.mono}>
85
+ Monochrome
86
+ </Token>
87
+ </Gapped>
88
+ </Gapped>;
89
+ ```
90
+
91
+ Can accept validation state
92
+
93
+ ```jsx harmony
94
+ import { Gapped, Token } from '@skbkontur/react-ui';
95
+
96
+ <Gapped gap={20} vertical>
97
+ <Gapped gap={10}>
98
+ <Token>Correct</Token>
99
+ <Token warning>Warned</Token>
100
+ <Token error>Errored</Token>
101
+ </Gapped>
102
+ <Gapped gap={10}>
103
+ <Token isActive>Correct</Token>
104
+ <Token isActive warning>
105
+ Warned
106
+ </Token>
107
+ <Token isActive error>
108
+ Errored
109
+ </Token>
110
+ </Gapped>
111
+ </Gapped>;
112
+ ```
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PopupPosition } from '../../internal/Popup';
2
+ import { PopupPositionsType } from '../../internal/Popup';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export declare type TooltipTrigger =
@@ -41,7 +41,10 @@ export interface TooltipProps extends CommonProps {
41
41
  * Если эта функция вернула `null`, то тултип не показывается.
42
42
  */
43
43
  render?: Nullable<() => React.ReactNode>;
44
- pos: PopupPosition;
44
+ /**
45
+ * Значение по умолчанию: `"top left"`.
46
+ */
47
+ pos: PopupPositionsType;
45
48
  /**
46
49
  * Триггер открытия тултипа
47
50
  * ```ts
@@ -80,24 +83,8 @@ export interface TooltipProps extends CommonProps {
80
83
  * будет выходить за край экрана, то будет выбрана
81
84
  * следующая позиция. Обязательно должен включать
82
85
  * позицию указанную в `pos`
83
- *
84
- * ```ts
85
- * type PopupPosition =
86
- * 'right bottom',
87
- * | 'right middle',
88
- * | 'right top',
89
- * | 'top right',
90
- * | 'top center',
91
- * | 'top left',
92
- * | 'left top',
93
- * | 'left middle',
94
- * | 'left bottom',
95
- * | 'bottom left',
96
- * | 'bottom center',
97
- * | 'bottom right'
98
- * ```
99
86
  */
100
- allowedPositions: PopupPosition[];
87
+ allowedPositions: PopupPositionsType[];
101
88
  /**
102
89
  * Флаг отключения анимации.
103
90
  * @default false
@@ -120,9 +107,9 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
120
107
  children(props: TooltipProps, propName: keyof TooltipProps, componentName: string): void;
121
108
  };
122
109
  static defaultProps: {
123
- pos: string;
110
+ pos: "top left";
124
111
  trigger: string;
125
- allowedPositions: PopupPosition[];
112
+ allowedPositions: ("top left" | "top center" | "top right" | "right top" | "right middle" | "right bottom" | "bottom right" | "bottom center" | "bottom left" | "left bottom" | "left middle" | "left top")[];
126
113
  disableAnimations: boolean;
127
114
  useWrapper: boolean;
128
115
  closeOnChildrenMouseLeave: boolean;