@telus-uds/components-base 1.71.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 +37 -2
- package/lib/Box/Box.js +17 -6
- package/lib/ColourToggle/ColourBubble.js +135 -0
- package/lib/ColourToggle/ColourToggle.js +101 -0
- package/lib/ColourToggle/index.js +10 -0
- 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/Modal/ModalContent.js +4 -6
- package/lib/MultiSelectFilter/MultiSelectFilter.js +1 -0
- package/lib/Notification/Notification.js +13 -5
- package/lib/OrderedList/Item.js +180 -0
- package/lib/OrderedList/ItemBase.js +54 -0
- package/lib/OrderedList/OrderedList.js +71 -0
- package/lib/OrderedList/OrderedListBase.js +47 -0
- package/lib/OrderedList/index.js +10 -0
- 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/index.js +16 -0
- package/lib/server.js +40 -0
- package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +56 -0
- package/lib/utils/ssr-media-query/create-stylesheet/index.android.js +10 -0
- package/lib/utils/ssr-media-query/create-stylesheet/index.ios.js +10 -0
- package/lib/utils/ssr-media-query/create-stylesheet/index.js +44 -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/ColourToggle/ColourBubble.js +125 -0
- package/lib-module/ColourToggle/ColourToggle.js +92 -0
- package/lib-module/ColourToggle/index.js +2 -0
- 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/Modal/ModalContent.js +4 -6
- package/lib-module/MultiSelectFilter/MultiSelectFilter.js +1 -0
- package/lib-module/Notification/Notification.js +13 -5
- package/lib-module/OrderedList/Item.js +171 -0
- package/lib-module/OrderedList/ItemBase.js +43 -0
- package/lib-module/OrderedList/OrderedList.js +61 -0
- package/lib-module/OrderedList/OrderedListBase.js +36 -0
- package/lib-module/OrderedList/index.js +2 -0
- 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/index.js +2 -0
- package/lib-module/server.js +4 -0
- package/lib-module/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +48 -0
- package/lib-module/utils/ssr-media-query/create-stylesheet/index.android.js +2 -0
- package/lib-module/utils/ssr-media-query/create-stylesheet/index.ios.js +2 -0
- package/lib-module/utils/ssr-media-query/create-stylesheet/index.js +36 -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/ColourToggle/ColourBubble.jsx +111 -0
- package/src/ColourToggle/ColourToggle.jsx +83 -0
- package/src/ColourToggle/index.js +3 -0
- 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/Modal/ModalContent.jsx +4 -6
- package/src/MultiSelectFilter/MultiSelectFilter.jsx +2 -0
- package/src/Notification/Notification.jsx +15 -3
- package/src/OrderedList/Item.jsx +152 -0
- package/src/OrderedList/ItemBase.jsx +43 -0
- package/src/OrderedList/OrderedList.jsx +61 -0
- package/src/OrderedList/OrderedListBase.jsx +33 -0
- package/src/OrderedList/index.js +3 -0
- 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/index.js +2 -0
- package/src/server.js +4 -0
- package/src/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +41 -0
- package/src/utils/ssr-media-query/create-stylesheet/index.android.js +3 -0
- package/src/utils/ssr-media-query/create-stylesheet/index.ios.js +3 -0
- package/src/utils/ssr-media-query/create-stylesheet/index.js +33 -0
- package/src/utils/ssr-media-query/utils/create-media-query-styles.js +21 -6
- package/types/Badge.d.ts +28 -0
- package/types/Box.d.ts +52 -0
- package/types/ChevronLink.d.ts +47 -0
- package/types/Common.d.ts +106 -0
- package/types/Divider.d.ts +19 -0
- package/types/ExpandCollapse.d.ts +65 -0
- package/types/HorizontalScrollButton.d.ts +16 -0
- package/types/Icon.d.ts +21 -0
- package/types/Link.d.ts +48 -0
- package/types/List.d.ts +48 -0
- package/types/Search.d.ts +38 -0
- package/types/Select.d.ts +57 -0
- package/types/Spacer.d.ts +5 -0
- package/types/StackView.d.ts +28 -0
- package/types/Tabs.d.ts +46 -0
- package/types/TextButton.d.ts +11 -0
- package/types/ToggleSwitch.d.ts +54 -0
- package/types/ToolTip.d.ts +40 -0
- package/types/Typography.d.ts +39 -0
- package/types/index.d.ts +62 -0
- package/lib/utils/ssr-media-query/create-stylesheet.js +0 -76
- package/lib-module/utils/ssr-media-query/create-stylesheet.js +0 -68
- package/src/utils/ssr-media-query/create-stylesheet.js +0 -61
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,47 @@
|
|
|
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
|
+
|
|
25
|
+
## 1.72.0
|
|
26
|
+
|
|
27
|
+
Wed, 13 Dec 2023 21:24:24 GMT
|
|
28
|
+
|
|
29
|
+
### Minor changes
|
|
30
|
+
|
|
31
|
+
- refactor ordered-list for multiplatform (guillermo.peitzner@telus.com)
|
|
32
|
+
- copy over mta type files to components base (evander.owusu@telus.com)
|
|
33
|
+
- new Colourtoggle component (mauricio.batresmontejo@telus.com)
|
|
34
|
+
- Bump @telus-uds/system-theme-tokens to v2.48.0
|
|
35
|
+
|
|
36
|
+
### Patches
|
|
37
|
+
|
|
38
|
+
- change to rnmq approach so rnw is not needed as dep for RN (srikanthkhari@gmail.com)
|
|
39
|
+
- adding viewport for consulting tokens (mauricio.batresmontejo@telus.com)
|
|
40
|
+
- fix modal content (mauricio.batresmontejo@telus.com)
|
|
41
|
+
|
|
7
42
|
## 1.71.0
|
|
8
43
|
|
|
9
|
-
Fri, 01 Dec 2023
|
|
44
|
+
Fri, 01 Dec 2023 21:08:36 GMT
|
|
10
45
|
|
|
11
46
|
### Minor changes
|
|
12
47
|
|
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;
|
|
@@ -0,0 +1,135 @@
|
|
|
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 _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
|
|
11
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
12
|
+
var _pressability = require("../utils/pressability");
|
|
13
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
const selectGeneralBubbleTokens = _ref => {
|
|
19
|
+
let {
|
|
20
|
+
outerBubbleHeight,
|
|
21
|
+
outerBubbleWidth,
|
|
22
|
+
outerBubbleContentAlignItems,
|
|
23
|
+
outerBubbleJustifyContent,
|
|
24
|
+
bubbleBorderColor,
|
|
25
|
+
bubbleBorderWidth,
|
|
26
|
+
bubbleBorderRadius
|
|
27
|
+
} = _ref;
|
|
28
|
+
return {
|
|
29
|
+
height: outerBubbleHeight,
|
|
30
|
+
width: outerBubbleWidth,
|
|
31
|
+
justifyContent: outerBubbleContentAlignItems,
|
|
32
|
+
alignItems: outerBubbleJustifyContent,
|
|
33
|
+
borderColor: bubbleBorderColor,
|
|
34
|
+
borderWidth: bubbleBorderWidth,
|
|
35
|
+
borderRadius: bubbleBorderRadius,
|
|
36
|
+
..._Platform.default.select({
|
|
37
|
+
web: {
|
|
38
|
+
outline: 'none'
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
const selectInnerBubbleTokens = _ref2 => {
|
|
44
|
+
let {
|
|
45
|
+
innerBubbleHeight,
|
|
46
|
+
innerBubbleWidth,
|
|
47
|
+
innerBubbleBorderRadius,
|
|
48
|
+
borderColor,
|
|
49
|
+
borderWidth,
|
|
50
|
+
shadow
|
|
51
|
+
} = _ref2;
|
|
52
|
+
return {
|
|
53
|
+
height: innerBubbleHeight,
|
|
54
|
+
width: innerBubbleWidth,
|
|
55
|
+
borderRadius: innerBubbleBorderRadius,
|
|
56
|
+
borderColor,
|
|
57
|
+
borderWidth,
|
|
58
|
+
...(0, _ThemeProvider.applyShadowToken)(shadow)
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
const selectBorderBubbleTokens = _ref3 => {
|
|
62
|
+
let {
|
|
63
|
+
bubbleBorderColor,
|
|
64
|
+
bubbleBorderWidth,
|
|
65
|
+
bubbleBorderRadius
|
|
66
|
+
} = _ref3;
|
|
67
|
+
return {
|
|
68
|
+
borderColor: bubbleBorderColor,
|
|
69
|
+
borderWidth: bubbleBorderWidth,
|
|
70
|
+
borderRadius: bubbleBorderRadius
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
const ColourBubble = /*#__PURE__*/(0, _react.forwardRef)((_ref4, ref) => {
|
|
74
|
+
let {
|
|
75
|
+
tokens = {},
|
|
76
|
+
id,
|
|
77
|
+
colourHexCode,
|
|
78
|
+
colourName,
|
|
79
|
+
isSelected,
|
|
80
|
+
onPress
|
|
81
|
+
} = _ref4;
|
|
82
|
+
const defaultTokens = tokens({
|
|
83
|
+
selected: isSelected
|
|
84
|
+
});
|
|
85
|
+
const resolveColourBubbleTokens = pressState => (0, _pressability.resolvePressableTokens)(tokens, pressState, {});
|
|
86
|
+
const themeTokens = (0, _react.useMemo)(() => tokens(), [tokens]);
|
|
87
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
|
|
88
|
+
style: state => [selectGeneralBubbleTokens(resolveColourBubbleTokens(state)), isSelected && selectBorderBubbleTokens(defaultTokens)],
|
|
89
|
+
onPress: onPress,
|
|
90
|
+
accessible: true,
|
|
91
|
+
accessibilityRole: "radio",
|
|
92
|
+
accessibilityLabel: colourName,
|
|
93
|
+
accessibilityState: {
|
|
94
|
+
checked: isSelected
|
|
95
|
+
},
|
|
96
|
+
ref: ref,
|
|
97
|
+
testID: id,
|
|
98
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
99
|
+
style: [selectInnerBubbleTokens(themeTokens), {
|
|
100
|
+
backgroundColor: colourHexCode
|
|
101
|
+
}]
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
ColourBubble.displayName = 'ColourBubble';
|
|
106
|
+
ColourBubble.propTypes = {
|
|
107
|
+
/**
|
|
108
|
+
* Colour toggle tokens callback.
|
|
109
|
+
*/
|
|
110
|
+
tokens: _propTypes.default.func,
|
|
111
|
+
/**
|
|
112
|
+
* ID of each colour bubble
|
|
113
|
+
*/
|
|
114
|
+
id: _propTypes.default.string,
|
|
115
|
+
/**
|
|
116
|
+
* Hexadecimal code for the background of the colour bubble
|
|
117
|
+
*/
|
|
118
|
+
colourHexCode: _propTypes.default.string,
|
|
119
|
+
/**
|
|
120
|
+
* Name of the colour bubble
|
|
121
|
+
*/
|
|
122
|
+
colourName: _propTypes.default.string,
|
|
123
|
+
/**
|
|
124
|
+
* If the current colour bubble is selected
|
|
125
|
+
*/
|
|
126
|
+
isSelected: _propTypes.default.bool,
|
|
127
|
+
/**
|
|
128
|
+
* If provided, this function is called when the current selection
|
|
129
|
+
* of the color is changed of all currently `items`.
|
|
130
|
+
* Receives two parameters: item object selected and the event
|
|
131
|
+
*/
|
|
132
|
+
onPress: _propTypes.default.func
|
|
133
|
+
};
|
|
134
|
+
var _default = ColourBubble;
|
|
135
|
+
exports.default = _default;
|
|
@@ -0,0 +1,101 @@
|
|
|
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 _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
11
|
+
var _utils = require("../utils");
|
|
12
|
+
var _StackView = require("../StackView");
|
|
13
|
+
var _Typography = _interopRequireDefault(require("../Typography"));
|
|
14
|
+
var _ColourBubble = _interopRequireDefault(require("./ColourBubble"));
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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); }
|
|
18
|
+
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; }
|
|
19
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
20
|
+
const ColourToggle = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
21
|
+
let {
|
|
22
|
+
tokens,
|
|
23
|
+
variant,
|
|
24
|
+
defaultColourId,
|
|
25
|
+
items,
|
|
26
|
+
onChange,
|
|
27
|
+
...rest
|
|
28
|
+
} = _ref;
|
|
29
|
+
const [currentColourId, setCurrentColourId] = (0, _react.useState)(defaultColourId);
|
|
30
|
+
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('ColourToggle', tokens, variant);
|
|
31
|
+
const {
|
|
32
|
+
space
|
|
33
|
+
} = getTokens();
|
|
34
|
+
const {
|
|
35
|
+
colourName: currentColourName = ''
|
|
36
|
+
} = items.find(item => item.id === currentColourId) || '';
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
|
|
38
|
+
ref: ref,
|
|
39
|
+
...selectProps(rest),
|
|
40
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
41
|
+
children: currentColourName
|
|
42
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.StackWrap, {
|
|
43
|
+
space: space,
|
|
44
|
+
accessibilityRole: "radiogroup",
|
|
45
|
+
children: items.map((_ref2, index) => {
|
|
46
|
+
let {
|
|
47
|
+
id,
|
|
48
|
+
colourHexCode,
|
|
49
|
+
colourName
|
|
50
|
+
} = _ref2;
|
|
51
|
+
const colourBubbleId = id || `ColourBubble[${index}]`;
|
|
52
|
+
const handleChangeColour = event => {
|
|
53
|
+
setCurrentColourId(id);
|
|
54
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event, {
|
|
55
|
+
id,
|
|
56
|
+
colourHexCode,
|
|
57
|
+
colourName
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ColourBubble.default, {
|
|
61
|
+
id: colourBubbleId,
|
|
62
|
+
tokens: getTokens,
|
|
63
|
+
isSelected: id === currentColourId,
|
|
64
|
+
colourHexCode: colourHexCode,
|
|
65
|
+
colourName: colourName,
|
|
66
|
+
onPress: handleChangeColour
|
|
67
|
+
}, colourBubbleId);
|
|
68
|
+
})
|
|
69
|
+
})]
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
ColourToggle.displayName = 'ColourToggle';
|
|
73
|
+
ColourToggle.propTypes = {
|
|
74
|
+
...selectedSystemPropTypes,
|
|
75
|
+
/**
|
|
76
|
+
* Optional theme token overrides for the outer ColourToggle component
|
|
77
|
+
*/
|
|
78
|
+
tokens: (0, _utils.getTokensPropType)('ColourToggle'),
|
|
79
|
+
/**
|
|
80
|
+
* Colour toggle variant.
|
|
81
|
+
*/
|
|
82
|
+
variant: _utils.variantProp.propType,
|
|
83
|
+
/**
|
|
84
|
+
* Id of the selected color when component mounts
|
|
85
|
+
*/
|
|
86
|
+
defaultColourId: _propTypes.default.string,
|
|
87
|
+
/**
|
|
88
|
+
* Array of objects containing specifics for each ColourBubble to be rendered in the group.
|
|
89
|
+
*/
|
|
90
|
+
items: _propTypes.default.arrayOf(_propTypes.default.exact({
|
|
91
|
+
colourHexCode: _propTypes.default.string,
|
|
92
|
+
colourName: _propTypes.default.string,
|
|
93
|
+
id: _propTypes.default.string
|
|
94
|
+
})),
|
|
95
|
+
/**
|
|
96
|
+
* If provided, this function is called when the current selection of the color is changed of all currently `items`. Receives two parameters: item object selected and the event
|
|
97
|
+
*/
|
|
98
|
+
onChange: _propTypes.default.func
|
|
99
|
+
};
|
|
100
|
+
var _default = ColourToggle;
|
|
101
|
+
exports.default = _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _ColourToggle = _interopRequireDefault(require("./ColourToggle"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
var _default = _ColourToggle.default;
|
|
10
|
+
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: {
|