@telus-uds/components-web 2.9.0 → 2.11.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 +28 -2
- package/component-docs.json +94 -81
- package/lib/BlockQuote/BlockQuote.js +53 -5
- package/lib/Callout/Callout.js +12 -0
- package/lib/DatePicker/CalendarContainer.js +24 -0
- package/lib/DatePicker/DatePicker.js +26 -9
- package/lib/Disclaimer/Disclaimer.js +0 -4
- package/lib/ExpandCollapseMini/ExpandCollapseMini.js +4 -0
- package/lib/ExpandCollapseMini/ExpandCollapseMiniControl.js +16 -0
- package/lib/IconButton/IconButton.js +8 -0
- package/lib/Listbox/GroupControl.js +44 -28
- package/lib/Listbox/Listbox.js +62 -47
- package/lib/Listbox/ListboxGroup.js +36 -20
- package/lib/Listbox/ListboxItem.js +14 -51
- package/lib/Listbox/ListboxOverlay.js +1 -1
- package/lib/NavigationBar/NavigationBar.js +4 -0
- package/lib/OrderedList/Item.js +4 -0
- package/lib/Paragraph/Paragraph.js +4 -0
- package/lib/PreviewCard/AuthorDate.js +7 -0
- package/lib/PriceLockup/PriceLockup.js +48 -0
- package/lib/QuantitySelector/QuantitySelector.js +51 -0
- package/lib/Span/Span.js +4 -0
- package/lib/Table/Table.js +4 -0
- package/lib/Toast/Toast.js +16 -0
- package/lib/Video/ControlBar/ControlBar.js +13 -10
- package/lib/Video/ControlBar/Controls/VideoProgressBar/VideoProgressBar.js +4 -1
- package/lib/VideoPicker/VideoPicker.js +1 -1
- package/lib/shared/VideoSplash/SplashButtonWithDetails/SplashButtonWithDetails.js +14 -2
- package/lib/utils/index.js +3 -3
- package/lib-module/BlockQuote/BlockQuote.js +54 -6
- package/lib-module/Callout/Callout.js +12 -0
- package/lib-module/DatePicker/CalendarContainer.js +24 -0
- package/lib-module/DatePicker/DatePicker.js +26 -9
- package/lib-module/Disclaimer/Disclaimer.js +0 -4
- package/lib-module/ExpandCollapseMini/ExpandCollapseMini.js +4 -0
- package/lib-module/ExpandCollapseMini/ExpandCollapseMiniControl.js +16 -0
- package/lib-module/IconButton/IconButton.js +8 -0
- package/lib-module/Listbox/GroupControl.js +45 -29
- package/lib-module/Listbox/Listbox.js +62 -46
- package/lib-module/Listbox/ListboxGroup.js +37 -21
- package/lib-module/Listbox/ListboxItem.js +15 -51
- package/lib-module/Listbox/ListboxOverlay.js +1 -1
- package/lib-module/NavigationBar/NavigationBar.js +4 -0
- package/lib-module/OrderedList/Item.js +4 -0
- package/lib-module/Paragraph/Paragraph.js +4 -0
- package/lib-module/PreviewCard/AuthorDate.js +7 -0
- package/lib-module/PriceLockup/PriceLockup.js +48 -0
- package/lib-module/QuantitySelector/QuantitySelector.js +51 -0
- package/lib-module/Span/Span.js +4 -0
- package/lib-module/Table/Table.js +4 -0
- package/lib-module/Toast/Toast.js +16 -0
- package/lib-module/Video/ControlBar/ControlBar.js +14 -11
- package/lib-module/Video/ControlBar/Controls/VideoProgressBar/VideoProgressBar.js +4 -1
- package/lib-module/VideoPicker/VideoPicker.js +1 -1
- package/lib-module/shared/VideoSplash/SplashButtonWithDetails/SplashButtonWithDetails.js +14 -2
- package/lib-module/utils/index.js +1 -1
- package/package.json +3 -3
- package/src/BlockQuote/BlockQuote.jsx +66 -7
- package/src/Callout/Callout.jsx +9 -0
- package/src/DatePicker/CalendarContainer.jsx +24 -0
- package/src/DatePicker/DatePicker.jsx +25 -9
- package/src/Disclaimer/Disclaimer.jsx +0 -3
- package/src/ExpandCollapseMini/ExpandCollapseMini.jsx +3 -0
- package/src/ExpandCollapseMini/ExpandCollapseMiniControl.jsx +12 -0
- package/src/IconButton/IconButton.jsx +6 -0
- package/src/Listbox/GroupControl.jsx +50 -33
- package/src/Listbox/Listbox.jsx +65 -50
- package/src/Listbox/ListboxGroup.jsx +34 -19
- package/src/Listbox/ListboxItem.jsx +26 -48
- package/src/Listbox/ListboxOverlay.jsx +1 -1
- package/src/NavigationBar/NavigationBar.jsx +3 -0
- package/src/OrderedList/Item.jsx +3 -0
- package/src/Paragraph/Paragraph.jsx +3 -0
- package/src/PreviewCard/AuthorDate.jsx +6 -0
- package/src/PriceLockup/PriceLockup.jsx +37 -0
- package/src/QuantitySelector/QuantitySelector.jsx +39 -0
- package/src/Span/Span.jsx +3 -0
- package/src/Table/Table.jsx +3 -0
- package/src/Toast/Toast.jsx +12 -0
- package/src/Video/ControlBar/ControlBar.jsx +17 -13
- package/src/Video/ControlBar/Controls/VideoProgressBar/VideoProgressBar.jsx +2 -1
- package/src/VideoPicker/VideoPicker.jsx +1 -1
- package/src/shared/VideoSplash/SplashButtonWithDetails/SplashButtonWithDetails.jsx +8 -1
- package/src/utils/index.js +1 -1
- package/lib/Listbox/PressableItem.js +0 -149
- package/lib/utils/htmlAttrs.js +0 -33
- package/lib-module/Listbox/PressableItem.js +0 -128
- package/lib-module/utils/htmlAttrs.js +0 -22
- package/src/Listbox/PressableItem.jsx +0 -121
- package/src/utils/htmlAttrs.js +0 -29
|
@@ -15,8 +15,6 @@ var _componentsBase = require("@telus-uds/components-base");
|
|
|
15
15
|
|
|
16
16
|
var _utils = require("../utils");
|
|
17
17
|
|
|
18
|
-
var _PressableItem = _interopRequireDefault(require("./PressableItem"));
|
|
19
|
-
|
|
20
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
19
|
|
|
22
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -45,48 +43,10 @@ const StyledItemContainer = /*#__PURE__*/_styledComponents.default.li.withConfig
|
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
45
|
|
|
48
|
-
const
|
|
49
|
-
let {
|
|
50
|
-
tokens
|
|
51
|
-
} = _ref2;
|
|
52
|
-
return {
|
|
53
|
-
display: tokens.itemDisplay,
|
|
54
|
-
fontFamily: `${tokens.itemFontName}${tokens.itemFontWeight}normal`,
|
|
55
|
-
fontSize: tokens.itemFontSize,
|
|
56
|
-
paddingTop: tokens.itemPaddingTop,
|
|
57
|
-
paddingBottom: tokens.itemPaddingBottom,
|
|
58
|
-
paddingLeft: tokens.itemPaddingLeft,
|
|
59
|
-
paddingRight: tokens.itemPaddingRight,
|
|
60
|
-
color: tokens.itemColor,
|
|
61
|
-
textDecoration: tokens.itemTextDecoration,
|
|
62
|
-
backgroundColor: tokens.itemBackgroundColor,
|
|
63
|
-
outline: tokens.itemOutline,
|
|
64
|
-
borderWidth: tokens.itemBorderWidth,
|
|
65
|
-
width: '100%'
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const SelectedItem = /*#__PURE__*/_styledComponents.default.div.withConfig({
|
|
70
|
-
displayName: "ListboxItem__SelectedItem",
|
|
71
|
-
componentId: "components-web__sc-tlroet-1"
|
|
72
|
-
})(_ref3 => {
|
|
73
|
-
let {
|
|
74
|
-
isChild,
|
|
75
|
-
tokens
|
|
76
|
-
} = _ref3;
|
|
77
|
-
return { ...getSelectedItemStyles({
|
|
78
|
-
tokens
|
|
79
|
-
}),
|
|
80
|
-
borderLeft: isChild ? `${tokens.itemBorderLeftWidth}px solid ${tokens.itemBorderLeftColor}` : 'none'
|
|
81
|
-
};
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
const ListboxItem = /*#__PURE__*/(0, _react.forwardRef)((_ref4, ref) => {
|
|
46
|
+
const ListboxItem = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
85
47
|
let {
|
|
86
48
|
href,
|
|
87
49
|
label,
|
|
88
|
-
onPress,
|
|
89
|
-
selected = false,
|
|
90
50
|
isChild = false,
|
|
91
51
|
onBlur,
|
|
92
52
|
nextItemRef,
|
|
@@ -95,21 +55,22 @@ const ListboxItem = /*#__PURE__*/(0, _react.forwardRef)((_ref4, ref) => {
|
|
|
95
55
|
variant = {},
|
|
96
56
|
LinkRouter,
|
|
97
57
|
linkRouterProps,
|
|
58
|
+
id,
|
|
59
|
+
onPress = () => {},
|
|
60
|
+
...rest
|
|
61
|
+
} = _ref2;
|
|
62
|
+
const selectedProps = selectProps({
|
|
63
|
+
href,
|
|
98
64
|
...rest
|
|
99
|
-
}
|
|
100
|
-
const
|
|
101
|
-
const systemTokens = (0, _componentsBase.useThemeTokens)('ListBox', tokens, variant, {
|
|
65
|
+
});
|
|
66
|
+
const getTokens = (0, _componentsBase.useThemeTokensCallback)('Listbox', tokens, variant, {
|
|
102
67
|
isChild
|
|
103
68
|
});
|
|
104
69
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledItemContainer, {
|
|
105
70
|
isChild: isChild,
|
|
106
71
|
...selectedProps,
|
|
107
72
|
role: "option",
|
|
108
|
-
children:
|
|
109
|
-
isChild: isChild,
|
|
110
|
-
tokens: systemTokens,
|
|
111
|
-
children: label
|
|
112
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PressableItem.default, {
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.PressableItem, {
|
|
113
74
|
href: href,
|
|
114
75
|
isChild: isChild,
|
|
115
76
|
onPress: onPress,
|
|
@@ -117,6 +78,9 @@ const ListboxItem = /*#__PURE__*/(0, _react.forwardRef)((_ref4, ref) => {
|
|
|
117
78
|
nextItemRef: nextItemRef,
|
|
118
79
|
prevItemRef: prevItemRef,
|
|
119
80
|
ref: ref,
|
|
81
|
+
tokens: getTokens,
|
|
82
|
+
selectedProps: selectedProps,
|
|
83
|
+
id: id,
|
|
120
84
|
children: label
|
|
121
85
|
})
|
|
122
86
|
});
|
|
@@ -129,8 +93,7 @@ ListboxItem.propTypes = { ...selectedSystemPropTypes,
|
|
|
129
93
|
label: _propTypes.default.node.isRequired,
|
|
130
94
|
nextItemRef: _propTypes.default.object,
|
|
131
95
|
prevItemRef: _propTypes.default.object,
|
|
132
|
-
onPress: _propTypes.default.func
|
|
133
|
-
selected: _propTypes.default.bool
|
|
96
|
+
onPress: _propTypes.default.func
|
|
134
97
|
};
|
|
135
98
|
|
|
136
99
|
var _default = (0, _componentsBase.withLinkRouter)(ListboxItem);
|
|
@@ -52,7 +52,7 @@ const DropdownOverlay = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
52
52
|
minWidth,
|
|
53
53
|
onLayout
|
|
54
54
|
} = _ref;
|
|
55
|
-
const systemTokens = (0, _componentsBase.useThemeTokens)('
|
|
55
|
+
const systemTokens = (0, _componentsBase.useThemeTokens)('Listbox', {}, {});
|
|
56
56
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_WebPortal.default, {
|
|
57
57
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
58
58
|
ref: ref,
|
|
@@ -210,6 +210,10 @@ NavigationBar.propTypes = { ...selectedSystemPropTypes,
|
|
|
210
210
|
* Common navigation bar heading.
|
|
211
211
|
*/
|
|
212
212
|
heading: _propTypes.default.string,
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Sets the `headingLevel` of the `heading`
|
|
216
|
+
*/
|
|
213
217
|
headingLevel: _propTypes.default.oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']),
|
|
214
218
|
|
|
215
219
|
/**
|
package/lib/OrderedList/Item.js
CHANGED
|
@@ -73,6 +73,10 @@ const Paragraph = _ref3 => {
|
|
|
73
73
|
|
|
74
74
|
Paragraph.propTypes = { ...selectedSystemPropTypes,
|
|
75
75
|
children: _propTypes.default.node.isRequired,
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Adds a `data-testid` attribute to the element for testing purposes
|
|
79
|
+
*/
|
|
76
80
|
testID: _propTypes.default.string,
|
|
77
81
|
|
|
78
82
|
/**
|
|
@@ -57,7 +57,14 @@ const AuthorDate = _ref => {
|
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
AuthorDate.propTypes = {
|
|
60
|
+
/**
|
|
61
|
+
* Name of the author
|
|
62
|
+
*/
|
|
60
63
|
author: _propTypes.default.string.isRequired,
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Date of the post
|
|
67
|
+
*/
|
|
61
68
|
date: _propTypes.default.string.isRequired
|
|
62
69
|
};
|
|
63
70
|
var _default = AuthorDate;
|
|
@@ -258,16 +258,64 @@ const PriceLockup = _ref12 => {
|
|
|
258
258
|
};
|
|
259
259
|
|
|
260
260
|
PriceLockup.propTypes = { ...selectedSystemPropTypes,
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Size of the component
|
|
264
|
+
*
|
|
265
|
+
* Small for pricing in product catalogue pages, medium for pricing in product comparison cards and large for pricing in banners and promo cards
|
|
266
|
+
*/
|
|
261
267
|
size: _propTypes.default.oneOf(['small', 'medium', 'large']),
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* If currency symbol other than `$` to be used
|
|
271
|
+
*/
|
|
262
272
|
currencySymbol: _propTypes.default.string,
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Shows additional info above the price
|
|
276
|
+
*/
|
|
263
277
|
topText: _propTypes.default.string,
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Monetary value (including decimals separated by ".")
|
|
281
|
+
*/
|
|
264
282
|
price: _propTypes.default.string.isRequired,
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Shows month/year unit
|
|
286
|
+
*/
|
|
265
287
|
rateText: _propTypes.default.string,
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Shows additional info below the price with a `Divider`
|
|
291
|
+
*/
|
|
266
292
|
bottomText: _propTypes.default.string,
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Displays which side the currency should apperar (left, right)
|
|
296
|
+
*/
|
|
267
297
|
signDirection: _propTypes.default.oneOf(['right', 'left']),
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Shows additional link for context
|
|
301
|
+
*/
|
|
268
302
|
footnoteLinks: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])),
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Function to be called when a footnote link is clicked
|
|
306
|
+
*/
|
|
269
307
|
onClickFootnote: _propTypes.default.func,
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* To show price savings comparison
|
|
311
|
+
*/
|
|
270
312
|
strikeThrough: _propTypes.default.bool,
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* To provide a11y text for `PriceLockup` component
|
|
316
|
+
*
|
|
317
|
+
* **Note:** a11yText will override strikethrough price, so it must include price (ie. "was 50 dollars per month")
|
|
318
|
+
*/
|
|
271
319
|
a11yText: _propTypes.default.string
|
|
272
320
|
};
|
|
273
321
|
var _default = PriceLockup;
|
|
@@ -219,25 +219,76 @@ const dictionaryContentShape = _propTypes.default.shape({
|
|
|
219
219
|
});
|
|
220
220
|
|
|
221
221
|
QuantitySelector.propTypes = {
|
|
222
|
+
/**
|
|
223
|
+
* The id of the input field
|
|
224
|
+
*/
|
|
222
225
|
id: _propTypes.default.string,
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* The minimum number allowed
|
|
229
|
+
*/
|
|
223
230
|
minNumber: _propTypes.default.number,
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* The maximum number allowed
|
|
234
|
+
*/
|
|
224
235
|
maxNumber: _propTypes.default.number,
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* The callback function that is called when the value of the input field changes
|
|
239
|
+
*/
|
|
225
240
|
onChange: _propTypes.default.func,
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* The default value of the input field
|
|
244
|
+
*/
|
|
226
245
|
defaultValue: _propTypes.default.number,
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* The label of the input field
|
|
249
|
+
*/
|
|
227
250
|
label: _propTypes.default.string,
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* The hint of the input field
|
|
254
|
+
*/
|
|
228
255
|
hint: _propTypes.default.string,
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* The position of the hint. Could be shown along side the label or below it
|
|
259
|
+
*/
|
|
229
260
|
hintPosition: _propTypes.default.oneOf(['inline', 'below']),
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Adds a question mark which will display a tooltip when clicked
|
|
264
|
+
*/
|
|
230
265
|
tooltip: _propTypes.default.string,
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* The accessibility label of the input field
|
|
269
|
+
*/
|
|
231
270
|
accessibilityLabel: _propTypes.default.string,
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* The dictionary object containing the content for the input field
|
|
274
|
+
*/
|
|
232
275
|
dictionary: _propTypes.default.shape({
|
|
233
276
|
en: dictionaryContentShape,
|
|
234
277
|
fr: dictionaryContentShape
|
|
235
278
|
}),
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* The language to use for the copy.
|
|
282
|
+
*/
|
|
236
283
|
copy: _propTypes.default.oneOfType([_propTypes.default.oneOf(['en', 'fr'])]),
|
|
237
284
|
variant: _propTypes.default.exact({
|
|
238
285
|
alternative: _propTypes.default.bool
|
|
239
286
|
}),
|
|
240
287
|
tokens: _propTypes.default.oneOf([_propTypes.default.object, _propTypes.default.func]),
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Sets `data-testid` attribute on the input field for testing purposes.
|
|
291
|
+
*/
|
|
241
292
|
testID: _propTypes.default.string
|
|
242
293
|
};
|
|
243
294
|
QuantitySelector.defaultProps = {
|
package/lib/Span/Span.js
CHANGED
package/lib/Table/Table.js
CHANGED
|
@@ -124,6 +124,10 @@ const Table = _ref2 => {
|
|
|
124
124
|
|
|
125
125
|
Table.propTypes = { ...selectedSystemPropTypes,
|
|
126
126
|
children: _propTypes.default.node,
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Sets text style
|
|
130
|
+
*/
|
|
127
131
|
text: _propTypes.default.oneOf(['medium', 'small'])
|
|
128
132
|
};
|
|
129
133
|
var _default = Table;
|
package/lib/Toast/Toast.js
CHANGED
|
@@ -143,9 +143,25 @@ const Toast = _ref3 => {
|
|
|
143
143
|
};
|
|
144
144
|
|
|
145
145
|
Toast.propTypes = { ...selectedSystemPropTypes,
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* If true, the toast will be displayed
|
|
149
|
+
*/
|
|
146
150
|
toast: _propTypes.default.bool,
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* The copy to display in the toast
|
|
154
|
+
*/
|
|
147
155
|
copy: _propTypes.default.string.isRequired,
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* The headline to display in the toast (before copy)
|
|
159
|
+
*/
|
|
148
160
|
headline: _propTypes.default.string,
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* The link to display in the toast (after copy)
|
|
164
|
+
*/
|
|
149
165
|
link: _propTypes.default.shape({
|
|
150
166
|
href: _propTypes.default.string.isRequired,
|
|
151
167
|
text: _propTypes.default.string.isRequired,
|
|
@@ -57,13 +57,14 @@ const StyledControlBar = /*#__PURE__*/_styledComponents.default.div.withConfig({
|
|
|
57
57
|
componentId: "components-web__sc-13y61ky-1"
|
|
58
58
|
})(_ref2 => {
|
|
59
59
|
let {
|
|
60
|
-
padding
|
|
60
|
+
padding,
|
|
61
|
+
height
|
|
61
62
|
} = _ref2;
|
|
62
63
|
return {
|
|
63
64
|
boxSizing: 'border-box',
|
|
64
65
|
position: 'absolute',
|
|
65
66
|
width: '100%',
|
|
66
|
-
height
|
|
67
|
+
height,
|
|
67
68
|
padding,
|
|
68
69
|
bottom: 0,
|
|
69
70
|
backgroundColor: 'rgba(42, 44, 46, 0.85)',
|
|
@@ -141,21 +142,23 @@ const ControlBar = _ref4 => {
|
|
|
141
142
|
variant,
|
|
142
143
|
...rest
|
|
143
144
|
} = _ref4;
|
|
145
|
+
const viewport = (0, _componentsBase.useViewport)();
|
|
144
146
|
const {
|
|
145
147
|
paddingTop,
|
|
146
148
|
paddingBottom,
|
|
147
|
-
paddingLeft
|
|
148
|
-
paddingRight
|
|
149
|
-
paddingLeftCompactMode,
|
|
150
|
-
paddingRightCompactMode,
|
|
149
|
+
paddingLeft,
|
|
150
|
+
paddingRight,
|
|
151
151
|
menuBottom,
|
|
152
152
|
menuRight,
|
|
153
153
|
menuMarginLeft,
|
|
154
154
|
captionsIcon,
|
|
155
155
|
settingsIcon,
|
|
156
156
|
minimizeIcon,
|
|
157
|
-
maximizeIcon
|
|
158
|
-
|
|
157
|
+
maximizeIcon,
|
|
158
|
+
height
|
|
159
|
+
} = (0, _componentsBase.useThemeTokens)('VideoControlBar', tokens, variant, {
|
|
160
|
+
viewport
|
|
161
|
+
});
|
|
159
162
|
|
|
160
163
|
const parseVideoQuality = () => {
|
|
161
164
|
return sources.map(source => {
|
|
@@ -184,8 +187,6 @@ const ControlBar = _ref4 => {
|
|
|
184
187
|
return parsed;
|
|
185
188
|
};
|
|
186
189
|
|
|
187
|
-
const paddingLeft = videoPlayerWidth > compactModeThreshold ? paddingLeftDefault : paddingLeftCompactMode;
|
|
188
|
-
const paddingRight = videoPlayerWidth > compactModeThreshold ? paddingRightDefault : paddingRightCompactMode;
|
|
189
190
|
const menuContainerStyleProps = {
|
|
190
191
|
menuBottom,
|
|
191
192
|
menuRight,
|
|
@@ -197,10 +198,12 @@ const ControlBar = _ref4 => {
|
|
|
197
198
|
...selectProps(rest),
|
|
198
199
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledControlBar, {
|
|
199
200
|
padding: `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`,
|
|
201
|
+
height: `${height}px`,
|
|
200
202
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(VideoProgressBarContainer, {
|
|
201
203
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_VideoProgressBar.default, {
|
|
202
204
|
copy: copy,
|
|
203
205
|
videoPlayer: videoPlayer,
|
|
206
|
+
playing: videoPlaying,
|
|
204
207
|
videoLength: videoLength,
|
|
205
208
|
videoCurrentTime: videoCurrentTime,
|
|
206
209
|
videoBufferEnd: videoBufferEnd,
|
|
@@ -140,6 +140,7 @@ const VideoProgressBar = _ref5 => {
|
|
|
140
140
|
videoLength,
|
|
141
141
|
videoCurrentTime,
|
|
142
142
|
videoBufferEnd,
|
|
143
|
+
playing,
|
|
143
144
|
setSeek,
|
|
144
145
|
resetInactivityTimer,
|
|
145
146
|
tokens,
|
|
@@ -155,7 +156,9 @@ const VideoProgressBar = _ref5 => {
|
|
|
155
156
|
trackGradientStart,
|
|
156
157
|
trackGradientEnd,
|
|
157
158
|
rangeBackground
|
|
158
|
-
} = (0, _componentsBase.useThemeTokens)('VideoProgressBar', tokens, variant
|
|
159
|
+
} = (0, _componentsBase.useThemeTokens)('VideoProgressBar', tokens, variant, {
|
|
160
|
+
playing
|
|
161
|
+
});
|
|
159
162
|
|
|
160
163
|
const videoProgressBar = /*#__PURE__*/_react.default.createRef();
|
|
161
164
|
|
|
@@ -112,7 +112,7 @@ const VideoPicker = _ref6 => {
|
|
|
112
112
|
setCurrentVideoId(selectedVideo);
|
|
113
113
|
}, [selectedVideo]); // `frame` variant should only work on larger screens
|
|
114
114
|
|
|
115
|
-
const isFramed = frame && [_systemConstants.viewports.
|
|
115
|
+
const isFramed = frame && [_systemConstants.viewports.lg, _systemConstants.viewports.xl].includes(viewport);
|
|
116
116
|
const hasSlider = !frame && [_systemConstants.viewports.md, _systemConstants.viewports.lg, _systemConstants.viewports.xl].includes(viewport);
|
|
117
117
|
const listElements = videoList.map((video, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_VideoPickerThumbnail.default, {
|
|
118
118
|
video: video,
|
|
@@ -174,14 +174,25 @@ const selectButtonContentTokens = _ref14 => {
|
|
|
174
174
|
};
|
|
175
175
|
};
|
|
176
176
|
|
|
177
|
-
const
|
|
177
|
+
const getLabelTokens = _ref15 => {
|
|
178
|
+
let {
|
|
179
|
+
labelFontName: fontName,
|
|
180
|
+
labelFontWeight: fontWeight
|
|
181
|
+
} = _ref15;
|
|
182
|
+
return {
|
|
183
|
+
fontName,
|
|
184
|
+
fontWeight
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
const SplashButtonWithDetails = _ref16 => {
|
|
178
189
|
let {
|
|
179
190
|
label,
|
|
180
191
|
tokens,
|
|
181
192
|
variant,
|
|
182
193
|
copy,
|
|
183
194
|
videoLength
|
|
184
|
-
} =
|
|
195
|
+
} = _ref16;
|
|
185
196
|
const {
|
|
186
197
|
buttonContentChildrenBackground
|
|
187
198
|
} = (0, _componentsBase.useThemeTokens)('SplashButtonWithDetails', tokens, variant, {
|
|
@@ -208,6 +219,7 @@ const SplashButtonWithDetails = _ref15 => {
|
|
|
208
219
|
variant: {
|
|
209
220
|
bold: true
|
|
210
221
|
},
|
|
222
|
+
tokens: getLabelTokens(themeTokens),
|
|
211
223
|
children: label
|
|
212
224
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
|
|
213
225
|
variant: {
|
package/lib/utils/index.js
CHANGED
|
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "deprecate", {
|
|
|
12
12
|
Object.defineProperty(exports, "htmlAttrs", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return
|
|
15
|
+
return _componentsBase.htmlAttrs;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "media", {
|
|
@@ -58,14 +58,14 @@ Object.defineProperty(exports, "warn", {
|
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
|
|
61
|
+
var _componentsBase = require("@telus-uds/components-base");
|
|
62
|
+
|
|
61
63
|
var _logger = require("./logger");
|
|
62
64
|
|
|
63
65
|
var _transforms = require("./transforms");
|
|
64
66
|
|
|
65
67
|
var _useTypographyTheme = _interopRequireDefault(require("./useTypographyTheme"));
|
|
66
68
|
|
|
67
|
-
var _htmlAttrs = _interopRequireDefault(require("./htmlAttrs"));
|
|
68
|
-
|
|
69
69
|
var _media = _interopRequireDefault(require("./media"));
|
|
70
70
|
|
|
71
71
|
var _ssr = _interopRequireDefault(require("./ssr"));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { Link, selectSystemProps, StackView, Typography, useThemeTokens, withLinkRouter } from '@telus-uds/components-base';
|
|
3
|
+
import { Link, selectSystemProps, StackView, Typography, useThemeTokens, withLinkRouter, useViewport } from '@telus-uds/components-base';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
5
|
import { htmlAttrs, transformGradient } from '../utils';
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -63,6 +63,7 @@ const BlockQuote = _ref8 => {
|
|
|
63
63
|
variant,
|
|
64
64
|
...rest
|
|
65
65
|
} = _ref8;
|
|
66
|
+
const viewport = useViewport();
|
|
66
67
|
const {
|
|
67
68
|
color,
|
|
68
69
|
paddingTop,
|
|
@@ -71,16 +72,44 @@ const BlockQuote = _ref8 => {
|
|
|
71
72
|
paddingRight,
|
|
72
73
|
marginBottom,
|
|
73
74
|
width,
|
|
74
|
-
backgroundGradient
|
|
75
|
-
|
|
75
|
+
backgroundGradient,
|
|
76
|
+
titleHeadingFontSize,
|
|
77
|
+
titleHeadingFontName,
|
|
78
|
+
titleHeadingFontWeight,
|
|
79
|
+
titleHeadingLineHeight,
|
|
80
|
+
titleFontSize,
|
|
81
|
+
titleFontName,
|
|
82
|
+
titleFontWeight,
|
|
83
|
+
titleLineHeight,
|
|
84
|
+
linkFontSize,
|
|
85
|
+
linkFontName,
|
|
86
|
+
linkFontWeight,
|
|
87
|
+
linkLineHeight
|
|
88
|
+
} = useThemeTokens('BlockQuote', tokens, variant, {
|
|
89
|
+
viewport
|
|
90
|
+
});
|
|
76
91
|
const mappedTextSize = textStyle === 'heading' ? 'h3' : textStyle;
|
|
92
|
+
const titleTokens = textStyle === 'heading' ? {
|
|
93
|
+
fontSize: titleHeadingFontSize,
|
|
94
|
+
fontName: titleHeadingFontName,
|
|
95
|
+
fontWeight: titleHeadingFontWeight,
|
|
96
|
+
lineHeight: titleHeadingLineHeight
|
|
97
|
+
} : {
|
|
98
|
+
fontSize: titleFontSize,
|
|
99
|
+
fontName: titleFontName,
|
|
100
|
+
fontWeight: titleFontWeight,
|
|
101
|
+
lineHeight: titleLineHeight
|
|
102
|
+
};
|
|
77
103
|
|
|
78
104
|
const renderLink = () => {
|
|
79
105
|
if (linkHref) {
|
|
80
106
|
return /*#__PURE__*/_jsx(Link, {
|
|
81
107
|
href: linkHref,
|
|
82
108
|
tokens: {
|
|
83
|
-
|
|
109
|
+
blockFontSize: linkFontSize,
|
|
110
|
+
blockFontName: linkFontName,
|
|
111
|
+
blockFontWeight: linkFontWeight,
|
|
112
|
+
blockLineHeight: linkLineHeight,
|
|
84
113
|
color
|
|
85
114
|
},
|
|
86
115
|
variant: {
|
|
@@ -95,7 +124,10 @@ const BlockQuote = _ref8 => {
|
|
|
95
124
|
return /*#__PURE__*/_jsx(Typography, {
|
|
96
125
|
tokens: {
|
|
97
126
|
color,
|
|
98
|
-
|
|
127
|
+
fontName: linkFontName,
|
|
128
|
+
fontSize: linkFontSize,
|
|
129
|
+
fontWeight: linkFontWeight,
|
|
130
|
+
lineHeight: linkLineHeight
|
|
99
131
|
},
|
|
100
132
|
children: link
|
|
101
133
|
});
|
|
@@ -105,7 +137,7 @@ const BlockQuote = _ref8 => {
|
|
|
105
137
|
const quote = /*#__PURE__*/_jsx(Typography, {
|
|
106
138
|
tokens: {
|
|
107
139
|
color,
|
|
108
|
-
|
|
140
|
+
...titleTokens
|
|
109
141
|
},
|
|
110
142
|
variant: {
|
|
111
143
|
size: mappedTextSize
|
|
@@ -148,9 +180,25 @@ const BlockQuote = _ref8 => {
|
|
|
148
180
|
BlockQuote.propTypes = { ...selectedSystemPropTypes,
|
|
149
181
|
...withLinkRouter.propTypes,
|
|
150
182
|
children: PropTypes.node.isRequired,
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* External source's identifier (e.g. author's name)
|
|
186
|
+
*/
|
|
151
187
|
link: PropTypes.string,
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* External source's URL
|
|
191
|
+
*/
|
|
152
192
|
linkHref: PropTypes.string,
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* To provide additional information about the source, rendered underneath `link`
|
|
196
|
+
*/
|
|
153
197
|
additionalInfo: PropTypes.string,
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Whether to render BlockQuote as a heading size of `h3` or large text size
|
|
201
|
+
*/
|
|
154
202
|
textStyle: PropTypes.oneOf(['large', 'heading'])
|
|
155
203
|
};
|
|
156
204
|
export default BlockQuote;
|
|
@@ -122,9 +122,21 @@ const Callout = _ref2 => {
|
|
|
122
122
|
};
|
|
123
123
|
|
|
124
124
|
Callout.propTypes = { ...selectedSystemPropTypes,
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Icon to display on the left side of the Callout
|
|
128
|
+
*/
|
|
125
129
|
icon: PropTypes.elementType,
|
|
126
130
|
children: PropTypes.node.isRequired,
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* To change the horizontal alignment of the Callout's text
|
|
134
|
+
*/
|
|
127
135
|
textAlignToFlex: PropTypes.oneOf(['center', 'left']),
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* To change the vertical alignment of the Callout's icon
|
|
139
|
+
*/
|
|
128
140
|
verticalAlign: PropTypes.oneOf(['top', 'middle', 'bottom'])
|
|
129
141
|
};
|
|
130
142
|
export default Callout;
|
|
@@ -162,6 +162,30 @@ const CalendarContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
+
.CalendarDay
|
|
166
|
+
.CalendarDay__default
|
|
167
|
+
.CalendarDay__selected
|
|
168
|
+
.CalendarDay__blocked_out_of_range{
|
|
169
|
+
background: ${remainingTokens.calendarDaySelectedDisabledBackground};
|
|
170
|
+
color: ${remainingTokens.calendarDaySelectedDisabledColor};
|
|
171
|
+
text-decoration: none;
|
|
172
|
+
z-index: 0;
|
|
173
|
+
&:before {
|
|
174
|
+
content: '';
|
|
175
|
+
position: absolute;
|
|
176
|
+
top: 50%;
|
|
177
|
+
left: 50%;
|
|
178
|
+
transform: translate(-50%, -50%);
|
|
179
|
+
height: ${calendarDayDefaultHeight}px;
|
|
180
|
+
border: 1px solid ${remainingTokens.calendarDaySelectedDisabledContentBackgroundColor};
|
|
181
|
+
width: ${calendarDayDefaultWidth}px;
|
|
182
|
+
border-radius: 50%;
|
|
183
|
+
background: ${remainingTokens.calendarDaySelectedDisabledContentBackgroundColor};
|
|
184
|
+
transition: all 0.3s;
|
|
185
|
+
z-index: -1;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
165
189
|
.CalendarDay__blocked_out_of_range,
|
|
166
190
|
.CalendarDay__blocked_out_of_range:active,
|
|
167
191
|
.CalendarDay__blocked_out_of_range:hover,
|