@telus-uds/components-web 2.31.1 → 2.31.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,12 +1,30 @@
1
1
  # Change Log - @telus-uds/components-web
2
2
 
3
- This log was last generated on Wed, 14 Feb 2024 02:21:15 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 23 Feb 2024 19:32:18 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 2.31.3
8
+
9
+ Fri, 23 Feb 2024 19:32:18 GMT
10
+
11
+ ### Patches
12
+
13
+ - fix breadcrumbs component current item font-weight (guillermo.peitzner@telus.com)
14
+ - Bump @telus-uds/components-base to v1.78.0
15
+ - Bump @telus-uds/system-theme-tokens to v2.52.0
16
+
17
+ ## 2.31.2
18
+
19
+ Tue, 20 Feb 2024 23:14:38 GMT
20
+
21
+ ### Patches
22
+
23
+ - Bump @telus-uds/components-base to v1.77.1
24
+
7
25
  ## 2.31.1
8
26
 
9
- Wed, 14 Feb 2024 02:21:15 GMT
27
+ Wed, 14 Feb 2024 02:29:37 GMT
10
28
 
11
29
  ### Patches
12
30
 
@@ -27,9 +27,15 @@ const StyledList = /*#__PURE__*/_styledComponents.default.ol.withConfig({
27
27
  listStylePosition: 'inside',
28
28
  margin: 0,
29
29
  padding: 0,
30
- alignItems: 'baseline'
30
+ alignItems: 'baseline',
31
+ height: _ref => {
32
+ let {
33
+ iconContainerSize
34
+ } = _ref;
35
+ return `${iconContainerSize}px`;
36
+ }
31
37
  });
32
- const omitProps = _ref => {
38
+ const omitProps = _ref2 => {
33
39
  let {
34
40
  current,
35
41
  path,
@@ -38,7 +44,7 @@ const omitProps = _ref => {
38
44
  childRoutes,
39
45
  component,
40
46
  ...props
41
- } = _ref;
47
+ } = _ref2;
42
48
  return props;
43
49
  };
44
50
  const getBreadcrumbName = (item, params) => {
@@ -101,7 +107,7 @@ const getStructuredData = (items, baseUrl) => {
101
107
  /**
102
108
  * Display a hierarchy of links, commonly used for navigation.
103
109
  */
104
- const Breadcrumbs = _ref2 => {
110
+ const Breadcrumbs = _ref3 => {
105
111
  let {
106
112
  baseUrl,
107
113
  children,
@@ -112,7 +118,7 @@ const Breadcrumbs = _ref2 => {
112
118
  variant,
113
119
  LinkRouter,
114
120
  ...rest
115
- } = _ref2;
121
+ } = _ref3;
116
122
  // React Helmet can cause a memory leak in SSR if not properly configured.
117
123
  // Only run it in SSR if theme options tells us to.
118
124
  /* const {
@@ -122,7 +128,7 @@ const Breadcrumbs = _ref2 => {
122
128
  // const isSSR = typeof window === 'undefined' || isHydrating
123
129
  // const hasMetadata = isSSR ? enableHelmetSSR : true
124
130
  const helmetContext = {};
125
- const activeRoutes = children ? _react.default.Children.map((0, _componentsBase.unpackFragment)(children), _ref3 => {
131
+ const activeRoutes = children ? _react.default.Children.map((0, _componentsBase.unpackFragment)(children), _ref4 => {
126
132
  let {
127
133
  props: {
128
134
  href,
@@ -130,7 +136,7 @@ const Breadcrumbs = _ref2 => {
130
136
  ...itemRest
131
137
  },
132
138
  ref
133
- } = _ref3;
139
+ } = _ref4;
134
140
  return {
135
141
  path: href,
136
142
  breadcrumbName,
@@ -139,6 +145,7 @@ const Breadcrumbs = _ref2 => {
139
145
  };
140
146
  }) : routes.filter(route => route.path && route.breadcrumbName);
141
147
  const items = getItems(activeRoutes, params, !children);
148
+ const themeTokens = (0, _componentsBase.useThemeTokens)('Breadcrumbs', tokens, variant);
142
149
  const metadata = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHelmetAsync.HelmetProvider, {
143
150
  context: helmetContext,
144
151
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHelmetAsync.Helmet, {
@@ -158,7 +165,8 @@ const Breadcrumbs = _ref2 => {
158
165
  "aria-label": "Breadcrumb",
159
166
  ...selectProps(rest),
160
167
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledList, {
161
- children: items.map(_ref4 => {
168
+ iconContainerSize: themeTokens.iconContainerSize,
169
+ children: items.map(_ref5 => {
162
170
  let {
163
171
  href,
164
172
  current,
@@ -166,7 +174,7 @@ const Breadcrumbs = _ref2 => {
166
174
  LinkRouter: ItemLinkRouter = LinkRouter,
167
175
  linkRouterProps: itemLinkRouterProps,
168
176
  ...itemRest
169
- } = _ref4;
177
+ } = _ref5;
170
178
  return /*#__PURE__*/(0, _react.createElement)(_Item.default, {
171
179
  ...itemRest,
172
180
  current: current,
@@ -24,38 +24,65 @@ const StyledItemContainer = /*#__PURE__*/_styledComponents.default.li.withConfig
24
24
  listItemPadding
25
25
  } = _ref;
26
26
  return `${listItemPadding}px`;
27
+ },
28
+ lineHeight: _ref2 => {
29
+ let {
30
+ lineHeight,
31
+ fontSize
32
+ } = _ref2;
33
+ return `${Math.ceil(lineHeight * fontSize)}px`;
34
+ },
35
+ height: _ref3 => {
36
+ let {
37
+ iconContainerSize
38
+ } = _ref3;
39
+ return `${iconContainerSize}px`;
27
40
  }
28
41
  });
29
42
  const IconContainer = /*#__PURE__*/_styledComponents.default.span.withConfig({
30
43
  displayName: "Item__IconContainer",
31
44
  componentId: "components-web__sc-1rfdaul-1"
32
45
  })({
33
- display: 'inline-flex',
46
+ display: 'flex',
47
+ justifyContent: 'center',
34
48
  alignItems: 'center',
35
- paddingLeft: _ref2 => {
49
+ paddingLeft: _ref4 => {
36
50
  let {
37
51
  iconPadding
38
- } = _ref2;
52
+ } = _ref4;
39
53
  return `${iconPadding}px`;
40
54
  },
41
- paddingRight: _ref3 => {
55
+ paddingRight: _ref5 => {
42
56
  let {
43
57
  iconPadding
44
- } = _ref3;
58
+ } = _ref5;
45
59
  return `${iconPadding}px`;
46
60
  },
47
- fontFamily: _ref4 => {
61
+ fontFamily: _ref6 => {
48
62
  let {
49
63
  fontName,
50
64
  fontWeight
51
- } = _ref4;
65
+ } = _ref6;
52
66
  return (0, _componentsBase.applyTextStyles)({
53
67
  fontName,
54
68
  fontWeight
55
69
  }).fontFamily;
70
+ },
71
+ height: _ref7 => {
72
+ let {
73
+ iconContainerSize
74
+ } = _ref7;
75
+ return `${iconContainerSize}px`;
76
+ },
77
+ width: _ref8 => {
78
+ let {
79
+ iconContainerSize,
80
+ iconPadding
81
+ } = _ref8;
82
+ return `${iconContainerSize + iconPadding * 2}px`;
56
83
  }
57
84
  });
58
- const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
85
+ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref9, ref) => {
59
86
  let {
60
87
  href,
61
88
  children,
@@ -68,7 +95,7 @@ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
68
95
  LinkRouter,
69
96
  linkRouterProps,
70
97
  ...rest
71
- } = _ref5;
98
+ } = _ref9;
72
99
  const {
73
100
  iconColor,
74
101
  icon: ChevronRightIcon,
@@ -76,22 +103,30 @@ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
76
103
  color,
77
104
  iconSize,
78
105
  fontSize,
79
- ...themeTokens
106
+ fontWeight,
107
+ fontName,
108
+ lineHeight,
109
+ listItemPadding,
110
+ iconContainerSize,
111
+ iconPadding
80
112
  } = (0, _componentsBase.useThemeTokens)('Breadcrumbs', tokens, variant);
81
113
  const linkOptions = {
82
114
  ..._componentsBase.clickProps.toPressProps(selectProps(rest)),
83
115
  href
84
116
  };
85
117
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledItemContainer, {
86
- ...themeTokens,
118
+ listItemPadding: listItemPadding,
119
+ lineHeight: lineHeight,
120
+ fontSize: fontSize,
121
+ iconContainerSize: iconContainerSize,
87
122
  children: current ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
88
123
  tokens: {
89
124
  color: currentColor,
90
- fontSize
91
- },
92
- variant: {
93
- ...variant
125
+ fontSize,
126
+ fontWeight,
127
+ lineHeight
94
128
  },
129
+ variant: variant,
95
130
  children: children
96
131
  }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
97
132
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Link, {
@@ -99,14 +134,18 @@ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
99
134
  ref: ref,
100
135
  tokens: {
101
136
  color,
102
- blockFontSize: fontSize
137
+ blockFontSize: fontSize,
138
+ blockLineHeight: lineHeight
103
139
  },
104
140
  LinkRouter: LinkRouter,
105
141
  linkRouterProps: linkRouterProps,
106
142
  variant: variant,
107
143
  children: children
108
144
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(IconContainer, {
109
- ...themeTokens,
145
+ iconPadding: iconPadding,
146
+ fontName: fontName,
147
+ fontWeight: fontWeight,
148
+ iconContainerSize: iconContainerSize,
110
149
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ChevronRightIcon, {
111
150
  size: iconSize,
112
151
  color: iconColor
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import styled from 'styled-components';
4
4
  import { Helmet, HelmetProvider } from 'react-helmet-async';
5
- import { componentPropType, selectSystemProps, unpackFragment, withLinkRouter, getTokensPropType } from '@telus-uds/components-base';
5
+ import { componentPropType, selectSystemProps, unpackFragment, withLinkRouter, getTokensPropType, useThemeTokens } from '@telus-uds/components-base';
6
6
  import { htmlAttrs } from '../utils';
7
7
  import Item from './Item/Item';
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -20,9 +20,15 @@ const StyledList = /*#__PURE__*/styled.ol.withConfig({
20
20
  listStylePosition: 'inside',
21
21
  margin: 0,
22
22
  padding: 0,
23
- alignItems: 'baseline'
23
+ alignItems: 'baseline',
24
+ height: _ref => {
25
+ let {
26
+ iconContainerSize
27
+ } = _ref;
28
+ return `${iconContainerSize}px`;
29
+ }
24
30
  });
25
- const omitProps = _ref => {
31
+ const omitProps = _ref2 => {
26
32
  let {
27
33
  current,
28
34
  path,
@@ -31,7 +37,7 @@ const omitProps = _ref => {
31
37
  childRoutes,
32
38
  component,
33
39
  ...props
34
- } = _ref;
40
+ } = _ref2;
35
41
  return props;
36
42
  };
37
43
  const getBreadcrumbName = (item, params) => {
@@ -94,7 +100,7 @@ const getStructuredData = (items, baseUrl) => {
94
100
  /**
95
101
  * Display a hierarchy of links, commonly used for navigation.
96
102
  */
97
- const Breadcrumbs = _ref2 => {
103
+ const Breadcrumbs = _ref3 => {
98
104
  let {
99
105
  baseUrl,
100
106
  children,
@@ -105,7 +111,7 @@ const Breadcrumbs = _ref2 => {
105
111
  variant,
106
112
  LinkRouter,
107
113
  ...rest
108
- } = _ref2;
114
+ } = _ref3;
109
115
  // React Helmet can cause a memory leak in SSR if not properly configured.
110
116
  // Only run it in SSR if theme options tells us to.
111
117
  /* const {
@@ -115,7 +121,7 @@ const Breadcrumbs = _ref2 => {
115
121
  // const isSSR = typeof window === 'undefined' || isHydrating
116
122
  // const hasMetadata = isSSR ? enableHelmetSSR : true
117
123
  const helmetContext = {};
118
- const activeRoutes = children ? React.Children.map(unpackFragment(children), _ref3 => {
124
+ const activeRoutes = children ? React.Children.map(unpackFragment(children), _ref4 => {
119
125
  let {
120
126
  props: {
121
127
  href,
@@ -123,7 +129,7 @@ const Breadcrumbs = _ref2 => {
123
129
  ...itemRest
124
130
  },
125
131
  ref
126
- } = _ref3;
132
+ } = _ref4;
127
133
  return {
128
134
  path: href,
129
135
  breadcrumbName,
@@ -132,6 +138,7 @@ const Breadcrumbs = _ref2 => {
132
138
  };
133
139
  }) : routes.filter(route => route.path && route.breadcrumbName);
134
140
  const items = getItems(activeRoutes, params, !children);
141
+ const themeTokens = useThemeTokens('Breadcrumbs', tokens, variant);
135
142
  const metadata = /*#__PURE__*/_jsx(HelmetProvider, {
136
143
  context: helmetContext,
137
144
  children: /*#__PURE__*/_jsx(Helmet, {
@@ -151,7 +158,8 @@ const Breadcrumbs = _ref2 => {
151
158
  "aria-label": "Breadcrumb",
152
159
  ...selectProps(rest),
153
160
  children: [/*#__PURE__*/_jsx(StyledList, {
154
- children: items.map(_ref4 => {
161
+ iconContainerSize: themeTokens.iconContainerSize,
162
+ children: items.map(_ref5 => {
155
163
  let {
156
164
  href,
157
165
  current,
@@ -159,7 +167,7 @@ const Breadcrumbs = _ref2 => {
159
167
  LinkRouter: ItemLinkRouter = LinkRouter,
160
168
  linkRouterProps: itemLinkRouterProps,
161
169
  ...itemRest
162
- } = _ref4;
170
+ } = _ref5;
163
171
  return /*#__PURE__*/_createElement(Item, {
164
172
  ...itemRest,
165
173
  current: current,
@@ -17,38 +17,65 @@ const StyledItemContainer = /*#__PURE__*/styled.li.withConfig({
17
17
  listItemPadding
18
18
  } = _ref;
19
19
  return `${listItemPadding}px`;
20
+ },
21
+ lineHeight: _ref2 => {
22
+ let {
23
+ lineHeight,
24
+ fontSize
25
+ } = _ref2;
26
+ return `${Math.ceil(lineHeight * fontSize)}px`;
27
+ },
28
+ height: _ref3 => {
29
+ let {
30
+ iconContainerSize
31
+ } = _ref3;
32
+ return `${iconContainerSize}px`;
20
33
  }
21
34
  });
22
35
  const IconContainer = /*#__PURE__*/styled.span.withConfig({
23
36
  displayName: "Item__IconContainer",
24
37
  componentId: "components-web__sc-1rfdaul-1"
25
38
  })({
26
- display: 'inline-flex',
39
+ display: 'flex',
40
+ justifyContent: 'center',
27
41
  alignItems: 'center',
28
- paddingLeft: _ref2 => {
42
+ paddingLeft: _ref4 => {
29
43
  let {
30
44
  iconPadding
31
- } = _ref2;
45
+ } = _ref4;
32
46
  return `${iconPadding}px`;
33
47
  },
34
- paddingRight: _ref3 => {
48
+ paddingRight: _ref5 => {
35
49
  let {
36
50
  iconPadding
37
- } = _ref3;
51
+ } = _ref5;
38
52
  return `${iconPadding}px`;
39
53
  },
40
- fontFamily: _ref4 => {
54
+ fontFamily: _ref6 => {
41
55
  let {
42
56
  fontName,
43
57
  fontWeight
44
- } = _ref4;
58
+ } = _ref6;
45
59
  return applyTextStyles({
46
60
  fontName,
47
61
  fontWeight
48
62
  }).fontFamily;
63
+ },
64
+ height: _ref7 => {
65
+ let {
66
+ iconContainerSize
67
+ } = _ref7;
68
+ return `${iconContainerSize}px`;
69
+ },
70
+ width: _ref8 => {
71
+ let {
72
+ iconContainerSize,
73
+ iconPadding
74
+ } = _ref8;
75
+ return `${iconContainerSize + iconPadding * 2}px`;
49
76
  }
50
77
  });
51
- const Item = /*#__PURE__*/forwardRef((_ref5, ref) => {
78
+ const Item = /*#__PURE__*/forwardRef((_ref9, ref) => {
52
79
  let {
53
80
  href,
54
81
  children,
@@ -61,7 +88,7 @@ const Item = /*#__PURE__*/forwardRef((_ref5, ref) => {
61
88
  LinkRouter,
62
89
  linkRouterProps,
63
90
  ...rest
64
- } = _ref5;
91
+ } = _ref9;
65
92
  const {
66
93
  iconColor,
67
94
  icon: ChevronRightIcon,
@@ -69,22 +96,30 @@ const Item = /*#__PURE__*/forwardRef((_ref5, ref) => {
69
96
  color,
70
97
  iconSize,
71
98
  fontSize,
72
- ...themeTokens
99
+ fontWeight,
100
+ fontName,
101
+ lineHeight,
102
+ listItemPadding,
103
+ iconContainerSize,
104
+ iconPadding
73
105
  } = useThemeTokens('Breadcrumbs', tokens, variant);
74
106
  const linkOptions = {
75
107
  ...clickProps.toPressProps(selectProps(rest)),
76
108
  href
77
109
  };
78
110
  return /*#__PURE__*/_jsx(StyledItemContainer, {
79
- ...themeTokens,
111
+ listItemPadding: listItemPadding,
112
+ lineHeight: lineHeight,
113
+ fontSize: fontSize,
114
+ iconContainerSize: iconContainerSize,
80
115
  children: current ? /*#__PURE__*/_jsx(Typography, {
81
116
  tokens: {
82
117
  color: currentColor,
83
- fontSize
84
- },
85
- variant: {
86
- ...variant
118
+ fontSize,
119
+ fontWeight,
120
+ lineHeight
87
121
  },
122
+ variant: variant,
88
123
  children: children
89
124
  }) : /*#__PURE__*/_jsxs(_Fragment, {
90
125
  children: [/*#__PURE__*/_jsx(Link, {
@@ -92,14 +127,18 @@ const Item = /*#__PURE__*/forwardRef((_ref5, ref) => {
92
127
  ref: ref,
93
128
  tokens: {
94
129
  color,
95
- blockFontSize: fontSize
130
+ blockFontSize: fontSize,
131
+ blockLineHeight: lineHeight
96
132
  },
97
133
  LinkRouter: LinkRouter,
98
134
  linkRouterProps: linkRouterProps,
99
135
  variant: variant,
100
136
  children: children
101
137
  }), /*#__PURE__*/_jsx(IconContainer, {
102
- ...themeTokens,
138
+ iconPadding: iconPadding,
139
+ fontName: fontName,
140
+ fontWeight: fontWeight,
141
+ iconContainerSize: iconContainerSize,
103
142
  children: /*#__PURE__*/_jsx(ChevronRightIcon, {
104
143
  size: iconSize,
105
144
  color: iconColor
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  ],
6
6
  "dependencies": {
7
7
  "@gorhom/portal": "^1.0.14",
8
- "@telus-uds/components-base": "1.77.0",
8
+ "@telus-uds/components-base": "1.78.0",
9
9
  "@telus-uds/system-constants": "^1.3.0",
10
10
  "fscreen": "^1.2.0",
11
11
  "lodash.omit": "^4.5.0",
@@ -13,7 +13,7 @@
13
13
  "react-dates": "^21.8.0",
14
14
  "react-helmet-async": "^1.3.0",
15
15
  "react-moment-proptypes": "^1.8.1",
16
- "@telus-uds/system-theme-tokens": "^2.51.0",
16
+ "@telus-uds/system-theme-tokens": "^2.52.0",
17
17
  "prop-types": "^15.7.2",
18
18
  "lodash.throttle": "^4.1.1",
19
19
  "react-youtube": "^10.1.0",
@@ -83,5 +83,5 @@
83
83
  "skip": true
84
84
  },
85
85
  "types": "types/index.d.ts",
86
- "version": "2.31.1"
86
+ "version": "2.31.3"
87
87
  }
@@ -9,7 +9,8 @@ import {
9
9
  selectSystemProps,
10
10
  unpackFragment,
11
11
  withLinkRouter,
12
- getTokensPropType
12
+ getTokensPropType,
13
+ useThemeTokens
13
14
  } from '@telus-uds/components-base'
14
15
  import { htmlAttrs } from '../utils'
15
16
  import Item from './Item/Item'
@@ -24,7 +25,8 @@ const StyledList = styled.ol({
24
25
  listStylePosition: 'inside',
25
26
  margin: 0,
26
27
  padding: 0,
27
- alignItems: 'baseline'
28
+ alignItems: 'baseline',
29
+ height: ({ iconContainerSize }) => `${iconContainerSize}px`
28
30
  })
29
31
 
30
32
  const omitProps = ({
@@ -135,6 +137,7 @@ const Breadcrumbs = ({
135
137
  : routes.filter((route) => route.path && route.breadcrumbName)
136
138
 
137
139
  const items = getItems(activeRoutes, params, !children)
140
+ const themeTokens = useThemeTokens('Breadcrumbs', tokens, variant)
138
141
 
139
142
  const metadata = (
140
143
  <HelmetProvider context={helmetContext}>
@@ -154,7 +157,7 @@ const Breadcrumbs = ({
154
157
 
155
158
  return (
156
159
  <nav aria-label="Breadcrumb" {...selectProps(rest)}>
157
- <StyledList>
160
+ <StyledList iconContainerSize={themeTokens.iconContainerSize}>
158
161
  {items.map(
159
162
  ({
160
163
  href,
@@ -15,15 +15,20 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([htmlAttrs])
15
15
 
16
16
  const StyledItemContainer = styled.li({
17
17
  display: 'flex',
18
- paddingLeft: ({ listItemPadding }) => `${listItemPadding}px`
18
+ paddingLeft: ({ listItemPadding }) => `${listItemPadding}px`,
19
+ lineHeight: ({ lineHeight, fontSize }) => `${Math.ceil(lineHeight * fontSize)}px`,
20
+ height: ({ iconContainerSize }) => `${iconContainerSize}px`
19
21
  })
20
22
 
21
23
  const IconContainer = styled.span({
22
- display: 'inline-flex',
24
+ display: 'flex',
25
+ justifyContent: 'center',
23
26
  alignItems: 'center',
24
27
  paddingLeft: ({ iconPadding }) => `${iconPadding}px`,
25
28
  paddingRight: ({ iconPadding }) => `${iconPadding}px`,
26
- fontFamily: ({ fontName, fontWeight }) => applyTextStyles({ fontName, fontWeight }).fontFamily
29
+ fontFamily: ({ fontName, fontWeight }) => applyTextStyles({ fontName, fontWeight }).fontFamily,
30
+ height: ({ iconContainerSize }) => `${iconContainerSize}px`,
31
+ width: ({ iconContainerSize, iconPadding }) => `${iconContainerSize + iconPadding * 2}px`
27
32
  })
28
33
 
29
34
  const Item = forwardRef(
@@ -47,15 +52,33 @@ const Item = forwardRef(
47
52
  color,
48
53
  iconSize,
49
54
  fontSize,
50
- ...themeTokens
55
+ fontWeight,
56
+ fontName,
57
+ lineHeight,
58
+ listItemPadding,
59
+ iconContainerSize,
60
+ iconPadding
51
61
  } = useThemeTokens('Breadcrumbs', tokens, variant)
52
62
 
53
63
  const linkOptions = { ...clickProps.toPressProps(selectProps(rest)), href }
54
64
 
55
65
  return (
56
- <StyledItemContainer {...themeTokens}>
66
+ <StyledItemContainer
67
+ listItemPadding={listItemPadding}
68
+ lineHeight={lineHeight}
69
+ fontSize={fontSize}
70
+ iconContainerSize={iconContainerSize}
71
+ >
57
72
  {current ? (
58
- <Typography tokens={{ color: currentColor, fontSize }} variant={{ ...variant }}>
73
+ <Typography
74
+ tokens={{
75
+ color: currentColor,
76
+ fontSize,
77
+ fontWeight,
78
+ lineHeight
79
+ }}
80
+ variant={variant}
81
+ >
59
82
  {children}
60
83
  </Typography>
61
84
  ) : (
@@ -63,14 +86,19 @@ const Item = forwardRef(
63
86
  <Link
64
87
  {...linkOptions}
65
88
  ref={ref}
66
- tokens={{ color, blockFontSize: fontSize }}
89
+ tokens={{ color, blockFontSize: fontSize, blockLineHeight: lineHeight }}
67
90
  LinkRouter={LinkRouter}
68
91
  linkRouterProps={linkRouterProps}
69
92
  variant={variant}
70
93
  >
71
94
  {children}
72
95
  </Link>
73
- <IconContainer {...themeTokens}>
96
+ <IconContainer
97
+ iconPadding={iconPadding}
98
+ fontName={fontName}
99
+ fontWeight={fontWeight}
100
+ iconContainerSize={iconContainerSize}
101
+ >
74
102
  <ChevronRightIcon size={iconSize} color={iconColor} />
75
103
  </IconContainer>
76
104
  </>