@instructure/ui-breadcrumb 11.7.3-snapshot-25 → 11.7.3-snapshot-26
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 +5 -2
- package/es/Breadcrumb/v1/BreadcrumbLink/index.js +20 -17
- package/es/Breadcrumb/v1/index.js +33 -30
- package/es/Breadcrumb/v1/styles.js +3 -1
- package/es/Breadcrumb/v1/theme.js +9 -8
- package/es/Breadcrumb/v2/BreadcrumbLink/index.js +21 -18
- package/es/Breadcrumb/v2/index.js +34 -31
- package/es/Breadcrumb/v2/styles.js +3 -1
- package/lib/Breadcrumb/v1/BreadcrumbLink/index.js +20 -17
- package/lib/Breadcrumb/v1/index.js +33 -30
- package/lib/Breadcrumb/v1/styles.js +3 -1
- package/lib/Breadcrumb/v1/theme.js +9 -8
- package/lib/Breadcrumb/v2/BreadcrumbLink/index.js +21 -18
- package/lib/Breadcrumb/v2/index.js +34 -31
- package/lib/Breadcrumb/v2/styles.js +3 -1
- package/package.json +15 -15
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [11.7.3-snapshot-
|
|
6
|
+
## [11.7.3-snapshot-26](https://github.com/instructure/instructure-ui/compare/v11.7.2...v11.7.3-snapshot-26) (2026-05-05)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **many:** update dependencies, remove lots of Babel plugins, remove Webpack 4 support ([f916fca](https://github.com/instructure/instructure-ui/commit/f916fcafdddcb2d7de401f93e8ff92cfdfa47bba))
|
|
9
12
|
|
|
10
13
|
|
|
11
14
|
|
|
@@ -37,12 +37,16 @@ id: Breadcrumb.Link
|
|
|
37
37
|
**/
|
|
38
38
|
|
|
39
39
|
class BreadcrumbLink extends Component {
|
|
40
|
+
static displayName = "BreadcrumbLink";
|
|
41
|
+
static componentId = 'Breadcrumb.Link';
|
|
42
|
+
static allowedProps = allowedProps;
|
|
43
|
+
static defaultProps = {};
|
|
44
|
+
ref = null;
|
|
45
|
+
handleRef = el => {
|
|
46
|
+
this.ref = el;
|
|
47
|
+
};
|
|
40
48
|
constructor(props) {
|
|
41
49
|
super(props);
|
|
42
|
-
this.ref = null;
|
|
43
|
-
this.handleRef = el => {
|
|
44
|
-
this.ref = el;
|
|
45
|
-
};
|
|
46
50
|
this.state = {
|
|
47
51
|
isTruncated: false
|
|
48
52
|
};
|
|
@@ -55,15 +59,18 @@ class BreadcrumbLink extends Component {
|
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
render() {
|
|
58
|
-
const
|
|
59
|
-
children
|
|
60
|
-
href
|
|
61
|
-
renderIcon
|
|
62
|
-
iconPlacement
|
|
63
|
-
onClick
|
|
64
|
-
onMouseEnter
|
|
65
|
-
isCurrentPage
|
|
66
|
-
|
|
62
|
+
const {
|
|
63
|
+
children,
|
|
64
|
+
href,
|
|
65
|
+
renderIcon,
|
|
66
|
+
iconPlacement,
|
|
67
|
+
onClick,
|
|
68
|
+
onMouseEnter,
|
|
69
|
+
isCurrentPage
|
|
70
|
+
} = this.props;
|
|
71
|
+
const {
|
|
72
|
+
isTruncated
|
|
73
|
+
} = this.state;
|
|
67
74
|
const props = omitProps(this.props, BreadcrumbLink.allowedProps);
|
|
68
75
|
const isInteractive = onClick || href;
|
|
69
76
|
return _jsx(Tooltip, {
|
|
@@ -108,9 +115,5 @@ class BreadcrumbLink extends Component {
|
|
|
108
115
|
});
|
|
109
116
|
}
|
|
110
117
|
}
|
|
111
|
-
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
112
|
-
BreadcrumbLink.componentId = 'Breadcrumb.Link';
|
|
113
|
-
BreadcrumbLink.allowedProps = allowedProps;
|
|
114
|
-
BreadcrumbLink.defaultProps = {};
|
|
115
118
|
export default BreadcrumbLink;
|
|
116
119
|
export { BreadcrumbLink };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _dec, _class
|
|
1
|
+
var _dec, _class;
|
|
2
2
|
/*
|
|
3
3
|
* The MIT License (MIT)
|
|
4
4
|
*
|
|
@@ -37,32 +37,36 @@ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
|
37
37
|
category: components
|
|
38
38
|
---
|
|
39
39
|
**/
|
|
40
|
-
let Breadcrumb = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
let Breadcrumb = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class = class Breadcrumb extends Component {
|
|
41
|
+
static displayName = "Breadcrumb";
|
|
42
|
+
static componentId = 'Breadcrumb';
|
|
43
|
+
static allowedProps = allowedProps;
|
|
44
|
+
static defaultProps = {
|
|
45
|
+
size: 'medium',
|
|
46
|
+
children: null
|
|
47
|
+
};
|
|
48
|
+
ref = null;
|
|
49
|
+
handleRef = el => {
|
|
50
|
+
this.ref = el;
|
|
51
|
+
};
|
|
52
|
+
addAriaCurrent = child => {
|
|
53
|
+
const updatedChild = /*#__PURE__*/cloneElement(child, {
|
|
54
|
+
'aria-current': 'page'
|
|
55
|
+
});
|
|
56
|
+
return updatedChild;
|
|
57
|
+
};
|
|
54
58
|
componentDidMount() {
|
|
55
|
-
|
|
56
|
-
(_this$props$makeStyle = (_this$props = this.props).makeStyles) === null || _this$props$makeStyle === void 0 ? void 0 : _this$props$makeStyle.call(_this$props);
|
|
59
|
+
this.props.makeStyles?.();
|
|
57
60
|
}
|
|
58
61
|
componentDidUpdate() {
|
|
59
|
-
|
|
60
|
-
(_this$props$makeStyle2 = (_this$props2 = this.props).makeStyles) === null || _this$props$makeStyle2 === void 0 ? void 0 : _this$props$makeStyle2.call(_this$props2);
|
|
62
|
+
this.props.makeStyles?.();
|
|
61
63
|
}
|
|
64
|
+
static Link = BreadcrumbLink;
|
|
62
65
|
renderChildren() {
|
|
63
|
-
const
|
|
64
|
-
styles
|
|
65
|
-
children
|
|
66
|
+
const {
|
|
67
|
+
styles,
|
|
68
|
+
children
|
|
69
|
+
} = this.props;
|
|
66
70
|
const numChildren = Children.count(children);
|
|
67
71
|
const inlineStyle = {
|
|
68
72
|
maxWidth: `${Math.floor(100 / numChildren)}%`
|
|
@@ -78,17 +82,19 @@ let Breadcrumb = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(
|
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
return _jsxs("li", {
|
|
81
|
-
css: styles
|
|
85
|
+
css: styles?.crumb,
|
|
82
86
|
style: inlineStyle,
|
|
83
87
|
children: [!isAriaCurrentSet && isLastElement && child.props.isCurrentPage !== false ? this.addAriaCurrent(child) : child, index < numChildren - 1 && _jsx(IconArrowOpenEndSolid, {
|
|
84
88
|
color: "auto",
|
|
85
|
-
css: styles
|
|
89
|
+
css: styles?.separator
|
|
86
90
|
})]
|
|
87
91
|
});
|
|
88
92
|
});
|
|
89
93
|
}
|
|
90
94
|
render() {
|
|
91
|
-
const
|
|
95
|
+
const {
|
|
96
|
+
styles
|
|
97
|
+
} = this.props;
|
|
92
98
|
return _jsx(View, {
|
|
93
99
|
role: "navigation",
|
|
94
100
|
as: "div",
|
|
@@ -97,14 +103,11 @@ let Breadcrumb = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(
|
|
|
97
103
|
elementRef: this.handleRef,
|
|
98
104
|
"data-cid": "Breadcrumb",
|
|
99
105
|
children: _jsx("ol", {
|
|
100
|
-
css: styles
|
|
106
|
+
css: styles?.breadcrumb,
|
|
101
107
|
children: this.renderChildren()
|
|
102
108
|
})
|
|
103
109
|
});
|
|
104
110
|
}
|
|
105
|
-
}
|
|
106
|
-
size: 'medium',
|
|
107
|
-
children: null
|
|
108
|
-
}, _Breadcrumb.Link = BreadcrumbLink, _Breadcrumb)) || _class);
|
|
111
|
+
}) || _class);
|
|
109
112
|
export default Breadcrumb;
|
|
110
113
|
export { Breadcrumb, BreadcrumbLink };
|
|
@@ -33,7 +33,9 @@
|
|
|
33
33
|
* @return {Object} The final style object, which will be used in the component
|
|
34
34
|
*/
|
|
35
35
|
const generateStyle = (componentTheme, props) => {
|
|
36
|
-
const
|
|
36
|
+
const {
|
|
37
|
+
size
|
|
38
|
+
} = props;
|
|
37
39
|
const crumbSizeVariants = {
|
|
38
40
|
small: {
|
|
39
41
|
fontSize: componentTheme.smallFontSize,
|
|
@@ -28,18 +28,19 @@
|
|
|
28
28
|
* @return {Object} The final theme object with the overrides and component variables
|
|
29
29
|
*/
|
|
30
30
|
const generateComponentTheme = theme => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
typography
|
|
31
|
+
const {
|
|
32
|
+
colors,
|
|
33
|
+
typography
|
|
34
|
+
} = theme;
|
|
34
35
|
const componentVariables = {
|
|
35
|
-
fontFamily: typography
|
|
36
|
-
separatorColor: colors
|
|
36
|
+
fontFamily: typography?.fontFamily,
|
|
37
|
+
separatorColor: colors?.contrasts?.grey4570,
|
|
37
38
|
smallSeparatorFontSize: '0.5rem',
|
|
38
|
-
smallFontSize: typography
|
|
39
|
+
smallFontSize: typography?.fontSizeSmall,
|
|
39
40
|
mediumSeparatorFontSize: '0.75rem',
|
|
40
|
-
mediumFontSize: typography
|
|
41
|
+
mediumFontSize: typography?.fontSizeMedium,
|
|
41
42
|
largeSeparatorFontSize: '1rem',
|
|
42
|
-
largeFontSize: typography
|
|
43
|
+
largeFontSize: typography?.fontSizeLarge
|
|
43
44
|
};
|
|
44
45
|
return {
|
|
45
46
|
...componentVariables
|
|
@@ -37,12 +37,16 @@ id: Breadcrumb.Link
|
|
|
37
37
|
**/
|
|
38
38
|
|
|
39
39
|
class BreadcrumbLink extends Component {
|
|
40
|
+
static displayName = "BreadcrumbLink";
|
|
41
|
+
static componentId = 'Breadcrumb.Link';
|
|
42
|
+
static allowedProps = allowedProps;
|
|
43
|
+
static defaultProps = {};
|
|
44
|
+
ref = null;
|
|
45
|
+
handleRef = el => {
|
|
46
|
+
this.ref = el;
|
|
47
|
+
};
|
|
40
48
|
constructor(props) {
|
|
41
49
|
super(props);
|
|
42
|
-
this.ref = null;
|
|
43
|
-
this.handleRef = el => {
|
|
44
|
-
this.ref = el;
|
|
45
|
-
};
|
|
46
50
|
this.state = {
|
|
47
51
|
isTruncated: false
|
|
48
52
|
};
|
|
@@ -55,16 +59,19 @@ class BreadcrumbLink extends Component {
|
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
render() {
|
|
58
|
-
const
|
|
59
|
-
children
|
|
60
|
-
href
|
|
61
|
-
renderIcon
|
|
62
|
-
iconPlacement
|
|
63
|
-
onClick
|
|
64
|
-
onMouseEnter
|
|
65
|
-
isCurrentPage
|
|
66
|
-
size
|
|
67
|
-
|
|
62
|
+
const {
|
|
63
|
+
children,
|
|
64
|
+
href,
|
|
65
|
+
renderIcon,
|
|
66
|
+
iconPlacement,
|
|
67
|
+
onClick,
|
|
68
|
+
onMouseEnter,
|
|
69
|
+
isCurrentPage,
|
|
70
|
+
size
|
|
71
|
+
} = this.props;
|
|
72
|
+
const {
|
|
73
|
+
isTruncated
|
|
74
|
+
} = this.state;
|
|
68
75
|
const props = omitProps(this.props, BreadcrumbLink.allowedProps);
|
|
69
76
|
const isInteractive = onClick || href;
|
|
70
77
|
return _jsx(Tooltip, {
|
|
@@ -110,9 +117,5 @@ class BreadcrumbLink extends Component {
|
|
|
110
117
|
});
|
|
111
118
|
}
|
|
112
119
|
}
|
|
113
|
-
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
114
|
-
BreadcrumbLink.componentId = 'Breadcrumb.Link';
|
|
115
|
-
BreadcrumbLink.allowedProps = allowedProps;
|
|
116
|
-
BreadcrumbLink.defaultProps = {};
|
|
117
120
|
export default BreadcrumbLink;
|
|
118
121
|
export { BreadcrumbLink };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _dec, _class
|
|
1
|
+
var _dec, _class;
|
|
2
2
|
/*
|
|
3
3
|
* The MIT License (MIT)
|
|
4
4
|
*
|
|
@@ -37,33 +37,37 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/reac
|
|
|
37
37
|
category: components
|
|
38
38
|
---
|
|
39
39
|
**/
|
|
40
|
-
let Breadcrumb = (_dec = withStyle(generateStyle), _dec(_class =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
let Breadcrumb = (_dec = withStyle(generateStyle), _dec(_class = class Breadcrumb extends Component {
|
|
41
|
+
static displayName = "Breadcrumb";
|
|
42
|
+
static componentId = 'Breadcrumb';
|
|
43
|
+
static allowedProps = allowedProps;
|
|
44
|
+
static defaultProps = {
|
|
45
|
+
size: 'medium',
|
|
46
|
+
children: null
|
|
47
|
+
};
|
|
48
|
+
ref = null;
|
|
49
|
+
handleRef = el => {
|
|
50
|
+
this.ref = el;
|
|
51
|
+
};
|
|
52
|
+
addAriaCurrent = child => {
|
|
53
|
+
const updatedChild = safeCloneElement(child, {
|
|
54
|
+
'aria-current': 'page'
|
|
55
|
+
});
|
|
56
|
+
return updatedChild;
|
|
57
|
+
};
|
|
54
58
|
componentDidMount() {
|
|
55
|
-
|
|
56
|
-
(_this$props$makeStyle = (_this$props = this.props).makeStyles) === null || _this$props$makeStyle === void 0 ? void 0 : _this$props$makeStyle.call(_this$props);
|
|
59
|
+
this.props.makeStyles?.();
|
|
57
60
|
}
|
|
58
61
|
componentDidUpdate() {
|
|
59
|
-
|
|
60
|
-
(_this$props$makeStyle2 = (_this$props2 = this.props).makeStyles) === null || _this$props$makeStyle2 === void 0 ? void 0 : _this$props$makeStyle2.call(_this$props2);
|
|
62
|
+
this.props.makeStyles?.();
|
|
61
63
|
}
|
|
64
|
+
static Link = BreadcrumbLink;
|
|
62
65
|
renderChildren() {
|
|
63
|
-
const
|
|
64
|
-
styles
|
|
65
|
-
children
|
|
66
|
-
size
|
|
66
|
+
const {
|
|
67
|
+
styles,
|
|
68
|
+
children,
|
|
69
|
+
size
|
|
70
|
+
} = this.props;
|
|
67
71
|
const numChildren = Children.count(children);
|
|
68
72
|
const inlineStyle = {
|
|
69
73
|
maxWidth: `${Math.floor(100 / numChildren)}%`
|
|
@@ -93,12 +97,12 @@ let Breadcrumb = (_dec = withStyle(generateStyle), _dec(_class = (_Breadcrumb =
|
|
|
93
97
|
const iconSize = breadcrumbSizeToIconSize[size || 'small'];
|
|
94
98
|
return _jsxs(_Fragment, {
|
|
95
99
|
children: [_jsx("li", {
|
|
96
|
-
css: styles
|
|
100
|
+
css: styles?.crumb,
|
|
97
101
|
style: inlineStyle,
|
|
98
102
|
children: !isAriaCurrentSet && isLastElement && child.props.isCurrentPage !== false ? this.addAriaCurrent(childWithSize) : childWithSize
|
|
99
103
|
}), index < numChildren - 1 && _jsx("li", {
|
|
100
104
|
"aria-hidden": "true",
|
|
101
|
-
css: styles
|
|
105
|
+
css: styles?.separator,
|
|
102
106
|
children: _jsx(ChevronRightInstUIIcon, {
|
|
103
107
|
size: iconSize,
|
|
104
108
|
color: 'mutedColor'
|
|
@@ -108,7 +112,9 @@ let Breadcrumb = (_dec = withStyle(generateStyle), _dec(_class = (_Breadcrumb =
|
|
|
108
112
|
});
|
|
109
113
|
}
|
|
110
114
|
render() {
|
|
111
|
-
const
|
|
115
|
+
const {
|
|
116
|
+
styles
|
|
117
|
+
} = this.props;
|
|
112
118
|
return _jsx(View, {
|
|
113
119
|
role: "navigation",
|
|
114
120
|
as: "div",
|
|
@@ -117,14 +123,11 @@ let Breadcrumb = (_dec = withStyle(generateStyle), _dec(_class = (_Breadcrumb =
|
|
|
117
123
|
elementRef: this.handleRef,
|
|
118
124
|
"data-cid": "Breadcrumb",
|
|
119
125
|
children: _jsx("ol", {
|
|
120
|
-
css: styles
|
|
126
|
+
css: styles?.breadcrumb,
|
|
121
127
|
children: this.renderChildren()
|
|
122
128
|
})
|
|
123
129
|
});
|
|
124
130
|
}
|
|
125
|
-
}
|
|
126
|
-
size: 'medium',
|
|
127
|
-
children: null
|
|
128
|
-
}, _Breadcrumb.Link = BreadcrumbLink, _Breadcrumb)) || _class);
|
|
131
|
+
}) || _class);
|
|
129
132
|
export default Breadcrumb;
|
|
130
133
|
export { Breadcrumb, BreadcrumbLink };
|
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
* @return {Object} The final style object, which will be used in the component
|
|
33
33
|
*/
|
|
34
34
|
const generateStyle = (componentTheme, props) => {
|
|
35
|
-
const
|
|
35
|
+
const {
|
|
36
|
+
size
|
|
37
|
+
} = props;
|
|
36
38
|
const gapSizeVariants = {
|
|
37
39
|
small: componentTheme.gapSm,
|
|
38
40
|
medium: componentTheme.gapMd,
|
|
@@ -43,12 +43,16 @@ id: Breadcrumb.Link
|
|
|
43
43
|
**/
|
|
44
44
|
|
|
45
45
|
class BreadcrumbLink extends _react.Component {
|
|
46
|
+
static displayName = "BreadcrumbLink";
|
|
47
|
+
static componentId = 'Breadcrumb.Link';
|
|
48
|
+
static allowedProps = _props.allowedProps;
|
|
49
|
+
static defaultProps = {};
|
|
50
|
+
ref = null;
|
|
51
|
+
handleRef = el => {
|
|
52
|
+
this.ref = el;
|
|
53
|
+
};
|
|
46
54
|
constructor(props) {
|
|
47
55
|
super(props);
|
|
48
|
-
this.ref = null;
|
|
49
|
-
this.handleRef = el => {
|
|
50
|
-
this.ref = el;
|
|
51
|
-
};
|
|
52
56
|
this.state = {
|
|
53
57
|
isTruncated: false
|
|
54
58
|
};
|
|
@@ -61,15 +65,18 @@ class BreadcrumbLink extends _react.Component {
|
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
render() {
|
|
64
|
-
const
|
|
65
|
-
children
|
|
66
|
-
href
|
|
67
|
-
renderIcon
|
|
68
|
-
iconPlacement
|
|
69
|
-
onClick
|
|
70
|
-
onMouseEnter
|
|
71
|
-
isCurrentPage
|
|
72
|
-
|
|
68
|
+
const {
|
|
69
|
+
children,
|
|
70
|
+
href,
|
|
71
|
+
renderIcon,
|
|
72
|
+
iconPlacement,
|
|
73
|
+
onClick,
|
|
74
|
+
onMouseEnter,
|
|
75
|
+
isCurrentPage
|
|
76
|
+
} = this.props;
|
|
77
|
+
const {
|
|
78
|
+
isTruncated
|
|
79
|
+
} = this.state;
|
|
73
80
|
const props = (0, _omitProps.omitProps)(this.props, BreadcrumbLink.allowedProps);
|
|
74
81
|
const isInteractive = onClick || href;
|
|
75
82
|
return (0, _jsxRuntime.jsx)(_v11_3.Tooltip, {
|
|
@@ -115,8 +122,4 @@ class BreadcrumbLink extends _react.Component {
|
|
|
115
122
|
}
|
|
116
123
|
}
|
|
117
124
|
exports.BreadcrumbLink = BreadcrumbLink;
|
|
118
|
-
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
119
|
-
BreadcrumbLink.componentId = 'Breadcrumb.Link';
|
|
120
|
-
BreadcrumbLink.allowedProps = _props.allowedProps;
|
|
121
|
-
BreadcrumbLink.defaultProps = {};
|
|
122
125
|
var _default = exports.default = BreadcrumbLink;
|
|
@@ -21,7 +21,7 @@ var _styles = _interopRequireDefault(require("./styles"));
|
|
|
21
21
|
var _theme = _interopRequireDefault(require("./theme"));
|
|
22
22
|
var _props = require("./props");
|
|
23
23
|
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
24
|
-
var _dec, _class
|
|
24
|
+
var _dec, _class;
|
|
25
25
|
/*
|
|
26
26
|
* The MIT License (MIT)
|
|
27
27
|
*
|
|
@@ -50,32 +50,36 @@ var _dec, _class, _Breadcrumb;
|
|
|
50
50
|
category: components
|
|
51
51
|
---
|
|
52
52
|
**/
|
|
53
|
-
let Breadcrumb = exports.Breadcrumb = (_dec = (0, _emotion.withStyleLegacy)(_styles.default, _theme.default), _dec(_class =
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
53
|
+
let Breadcrumb = exports.Breadcrumb = (_dec = (0, _emotion.withStyleLegacy)(_styles.default, _theme.default), _dec(_class = class Breadcrumb extends _react.Component {
|
|
54
|
+
static displayName = "Breadcrumb";
|
|
55
|
+
static componentId = 'Breadcrumb';
|
|
56
|
+
static allowedProps = _props.allowedProps;
|
|
57
|
+
static defaultProps = {
|
|
58
|
+
size: 'medium',
|
|
59
|
+
children: null
|
|
60
|
+
};
|
|
61
|
+
ref = null;
|
|
62
|
+
handleRef = el => {
|
|
63
|
+
this.ref = el;
|
|
64
|
+
};
|
|
65
|
+
addAriaCurrent = child => {
|
|
66
|
+
const updatedChild = /*#__PURE__*/(0, _react.cloneElement)(child, {
|
|
67
|
+
'aria-current': 'page'
|
|
68
|
+
});
|
|
69
|
+
return updatedChild;
|
|
70
|
+
};
|
|
67
71
|
componentDidMount() {
|
|
68
|
-
|
|
69
|
-
(_this$props$makeStyle = (_this$props = this.props).makeStyles) === null || _this$props$makeStyle === void 0 ? void 0 : _this$props$makeStyle.call(_this$props);
|
|
72
|
+
this.props.makeStyles?.();
|
|
70
73
|
}
|
|
71
74
|
componentDidUpdate() {
|
|
72
|
-
|
|
73
|
-
(_this$props$makeStyle2 = (_this$props2 = this.props).makeStyles) === null || _this$props$makeStyle2 === void 0 ? void 0 : _this$props$makeStyle2.call(_this$props2);
|
|
75
|
+
this.props.makeStyles?.();
|
|
74
76
|
}
|
|
77
|
+
static Link = _BreadcrumbLink.BreadcrumbLink;
|
|
75
78
|
renderChildren() {
|
|
76
|
-
const
|
|
77
|
-
styles
|
|
78
|
-
children
|
|
79
|
+
const {
|
|
80
|
+
styles,
|
|
81
|
+
children
|
|
82
|
+
} = this.props;
|
|
79
83
|
const numChildren = _react.Children.count(children);
|
|
80
84
|
const inlineStyle = {
|
|
81
85
|
maxWidth: `${Math.floor(100 / numChildren)}%`
|
|
@@ -91,17 +95,19 @@ let Breadcrumb = exports.Breadcrumb = (_dec = (0, _emotion.withStyleLegacy)(_sty
|
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
return (0, _jsxRuntime.jsxs)("li", {
|
|
94
|
-
css: styles
|
|
98
|
+
css: styles?.crumb,
|
|
95
99
|
style: inlineStyle,
|
|
96
100
|
children: [!isAriaCurrentSet && isLastElement && child.props.isCurrentPage !== false ? this.addAriaCurrent(child) : child, index < numChildren - 1 && (0, _jsxRuntime.jsx)(_IconArrowOpenEndSolid.IconArrowOpenEndSolid, {
|
|
97
101
|
color: "auto",
|
|
98
|
-
css: styles
|
|
102
|
+
css: styles?.separator
|
|
99
103
|
})]
|
|
100
104
|
});
|
|
101
105
|
});
|
|
102
106
|
}
|
|
103
107
|
render() {
|
|
104
|
-
const
|
|
108
|
+
const {
|
|
109
|
+
styles
|
|
110
|
+
} = this.props;
|
|
105
111
|
return (0, _jsxRuntime.jsx)(_v11_.View, {
|
|
106
112
|
role: "navigation",
|
|
107
113
|
as: "div",
|
|
@@ -110,13 +116,10 @@ let Breadcrumb = exports.Breadcrumb = (_dec = (0, _emotion.withStyleLegacy)(_sty
|
|
|
110
116
|
elementRef: this.handleRef,
|
|
111
117
|
"data-cid": "Breadcrumb",
|
|
112
118
|
children: (0, _jsxRuntime.jsx)("ol", {
|
|
113
|
-
css: styles
|
|
119
|
+
css: styles?.breadcrumb,
|
|
114
120
|
children: this.renderChildren()
|
|
115
121
|
})
|
|
116
122
|
});
|
|
117
123
|
}
|
|
118
|
-
}
|
|
119
|
-
size: 'medium',
|
|
120
|
-
children: null
|
|
121
|
-
}, _Breadcrumb.Link = _BreadcrumbLink.BreadcrumbLink, _Breadcrumb)) || _class);
|
|
124
|
+
}) || _class);
|
|
122
125
|
var _default = exports.default = Breadcrumb;
|
|
@@ -39,7 +39,9 @@ exports.default = void 0;
|
|
|
39
39
|
* @return {Object} The final style object, which will be used in the component
|
|
40
40
|
*/
|
|
41
41
|
const generateStyle = (componentTheme, props) => {
|
|
42
|
-
const
|
|
42
|
+
const {
|
|
43
|
+
size
|
|
44
|
+
} = props;
|
|
43
45
|
const crumbSizeVariants = {
|
|
44
46
|
small: {
|
|
45
47
|
fontSize: componentTheme.smallFontSize,
|
|
@@ -34,18 +34,19 @@ exports.default = void 0;
|
|
|
34
34
|
* @return {Object} The final theme object with the overrides and component variables
|
|
35
35
|
*/
|
|
36
36
|
const generateComponentTheme = theme => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
typography
|
|
37
|
+
const {
|
|
38
|
+
colors,
|
|
39
|
+
typography
|
|
40
|
+
} = theme;
|
|
40
41
|
const componentVariables = {
|
|
41
|
-
fontFamily: typography
|
|
42
|
-
separatorColor: colors
|
|
42
|
+
fontFamily: typography?.fontFamily,
|
|
43
|
+
separatorColor: colors?.contrasts?.grey4570,
|
|
43
44
|
smallSeparatorFontSize: '0.5rem',
|
|
44
|
-
smallFontSize: typography
|
|
45
|
+
smallFontSize: typography?.fontSizeSmall,
|
|
45
46
|
mediumSeparatorFontSize: '0.75rem',
|
|
46
|
-
mediumFontSize: typography
|
|
47
|
+
mediumFontSize: typography?.fontSizeMedium,
|
|
47
48
|
largeSeparatorFontSize: '1rem',
|
|
48
|
-
largeFontSize: typography
|
|
49
|
+
largeFontSize: typography?.fontSizeLarge
|
|
49
50
|
};
|
|
50
51
|
return {
|
|
51
52
|
...componentVariables
|
|
@@ -43,12 +43,16 @@ id: Breadcrumb.Link
|
|
|
43
43
|
**/
|
|
44
44
|
|
|
45
45
|
class BreadcrumbLink extends _react.Component {
|
|
46
|
+
static displayName = "BreadcrumbLink";
|
|
47
|
+
static componentId = 'Breadcrumb.Link';
|
|
48
|
+
static allowedProps = _props.allowedProps;
|
|
49
|
+
static defaultProps = {};
|
|
50
|
+
ref = null;
|
|
51
|
+
handleRef = el => {
|
|
52
|
+
this.ref = el;
|
|
53
|
+
};
|
|
46
54
|
constructor(props) {
|
|
47
55
|
super(props);
|
|
48
|
-
this.ref = null;
|
|
49
|
-
this.handleRef = el => {
|
|
50
|
-
this.ref = el;
|
|
51
|
-
};
|
|
52
56
|
this.state = {
|
|
53
57
|
isTruncated: false
|
|
54
58
|
};
|
|
@@ -61,16 +65,19 @@ class BreadcrumbLink extends _react.Component {
|
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
render() {
|
|
64
|
-
const
|
|
65
|
-
children
|
|
66
|
-
href
|
|
67
|
-
renderIcon
|
|
68
|
-
iconPlacement
|
|
69
|
-
onClick
|
|
70
|
-
onMouseEnter
|
|
71
|
-
isCurrentPage
|
|
72
|
-
size
|
|
73
|
-
|
|
68
|
+
const {
|
|
69
|
+
children,
|
|
70
|
+
href,
|
|
71
|
+
renderIcon,
|
|
72
|
+
iconPlacement,
|
|
73
|
+
onClick,
|
|
74
|
+
onMouseEnter,
|
|
75
|
+
isCurrentPage,
|
|
76
|
+
size
|
|
77
|
+
} = this.props;
|
|
78
|
+
const {
|
|
79
|
+
isTruncated
|
|
80
|
+
} = this.state;
|
|
74
81
|
const props = (0, _omitProps.omitProps)(this.props, BreadcrumbLink.allowedProps);
|
|
75
82
|
const isInteractive = onClick || href;
|
|
76
83
|
return (0, _jsxRuntime.jsx)(_latest3.Tooltip, {
|
|
@@ -117,8 +124,4 @@ class BreadcrumbLink extends _react.Component {
|
|
|
117
124
|
}
|
|
118
125
|
}
|
|
119
126
|
exports.BreadcrumbLink = BreadcrumbLink;
|
|
120
|
-
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
121
|
-
BreadcrumbLink.componentId = 'Breadcrumb.Link';
|
|
122
|
-
BreadcrumbLink.allowedProps = _props.allowedProps;
|
|
123
|
-
BreadcrumbLink.defaultProps = {};
|
|
124
127
|
var _default = exports.default = BreadcrumbLink;
|