@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
@@ -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;