@telus-uds/components-web 1.3.0 → 1.4.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/CHANGELOG.md +23 -2
- package/lib/Breadcrumbs/Breadcrumbs.js +247 -0
- package/lib/Breadcrumbs/Item/Item.js +165 -0
- package/lib/Breadcrumbs/index.js +15 -0
- package/lib/Callout/Callout.js +121 -0
- package/lib/Callout/index.js +13 -0
- package/lib/DatePicker/CalendarContainer.js +221 -0
- package/lib/DatePicker/DatePicker.js +329 -0
- package/lib/DatePicker/dictionary.js +134 -0
- package/lib/DatePicker/index.js +13 -0
- package/lib/DatePicker/reactDatesCss.js +12 -0
- package/lib/ExpandCollapseMini/ExpandCollapseMini.js +75 -0
- package/lib/ExpandCollapseMini/ExpandCollapseMiniControl.js +95 -0
- package/lib/ExpandCollapseMini/index.js +13 -0
- package/lib/Footnote/Footnote.js +571 -0
- package/lib/Footnote/FootnoteLink.js +149 -0
- package/lib/Footnote/dictionary.js +19 -0
- package/lib/Footnote/index.js +16 -0
- package/lib/PreviewCard/AuthorDate.js +64 -0
- package/lib/PreviewCard/PreviewCard.js +236 -0
- package/lib/PreviewCard/index.js +13 -0
- package/lib/PriceLockup/PriceLockup.js +237 -0
- package/lib/PriceLockup/index.js +13 -0
- package/lib/PriceLockup/tokens.js +131 -0
- package/lib/ResponsiveImage/ResponsiveImage.js +115 -0
- package/lib/ResponsiveImage/index.js +13 -0
- package/lib/Ribbon/Ribbon.js +0 -1
- package/lib/Span/Span.js +88 -0
- package/lib/Span/index.js +13 -0
- package/lib/index.js +82 -1
- package/lib/shared/FullBleedContent/FullBleedContent.js +121 -0
- package/lib/shared/FullBleedContent/getFullBleedBorderRadius.js +73 -0
- package/lib/shared/FullBleedContent/index.js +29 -0
- package/lib/shared/FullBleedContent/useFullBleedContentProps.js +73 -0
- package/lib/utils/index.js +32 -0
- package/lib/utils/logger.js +31 -0
- package/lib/utils/media.js +54 -0
- package/lib/utils/renderStructuredContent.js +89 -0
- package/lib/utils/useTypographyTheme.js +32 -0
- package/lib-module/Breadcrumbs/Breadcrumbs.js +228 -0
- package/lib-module/Breadcrumbs/Item/Item.js +141 -0
- package/lib-module/Breadcrumbs/index.js +1 -0
- package/lib-module/Callout/Callout.js +106 -0
- package/lib-module/Callout/index.js +2 -0
- package/lib-module/DatePicker/CalendarContainer.js +208 -0
- package/lib-module/DatePicker/DatePicker.js +302 -0
- package/lib-module/DatePicker/dictionary.js +127 -0
- package/lib-module/DatePicker/index.js +2 -0
- package/lib-module/DatePicker/reactDatesCss.js +3 -0
- package/lib-module/ExpandCollapseMini/ExpandCollapseMini.js +56 -0
- package/lib-module/ExpandCollapseMini/ExpandCollapseMiniControl.js +80 -0
- package/lib-module/ExpandCollapseMini/index.js +2 -0
- package/lib-module/Footnote/Footnote.js +541 -0
- package/lib-module/Footnote/FootnoteLink.js +130 -0
- package/lib-module/Footnote/dictionary.js +12 -0
- package/lib-module/Footnote/index.js +4 -0
- package/lib-module/PreviewCard/AuthorDate.js +53 -0
- package/lib-module/PreviewCard/PreviewCard.js +211 -0
- package/lib-module/PreviewCard/index.js +2 -0
- package/lib-module/PriceLockup/PriceLockup.js +213 -0
- package/lib-module/PriceLockup/index.js +2 -0
- package/lib-module/PriceLockup/tokens.js +120 -0
- package/lib-module/ResponsiveImage/ResponsiveImage.js +100 -0
- package/lib-module/ResponsiveImage/index.js +2 -0
- package/lib-module/Ribbon/Ribbon.js +1 -2
- package/lib-module/Span/Span.js +70 -0
- package/lib-module/Span/index.js +2 -0
- package/lib-module/index.js +9 -0
- package/lib-module/shared/FullBleedContent/FullBleedContent.js +106 -0
- package/lib-module/shared/FullBleedContent/getFullBleedBorderRadius.js +65 -0
- package/lib-module/shared/FullBleedContent/index.js +4 -0
- package/lib-module/shared/FullBleedContent/useFullBleedContentProps.js +65 -0
- package/lib-module/utils/index.js +5 -1
- package/lib-module/utils/logger.js +18 -0
- package/lib-module/utils/media.js +46 -0
- package/lib-module/utils/renderStructuredContent.js +77 -0
- package/lib-module/utils/useTypographyTheme.js +24 -0
- package/package.json +9 -5
- package/src/Breadcrumbs/Breadcrumbs.jsx +222 -0
- package/src/Breadcrumbs/Item/Item.jsx +127 -0
- package/src/Breadcrumbs/index.js +1 -0
- package/src/Callout/Callout.jsx +76 -0
- package/src/Callout/index.js +3 -0
- package/src/DatePicker/CalendarContainer.jsx +210 -0
- package/src/DatePicker/DatePicker.jsx +303 -0
- package/src/DatePicker/dictionary.js +92 -0
- package/src/DatePicker/index.js +3 -0
- package/src/DatePicker/reactDatesCss.js +892 -0
- package/src/ExpandCollapseMini/ExpandCollapseMini.jsx +48 -0
- package/src/ExpandCollapseMini/ExpandCollapseMiniControl.jsx +67 -0
- package/src/ExpandCollapseMini/index.js +3 -0
- package/src/Footnote/Footnote.jsx +468 -0
- package/src/Footnote/FootnoteLink.jsx +120 -0
- package/src/Footnote/dictionary.js +12 -0
- package/src/Footnote/index.js +6 -0
- package/src/PreviewCard/AuthorDate.jsx +31 -0
- package/src/PreviewCard/PreviewCard.jsx +201 -0
- package/src/PreviewCard/index.js +3 -0
- package/src/PriceLockup/PriceLockup.jsx +210 -0
- package/src/PriceLockup/index.js +3 -0
- package/src/PriceLockup/tokens.js +58 -0
- package/src/ResponsiveImage/ResponsiveImage.jsx +77 -0
- package/src/ResponsiveImage/index.js +3 -0
- package/src/Ribbon/Ribbon.jsx +0 -1
- package/src/Span/Span.jsx +66 -0
- package/src/Span/index.js +3 -0
- package/src/index.js +9 -0
- package/src/shared/FullBleedContent/FullBleedContent.jsx +90 -0
- package/src/shared/FullBleedContent/getFullBleedBorderRadius.js +55 -0
- package/src/shared/FullBleedContent/index.js +6 -0
- package/src/shared/FullBleedContent/useFullBleedContentProps.js +63 -0
- package/src/utils/index.js +5 -1
- package/src/utils/logger.js +20 -0
- package/src/utils/media.js +40 -0
- package/src/utils/renderStructuredContent.jsx +73 -0
- package/src/utils/useTypographyTheme.js +14 -0
- package/types/Callout.d.ts +13 -0
- package/types/DatePicker.d.ts +21 -0
- package/types/Footnote.d.ts +21 -0
- package/types/FootnoteLink.d.ts +20 -0
- package/types/PriceLockup.d.ts +22 -0
- package/types/common.d.ts +14 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
# Change Log - @telus-uds/components-web
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 13 Apr 2023 05:51:59 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.4.0
|
|
8
|
+
|
|
9
|
+
Thu, 13 Apr 2023 05:51:59 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Calendar Day picker multibrand initiative (akshay.pandey1@telus.com)
|
|
14
|
+
- new expand collapse mini component (mauricio.batresmontejo@telus.com)
|
|
15
|
+
- Adding Span component (srikanthkhari@gmail.com)
|
|
16
|
+
- added Breadcrumbs component (kyle.king2@telus.com)
|
|
17
|
+
- Added Callout (wlsdud194@hotmail.com)
|
|
18
|
+
- Added PriceLockup, Footnote, and FootnoteLink (wlsdud194@hotmail.com)
|
|
19
|
+
- Update snapshots for Ribbon (wlsdud194@hotmail.com)
|
|
20
|
+
- feat: move 'PreviewCard' & 'ResponsiveImage' to 'components-web' package from 'ds-allium' (kyle.king2@telus.com)
|
|
21
|
+
- Bump @telus-uds/components-base to v1.34.0
|
|
22
|
+
- Bump @telus-uds/system-theme-tokens to v2.18.0
|
|
23
|
+
|
|
24
|
+
### Patches
|
|
25
|
+
|
|
26
|
+
- removing a dev dep (srikanthkhari@gmail.com)
|
|
27
|
+
|
|
7
28
|
## 1.3.0
|
|
8
29
|
|
|
9
|
-
Tue, 04 Apr 2023
|
|
30
|
+
Tue, 04 Apr 2023 20:00:31 GMT
|
|
10
31
|
|
|
11
32
|
### Minor changes
|
|
12
33
|
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
14
|
+
var _reactHelmetAsync = require("react-helmet-async");
|
|
15
|
+
|
|
16
|
+
var _componentsBase = require("@telus-uds/components-base");
|
|
17
|
+
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
|
|
20
|
+
var _Item = _interopRequireDefault(require("./Item/Item"));
|
|
21
|
+
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
30
|
+
const [selectProps, selectedSystemPropTypes] = (0, _componentsBase.selectSystemProps)([_utils.htmlAttrs]);
|
|
31
|
+
|
|
32
|
+
const StyledList = /*#__PURE__*/_styledComponents.default.ol.withConfig({
|
|
33
|
+
displayName: "Breadcrumbs__StyledList",
|
|
34
|
+
componentId: "components-web__sc-gwwxrc-0"
|
|
35
|
+
})({
|
|
36
|
+
display: 'flex',
|
|
37
|
+
flexDirection: 'row',
|
|
38
|
+
flexWrap: 'wrap',
|
|
39
|
+
listStyle: 'none',
|
|
40
|
+
listStylePosition: 'inside',
|
|
41
|
+
margin: 0,
|
|
42
|
+
padding: 0
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const omitProps = _ref => {
|
|
46
|
+
let {
|
|
47
|
+
current,
|
|
48
|
+
path,
|
|
49
|
+
breadcrumbName,
|
|
50
|
+
indexRoute,
|
|
51
|
+
childRoutes,
|
|
52
|
+
component,
|
|
53
|
+
...props
|
|
54
|
+
} = _ref;
|
|
55
|
+
return props;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const getBreadcrumbName = (item, params) => {
|
|
59
|
+
if (!item.breadcrumbName) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
let {
|
|
64
|
+
breadcrumbName
|
|
65
|
+
} = item;
|
|
66
|
+
Object.keys(params).forEach(key => {
|
|
67
|
+
breadcrumbName = breadcrumbName.replace(`:${key}`, params[key]);
|
|
68
|
+
});
|
|
69
|
+
return breadcrumbName;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const getPath = (path, params, concatenatePaths, paths) => {
|
|
73
|
+
let p = path;
|
|
74
|
+
|
|
75
|
+
if (concatenatePaths) {
|
|
76
|
+
p = p.replace(/^\//, '');
|
|
77
|
+
Object.keys(params).forEach(key => {
|
|
78
|
+
p = p.replace(`:${key}`, params[key]);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
if (p) {
|
|
82
|
+
paths.push(p);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return `/${paths.join('/')}`;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return p;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const getItems = (items, params, concatenatePaths) => {
|
|
92
|
+
const paths = [];
|
|
93
|
+
return items.filter(item => item.path).map((item, i, filteredItems) => {
|
|
94
|
+
const isLast = i === filteredItems.length - 1;
|
|
95
|
+
const breadcrumbName = getBreadcrumbName(item, params);
|
|
96
|
+
const href = getPath(item.path, params, concatenatePaths, paths);
|
|
97
|
+
return {
|
|
98
|
+
breadcrumbName,
|
|
99
|
+
href,
|
|
100
|
+
current: isLast,
|
|
101
|
+
...omitProps(selectProps(item))
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
const getStructuredData = (items, baseUrl) => {
|
|
107
|
+
return items.map((item, index) => ({
|
|
108
|
+
'@type': 'ListItem',
|
|
109
|
+
position: index + 1,
|
|
110
|
+
item: {
|
|
111
|
+
'@id': `${baseUrl || ''}${item.href}`,
|
|
112
|
+
name: item.breadcrumbName
|
|
113
|
+
}
|
|
114
|
+
}));
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Display a hierarchy of links, commonly used for navigation.
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
const Breadcrumbs = _ref2 => {
|
|
122
|
+
let {
|
|
123
|
+
baseUrl,
|
|
124
|
+
children,
|
|
125
|
+
linkRouterProps,
|
|
126
|
+
params = {},
|
|
127
|
+
tokens,
|
|
128
|
+
reactRouterLinkComponent,
|
|
129
|
+
routes,
|
|
130
|
+
variant,
|
|
131
|
+
LinkRouter,
|
|
132
|
+
...rest
|
|
133
|
+
} = _ref2;
|
|
134
|
+
// React Helmet can cause a memory leak in SSR if not properly configured.
|
|
135
|
+
// Only run it in SSR if theme options tells us to.
|
|
136
|
+
|
|
137
|
+
/* const {
|
|
138
|
+
themeOptions: { enableHelmetSSR }
|
|
139
|
+
} = useTheme() */
|
|
140
|
+
// const isHydrating = useHydrationContext()
|
|
141
|
+
// const isSSR = typeof window === 'undefined' || isHydrating
|
|
142
|
+
// const hasMetadata = isSSR ? enableHelmetSSR : true
|
|
143
|
+
const helmetContext = {};
|
|
144
|
+
const activeRoutes = children ? _react.default.Children.map((0, _componentsBase.unpackFragment)(children), _ref3 => {
|
|
145
|
+
let {
|
|
146
|
+
props: {
|
|
147
|
+
href,
|
|
148
|
+
children: breadcrumbName,
|
|
149
|
+
...itemRest
|
|
150
|
+
},
|
|
151
|
+
ref
|
|
152
|
+
} = _ref3;
|
|
153
|
+
return {
|
|
154
|
+
path: href,
|
|
155
|
+
breadcrumbName,
|
|
156
|
+
ref,
|
|
157
|
+
...itemRest
|
|
158
|
+
};
|
|
159
|
+
}) : routes.filter(route => route.path && route.breadcrumbName);
|
|
160
|
+
const items = getItems(activeRoutes, params, !children);
|
|
161
|
+
const metadata = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHelmetAsync.HelmetProvider, {
|
|
162
|
+
context: helmetContext,
|
|
163
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHelmetAsync.Helmet, {
|
|
164
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("script", {
|
|
165
|
+
type: "application/ld+json",
|
|
166
|
+
children: `
|
|
167
|
+
{
|
|
168
|
+
"@context": "http://schema.org",
|
|
169
|
+
"@type": "BreadcrumbList",
|
|
170
|
+
"itemListElement": ${JSON.stringify(getStructuredData(items, baseUrl))}
|
|
171
|
+
}
|
|
172
|
+
`
|
|
173
|
+
})
|
|
174
|
+
})
|
|
175
|
+
});
|
|
176
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("nav", { ...selectProps(rest),
|
|
177
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledList, {
|
|
178
|
+
children: items.map(_ref4 => {
|
|
179
|
+
let {
|
|
180
|
+
href,
|
|
181
|
+
current,
|
|
182
|
+
breadcrumbName,
|
|
183
|
+
reactRouterLinkComponent: linkComponent = reactRouterLinkComponent,
|
|
184
|
+
LinkRouter: ItemLinkRouter = LinkRouter,
|
|
185
|
+
linkRouterProps: itemLinkRouterProps,
|
|
186
|
+
...itemRest
|
|
187
|
+
} = _ref4;
|
|
188
|
+
return /*#__PURE__*/(0, _react.createElement)(_Item.default, { ...itemRest,
|
|
189
|
+
current: current,
|
|
190
|
+
href: href,
|
|
191
|
+
tokens: tokens,
|
|
192
|
+
key: href,
|
|
193
|
+
linkRouterProps: { ...linkRouterProps,
|
|
194
|
+
itemLinkRouterProps
|
|
195
|
+
},
|
|
196
|
+
reactRouterLinkComponent: linkComponent,
|
|
197
|
+
variant: variant,
|
|
198
|
+
LinkRouter: ItemLinkRouter
|
|
199
|
+
}, breadcrumbName);
|
|
200
|
+
})
|
|
201
|
+
}), metadata]
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
Breadcrumbs.propTypes = { ...selectedSystemPropTypes,
|
|
206
|
+
..._componentsBase.withLinkRouter.propTypes,
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Base URL used to build structured data.
|
|
210
|
+
*/
|
|
211
|
+
baseUrl: _propTypes.default.string,
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* A list of Items to be used as an alternative to the `routes` prop.
|
|
215
|
+
*/
|
|
216
|
+
children: (0, _componentsBase.componentPropType)('Item'),
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* React Router params.
|
|
220
|
+
*/
|
|
221
|
+
params: _propTypes.default.object,
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* React Router Link component.
|
|
225
|
+
* @deprecated please use `LinkRouter` and `linkRouterProps` instead
|
|
226
|
+
*/
|
|
227
|
+
reactRouterLinkComponent: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* An array of routes to be displayed as breadcrumbs.
|
|
231
|
+
*/
|
|
232
|
+
routes: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
233
|
+
path: _propTypes.default.string,
|
|
234
|
+
breadcrumbName: _propTypes.default.string
|
|
235
|
+
})),
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Variant to render.
|
|
239
|
+
*/
|
|
240
|
+
variant: _propTypes.default.shape({
|
|
241
|
+
inverse: _propTypes.default.bool,
|
|
242
|
+
light: _propTypes.default.bool
|
|
243
|
+
})
|
|
244
|
+
};
|
|
245
|
+
Breadcrumbs.Item = _Item.default;
|
|
246
|
+
var _default = Breadcrumbs;
|
|
247
|
+
exports.default = _default;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
14
|
+
var _componentsBase = require("@telus-uds/components-base");
|
|
15
|
+
|
|
16
|
+
var _utils = require("../../utils");
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
+
|
|
26
|
+
const [selectProps, selectedSystemPropTypes] = (0, _componentsBase.selectSystemProps)([_utils.htmlAttrs]);
|
|
27
|
+
|
|
28
|
+
const StyledItemContainer = /*#__PURE__*/_styledComponents.default.li.withConfig({
|
|
29
|
+
displayName: "Item__StyledItemContainer",
|
|
30
|
+
componentId: "components-web__sc-1rfdaul-0"
|
|
31
|
+
})({
|
|
32
|
+
display: 'flex',
|
|
33
|
+
paddingLeft: _ref => {
|
|
34
|
+
let {
|
|
35
|
+
listItemPadding
|
|
36
|
+
} = _ref;
|
|
37
|
+
return `${listItemPadding}px`;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
const IconContainer = /*#__PURE__*/_styledComponents.default.span.withConfig({
|
|
42
|
+
displayName: "Item__IconContainer",
|
|
43
|
+
componentId: "components-web__sc-1rfdaul-1"
|
|
44
|
+
})({
|
|
45
|
+
display: 'inline-flex',
|
|
46
|
+
alignItems: 'center',
|
|
47
|
+
paddingLeft: _ref2 => {
|
|
48
|
+
let {
|
|
49
|
+
iconPadding
|
|
50
|
+
} = _ref2;
|
|
51
|
+
return `${iconPadding}px`;
|
|
52
|
+
},
|
|
53
|
+
paddingRight: _ref3 => {
|
|
54
|
+
let {
|
|
55
|
+
iconPadding
|
|
56
|
+
} = _ref3;
|
|
57
|
+
return `${iconPadding}px`;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref4, ref) => {
|
|
62
|
+
let {
|
|
63
|
+
href,
|
|
64
|
+
reactRouterLinkComponent: ReactRouterLink,
|
|
65
|
+
children,
|
|
66
|
+
current = false,
|
|
67
|
+
tokens,
|
|
68
|
+
variant = {
|
|
69
|
+
light: true
|
|
70
|
+
},
|
|
71
|
+
// `light` variant (shared with the `Link` component) is default by design
|
|
72
|
+
...rest
|
|
73
|
+
} = _ref4;
|
|
74
|
+
const {
|
|
75
|
+
iconColor,
|
|
76
|
+
icon: ChevronRightIcon,
|
|
77
|
+
...themeTokens
|
|
78
|
+
} = (0, _componentsBase.useThemeTokens)('Breadcrumbs', tokens, variant);
|
|
79
|
+
|
|
80
|
+
const linkOptions = _componentsBase.clickProps.toPressProps(selectProps(rest));
|
|
81
|
+
|
|
82
|
+
if (ReactRouterLink) {
|
|
83
|
+
linkOptions.to = href;
|
|
84
|
+
} else {
|
|
85
|
+
linkOptions.href = href;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledItemContainer, { ...themeTokens,
|
|
89
|
+
children: current ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
|
|
90
|
+
variant: { ...variant,
|
|
91
|
+
secondary: true
|
|
92
|
+
},
|
|
93
|
+
children: children
|
|
94
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
95
|
+
children: [ReactRouterLink ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ReactRouterLink, { ...linkOptions,
|
|
96
|
+
// TODO refactor
|
|
97
|
+
// eslint-disable-next-line react/no-unstable-nested-components
|
|
98
|
+
component: props => {
|
|
99
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Link, { ...props,
|
|
100
|
+
variant: variant
|
|
101
|
+
});
|
|
102
|
+
},
|
|
103
|
+
ref: ref,
|
|
104
|
+
children: children
|
|
105
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Link, { ...linkOptions,
|
|
106
|
+
ref: ref,
|
|
107
|
+
variant: variant,
|
|
108
|
+
children: children
|
|
109
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(IconContainer, { ...themeTokens,
|
|
110
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ChevronRightIcon, {
|
|
111
|
+
size: 16,
|
|
112
|
+
color: iconColor
|
|
113
|
+
})
|
|
114
|
+
})]
|
|
115
|
+
})
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
Item.displayName = 'Item';
|
|
119
|
+
Item.propTypes = { ...selectedSystemPropTypes,
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Breadcrumb text
|
|
123
|
+
*/
|
|
124
|
+
children: _propTypes.default.node.isRequired,
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* @ignore
|
|
128
|
+
*
|
|
129
|
+
* Indicates whether or not the Item should be as current/active
|
|
130
|
+
*/
|
|
131
|
+
current: _propTypes.default.bool,
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Target URL. This will be converted to `to` if the `reactRouterLinkComponent`
|
|
135
|
+
* prop is provided to the `Item` or parent `Breadcrumbs` element.
|
|
136
|
+
*/
|
|
137
|
+
href: _propTypes.default.string.isRequired,
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* React Router Link component. This will be passed down from the parent
|
|
141
|
+
* `<Breadcrumbs>` if the parent has a `reactRouterLinkComponent` provided.
|
|
142
|
+
* @deprecated please use `LinkRouter` and `linkRouterProps` instead
|
|
143
|
+
*/
|
|
144
|
+
reactRouterLinkComponent: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Variant to render.
|
|
148
|
+
*/
|
|
149
|
+
variant: _propTypes.default.shape({
|
|
150
|
+
inverse: _propTypes.default.bool
|
|
151
|
+
})
|
|
152
|
+
}; // Since react/require-default-props eslint rule doesn't pick up default arguments as default props when combined with `forwardRef`
|
|
153
|
+
// - probably related https://github.com/yannickcr/eslint-plugin-react/issues/2760
|
|
154
|
+
|
|
155
|
+
Item.defaultProps = {
|
|
156
|
+
current: false,
|
|
157
|
+
reactRouterLinkComponent: undefined,
|
|
158
|
+
variant: {
|
|
159
|
+
light: true
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
var _default = (0, _componentsBase.withLinkRouter)(Item);
|
|
164
|
+
|
|
165
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Breadcrumbs.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _Breadcrumbs = _interopRequireDefault(require("./Breadcrumbs"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
14
|
+
var _componentsBase = require("@telus-uds/components-base");
|
|
15
|
+
|
|
16
|
+
var _utils = require("../utils");
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
const [selectProps, selectedSystemPropTypes] = (0, _componentsBase.selectSystemProps)([_utils.htmlAttrs]);
|
|
23
|
+
|
|
24
|
+
const verticalAlignToFlex = verticalAlign => {
|
|
25
|
+
switch (verticalAlign) {
|
|
26
|
+
case 'top':
|
|
27
|
+
return 'flex-start';
|
|
28
|
+
|
|
29
|
+
case 'middle':
|
|
30
|
+
return 'center';
|
|
31
|
+
|
|
32
|
+
case 'bottom':
|
|
33
|
+
return 'flex-end';
|
|
34
|
+
|
|
35
|
+
default:
|
|
36
|
+
return 'top';
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const CalloutContainer = /*#__PURE__*/_styledComponents.default.div.withConfig({
|
|
41
|
+
displayName: "Callout__CalloutContainer",
|
|
42
|
+
componentId: "components-web__sc-1a7ptx-0"
|
|
43
|
+
})(_ref => {
|
|
44
|
+
let {
|
|
45
|
+
rounded,
|
|
46
|
+
verticalAlign = 'top',
|
|
47
|
+
background,
|
|
48
|
+
gap,
|
|
49
|
+
borderRadius,
|
|
50
|
+
padding
|
|
51
|
+
} = _ref;
|
|
52
|
+
return {
|
|
53
|
+
background,
|
|
54
|
+
display: 'flex',
|
|
55
|
+
gap,
|
|
56
|
+
borderRadius,
|
|
57
|
+
padding,
|
|
58
|
+
justifyContent: `${rounded ? 'center' : 'flex-start'}`,
|
|
59
|
+
alignItems: verticalAlignToFlex(verticalAlign)
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const Callout = _ref2 => {
|
|
64
|
+
let {
|
|
65
|
+
icon,
|
|
66
|
+
children,
|
|
67
|
+
verticalAlign = 'top',
|
|
68
|
+
tokens,
|
|
69
|
+
variant = {},
|
|
70
|
+
...rest
|
|
71
|
+
} = _ref2;
|
|
72
|
+
const {
|
|
73
|
+
background,
|
|
74
|
+
gap,
|
|
75
|
+
borderRadius,
|
|
76
|
+
paddingLeft,
|
|
77
|
+
paddingRight,
|
|
78
|
+
paddingTop,
|
|
79
|
+
paddingBottom,
|
|
80
|
+
color
|
|
81
|
+
} = (0, _componentsBase.useThemeTokens)('Callout', tokens, variant);
|
|
82
|
+
const {
|
|
83
|
+
rounded = false,
|
|
84
|
+
size = 'medium'
|
|
85
|
+
} = variant;
|
|
86
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(CalloutContainer, {
|
|
87
|
+
size: size,
|
|
88
|
+
rounded: rounded,
|
|
89
|
+
"data-testid": "callout-container",
|
|
90
|
+
verticalAlign: verticalAlign,
|
|
91
|
+
background: background,
|
|
92
|
+
gap: gap,
|
|
93
|
+
borderRadius: borderRadius,
|
|
94
|
+
padding: `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`,
|
|
95
|
+
...selectProps(rest),
|
|
96
|
+
children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Icon, {
|
|
97
|
+
icon: icon,
|
|
98
|
+
variant: {
|
|
99
|
+
rank: 'primary',
|
|
100
|
+
size
|
|
101
|
+
}
|
|
102
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
|
|
103
|
+
variant: {
|
|
104
|
+
size,
|
|
105
|
+
compact: size === 'small'
|
|
106
|
+
},
|
|
107
|
+
tokens: {
|
|
108
|
+
color
|
|
109
|
+
},
|
|
110
|
+
children: children
|
|
111
|
+
})]
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
Callout.propTypes = { ...selectedSystemPropTypes,
|
|
116
|
+
icon: _propTypes.default.elementType,
|
|
117
|
+
children: _propTypes.default.node.isRequired,
|
|
118
|
+
verticalAlign: _propTypes.default.oneOf(['top', 'middle', 'bottom'])
|
|
119
|
+
};
|
|
120
|
+
var _default = Callout;
|
|
121
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _Callout = _interopRequireDefault(require("./Callout"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var _default = _Callout.default;
|
|
13
|
+
exports.default = _default;
|