@skbkontur/react-ui 3.7.2 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -2
- package/README.md +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +1 -2
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +5 -14
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +2 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +3 -2
- package/cjs/components/DatePicker/DatePicker.js +12 -5
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
- package/cjs/components/Dropdown/Dropdown.js +1 -0
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.md +0 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +17 -3
- package/cjs/components/DropdownMenu/DropdownMenu.js +15 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +87 -6
- package/cjs/components/Kebab/Kebab.d.ts +5 -2
- package/cjs/components/Kebab/Kebab.js +5 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +249 -3
- package/cjs/components/MenuHeader/MenuHeader.d.ts +5 -1
- package/cjs/components/MenuHeader/MenuHeader.js +5 -1
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.md +23 -0
- package/cjs/components/MenuItem/MenuItem.d.ts +10 -1
- package/cjs/components/MenuItem/MenuItem.js +11 -1
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +106 -4
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -1
- package/cjs/components/MenuSeparator/MenuSeparator.js +3 -1
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
- package/cjs/components/Modal/Modal.styles.d.ts +1 -0
- package/cjs/components/Modal/Modal.styles.js +22 -20
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +23 -3
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +0 -2
- package/cjs/components/Textarea/Textarea.js +6 -3
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +47 -1
- package/cjs/components/Toggle/Toggle.js +52 -2
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.md +83 -9
- package/cjs/components/Toggle/Toggle.styles.d.ts +3 -0
- package/cjs/components/Toggle/Toggle.styles.js +36 -23
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +26 -8
- package/cjs/components/TooltipMenu/TooltipMenu.js +24 -6
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.md +76 -8
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +8 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +8 -3
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +3 -0
- package/cjs/internal/themes/DefaultTheme.js +11 -2
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +2 -0
- package/cjs/lib/Upgrades.js +14 -0
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +1 -1
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +5 -11
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +2 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +12 -4
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +3 -2
- package/components/Dropdown/Dropdown/Dropdown.js +1 -0
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +1 -0
- package/components/Dropdown/Dropdown.md +0 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +17 -3
- package/components/DropdownMenu/DropdownMenu.md +87 -6
- package/components/Kebab/Kebab/Kebab.js +2 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +5 -2
- package/components/Kebab/Kebab.md +249 -3
- package/components/MenuHeader/MenuHeader/MenuHeader.js +5 -1
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +5 -1
- package/components/MenuHeader/MenuHeader.md +23 -0
- package/components/MenuItem/MenuItem/MenuItem.js +4 -1
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +10 -1
- package/components/MenuItem/MenuItem.md +106 -4
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -1
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +3 -1
- package/components/MenuSeparator/MenuSeparator.md +14 -0
- package/components/Modal/Modal.styles/Modal.styles.js +18 -15
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -0
- package/components/Modal/ModalClose/ModalClose.js +25 -2
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +1 -2
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +0 -2
- package/components/Toggle/Toggle/Toggle.js +11 -5
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +47 -1
- package/components/Toggle/Toggle.md +83 -9
- package/components/Toggle/Toggle.styles/Toggle.styles.js +21 -15
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/Toggle/Toggle.styles.d.ts +3 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +9 -6
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +26 -8
- package/components/TooltipMenu/TooltipMenu.md +76 -8
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +6 -3
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +1 -1
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +16 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +3 -0
- package/lib/Upgrades/Upgrades.js +13 -0
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +2 -0
- package/lib/theming/Emotion/Emotion.js +1 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/package.json +2 -2
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.d.ts +0 -4
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js +0 -9
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js.map +0 -1
- package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js +0 -10
- package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js.map +0 -1
- package/components/CurrencyLabel/CurrencyLabel.styles/package.json +0 -6
- package/components/CurrencyLabel/CurrencyLabel.styles.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MenuItem.tsx"],"names":["React","PropTypes","isFunction","ThemeContext","CommonWrapper","cx","styles","MenuItem","theme","mouseEntered","renderMain","props","link","comment","icon","loose","state","_enableIconPadding","component","onMouseEnter","onMouseLeave","rest","hover","disabled","iconElement","className","root","selected","withIcon","Boolean","children","content","Component","getComponent","handleMouseEnterFix","handleMouseLeave","commentHover","e","href","render","__KONTUR_REACT_UI__","__MENU_ITEM__","propTypes","node","bool","string","oneOfType","target","onClick","func","isMenuItem","child","isValidElement","Object","prototype","hasOwnProperty","call","type"],"mappings":"oOAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,EAAT,QAAmB,2BAAnB;;AAEA,SAASC,MAAT,QAAuB,mBAAvB
|
|
1
|
+
{"version":3,"sources":["MenuItem.tsx"],"names":["React","PropTypes","isFunction","ThemeContext","CommonWrapper","cx","styles","MenuItem","theme","mouseEntered","renderMain","props","link","comment","icon","loose","state","_enableIconPadding","component","onMouseEnter","onMouseLeave","rest","hover","disabled","iconElement","className","root","selected","withIcon","Boolean","children","content","Component","getComponent","handleMouseEnterFix","handleMouseLeave","commentHover","e","href","render","__KONTUR_REACT_UI__","__MENU_ITEM__","propTypes","node","bool","string","oneOfType","target","onClick","func","isMenuItem","child","isValidElement","Object","prototype","hasOwnProperty","call","type"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isFunction } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps extends CommonProps {\n /** @ignore */\n _enableIconPadding?: boolean;\n\n comment?: React.ReactNode;\n disabled?: boolean;\n icon?: React.ReactElement<any>;\n\n /**\n * Меняет цвет текста на синий\n */\n link?: boolean;\n\n /** @ignore */\n loose?: boolean;\n\n /** @ignore */\n state?: MenuItemState;\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n /**\n * HTML-атрибут title\n */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n onMouseEnter?: React.MouseEventHandler;\n onMouseLeave?: React.MouseEventHandler;\n\n component?: React.ComponentType<any>;\n}\n\n/**\n *\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).\n */\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<MenuItemProps>) => {\n const { link, comment, icon, loose, state, _enableIconPadding, component, onMouseEnter, onMouseLeave, ...rest } =\n props;\n\n const hover = state === 'hover' && !this.props.disabled;\n\n let iconElement = null;\n if (icon) {\n iconElement = <div className={styles.icon(this.theme)}>{icon}</div>;\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: hover,\n [styles.selected(this.theme)]: state === 'selected',\n [styles.link(this.theme)]: !!link,\n [styles.withIcon(this.theme)]: Boolean(iconElement) || !!_enableIconPadding,\n [styles.disabled(this.theme)]: !!this.props.disabled,\n });\n\n const { children } = this.props;\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.props.state);\n }\n\n const Component = this.getComponent();\n\n return (\n <Component\n {...rest}\n state={state}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n className={className}\n tabIndex={-1}\n >\n {iconElement}\n {content}\n {this.props.comment && (\n <div\n data-tid=\"MenuItem__comment\"\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: hover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n );\n };\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered && this.props.onMouseEnter) {\n this.mouseEntered = true;\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (disabled) {\n return 'button';\n }\n\n if (component) {\n return component;\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n}\n\nexport const isMenuItem = (child: React.ReactNode): child is React.ReactElement<MenuItemProps> => {\n return React.isValidElement<MenuItemProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_ITEM__')\n : false;\n};\n"]}
|
|
@@ -8,6 +8,9 @@ export interface MenuItemProps extends CommonProps {
|
|
|
8
8
|
comment?: React.ReactNode;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
icon?: React.ReactElement<any>;
|
|
11
|
+
/**
|
|
12
|
+
* Меняет цвет текста на синий
|
|
13
|
+
*/
|
|
11
14
|
link?: boolean;
|
|
12
15
|
/** @ignore */
|
|
13
16
|
loose?: boolean;
|
|
@@ -16,6 +19,9 @@ export interface MenuItemProps extends CommonProps {
|
|
|
16
19
|
onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
|
|
17
20
|
children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);
|
|
18
21
|
target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];
|
|
22
|
+
/**
|
|
23
|
+
* HTML-атрибут title
|
|
24
|
+
*/
|
|
19
25
|
title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];
|
|
20
26
|
href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];
|
|
21
27
|
onMouseEnter?: React.MouseEventHandler;
|
|
@@ -23,7 +29,10 @@ export interface MenuItemProps extends CommonProps {
|
|
|
23
29
|
component?: React.ComponentType<any>;
|
|
24
30
|
}
|
|
25
31
|
/**
|
|
26
|
-
*
|
|
32
|
+
*
|
|
33
|
+
* `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.
|
|
34
|
+
*
|
|
35
|
+
* Сущности в которых может быть использован `MenuItem`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).
|
|
27
36
|
*/
|
|
28
37
|
export declare class MenuItem extends React.Component<MenuItemProps> {
|
|
29
38
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -1,7 +1,109 @@
|
|
|
1
|
+
Меню с базовыми элементами меню.
|
|
2
|
+
|
|
3
|
+
```jsx harmony
|
|
4
|
+
import { Button, MenuItem, DropdownMenu } from '@skbkontur/react-ui';
|
|
5
|
+
|
|
6
|
+
<DropdownMenu
|
|
7
|
+
caption={<Button use="primary">Открыть меню с базовыми элементами меню</Button>}
|
|
8
|
+
>
|
|
9
|
+
<MenuItem>Базовый элемент меню</MenuItem>
|
|
10
|
+
<MenuItem>Ещё один базовый элемент меню</MenuItem>
|
|
11
|
+
<MenuItem>И ещё один</MenuItem>
|
|
12
|
+
</DropdownMenu>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Меню с отключёнными и базовыми элементами меню.
|
|
16
|
+
<br/>
|
|
17
|
+
К отключённым элементам меню не применяются стили при наведении и их нельзя затаргетить с клавиатуры.
|
|
18
|
+
|
|
1
19
|
```jsx harmony
|
|
2
|
-
import {
|
|
20
|
+
import { Button, MenuItem, DropdownMenu } from '@skbkontur/react-ui';
|
|
21
|
+
|
|
22
|
+
<DropdownMenu
|
|
23
|
+
caption={<Button use="primary">Открыть меню с базовыми и отключёнными элементами</Button>}
|
|
24
|
+
>
|
|
25
|
+
<MenuItem>Это базовый элемент меню</MenuItem>
|
|
26
|
+
<MenuItem disabled>А это отключённый</MenuItem>
|
|
27
|
+
<MenuItem>А это снова базовый</MenuItem>
|
|
28
|
+
<MenuItem disabled>И снова отключённый</MenuItem>
|
|
29
|
+
<MenuItem disabled>И вот ещё один отключённый</MenuItem>
|
|
30
|
+
</DropdownMenu>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Меню с элементами меню содержащими описание.
|
|
34
|
+
|
|
35
|
+
```jsx harmony
|
|
36
|
+
import { Button, MenuItem, DropdownMenu } from '@skbkontur/react-ui';
|
|
37
|
+
|
|
38
|
+
<DropdownMenu
|
|
39
|
+
caption={<Button use="primary">Открыть меню с причастными к Pied Piper</Button>}
|
|
40
|
+
>
|
|
41
|
+
<MenuItem comment="Системный инженер">Bertram Gilfoyle</MenuItem>
|
|
42
|
+
<MenuItem comment="Hooli CEO">Gavin Belson</MenuItem>
|
|
43
|
+
<MenuItem comment="Java-разработчик">Dinesh Chugtai</MenuItem>
|
|
44
|
+
<MenuItem comment="Основатель Pied Piper">Richard Hendricks</MenuItem>
|
|
45
|
+
<MenuItem comment="Владелец инкубатора">Erlich Bachman</MenuItem>
|
|
46
|
+
</DropdownMenu>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Меню с элементами меню содержащими иконки.
|
|
50
|
+
|
|
51
|
+
```jsx harmony
|
|
52
|
+
import { Button, MenuItem, DropdownMenu } from '@skbkontur/react-ui';
|
|
53
|
+
import DeviceSmartphoneIcon from '@skbkontur/react-icons/DeviceSmartphone';
|
|
54
|
+
import OkIcon from '@skbkontur/react-icons/Ok';
|
|
55
|
+
import ThumbDownIcon from '@skbkontur/react-icons/ThumbDown';
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
<DropdownMenu
|
|
59
|
+
caption={<Button use="primary">Открыть меню с иконками</Button>}
|
|
60
|
+
>
|
|
61
|
+
<MenuItem icon={<OkIcon />}>Базовый элемент меню c иконкой</MenuItem>
|
|
62
|
+
<MenuItem
|
|
63
|
+
disabled
|
|
64
|
+
icon={<ThumbDownIcon />}
|
|
65
|
+
>
|
|
66
|
+
Отключённый элемент меню с иконкой
|
|
67
|
+
</MenuItem>
|
|
68
|
+
<MenuItem
|
|
69
|
+
icon={<DeviceSmartphoneIcon />}
|
|
70
|
+
comment="А слева вы можете видеть икону 21-го века"
|
|
71
|
+
>
|
|
72
|
+
Элемент меню с описанием и иконкой
|
|
73
|
+
</MenuItem>
|
|
74
|
+
</DropdownMenu>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Меню с элементами меню обёрнутыми в контрол ссылки.
|
|
78
|
+
|
|
79
|
+
```jsx harmony
|
|
80
|
+
import { Button, MenuItem, DropdownMenu, Link } from '@skbkontur/react-ui';
|
|
81
|
+
|
|
82
|
+
const LinkMenuItem = ({link, title}) => {
|
|
83
|
+
return <MenuItem
|
|
84
|
+
href={link}
|
|
85
|
+
component={({ href, ...rest }) => {
|
|
86
|
+
return <Link target="_blank" rel="noopener noreferrer" href={href} {...rest} />
|
|
87
|
+
}}
|
|
88
|
+
>
|
|
89
|
+
{title}
|
|
90
|
+
</MenuItem>
|
|
91
|
+
}
|
|
3
92
|
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
93
|
+
<DropdownMenu
|
|
94
|
+
caption={<Button use="primary">Открыть меню с ссылками</Button>}
|
|
95
|
+
>
|
|
96
|
+
<LinkMenuItem
|
|
97
|
+
link="http://tech.skbkontur.ru/react-ui/"
|
|
98
|
+
title="Начало документации"
|
|
99
|
+
/>
|
|
100
|
+
<LinkMenuItem
|
|
101
|
+
link="https://guides.kontur.ru/"
|
|
102
|
+
title="Контур Гайды"
|
|
103
|
+
/>
|
|
104
|
+
<LinkMenuItem
|
|
105
|
+
link="https://github.com/skbkontur/retail-ui/graphs/contributors"
|
|
106
|
+
title="Список прекрасных людей"
|
|
107
|
+
/>
|
|
108
|
+
</DropdownMenu>
|
|
7
109
|
```
|
|
@@ -3,7 +3,9 @@ import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
|
3
3
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
4
4
|
import { styles } from "../MenuSeparator.styles";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Добавляет разделительную линию между элементами меню.
|
|
7
|
+
*
|
|
8
|
+
* Сущности в которых может быть использован `MenuSeparator`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).
|
|
7
9
|
*/
|
|
8
10
|
|
|
9
11
|
function MenuSeparator(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MenuSeparator.tsx"],"names":["React","useContext","ThemeContext","CommonWrapper","styles","MenuSeparator","props","theme","root","__KONTUR_REACT_UI__"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAAsBC,aAAtB,QAA2C,8BAA3C;;AAEA,SAASC,MAAT,QAAuB,wBAAvB;;;AAGA;AACA;AACA;AACA,SAASC,aAAT,CAAuBC,KAAvB,EAAkD;AAChD,MAAMC,KAAK,GAAGN,UAAU,CAACC,YAAD,CAAxB;;AAEA;AACE,wBAAC,aAAD,EAAmBI,KAAnB;AACE,iCAAK,SAAS,EAAEF,MAAM,CAACI,IAAP,CAAYD,KAAZ,CAAhB,GADF,CADF;;;AAKD;;AAEDF,aAAa,CAACI,mBAAd,GAAoC,eAApC;;AAEA,SAASJ,aAAT","sourcesContent":["import React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { styles } from './MenuSeparator.styles';\n\nexport type MenuSeparatorProps = CommonProps;\n/**\n *
|
|
1
|
+
{"version":3,"sources":["MenuSeparator.tsx"],"names":["React","useContext","ThemeContext","CommonWrapper","styles","MenuSeparator","props","theme","root","__KONTUR_REACT_UI__"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAAsBC,aAAtB,QAA2C,8BAA3C;;AAEA,SAASC,MAAT,QAAuB,wBAAvB;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAT,CAAuBC,KAAvB,EAAkD;AAChD,MAAMC,KAAK,GAAGN,UAAU,CAACC,YAAD,CAAxB;;AAEA;AACE,wBAAC,aAAD,EAAmBI,KAAnB;AACE,iCAAK,SAAS,EAAEF,MAAM,CAACI,IAAP,CAAYD,KAAZ,CAAhB,GADF,CADF;;;AAKD;;AAEDF,aAAa,CAACI,mBAAd,GAAoC,eAApC;;AAEA,SAASJ,aAAT","sourcesContent":["import React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { styles } from './MenuSeparator.styles';\n\nexport type MenuSeparatorProps = CommonProps;\n/**\n * Добавляет разделительную линию между элементами меню.\n *\n * Сущности в которых может быть использован `MenuSeparator`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).\n */\nfunction MenuSeparator(props: MenuSeparatorProps) {\n const theme = useContext(ThemeContext);\n\n return (\n <CommonWrapper {...props}>\n <div className={styles.root(theme)} />\n </CommonWrapper>\n );\n}\n\nMenuSeparator.__KONTUR_REACT_UI__ = 'MenuSeparator';\n\nexport { MenuSeparator };\n"]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
2
2
|
export declare type MenuSeparatorProps = CommonProps;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Добавляет разделительную линию между элементами меню.
|
|
5
|
+
*
|
|
6
|
+
* Сущности в которых может быть использован `MenuSeparator`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).
|
|
5
7
|
*/
|
|
6
8
|
declare function MenuSeparator(props: MenuSeparatorProps): JSX.Element;
|
|
7
9
|
declare namespace MenuSeparator {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Пример меню с разделителями.
|
|
2
|
+
|
|
3
|
+
```jsx harmony
|
|
4
|
+
import { Button, MenuHeader, MenuItem, DropdownMenu } from '@skbkontur/react-ui';
|
|
5
|
+
|
|
6
|
+
<DropdownMenu caption={<Button use="primary">Открыть меню с разделителями</Button>}>
|
|
7
|
+
<MenuItem>У меня есть разделитель</MenuItem>
|
|
8
|
+
<MenuSeparator />
|
|
9
|
+
<MenuItem>У меня тоже!</MenuItem>
|
|
10
|
+
<MenuSeparator />
|
|
11
|
+
<MenuItem>А у меня нет :(</MenuItem>
|
|
12
|
+
<MenuItem>Как и у меня :(</MenuItem>
|
|
13
|
+
</DropdownMenu>;
|
|
14
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
2
|
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22;
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23;
|
|
4
4
|
|
|
5
5
|
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
6
6
|
import { resetButton } from "../../../lib/styles/Mixins";
|
|
@@ -25,7 +25,7 @@ export var styles = memoizeStyle({
|
|
|
25
25
|
},
|
|
26
26
|
close: function close(t) {
|
|
27
27
|
var padding = parseInt(t.modalCloseButtonPadding);
|
|
28
|
-
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n ", ";\n position: absolute;\n display: flex;\n right: ", "px;\n top: ", "px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ", ";\n text-align: center;\n vertical-align: middle;\n padding: ", ";\n margin: -", ";\n\n &:
|
|
28
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n ", ";\n position: absolute;\n display: flex;\n right: ", "px;\n top: ", "px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ", ";\n text-align: center;\n vertical-align: middle;\n padding: ", ";\n margin: -", ";\n\n &:hover {\n color: ", ";\n }\n\n & > svg {\n width: ", ";\n height: ", ";\n box-sizing: content-box;\n }\n "])), resetButton(), padding, padding, t.modalCloseButtonColor, t.modalCloseButtonClickArea, t.modalCloseButtonClickArea, t.modalCloseButtonHoverColor, t.modalCloseIconSize, t.modalCloseIconSize);
|
|
29
29
|
},
|
|
30
30
|
closeWrapper: function closeWrapper(t) {
|
|
31
31
|
var padding = parseInt(t.modalCloseButtonPadding);
|
|
@@ -39,44 +39,47 @@ export var styles = memoizeStyle({
|
|
|
39
39
|
disabled: function disabled(t) {
|
|
40
40
|
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n pointer-events: none;\n cursor: default;\n color: ", ";\n "])), t.modalCloseButtonDisabledColor);
|
|
41
41
|
},
|
|
42
|
+
focus: function focus(t) {
|
|
43
|
+
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n color: ", ";\n outline: 2px solid ", ";\n "])), t.modalCloseButtonHoverColor, t.borderColorFocus);
|
|
44
|
+
},
|
|
42
45
|
headerWrapper: function headerWrapper() {
|
|
43
|
-
return css(
|
|
46
|
+
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n position: relative;\n "])));
|
|
44
47
|
},
|
|
45
48
|
header: function header(t) {
|
|
46
|
-
return css(
|
|
49
|
+
return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n font-size: ", ";\n line-height: ", ";\n padding: ", " ", " ", " ", ";\n overflow-wrap: break-word;\n word-wrap: break-word;\n color: ", ";\n "])), t.modalHeaderFontSize, t.modalHeaderLineHeight, t.modalHeaderPaddingTop, t.modalPaddingRight, t.modalHeaderPaddingBottom, t.modalPaddingLeft, t.modalHeaderTextColor);
|
|
47
50
|
},
|
|
48
51
|
body: function body(t) {
|
|
49
|
-
return css(
|
|
52
|
+
return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n padding: 0 ", " ", " ", ";\n "])), t.modalPaddingRight, t.modalBodyPaddingBottom, t.modalPaddingLeft);
|
|
50
53
|
},
|
|
51
54
|
headerWithClose: function headerWithClose(t) {
|
|
52
55
|
var rightPadding = 2 * parseInt(t.modalCloseButtonPadding) + parseInt(t.modalCloseIconSize) + parseInt(t.modalCloseLegacyGap);
|
|
53
|
-
return css(
|
|
56
|
+
return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n padding-right: ", "px;\n "])), rightPadding);
|
|
54
57
|
},
|
|
55
58
|
footer: function footer(t) {
|
|
56
|
-
return css(
|
|
59
|
+
return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n padding: ", " ", " ", " ", ";\n "])), t.modalFooterPaddingTop, t.modalPaddingRight, t.modalFooterPaddingBottom, t.modalPaddingLeft);
|
|
57
60
|
},
|
|
58
61
|
footerWrapper: function footerWrapper() {
|
|
59
|
-
return css(
|
|
62
|
+
return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n position: relative;\n "])));
|
|
60
63
|
},
|
|
61
64
|
panel: function panel(t) {
|
|
62
|
-
return css(
|
|
65
|
+
return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n padding-top: ", ";\n padding-bottom: ", ";\n background: ", ";\n "])), t.modalFooterPanelPaddingTop, t.modalFooterPanelPaddingBottom, t.modalFooterBg);
|
|
63
66
|
},
|
|
64
67
|
fixedHeader: function fixedHeader(t) {
|
|
65
|
-
return css(
|
|
68
|
+
return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n margin-bottom: 10px;\n padding-bottom: ", ";\n background: ", ";\n\n &:after {\n bottom: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "])), t.modalFixedHeaderPaddingBottom, t.modalFixedHeaderBg, t.modalFixedHeaderShadow);
|
|
66
69
|
},
|
|
67
70
|
fixedFooter: function fixedFooter(t) {
|
|
68
|
-
return css(
|
|
71
|
+
return css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n padding-top: 20px;\n margin-top: 10px;\n background: ", ";\n\n &:before {\n top: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "])), t.modalFixedHeaderBg, t.modalFixedFooterShadow);
|
|
69
72
|
},
|
|
70
73
|
headerAddPadding: function headerAddPadding() {
|
|
71
|
-
return css(
|
|
74
|
+
return css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n padding-bottom: 22px;\n "])));
|
|
72
75
|
},
|
|
73
76
|
bodyWithoutHeader: function bodyWithoutHeader(t) {
|
|
74
|
-
return css(
|
|
77
|
+
return css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteralLoose(["\n padding-top: ", ";\n "])), t.modalPaddingTop);
|
|
75
78
|
},
|
|
76
79
|
bodyWithoutPadding: function bodyWithoutPadding() {
|
|
77
|
-
return css(
|
|
80
|
+
return css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteralLoose(["\n padding: 0;\n "])));
|
|
78
81
|
},
|
|
79
82
|
bodyAddPaddingForPanel: function bodyAddPaddingForPanel(t) {
|
|
80
|
-
return css(
|
|
83
|
+
return css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteralLoose(["\n padding-bottom: ", ";\n "])), t.modalPaddingBottom);
|
|
81
84
|
}
|
|
82
85
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Modal.styles.ts"],"names":["css","memoizeStyle","resetButton","styles","root","bg","t","modalBackBg","modalBackOpacity","container","window","bgDefault","centerContainer","modalAdaptiveThreshold","alignTop","close","padding","parseInt","modalCloseButtonPadding","modalCloseButtonColor","modalCloseButtonClickArea","modalCloseButtonHoverColor","borderColorFocus","modalCloseIconSize","closeWrapper","paddingBottom","modalCloseButtonBottomPadding","legacyGap","modalCloseWrapperLegacyGap","legacyShift","modalCloseButtonLegacyShift","blockSizeX","blockSizeY","disabled","modalCloseButtonDisabledColor","headerWrapper","header","modalHeaderFontSize","modalHeaderLineHeight","modalHeaderPaddingTop","modalPaddingRight","modalHeaderPaddingBottom","modalPaddingLeft","modalHeaderTextColor","body","modalBodyPaddingBottom","headerWithClose","rightPadding","modalCloseLegacyGap","footer","modalFooterPaddingTop","modalFooterPaddingBottom","footerWrapper","panel","modalFooterPanelPaddingTop","modalFooterPanelPaddingBottom","modalFooterBg","fixedHeader","modalFixedHeaderPaddingBottom","modalFixedHeaderBg","modalFixedHeaderShadow","fixedFooter","modalFixedFooterShadow","headerAddPadding","bodyWithoutHeader","modalPaddingTop","bodyWithoutPadding","bodyAddPaddingForPanel","modalPaddingBottom"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n `;\n },\n\n bg(t: Theme) {\n return css`\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n background: ${t.modalBackBg};\n opacity: ${t.modalBackOpacity};\n `;\n },\n\n container() {\n return css`\n position: relative;\n white-space: nowrap;\n text-align: center;\n height: 100%;\n overflow-y: auto;\n outline: none;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 80%; /* to vertical align modal 40%/60% of screen height */\n }\n `;\n },\n\n window(t: Theme) {\n return css`\n position: relative;\n white-space: normal;\n margin: auto;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n background: ${t.bgDefault};\n `;\n },\n\n centerContainer(t: Theme) {\n return css`\n position: relative;\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n box-sizing: border-box;\n z-index: 10;\n margin: 40px 20px;\n\n @media screen and (max-width: ${t.modalAdaptiveThreshold}) {\n margin: 0;\n width: 100%;\n }\n `;\n },\n\n alignTop() {\n return css`\n vertical-align: top;\n `;\n },\n\n close(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n return css`\n ${resetButton()};\n position: absolute;\n display: flex;\n right: ${padding}px;\n top: ${padding}px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ${t.modalCloseButtonColor};\n text-align: center;\n vertical-align: middle;\n padding: ${t.modalCloseButtonClickArea};\n margin: -${t.modalCloseButtonClickArea};\n\n &:focus,\n &:hover {\n color: ${t.modalCloseButtonHoverColor};\n }\n\n &:focus {\n outline: 2px solid ${t.borderColorFocus};\n }\n\n & > svg {\n width: ${t.modalCloseIconSize};\n height: ${t.modalCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n closeWrapper(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n const paddingBottom = parseInt(t.modalCloseButtonBottomPadding);\n const legacyGap = parseInt(t.modalCloseWrapperLegacyGap);\n const legacyShift = parseInt(t.modalCloseButtonLegacyShift);\n const blockSizeX = parseInt(t.modalCloseIconSize) + 2 * padding - legacyShift;\n const blockSizeY = parseInt(t.modalCloseIconSize) + padding + paddingBottom + legacyGap;\n return css`\n position: relative;\n float: right;\n width: ${blockSizeX + legacyGap}px;\n height: ${blockSizeY}px;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n pointer-events: none;\n cursor: default;\n color: ${t.modalCloseButtonDisabledColor};\n `;\n },\n\n headerWrapper() {\n return css`\n position: relative;\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.modalHeaderFontSize};\n line-height: ${t.modalHeaderLineHeight};\n padding: ${t.modalHeaderPaddingTop} ${t.modalPaddingRight} ${t.modalHeaderPaddingBottom} ${t.modalPaddingLeft};\n overflow-wrap: break-word;\n word-wrap: break-word;\n color: ${t.modalHeaderTextColor};\n `;\n },\n\n body(t: Theme) {\n return css`\n padding: 0 ${t.modalPaddingRight} ${t.modalBodyPaddingBottom} ${t.modalPaddingLeft};\n `;\n },\n\n headerWithClose(t: Theme) {\n const rightPadding =\n 2 * parseInt(t.modalCloseButtonPadding) + parseInt(t.modalCloseIconSize) + parseInt(t.modalCloseLegacyGap);\n\n return css`\n padding-right: ${rightPadding}px;\n `;\n },\n\n footer(t: Theme) {\n return css`\n padding: ${t.modalFooterPaddingTop} ${t.modalPaddingRight} ${t.modalFooterPaddingBottom} ${t.modalPaddingLeft};\n `;\n },\n\n footerWrapper() {\n return css`\n position: relative;\n `;\n },\n\n panel(t: Theme) {\n return css`\n padding-top: ${t.modalFooterPanelPaddingTop};\n padding-bottom: ${t.modalFooterPanelPaddingBottom};\n background: ${t.modalFooterBg};\n `;\n },\n\n fixedHeader(t: Theme) {\n return css`\n margin-bottom: 10px;\n padding-bottom: ${t.modalFixedHeaderPaddingBottom};\n background: ${t.modalFixedHeaderBg};\n\n &:after {\n bottom: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedHeaderShadow};\n }\n `;\n },\n\n fixedFooter(t: Theme) {\n return css`\n padding-top: 20px;\n margin-top: 10px;\n background: ${t.modalFixedHeaderBg};\n\n &:before {\n top: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedFooterShadow};\n }\n `;\n },\n\n headerAddPadding() {\n return css`\n padding-bottom: 22px;\n `;\n },\n\n bodyWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.modalPaddingTop};\n `;\n },\n\n bodyWithoutPadding() {\n return css`\n padding: 0;\n `;\n },\n\n bodyAddPaddingForPanel(t: Theme) {\n return css`\n padding-bottom: ${t.modalPaddingBottom};\n `;\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["Modal.styles.ts"],"names":["css","memoizeStyle","resetButton","styles","root","bg","t","modalBackBg","modalBackOpacity","container","window","bgDefault","centerContainer","modalAdaptiveThreshold","alignTop","close","padding","parseInt","modalCloseButtonPadding","modalCloseButtonColor","modalCloseButtonClickArea","modalCloseButtonHoverColor","modalCloseIconSize","closeWrapper","paddingBottom","modalCloseButtonBottomPadding","legacyGap","modalCloseWrapperLegacyGap","legacyShift","modalCloseButtonLegacyShift","blockSizeX","blockSizeY","disabled","modalCloseButtonDisabledColor","focus","borderColorFocus","headerWrapper","header","modalHeaderFontSize","modalHeaderLineHeight","modalHeaderPaddingTop","modalPaddingRight","modalHeaderPaddingBottom","modalPaddingLeft","modalHeaderTextColor","body","modalBodyPaddingBottom","headerWithClose","rightPadding","modalCloseLegacyGap","footer","modalFooterPaddingTop","modalFooterPaddingBottom","footerWrapper","panel","modalFooterPanelPaddingTop","modalFooterPanelPaddingBottom","modalFooterBg","fixedHeader","modalFixedHeaderPaddingBottom","modalFixedHeaderBg","modalFixedHeaderShadow","fixedFooter","modalFixedFooterShadow","headerAddPadding","bodyWithoutHeader","modalPaddingTop","bodyWithoutPadding","bodyAddPaddingForPanel","modalPaddingBottom"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n `;\n },\n\n bg(t: Theme) {\n return css`\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n background: ${t.modalBackBg};\n opacity: ${t.modalBackOpacity};\n `;\n },\n\n container() {\n return css`\n position: relative;\n white-space: nowrap;\n text-align: center;\n height: 100%;\n overflow-y: auto;\n outline: none;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 80%; /* to vertical align modal 40%/60% of screen height */\n }\n `;\n },\n\n window(t: Theme) {\n return css`\n position: relative;\n white-space: normal;\n margin: auto;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n background: ${t.bgDefault};\n `;\n },\n\n centerContainer(t: Theme) {\n return css`\n position: relative;\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n box-sizing: border-box;\n z-index: 10;\n margin: 40px 20px;\n\n @media screen and (max-width: ${t.modalAdaptiveThreshold}) {\n margin: 0;\n width: 100%;\n }\n `;\n },\n\n alignTop() {\n return css`\n vertical-align: top;\n `;\n },\n\n close(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n return css`\n ${resetButton()};\n position: absolute;\n display: flex;\n right: ${padding}px;\n top: ${padding}px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ${t.modalCloseButtonColor};\n text-align: center;\n vertical-align: middle;\n padding: ${t.modalCloseButtonClickArea};\n margin: -${t.modalCloseButtonClickArea};\n\n &:hover {\n color: ${t.modalCloseButtonHoverColor};\n }\n\n & > svg {\n width: ${t.modalCloseIconSize};\n height: ${t.modalCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n closeWrapper(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n const paddingBottom = parseInt(t.modalCloseButtonBottomPadding);\n const legacyGap = parseInt(t.modalCloseWrapperLegacyGap);\n const legacyShift = parseInt(t.modalCloseButtonLegacyShift);\n const blockSizeX = parseInt(t.modalCloseIconSize) + 2 * padding - legacyShift;\n const blockSizeY = parseInt(t.modalCloseIconSize) + padding + paddingBottom + legacyGap;\n return css`\n position: relative;\n float: right;\n width: ${blockSizeX + legacyGap}px;\n height: ${blockSizeY}px;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n pointer-events: none;\n cursor: default;\n color: ${t.modalCloseButtonDisabledColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n color: ${t.modalCloseButtonHoverColor};\n outline: 2px solid ${t.borderColorFocus};\n `;\n },\n\n headerWrapper() {\n return css`\n position: relative;\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.modalHeaderFontSize};\n line-height: ${t.modalHeaderLineHeight};\n padding: ${t.modalHeaderPaddingTop} ${t.modalPaddingRight} ${t.modalHeaderPaddingBottom} ${t.modalPaddingLeft};\n overflow-wrap: break-word;\n word-wrap: break-word;\n color: ${t.modalHeaderTextColor};\n `;\n },\n\n body(t: Theme) {\n return css`\n padding: 0 ${t.modalPaddingRight} ${t.modalBodyPaddingBottom} ${t.modalPaddingLeft};\n `;\n },\n\n headerWithClose(t: Theme) {\n const rightPadding =\n 2 * parseInt(t.modalCloseButtonPadding) + parseInt(t.modalCloseIconSize) + parseInt(t.modalCloseLegacyGap);\n\n return css`\n padding-right: ${rightPadding}px;\n `;\n },\n\n footer(t: Theme) {\n return css`\n padding: ${t.modalFooterPaddingTop} ${t.modalPaddingRight} ${t.modalFooterPaddingBottom} ${t.modalPaddingLeft};\n `;\n },\n\n footerWrapper() {\n return css`\n position: relative;\n `;\n },\n\n panel(t: Theme) {\n return css`\n padding-top: ${t.modalFooterPanelPaddingTop};\n padding-bottom: ${t.modalFooterPanelPaddingBottom};\n background: ${t.modalFooterBg};\n `;\n },\n\n fixedHeader(t: Theme) {\n return css`\n margin-bottom: 10px;\n padding-bottom: ${t.modalFixedHeaderPaddingBottom};\n background: ${t.modalFixedHeaderBg};\n\n &:after {\n bottom: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedHeaderShadow};\n }\n `;\n },\n\n fixedFooter(t: Theme) {\n return css`\n padding-top: 20px;\n margin-top: 10px;\n background: ${t.modalFixedHeaderBg};\n\n &:before {\n top: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedFooterShadow};\n }\n `;\n },\n\n headerAddPadding() {\n return css`\n padding-bottom: 22px;\n `;\n },\n\n bodyWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.modalPaddingTop};\n `;\n },\n\n bodyWithoutPadding() {\n return css`\n padding: 0;\n `;\n },\n\n bodyAddPaddingForPanel(t: Theme) {\n return css`\n padding-bottom: ${t.modalPaddingBottom};\n `;\n },\n});\n"]}
|
|
@@ -2,6 +2,7 @@ import React, { useContext } from 'react';
|
|
|
2
2
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
3
3
|
import { CrossIcon } from "../../../internal/icons/CrossIcon";
|
|
4
4
|
import { cx } from "../../../lib/theming/Emotion";
|
|
5
|
+
import { keyListener } from "../../../lib/events/keyListener";
|
|
5
6
|
import { styles } from "../Modal.styles";
|
|
6
7
|
export function ModalClose(_ref) {
|
|
7
8
|
var _cx;
|
|
@@ -9,9 +10,31 @@ export function ModalClose(_ref) {
|
|
|
9
10
|
var disableClose = _ref.disableClose,
|
|
10
11
|
requestClose = _ref.requestClose;
|
|
11
12
|
var theme = useContext(ThemeContext);
|
|
13
|
+
|
|
14
|
+
var _React$useState = React.useState(false),
|
|
15
|
+
focusedByTab = _React$useState[0],
|
|
16
|
+
setFocusedByTab = _React$useState[1];
|
|
17
|
+
|
|
18
|
+
var handleFocus = function handleFocus() {
|
|
19
|
+
// focus event fires before keyDown eventlistener
|
|
20
|
+
// so we should check tabPressed in async way
|
|
21
|
+
requestAnimationFrame(function () {
|
|
22
|
+
if (keyListener.isTabPressed) {
|
|
23
|
+
setFocusedByTab(true);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var handleBlur = function handleBlur() {
|
|
29
|
+
setFocusedByTab(false);
|
|
30
|
+
};
|
|
31
|
+
|
|
12
32
|
return /*#__PURE__*/React.createElement("button", {
|
|
13
|
-
className: cx((_cx = {}, _cx[styles.close(theme)] = true, _cx[styles.disabled(theme)] = disableClose, _cx)),
|
|
33
|
+
className: cx((_cx = {}, _cx[styles.close(theme)] = true, _cx[styles.disabled(theme)] = disableClose, _cx[styles.focus(theme)] = focusedByTab, _cx)),
|
|
14
34
|
onClick: requestClose,
|
|
15
|
-
|
|
35
|
+
onFocus: handleFocus,
|
|
36
|
+
onBlur: handleBlur,
|
|
37
|
+
"data-tid": "modal-close",
|
|
38
|
+
tabIndex: disableClose ? -1 : 0
|
|
16
39
|
}, /*#__PURE__*/React.createElement(CrossIcon, null));
|
|
17
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ModalClose.tsx"],"names":["React","useContext","ThemeContext","CrossIcon","cx","styles","ModalClose","disableClose","requestClose","theme","close","disabled"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,SAAT,QAA0B,gCAA1B;AACA,SAASC,EAAT,QAAmB,2BAAnB;;;AAGA,SAASC,MAAT,QAAuB,gBAAvB;;AAEA,OAAO,SAASC,UAAT,OAAgE,aAA1CC,YAA0C,QAA1CA,YAA0C,CAA5BC,YAA4B,QAA5BA,YAA4B;AACrE,MAAMC,KAAK,
|
|
1
|
+
{"version":3,"sources":["ModalClose.tsx"],"names":["React","useContext","ThemeContext","CrossIcon","cx","keyListener","styles","ModalClose","disableClose","requestClose","theme","useState","focusedByTab","setFocusedByTab","handleFocus","requestAnimationFrame","isTabPressed","handleBlur","close","disabled","focus"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,SAAT,QAA0B,gCAA1B;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,WAAT,QAA4B,8BAA5B;;;AAGA,SAASC,MAAT,QAAuB,gBAAvB;;AAEA,OAAO,SAASC,UAAT,OAAgE,aAA1CC,YAA0C,QAA1CA,YAA0C,CAA5BC,YAA4B,QAA5BA,YAA4B;AACrE,MAAMC,KAAK,GAAGT,UAAU,CAACC,YAAD,CAAxB,CADqE;AAE7BF,EAAAA,KAAK,CAACW,QAAN,CAAe,KAAf,CAF6B,CAE9DC,YAF8D,sBAEhDC,eAFgD;;AAIrE,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB;AACA;AACAC,IAAAA,qBAAqB,CAAC,YAAM;AAC1B,UAAIV,WAAW,CAACW,YAAhB,EAA8B;AAC5BH,QAAAA,eAAe,CAAC,IAAD,CAAf;AACD;AACF,KAJoB,CAArB;AAKD,GARD;;AAUA,MAAMI,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvBJ,IAAAA,eAAe,CAAC,KAAD,CAAf;AACD,GAFD;;AAIA;AACE;AACE,MAAA,SAAS,EAAET,EAAE;AACVE,MAAAA,MAAM,CAACY,KAAP,CAAaR,KAAb,CADU,IACY,IADZ;AAEVJ,MAAAA,MAAM,CAACa,QAAP,CAAgBT,KAAhB,CAFU,IAEeF,YAFf;AAGVF,MAAAA,MAAM,CAACc,KAAP,CAAaV,KAAb,CAHU,IAGYE,YAHZ,OADf;;AAME,MAAA,OAAO,EAAEH,YANX;AAOE,MAAA,OAAO,EAAEK,WAPX;AAQE,MAAA,MAAM,EAAEG,UARV;AASE,kBAAS,aATX;AAUE,MAAA,QAAQ,EAAET,YAAY,GAAG,CAAC,CAAJ,GAAQ,CAVhC;;AAYE,wBAAC,SAAD,OAZF,CADF;;;AAgBD","sourcesContent":["import React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\n\nimport { CloseProps } from './ModalContext';\nimport { styles } from './Modal.styles';\n\nexport function ModalClose({ disableClose, requestClose }: CloseProps) {\n const theme = useContext(ThemeContext);\n const [focusedByTab, setFocusedByTab] = React.useState(false);\n\n const handleFocus = () => {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n };\n\n const handleBlur = () => {\n setFocusedByTab(false);\n };\n\n return (\n <button\n className={cx({\n [styles.close(theme)]: true,\n [styles.disabled(theme)]: disableClose,\n [styles.focus(theme)]: focusedByTab,\n })}\n onClick={requestClose}\n onFocus={handleFocus}\n onBlur={handleBlur}\n data-tid=\"modal-close\"\n tabIndex={disableClose ? -1 : 0}\n >\n <CrossIcon />\n </button>\n );\n}\n"]}
|
|
@@ -41,7 +41,6 @@ export var Textarea = /*#__PURE__*/function (_React$Component) {
|
|
|
41
41
|
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
42
42
|
_this.state = {
|
|
43
43
|
polyfillPlaceholder: polyfillPlaceholder,
|
|
44
|
-
rows: 1,
|
|
45
44
|
isCounterVisible: false
|
|
46
45
|
};
|
|
47
46
|
|
|
@@ -367,7 +366,7 @@ export var Textarea = /*#__PURE__*/function (_React$Component) {
|
|
|
367
366
|
this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());
|
|
368
367
|
}
|
|
369
368
|
|
|
370
|
-
if (this.props.autoResize && this.props.rows
|
|
369
|
+
if (this.props.autoResize && (this.props.rows !== prevProps.rows || this.props.maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)) {
|
|
371
370
|
this.autoResize();
|
|
372
371
|
}
|
|
373
372
|
};
|