@telus-uds/components-base 1.72.0 → 1.73.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 +20 -2
- package/lib/Box/Box.js +17 -6
- package/lib/FlexGrid/Col/Col.js +42 -19
- package/lib/FlexGrid/FlexGrid.js +40 -17
- package/lib/FlexGrid/Row/Row.js +45 -22
- package/lib/Listbox/ListboxGroup.js +7 -1
- package/lib/MultiSelectFilter/MultiSelectFilter.js +1 -0
- package/lib/Notification/Notification.js +13 -5
- package/lib/OrderedList/ItemBase.js +7 -1
- package/lib/Responsive/Responsive.js +24 -14
- package/lib/Responsive/ResponsiveProp.js +46 -0
- package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +72 -0
- package/lib/ThemeProvider/ThemeProvider.js +5 -2
- package/lib/ThemeProvider/index.js +9 -1
- package/lib/ThemeProvider/useResponsiveThemeTokens.js +89 -0
- package/lib/Typography/Typography.js +48 -22
- package/lib/server.js +40 -0
- package/lib/utils/ssr-media-query/utils/create-media-query-styles.js +39 -6
- package/lib-module/Box/Box.js +17 -6
- package/lib-module/FlexGrid/Col/Col.js +42 -19
- package/lib-module/FlexGrid/FlexGrid.js +40 -17
- package/lib-module/FlexGrid/Row/Row.js +45 -22
- package/lib-module/Listbox/ListboxGroup.js +7 -1
- package/lib-module/MultiSelectFilter/MultiSelectFilter.js +1 -0
- package/lib-module/Notification/Notification.js +13 -5
- package/lib-module/OrderedList/ItemBase.js +7 -1
- package/lib-module/Responsive/Responsive.js +24 -15
- package/lib-module/Responsive/ResponsiveProp.js +39 -0
- package/lib-module/Responsive/ResponsiveWithMediaQueryStyleSheet.js +64 -0
- package/lib-module/ThemeProvider/ThemeProvider.js +5 -2
- package/lib-module/ThemeProvider/index.js +1 -0
- package/lib-module/ThemeProvider/useResponsiveThemeTokens.js +81 -0
- package/lib-module/Typography/Typography.js +50 -24
- package/lib-module/server.js +4 -0
- package/lib-module/utils/ssr-media-query/utils/create-media-query-styles.js +36 -6
- package/package.json +13 -2
- package/src/Box/Box.jsx +35 -17
- package/src/FlexGrid/Col/Col.jsx +42 -13
- package/src/FlexGrid/FlexGrid.jsx +40 -11
- package/src/FlexGrid/Row/Row.jsx +40 -16
- package/src/Listbox/ListboxGroup.jsx +9 -2
- package/src/MultiSelectFilter/MultiSelectFilter.jsx +2 -0
- package/src/Notification/Notification.jsx +15 -3
- package/src/OrderedList/ItemBase.jsx +14 -2
- package/src/Responsive/Responsive.jsx +24 -11
- package/src/Responsive/ResponsiveProp.jsx +33 -0
- package/src/Responsive/ResponsiveWithMediaQueryStyleSheet.jsx +58 -0
- package/src/ThemeProvider/ThemeProvider.jsx +5 -2
- package/src/ThemeProvider/index.js +1 -0
- package/src/ThemeProvider/useResponsiveThemeTokens.js +85 -0
- package/src/Typography/Typography.jsx +72 -24
- package/src/server.js +4 -0
- package/src/utils/ssr-media-query/utils/create-media-query-styles.js +21 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
# Change Log - @telus-uds/components-base
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Mon, 08 Jan 2024 20:08:06 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.73.0
|
|
8
|
+
|
|
9
|
+
Mon, 08 Jan 2024 20:08:06 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- RNMQ integration to Responsive component (srikanthkhari@gmail.com)
|
|
14
|
+
- Changes in the Notification component (35577399+JoshHC@users.noreply.github.com)
|
|
15
|
+
- Support server component (wlsdud194@hotmail.com)
|
|
16
|
+
- Changes to the box component for allow gradient in mobile (35577399+JoshHC@users.noreply.github.com)
|
|
17
|
+
- update story for badge to include subtle variant (evander.owusu@telus.com)
|
|
18
|
+
- Bump @telus-uds/system-theme-tokens to v2.49.0
|
|
19
|
+
|
|
20
|
+
### Patches
|
|
21
|
+
|
|
22
|
+
- fix multiselectfilter controlled rendered values (guillermo.peitzner@telus.com)
|
|
23
|
+
- remove listitem accessibility role from android devices (guillermo.peitzner@telus.com)
|
|
24
|
+
|
|
7
25
|
## 1.72.0
|
|
8
26
|
|
|
9
|
-
Wed, 13 Dec 2023 21:
|
|
27
|
+
Wed, 13 Dec 2023 21:24:24 GMT
|
|
10
28
|
|
|
11
29
|
### Minor changes
|
|
12
30
|
|
package/lib/Box/Box.js
CHANGED
|
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
10
10
|
var _ScrollView = _interopRequireDefault(require("react-native-web/dist/cjs/exports/ScrollView"));
|
|
11
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
11
12
|
var _ThemeProvider = require("../ThemeProvider");
|
|
12
13
|
var _utils = require("../utils");
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -23,7 +24,7 @@ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_u
|
|
|
23
24
|
* @typedef {import('../utils/props/spacingProps.js').SpacingOptions} SpacingOptions
|
|
24
25
|
*/
|
|
25
26
|
|
|
26
|
-
const selectBoxStyles = _ref => {
|
|
27
|
+
const selectBoxStyles = (_ref, customGradient) => {
|
|
27
28
|
let {
|
|
28
29
|
backgroundColor,
|
|
29
30
|
gradient,
|
|
@@ -49,7 +50,11 @@ const selectBoxStyles = _ref => {
|
|
|
49
50
|
angle,
|
|
50
51
|
stops: [stopOne, stopTwo]
|
|
51
52
|
} = gradient;
|
|
52
|
-
|
|
53
|
+
if (_Platform.default.OS === 'web') {
|
|
54
|
+
styles.backgroundImage = `linear-gradient(${angle}deg, ${stopOne.color}, 75%, ${stopTwo.color})`;
|
|
55
|
+
} else if (customGradient && _Platform.default.OS !== 'web') {
|
|
56
|
+
styles.colors = [stopOne.color, stopTwo.color];
|
|
57
|
+
}
|
|
53
58
|
}
|
|
54
59
|
const paddings = ['paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom'];
|
|
55
60
|
// Only set on styles if token provided because we spread this object after the spacing scale values
|
|
@@ -144,6 +149,7 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
144
149
|
accessibilityRole,
|
|
145
150
|
testID,
|
|
146
151
|
dataSet,
|
|
152
|
+
customGradient,
|
|
147
153
|
...rest
|
|
148
154
|
} = _ref2;
|
|
149
155
|
const props = {
|
|
@@ -158,8 +164,9 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
158
164
|
paddingRight: (0, _utils.useSpacingScale)(right),
|
|
159
165
|
paddingTop: (0, _utils.useSpacingScale)(top),
|
|
160
166
|
paddingBottom: (0, _utils.useSpacingScale)(bottom),
|
|
161
|
-
...selectBoxStyles(themeTokens)
|
|
167
|
+
...selectBoxStyles(themeTokens, customGradient)
|
|
162
168
|
};
|
|
169
|
+
const childrenToRender = typeof customGradient === 'function' ? customGradient(styles.colors, styles)(children) : children;
|
|
163
170
|
if (scroll) {
|
|
164
171
|
const scrollProps = typeof scroll === 'object' ? scroll : {};
|
|
165
172
|
scrollProps.contentContainerStyle = [styles, scrollProps.contentContainerStyle];
|
|
@@ -169,7 +176,7 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
169
176
|
testID: testID,
|
|
170
177
|
dataSet: dataSet,
|
|
171
178
|
ref: ref,
|
|
172
|
-
children:
|
|
179
|
+
children: childrenToRender
|
|
173
180
|
});
|
|
174
181
|
}
|
|
175
182
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
@@ -178,7 +185,7 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
178
185
|
testID: testID,
|
|
179
186
|
dataSet: dataSet,
|
|
180
187
|
ref: ref,
|
|
181
|
-
children:
|
|
188
|
+
children: childrenToRender
|
|
182
189
|
});
|
|
183
190
|
});
|
|
184
191
|
Box.displayName = 'Box';
|
|
@@ -262,7 +269,11 @@ Box.propTypes = {
|
|
|
262
269
|
/**
|
|
263
270
|
* Box accepts any content as children.
|
|
264
271
|
*/
|
|
265
|
-
children: _propTypes.default.node.isRequired
|
|
272
|
+
children: _propTypes.default.node.isRequired,
|
|
273
|
+
/**
|
|
274
|
+
Use this prop if need to add a custom gradient for mobile
|
|
275
|
+
*/
|
|
276
|
+
customGradient: _propTypes.default.func
|
|
266
277
|
};
|
|
267
278
|
var _default = Box;
|
|
268
279
|
exports.default = _default;
|
package/lib/FlexGrid/Col/Col.js
CHANGED
|
@@ -10,6 +10,8 @@ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/export
|
|
|
10
10
|
var _GutterContext = _interopRequireDefault(require("../providers/GutterContext"));
|
|
11
11
|
var _helpers = _interopRequireDefault(require("../helpers"));
|
|
12
12
|
var _utils = require("../../utils");
|
|
13
|
+
var _ViewportProvider = require("../../ViewportProvider");
|
|
14
|
+
var _ThemeProvider = require("../../ThemeProvider");
|
|
13
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
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); }
|
|
@@ -32,6 +34,12 @@ const Col = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
32
34
|
...viewProps
|
|
33
35
|
} = _ref;
|
|
34
36
|
const gutter = (0, _react.useContext)(_GutterContext.default);
|
|
37
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
38
|
+
const {
|
|
39
|
+
themeOptions: {
|
|
40
|
+
enableMediaQueryStyleSheet
|
|
41
|
+
}
|
|
42
|
+
} = (0, _ThemeProvider.useTheme)();
|
|
35
43
|
const hiddenLevels = (0, _helpers.default)([xs, sm, md, lg, xl]);
|
|
36
44
|
const getHorizontalAlignLevel = () => {
|
|
37
45
|
if (typeof horizontalAlign === 'object') {
|
|
@@ -95,7 +103,15 @@ const Col = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
95
103
|
lg: offsetsWithIheritance[3],
|
|
96
104
|
xl: offsetsWithIheritance[4]
|
|
97
105
|
};
|
|
98
|
-
const
|
|
106
|
+
const staticStyles = {
|
|
107
|
+
flexGrow: 1,
|
|
108
|
+
flexShrink: 0,
|
|
109
|
+
flexBasis: 'auto',
|
|
110
|
+
maxWidth: '100%',
|
|
111
|
+
paddingLeft: gutter ? 16 : 0,
|
|
112
|
+
paddingRight: gutter ? 16 : 0
|
|
113
|
+
};
|
|
114
|
+
const stylesByViewport = {
|
|
99
115
|
xs: {
|
|
100
116
|
display: hiddenLevels[0] === 0 ? 'none' : shown,
|
|
101
117
|
textAlign: horizontalAlignLevel[0],
|
|
@@ -126,27 +142,34 @@ const Col = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
126
142
|
...calculateWidth(sizes.xl),
|
|
127
143
|
...calculateOffset(offsets.xl)
|
|
128
144
|
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
145
|
+
};
|
|
146
|
+
let colStyles;
|
|
147
|
+
let mediaIds;
|
|
148
|
+
if (enableMediaQueryStyleSheet) {
|
|
149
|
+
const mediaQueryStyles = (0, _utils.createMediaQueryStyles)(stylesByViewport);
|
|
150
|
+
const {
|
|
151
|
+
ids,
|
|
152
|
+
styles
|
|
153
|
+
} = _utils.StyleSheet.create({
|
|
154
|
+
col: {
|
|
155
|
+
...staticStyles,
|
|
156
|
+
...mediaQueryStyles
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
colStyles = styles.col;
|
|
160
|
+
mediaIds = ids.col;
|
|
161
|
+
} else {
|
|
162
|
+
colStyles = {
|
|
163
|
+
...staticStyles,
|
|
164
|
+
...stylesByViewport[viewport]
|
|
165
|
+
};
|
|
166
|
+
}
|
|
144
167
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.BaseView, {
|
|
145
168
|
ref: ref,
|
|
146
169
|
...viewProps,
|
|
147
|
-
style:
|
|
148
|
-
dataSet: {
|
|
149
|
-
media:
|
|
170
|
+
style: colStyles,
|
|
171
|
+
dataSet: mediaIds && {
|
|
172
|
+
media: mediaIds
|
|
150
173
|
},
|
|
151
174
|
children: children
|
|
152
175
|
});
|
package/lib/FlexGrid/FlexGrid.js
CHANGED
|
@@ -12,6 +12,8 @@ var _Row = _interopRequireDefault(require("./Row"));
|
|
|
12
12
|
var _Col = _interopRequireDefault(require("./Col"));
|
|
13
13
|
var _GutterContext = _interopRequireDefault(require("./providers/GutterContext"));
|
|
14
14
|
var _helpers = _interopRequireDefault(require("./helpers"));
|
|
15
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
16
|
+
var _ViewportProvider = require("../ViewportProvider");
|
|
15
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
19
|
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); }
|
|
@@ -38,7 +40,15 @@ const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
38
40
|
...rest
|
|
39
41
|
} = _ref;
|
|
40
42
|
const reverseLevel = (0, _helpers.default)([xsReverse, smReverse, mdReverse, lgReverse, xlReverse]);
|
|
41
|
-
const
|
|
43
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
44
|
+
const {
|
|
45
|
+
themeOptions: {
|
|
46
|
+
enableMediaQueryStyleSheet
|
|
47
|
+
}
|
|
48
|
+
} = (0, _ThemeProvider.useTheme)();
|
|
49
|
+
let flexgridStyles;
|
|
50
|
+
let mediaIds;
|
|
51
|
+
const stylesByViewport = {
|
|
42
52
|
xs: {
|
|
43
53
|
flexDirection: reverseLevel[0] ? 'column-reverse' : 'column'
|
|
44
54
|
},
|
|
@@ -58,19 +68,32 @@ const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
58
68
|
maxWidth: limitWidth && _systemConstants.viewports.map.get('xl'),
|
|
59
69
|
flexDirection: reverseLevel[4] ? 'column-reverse' : 'column'
|
|
60
70
|
}
|
|
61
|
-
}
|
|
62
|
-
const {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
};
|
|
72
|
+
const staticStyles = {
|
|
73
|
+
flexWrap: 'wrap',
|
|
74
|
+
width: outsideGutter ? '100%' : 'auto',
|
|
75
|
+
marginVertical: 0,
|
|
76
|
+
marginHorizontal: outsideGutter ? 'auto' : -16
|
|
77
|
+
};
|
|
78
|
+
if (enableMediaQueryStyleSheet) {
|
|
79
|
+
const mediaQueryStyles = (0, _utils.createMediaQueryStyles)(stylesByViewport);
|
|
80
|
+
const {
|
|
81
|
+
ids,
|
|
82
|
+
styles
|
|
83
|
+
} = _utils.StyleSheet.create({
|
|
84
|
+
flexgrid: {
|
|
85
|
+
...staticStyles,
|
|
86
|
+
...mediaQueryStyles
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
flexgridStyles = styles.flexgrid;
|
|
90
|
+
mediaIds = ids.flexgrid;
|
|
91
|
+
} else {
|
|
92
|
+
flexgridStyles = {
|
|
93
|
+
...staticStyles,
|
|
94
|
+
...stylesByViewport[viewport]
|
|
95
|
+
};
|
|
96
|
+
}
|
|
74
97
|
const props = {
|
|
75
98
|
accessibilityRole,
|
|
76
99
|
...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
|
|
@@ -81,9 +104,9 @@ const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
81
104
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.BaseView, {
|
|
82
105
|
ref: ref,
|
|
83
106
|
...props,
|
|
84
|
-
style:
|
|
85
|
-
dataSet: {
|
|
86
|
-
media:
|
|
107
|
+
style: flexgridStyles,
|
|
108
|
+
dataSet: mediaIds && {
|
|
109
|
+
media: mediaIds
|
|
87
110
|
},
|
|
88
111
|
children: children
|
|
89
112
|
})
|
package/lib/FlexGrid/Row/Row.js
CHANGED
|
@@ -8,6 +8,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _helpers = _interopRequireDefault(require("../helpers"));
|
|
10
10
|
var _utils = require("../../utils");
|
|
11
|
+
var _ThemeProvider = require("../../ThemeProvider");
|
|
12
|
+
var _ViewportProvider = require("../../ViewportProvider");
|
|
11
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
15
|
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); }
|
|
@@ -78,8 +80,25 @@ const Row = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
78
80
|
children,
|
|
79
81
|
...rest
|
|
80
82
|
} = _ref;
|
|
83
|
+
const {
|
|
84
|
+
themeOptions: {
|
|
85
|
+
enableMediaQueryStyleSheet
|
|
86
|
+
}
|
|
87
|
+
} = (0, _ThemeProvider.useTheme)();
|
|
88
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
89
|
+
const staticStyles = {
|
|
90
|
+
width: '100%',
|
|
91
|
+
marginVertical: 0,
|
|
92
|
+
marginHorizontal: 'auto',
|
|
93
|
+
flexGrow: 0,
|
|
94
|
+
flexShrink: 1,
|
|
95
|
+
flexBasis: 'auto',
|
|
96
|
+
...horizontalAlignStyles(horizontalAlign),
|
|
97
|
+
...verticalAlignStyles(verticalAlign),
|
|
98
|
+
...distributeStyles(distribute)
|
|
99
|
+
};
|
|
81
100
|
const reverseLevel = (0, _helpers.default)([xsReverse, smReverse, mdReverse, lgReverse, xlReverse]);
|
|
82
|
-
const
|
|
101
|
+
const stylesByViewport = {
|
|
83
102
|
xs: {
|
|
84
103
|
flexDirection: reverseLevel[0] ? 'row-reverse' : 'row',
|
|
85
104
|
flexWrap: reverseLevel[0] ? 'wrap-reverse' : 'wrap'
|
|
@@ -100,30 +119,34 @@ const Row = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
100
119
|
flexDirection: reverseLevel[4] ? 'row-reverse' : 'row',
|
|
101
120
|
flexWrap: reverseLevel[4] ? 'wrap-reverse' : 'wrap'
|
|
102
121
|
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
};
|
|
123
|
+
let rowStyles;
|
|
124
|
+
let mediaIds;
|
|
125
|
+
if (enableMediaQueryStyleSheet) {
|
|
126
|
+
const mediaQueryStyles = (0, _utils.createMediaQueryStyles)(stylesByViewport);
|
|
127
|
+
const {
|
|
128
|
+
ids,
|
|
129
|
+
styles
|
|
130
|
+
} = _utils.StyleSheet.create({
|
|
131
|
+
row: {
|
|
132
|
+
...staticStyles,
|
|
133
|
+
...mediaQueryStyles
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
rowStyles = styles.row;
|
|
137
|
+
mediaIds = ids.row;
|
|
138
|
+
} else {
|
|
139
|
+
rowStyles = {
|
|
140
|
+
...staticStyles,
|
|
141
|
+
...stylesByViewport[viewport]
|
|
142
|
+
};
|
|
143
|
+
}
|
|
121
144
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.BaseView, {
|
|
122
145
|
ref: ref,
|
|
123
146
|
...rest,
|
|
124
|
-
style:
|
|
125
|
-
dataSet: {
|
|
126
|
-
media:
|
|
147
|
+
style: rowStyles,
|
|
148
|
+
dataSet: mediaIds && {
|
|
149
|
+
media: mediaIds
|
|
127
150
|
},
|
|
128
151
|
children: children
|
|
129
152
|
});
|
|
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
10
10
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
11
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
11
12
|
var _utils = require("../utils");
|
|
12
13
|
var _ExpandCollapse = _interopRequireDefault(require("../ExpandCollapse"));
|
|
13
14
|
var _ListboxItem = _interopRequireDefault(require("./ListboxItem"));
|
|
@@ -30,6 +31,11 @@ const styles = _StyleSheet.default.create({
|
|
|
30
31
|
padding: 0
|
|
31
32
|
}
|
|
32
33
|
});
|
|
34
|
+
const getAccessibilityRole = () => _Platform.default.select({
|
|
35
|
+
ios: 'listitem',
|
|
36
|
+
android: 'none',
|
|
37
|
+
web: 'listitem'
|
|
38
|
+
});
|
|
33
39
|
const ListboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
34
40
|
let {
|
|
35
41
|
id,
|
|
@@ -50,7 +56,7 @@ const ListboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
50
56
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
51
57
|
id: "test",
|
|
52
58
|
style: styles.groupWrapper,
|
|
53
|
-
accessibilityRole:
|
|
59
|
+
accessibilityRole: getAccessibilityRole(),
|
|
54
60
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandCollapse.default.Panel, {
|
|
55
61
|
panelId: id ?? label,
|
|
56
62
|
controlTokens: {
|
|
@@ -105,6 +105,7 @@ const MultiSelectFilter = _ref3 => {
|
|
|
105
105
|
if (colSize === 1) return setMaxWidth(false);
|
|
106
106
|
return colSize === 2 && setMaxWidth(true);
|
|
107
107
|
}, [colSize]);
|
|
108
|
+
(0, _react.useEffect)(() => setCheckedIds(currentValues ?? []), [currentValues]);
|
|
108
109
|
const {
|
|
109
110
|
headerFontColor,
|
|
110
111
|
headerFontSize,
|
|
@@ -22,10 +22,18 @@ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_u
|
|
|
22
22
|
const selectContainerStyles = tokens => ({
|
|
23
23
|
...tokens
|
|
24
24
|
});
|
|
25
|
-
const selectTextStyles = (tokens, themeOptions) =>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
const selectTextStyles = (tokens, themeOptions, isDismissible) => {
|
|
26
|
+
const textTokens = (0, _utils.selectTokens)('Typography', tokens);
|
|
27
|
+
const styles = {
|
|
28
|
+
...textTokens,
|
|
29
|
+
themeOptions,
|
|
30
|
+
overflow: 'hidden'
|
|
31
|
+
};
|
|
32
|
+
if (!isDismissible) {
|
|
33
|
+
styles.flexShrink = 1;
|
|
34
|
+
}
|
|
35
|
+
return (0, _ThemeProvider.applyTextStyles)(styles);
|
|
36
|
+
};
|
|
29
37
|
const selectIconProps = _ref => {
|
|
30
38
|
let {
|
|
31
39
|
iconSize,
|
|
@@ -146,7 +154,7 @@ const Notification = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
|
|
|
146
154
|
if (isDismissed) {
|
|
147
155
|
return null;
|
|
148
156
|
}
|
|
149
|
-
const textStyles = selectTextStyles(themeTokens, themeOptions);
|
|
157
|
+
const textStyles = selectTextStyles(themeTokens, themeOptions, dismissible);
|
|
150
158
|
const content = (0, _utils.wrapStringsInText)(typeof children === 'function' ? children({
|
|
151
159
|
textStyles,
|
|
152
160
|
variant
|
|
@@ -8,12 +8,18 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
10
10
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
11
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
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); }
|
|
14
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; }
|
|
15
16
|
/* eslint-disable react-native-a11y/has-valid-accessibility-role */
|
|
16
17
|
|
|
18
|
+
const getAccessibilityRole = () => _Platform.default.select({
|
|
19
|
+
ios: 'listitem',
|
|
20
|
+
android: 'none',
|
|
21
|
+
web: 'listitem'
|
|
22
|
+
});
|
|
17
23
|
const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
18
24
|
let {
|
|
19
25
|
children,
|
|
@@ -21,7 +27,7 @@ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
21
27
|
...rest
|
|
22
28
|
} = _ref;
|
|
23
29
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
24
|
-
accessibilityRole:
|
|
30
|
+
accessibilityRole: getAccessibilityRole(),
|
|
25
31
|
ref: ref,
|
|
26
32
|
style: [staticStyles.container, style],
|
|
27
33
|
...rest,
|
|
@@ -6,37 +6,47 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
10
|
+
var _ResponsiveProp = _interopRequireDefault(require("./ResponsiveProp"));
|
|
11
|
+
var _ResponsiveWithMediaQueryStyleSheet = _interopRequireDefault(require("./ResponsiveWithMediaQueryStyleSheet"));
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
14
|
/**
|
|
14
15
|
* Responsive conditionally renders children based on whether the viewport matches the provided
|
|
15
16
|
* min and max viewports.
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
+
* If enableMediaQueryStyleSheet themeOption is set to false in ThemeProvider, then in SSR,
|
|
19
|
+
* like other viewport utilities, it treats the viewport as `xs` both in SSR itself and
|
|
18
20
|
* during first hydration on the client side; then if the viewport is not `xs`, it re-renders
|
|
19
21
|
* after hydration. This may cause a layout shift on devices other than the narrowest.
|
|
22
|
+
*
|
|
23
|
+
* If enableMediaQueryStyleSheet themeOption is set to true in ThemeProvider, then media query stylesheet
|
|
24
|
+
* is used to hide and show children of `Responsive` within a View.
|
|
20
25
|
*/const Responsive = _ref => {
|
|
21
26
|
let {
|
|
22
27
|
min = 'xs',
|
|
23
28
|
max,
|
|
24
29
|
children
|
|
25
30
|
} = _ref;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
const {
|
|
32
|
+
themeOptions: {
|
|
33
|
+
enableMediaQueryStyleSheet
|
|
34
|
+
}
|
|
35
|
+
} = (0, _ThemeProvider.useTheme)();
|
|
36
|
+
if (enableMediaQueryStyleSheet) {
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResponsiveWithMediaQueryStyleSheet.default, {
|
|
38
|
+
min: min,
|
|
39
|
+
max: max,
|
|
40
|
+
children: children
|
|
41
|
+
});
|
|
35
42
|
}
|
|
36
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
37
|
-
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResponsiveProp.default, {
|
|
44
|
+
min: min,
|
|
45
|
+
max: max,
|
|
46
|
+
children: children
|
|
38
47
|
});
|
|
39
48
|
};
|
|
49
|
+
Responsive.displayName = 'Responsive';
|
|
40
50
|
Responsive.propTypes = {
|
|
41
51
|
/**
|
|
42
52
|
* To hide children of `Responsive` if the current viewport is smaller than `min`
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _systemConstants = require("@telus-uds/system-constants");
|
|
10
|
+
var _utils = require("../utils");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
const ResponsiveProp = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
min = 'xs',
|
|
16
|
+
max,
|
|
17
|
+
children
|
|
18
|
+
} = _ref;
|
|
19
|
+
const byViewports = {
|
|
20
|
+
[min]: children
|
|
21
|
+
};
|
|
22
|
+
if (max && max !== 'xl') {
|
|
23
|
+
// Stop returning children at the viewport one above 'max' or greater
|
|
24
|
+
const maxIndex = _systemConstants.viewports.keys.indexOf(max);
|
|
25
|
+
const maxPlusOne = maxIndex >= 0 ? _systemConstants.viewports.keys[maxIndex + 1] : null;
|
|
26
|
+
if (maxPlusOne) byViewports[maxPlusOne] = null;
|
|
27
|
+
}
|
|
28
|
+
const responsiveProp = (0, _utils.useResponsiveProp)(byViewports, null);
|
|
29
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
30
|
+
children: responsiveProp
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
ResponsiveProp.displayName = 'Responsive';
|
|
34
|
+
ResponsiveProp.propTypes = {
|
|
35
|
+
/**
|
|
36
|
+
* To hide children of `Responsive` if the current viewport is smaller than `min`
|
|
37
|
+
*/
|
|
38
|
+
min: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
|
|
39
|
+
/**
|
|
40
|
+
* To hide children of `Responsive` if the current viewport is larger than `max`
|
|
41
|
+
*/
|
|
42
|
+
max: _propTypes.default.oneOf(['sm', 'md', 'lg', 'xl']),
|
|
43
|
+
children: _propTypes.default.node.isRequired
|
|
44
|
+
};
|
|
45
|
+
var _default = ResponsiveProp;
|
|
46
|
+
exports.default = _default;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _systemConstants = require("@telus-uds/system-constants");
|
|
10
|
+
var _utils = require("../utils");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
function generateResponsiveStyles(min, max) {
|
|
14
|
+
const viewportsArray = _systemConstants.viewports.keys;
|
|
15
|
+
const minIndex = viewportsArray.indexOf(min);
|
|
16
|
+
const maxIndex = viewportsArray.indexOf(max);
|
|
17
|
+
let hiddenViewports = [];
|
|
18
|
+
if (minIndex !== -1) {
|
|
19
|
+
hiddenViewports = viewportsArray.slice(0, minIndex);
|
|
20
|
+
}
|
|
21
|
+
if (maxIndex !== -1) {
|
|
22
|
+
hiddenViewports = hiddenViewports.concat(viewportsArray.slice(maxIndex + 1));
|
|
23
|
+
}
|
|
24
|
+
const styles = {};
|
|
25
|
+
viewportsArray.forEach(viewport => {
|
|
26
|
+
if (hiddenViewports.includes(viewport)) {
|
|
27
|
+
styles[viewport] = {
|
|
28
|
+
display: 'none'
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return (0, _utils.createMediaQueryStyles)(styles, false);
|
|
33
|
+
}
|
|
34
|
+
const ResponsiveWithMediaQueryStyleSheet = _ref => {
|
|
35
|
+
let {
|
|
36
|
+
min,
|
|
37
|
+
max,
|
|
38
|
+
children
|
|
39
|
+
} = _ref;
|
|
40
|
+
const {
|
|
41
|
+
ids,
|
|
42
|
+
styles
|
|
43
|
+
} = _utils.StyleSheet.create({
|
|
44
|
+
responsive: {
|
|
45
|
+
flexDirection: 'inherit',
|
|
46
|
+
alignItems: 'inherit',
|
|
47
|
+
justifyContent: 'inherit',
|
|
48
|
+
...generateResponsiveStyles(min, max)
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.BaseView, {
|
|
52
|
+
style: styles.responsive,
|
|
53
|
+
dataSet: ids.responsive && {
|
|
54
|
+
media: ids.responsive
|
|
55
|
+
},
|
|
56
|
+
children: children
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
ResponsiveWithMediaQueryStyleSheet.displayName = 'Responsive';
|
|
60
|
+
ResponsiveWithMediaQueryStyleSheet.propTypes = {
|
|
61
|
+
/**
|
|
62
|
+
* To hide children of `Responsive` if the current viewport is smaller than `min`
|
|
63
|
+
*/
|
|
64
|
+
min: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
|
|
65
|
+
/**
|
|
66
|
+
* To hide children of `Responsive` if the current viewport is larger than `max`
|
|
67
|
+
*/
|
|
68
|
+
max: _propTypes.default.oneOf(['sm', 'md', 'lg', 'xl']),
|
|
69
|
+
children: _propTypes.default.node.isRequired
|
|
70
|
+
};
|
|
71
|
+
var _default = ResponsiveWithMediaQueryStyleSheet;
|
|
72
|
+
exports.default = _default;
|