baseui 11.0.2 → 11.1.1
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/a11y/index.d.ts +1 -1
- package/accordion/index.d.ts +25 -28
- package/app-nav-bar/app-nav-bar.js +33 -40
- package/app-nav-bar/app-nav-bar.js.flow +46 -62
- package/app-nav-bar/index.d.ts +9 -8
- package/app-nav-bar/styled-components.js +49 -29
- package/app-nav-bar/styled-components.js.flow +25 -8
- package/app-nav-bar/types.js.flow +2 -0
- package/aspect-ratio-box/index.d.ts +2 -4
- package/avatar/index.d.ts +6 -12
- package/badge/badge.js +109 -0
- package/badge/badge.js.flow +91 -0
- package/badge/constants.js +54 -0
- package/badge/constants.js.flow +52 -0
- package/badge/hint-dot.js +96 -0
- package/badge/hint-dot.js.flow +68 -0
- package/badge/index.d.ts +97 -0
- package/badge/index.js +80 -0
- package/badge/index.js.flow +20 -0
- package/badge/notification-circle.js +103 -0
- package/badge/notification-circle.js.flow +81 -0
- package/badge/package.json +4 -0
- package/badge/styled-components.js +242 -0
- package/badge/styled-components.js.flow +325 -0
- package/badge/types.js +11 -0
- package/badge/types.js.flow +59 -0
- package/badge/utils.js +33 -0
- package/badge/utils.js.flow +23 -0
- package/banner/banner.js +283 -0
- package/banner/banner.js.flow +253 -0
- package/banner/constants.js +35 -0
- package/banner/constants.js.flow +33 -0
- package/banner/index.d.ts +75 -0
- package/banner/index.js +44 -0
- package/banner/index.js.flow +16 -0
- package/banner/package.json +4 -0
- package/banner/styled-components.js +131 -0
- package/banner/styled-components.js.flow +119 -0
- package/banner/types.js +11 -0
- package/banner/types.js.flow +66 -0
- package/block/index.d.ts +4 -4
- package/breadcrumbs/breadcrumbs.js +5 -1
- package/breadcrumbs/breadcrumbs.js.flow +2 -2
- package/breadcrumbs/index.d.ts +5 -5
- package/button/button.js +2 -1
- package/button/button.js.flow +1 -0
- package/button/index.d.ts +19 -29
- package/button-group/index.d.ts +18 -24
- package/card/index.d.ts +16 -14
- package/checkbox/index.d.ts +17 -21
- package/combobox/index.d.ts +7 -11
- package/data-table/index.d.ts +7 -10
- package/datepicker/index.d.ts +42 -63
- package/datepicker/types.js.flow +2 -2
- package/datepicker/utils/date-helpers.js +1 -1
- package/datepicker/utils/date-helpers.js.flow +1 -1
- package/dnd-list/index.d.ts +22 -35
- package/drawer/index.d.ts +22 -27
- package/es/app-nav-bar/app-nav-bar.js +9 -19
- package/es/app-nav-bar/styled-components.js +32 -13
- package/es/badge/badge.js +70 -0
- package/es/badge/constants.js +42 -0
- package/es/badge/hint-dot.js +55 -0
- package/es/badge/index.js +11 -0
- package/es/badge/notification-circle.js +65 -0
- package/es/badge/styled-components.js +296 -0
- package/es/badge/types.js +8 -0
- package/es/badge/utils.js +17 -0
- package/es/banner/banner.js +213 -0
- package/es/banner/constants.js +24 -0
- package/es/banner/index.js +9 -0
- package/es/banner/styled-components.js +122 -0
- package/es/banner/types.js +8 -0
- package/es/breadcrumbs/breadcrumbs.js +5 -1
- package/es/button/button.js +1 -0
- package/es/datepicker/utils/date-helpers.js +1 -1
- package/es/helper/helper-steps.js +3 -1
- package/es/input/base-input.js +18 -11
- package/es/input/input.js +15 -10
- package/es/input/masked-input.js +5 -2
- package/es/input/utils.js +4 -2
- package/es/locale/tr_TR.js +115 -0
- package/es/notification/notification.js +16 -1
- package/es/payment-card/custom-cards.config.js +22 -0
- package/es/payment-card/icons/uatp.js +52 -0
- package/es/payment-card/payment-card.js +8 -3
- package/es/popover/popover.js +2 -1
- package/es/popover/stateful-container.js +2 -0
- package/es/popover/styled-components.js +2 -1
- package/es/progress-steps/numbered-step.js +2 -2
- package/es/select/select-component.js +44 -21
- package/es/select/utils/default-filter-options.js +1 -1
- package/es/table-semantic/styled-components.js +14 -0
- package/es/table-semantic/table-builder.js +12 -5
- package/es/textarea/textarea.js +15 -9
- package/es/themes/dark-theme/color-component-tokens.js +8 -0
- package/es/themes/light-theme/color-component-tokens.js +8 -0
- package/es/tree-view/tree-label.js +9 -1
- package/esm/app-nav-bar/app-nav-bar.js +32 -38
- package/esm/app-nav-bar/styled-components.js +46 -28
- package/esm/badge/badge.js +97 -0
- package/esm/badge/constants.js +42 -0
- package/esm/badge/hint-dot.js +83 -0
- package/esm/badge/index.js +11 -0
- package/esm/badge/notification-circle.js +91 -0
- package/esm/badge/styled-components.js +235 -0
- package/esm/badge/types.js +8 -0
- package/esm/badge/utils.js +17 -0
- package/esm/banner/banner.js +271 -0
- package/esm/banner/constants.js +24 -0
- package/esm/banner/index.js +9 -0
- package/esm/banner/styled-components.js +113 -0
- package/esm/banner/types.js +8 -0
- package/esm/breadcrumbs/breadcrumbs.js +5 -1
- package/esm/button/button.js +2 -1
- package/esm/datepicker/utils/date-helpers.js +1 -1
- package/esm/helper/helper-steps.js +3 -1
- package/esm/input/base-input.js +18 -11
- package/esm/input/input.js +15 -10
- package/esm/input/masked-input.js +6 -3
- package/esm/input/utils.js +4 -2
- package/esm/locale/tr_TR.js +115 -0
- package/esm/notification/notification.js +17 -1
- package/esm/payment-card/custom-cards.config.js +22 -0
- package/esm/payment-card/icons/uatp.js +53 -0
- package/esm/payment-card/payment-card.js +9 -7
- package/esm/popover/popover.js +2 -1
- package/esm/popover/stateful-container.js +2 -0
- package/esm/popover/styled-components.js +3 -2
- package/esm/progress-steps/numbered-step.js +2 -2
- package/esm/select/select-component.js +81 -57
- package/esm/select/utils/default-filter-options.js +1 -1
- package/esm/table-semantic/styled-components.js +31 -18
- package/esm/table-semantic/table-builder.js +34 -23
- package/esm/textarea/textarea.js +15 -9
- package/esm/themes/dark-theme/color-component-tokens.js +8 -0
- package/esm/themes/light-theme/color-component-tokens.js +8 -0
- package/esm/tree-view/tree-label.js +10 -2
- package/file-uploader/index.d.ts +11 -11
- package/flex-grid/index.d.ts +3 -3
- package/form-control/index.d.ts +7 -19
- package/header-navigation/index.d.ts +8 -9
- package/heading/index.d.ts +3 -4
- package/helper/helper-steps.js +19 -13
- package/helper/helper-steps.js.flow +3 -1
- package/helper/index.d.ts +7 -7
- package/helpers/base-provider.d.ts +16 -0
- package/helpers/overrides.d.ts +23 -0
- package/icon/index.d.ts +32 -32
- package/index.d.ts +34 -114
- package/input/base-input.js +18 -11
- package/input/base-input.js.flow +18 -6
- package/input/index.d.ts +29 -32
- package/input/input.js +15 -10
- package/input/input.js.flow +10 -5
- package/input/masked-input.js +6 -3
- package/input/masked-input.js.flow +3 -0
- package/input/types.js.flow +4 -0
- package/input/utils.js +4 -2
- package/input/utils.js.flow +2 -1
- package/layer/index.d.ts +6 -11
- package/layout-grid/index.d.ts +25 -7
- package/link/index.d.ts +2 -2
- package/list/index.d.ts +26 -31
- package/{locale.ts → locale/index.d.ts} +8 -0
- package/locale/tr_TR.js +123 -0
- package/locale/tr_TR.js.flow +124 -0
- package/map-marker/index.d.ts +41 -47
- package/menu/index.d.ts +27 -37
- package/modal/index.d.ts +28 -38
- package/notification/index.d.ts +2 -3
- package/notification/notification.js +18 -1
- package/notification/notification.js.flow +15 -1
- package/overrides.ts +2 -22
- package/package.json +26 -17
- package/pagination/index.d.ts +22 -26
- package/payment-card/custom-cards.config.js +30 -0
- package/payment-card/custom-cards.config.js.flow +29 -0
- package/payment-card/icons/uatp.js +67 -0
- package/payment-card/icons/uatp.js.flow +62 -0
- package/payment-card/index.d.ts +8 -8
- package/payment-card/payment-card.js +12 -7
- package/payment-card/payment-card.js.flow +12 -0
- package/phone-input/index.d.ts +261 -269
- package/pin-code/index.d.ts +11 -18
- package/popover/index.d.ts +39 -55
- package/popover/popover.js +2 -1
- package/popover/popover.js.flow +2 -1
- package/popover/stateful-container.js +2 -0
- package/popover/stateful-container.js.flow +2 -0
- package/popover/styled-components.js +3 -2
- package/popover/styled-components.js.flow +2 -1
- package/popover/types.js.flow +1 -0
- package/progress-bar/index.d.ts +11 -12
- package/progress-steps/index.d.ts +16 -16
- package/progress-steps/numbered-step.js.flow +2 -2
- package/radio/index.d.ts +12 -15
- package/rating/index.d.ts +9 -12
- package/select/index.d.ts +34 -36
- package/select/select-component.js +78 -54
- package/select/select-component.js.flow +42 -32
- package/select/types.js.flow +1 -0
- package/select/utils/default-filter-options.js +1 -1
- package/select/utils/default-filter-options.js.flow +1 -1
- package/side-navigation/index.d.ts +11 -13
- package/skeleton/index.d.ts +1 -1
- package/slider/index.d.ts +17 -26
- package/snackbar/index.d.ts +8 -8
- package/spinner/index.d.ts +4 -3
- package/styles/index.d.ts +82 -2
- package/table/index.d.ts +16 -16
- package/table-grid/index.d.ts +6 -8
- package/table-semantic/index.d.ts +26 -32
- package/table-semantic/styled-components.js +33 -19
- package/table-semantic/styled-components.js.flow +12 -0
- package/table-semantic/table-builder.js +38 -22
- package/table-semantic/table-builder.js.flow +32 -17
- package/table-semantic/types.js.flow +1 -0
- package/tabs/index.d.ts +20 -23
- package/tabs-motion/index.d.ts +23 -23
- package/tag/index.d.ts +14 -18
- package/textarea/index.d.ts +11 -14
- package/textarea/textarea.js +15 -9
- package/textarea/textarea.js.flow +11 -5
- package/textarea/types.js.flow +1 -0
- package/theme.ts +36 -777
- package/themes/dark-theme/color-component-tokens.js +8 -0
- package/themes/dark-theme/color-component-tokens.js.flow +9 -0
- package/themes/index.d.ts +765 -0
- package/themes/light-theme/color-component-tokens.js +8 -0
- package/themes/light-theme/color-component-tokens.js.flow +9 -0
- package/themes/types.js.flow +9 -0
- package/timepicker/index.d.ts +5 -8
- package/timezonepicker/index.d.ts +5 -8
- package/toast/index.d.ts +26 -40
- package/tokens/index.d.ts +1 -1
- package/tooltip/index.d.ts +7 -9
- package/tree-view/index.d.ts +15 -19
- package/tree-view/tree-label.js +10 -2
- package/tree-view/tree-label.js.flow +4 -4
- package/typography/index.d.ts +37 -37
|
@@ -118,6 +118,20 @@ export const StyledTableHeadCellSortable = withStyle(StyledTableHeadCell, ({
|
|
|
118
118
|
};
|
|
119
119
|
});
|
|
120
120
|
StyledTableHeadCellSortable.displayName = "StyledTableHeadCellSortable";
|
|
121
|
+
export const StyledSortIconContainer = styled('span', ({
|
|
122
|
+
$theme
|
|
123
|
+
}) => {
|
|
124
|
+
return {
|
|
125
|
+
display: 'flex',
|
|
126
|
+
alignItems: 'center',
|
|
127
|
+
position: 'absolute',
|
|
128
|
+
top: '50%',
|
|
129
|
+
right: $theme.sizing.scale500,
|
|
130
|
+
transform: 'translateY(-50%)'
|
|
131
|
+
};
|
|
132
|
+
}); // No longer used, but will maintain for some time to support existing usage
|
|
133
|
+
|
|
134
|
+
StyledSortIconContainer.displayName = "StyledSortIconContainer";
|
|
121
135
|
export const StyledSortAscIcon = styled(ChevronUp, ({
|
|
122
136
|
$theme
|
|
123
137
|
}) => {
|
|
@@ -9,8 +9,11 @@ This source code is licensed under the MIT license found in the
|
|
|
9
9
|
LICENSE file in the root directory of this source tree.
|
|
10
10
|
*/
|
|
11
11
|
import * as React from 'react';
|
|
12
|
-
import { StyledRoot, StyledTable, StyledTableHead, StyledTableHeadRow, StyledTableHeadCell, StyledTableHeadCellSortable, StyledTableBody, StyledTableBodyRow, StyledTableBodyCell, StyledTableLoadingMessage, StyledTableEmptyMessage,
|
|
12
|
+
import { StyledRoot, StyledTable, StyledTableHead, StyledTableHeadRow, StyledTableHeadCell, StyledTableHeadCellSortable, StyledTableBody, StyledTableBodyRow, StyledTableBodyCell, StyledTableLoadingMessage, StyledTableEmptyMessage, StyledSortIconContainer } from './styled-components.js';
|
|
13
13
|
import { getOverrides } from '../helpers/overrides.js';
|
|
14
|
+
import Blank from '../icon/blank.js';
|
|
15
|
+
import ChevronDown from '../icon/chevron-down.js';
|
|
16
|
+
import ChevronUp from '../icon/chevron-up.js';
|
|
14
17
|
import { isFocusVisible, forkFocus, forkBlur } from '../utils/focusVisible.js';
|
|
15
18
|
export default class TableBuilder extends React.Component {
|
|
16
19
|
constructor(...args) {
|
|
@@ -64,9 +67,10 @@ export default class TableBuilder extends React.Component {
|
|
|
64
67
|
const [TableBodyCell, tableBodyCellProps] = getOverrides(overrides.TableBodyCell, StyledTableBodyCell);
|
|
65
68
|
const [TableLoadingMessage, tableLoadingMessageProps] = getOverrides(overrides.TableLoadingMessage, StyledTableLoadingMessage);
|
|
66
69
|
const [TableEmptyMessage, tableEmptyMessageProps] = getOverrides(overrides.TableEmptyMessage, StyledTableEmptyMessage);
|
|
67
|
-
const [
|
|
68
|
-
const [
|
|
69
|
-
const [
|
|
70
|
+
const [SortIconContainer, sortIconContainerProps] = getOverrides(overrides.SortIconContainer, StyledSortIconContainer);
|
|
71
|
+
const [SortAscIcon, sortAscIconProps] = getOverrides(overrides.SortAscIcon, ChevronUp);
|
|
72
|
+
const [SortDescIcon, sortDescIconProps] = getOverrides(overrides.SortDescIcon, ChevronDown);
|
|
73
|
+
const [SortNoneIcon, sortNoneIconProps] = getOverrides(overrides.SortNoneIcon, Blank);
|
|
70
74
|
const columns = React.Children.toArray(children).filter(Boolean).map(child => child.props);
|
|
71
75
|
|
|
72
76
|
function renderHeader(col, colIndex, isFocusVisible) {
|
|
@@ -91,6 +95,7 @@ export default class TableBuilder extends React.Component {
|
|
|
91
95
|
switch (col.id === sortColumn && sortOrder) {
|
|
92
96
|
case 'ASC':
|
|
93
97
|
sortIcon = /*#__PURE__*/React.createElement(SortAscIcon, _extends({
|
|
98
|
+
size: "16px",
|
|
94
99
|
"aria-hidden": true,
|
|
95
100
|
role: "presentation"
|
|
96
101
|
}, sortAscIconProps));
|
|
@@ -99,6 +104,7 @@ export default class TableBuilder extends React.Component {
|
|
|
99
104
|
|
|
100
105
|
case 'DESC':
|
|
101
106
|
sortIcon = /*#__PURE__*/React.createElement(SortDescIcon, _extends({
|
|
107
|
+
size: "16px",
|
|
102
108
|
"aria-hidden": true,
|
|
103
109
|
role: "presentation"
|
|
104
110
|
}, sortDescIconProps));
|
|
@@ -107,6 +113,7 @@ export default class TableBuilder extends React.Component {
|
|
|
107
113
|
|
|
108
114
|
default:
|
|
109
115
|
sortIcon = /*#__PURE__*/React.createElement(SortNoneIcon, _extends({
|
|
116
|
+
size: "16px",
|
|
110
117
|
"aria-hidden": true,
|
|
111
118
|
role: "presentation"
|
|
112
119
|
}, sortNoneIconProps));
|
|
@@ -130,7 +137,7 @@ export default class TableBuilder extends React.Component {
|
|
|
130
137
|
onSort && onSort(col.id);
|
|
131
138
|
}
|
|
132
139
|
}
|
|
133
|
-
}, tableHeadCellSortableProps, colTableHeadCellSortableProps), col.header, sortIcon);
|
|
140
|
+
}, tableHeadCellSortableProps, colTableHeadCellSortableProps), col.header, /*#__PURE__*/React.createElement(SortIconContainer, sortIconContainerProps, sortIcon));
|
|
134
141
|
}
|
|
135
142
|
|
|
136
143
|
function renderCell(col, colIndex, row, rowIndex, lastRowindex) {
|
package/es/textarea/textarea.js
CHANGED
|
@@ -18,21 +18,25 @@ class Textarea extends React.Component {
|
|
|
18
18
|
super(...args);
|
|
19
19
|
|
|
20
20
|
_defineProperty(this, "state", {
|
|
21
|
-
isFocused: this.props.autoFocus || false
|
|
21
|
+
isFocused: this.props.autoFocus && !this.props.readOnly || false
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
_defineProperty(this, "onFocus", e => {
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
if (!this.props.readOnly) {
|
|
26
|
+
this.setState({
|
|
27
|
+
isFocused: true
|
|
28
|
+
});
|
|
29
|
+
this.props.onFocus(e);
|
|
30
|
+
}
|
|
29
31
|
});
|
|
30
32
|
|
|
31
33
|
_defineProperty(this, "onBlur", e => {
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
if (!this.props.readOnly) {
|
|
35
|
+
this.setState({
|
|
36
|
+
isFocused: false
|
|
37
|
+
});
|
|
38
|
+
this.props.onBlur(e);
|
|
39
|
+
}
|
|
36
40
|
});
|
|
37
41
|
}
|
|
38
42
|
|
|
@@ -52,6 +56,7 @@ class Textarea extends React.Component {
|
|
|
52
56
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
|
53
57
|
"data-baseweb": "textarea",
|
|
54
58
|
$isFocused: this.state.isFocused,
|
|
59
|
+
$isReadOnly: this.props.readOnly,
|
|
55
60
|
$disabled: this.props.disabled,
|
|
56
61
|
$error: this.props.error,
|
|
57
62
|
$positive: this.props.positive,
|
|
@@ -70,6 +75,7 @@ class Textarea extends React.Component {
|
|
|
70
75
|
_defineProperty(Textarea, "defaultProps", {
|
|
71
76
|
autoFocus: false,
|
|
72
77
|
disabled: false,
|
|
78
|
+
readOnly: false,
|
|
73
79
|
error: false,
|
|
74
80
|
name: '',
|
|
75
81
|
onBlur: () => {},
|
|
@@ -13,6 +13,14 @@ const tagHoverBackground = `rgba(255, 255, 255, 0.2)`;
|
|
|
13
13
|
// need to be overrideable through primitives
|
|
14
14
|
|
|
15
15
|
export default ((themePrimitives = colorTokens) => ({
|
|
16
|
+
bannerActionLowInfo: themePrimitives.accent600,
|
|
17
|
+
bannerActionLowNegative: themePrimitives.negative600,
|
|
18
|
+
bannerActionLowPositive: themePrimitives.positive600,
|
|
19
|
+
bannerActionLowWarning: themePrimitives.warning600,
|
|
20
|
+
bannerActionHighInfo: themePrimitives.accent500,
|
|
21
|
+
bannerActionHighNegative: themePrimitives.negative600,
|
|
22
|
+
bannerActionHighPositive: themePrimitives.positive600,
|
|
23
|
+
bannerActionHighWarning: themePrimitives.warning600,
|
|
16
24
|
// Buttons
|
|
17
25
|
buttonPrimaryFill: themePrimitives.primary,
|
|
18
26
|
buttonPrimaryText: themePrimitives.black,
|
|
@@ -13,6 +13,14 @@ const tagHoverBackground = `rgba(0, 0, 0, 0.08)`;
|
|
|
13
13
|
// overrideable through primitives (`foundation` )
|
|
14
14
|
|
|
15
15
|
export default ((themePrimitives = colorTokens) => ({
|
|
16
|
+
bannerActionLowInfo: themePrimitives.accent100,
|
|
17
|
+
bannerActionLowNegative: themePrimitives.negative100,
|
|
18
|
+
bannerActionLowPositive: themePrimitives.positive100,
|
|
19
|
+
bannerActionLowWarning: themePrimitives.warning200,
|
|
20
|
+
bannerActionHighInfo: themePrimitives.accent500,
|
|
21
|
+
bannerActionHighNegative: themePrimitives.negative500,
|
|
22
|
+
bannerActionHighPositive: themePrimitives.positive500,
|
|
23
|
+
bannerActionHighWarning: themePrimitives.warning200,
|
|
16
24
|
// Buttons
|
|
17
25
|
buttonPrimaryFill: themePrimitives.primary,
|
|
18
26
|
buttonPrimaryText: themePrimitives.white,
|
|
@@ -49,7 +49,15 @@ const TreeLabel = ({
|
|
|
49
49
|
return (
|
|
50
50
|
/*#__PURE__*/
|
|
51
51
|
// $FlowExpectedError[cannot-spread-inexact]
|
|
52
|
-
React.createElement(TreeItemContent, _extends({}, sharedProps, props), hasChildren && /*#__PURE__*/React.createElement(IconContainer, _extends({}, sharedProps, getOverrideProps(IconContainerOverride)), !isExpanded ? /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, theme => theme.direction === 'rtl' ? /*#__PURE__*/React.createElement(Left, _extends({
|
|
52
|
+
React.createElement(TreeItemContent, _extends({}, sharedProps, props), hasChildren && /*#__PURE__*/React.createElement(IconContainer, _extends({}, sharedProps, getOverrideProps(IconContainerOverride)), !isExpanded ? /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, theme => theme.direction === 'rtl' ? /*#__PURE__*/React.createElement(Left, _extends({
|
|
53
|
+
size: 16
|
|
54
|
+
}, sharedProps, LeftProps)) : /*#__PURE__*/React.createElement(Right, _extends({
|
|
55
|
+
size: 16
|
|
56
|
+
}, sharedProps, RightProps))) : /*#__PURE__*/React.createElement(CollapseIcon, _extends({
|
|
57
|
+
size: 16
|
|
58
|
+
}, sharedProps, getOverrideProps(CollapseIconOverride)))), !hasChildren && LeafIcon && /*#__PURE__*/React.createElement(LeafIconContainer, _extends({}, sharedProps, getOverrideProps(LeafIconContainerOverride)), /*#__PURE__*/React.createElement(LeafIcon, _extends({
|
|
59
|
+
size: 16
|
|
60
|
+
}, sharedProps, getOverrideProps(LeafIconOverride)))), typeof label === 'function' ? label(node) : label)
|
|
53
61
|
);
|
|
54
62
|
};
|
|
55
63
|
|
|
@@ -22,13 +22,12 @@ LICENSE file in the root directory of this source tree.
|
|
|
22
22
|
*/
|
|
23
23
|
import * as React from 'react';
|
|
24
24
|
import { getOverrides } from '../helpers/overrides.js';
|
|
25
|
-
import { Cell, Grid } from '../layout-grid/index.js';
|
|
26
25
|
import { useStyletron } from '../styles/index.js';
|
|
27
26
|
import { isFocusVisible } from '../utils/focusVisible.js';
|
|
28
27
|
import { KIND, POSITION } from './constants.js';
|
|
29
28
|
import MobileNav from './mobile-menu.js';
|
|
30
29
|
import UserMenu from './user-menu.js';
|
|
31
|
-
import { StyledRoot, StyledSpacing, StyledPrimaryMenuContainer,
|
|
30
|
+
import { StyledRoot, StyledSpacing, StyledPrimaryMenuContainer, StyledSecondaryMenuContainer, StyledAppName, StyledMainMenuItem, StyledDesktopMenuContainer, StyledDesktopMenu } from './styled-components.js';
|
|
32
31
|
import { defaultMapItemToNode, mapItemsActive } from './utils.js';
|
|
33
32
|
|
|
34
33
|
function MainMenuItem(props) {
|
|
@@ -95,19 +94,12 @@ function SecondaryMenu(props) {
|
|
|
95
94
|
_props$overrides2 = props.overrides,
|
|
96
95
|
overrides = _props$overrides2 === void 0 ? {} : _props$overrides2;
|
|
97
96
|
|
|
98
|
-
var _getOverrides3 = getOverrides(overrides.
|
|
97
|
+
var _getOverrides3 = getOverrides(overrides.SecondaryMenuContainer, StyledSecondaryMenuContainer),
|
|
99
98
|
_getOverrides4 = _slicedToArray(_getOverrides3, 2),
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
SecondaryMenuContainer = _getOverrides4[0],
|
|
100
|
+
secondaryMenuContainerProps = _getOverrides4[1];
|
|
102
101
|
|
|
103
|
-
|
|
104
|
-
_getOverrides6 = _slicedToArray(_getOverrides5, 2),
|
|
105
|
-
SecondaryMenuContainer = _getOverrides6[0],
|
|
106
|
-
secondaryMenuContainerProps = _getOverrides6[1];
|
|
107
|
-
|
|
108
|
-
return /*#__PURE__*/React.createElement(SubnavContainer, subnavContainerProps, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
|
|
109
|
-
span: [0, 8, 12]
|
|
110
|
-
}, /*#__PURE__*/React.createElement(SecondaryMenuContainer, _extends({
|
|
102
|
+
return /*#__PURE__*/React.createElement(SecondaryMenuContainer, _extends({
|
|
111
103
|
role: "navigation",
|
|
112
104
|
"aria-label": "Secondary navigation"
|
|
113
105
|
}, secondaryMenuContainerProps), items.map(function (item, index) {
|
|
@@ -123,7 +115,7 @@ function SecondaryMenu(props) {
|
|
|
123
115
|
overrides: overrides
|
|
124
116
|
})
|
|
125
117
|
);
|
|
126
|
-
}))
|
|
118
|
+
}));
|
|
127
119
|
}
|
|
128
120
|
|
|
129
121
|
export default function AppNavBar(props) {
|
|
@@ -154,25 +146,35 @@ export default function AppNavBar(props) {
|
|
|
154
146
|
return props.mainItems || [];
|
|
155
147
|
}, [props.mainItems, props.isMainItemActive]);
|
|
156
148
|
|
|
157
|
-
var
|
|
149
|
+
var _getOverrides5 = getOverrides(overrides.Root, StyledRoot),
|
|
150
|
+
_getOverrides6 = _slicedToArray(_getOverrides5, 2),
|
|
151
|
+
Root = _getOverrides6[0],
|
|
152
|
+
rootProps = _getOverrides6[1];
|
|
153
|
+
|
|
154
|
+
var _getOverrides7 = getOverrides(overrides.Spacing, StyledSpacing),
|
|
158
155
|
_getOverrides8 = _slicedToArray(_getOverrides7, 2),
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
Spacing = _getOverrides8[0],
|
|
157
|
+
spacingProps = _getOverrides8[1];
|
|
161
158
|
|
|
162
|
-
var _getOverrides9 = getOverrides(overrides.
|
|
159
|
+
var _getOverrides9 = getOverrides(overrides.AppName, StyledAppName),
|
|
163
160
|
_getOverrides10 = _slicedToArray(_getOverrides9, 2),
|
|
164
|
-
|
|
165
|
-
|
|
161
|
+
AppName = _getOverrides10[0],
|
|
162
|
+
appNameProps = _getOverrides10[1];
|
|
166
163
|
|
|
167
|
-
var _getOverrides11 = getOverrides(overrides.
|
|
164
|
+
var _getOverrides11 = getOverrides(overrides.PrimaryMenuContainer, StyledPrimaryMenuContainer),
|
|
168
165
|
_getOverrides12 = _slicedToArray(_getOverrides11, 2),
|
|
169
|
-
|
|
170
|
-
|
|
166
|
+
PrimaryMenuContainer = _getOverrides12[0],
|
|
167
|
+
primaryMenuContainerProps = _getOverrides12[1];
|
|
171
168
|
|
|
172
|
-
var _getOverrides13 = getOverrides(overrides.
|
|
169
|
+
var _getOverrides13 = getOverrides(overrides.DesktopMenuContainer, StyledDesktopMenuContainer),
|
|
173
170
|
_getOverrides14 = _slicedToArray(_getOverrides13, 2),
|
|
174
|
-
|
|
175
|
-
|
|
171
|
+
DesktopMenuContainer = _getOverrides14[0],
|
|
172
|
+
desktopMenuContainerProps = _getOverrides14[1];
|
|
173
|
+
|
|
174
|
+
var _getOverrides15 = getOverrides(overrides.DesktopMenu, StyledDesktopMenu),
|
|
175
|
+
_getOverrides16 = _slicedToArray(_getOverrides15, 2),
|
|
176
|
+
DesktopMenu = _getOverrides16[0],
|
|
177
|
+
desktopMenuProps = _getOverrides16[1];
|
|
176
178
|
|
|
177
179
|
var secondaryMenu;
|
|
178
180
|
var desktopSubNavPosition = POSITION.horizontal;
|
|
@@ -183,9 +185,7 @@ export default function AppNavBar(props) {
|
|
|
183
185
|
className: css(_defineProperty({}, "@media screen and (min-width: ".concat(theme.breakpoints.large, "px)"), {
|
|
184
186
|
display: 'none'
|
|
185
187
|
}))
|
|
186
|
-
}, /*#__PURE__*/React.createElement(
|
|
187
|
-
span: [4, 8, 0]
|
|
188
|
-
}, /*#__PURE__*/React.createElement(Spacing, spacingProps, mainItems.length || userItems.length ? /*#__PURE__*/React.createElement(MobileNav, props) : null, /*#__PURE__*/React.createElement(AppName, appNameProps, title)))), secondaryMenu && mobileSubNavPosition === POSITION.horizontal && /*#__PURE__*/React.createElement(SecondaryMenu, {
|
|
188
|
+
}, /*#__PURE__*/React.createElement(Spacing, spacingProps, mainItems.length || userItems.length ? /*#__PURE__*/React.createElement(MobileNav, props) : null, /*#__PURE__*/React.createElement(AppName, appNameProps, title)), secondaryMenu && mobileSubNavPosition === POSITION.horizontal && /*#__PURE__*/React.createElement(SecondaryMenu, {
|
|
189
189
|
items: secondaryMenu,
|
|
190
190
|
mapItemToNode: mapItemToNode,
|
|
191
191
|
onSelect: onMainItemSelect,
|
|
@@ -194,11 +194,7 @@ export default function AppNavBar(props) {
|
|
|
194
194
|
className: css(_defineProperty({}, "@media screen and (max-width: ".concat(theme.breakpoints.large - 1, "px)"), {
|
|
195
195
|
display: 'none'
|
|
196
196
|
}))
|
|
197
|
-
}, /*#__PURE__*/React.createElement(
|
|
198
|
-
span: [0, 3, 3]
|
|
199
|
-
}, /*#__PURE__*/React.createElement(Spacing, spacingProps, /*#__PURE__*/React.createElement(AppName, appNameProps, title))), /*#__PURE__*/React.createElement(Cell, {
|
|
200
|
-
span: userItems.length ? [0, 4, 8] : [0, 5, 9]
|
|
201
|
-
}, /*#__PURE__*/React.createElement(PrimaryMenuContainer, _extends({
|
|
197
|
+
}, /*#__PURE__*/React.createElement(DesktopMenuContainer, desktopMenuContainerProps, /*#__PURE__*/React.createElement(DesktopMenu, desktopMenuProps, /*#__PURE__*/React.createElement(AppName, appNameProps, title), /*#__PURE__*/React.createElement(PrimaryMenuContainer, _extends({
|
|
202
198
|
role: "navigation",
|
|
203
199
|
"aria-label": "Main navigation"
|
|
204
200
|
}, primaryMenuContainerProps), mainItems.map(function (item, index) {
|
|
@@ -219,9 +215,7 @@ export default function AppNavBar(props) {
|
|
|
219
215
|
onSelect: onMainItemSelect,
|
|
220
216
|
overrides: overrides
|
|
221
217
|
});
|
|
222
|
-
}))
|
|
223
|
-
span: [0, 1, 1]
|
|
224
|
-
}, /*#__PURE__*/React.createElement(Spacing, spacingProps, /*#__PURE__*/React.createElement(UserMenu, {
|
|
218
|
+
})), userItems.length ? /*#__PURE__*/React.createElement(UserMenu, {
|
|
225
219
|
mapItemToNode: mapItemToNode,
|
|
226
220
|
onItemSelect: onUserItemSelect,
|
|
227
221
|
overrides: overrides,
|
|
@@ -229,7 +223,7 @@ export default function AppNavBar(props) {
|
|
|
229
223
|
usernameSubtitle: usernameSubtitle,
|
|
230
224
|
userImgUrl: userImgUrl,
|
|
231
225
|
userItems: userItems
|
|
232
|
-
})
|
|
226
|
+
}) : null)), secondaryMenu && desktopSubNavPosition === POSITION.horizontal && /*#__PURE__*/React.createElement(SecondaryMenu, {
|
|
233
227
|
items: secondaryMenu,
|
|
234
228
|
mapItemToNode: mapItemToNode,
|
|
235
229
|
onSelect: onMainItemSelect,
|
|
@@ -48,19 +48,11 @@ export var StyledRoot = styled('div', function (props) {
|
|
|
48
48
|
var $theme = props.$theme;
|
|
49
49
|
return _objectSpread(_objectSpread({}, $theme.typography.font300), {}, {
|
|
50
50
|
boxSizing: 'border-box',
|
|
51
|
-
backgroundColor: $theme.colors.backgroundPrimary
|
|
52
|
-
boxShadow: '0px 1px 0px rgba(0, 0, 0, 0.08)',
|
|
53
|
-
width: '100%'
|
|
51
|
+
backgroundColor: $theme.colors.backgroundPrimary
|
|
54
52
|
});
|
|
55
53
|
});
|
|
56
54
|
StyledRoot.displayName = "StyledRoot";
|
|
57
|
-
export var StyledSubnavContainer = styled('div',
|
|
58
|
-
var $theme = _ref2.$theme;
|
|
59
|
-
return {
|
|
60
|
-
boxSizing: 'border-box',
|
|
61
|
-
boxShadow: '0px -1px 0px rgba(0, 0, 0, 0.08)'
|
|
62
|
-
};
|
|
63
|
-
});
|
|
55
|
+
export var StyledSubnavContainer = styled('div', {});
|
|
64
56
|
StyledSubnavContainer.displayName = "StyledSubnavContainer";
|
|
65
57
|
export var StyledSpacing = styled('div', function (props) {
|
|
66
58
|
var $theme = props.$theme;
|
|
@@ -77,16 +69,16 @@ export var StyledSpacing = styled('div', function (props) {
|
|
|
77
69
|
});
|
|
78
70
|
});
|
|
79
71
|
StyledSpacing.displayName = "StyledSpacing";
|
|
80
|
-
export var StyledAppName = styled('div', function (
|
|
81
|
-
var $theme =
|
|
72
|
+
export var StyledAppName = styled('div', function (_ref3) {
|
|
73
|
+
var $theme = _ref3.$theme;
|
|
82
74
|
return _objectSpread(_objectSpread({}, $theme.typography.font550), {}, _defineProperty({
|
|
83
75
|
color: $theme.colors.primary,
|
|
84
76
|
textDecoration: 'none'
|
|
85
77
|
}, $theme.mediaQuery.medium, _objectSpread({}, $theme.typography.font650)));
|
|
86
78
|
});
|
|
87
79
|
StyledAppName.displayName = "StyledAppName";
|
|
88
|
-
export var StyledSideMenuButton = withStyle(StyledButton, function (
|
|
89
|
-
var $theme =
|
|
80
|
+
export var StyledSideMenuButton = withStyle(StyledButton, function (_ref4) {
|
|
81
|
+
var $theme = _ref4.$theme;
|
|
90
82
|
return _objectSpread(_objectSpread({}, $theme.direction === 'rtl' ? {
|
|
91
83
|
marginLeft: $theme.sizing.scale600
|
|
92
84
|
} : {
|
|
@@ -99,16 +91,18 @@ export var StyledSideMenuButton = withStyle(StyledButton, function (_ref5) {
|
|
|
99
91
|
});
|
|
100
92
|
});
|
|
101
93
|
StyledSideMenuButton.displayName = "StyledSideMenuButton";
|
|
102
|
-
export var StyledPrimaryMenuContainer = styled('div', function (
|
|
103
|
-
var $theme =
|
|
94
|
+
export var StyledPrimaryMenuContainer = styled('div', function (_ref5) {
|
|
95
|
+
var $theme = _ref5.$theme;
|
|
104
96
|
return {
|
|
105
97
|
boxSizing: 'border-box',
|
|
106
98
|
height: '100%',
|
|
107
99
|
display: 'flex',
|
|
108
100
|
flexDirection: 'row',
|
|
101
|
+
flexGrow: 1,
|
|
109
102
|
flexWrap: 'nowrap',
|
|
110
103
|
justifyContent: 'flex-end',
|
|
111
|
-
alignItems: 'stretch'
|
|
104
|
+
alignItems: 'stretch',
|
|
105
|
+
paddingInlineEnd: $theme.sizing.scale1000
|
|
112
106
|
};
|
|
113
107
|
});
|
|
114
108
|
StyledPrimaryMenuContainer.displayName = "StyledPrimaryMenuContainer";
|
|
@@ -152,8 +146,8 @@ export var StyledMainMenuItem = styled('div', function (props) {
|
|
|
152
146
|
};
|
|
153
147
|
});
|
|
154
148
|
StyledMainMenuItem.displayName = "StyledMainMenuItem";
|
|
155
|
-
export var StyledSecondaryMenuContainer = styled('div', function (
|
|
156
|
-
var $theme =
|
|
149
|
+
export var StyledSecondaryMenuContainer = styled('div', function (_ref6) {
|
|
150
|
+
var $theme = _ref6.$theme;
|
|
157
151
|
return {
|
|
158
152
|
boxSizing: 'border-box',
|
|
159
153
|
height: '100%',
|
|
@@ -161,14 +155,16 @@ export var StyledSecondaryMenuContainer = styled('div', function (_ref7) {
|
|
|
161
155
|
flexDirection: 'row',
|
|
162
156
|
flexWrap: 'nowrap',
|
|
163
157
|
justifyContent: 'flex-start',
|
|
158
|
+
margin: 'auto',
|
|
159
|
+
maxWidth: "".concat($theme.breakpoints.large, "px"),
|
|
164
160
|
alignItems: 'stretch',
|
|
165
161
|
overflow: 'auto'
|
|
166
162
|
};
|
|
167
163
|
});
|
|
168
164
|
StyledSecondaryMenuContainer.displayName = "StyledSecondaryMenuContainer";
|
|
169
165
|
export var StyledUserMenuButton = StyledButton;
|
|
170
|
-
export var StyledUserMenuProfileListItem = withStyle(StyledListItem, function (
|
|
171
|
-
var $theme =
|
|
166
|
+
export var StyledUserMenuProfileListItem = withStyle(StyledListItem, function (_ref7) {
|
|
167
|
+
var $theme = _ref7.$theme;
|
|
172
168
|
return _objectSpread({
|
|
173
169
|
paddingTop: '0',
|
|
174
170
|
paddingBottom: '0'
|
|
@@ -179,8 +175,8 @@ export var StyledUserMenuProfileListItem = withStyle(StyledListItem, function (_
|
|
|
179
175
|
});
|
|
180
176
|
});
|
|
181
177
|
StyledUserMenuProfileListItem.displayName = "StyledUserMenuProfileListItem";
|
|
182
|
-
export var StyledUserProfileTileContainer = styled('div', function (
|
|
183
|
-
var $theme =
|
|
178
|
+
export var StyledUserProfileTileContainer = styled('div', function (_ref8) {
|
|
179
|
+
var $theme = _ref8.$theme;
|
|
184
180
|
return {
|
|
185
181
|
boxSizing: 'border-box',
|
|
186
182
|
height: '100%',
|
|
@@ -193,8 +189,8 @@ export var StyledUserProfileTileContainer = styled('div', function (_ref9) {
|
|
|
193
189
|
};
|
|
194
190
|
});
|
|
195
191
|
StyledUserProfileTileContainer.displayName = "StyledUserProfileTileContainer";
|
|
196
|
-
export var StyledUserProfilePictureContainer = styled('div', function (
|
|
197
|
-
var $theme =
|
|
192
|
+
export var StyledUserProfilePictureContainer = styled('div', function (_ref9) {
|
|
193
|
+
var $theme = _ref9.$theme;
|
|
198
194
|
return _objectSpread({}, $theme.direction === 'rtl' ? {
|
|
199
195
|
marginLeft: $theme.sizing.scale600
|
|
200
196
|
} : {
|
|
@@ -202,11 +198,33 @@ export var StyledUserProfilePictureContainer = styled('div', function (_ref10) {
|
|
|
202
198
|
});
|
|
203
199
|
});
|
|
204
200
|
StyledUserProfilePictureContainer.displayName = "StyledUserProfilePictureContainer";
|
|
205
|
-
export var StyledUserProfileInfoContainer = styled('div', function (
|
|
206
|
-
var $theme =
|
|
201
|
+
export var StyledUserProfileInfoContainer = styled('div', function (_ref10) {
|
|
202
|
+
var $theme = _ref10.$theme;
|
|
207
203
|
return {
|
|
208
204
|
boxSizing: 'border-box',
|
|
209
205
|
alignSelf: 'center'
|
|
210
206
|
};
|
|
211
207
|
});
|
|
212
|
-
StyledUserProfileInfoContainer.displayName = "StyledUserProfileInfoContainer";
|
|
208
|
+
StyledUserProfileInfoContainer.displayName = "StyledUserProfileInfoContainer";
|
|
209
|
+
export var StyledDesktopMenuContainer = styled('div', function (_ref11) {
|
|
210
|
+
var $theme = _ref11.$theme;
|
|
211
|
+
return {
|
|
212
|
+
borderBottomWidth: '1px',
|
|
213
|
+
borderBottomStyle: 'solid',
|
|
214
|
+
borderBottomColor: "".concat($theme.colors.borderOpaque)
|
|
215
|
+
};
|
|
216
|
+
});
|
|
217
|
+
StyledDesktopMenuContainer.displayName = "StyledDesktopMenuContainer";
|
|
218
|
+
export var StyledDesktopMenu = styled('div', function (_ref12) {
|
|
219
|
+
var $theme = _ref12.$theme;
|
|
220
|
+
return {
|
|
221
|
+
alignItems: 'center',
|
|
222
|
+
display: 'flex',
|
|
223
|
+
justifyContent: 'space-between',
|
|
224
|
+
margin: 'auto',
|
|
225
|
+
maxWidth: "".concat($theme.breakpoints.large, "px"),
|
|
226
|
+
paddingBlockStart: '18px',
|
|
227
|
+
paddingBlockEnd: '18px'
|
|
228
|
+
};
|
|
229
|
+
});
|
|
230
|
+
StyledDesktopMenu.displayName = "StyledDesktopMenu";
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
+
|
|
5
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
10
|
+
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
12
|
+
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
Copyright (c) Uber Technologies, Inc.
|
|
17
|
+
|
|
18
|
+
This source code is licensed under the MIT license found in the
|
|
19
|
+
LICENSE file in the root directory of this source tree.
|
|
20
|
+
*/
|
|
21
|
+
import * as React from 'react';
|
|
22
|
+
import { getOverrides } from '../helpers/overrides.js';
|
|
23
|
+
import { StyledBadge, StyledRoot, StyledPositioner } from './styled-components.js';
|
|
24
|
+
import { PLACEMENT, ROLE, SHAPE, HIERARCHY } from './constants.js';
|
|
25
|
+
import { getAnchorFromChildren } from './utils.js';
|
|
26
|
+
|
|
27
|
+
var Badge = function Badge(_ref) {
|
|
28
|
+
var children = _ref.children,
|
|
29
|
+
content = _ref.content,
|
|
30
|
+
color = _ref.color,
|
|
31
|
+
_ref$shape = _ref.shape,
|
|
32
|
+
shape = _ref$shape === void 0 ? SHAPE.rectangle : _ref$shape,
|
|
33
|
+
_ref$placement = _ref.placement,
|
|
34
|
+
placement = _ref$placement === void 0 ? PLACEMENT.topRight : _ref$placement,
|
|
35
|
+
hierarchy = _ref.hierarchy,
|
|
36
|
+
horizontalOffset = _ref.horizontalOffset,
|
|
37
|
+
verticalOffset = _ref.verticalOffset,
|
|
38
|
+
hidden = _ref.hidden,
|
|
39
|
+
_ref$overrides = _ref.overrides,
|
|
40
|
+
overrides = _ref$overrides === void 0 ? {} : _ref$overrides;
|
|
41
|
+
|
|
42
|
+
var _getOverrides = getOverrides(overrides.Badge, StyledBadge),
|
|
43
|
+
_getOverrides2 = _slicedToArray(_getOverrides, 2),
|
|
44
|
+
Badge = _getOverrides2[0],
|
|
45
|
+
badgeProps = _getOverrides2[1];
|
|
46
|
+
|
|
47
|
+
var _getOverrides3 = getOverrides(overrides.Root, StyledRoot),
|
|
48
|
+
_getOverrides4 = _slicedToArray(_getOverrides3, 2),
|
|
49
|
+
Root = _getOverrides4[0],
|
|
50
|
+
rootProps = _getOverrides4[1];
|
|
51
|
+
|
|
52
|
+
var _getOverrides5 = getOverrides(overrides.Positioner, StyledPositioner),
|
|
53
|
+
_getOverrides6 = _slicedToArray(_getOverrides5, 2),
|
|
54
|
+
Positioner = _getOverrides6[0],
|
|
55
|
+
positionerProps = _getOverrides6[1];
|
|
56
|
+
|
|
57
|
+
var anchor = getAnchorFromChildren(children);
|
|
58
|
+
var VALID_RECT_PLACEMENTS = [PLACEMENT.topLeft, PLACEMENT.topRight, PLACEMENT.bottomRight, PLACEMENT.bottomLeft];
|
|
59
|
+
|
|
60
|
+
if (process.env.NODE_ENV !== "production") {
|
|
61
|
+
if (shape === SHAPE.rectangle && !VALID_RECT_PLACEMENTS.includes(placement)) {
|
|
62
|
+
console.warn('Rectangle badges should only be placed in a corner or used inline');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (shape === SHAPE.rectangle && hierarchy === HIERARCHY.secondary && anchor) {
|
|
66
|
+
console.warn('Secondary badges should not be positioned. Use the inline version of this badge instead.');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (shape === SHAPE.pill && hierarchy === HIERARCHY.secondary) {
|
|
70
|
+
console.warn('Pill badges should only be used with primary hierarchy');
|
|
71
|
+
}
|
|
72
|
+
} // If there's no anchor, render the badge inline
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
if (!anchor) {
|
|
76
|
+
return /*#__PURE__*/React.createElement(Badge, _extends({
|
|
77
|
+
$hierarchy: hierarchy,
|
|
78
|
+
$shape: shape,
|
|
79
|
+
$color: color,
|
|
80
|
+
$hidden: hidden
|
|
81
|
+
}, badgeProps), content);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return /*#__PURE__*/React.createElement(Root, rootProps, anchor, /*#__PURE__*/React.createElement(Positioner, _extends({
|
|
85
|
+
$horizontalOffset: horizontalOffset,
|
|
86
|
+
$verticalOffset: verticalOffset,
|
|
87
|
+
$placement: placement,
|
|
88
|
+
$role: ROLE.badge
|
|
89
|
+
}, positionerProps), /*#__PURE__*/React.createElement(Badge, _extends({
|
|
90
|
+
$hierarchy: hierarchy,
|
|
91
|
+
$shape: shape,
|
|
92
|
+
$color: color,
|
|
93
|
+
$hidden: hidden
|
|
94
|
+
}, badgeProps), content)));
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export default Badge;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) Uber Technologies, Inc.
|
|
3
|
+
|
|
4
|
+
This source code is licensed under the MIT license found in the
|
|
5
|
+
LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export var HIERARCHY = Object.freeze({
|
|
8
|
+
primary: 'primary',
|
|
9
|
+
secondary: 'secondary'
|
|
10
|
+
});
|
|
11
|
+
export var SHAPE = Object.freeze({
|
|
12
|
+
pill: 'pill',
|
|
13
|
+
rectangle: 'rectangle'
|
|
14
|
+
});
|
|
15
|
+
export var COLOR = Object.freeze({
|
|
16
|
+
accent: 'accent',
|
|
17
|
+
primary: 'primary',
|
|
18
|
+
positive: 'positive',
|
|
19
|
+
negative: 'negative',
|
|
20
|
+
warning: 'warning'
|
|
21
|
+
});
|
|
22
|
+
export var PLACEMENT = Object.freeze({
|
|
23
|
+
topLeft: 'topLeft',
|
|
24
|
+
topRight: 'topRight',
|
|
25
|
+
bottomRight: 'bottomRight',
|
|
26
|
+
bottomLeft: 'bottomLeft',
|
|
27
|
+
topLeftEdge: 'topLeftEdge',
|
|
28
|
+
topEdge: 'topEdge',
|
|
29
|
+
topRightEdge: 'topRightEdge',
|
|
30
|
+
bottomRightEdge: 'bottomRightEdge',
|
|
31
|
+
bottomEdge: 'bottomEdge',
|
|
32
|
+
bottomLeftEdge: 'bottomLeftEdge',
|
|
33
|
+
leftTopEdge: 'leftTopEdge',
|
|
34
|
+
rightTopEdge: 'rightTopEdge',
|
|
35
|
+
rightBottomEdge: 'rightBottomEdge',
|
|
36
|
+
leftBottomEdge: 'leftBottomEdge'
|
|
37
|
+
});
|
|
38
|
+
export var ROLE = Object.freeze({
|
|
39
|
+
badge: 'badge',
|
|
40
|
+
notificationCircle: 'notificationCircle',
|
|
41
|
+
hintDot: 'hintDot'
|
|
42
|
+
});
|