@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.
- package/CHANGELOG.md +34 -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/OrderedList/Item.js +162 -0
- package/lib/OrderedList/ItemBase.js +42 -0
- package/lib/OrderedList/OrderedList.js +94 -0
- package/lib/OrderedList/OrderedListBase.js +68 -0
- package/lib/OrderedList/constants.js +9 -0
- package/lib/OrderedList/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 +91 -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/OrderedList/Item.js +139 -0
- package/lib-module/OrderedList/ItemBase.js +28 -0
- package/lib-module/OrderedList/OrderedList.js +71 -0
- package/lib-module/OrderedList/OrderedListBase.js +48 -0
- package/lib-module/OrderedList/constants.js +2 -0
- package/lib-module/OrderedList/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 +10 -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 -4
- 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/OrderedList/Item.jsx +121 -0
- package/src/OrderedList/ItemBase.jsx +18 -0
- package/src/OrderedList/OrderedList.jsx +61 -0
- package/src/OrderedList/OrderedListBase.jsx +38 -0
- package/src/OrderedList/constants.js +2 -0
- package/src/OrderedList/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 +10 -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
|
@@ -0,0 +1,149 @@
|
|
|
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 _dictionary = _interopRequireDefault(require("./dictionary"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
|
|
20
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
24
|
+
const [selectProps, selectedSystemPropTypes] = (0, _componentsBase.selectSystemProps)([_utils.htmlAttrs]);
|
|
25
|
+
|
|
26
|
+
const StyledSup = /*#__PURE__*/_styledComponents.default.sup.withConfig({
|
|
27
|
+
displayName: "FootnoteLink__StyledSup",
|
|
28
|
+
componentId: "components-web__sc-17nd7xo-0"
|
|
29
|
+
})(_ref => {
|
|
30
|
+
let {
|
|
31
|
+
fontSize = 'smaller',
|
|
32
|
+
lineHeight,
|
|
33
|
+
paddingLeft,
|
|
34
|
+
paddingRight
|
|
35
|
+
} = _ref;
|
|
36
|
+
return {
|
|
37
|
+
border: 0,
|
|
38
|
+
color: 'inherit',
|
|
39
|
+
cursor: 'pointer',
|
|
40
|
+
fontSize,
|
|
41
|
+
lineHeight,
|
|
42
|
+
margin: 0,
|
|
43
|
+
paddingVertical: 0,
|
|
44
|
+
paddingLeft,
|
|
45
|
+
paddingRight,
|
|
46
|
+
textDecoration: 'underline'
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Use `FootnoteLink` to open `Footnote` component and display related legal content.
|
|
51
|
+
*
|
|
52
|
+
* ## Usage Criteria
|
|
53
|
+
*
|
|
54
|
+
* - Use FootnoteLink to open a Footnote component and display related legal content.
|
|
55
|
+
* - Avoid using FootnoteLink if there is only one annotation on a page. Consider including
|
|
56
|
+
* the annotation as part of the content whenever possible.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
const FootnoteLink = _ref2 => {
|
|
61
|
+
let {
|
|
62
|
+
copy = 'en',
|
|
63
|
+
number = [],
|
|
64
|
+
onClick,
|
|
65
|
+
fontSize,
|
|
66
|
+
tokens,
|
|
67
|
+
variant = {},
|
|
68
|
+
...rest
|
|
69
|
+
} = _ref2;
|
|
70
|
+
const {
|
|
71
|
+
lineHeight,
|
|
72
|
+
paddingLeft,
|
|
73
|
+
paddingRight
|
|
74
|
+
} = (0, _componentsBase.useThemeTokens)('FootnoteLink', tokens, variant);
|
|
75
|
+
const numbers = Array.isArray(number) ? number : [number];
|
|
76
|
+
const refs = numbers.map(() => /*#__PURE__*/_react.default.createRef());
|
|
77
|
+
|
|
78
|
+
const handleClick = index => {
|
|
79
|
+
onClick(numbers[index], refs[index]);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const getCopy = (0, _componentsBase.useCopy)({
|
|
83
|
+
dictionary: _dictionary.default,
|
|
84
|
+
copy
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
const handleOnClick = (event, index) => {
|
|
88
|
+
event.preventDefault();
|
|
89
|
+
event.stopPropagation();
|
|
90
|
+
handleClick(index);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const handleOnKeyDown = (event, index) => {
|
|
94
|
+
if (event.key === 'Enter' || event.key === 13) {
|
|
95
|
+
handleClick(index);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
100
|
+
children: numbers.map((num, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSup, {
|
|
101
|
+
onKeyDown: event => handleOnKeyDown(event, index),
|
|
102
|
+
role: "button",
|
|
103
|
+
"aria-label": getCopy('a11yLabel'),
|
|
104
|
+
ref: refs[index],
|
|
105
|
+
onClick: event => handleOnClick(event, index),
|
|
106
|
+
fontSize: fontSize,
|
|
107
|
+
lineHeight: lineHeight,
|
|
108
|
+
paddingLeft: paddingLeft,
|
|
109
|
+
paddingRight: paddingRight,
|
|
110
|
+
...selectProps(rest),
|
|
111
|
+
children: `${num}${index !== numbers.length - 1 ? ',' : ''}`
|
|
112
|
+
}, num))
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const copyShape = _propTypes.default.shape({
|
|
117
|
+
a11yLabel: _propTypes.default.string.isRequired
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
FootnoteLink.propTypes = { ...selectedSystemPropTypes,
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Use the `copy` prop to either select provided English or French copy by passing 'en' or 'fr' respectively.
|
|
124
|
+
* To provide your own, pass a JSON object with the key `a11yLabel`.
|
|
125
|
+
*/
|
|
126
|
+
copy: _propTypes.default.oneOfType([_propTypes.default.oneOf(['en', 'fr']), copyShape]),
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* The footnote number, or multiple numbers if passed as an array.
|
|
130
|
+
* If using an array, a comma-separated group of numbers will be rendered as superscript.
|
|
131
|
+
*/
|
|
132
|
+
number: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.number), _propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]).isRequired,
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* A callback function to handle the click of a FootnoteLink.
|
|
136
|
+
*/
|
|
137
|
+
onClick: _propTypes.default.func.isRequired,
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Override default `fontSize` to set specific font size value
|
|
141
|
+
*/
|
|
142
|
+
fontSize: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
|
|
143
|
+
};
|
|
144
|
+
FootnoteLink.defaultProps = {
|
|
145
|
+
copy: 'en',
|
|
146
|
+
fontSize: 'smaller'
|
|
147
|
+
};
|
|
148
|
+
var _default = FootnoteLink;
|
|
149
|
+
exports.default = _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
en: {
|
|
9
|
+
a11yLabel: 'Read legal footnote',
|
|
10
|
+
close: 'close',
|
|
11
|
+
heading: 'Terms and conditions'
|
|
12
|
+
},
|
|
13
|
+
fr: {
|
|
14
|
+
a11yLabel: 'Lire la note de bas de page légale',
|
|
15
|
+
close: 'fermer',
|
|
16
|
+
heading: 'Modalités et conditions'
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.default = _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _Footnote = _interopRequireDefault(require("./Footnote"));
|
|
9
|
+
|
|
10
|
+
var _FootnoteLink = _interopRequireDefault(require("./FootnoteLink"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
_Footnote.default.Link = _FootnoteLink.default;
|
|
15
|
+
var _default = _Footnote.default;
|
|
16
|
+
exports.default = _default;
|
|
@@ -0,0 +1,162 @@
|
|
|
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 _ItemBase = _interopRequireDefault(require("./ItemBase"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
|
|
20
|
+
var _constants = require("./constants");
|
|
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 selectItemTextStyles = (_ref, themeOptions) => {
|
|
33
|
+
let {
|
|
34
|
+
itemFontWeight,
|
|
35
|
+
itemFontSize,
|
|
36
|
+
itemLineHeight,
|
|
37
|
+
itemFontName,
|
|
38
|
+
itemColor
|
|
39
|
+
} = _ref;
|
|
40
|
+
return (0, _componentsBase.applyTextStyles)({
|
|
41
|
+
fontWeight: itemFontWeight,
|
|
42
|
+
fontSize: itemFontSize,
|
|
43
|
+
fontName: itemFontName,
|
|
44
|
+
color: itemColor,
|
|
45
|
+
themeOptions,
|
|
46
|
+
lineHeight: itemLineHeight
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const StyledItemBase = /*#__PURE__*/(0, _styledComponents.default)(_ItemBase.default).withConfig({
|
|
51
|
+
displayName: "Item__StyledItemBase",
|
|
52
|
+
componentId: "components-web__sc-7jzwcq-0"
|
|
53
|
+
})(_ref2 => {
|
|
54
|
+
let {
|
|
55
|
+
interItemMargin,
|
|
56
|
+
itemBulletContainerWidth,
|
|
57
|
+
itemBulletContainerAlign,
|
|
58
|
+
itemFontWeight,
|
|
59
|
+
itemFontSize,
|
|
60
|
+
itemFontName,
|
|
61
|
+
itemLineHeight,
|
|
62
|
+
themeOptions,
|
|
63
|
+
listGutter,
|
|
64
|
+
itemColor
|
|
65
|
+
} = _ref2;
|
|
66
|
+
return {
|
|
67
|
+
counterIncrement: _constants.OL_COUNTER_NAME,
|
|
68
|
+
'::before': {
|
|
69
|
+
content: `counter(${_constants.OL_COUNTER_NAME})'.'`,
|
|
70
|
+
display: 'inline-flex',
|
|
71
|
+
color: itemColor,
|
|
72
|
+
width: itemBulletContainerWidth,
|
|
73
|
+
paddingRight: listGutter,
|
|
74
|
+
textAlign: itemBulletContainerAlign,
|
|
75
|
+
...(0, _componentsBase.applyTextStyles)({
|
|
76
|
+
fontWeight: itemFontWeight,
|
|
77
|
+
fontSize: itemFontSize,
|
|
78
|
+
fontName: itemFontName,
|
|
79
|
+
themeOptions
|
|
80
|
+
}),
|
|
81
|
+
lineHeight: `${itemLineHeight * itemFontSize}px`
|
|
82
|
+
},
|
|
83
|
+
':not(:last-child)': {
|
|
84
|
+
marginBottom: interItemMargin
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const ItemContent = /*#__PURE__*/_styledComponents.default.div.withConfig({
|
|
90
|
+
displayName: "Item__ItemContent",
|
|
91
|
+
componentId: "components-web__sc-7jzwcq-1"
|
|
92
|
+
})({
|
|
93
|
+
flex: 1
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref3, ref) => {
|
|
97
|
+
let {
|
|
98
|
+
children,
|
|
99
|
+
counterName,
|
|
100
|
+
title,
|
|
101
|
+
tokens,
|
|
102
|
+
variant,
|
|
103
|
+
...rest
|
|
104
|
+
} = _ref3;
|
|
105
|
+
// We are reusing some tokens from the list component here in order to provide a unified
|
|
106
|
+
// experience
|
|
107
|
+
const themeTokens = (0, _componentsBase.useThemeTokens)('OrderedList', tokens, variant);
|
|
108
|
+
const headingTokens = title && {
|
|
109
|
+
lineHeight: themeTokens.itemLineHeight,
|
|
110
|
+
fontSize: themeTokens.itemFontSize,
|
|
111
|
+
color: themeTokens.itemColor,
|
|
112
|
+
fontName: themeTokens.headerFontName,
|
|
113
|
+
fontWeight: themeTokens.headerFontWeight
|
|
114
|
+
};
|
|
115
|
+
const {
|
|
116
|
+
themeOptions
|
|
117
|
+
} = (0, _componentsBase.useTheme)();
|
|
118
|
+
const itemContent = (0, _componentsBase.wrapStringsInText)(children, {
|
|
119
|
+
style: selectItemTextStyles(themeTokens, themeOptions)
|
|
120
|
+
});
|
|
121
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledItemBase, {
|
|
122
|
+
ref: ref,
|
|
123
|
+
themeOptions: themeOptions,
|
|
124
|
+
...themeTokens,
|
|
125
|
+
...selectProps(rest),
|
|
126
|
+
children: title ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_componentsBase.StackView, {
|
|
127
|
+
tokens: {
|
|
128
|
+
flexShrink: 1
|
|
129
|
+
},
|
|
130
|
+
space: 0,
|
|
131
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
|
|
132
|
+
variant: {
|
|
133
|
+
size: 'h4'
|
|
134
|
+
},
|
|
135
|
+
tokens: headingTokens,
|
|
136
|
+
children: title
|
|
137
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemContent, { ...themeTokens,
|
|
138
|
+
children: itemContent
|
|
139
|
+
})]
|
|
140
|
+
}) : itemContent
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
Item.displayName = 'OrderedListItem';
|
|
144
|
+
Item.propTypes = { ...selectedSystemPropTypes,
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Item content
|
|
148
|
+
*/
|
|
149
|
+
children: _propTypes.default.node.isRequired,
|
|
150
|
+
title: _propTypes.default.string,
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Item tokens
|
|
154
|
+
*/
|
|
155
|
+
tokens: (0, _componentsBase.getTokensPropType)('List')
|
|
156
|
+
};
|
|
157
|
+
Item.defaultProps = {
|
|
158
|
+
title: undefined,
|
|
159
|
+
tokens: {}
|
|
160
|
+
};
|
|
161
|
+
var _default = Item;
|
|
162
|
+
exports.default = _default;
|
|
@@ -0,0 +1,42 @@
|
|
|
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 _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
const StyledItem = /*#__PURE__*/_styledComponents.default.li.withConfig({
|
|
19
|
+
displayName: "ItemBase__StyledItem",
|
|
20
|
+
componentId: "components-web__sc-o0oiv5-0"
|
|
21
|
+
})({
|
|
22
|
+
display: 'flex'
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const Item = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
children,
|
|
28
|
+
...rest
|
|
29
|
+
} = _ref;
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledItem, { ...rest,
|
|
31
|
+
children: children
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
Item.propTypes = {
|
|
36
|
+
/**
|
|
37
|
+
* Item content
|
|
38
|
+
*/
|
|
39
|
+
children: _propTypes.default.node.isRequired
|
|
40
|
+
};
|
|
41
|
+
var _default = Item;
|
|
42
|
+
exports.default = _default;
|
|
@@ -0,0 +1,94 @@
|
|
|
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 _OrderedListBase = _interopRequireDefault(require("./OrderedListBase"));
|
|
19
|
+
|
|
20
|
+
var _Item = _interopRequireDefault(require("./Item"));
|
|
21
|
+
|
|
22
|
+
var _constants = require("./constants");
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
28
|
+
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); }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
const [selectProps, selectedSystemPropTypes] = (0, _componentsBase.selectSystemProps)([_utils.htmlAttrs]);
|
|
33
|
+
const StyledOrderedListBase = /*#__PURE__*/(0, _styledComponents.default)(_OrderedListBase.default).withConfig({
|
|
34
|
+
displayName: "OrderedList__StyledOrderedListBase",
|
|
35
|
+
componentId: "components-web__sc-t5az8z-0"
|
|
36
|
+
})(_ref => {
|
|
37
|
+
let {
|
|
38
|
+
start
|
|
39
|
+
} = _ref;
|
|
40
|
+
return {
|
|
41
|
+
// Using CSS counters here to have better control over the number styling
|
|
42
|
+
listStyle: 'none',
|
|
43
|
+
counterReset: `${_constants.OL_COUNTER_NAME} ${start - 1}`
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Themed semantic ordered list.
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
const OrderedList = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
51
|
+
let {
|
|
52
|
+
children,
|
|
53
|
+
start,
|
|
54
|
+
variant,
|
|
55
|
+
...rest
|
|
56
|
+
} = _ref2;
|
|
57
|
+
// Pass any variants "OrderedList" receives down to the individual list items.
|
|
58
|
+
const childrenWithParentVariants = variant ? children.map(child => {
|
|
59
|
+
var _child$props;
|
|
60
|
+
|
|
61
|
+
const existingChildVariants = ((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.variant) ?? {};
|
|
62
|
+
return { ...child,
|
|
63
|
+
props: { ...child.props,
|
|
64
|
+
variant: { ...existingChildVariants,
|
|
65
|
+
...variant
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}) : children;
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledOrderedListBase, { ...selectProps(rest),
|
|
71
|
+
ref: ref,
|
|
72
|
+
start: start,
|
|
73
|
+
children: childrenWithParentVariants
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
OrderedList.displayName = 'OrderedList';
|
|
77
|
+
OrderedList.propTypes = { ...selectedSystemPropTypes,
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* A list of ordered items wrapped in `OrderedList.Item`.
|
|
81
|
+
*/
|
|
82
|
+
children: _propTypes.default.node.isRequired,
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The position to start the list with.
|
|
86
|
+
*/
|
|
87
|
+
start: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
|
|
88
|
+
};
|
|
89
|
+
OrderedList.defaultProps = {
|
|
90
|
+
start: 1
|
|
91
|
+
};
|
|
92
|
+
OrderedList.Item = _Item.default;
|
|
93
|
+
var _default = OrderedList;
|
|
94
|
+
exports.default = _default;
|
|
@@ -0,0 +1,68 @@
|
|
|
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 _ItemBase = _interopRequireDefault(require("./ItemBase"));
|
|
15
|
+
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
const StyledList = /*#__PURE__*/_styledComponents.default.ol.withConfig({
|
|
25
|
+
displayName: "OrderedListBase__StyledList",
|
|
26
|
+
componentId: "components-web__sc-4m9lgj-0"
|
|
27
|
+
})({
|
|
28
|
+
display: 'flex',
|
|
29
|
+
flexDirection: 'column',
|
|
30
|
+
listStylePosition: 'inside',
|
|
31
|
+
margin: 0,
|
|
32
|
+
padding: 0
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Semantic ordered list.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
const OrderedListBase = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
40
|
+
let {
|
|
41
|
+
children,
|
|
42
|
+
start,
|
|
43
|
+
...rest
|
|
44
|
+
} = _ref;
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledList, { ...rest,
|
|
46
|
+
ref: ref,
|
|
47
|
+
start: start,
|
|
48
|
+
children: children
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
OrderedListBase.displayName = 'OrderedList';
|
|
52
|
+
OrderedListBase.propTypes = {
|
|
53
|
+
/**
|
|
54
|
+
* A list of ordered items wrapped in `OrderedListBase.Item`.
|
|
55
|
+
*/
|
|
56
|
+
children: _propTypes.default.node.isRequired,
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The position to start the list with.
|
|
60
|
+
*/
|
|
61
|
+
start: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
|
|
62
|
+
};
|
|
63
|
+
OrderedListBase.defaultProps = {
|
|
64
|
+
start: 1
|
|
65
|
+
};
|
|
66
|
+
OrderedListBase.Item = _ItemBase.default;
|
|
67
|
+
var _default = OrderedListBase;
|
|
68
|
+
exports.default = _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OL_COUNTER_NAME = void 0;
|
|
7
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
8
|
+
const OL_COUNTER_NAME = 'allium-ordered-list-counter';
|
|
9
|
+
exports.OL_COUNTER_NAME = OL_COUNTER_NAME;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _OrderedList = _interopRequireDefault(require("./OrderedList"));
|
|
9
|
+
|
|
10
|
+
var _Item = _interopRequireDefault(require("./Item"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
_OrderedList.default.Item = _Item.default;
|
|
15
|
+
var _default = _OrderedList.default;
|
|
16
|
+
exports.default = _default;
|
|
@@ -0,0 +1,64 @@
|
|
|
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 _componentsBase = require("@telus-uds/components-base");
|
|
13
|
+
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A footer for PreviewCard that composes author and date in a standard way
|
|
20
|
+
*
|
|
21
|
+
* @TODO
|
|
22
|
+
* Add same locale-based date formatting as StoryCard when ready.
|
|
23
|
+
* Get locale based on decision of https://github.com/telus/universal-design-system/issues/715
|
|
24
|
+
*/
|
|
25
|
+
const AuthorDate = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
author,
|
|
28
|
+
date
|
|
29
|
+
} = _ref;
|
|
30
|
+
const {
|
|
31
|
+
separatorColor: color
|
|
32
|
+
} = (0, _componentsBase.useThemeTokens)('PreviewCard', {}, {});
|
|
33
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_componentsBase.StackWrap, {
|
|
34
|
+
space: 2,
|
|
35
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
|
|
36
|
+
variant: {
|
|
37
|
+
size: 'small',
|
|
38
|
+
colour: 'secondary'
|
|
39
|
+
},
|
|
40
|
+
children: author
|
|
41
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
|
|
42
|
+
variant: {
|
|
43
|
+
size: 'small'
|
|
44
|
+
},
|
|
45
|
+
tokens: {
|
|
46
|
+
color
|
|
47
|
+
},
|
|
48
|
+
children: "\xB7"
|
|
49
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentsBase.Typography, {
|
|
50
|
+
variant: {
|
|
51
|
+
size: 'small',
|
|
52
|
+
colour: 'secondary'
|
|
53
|
+
},
|
|
54
|
+
children: date
|
|
55
|
+
})]
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
AuthorDate.propTypes = {
|
|
60
|
+
author: _propTypes.default.string.isRequired,
|
|
61
|
+
date: _propTypes.default.string.isRequired
|
|
62
|
+
};
|
|
63
|
+
var _default = AuthorDate;
|
|
64
|
+
exports.default = _default;
|