@telus-uds/components-base 1.70.0 → 1.72.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 (96) hide show
  1. package/CHANGELOG.md +30 -2
  2. package/jest.setup.js +7 -0
  3. package/lib/Autocomplete/Autocomplete.js +3 -13
  4. package/lib/Card/Card.js +68 -7
  5. package/lib/Card/PressableCardBase.js +2 -0
  6. package/lib/ColourToggle/ColourBubble.js +135 -0
  7. package/lib/ColourToggle/ColourToggle.js +101 -0
  8. package/lib/ColourToggle/index.js +10 -0
  9. package/lib/FlexGrid/Col/Col.js +50 -64
  10. package/lib/FlexGrid/FlexGrid.js +37 -40
  11. package/lib/FlexGrid/Row/Row.js +43 -44
  12. package/lib/Icon/IconText.js +9 -2
  13. package/lib/Link/LinkBase.js +10 -3
  14. package/lib/Modal/ModalContent.js +4 -6
  15. package/lib/OrderedList/Item.js +180 -0
  16. package/lib/OrderedList/ItemBase.js +48 -0
  17. package/lib/OrderedList/OrderedList.js +71 -0
  18. package/lib/OrderedList/OrderedListBase.js +47 -0
  19. package/lib/OrderedList/index.js +10 -0
  20. package/lib/index.js +16 -0
  21. package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +56 -0
  22. package/lib/utils/ssr-media-query/create-stylesheet/index.android.js +10 -0
  23. package/lib/utils/ssr-media-query/create-stylesheet/index.ios.js +10 -0
  24. package/lib/utils/ssr-media-query/create-stylesheet/index.js +44 -0
  25. package/lib/utils/ssr-media-query/utils/inject.js +13 -0
  26. package/lib-module/Autocomplete/Autocomplete.js +3 -13
  27. package/lib-module/Card/Card.js +71 -8
  28. package/lib-module/Card/PressableCardBase.js +2 -0
  29. package/lib-module/ColourToggle/ColourBubble.js +125 -0
  30. package/lib-module/ColourToggle/ColourToggle.js +92 -0
  31. package/lib-module/ColourToggle/index.js +2 -0
  32. package/lib-module/FlexGrid/Col/Col.js +51 -65
  33. package/lib-module/FlexGrid/FlexGrid.js +38 -41
  34. package/lib-module/FlexGrid/Row/Row.js +44 -45
  35. package/lib-module/Icon/IconText.js +9 -2
  36. package/lib-module/Link/LinkBase.js +10 -3
  37. package/lib-module/Modal/ModalContent.js +4 -6
  38. package/lib-module/OrderedList/Item.js +171 -0
  39. package/lib-module/OrderedList/ItemBase.js +37 -0
  40. package/lib-module/OrderedList/OrderedList.js +61 -0
  41. package/lib-module/OrderedList/OrderedListBase.js +36 -0
  42. package/lib-module/OrderedList/index.js +2 -0
  43. package/lib-module/index.js +2 -0
  44. package/lib-module/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +48 -0
  45. package/lib-module/utils/ssr-media-query/create-stylesheet/index.android.js +2 -0
  46. package/lib-module/utils/ssr-media-query/create-stylesheet/index.ios.js +2 -0
  47. package/lib-module/utils/ssr-media-query/create-stylesheet/index.js +36 -0
  48. package/lib-module/utils/ssr-media-query/utils/inject.js +13 -0
  49. package/package.json +2 -2
  50. package/src/Autocomplete/Autocomplete.jsx +14 -21
  51. package/src/Card/Card.jsx +73 -11
  52. package/src/Card/PressableCardBase.jsx +2 -0
  53. package/src/ColourToggle/ColourBubble.jsx +111 -0
  54. package/src/ColourToggle/ColourToggle.jsx +83 -0
  55. package/src/ColourToggle/index.js +3 -0
  56. package/src/FlexGrid/Col/Col.jsx +48 -80
  57. package/src/FlexGrid/FlexGrid.jsx +36 -44
  58. package/src/FlexGrid/Row/Row.jsx +38 -56
  59. package/src/Icon/IconText.jsx +11 -1
  60. package/src/Link/ChevronLink.jsx +1 -0
  61. package/src/Link/LinkBase.jsx +16 -6
  62. package/src/Modal/ModalContent.jsx +4 -6
  63. package/src/OrderedList/Item.jsx +152 -0
  64. package/src/OrderedList/ItemBase.jsx +31 -0
  65. package/src/OrderedList/OrderedList.jsx +61 -0
  66. package/src/OrderedList/OrderedListBase.jsx +33 -0
  67. package/src/OrderedList/index.js +3 -0
  68. package/src/index.js +2 -0
  69. package/src/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +41 -0
  70. package/src/utils/ssr-media-query/create-stylesheet/index.android.js +3 -0
  71. package/src/utils/ssr-media-query/create-stylesheet/index.ios.js +3 -0
  72. package/src/utils/ssr-media-query/create-stylesheet/index.js +33 -0
  73. package/src/utils/ssr-media-query/utils/inject.js +13 -0
  74. package/types/Badge.d.ts +28 -0
  75. package/types/Box.d.ts +52 -0
  76. package/types/ChevronLink.d.ts +47 -0
  77. package/types/Common.d.ts +106 -0
  78. package/types/Divider.d.ts +19 -0
  79. package/types/ExpandCollapse.d.ts +65 -0
  80. package/types/HorizontalScrollButton.d.ts +16 -0
  81. package/types/Icon.d.ts +21 -0
  82. package/types/Link.d.ts +48 -0
  83. package/types/List.d.ts +48 -0
  84. package/types/Search.d.ts +38 -0
  85. package/types/Select.d.ts +57 -0
  86. package/types/Spacer.d.ts +5 -0
  87. package/types/StackView.d.ts +28 -0
  88. package/types/Tabs.d.ts +46 -0
  89. package/types/TextButton.d.ts +11 -0
  90. package/types/ToggleSwitch.d.ts +54 -0
  91. package/types/ToolTip.d.ts +40 -0
  92. package/types/Typography.d.ts +39 -0
  93. package/types/index.d.ts +62 -0
  94. package/lib/utils/ssr-media-query/create-stylesheet.js +0 -76
  95. package/lib-module/utils/ssr-media-query/create-stylesheet.js +0 -68
  96. package/src/utils/ssr-media-query/create-stylesheet.js +0 -61
@@ -6,12 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
10
9
  var _systemConstants = require("@telus-uds/system-constants");
11
10
  var _utils = require("../utils");
12
11
  var _Row = _interopRequireDefault(require("./Row"));
13
12
  var _Col = _interopRequireDefault(require("./Col"));
14
- var _ViewportProvider = require("../ViewportProvider");
15
13
  var _GutterContext = _interopRequireDefault(require("./providers/GutterContext"));
16
14
  var _helpers = _interopRequireDefault(require("./helpers"));
17
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -39,33 +37,40 @@ const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
39
37
  children,
40
38
  ...rest
41
39
  } = _ref;
42
- const viewPort = (0, _ViewportProvider.useViewport)();
43
40
  const reverseLevel = (0, _helpers.default)([xsReverse, smReverse, mdReverse, lgReverse, xlReverse]);
44
- const marginVertical = 0;
45
- const marginHorizontal = outsideGutter ? 'auto' : -16;
46
- const width = outsideGutter ? '100%' : 'auto';
47
- let flexDirection;
48
- let maxWidth;
49
- if (viewPort === _systemConstants.viewports.xs) {
50
- // no maxWidth for xs
51
- flexDirection = reverseLevel[0] ? 'column-reverse' : 'column';
52
- }
53
- if (viewPort === _systemConstants.viewports.sm) {
54
- maxWidth = limitWidth && _systemConstants.viewports.map.get(_systemConstants.viewports.sm);
55
- flexDirection = reverseLevel[1] ? 'column-reverse' : 'column';
56
- }
57
- if (viewPort === _systemConstants.viewports.md) {
58
- maxWidth = limitWidth && _systemConstants.viewports.map.get(_systemConstants.viewports.md);
59
- flexDirection = reverseLevel[2] ? 'column-reverse' : 'column';
60
- }
61
- if (viewPort === _systemConstants.viewports.lg) {
62
- maxWidth = limitWidth && _systemConstants.viewports.map.get(_systemConstants.viewports.lg);
63
- flexDirection = reverseLevel[3] ? 'column-reverse' : 'column';
64
- }
65
- if (viewPort === _systemConstants.viewports.xl) {
66
- maxWidth = limitWidth && _systemConstants.viewports.map.get(_systemConstants.viewports.xl);
67
- flexDirection = reverseLevel[4] ? 'column-reverse' : 'column';
68
- }
41
+ const mediaQueryStyles = (0, _utils.createMediaQueryStyles)({
42
+ xs: {
43
+ flexDirection: reverseLevel[0] ? 'column-reverse' : 'column'
44
+ },
45
+ sm: {
46
+ maxWidth: limitWidth && _systemConstants.viewports.map.get('sm'),
47
+ flexDirection: reverseLevel[1] ? 'column-reverse' : 'column'
48
+ },
49
+ md: {
50
+ maxWidth: limitWidth && _systemConstants.viewports.map.get('md'),
51
+ flexDirection: reverseLevel[2] ? 'column-reverse' : 'column'
52
+ },
53
+ lg: {
54
+ maxWidth: limitWidth && _systemConstants.viewports.map.get('lg'),
55
+ flexDirection: reverseLevel[3] ? 'column-reverse' : 'column'
56
+ },
57
+ xl: {
58
+ maxWidth: limitWidth && _systemConstants.viewports.map.get('xl'),
59
+ flexDirection: reverseLevel[4] ? 'column-reverse' : 'column'
60
+ }
61
+ });
62
+ const {
63
+ ids,
64
+ styles
65
+ } = _utils.StyleSheet.create({
66
+ flexgrid: {
67
+ flexWrap: 'wrap',
68
+ width: outsideGutter ? '100%' : 'auto',
69
+ marginVertical: 0,
70
+ marginHorizontal: outsideGutter ? 'auto' : -16,
71
+ ...mediaQueryStyles
72
+ }
73
+ });
69
74
  const props = {
70
75
  accessibilityRole,
71
76
  ...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
@@ -76,23 +81,15 @@ const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
76
81
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.BaseView, {
77
82
  ref: ref,
78
83
  ...props,
79
- style: [styles.grid, {
80
- marginHorizontal,
81
- marginVertical,
82
- width,
83
- flexDirection,
84
- maxWidth
85
- }],
84
+ style: [styles.flexgrid],
85
+ dataSet: {
86
+ media: ids.flexgrid
87
+ },
86
88
  children: children
87
89
  })
88
90
  });
89
91
  });
90
92
  FlexGrid.displayName = 'FlexGrid';
91
- const styles = _StyleSheet.default.create({
92
- grid: {
93
- flexWrap: 'wrap'
94
- }
95
- });
96
93
  FlexGrid.propTypes = {
97
94
  ...selectedSystemPropTypes,
98
95
  /**
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
10
- var _systemConstants = require("@telus-uds/system-constants");
11
- var _ViewportProvider = require("../../ViewportProvider");
12
9
  var _helpers = _interopRequireDefault(require("../helpers"));
13
10
  var _utils = require("../../utils");
14
11
  var _jsxRuntime = require("react/jsx-runtime");
@@ -81,55 +78,57 @@ const Row = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
81
78
  children,
82
79
  ...rest
83
80
  } = _ref;
84
- const viewPort = (0, _ViewportProvider.useViewport)();
85
81
  const reverseLevel = (0, _helpers.default)([xsReverse, smReverse, mdReverse, lgReverse, xlReverse]);
86
- let flexDirection = '';
87
- let flexWrap = '';
88
- if (viewPort === _systemConstants.viewports.xs) {
89
- flexDirection = reverseLevel[0] ? 'row-reverse' : 'row';
90
- flexWrap = reverseLevel[0] ? 'wrap-reverse' : 'wrap';
91
- }
92
- if (viewPort === _systemConstants.viewports.sm) {
93
- flexDirection = reverseLevel[1] ? 'row-reverse' : 'row';
94
- flexWrap = reverseLevel[1] ? 'wrap-reverse' : 'wrap';
95
- }
96
- if (viewPort === _systemConstants.viewports.md) {
97
- flexDirection = reverseLevel[2] ? 'row-reverse' : 'row';
98
- flexWrap = reverseLevel[2] ? 'wrap-reverse' : 'wrap';
99
- }
100
- if (viewPort === _systemConstants.viewports.lg) {
101
- flexDirection = reverseLevel[3] ? 'row-reverse' : 'row';
102
- flexWrap = reverseLevel[3] ? 'wrap-reverse' : 'wrap';
103
- }
104
- if (viewPort === _systemConstants.viewports.xl) {
105
- flexDirection = reverseLevel[4] ? 'row-reverse' : 'row';
106
- flexWrap = reverseLevel[4] ? 'wrap-reverse' : 'wrap';
107
- }
82
+ const mediaQueryStyles = (0, _utils.createMediaQueryStyles)({
83
+ xs: {
84
+ flexDirection: reverseLevel[0] ? 'row-reverse' : 'row',
85
+ flexWrap: reverseLevel[0] ? 'wrap-reverse' : 'wrap'
86
+ },
87
+ sm: {
88
+ flexDirection: reverseLevel[1] ? 'row-reverse' : 'row',
89
+ flexWrap: reverseLevel[1] ? 'wrap-reverse' : 'wrap'
90
+ },
91
+ md: {
92
+ flexDirection: reverseLevel[2] ? 'row-reverse' : 'row',
93
+ flexWrap: reverseLevel[2] ? 'wrap-reverse' : 'wrap'
94
+ },
95
+ lg: {
96
+ flexDirection: reverseLevel[3] ? 'row-reverse' : 'row',
97
+ flexWrap: reverseLevel[3] ? 'wrap-reverse' : 'wrap'
98
+ },
99
+ xl: {
100
+ flexDirection: reverseLevel[4] ? 'row-reverse' : 'row',
101
+ flexWrap: reverseLevel[4] ? 'wrap-reverse' : 'wrap'
102
+ }
103
+ });
104
+ const {
105
+ ids,
106
+ styles
107
+ } = _utils.StyleSheet.create({
108
+ row: {
109
+ width: '100%',
110
+ marginVertical: 0,
111
+ marginHorizontal: 'auto',
112
+ flexGrow: 0,
113
+ flexShrink: 1,
114
+ flexBasis: 'auto',
115
+ ...horizontalAlignStyles(horizontalAlign),
116
+ ...verticalAlignStyles(verticalAlign),
117
+ ...distributeStyles(distribute),
118
+ ...mediaQueryStyles
119
+ }
120
+ });
108
121
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.BaseView, {
109
122
  ref: ref,
110
123
  ...rest,
111
- style: [styles.row, {
112
- flexDirection,
113
- flexWrap,
114
- ...horizontalAlignStyles(horizontalAlign),
115
- ...verticalAlignStyles(verticalAlign),
116
- ...distributeStyles(distribute)
117
- }],
124
+ style: [styles.row],
125
+ dataSet: {
126
+ media: ids.row
127
+ },
118
128
  children: children
119
129
  });
120
130
  });
121
131
  Row.displayName = 'Row';
122
- const styles = _StyleSheet.default.create({
123
- row: {
124
- width: '100%',
125
- marginVertical: 0,
126
- marginHorizontal: 'auto',
127
- flexGrow: 0,
128
- flexShrink: 1,
129
- flexBasis: 'auto',
130
- flexDirection: 'row'
131
- }
132
- });
133
132
  Row.propTypes = {
134
133
  /**
135
134
  * Align columns horizontally within their row.
@@ -23,7 +23,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
23
  * - inline within a <Text> element
24
24
  * - within a container with `flexDirection: 'row'`
25
25
  */const IconText = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
26
- var _iconProps$tokens;
26
+ var _iconProps$tokens, _iconProps$tokens2;
27
27
  let {
28
28
  space,
29
29
  iconPosition = 'left',
@@ -41,6 +41,13 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
41
41
  // Inline images on Android are always baseline-aligned which makes them look misaligned - offset it.
42
42
  // See abandoned issue https://github.com/facebook/react-native/issues/6529
43
43
  const size = (iconProps === null || iconProps === void 0 ? void 0 : (_iconProps$tokens = iconProps.tokens) === null || _iconProps$tokens === void 0 ? void 0 : _iconProps$tokens.size) ?? 0;
44
+ const valueTranslateY = iconProps === null || iconProps === void 0 ? void 0 : (_iconProps$tokens2 = iconProps.tokens) === null || _iconProps$tokens2 === void 0 ? void 0 : _iconProps$tokens2.translateY;
45
+ /**
46
+ * These calculations were carried out using a set of linear equations to calculate that the
47
+ * position of the icon "->"" is aligned to the first line of the tooltip text on IOS and Android.
48
+ * The issue was mainly on IOS, the translateY style didn't match with the old calculations.
49
+ */
50
+ const resultY = valueTranslateY ? Math.floor(-1 * (valueTranslateY - 4)) : 0;
44
51
  const iconAdjustedAndriod = /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
45
52
  style: {
46
53
  transform: [{
@@ -52,7 +59,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
52
59
  const iconAdjustedIOS = /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
53
60
  style: {
54
61
  transform: [{
55
- translateY: size * 0.01
62
+ translateY: valueTranslateY ? resultY : size * 0.01
56
63
  }]
57
64
  },
58
65
  children: iconContent
@@ -100,13 +100,20 @@ const selectIconTokens = _ref5 => {
100
100
  let {
101
101
  color,
102
102
  iconSize,
103
- iconTranslateX,
104
- iconTranslateY
103
+ blockFontSize,
104
+ iconTranslateX
105
105
  } = _ref5;
106
+ /**
107
+ * These calculations were carried out using a set of linear equations to calculate that the
108
+ * position of the icon "->"" is aligned to the first line of the tooltip text.
109
+ * The base equation is: X/4 + Y/4 - 4 - |X - Y| = Z
110
+ * where X = blockFontSize, Y = iconSize and Z = translateY
111
+ */
112
+ const translateY = blockFontSize / 4 + iconSize / 4 - 4 - Math.abs(iconSize - blockFontSize);
106
113
  return {
107
114
  color,
108
115
  translateX: iconTranslateX,
109
- translateY: iconTranslateY,
116
+ translateY: translateY < 0 ? 0 : translateY,
110
117
  size: iconSize
111
118
  };
112
119
  };
@@ -39,14 +39,16 @@ const ModalContent = _ref => {
39
39
  children,
40
40
  onCancel
41
41
  } = _ref;
42
+ const viewport = (0, _ViewportProvider.useViewport)();
42
43
  const {
43
44
  headingColor,
44
45
  cancelButtonColor,
45
46
  ...themeTokens
46
- } = (0, _ThemeProvider.useThemeTokens)('Modal', tokens, variant);
47
+ } = (0, _ThemeProvider.useThemeTokens)('Modal', tokens, variant, {
48
+ viewport
49
+ });
47
50
  const [scrollContainerHeight, setScrollContainerHeight] = (0, _react.useState)(0);
48
51
  const [scrollContentHeight, setScrollContentHeight] = (0, _react.useState)(0);
49
- const viewport = (0, _ViewportProvider.useViewport)();
50
52
  const handleContainerLayout = _ref2 => {
51
53
  let {
52
54
  nativeEvent: {
@@ -141,7 +143,6 @@ const ModalContent = _ref => {
141
143
  onPress: onConfirm,
142
144
  children: confirmButtonText
143
145
  }), hasCancelButton ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
144
- style: styles.styledTextButtonContainer,
145
146
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CancelButton, {
146
147
  tokens: {
147
148
  color: cancelButtonColor
@@ -158,9 +159,6 @@ const styles = _StyleSheet.default.create({
158
159
  flex: 1,
159
160
  flexDirection: 'column',
160
161
  minHeight: _Platform.default.OS === 'web' ? '100%' : 'auto'
161
- },
162
- styledTextButtonContainer: {
163
- flex: 1
164
162
  }
165
163
  });
166
164
  ModalContent.propTypes = {
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
10
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
11
+ var _utils = require("../utils");
12
+ var _ThemeProvider = require("../ThemeProvider");
13
+ var _StackView = _interopRequireDefault(require("../StackView"));
14
+ var _Typography = _interopRequireDefault(require("../Typography"));
15
+ var _ItemBase = _interopRequireDefault(require("./ItemBase"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ 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); }
19
+ 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; }
20
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.htmlAttrs, _utils.viewProps]);
21
+ const selectItemTextStyles = (_ref, themeOptions) => {
22
+ let {
23
+ itemFontHeight,
24
+ itemFontSize,
25
+ itemLineHeight,
26
+ itemFontName,
27
+ itemColor
28
+ } = _ref;
29
+ return (0, _ThemeProvider.applyTextStyles)({
30
+ fontWeight: itemFontHeight,
31
+ fontSize: itemFontSize,
32
+ fontName: itemFontName,
33
+ color: itemColor,
34
+ themeOptions,
35
+ lineHeight: itemLineHeight
36
+ });
37
+ };
38
+ const selectItemCounterStyles = _ref2 => {
39
+ let {
40
+ itemBulletContainerWidth,
41
+ itemBulletContainerAlign,
42
+ itemFontWeight,
43
+ itemFontSize,
44
+ itemFontName,
45
+ itemLineHeight,
46
+ themeOptions,
47
+ listGutter,
48
+ itemColor
49
+ } = _ref2;
50
+ return {
51
+ color: itemColor,
52
+ width: itemBulletContainerWidth,
53
+ paddingRight: listGutter,
54
+ textAlign: itemBulletContainerAlign,
55
+ ...(0, _ThemeProvider.applyTextStyles)({
56
+ fontWeight: itemFontWeight,
57
+ fontSize: itemFontSize,
58
+ fontName: itemFontName,
59
+ themeOptions
60
+ }),
61
+ lineHeight: itemLineHeight * itemFontSize
62
+ };
63
+ };
64
+ const selectItemContentStyles = (_ref3, isLastChild) => {
65
+ let {
66
+ interItemMargin,
67
+ ...themeTokens
68
+ } = _ref3;
69
+ return {
70
+ ...themeTokens,
71
+ marginBottom: !isLastChild ? interItemMargin : 0
72
+ };
73
+ };
74
+ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref4, ref) => {
75
+ let {
76
+ children,
77
+ index,
78
+ isLastChild,
79
+ title,
80
+ tokens,
81
+ variant,
82
+ ...rest
83
+ } = _ref4;
84
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('OrderedList', tokens, variant);
85
+ const headingTokens = title && {
86
+ lineHeight: themeTokens.itemLineHeight,
87
+ fontSize: themeTokens.itemFontSize,
88
+ color: themeTokens.itemColor,
89
+ fontName: themeTokens.headerFontName,
90
+ fontWeight: themeTokens.headerFontWeight
91
+ };
92
+ const {
93
+ themeOptions
94
+ } = (0, _ThemeProvider.useTheme)();
95
+ const itemContent = (0, _utils.wrapStringsInText)(children, {
96
+ style: selectItemTextStyles(themeTokens, themeOptions)
97
+ });
98
+ const itemCounter = (0, _utils.wrapStringsInText)(`${index}.`, {
99
+ style: selectItemTextStyles(themeTokens, themeOptions)
100
+ });
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ItemBase.default, {
102
+ ref: ref,
103
+ style: {
104
+ ...staticStyles.container,
105
+ ...themeTokens
106
+ },
107
+ ...selectProps(rest),
108
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
109
+ style: [staticStyles.itemCounter, selectItemCounterStyles(themeTokens)],
110
+ children: itemCounter
111
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
112
+ style: staticStyles.itemContent,
113
+ children: title ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_StackView.default, {
114
+ tokens: {
115
+ flexShrink: 1
116
+ },
117
+ space: 0,
118
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
119
+ variant: {
120
+ size: 'h4'
121
+ },
122
+ tokens: headingTokens,
123
+ children: title
124
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
125
+ style: selectItemContentStyles(themeTokens, isLastChild),
126
+ children: itemContent
127
+ })]
128
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
129
+ style: selectItemContentStyles(themeTokens, isLastChild),
130
+ children: itemContent
131
+ })
132
+ })]
133
+ });
134
+ });
135
+ Item.propTypes = {
136
+ ...selectedSystemPropTypes,
137
+ /**
138
+ * Item content
139
+ */
140
+ children: _propTypes.default.node.isRequired,
141
+ /**
142
+ * Item index
143
+ */
144
+ index: _propTypes.default.number,
145
+ /**
146
+ * If true, the item is the last one on the list
147
+ */
148
+ isLastChild: _propTypes.default.bool,
149
+ /**
150
+ * Defines the title of the `OrderedList.Item`
151
+ */
152
+ title: _propTypes.default.string,
153
+ /**
154
+ * Item tokens
155
+ */
156
+ tokens: (0, _utils.getTokensPropType)('List'),
157
+ /**
158
+ * Item variant
159
+ */
160
+ variant: _utils.variantProp.propType
161
+ };
162
+ Item.displayName = 'OrderedListItem';
163
+ Item.defaultProps = {
164
+ title: undefined,
165
+ tokens: {}
166
+ };
167
+ var _default = Item;
168
+ exports.default = _default;
169
+ const staticStyles = _StyleSheet.default.create({
170
+ container: {
171
+ flexDirection: 'row'
172
+ },
173
+ itemCounter: {
174
+ flexWrap: 'wrap'
175
+ },
176
+ itemContent: {
177
+ flexDirection: 'column',
178
+ marginLeft: 8
179
+ }
180
+ });
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
10
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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); }
14
+ 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; }
15
+ /* eslint-disable react-native-a11y/has-valid-accessibility-role */
16
+
17
+ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
18
+ let {
19
+ children,
20
+ style,
21
+ ...rest
22
+ } = _ref;
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
24
+ accessibilityRole: "listitem",
25
+ ref: ref,
26
+ style: [staticStyles.container, style],
27
+ ...rest,
28
+ children: children
29
+ });
30
+ });
31
+ Item.propTypes = {
32
+ /**
33
+ * Item content
34
+ */
35
+ children: _propTypes.default.node.isRequired,
36
+ /**
37
+ * Item custom styles
38
+ */
39
+ style: _propTypes.default.object
40
+ };
41
+ Item.displayName = 'OrderedListItem';
42
+ var _default = Item;
43
+ exports.default = _default;
44
+ const staticStyles = _StyleSheet.default.create({
45
+ container: {
46
+ display: 'flex'
47
+ }
48
+ });
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _utils = require("../utils");
10
+ var _OrderedListBase = _interopRequireDefault(require("./OrderedListBase"));
11
+ var _Item = _interopRequireDefault(require("./Item"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ 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); }
15
+ 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; }
16
+ const [selectProps, selectedSystemPropsTypes] = (0, _utils.selectSystemProps)([_utils.htmlAttrs, _utils.viewProps]);
17
+ const getChildrenWithParentVariants = (variant, children, start) => {
18
+ if (variant) return children.map((child, i) => {
19
+ var _child$props;
20
+ const existingChildVariants = ((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.variant) ?? {};
21
+ return {
22
+ ...child,
23
+ props: {
24
+ ...child.props,
25
+ index: start + i,
26
+ isLastChild: i === children.length - 1,
27
+ variant: {
28
+ ...existingChildVariants,
29
+ ...variant
30
+ }
31
+ }
32
+ };
33
+ });
34
+ return children;
35
+ };
36
+ const OrderedList = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
37
+ let {
38
+ children,
39
+ start,
40
+ variant,
41
+ ...rest
42
+ } = _ref;
43
+ const childrenWithParentVariants = (0, _react.useMemo)(() => getChildrenWithParentVariants(variant, children, start), [children, variant, start]);
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_OrderedListBase.default, {
45
+ ref: ref,
46
+ ...selectProps(rest),
47
+ children: childrenWithParentVariants
48
+ });
49
+ });
50
+ OrderedList.propTypes = {
51
+ ...selectedSystemPropsTypes,
52
+ tokens: (0, _utils.getTokensPropType)('OrderedList'),
53
+ /**
54
+ * A list of ordered items wrapped in `OrderedList.Item`.
55
+ */
56
+ children: _propTypes.default.node.isRequired,
57
+ /**
58
+ * The position to start the list with.
59
+ */
60
+ start: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
61
+ variant: _utils.variantProp.propType
62
+ };
63
+ OrderedList.defaultProps = {
64
+ start: 1,
65
+ tokens: {},
66
+ variant: {}
67
+ };
68
+ OrderedList.displayName = 'OrderedList';
69
+ OrderedList.Item = _Item.default;
70
+ var _default = OrderedList;
71
+ exports.default = _default;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
10
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
11
+ var _ItemBase = _interopRequireDefault(require("./ItemBase"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ 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); }
15
+ 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; }
16
+ /* eslint-disable react-native-a11y/has-valid-accessibility-role */
17
+
18
+ const OrderedListBase = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
19
+ let {
20
+ children,
21
+ ...rest
22
+ } = _ref;
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
24
+ accessibilityRole: "list",
25
+ ref: ref,
26
+ style: staticStyles.container,
27
+ ...rest,
28
+ children: children
29
+ });
30
+ });
31
+ OrderedListBase.propTypes = {
32
+ /**
33
+ * A list of ordered items wrapped in `OrderedListBase.Item`.
34
+ */
35
+ children: _propTypes.default.node.isRequired
36
+ };
37
+ OrderedListBase.displayName = 'OrderedList';
38
+ OrderedListBase.Item = _ItemBase.default;
39
+ var _default = OrderedListBase;
40
+ exports.default = _default;
41
+ const staticStyles = _StyleSheet.default.create({
42
+ container: {
43
+ flexDirection: 'column',
44
+ margin: 0,
45
+ padding: 0
46
+ }
47
+ });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _OrderedList = _interopRequireDefault(require("./OrderedList"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var _default = _OrderedList.default;
10
+ exports.default = _default;