baseui 10.0.0 → 10.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app-nav-bar/index.d.ts +24 -0
- package/app-nav-bar/mobile-menu.js +5 -3
- package/app-nav-bar/mobile-menu.js.flow +3 -2
- package/app-nav-bar/user-menu.js +5 -3
- package/app-nav-bar/user-menu.js.flow +3 -2
- package/block/index.d.ts +7 -0
- package/combobox/combobox.js +4 -9
- package/combobox/combobox.js.flow +4 -3
- package/combobox/index.d.ts +1 -1
- package/data-table/filter-menu.js +5 -3
- package/data-table/filter-menu.js.flow +3 -2
- package/data-table/header-cell.js +1 -1
- package/data-table/header-cell.js.flow +1 -1
- package/datepicker/calendar.js +6 -1
- package/datepicker/calendar.js.flow +4 -0
- package/datepicker/datepicker.js +1 -1
- package/datepicker/datepicker.js.flow +5 -2
- package/datepicker/index.d.ts +9 -1
- package/datepicker/month.js +2 -1
- package/datepicker/month.js.flow +8 -1
- package/datepicker/types.js.flow +13 -6
- package/es/app-nav-bar/mobile-menu.js +5 -5
- package/es/app-nav-bar/user-menu.js +5 -5
- package/es/combobox/combobox.js +4 -3
- package/es/data-table/filter-menu.js +3 -2
- package/es/data-table/header-cell.js +1 -1
- package/es/datepicker/calendar.js +6 -1
- package/es/datepicker/datepicker.js +1 -1
- package/es/datepicker/month.js +2 -1
- package/es/form-control/form-control.js +6 -14
- package/es/helper/helper.js +10 -6
- package/es/helpers/base-provider.js +4 -1
- package/es/input/input.js +9 -5
- package/es/layer/layer.js +5 -1
- package/es/layout-grid/grid.js +16 -10
- package/es/layout-grid/styled-components.js +24 -12
- package/es/list/index.js +1 -0
- package/es/list/list-heading.js +77 -0
- package/es/list/list-item.js +1 -1
- package/es/list/menu-adapter.js +4 -2
- package/es/list/styled-components.js +101 -4
- package/es/menu/stateful-container.js +41 -27
- package/es/phone-input/base-country-picker.js +2 -0
- package/es/popover/popover.js +21 -10
- package/es/select/select-component.js +34 -22
- package/es/table-semantic/styled-components.js +8 -10
- package/es/table-semantic/table-builder.js +3 -2
- package/es/table-semantic/table.js +1 -0
- package/es/tag/index.js +1 -1
- package/es/tag/styled-components.js +2 -4
- package/es/tag/tag.js +16 -16
- package/es/textarea/textarea.js +1 -2
- package/es/themes/dark-theme/color-semantic-tokens.js +18 -8
- package/es/themes/light-theme/color-semantic-tokens.js +14 -4
- package/es/tokens/colors.js +3 -3
- package/es/tree-view/tree-view.js +0 -2
- package/esm/app-nav-bar/mobile-menu.js +5 -3
- package/esm/app-nav-bar/user-menu.js +5 -3
- package/esm/combobox/combobox.js +4 -7
- package/esm/data-table/filter-menu.js +4 -3
- package/esm/data-table/header-cell.js +1 -1
- package/esm/datepicker/calendar.js +6 -1
- package/esm/datepicker/datepicker.js +1 -1
- package/esm/datepicker/month.js +2 -1
- package/esm/form-control/form-control.js +21 -33
- package/esm/helper/helper.js +10 -6
- package/esm/helpers/base-provider.js +4 -1
- package/esm/input/input.js +9 -5
- package/esm/layer/layer.js +5 -1
- package/esm/layout-grid/grid.js +20 -10
- package/esm/layout-grid/styled-components.js +52 -35
- package/esm/list/index.js +1 -0
- package/esm/list/list-heading.js +116 -0
- package/esm/list/list-item.js +1 -1
- package/esm/list/menu-adapter.js +4 -2
- package/esm/list/styled-components.js +99 -3
- package/esm/menu/stateful-container.js +56 -40
- package/esm/phone-input/base-country-picker.js +2 -0
- package/esm/popover/popover.js +25 -16
- package/esm/select/select-component.js +87 -79
- package/esm/table-semantic/styled-components.js +8 -10
- package/esm/table-semantic/table-builder.js +3 -2
- package/esm/table-semantic/table.js +1 -0
- package/esm/tag/index.js +1 -1
- package/esm/tag/styled-components.js +2 -4
- package/esm/tag/tag.js +18 -16
- package/esm/textarea/textarea.js +1 -2
- package/esm/themes/dark-theme/color-semantic-tokens.js +18 -8
- package/esm/themes/light-theme/color-semantic-tokens.js +14 -4
- package/esm/tokens/colors.js +3 -3
- package/esm/tree-view/tree-view.js +0 -2
- package/form-control/form-control.js +21 -35
- package/form-control/form-control.js.flow +37 -35
- package/helper/helper.js +10 -6
- package/helper/helper.js.flow +1 -0
- package/helpers/base-provider.js +5 -1
- package/helpers/base-provider.js.flow +4 -1
- package/index.d.ts +1 -0
- package/input/input.js +9 -5
- package/input/input.js.flow +9 -5
- package/layer/layer.js +5 -1
- package/layer/layer.js.flow +3 -1
- package/layer/types.js.flow +4 -0
- package/layout-grid/grid.js +19 -9
- package/layout-grid/grid.js.flow +52 -26
- package/layout-grid/index.d.ts +1 -0
- package/layout-grid/styled-components.js +54 -36
- package/layout-grid/styled-components.js.flow +48 -24
- package/layout-grid/types.js.flow +12 -0
- package/list/index.js +9 -0
- package/list/index.js.flow +1 -0
- package/list/list-heading.js +124 -0
- package/list/list-heading.js.flow +138 -0
- package/list/list-item.js +1 -1
- package/list/list-item.js.flow +1 -1
- package/list/menu-adapter.js +5 -2
- package/list/menu-adapter.js.flow +21 -11
- package/list/styled-components.js +108 -5
- package/list/styled-components.js.flow +103 -2
- package/list/types.js.flow +22 -0
- package/menu/stateful-container.js +57 -42
- package/menu/stateful-container.js.flow +38 -26
- package/package.json +1 -1
- package/phone-input/base-country-picker.js +2 -0
- package/phone-input/base-country-picker.js.flow +2 -0
- package/popover/popover.js +26 -17
- package/popover/popover.js.flow +19 -7
- package/select/select-component.js +87 -79
- package/select/select-component.js.flow +119 -103
- package/snackbar/index.d.ts +3 -3
- package/snackbar/types.js.flow +1 -1
- package/table-semantic/index.d.ts +1 -0
- package/table-semantic/styled-components.js +8 -10
- package/table-semantic/styled-components.js.flow +20 -20
- package/table-semantic/table-builder.js +3 -2
- package/table-semantic/table-builder.js.flow +3 -2
- package/table-semantic/table.js +1 -0
- package/table-semantic/table.js.flow +1 -0
- package/tag/index.d.ts +0 -1
- package/tag/index.js +0 -6
- package/tag/index.js.flow +0 -1
- package/tag/styled-components.js +3 -6
- package/tag/styled-components.js.flow +0 -2
- package/tag/tag.js +19 -14
- package/tag/tag.js.flow +13 -19
- package/textarea/textarea.js +1 -2
- package/textarea/textarea.js.flow +0 -1
- package/theme.ts +12 -0
- package/themes/dark-theme/color-semantic-tokens.js +18 -8
- package/themes/dark-theme/color-semantic-tokens.js.flow +18 -7
- package/themes/light-theme/color-semantic-tokens.js +14 -4
- package/themes/light-theme/color-semantic-tokens.js.flow +14 -3
- package/themes/types.js.flow +11 -0
- package/toast/index.d.ts +1 -0
- package/tokens/colors.js +3 -3
- package/tokens/colors.js.flow +3 -3
- package/tree-view/tree-view.js +0 -2
- package/tree-view/tree-view.js.flow +0 -1
- package/es/utils/get-bui-id.js +0 -33
- package/esm/utils/get-bui-id.js +0 -33
- package/utils/get-bui-id.js +0 -41
- package/utils/get-bui-id.js.flow +0 -39
package/es/helper/helper.js
CHANGED
|
@@ -29,12 +29,16 @@ export function Helper(props) {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}, overrides);
|
|
32
|
-
return
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
return (
|
|
33
|
+
/*#__PURE__*/
|
|
34
|
+
//$FlowFixMe
|
|
35
|
+
React.createElement(Popover, _extends({
|
|
36
|
+
"data-baseweb": "helper"
|
|
37
|
+
}, restProps, {
|
|
38
|
+
placement: placement,
|
|
39
|
+
overrides: mergedOverrides
|
|
40
|
+
}))
|
|
41
|
+
);
|
|
38
42
|
}
|
|
39
43
|
Helper.defaultProps = { ...Popover.defaultProps,
|
|
40
44
|
placement: PLACEMENT.bottom,
|
|
@@ -5,6 +5,7 @@ This source code is licensed under the MIT license found in the
|
|
|
5
5
|
LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import * as React from 'react';
|
|
8
|
+
import { UIDReset } from 'react-uid';
|
|
8
9
|
import { LayersManager } from '../layer/index.js';
|
|
9
10
|
import { ThemeProvider } from '../styles/index.js';
|
|
10
11
|
|
|
@@ -18,9 +19,11 @@ const BaseProvider = props => {
|
|
|
18
19
|
return /*#__PURE__*/React.createElement(LayersManager, {
|
|
19
20
|
zIndex: zIndex,
|
|
20
21
|
overrides: overrides
|
|
22
|
+
}, /*#__PURE__*/React.createElement(UIDReset, {
|
|
23
|
+
prefix: "bui"
|
|
21
24
|
}, /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
22
25
|
theme: theme
|
|
23
|
-
}, children));
|
|
26
|
+
}, children)));
|
|
24
27
|
};
|
|
25
28
|
|
|
26
29
|
export default BaseProvider;
|
package/es/input/input.js
CHANGED
|
@@ -67,14 +67,14 @@ class Input extends React.Component {
|
|
|
67
67
|
}, sharedProps, rootProps, {
|
|
68
68
|
$adjoined: getAdjoinedProp(startEnhancer, endEnhancer),
|
|
69
69
|
$hasIconTrailing: this.props.clearable || this.props.type == 'password'
|
|
70
|
-
}), startEnhancer && /*#__PURE__*/React.createElement(StartEnhancer, _extends({}, sharedProps, startEnhancerProps, {
|
|
70
|
+
}), isEnhancer(startEnhancer) && /*#__PURE__*/React.createElement(StartEnhancer, _extends({}, sharedProps, startEnhancerProps, {
|
|
71
71
|
$position: ENHANCER_POSITION.start
|
|
72
72
|
}), typeof startEnhancer === 'function' ? startEnhancer(sharedProps) : startEnhancer), /*#__PURE__*/React.createElement(BaseInput, _extends({}, restProps, {
|
|
73
73
|
overrides: restOverrides,
|
|
74
74
|
adjoined: getAdjoinedProp(startEnhancer, endEnhancer),
|
|
75
75
|
onFocus: this.onFocus,
|
|
76
76
|
onBlur: this.onBlur
|
|
77
|
-
})), endEnhancer && /*#__PURE__*/React.createElement(EndEnhancer, _extends({}, sharedProps, endEnhancerProps, {
|
|
77
|
+
})), isEnhancer(endEnhancer) && /*#__PURE__*/React.createElement(EndEnhancer, _extends({}, sharedProps, endEnhancerProps, {
|
|
78
78
|
$position: ENHANCER_POSITION.end
|
|
79
79
|
}), typeof endEnhancer === 'function' ? endEnhancer(sharedProps) : endEnhancer));
|
|
80
80
|
}
|
|
@@ -98,15 +98,19 @@ _defineProperty(Input, "defaultProps", {
|
|
|
98
98
|
});
|
|
99
99
|
|
|
100
100
|
function getAdjoinedProp(startEnhancer, endEnhancer) {
|
|
101
|
-
if (startEnhancer && endEnhancer) {
|
|
101
|
+
if (isEnhancer(startEnhancer) && isEnhancer(endEnhancer)) {
|
|
102
102
|
return ADJOINED.both;
|
|
103
|
-
} else if (startEnhancer) {
|
|
103
|
+
} else if (isEnhancer(startEnhancer)) {
|
|
104
104
|
return ADJOINED.left;
|
|
105
|
-
} else if (endEnhancer) {
|
|
105
|
+
} else if (isEnhancer(endEnhancer)) {
|
|
106
106
|
return ADJOINED.right;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
return ADJOINED.none;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
+
function isEnhancer(enhancer) {
|
|
113
|
+
return Boolean(enhancer || enhancer === 0);
|
|
114
|
+
}
|
|
115
|
+
|
|
112
116
|
export default Input;
|
package/es/layer/layer.js
CHANGED
|
@@ -48,7 +48,11 @@ class LayerComponent extends React.Component {
|
|
|
48
48
|
|
|
49
49
|
componentDidMount() {
|
|
50
50
|
this.context.addEscapeHandler(this.onEscape);
|
|
51
|
-
|
|
51
|
+
|
|
52
|
+
if (!this.props.isHoverLayer) {
|
|
53
|
+
this.context.addDocClickHandler(this.onDocumentClick);
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
const {
|
|
53
57
|
onMount,
|
|
54
58
|
mountNode,
|
package/es/layout-grid/grid.js
CHANGED
|
@@ -9,7 +9,7 @@ LICENSE file in the root directory of this source tree.
|
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
import { getOverrides } from '../helpers/overrides.js';
|
|
11
11
|
import { STYLE, STYLE_VALUES } from './constants.js';
|
|
12
|
-
import { StyledGrid as DefaultStyledGrid } from './styled-components.js';
|
|
12
|
+
import { StyledGrid as DefaultStyledGrid, StyledGridWrapper as DefaultStyledGridWrapper } from './styled-components.js';
|
|
13
13
|
export const GridContext = /*#__PURE__*/React.createContext({});
|
|
14
14
|
export default function Grid({
|
|
15
15
|
align,
|
|
@@ -25,27 +25,33 @@ export default function Grid({
|
|
|
25
25
|
overrides = {}
|
|
26
26
|
}) {
|
|
27
27
|
const [StyledGrid, overrideProps] = getOverrides(overrides.Grid, DefaultStyledGrid);
|
|
28
|
+
const [StyledGridWrapper, wrapperProps] = getOverrides(overrides.GridWrapper, DefaultStyledGridWrapper);
|
|
28
29
|
const presetStyleValues = STYLE_VALUES[gridStyle];
|
|
29
|
-
const gridStyleValues = presetStyleValues
|
|
30
|
+
const gridStyleValues = presetStyleValues ? {
|
|
30
31
|
$gridGutters: presetStyleValues.gutters,
|
|
31
32
|
$gridMargins: presetStyleValues.margins,
|
|
32
33
|
$gridMaxWidth: presetStyleValues.maxWidth,
|
|
33
34
|
$gridUnit: presetStyleValues.unit
|
|
34
|
-
};
|
|
35
|
+
} : {};
|
|
35
36
|
const gridContextStyleValues = presetStyleValues && {
|
|
36
37
|
gridColumns: presetStyleValues.columns,
|
|
37
38
|
gridGaps: presetStyleValues.gaps,
|
|
38
39
|
gridGutters: presetStyleValues.gutters,
|
|
39
40
|
gridUnit: presetStyleValues.unit
|
|
40
41
|
};
|
|
41
|
-
return /*#__PURE__*/React.createElement(
|
|
42
|
+
return /*#__PURE__*/React.createElement(StyledGridWrapper, _extends({
|
|
43
|
+
$behavior: behavior,
|
|
44
|
+
$gridMargins: gridMargins != null ? gridMargins : gridStyleValues.$gridMargins,
|
|
45
|
+
$gridMaxWidth: gridMaxWidth != null ? gridMaxWidth : gridStyleValues.$gridMaxWidth,
|
|
46
|
+
$gridUnit: gridUnit != null ? gridUnit : gridStyleValues.$gridUnit
|
|
47
|
+
}, wrapperProps), /*#__PURE__*/React.createElement(StyledGrid, _extends({
|
|
42
48
|
$align: align,
|
|
43
49
|
$behavior: behavior,
|
|
44
|
-
$gridGutters: gridGutters,
|
|
45
|
-
$gridMargins: gridMargins,
|
|
46
|
-
$gridMaxWidth: gridMaxWidth,
|
|
47
|
-
$gridUnit: gridUnit
|
|
48
|
-
},
|
|
50
|
+
$gridGutters: gridGutters != null ? gridGutters : gridStyleValues.$gridGutters,
|
|
51
|
+
$gridMargins: gridMargins != null ? gridMargins : gridStyleValues.$gridMargins,
|
|
52
|
+
$gridMaxWidth: gridMaxWidth != null ? gridMaxWidth : gridStyleValues.$gridMaxWidth,
|
|
53
|
+
$gridUnit: gridUnit != null ? gridUnit : gridStyleValues.$gridUnit
|
|
54
|
+
}, overrideProps), /*#__PURE__*/React.createElement(GridContext.Provider, {
|
|
49
55
|
value: {
|
|
50
56
|
gridColumns,
|
|
51
57
|
gridGaps,
|
|
@@ -53,5 +59,5 @@ export default function Grid({
|
|
|
53
59
|
gridUnit,
|
|
54
60
|
...gridContextStyleValues
|
|
55
61
|
}
|
|
56
|
-
}, children));
|
|
62
|
+
}, children)));
|
|
57
63
|
}
|
|
@@ -7,6 +7,17 @@ LICENSE file in the root directory of this source tree.
|
|
|
7
7
|
import { styled } from '../styles/index.js';
|
|
8
8
|
import { getMediaQueries } from '../helpers/responsive-helpers.js';
|
|
9
9
|
import { BEHAVIOR } from './constants.js';
|
|
10
|
+
export const StyledGridWrapper = styled('div', ({
|
|
11
|
+
$theme,
|
|
12
|
+
$behavior = BEHAVIOR.fixed,
|
|
13
|
+
$gridMargins = $theme.grid.margins,
|
|
14
|
+
$gridMaxWidth = $theme.grid.maxWidth,
|
|
15
|
+
$gridUnit = $theme.grid.unit
|
|
16
|
+
}) => ({
|
|
17
|
+
margin: 'auto',
|
|
18
|
+
maxWidth: $behavior === BEHAVIOR.fixed ? `${$gridMaxWidth + 2 * getResponsiveNumber($gridMargins, Infinity) - 1}${$gridUnit}` : null
|
|
19
|
+
}));
|
|
20
|
+
StyledGridWrapper.displayName = "StyledGridWrapper";
|
|
10
21
|
export const StyledGrid = styled('div', ({
|
|
11
22
|
$theme,
|
|
12
23
|
$align = null,
|
|
@@ -20,22 +31,24 @@ export const StyledGrid = styled('div', ({
|
|
|
20
31
|
const gridStyles = mediaQueries.reduce((acc, cur, idx) => {
|
|
21
32
|
return { ...acc,
|
|
22
33
|
[cur]: {
|
|
23
|
-
paddingLeft: `${getResponsiveNumber($gridMargins, idx)
|
|
24
|
-
paddingRight: `${getResponsiveNumber($gridMargins, idx)
|
|
34
|
+
paddingLeft: `${getResponsiveNumber($gridMargins, idx)}${$gridUnit}`,
|
|
35
|
+
paddingRight: `${getResponsiveNumber($gridMargins, idx)}${$gridUnit}`,
|
|
36
|
+
marginLeft: `-${getResponsiveNumber($gridGutters, idx) / 2}${$gridUnit}`,
|
|
37
|
+
marginRight: `-${getResponsiveNumber($gridGutters, idx) / 2}${$gridUnit}`,
|
|
25
38
|
alignItems: getResponsiveValue($align, idx)
|
|
26
39
|
}
|
|
27
40
|
};
|
|
28
41
|
}, {
|
|
29
|
-
paddingLeft: `${getResponsiveNumber($gridMargins, 0)
|
|
30
|
-
paddingRight: `${getResponsiveNumber($gridMargins, 0)
|
|
42
|
+
paddingLeft: `${getResponsiveNumber($gridMargins, 0)}${$gridUnit}`,
|
|
43
|
+
paddingRight: `${getResponsiveNumber($gridMargins, 0)}${$gridUnit}`,
|
|
44
|
+
marginLeft: `-${getResponsiveNumber($gridGutters, 0) / 2}${$gridUnit}`,
|
|
45
|
+
marginRight: `-${getResponsiveNumber($gridGutters, 0) / 2}${$gridUnit}`,
|
|
31
46
|
alignItems: getResponsiveValue($align, 0)
|
|
32
47
|
});
|
|
33
48
|
return {
|
|
34
49
|
boxSizing: 'border-box',
|
|
35
50
|
display: 'flex',
|
|
36
51
|
flexWrap: 'wrap',
|
|
37
|
-
marginLeft: 'auto',
|
|
38
|
-
marginRight: 'auto',
|
|
39
52
|
maxWidth: $behavior === BEHAVIOR.fixed ? `${$gridMaxWidth + 2 * getResponsiveNumber($gridMargins, Infinity) - 1}${$gridUnit}` : null,
|
|
40
53
|
...gridStyles
|
|
41
54
|
};
|
|
@@ -70,10 +83,9 @@ export const StyledCell = styled('div', ({
|
|
|
70
83
|
return { ...acc,
|
|
71
84
|
[cur]: {
|
|
72
85
|
display: 'block',
|
|
73
|
-
width:
|
|
74
|
-
marginLeft:
|
|
75
|
-
|
|
76
|
-
paddingRight: `${getResponsiveNumber($gridGutters, idx) / 2}${$gridUnit}`,
|
|
86
|
+
width: `calc(${100 / getResponsiveNumber($gridColumns, idx) * Math.min(getResponsiveNumber($span, idx), getResponsiveNumber($gridColumns, idx))}% - ${getResponsiveNumber($gridGutters, idx)}${$gridUnit})`,
|
|
87
|
+
marginLeft: `calc(${100 / getResponsiveNumber($gridColumns, idx) * Math.min(getResponsiveNumber($skip, idx), getResponsiveNumber($gridColumns, idx) - 1)}% + ${getResponsiveNumber($gridGutters, idx) / 2}${$gridUnit})`,
|
|
88
|
+
marginRight: `${getResponsiveNumber($gridGutters, idx) / 2}${$gridUnit}`,
|
|
77
89
|
marginBottom: `${getResponsiveNumber($gridGaps, idx)}${$gridUnit}`,
|
|
78
90
|
alignSelf: getResponsiveValue($align, idx),
|
|
79
91
|
order: getResponsiveNumber($order, idx)
|
|
@@ -81,8 +93,8 @@ export const StyledCell = styled('div', ({
|
|
|
81
93
|
};
|
|
82
94
|
}, {
|
|
83
95
|
width: '100%',
|
|
84
|
-
|
|
85
|
-
|
|
96
|
+
marginLeft: `${getResponsiveNumber($gridGutters, 0) / 2}${$gridUnit}`,
|
|
97
|
+
marginRight: `${getResponsiveNumber($gridGutters, 0) / 2}${$gridUnit}`,
|
|
86
98
|
marginBottom: `${getResponsiveNumber($gridGaps, 0)}${$gridUnit}`,
|
|
87
99
|
alignSelf: getResponsiveValue($align, 0),
|
|
88
100
|
order: getResponsiveNumber($order, 0)
|
package/es/list/index.js
CHANGED
|
@@ -6,6 +6,7 @@ LICENSE file in the root directory of this source tree.
|
|
|
6
6
|
*/
|
|
7
7
|
export { default as ListItem } from './list-item.js';
|
|
8
8
|
export { default as ListItemLabel } from './list-item-label.js';
|
|
9
|
+
export { default as ListHeading } from './list-heading.js';
|
|
9
10
|
export { default as MenuAdapter } from './menu-adapter.js';
|
|
10
11
|
export { ARTWORK_SIZES, SHAPE } from './constants.js';
|
|
11
12
|
export * from './styled-components.js';
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Copyright (c) Uber Technologies, Inc.
|
|
5
|
+
|
|
6
|
+
This source code is licensed under the MIT license found in the
|
|
7
|
+
LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import ReactIs from 'react-is';
|
|
11
|
+
import { getOverrides } from '../helpers/overrides.js';
|
|
12
|
+
import { StyledHeadingRoot, StyledHeadingContent, StyledHeadingContentRow, StyledHeadingEndEnhancerContainer, StyledHeadingEndEnhancerDescriptionContainer, StyledHeadingMainHeading, StyledHeadingSubHeading } from './styled-components.js';
|
|
13
|
+
|
|
14
|
+
function RenderNode(props) {
|
|
15
|
+
const {
|
|
16
|
+
component,
|
|
17
|
+
...restProps
|
|
18
|
+
} = props;
|
|
19
|
+
const Component = component;
|
|
20
|
+
|
|
21
|
+
if (!Component) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (typeof Component === 'string') {
|
|
26
|
+
return Component;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (ReactIs.isValidElementType(Component)) {
|
|
30
|
+
// $FlowFixMe
|
|
31
|
+
return /*#__PURE__*/React.createElement(Component, restProps);
|
|
32
|
+
} // $FlowFixMe
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
return Component;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const ListHeading = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
39
|
+
const {
|
|
40
|
+
overrides = {}
|
|
41
|
+
} = props;
|
|
42
|
+
const EndEnhancer = props.endEnhancer;
|
|
43
|
+
const EndEnhancerDescription = props.endEnhancerDescription;
|
|
44
|
+
const SubHeading = props.subHeading;
|
|
45
|
+
const [Root, rootProps] = getOverrides(overrides.Root, StyledHeadingRoot);
|
|
46
|
+
const [Content, contentProps] = getOverrides(overrides.Content, StyledHeadingContent);
|
|
47
|
+
const [HeadingContainer, headingContainerProps] = getOverrides(overrides.HeadingContainer, StyledHeadingMainHeading);
|
|
48
|
+
const [SubHeadingContainer, subHeadingContainerProps] = getOverrides(overrides.SubHeadingContainer, StyledHeadingSubHeading);
|
|
49
|
+
const [EndEnhancerContainer, endEnhancerContainerProps] = getOverrides(overrides.EndEnhancerContainer, StyledHeadingEndEnhancerContainer);
|
|
50
|
+
const [EndEnhancerDescriptionContainer, endEnhancerDescriptionContainerProps] = getOverrides(overrides.EndEnhancerDescriptionContainer, StyledHeadingEndEnhancerDescriptionContainer);
|
|
51
|
+
const isEndEnhancerString = typeof EndEnhancer === 'string';
|
|
52
|
+
|
|
53
|
+
if (isEndEnhancerString && EndEnhancerDescription) {
|
|
54
|
+
console.warn('endEnhancerDescription will not be rendered if endEnhancer is not a string');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return /*#__PURE__*/React.createElement(Root // eslint-disable-next-line flowtype/no-weak-types
|
|
58
|
+
, _extends({
|
|
59
|
+
ref: ref
|
|
60
|
+
}, rootProps), /*#__PURE__*/React.createElement(Content, contentProps, /*#__PURE__*/React.createElement(StyledHeadingContentRow, null, /*#__PURE__*/React.createElement(HeadingContainer, _extends({
|
|
61
|
+
$maxLines: props.maxLines
|
|
62
|
+
}, headingContainerProps), /*#__PURE__*/React.createElement(RenderNode, {
|
|
63
|
+
component: props.heading
|
|
64
|
+
})), EndEnhancer && /*#__PURE__*/React.createElement(EndEnhancerContainer, _extends({
|
|
65
|
+
$isText: isEndEnhancerString
|
|
66
|
+
}, endEnhancerContainerProps), /*#__PURE__*/React.createElement(RenderNode, {
|
|
67
|
+
component: EndEnhancer
|
|
68
|
+
}))), (SubHeading || EndEnhancerDescription) && /*#__PURE__*/React.createElement(StyledHeadingContentRow, null, /*#__PURE__*/React.createElement(SubHeadingContainer, _extends({
|
|
69
|
+
$maxLines: props.maxLines
|
|
70
|
+
}, subHeadingContainerProps), /*#__PURE__*/React.createElement(RenderNode, {
|
|
71
|
+
component: SubHeading
|
|
72
|
+
})), EndEnhancerDescription && isEndEnhancerString && /*#__PURE__*/React.createElement(EndEnhancerDescriptionContainer, endEnhancerDescriptionContainerProps, /*#__PURE__*/React.createElement(RenderNode, {
|
|
73
|
+
component: EndEnhancerDescription
|
|
74
|
+
})))));
|
|
75
|
+
});
|
|
76
|
+
ListHeading.displayName = 'ListHeading';
|
|
77
|
+
export default ListHeading;
|
package/es/list/list-item.js
CHANGED
|
@@ -50,7 +50,7 @@ const ListItem = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
50
50
|
})), /*#__PURE__*/React.createElement(Content, _extends({
|
|
51
51
|
$mLeft: !Artwork,
|
|
52
52
|
$sublist: !!props.sublist
|
|
53
|
-
}, contentProps), props.children, EndEnhancer && /*#__PURE__*/React.createElement(EndEnhancerContainer, endEnhancerContainerProps, /*#__PURE__*/React.createElement(EndEnhancer, null))));
|
|
53
|
+
}, contentProps), props.children, EndEnhancer && EndEnhancer !== 0 && /*#__PURE__*/React.createElement(EndEnhancerContainer, endEnhancerContainerProps, /*#__PURE__*/React.createElement(EndEnhancer, null))));
|
|
54
54
|
});
|
|
55
55
|
ListItem.displayName = 'ListItem';
|
|
56
56
|
export default ListItem;
|
package/es/list/menu-adapter.js
CHANGED
|
@@ -6,6 +6,7 @@ LICENSE file in the root directory of this source tree.
|
|
|
6
6
|
*/
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import ListItem from './list-item.js';
|
|
9
|
+
import { mergeOverrides } from '../helpers/overrides.js';
|
|
9
10
|
const MenuAdapter = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
10
11
|
return /*#__PURE__*/React.createElement(ListItem, {
|
|
11
12
|
ref: ref,
|
|
@@ -13,7 +14,8 @@ const MenuAdapter = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
13
14
|
artwork: props.artwork,
|
|
14
15
|
artworkSize: props.artworkSize,
|
|
15
16
|
endEnhancer: props.endEnhancer,
|
|
16
|
-
overrides:
|
|
17
|
+
overrides: // $FlowFixMe
|
|
18
|
+
mergeOverrides({
|
|
17
19
|
Root: {
|
|
18
20
|
props: {
|
|
19
21
|
onMouseEnter: props.onMouseEnter,
|
|
@@ -26,7 +28,7 @@ const MenuAdapter = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
26
28
|
cursor: props.$disabled ? 'not-allowed' : 'pointer'
|
|
27
29
|
})
|
|
28
30
|
}
|
|
29
|
-
}
|
|
31
|
+
}, props.overrides)
|
|
30
32
|
}, props.children);
|
|
31
33
|
});
|
|
32
34
|
MenuAdapter.displayName = 'MenuAdapter';
|
|
@@ -37,7 +37,7 @@ export const StyledContent = styled('div', ({
|
|
|
37
37
|
borderLeftStyle: 'none',
|
|
38
38
|
display: 'flex',
|
|
39
39
|
flexGrow: 1,
|
|
40
|
-
minHeight: $sublist ? '
|
|
40
|
+
minHeight: $sublist ? 'initial' : $theme.sizing.scale1600,
|
|
41
41
|
justifyContent: 'space-between',
|
|
42
42
|
...($theme.direction === 'rtl' ? {
|
|
43
43
|
paddingLeft: $theme.sizing.scale600,
|
|
@@ -101,8 +101,105 @@ StyledLabelDescription.displayName = "StyledLabelDescription";
|
|
|
101
101
|
export const StyledLabelSublistContent = styled('p', ({
|
|
102
102
|
$theme
|
|
103
103
|
}) => {
|
|
104
|
-
return { ...$theme.typography.
|
|
105
|
-
color: $theme.colors.contentPrimary
|
|
104
|
+
return { ...$theme.typography.LabelMedium,
|
|
105
|
+
color: $theme.colors.contentPrimary,
|
|
106
|
+
marginTop: $theme.sizing.scale500,
|
|
107
|
+
marginBottom: $theme.sizing.scale500
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
StyledLabelSublistContent.displayName = "StyledLabelSublistContent";
|
|
111
|
+
export const StyledHeadingRoot = styled('div', ({
|
|
112
|
+
$theme
|
|
113
|
+
}) => {
|
|
114
|
+
return {
|
|
115
|
+
display: 'flex',
|
|
116
|
+
alignItems: 'center',
|
|
117
|
+
width: '100%',
|
|
118
|
+
backgroundColor: $theme.colors.backgroundPrimary,
|
|
119
|
+
overflow: 'hidden',
|
|
120
|
+
minHeight: $theme.sizing.scale1600
|
|
121
|
+
};
|
|
122
|
+
});
|
|
123
|
+
StyledHeadingRoot.displayName = "StyledHeadingRoot";
|
|
124
|
+
export const StyledHeadingContent = styled('div', ({
|
|
125
|
+
$theme
|
|
126
|
+
}) => {
|
|
127
|
+
return {
|
|
128
|
+
flexGrow: 1,
|
|
129
|
+
width: '100%',
|
|
130
|
+
minWidth: 0,
|
|
131
|
+
paddingTop: $theme.sizing.scale600,
|
|
132
|
+
paddingBottom: $theme.sizing.scale300,
|
|
133
|
+
...($theme.direction === 'rtl' ? {
|
|
134
|
+
paddingLeft: $theme.sizing.scale600,
|
|
135
|
+
marginRight: $theme.sizing.scale600
|
|
136
|
+
} : {
|
|
137
|
+
paddingRight: $theme.sizing.scale600,
|
|
138
|
+
marginLeft: $theme.sizing.scale600
|
|
139
|
+
})
|
|
140
|
+
};
|
|
141
|
+
});
|
|
142
|
+
StyledHeadingContent.displayName = "StyledHeadingContent";
|
|
143
|
+
export const StyledHeadingContentRow = styled('div', {
|
|
144
|
+
display: 'flex',
|
|
145
|
+
justifyContent: 'space-between',
|
|
146
|
+
width: '100%'
|
|
147
|
+
});
|
|
148
|
+
StyledHeadingContentRow.displayName = "StyledHeadingContentRow";
|
|
149
|
+
export const StyledHeadingMainHeading = styled('p', // $FlowFixMe - suppressing due to webkit properties
|
|
150
|
+
({
|
|
151
|
+
$maxLines = 1,
|
|
152
|
+
$theme
|
|
153
|
+
}) => {
|
|
154
|
+
return { ...$theme.typography.HeadingSmall,
|
|
155
|
+
color: $theme.colors.contentPrimary,
|
|
156
|
+
marginTop: 0,
|
|
157
|
+
marginBottom: 0,
|
|
158
|
+
marginRight: $theme.sizing.scale600,
|
|
159
|
+
display: '-webkit-box',
|
|
160
|
+
'-webkit-line-clamp': $maxLines,
|
|
161
|
+
'-webkit-box-orient': 'vertical',
|
|
162
|
+
overflow: 'hidden'
|
|
163
|
+
};
|
|
164
|
+
});
|
|
165
|
+
StyledHeadingMainHeading.displayName = "StyledHeadingMainHeading";
|
|
166
|
+
export const StyledHeadingSubHeading = styled('p', // $FlowFixMe - suppressing due to webkit properties
|
|
167
|
+
({
|
|
168
|
+
$maxLines = 1,
|
|
169
|
+
$theme
|
|
170
|
+
}) => {
|
|
171
|
+
return { ...$theme.typography.ParagraphLarge,
|
|
172
|
+
color: $theme.colors.contentPrimary,
|
|
173
|
+
marginTop: 0,
|
|
174
|
+
marginBottom: 0,
|
|
175
|
+
marginRight: $theme.sizing.scale600,
|
|
176
|
+
display: '-webkit-box',
|
|
177
|
+
'-webkit-line-clamp': $maxLines,
|
|
178
|
+
'-webkit-box-orient': 'vertical',
|
|
179
|
+
overflow: 'hidden'
|
|
106
180
|
};
|
|
107
181
|
});
|
|
108
|
-
|
|
182
|
+
StyledHeadingSubHeading.displayName = "StyledHeadingSubHeading";
|
|
183
|
+
export const StyledHeadingEndEnhancerContainer = styled('div', ({
|
|
184
|
+
$isText,
|
|
185
|
+
$theme
|
|
186
|
+
}) => ({ ...$theme.typography.LabelMedium,
|
|
187
|
+
display: 'flex',
|
|
188
|
+
alignItems: $isText ? 'flex-end' : 'center',
|
|
189
|
+
whiteSpace: 'nowrap',
|
|
190
|
+
overflow: 'hidden',
|
|
191
|
+
textOverflow: 'ellipsis'
|
|
192
|
+
}));
|
|
193
|
+
StyledHeadingEndEnhancerContainer.displayName = "StyledHeadingEndEnhancerContainer";
|
|
194
|
+
export const StyledHeadingEndEnhancerDescriptionContainer = styled('p', ({
|
|
195
|
+
$theme
|
|
196
|
+
}) => ({ ...$theme.typography.ParagraphMedium,
|
|
197
|
+
marginTop: 0,
|
|
198
|
+
marginBottom: 0,
|
|
199
|
+
display: 'flex',
|
|
200
|
+
alignItems: 'flex-start',
|
|
201
|
+
whiteSpace: 'nowrap',
|
|
202
|
+
overflow: 'hidden',
|
|
203
|
+
textOverflow: 'ellipsis'
|
|
204
|
+
}));
|
|
205
|
+
StyledHeadingEndEnhancerDescriptionContainer.displayName = "StyledHeadingEndEnhancerDescriptionContainer";
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
1
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
4
|
|
|
3
5
|
/*
|
|
@@ -8,11 +10,34 @@ LICENSE file in the root directory of this source tree.
|
|
|
8
10
|
*/
|
|
9
11
|
import * as React from 'react'; // Files
|
|
10
12
|
|
|
11
|
-
import getBuiId from '../utils/get-bui-id.js';
|
|
12
13
|
import { STATE_CHANGE_TYPES, KEY_STRINGS } from './constants.js';
|
|
13
14
|
import { scrollItemIntoView } from './utils.js'; // Types
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
import { useUIDSeed } from 'react-uid';
|
|
17
|
+
const DEFAULT_PROPS = {
|
|
18
|
+
// keeping it in defaultProps to satisfy Flow
|
|
19
|
+
initialState: {
|
|
20
|
+
// We start the index at -1 to indicate that no highlighting exists initially
|
|
21
|
+
highlightedIndex: -1,
|
|
22
|
+
isFocused: false
|
|
23
|
+
},
|
|
24
|
+
typeAhead: true,
|
|
25
|
+
keyboardControlNode: {
|
|
26
|
+
current: null
|
|
27
|
+
},
|
|
28
|
+
stateReducer: (changeType, changes) => changes,
|
|
29
|
+
onItemSelect: () => {},
|
|
30
|
+
getRequiredItemProps: () => ({}),
|
|
31
|
+
children: () => null,
|
|
32
|
+
// from nested-menus context
|
|
33
|
+
addMenuToNesting: () => {},
|
|
34
|
+
removeMenuFromNesting: () => {},
|
|
35
|
+
getParentMenu: () => {},
|
|
36
|
+
getChildMenu: () => {},
|
|
37
|
+
forceHighlight: false
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
class MenuStatefulContainerInner extends React.Component {
|
|
16
41
|
constructor(...args) {
|
|
17
42
|
super(...args);
|
|
18
43
|
|
|
@@ -215,7 +240,7 @@ export default class MenuStatefulContainer extends React.Component {
|
|
|
215
240
|
if (!itemRef) {
|
|
216
241
|
itemRef = /*#__PURE__*/React.createRef();
|
|
217
242
|
this.refList[index] = itemRef;
|
|
218
|
-
this.optionIds[index] =
|
|
243
|
+
this.optionIds[index] = this.props.uidSeed(index);
|
|
219
244
|
}
|
|
220
245
|
|
|
221
246
|
const {
|
|
@@ -377,7 +402,7 @@ export default class MenuStatefulContainer extends React.Component {
|
|
|
377
402
|
return this.props.children({ ...restProps,
|
|
378
403
|
rootRef: this.props.rootRef ? this.props.rootRef : this.rootRef,
|
|
379
404
|
activedescendantId: this.optionIds[this.state.highlightedIndex],
|
|
380
|
-
getRequiredItemProps: this.getRequiredItemProps,
|
|
405
|
+
getRequiredItemProps: (item, index) => this.getRequiredItemProps(item, index),
|
|
381
406
|
handleMouseLeave: this.handleMouseLeave,
|
|
382
407
|
highlightedIndex: this.state.highlightedIndex,
|
|
383
408
|
isFocused: this.state.isFocused,
|
|
@@ -387,27 +412,16 @@ export default class MenuStatefulContainer extends React.Component {
|
|
|
387
412
|
});
|
|
388
413
|
}
|
|
389
414
|
|
|
390
|
-
}
|
|
415
|
+
} // Remove when MenuStatefulContainer is converted to a functional component.
|
|
391
416
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
},
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
stateReducer: (changeType, changes) => changes,
|
|
404
|
-
onItemSelect: () => {},
|
|
405
|
-
getRequiredItemProps: () => ({}),
|
|
406
|
-
children: () => null,
|
|
407
|
-
// from nested-menus context
|
|
408
|
-
addMenuToNesting: () => {},
|
|
409
|
-
removeMenuFromNesting: () => {},
|
|
410
|
-
getParentMenu: () => {},
|
|
411
|
-
getChildMenu: () => {},
|
|
412
|
-
forceHighlight: false
|
|
413
|
-
});
|
|
417
|
+
|
|
418
|
+
_defineProperty(MenuStatefulContainerInner, "defaultProps", DEFAULT_PROPS);
|
|
419
|
+
|
|
420
|
+
const MenuStatefulContainer = props => {
|
|
421
|
+
return /*#__PURE__*/React.createElement(MenuStatefulContainerInner, _extends({
|
|
422
|
+
uidSeed: useUIDSeed()
|
|
423
|
+
}, props));
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
MenuStatefulContainer.defaultProps = DEFAULT_PROPS;
|
|
427
|
+
export default MenuStatefulContainer;
|
package/es/popover/popover.js
CHANGED
|
@@ -15,14 +15,14 @@ LICENSE file in the root directory of this source tree.
|
|
|
15
15
|
import * as React from 'react';
|
|
16
16
|
import FocusLock from 'react-focus-lock';
|
|
17
17
|
import { getOverride, getOverrideProps } from '../helpers/overrides.js';
|
|
18
|
-
import getBuiId from '../utils/get-bui-id.js';
|
|
19
18
|
import { ACCESSIBILITY_TYPE, PLACEMENT, TRIGGER_TYPE, ANIMATE_OUT_TIME, ANIMATE_IN_TIME, POPOVER_MARGIN } from './constants.js';
|
|
20
19
|
import { Layer, TetherBehavior } from '../layer/index.js';
|
|
21
20
|
import { Arrow as StyledArrow, Body as StyledBody, Inner as StyledInner, Hidden } from './styled-components.js';
|
|
22
21
|
import { fromPopperPlacement } from './utils.js';
|
|
23
22
|
import defaultProps from './default-props.js';
|
|
23
|
+
import { useUID } from 'react-uid';
|
|
24
24
|
|
|
25
|
-
class
|
|
25
|
+
class PopoverInner extends React.Component {
|
|
26
26
|
constructor(...args) {
|
|
27
27
|
super(...args);
|
|
28
28
|
|
|
@@ -36,8 +36,6 @@ class Popover extends React.Component {
|
|
|
36
36
|
|
|
37
37
|
_defineProperty(this, "onMouseLeaveTimer", void 0);
|
|
38
38
|
|
|
39
|
-
_defineProperty(this, "generatedId", '');
|
|
40
|
-
|
|
41
39
|
_defineProperty(this, "anchorRef", /*#__PURE__*/React.createRef());
|
|
42
40
|
|
|
43
41
|
_defineProperty(this, "popperRef", /*#__PURE__*/React.createRef());
|
|
@@ -150,7 +148,6 @@ class Popover extends React.Component {
|
|
|
150
148
|
}
|
|
151
149
|
|
|
152
150
|
componentDidMount() {
|
|
153
|
-
this.generatedId = getBuiId();
|
|
154
151
|
this.setState({
|
|
155
152
|
isMounted: true
|
|
156
153
|
});
|
|
@@ -270,7 +267,7 @@ class Popover extends React.Component {
|
|
|
270
267
|
}
|
|
271
268
|
|
|
272
269
|
getPopoverIdAttr() {
|
|
273
|
-
return this.props.id ||
|
|
270
|
+
return this.props.id || null;
|
|
274
271
|
}
|
|
275
272
|
|
|
276
273
|
getAnchorProps() {
|
|
@@ -419,7 +416,8 @@ class Popover extends React.Component {
|
|
|
419
416
|
const defaultPopperOptions = {
|
|
420
417
|
modifiers: {
|
|
421
418
|
preventOverflow: {
|
|
422
|
-
enabled: !this.props.ignoreBoundary
|
|
419
|
+
enabled: !this.props.ignoreBoundary,
|
|
420
|
+
padding: 0
|
|
423
421
|
}
|
|
424
422
|
}
|
|
425
423
|
}; // Only render popover on the browser (portals aren't supported server-side)
|
|
@@ -430,7 +428,8 @@ class Popover extends React.Component {
|
|
|
430
428
|
key: "new-layer",
|
|
431
429
|
mountNode: this.props.mountNode,
|
|
432
430
|
onEscape: this.props.onEsc,
|
|
433
|
-
onDocumentClick: this.onDocumentClick,
|
|
431
|
+
onDocumentClick: this.isHoverTrigger() ? undefined : this.onDocumentClick,
|
|
432
|
+
isHoverLayer: this.isHoverTrigger(),
|
|
434
433
|
onMount: () => this.setState({
|
|
435
434
|
isLayerMounted: true
|
|
436
435
|
}),
|
|
@@ -465,9 +464,21 @@ class Popover extends React.Component {
|
|
|
465
464
|
return rendered;
|
|
466
465
|
}
|
|
467
466
|
|
|
468
|
-
}
|
|
467
|
+
} // Remove when Popover is converted to a functional component.
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
_defineProperty(PopoverInner, "defaultProps", defaultProps);
|
|
469
471
|
|
|
470
|
-
|
|
472
|
+
const Popover = props => {
|
|
473
|
+
const {
|
|
474
|
+
innerRef
|
|
475
|
+
} = props;
|
|
476
|
+
return /*#__PURE__*/React.createElement(PopoverInner, _extends({
|
|
477
|
+
id: props.id || useUID(),
|
|
478
|
+
ref: innerRef
|
|
479
|
+
}, props));
|
|
480
|
+
};
|
|
471
481
|
|
|
482
|
+
Popover.defaultProps = defaultProps;
|
|
472
483
|
export default Popover;
|
|
473
484
|
/* eslint-enable react/no-find-dom-node */
|