@telus-uds/components-web 1.2.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.
Files changed (140) hide show
  1. package/CHANGELOG.md +34 -2
  2. package/lib/Breadcrumbs/Breadcrumbs.js +247 -0
  3. package/lib/Breadcrumbs/Item/Item.js +165 -0
  4. package/lib/Breadcrumbs/index.js +15 -0
  5. package/lib/Callout/Callout.js +121 -0
  6. package/lib/Callout/index.js +13 -0
  7. package/lib/DatePicker/CalendarContainer.js +221 -0
  8. package/lib/DatePicker/DatePicker.js +329 -0
  9. package/lib/DatePicker/dictionary.js +134 -0
  10. package/lib/DatePicker/index.js +13 -0
  11. package/lib/DatePicker/reactDatesCss.js +12 -0
  12. package/lib/ExpandCollapseMini/ExpandCollapseMini.js +75 -0
  13. package/lib/ExpandCollapseMini/ExpandCollapseMiniControl.js +95 -0
  14. package/lib/ExpandCollapseMini/index.js +13 -0
  15. package/lib/Footnote/Footnote.js +571 -0
  16. package/lib/Footnote/FootnoteLink.js +149 -0
  17. package/lib/Footnote/dictionary.js +19 -0
  18. package/lib/Footnote/index.js +16 -0
  19. package/lib/OrderedList/Item.js +162 -0
  20. package/lib/OrderedList/ItemBase.js +42 -0
  21. package/lib/OrderedList/OrderedList.js +94 -0
  22. package/lib/OrderedList/OrderedListBase.js +68 -0
  23. package/lib/OrderedList/constants.js +9 -0
  24. package/lib/OrderedList/index.js +16 -0
  25. package/lib/PreviewCard/AuthorDate.js +64 -0
  26. package/lib/PreviewCard/PreviewCard.js +236 -0
  27. package/lib/PreviewCard/index.js +13 -0
  28. package/lib/PriceLockup/PriceLockup.js +237 -0
  29. package/lib/PriceLockup/index.js +13 -0
  30. package/lib/PriceLockup/tokens.js +131 -0
  31. package/lib/ResponsiveImage/ResponsiveImage.js +115 -0
  32. package/lib/ResponsiveImage/index.js +13 -0
  33. package/lib/Ribbon/Ribbon.js +0 -1
  34. package/lib/Span/Span.js +88 -0
  35. package/lib/Span/index.js +13 -0
  36. package/lib/index.js +91 -1
  37. package/lib/shared/FullBleedContent/FullBleedContent.js +121 -0
  38. package/lib/shared/FullBleedContent/getFullBleedBorderRadius.js +73 -0
  39. package/lib/shared/FullBleedContent/index.js +29 -0
  40. package/lib/shared/FullBleedContent/useFullBleedContentProps.js +73 -0
  41. package/lib/utils/index.js +32 -0
  42. package/lib/utils/logger.js +31 -0
  43. package/lib/utils/media.js +54 -0
  44. package/lib/utils/renderStructuredContent.js +89 -0
  45. package/lib/utils/useTypographyTheme.js +32 -0
  46. package/lib-module/Breadcrumbs/Breadcrumbs.js +228 -0
  47. package/lib-module/Breadcrumbs/Item/Item.js +141 -0
  48. package/lib-module/Breadcrumbs/index.js +1 -0
  49. package/lib-module/Callout/Callout.js +106 -0
  50. package/lib-module/Callout/index.js +2 -0
  51. package/lib-module/DatePicker/CalendarContainer.js +208 -0
  52. package/lib-module/DatePicker/DatePicker.js +302 -0
  53. package/lib-module/DatePicker/dictionary.js +127 -0
  54. package/lib-module/DatePicker/index.js +2 -0
  55. package/lib-module/DatePicker/reactDatesCss.js +3 -0
  56. package/lib-module/ExpandCollapseMini/ExpandCollapseMini.js +56 -0
  57. package/lib-module/ExpandCollapseMini/ExpandCollapseMiniControl.js +80 -0
  58. package/lib-module/ExpandCollapseMini/index.js +2 -0
  59. package/lib-module/Footnote/Footnote.js +541 -0
  60. package/lib-module/Footnote/FootnoteLink.js +130 -0
  61. package/lib-module/Footnote/dictionary.js +12 -0
  62. package/lib-module/Footnote/index.js +4 -0
  63. package/lib-module/OrderedList/Item.js +139 -0
  64. package/lib-module/OrderedList/ItemBase.js +28 -0
  65. package/lib-module/OrderedList/OrderedList.js +71 -0
  66. package/lib-module/OrderedList/OrderedListBase.js +48 -0
  67. package/lib-module/OrderedList/constants.js +2 -0
  68. package/lib-module/OrderedList/index.js +4 -0
  69. package/lib-module/PreviewCard/AuthorDate.js +53 -0
  70. package/lib-module/PreviewCard/PreviewCard.js +211 -0
  71. package/lib-module/PreviewCard/index.js +2 -0
  72. package/lib-module/PriceLockup/PriceLockup.js +213 -0
  73. package/lib-module/PriceLockup/index.js +2 -0
  74. package/lib-module/PriceLockup/tokens.js +120 -0
  75. package/lib-module/ResponsiveImage/ResponsiveImage.js +100 -0
  76. package/lib-module/ResponsiveImage/index.js +2 -0
  77. package/lib-module/Ribbon/Ribbon.js +1 -2
  78. package/lib-module/Span/Span.js +70 -0
  79. package/lib-module/Span/index.js +2 -0
  80. package/lib-module/index.js +10 -0
  81. package/lib-module/shared/FullBleedContent/FullBleedContent.js +106 -0
  82. package/lib-module/shared/FullBleedContent/getFullBleedBorderRadius.js +65 -0
  83. package/lib-module/shared/FullBleedContent/index.js +4 -0
  84. package/lib-module/shared/FullBleedContent/useFullBleedContentProps.js +65 -0
  85. package/lib-module/utils/index.js +5 -1
  86. package/lib-module/utils/logger.js +18 -0
  87. package/lib-module/utils/media.js +46 -0
  88. package/lib-module/utils/renderStructuredContent.js +77 -0
  89. package/lib-module/utils/useTypographyTheme.js +24 -0
  90. package/package.json +9 -4
  91. package/src/Breadcrumbs/Breadcrumbs.jsx +222 -0
  92. package/src/Breadcrumbs/Item/Item.jsx +127 -0
  93. package/src/Breadcrumbs/index.js +1 -0
  94. package/src/Callout/Callout.jsx +76 -0
  95. package/src/Callout/index.js +3 -0
  96. package/src/DatePicker/CalendarContainer.jsx +210 -0
  97. package/src/DatePicker/DatePicker.jsx +303 -0
  98. package/src/DatePicker/dictionary.js +92 -0
  99. package/src/DatePicker/index.js +3 -0
  100. package/src/DatePicker/reactDatesCss.js +892 -0
  101. package/src/ExpandCollapseMini/ExpandCollapseMini.jsx +48 -0
  102. package/src/ExpandCollapseMini/ExpandCollapseMiniControl.jsx +67 -0
  103. package/src/ExpandCollapseMini/index.js +3 -0
  104. package/src/Footnote/Footnote.jsx +468 -0
  105. package/src/Footnote/FootnoteLink.jsx +120 -0
  106. package/src/Footnote/dictionary.js +12 -0
  107. package/src/Footnote/index.js +6 -0
  108. package/src/OrderedList/Item.jsx +121 -0
  109. package/src/OrderedList/ItemBase.jsx +18 -0
  110. package/src/OrderedList/OrderedList.jsx +61 -0
  111. package/src/OrderedList/OrderedListBase.jsx +38 -0
  112. package/src/OrderedList/constants.js +2 -0
  113. package/src/OrderedList/index.js +6 -0
  114. package/src/PreviewCard/AuthorDate.jsx +31 -0
  115. package/src/PreviewCard/PreviewCard.jsx +201 -0
  116. package/src/PreviewCard/index.js +3 -0
  117. package/src/PriceLockup/PriceLockup.jsx +210 -0
  118. package/src/PriceLockup/index.js +3 -0
  119. package/src/PriceLockup/tokens.js +58 -0
  120. package/src/ResponsiveImage/ResponsiveImage.jsx +77 -0
  121. package/src/ResponsiveImage/index.js +3 -0
  122. package/src/Ribbon/Ribbon.jsx +0 -1
  123. package/src/Span/Span.jsx +66 -0
  124. package/src/Span/index.js +3 -0
  125. package/src/index.js +10 -0
  126. package/src/shared/FullBleedContent/FullBleedContent.jsx +90 -0
  127. package/src/shared/FullBleedContent/getFullBleedBorderRadius.js +55 -0
  128. package/src/shared/FullBleedContent/index.js +6 -0
  129. package/src/shared/FullBleedContent/useFullBleedContentProps.js +63 -0
  130. package/src/utils/index.js +5 -1
  131. package/src/utils/logger.js +20 -0
  132. package/src/utils/media.js +40 -0
  133. package/src/utils/renderStructuredContent.jsx +73 -0
  134. package/src/utils/useTypographyTheme.js +14 -0
  135. package/types/Callout.d.ts +13 -0
  136. package/types/DatePicker.d.ts +21 -0
  137. package/types/Footnote.d.ts +21 -0
  138. package/types/FootnoteLink.d.ts +20 -0
  139. package/types/PriceLockup.d.ts +22 -0
  140. package/types/common.d.ts +14 -0
package/CHANGELOG.md CHANGED
@@ -1,12 +1,44 @@
1
1
  # Change Log - @telus-uds/components-web
2
2
 
3
- This log was last generated on Tue, 04 Apr 2023 14:45:59 GMT and should not be manually modified.
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
+
28
+ ## 1.3.0
29
+
30
+ Tue, 04 Apr 2023 20:00:31 GMT
31
+
32
+ ### Minor changes
33
+
34
+ - feat: move 'OrderedList' into components-web & pass variants to children(list items) (kyle.king2@telus.com)
35
+ - Bump @telus-uds/components-base to v1.33.0
36
+ - Bump @telus-uds/system-theme-tokens to v2.17.0
37
+ - Bump @telus-uds/palette-allium to v2.12.3
38
+
7
39
  ## 1.2.0
8
40
 
9
- Tue, 04 Apr 2023 14:45:59 GMT
41
+ Tue, 04 Apr 2023 14:52:45 GMT
10
42
 
11
43
  ### Minor changes
12
44
 
@@ -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;