@telus-uds/components-base 1.15.0 → 1.17.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 +36 -2
- package/component-docs.json +1322 -346
- package/lib/BaseProvider/index.js +5 -1
- package/lib/Button/ButtonBase.js +2 -1
- package/lib/Carousel/Carousel.js +18 -2
- package/lib/Carousel/CarouselTabs/CarouselTabs.js +6 -7
- package/lib/List/List.js +11 -8
- package/lib/List/PressableListItemBase.js +5 -9
- package/lib/QuickLinks/QuickLinks.js +91 -0
- package/lib/QuickLinks/QuickLinksCard.js +47 -0
- package/lib/QuickLinks/QuickLinksItem.js +73 -0
- package/lib/QuickLinks/index.js +16 -0
- package/lib/Skeleton/Skeleton.js +18 -13
- package/lib/Skeleton/useSkeletonNativeAnimation.js +4 -2
- package/lib/Timeline/Timeline.js +193 -0
- package/lib/Timeline/index.js +13 -0
- package/lib/ToggleSwitch/ToggleSwitch.js +24 -19
- package/lib/index.js +28 -1
- package/lib/utils/props/a11yProps.js +50 -47
- package/lib-module/BaseProvider/index.js +4 -1
- package/lib-module/Button/ButtonBase.js +2 -1
- package/lib-module/Carousel/Carousel.js +16 -2
- package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +7 -6
- package/lib-module/List/List.js +12 -8
- package/lib-module/List/PressableListItemBase.js +6 -10
- package/lib-module/QuickLinks/QuickLinks.js +71 -0
- package/lib-module/QuickLinks/QuickLinksCard.js +33 -0
- package/lib-module/QuickLinks/QuickLinksItem.js +50 -0
- package/lib-module/QuickLinks/index.js +4 -0
- package/lib-module/Skeleton/Skeleton.js +15 -13
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +3 -2
- package/lib-module/Timeline/Timeline.js +174 -0
- package/lib-module/Timeline/index.js +2 -0
- package/lib-module/ToggleSwitch/ToggleSwitch.js +24 -19
- package/lib-module/index.js +4 -1
- package/lib-module/utils/props/a11yProps.js +50 -47
- package/package.json +8 -7
- package/src/BaseProvider/index.jsx +2 -1
- package/src/Button/ButtonBase.jsx +2 -2
- package/src/Carousel/Carousel.jsx +15 -2
- package/src/Carousel/CarouselTabs/CarouselTabs.jsx +5 -3
- package/src/List/List.jsx +9 -13
- package/src/List/PressableListItemBase.jsx +7 -9
- package/src/QuickLinks/QuickLinks.jsx +61 -0
- package/src/QuickLinks/QuickLinksCard.jsx +26 -0
- package/src/QuickLinks/QuickLinksItem.jsx +46 -0
- package/src/QuickLinks/index.js +6 -0
- package/src/Skeleton/Skeleton.jsx +25 -19
- package/src/Skeleton/useSkeletonNativeAnimation.js +3 -3
- package/src/Timeline/Timeline.jsx +148 -0
- package/src/Timeline/index.js +3 -0
- package/src/ToggleSwitch/ToggleSwitch.jsx +3 -3
- package/src/index.js +3 -0
- package/src/utils/props/a11yProps.js +61 -68
|
@@ -9,6 +9,8 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
|
+
var _portal = require("@gorhom/portal");
|
|
13
|
+
|
|
12
14
|
var _A11yInfoProvider = _interopRequireDefault(require("../A11yInfoProvider"));
|
|
13
15
|
|
|
14
16
|
var _ViewportProvider = _interopRequireDefault(require("../ViewportProvider"));
|
|
@@ -32,7 +34,9 @@ const BaseProvider = _ref => {
|
|
|
32
34
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ThemeProvider.default, {
|
|
33
35
|
defaultTheme: defaultTheme,
|
|
34
36
|
themeOptions: themeOptions,
|
|
35
|
-
children:
|
|
37
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.PortalProvider, {
|
|
38
|
+
children: children
|
|
39
|
+
})
|
|
36
40
|
})
|
|
37
41
|
})
|
|
38
42
|
});
|
package/lib/Button/ButtonBase.js
CHANGED
|
@@ -195,11 +195,12 @@ const selectWebOnlyStyles = (inactive, themeTokens, _ref7) => {
|
|
|
195
195
|
const selectItemIconTokens = _ref8 => {
|
|
196
196
|
let {
|
|
197
197
|
color,
|
|
198
|
+
iconColor,
|
|
198
199
|
iconSize
|
|
199
200
|
} = _ref8;
|
|
200
201
|
return {
|
|
201
202
|
size: iconSize,
|
|
202
|
-
color
|
|
203
|
+
color: iconColor || color
|
|
203
204
|
};
|
|
204
205
|
};
|
|
205
206
|
|
package/lib/Carousel/Carousel.js
CHANGED
|
@@ -41,6 +41,10 @@ var _CarouselStepTracker = _interopRequireDefault(require("./CarouselStepTracker
|
|
|
41
41
|
|
|
42
42
|
var _CarouselThumbnailNavigation = _interopRequireDefault(require("./CarouselThumbnailNavigation"));
|
|
43
43
|
|
|
44
|
+
var _CarouselTabsPanel = _interopRequireDefault(require("./CarouselTabs/CarouselTabsPanel"));
|
|
45
|
+
|
|
46
|
+
var _CarouselTabsPanelItem = _interopRequireDefault(require("./CarouselTabs/CarouselTabsPanelItem"));
|
|
47
|
+
|
|
44
48
|
var _dictionary = _interopRequireDefault(require("./dictionary"));
|
|
45
49
|
|
|
46
50
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -166,7 +170,8 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
166
170
|
onAnimationEnd,
|
|
167
171
|
onIndexChanged,
|
|
168
172
|
skipLinkHref,
|
|
169
|
-
|
|
173
|
+
tabs,
|
|
174
|
+
refocus = Boolean(tabs),
|
|
170
175
|
title = 'carousel',
|
|
171
176
|
springConfig = undefined,
|
|
172
177
|
thumbnails = undefined,
|
|
@@ -189,6 +194,7 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
189
194
|
nextIcon,
|
|
190
195
|
showPreviousNextNavigation,
|
|
191
196
|
showPanelNavigation,
|
|
197
|
+
showPanelTabs,
|
|
192
198
|
spaceBetweenSlideAndPreviousNextNavigation
|
|
193
199
|
} = themeTokens;
|
|
194
200
|
|
|
@@ -442,6 +448,9 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
442
448
|
return "".concat(copyText[0].toUpperCase()).concat(copyText.slice(1));
|
|
443
449
|
}, [activeIndex, childrenArray.length, itemLabel, getCopy, title]);
|
|
444
450
|
|
|
451
|
+
const activePanelNavigation = tabs && showPanelTabs ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CarouselTabsPanel.default, {
|
|
452
|
+
items: tabs
|
|
453
|
+
}) : panelNavigation;
|
|
445
454
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CarouselContext.CarouselProvider, {
|
|
446
455
|
activeIndex: activeIndex,
|
|
447
456
|
goTo: goTo,
|
|
@@ -517,7 +526,7 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
517
526
|
accessibilityLabel: getCopyWithPlaceholders('iconButtonLabel').replace('%{targetStep}', activeIndex + 2)
|
|
518
527
|
})
|
|
519
528
|
})]
|
|
520
|
-
}), showPanelNavigation ?
|
|
529
|
+
}), showPanelNavigation ? activePanelNavigation : null]
|
|
521
530
|
});
|
|
522
531
|
});
|
|
523
532
|
|
|
@@ -599,6 +608,13 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
599
608
|
*/
|
|
600
609
|
skipLinkHref: _propTypes.default.string,
|
|
601
610
|
|
|
611
|
+
/**
|
|
612
|
+
* If provided, defaults the navigation panel to a CarouselTabsPanel element passing each item as props for one tab.
|
|
613
|
+
*
|
|
614
|
+
* Be careful to ensure that the order of each element in the items array matches the order of each child in the Carousel.
|
|
615
|
+
*/
|
|
616
|
+
tabs: _propTypes.default.arrayOf(_propTypes.default.shape(_CarouselTabsPanelItem.default.propTypes || {})),
|
|
617
|
+
|
|
602
618
|
/**
|
|
603
619
|
* If true, whenever a new slide comes into view, the focus of the Carousel switches to the start.
|
|
604
620
|
*
|
|
@@ -13,8 +13,6 @@ var _utils = require("../../utils");
|
|
|
13
13
|
|
|
14
14
|
var _Carousel = _interopRequireDefault(require("../Carousel"));
|
|
15
15
|
|
|
16
|
-
var _CarouselTabsPanel = _interopRequireDefault(require("./CarouselTabsPanel"));
|
|
17
|
-
|
|
18
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
17
|
|
|
20
18
|
var _CarouselTabs$propTyp, _CarouselTabs$propTyp2;
|
|
@@ -25,22 +23,23 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
23
|
|
|
26
24
|
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; }
|
|
27
25
|
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Please use Carousel and pass the `tabs` prop.
|
|
28
|
+
*/
|
|
28
29
|
const CarouselTabs = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
29
30
|
let {
|
|
30
31
|
items,
|
|
31
32
|
refocus = true,
|
|
32
33
|
...carouselProps
|
|
33
34
|
} = _ref;
|
|
34
|
-
const
|
|
35
|
-
md:
|
|
36
|
-
items: items
|
|
37
|
-
})
|
|
35
|
+
const tabs = (0, _utils.useResponsiveProp)({
|
|
36
|
+
md: items
|
|
38
37
|
});
|
|
39
38
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Carousel.default, {
|
|
40
39
|
refocus: refocus,
|
|
41
40
|
...carouselProps,
|
|
42
41
|
ref: ref,
|
|
43
|
-
|
|
42
|
+
tabs: tabs,
|
|
44
43
|
children: items.map(_ref2 => {
|
|
45
44
|
let {
|
|
46
45
|
title,
|
package/lib/List/List.js
CHANGED
|
@@ -15,8 +15,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
15
15
|
|
|
16
16
|
var _utils = require("../utils");
|
|
17
17
|
|
|
18
|
-
var _ListItem = _interopRequireDefault(require("./ListItem"));
|
|
19
|
-
|
|
20
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
19
|
|
|
22
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -26,11 +24,20 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
26
24
|
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; }
|
|
27
25
|
|
|
28
26
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
27
|
+
|
|
28
|
+
const isListItem = element => {
|
|
29
|
+
var _element$type, _element$type2;
|
|
30
|
+
|
|
31
|
+
const elementName = (element === null || element === void 0 ? void 0 : (_element$type = element.type) === null || _element$type === void 0 ? void 0 : _element$type.displayName) || (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2.name); // Match our own ListItem, and also, custom list items
|
|
32
|
+
|
|
33
|
+
return Boolean(elementName.match(/Item/));
|
|
34
|
+
};
|
|
29
35
|
/**
|
|
30
36
|
* An unordered List component has a child a ListItem that
|
|
31
37
|
* allows icon, dividers and customized typography
|
|
32
38
|
*/
|
|
33
39
|
|
|
40
|
+
|
|
34
41
|
const List = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
35
42
|
let {
|
|
36
43
|
children,
|
|
@@ -45,12 +52,8 @@ const List = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
45
52
|
} = _ref;
|
|
46
53
|
|
|
47
54
|
const items = _react.Children.map(children, (child, index) => {
|
|
48
|
-
var _child$type, _child$type2;
|
|
49
|
-
|
|
50
55
|
// Pass ListItem-specific props to children (by name so teams can add their own ListItems)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (isListItem(child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) || isListItem(child === null || child === void 0 ? void 0 : (_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.name)) {
|
|
56
|
+
if (isListItem(child)) {
|
|
54
57
|
return /*#__PURE__*/(0, _react.cloneElement)(child, {
|
|
55
58
|
showDivider,
|
|
56
59
|
isLastItem: index + 1 === _react.Children.count(children),
|
|
@@ -74,7 +77,7 @@ List.displayName = 'List';
|
|
|
74
77
|
List.propTypes = { ...selectedSystemPropTypes,
|
|
75
78
|
tokens: (0, _utils.getTokensPropType)('List'),
|
|
76
79
|
variant: _utils.variantProp.propType,
|
|
77
|
-
children:
|
|
80
|
+
children: _propTypes.default.node,
|
|
78
81
|
|
|
79
82
|
/**
|
|
80
83
|
* In case it is not the last item allow display divider
|
|
@@ -21,9 +21,9 @@ var _utils = require("../utils");
|
|
|
21
21
|
|
|
22
22
|
var _ListItemBase = _interopRequireDefault(require("./ListItemBase"));
|
|
23
23
|
|
|
24
|
-
var _ListItemContent =
|
|
24
|
+
var _ListItemContent = _interopRequireDefault(require("./ListItemContent"));
|
|
25
25
|
|
|
26
|
-
var _ListItemMark =
|
|
26
|
+
var _ListItemMark = _interopRequireDefault(require("./ListItemMark"));
|
|
27
27
|
|
|
28
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
29
|
|
|
@@ -82,9 +82,10 @@ const PressableListItemBase = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) =
|
|
|
82
82
|
onPress
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
+
const listItemTokens = (0, _utils.selectTokens)('List', typeof tokens === 'function' ? tokens() : tokens);
|
|
85
86
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemBase.default, {
|
|
86
87
|
ref: listItemRef,
|
|
87
|
-
tokens:
|
|
88
|
+
tokens: listItemTokens,
|
|
88
89
|
...listItemProps,
|
|
89
90
|
children: _ref3 => {
|
|
90
91
|
let {
|
|
@@ -125,17 +126,12 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
125
126
|
itemContainer: {
|
|
126
127
|
flexDirection: 'row',
|
|
127
128
|
flex: 1
|
|
128
|
-
},
|
|
129
|
-
tokens: { ..._ListItemContent.tokenTypes,
|
|
130
|
-
..._ListItemMark.tokenTypes
|
|
131
129
|
}
|
|
132
130
|
});
|
|
133
131
|
|
|
134
|
-
PressableListItemBase.propTypes = {
|
|
132
|
+
PressableListItemBase.propTypes = { ..._utils.withLinkRouter.propTypes,
|
|
135
133
|
href: _propTypes.default.string,
|
|
136
134
|
onPress: _propTypes.default.func,
|
|
137
|
-
// TODO - type this better, maybe import the subcomponent token types and run it through util
|
|
138
|
-
// eslint-disable-next-line react/forbid-prop-types
|
|
139
135
|
tokens: _propTypes.default.any,
|
|
140
136
|
icon: _propTypes.default.elementType,
|
|
141
137
|
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
13
|
+
|
|
14
|
+
var _ViewportProvider = require("../ViewportProvider");
|
|
15
|
+
|
|
16
|
+
var _utils = require("../utils");
|
|
17
|
+
|
|
18
|
+
var _List = _interopRequireDefault(require("../List"));
|
|
19
|
+
|
|
20
|
+
var _StackWrap = _interopRequireDefault(require("../StackView/StackWrap"));
|
|
21
|
+
|
|
22
|
+
var _QuickLinksCard = _interopRequireDefault(require("./QuickLinksCard"));
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* QuickLinks renders a list of interactive items. How it renders these items depends on theme options:
|
|
34
|
+
* - If the theme returns `list` token as true, it renders an ordered list based on List
|
|
35
|
+
* - If the theme returns `button` token as true and `list` as false, it renders a wrapping horizontal bar of buttons
|
|
36
|
+
* - If the theme returns `card` token as true, it wraps the above with a `Card`.
|
|
37
|
+
*/
|
|
38
|
+
const QuickLinks = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
39
|
+
let {
|
|
40
|
+
tokens,
|
|
41
|
+
variant,
|
|
42
|
+
listTokens,
|
|
43
|
+
cardTokens,
|
|
44
|
+
children,
|
|
45
|
+
tag = 'ul',
|
|
46
|
+
...rest
|
|
47
|
+
} = _ref;
|
|
48
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
49
|
+
const {
|
|
50
|
+
dividers,
|
|
51
|
+
list,
|
|
52
|
+
card,
|
|
53
|
+
stackSpace,
|
|
54
|
+
stackGap,
|
|
55
|
+
stackJustify
|
|
56
|
+
} = (0, _ThemeProvider.useThemeTokens)('QuickLinks', tokens, variant, {
|
|
57
|
+
viewport
|
|
58
|
+
});
|
|
59
|
+
const content = list && /*#__PURE__*/(0, _jsxRuntime.jsx)(_List.default, {
|
|
60
|
+
ref: ref,
|
|
61
|
+
tokens: listTokens,
|
|
62
|
+
showDivider: dividers,
|
|
63
|
+
tag: tag,
|
|
64
|
+
...rest,
|
|
65
|
+
children: children
|
|
66
|
+
}) || /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackWrap.default, {
|
|
67
|
+
space: stackSpace,
|
|
68
|
+
gap: stackGap,
|
|
69
|
+
tokens: {
|
|
70
|
+
justifyContent: stackJustify
|
|
71
|
+
},
|
|
72
|
+
tag: tag,
|
|
73
|
+
...rest,
|
|
74
|
+
children: children
|
|
75
|
+
});
|
|
76
|
+
return card ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_QuickLinksCard.default, {
|
|
77
|
+
tokens: cardTokens,
|
|
78
|
+
children: content
|
|
79
|
+
}) : content;
|
|
80
|
+
});
|
|
81
|
+
QuickLinks.displayName = 'QuickLinks';
|
|
82
|
+
QuickLinks.propTypes = {
|
|
83
|
+
tokens: (0, _utils.getTokensPropType)('QuickLinks'),
|
|
84
|
+
cardTokens: (0, _utils.getTokensPropType)('Card'),
|
|
85
|
+
listTokens: (0, _utils.getTokensPropType)('QuickLinksList'),
|
|
86
|
+
tag: _propTypes.default.string,
|
|
87
|
+
variant: _utils.variantProp.propType,
|
|
88
|
+
children: _propTypes.default.node
|
|
89
|
+
};
|
|
90
|
+
var _default = QuickLinks;
|
|
91
|
+
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
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
13
|
+
|
|
14
|
+
var _utils = require("../utils");
|
|
15
|
+
|
|
16
|
+
var _CardBase = _interopRequireDefault(require("../Card/CardBase"));
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Private subcomponent for use within QuickLinks.
|
|
24
|
+
*
|
|
25
|
+
* Restyled Card with identical behaviour to Card, but themed according to the
|
|
26
|
+
* QuickLinksCard theme rather than the Card theme.
|
|
27
|
+
*/
|
|
28
|
+
const QuickLinksList = _ref => {
|
|
29
|
+
let {
|
|
30
|
+
tokens,
|
|
31
|
+
variant,
|
|
32
|
+
children
|
|
33
|
+
} = _ref;
|
|
34
|
+
const themeTokens = (0, _ThemeProvider.useThemeTokens)('QuickLinksCard', tokens, variant);
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
|
|
36
|
+
tokens: themeTokens,
|
|
37
|
+
children: children
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
QuickLinksList.propTypes = {
|
|
42
|
+
tokens: (0, _utils.getTokensPropType)('QuickLinksCard'),
|
|
43
|
+
variant: _utils.variantProp.propType,
|
|
44
|
+
children: _propTypes.default.node
|
|
45
|
+
};
|
|
46
|
+
var _default = QuickLinksList;
|
|
47
|
+
exports.default = _default;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _utils = require("../utils");
|
|
13
|
+
|
|
14
|
+
var _ViewportProvider = require("../ViewportProvider");
|
|
15
|
+
|
|
16
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
17
|
+
|
|
18
|
+
var _PressableListItemBase = _interopRequireDefault(require("../List/PressableListItemBase"));
|
|
19
|
+
|
|
20
|
+
var _ButtonBase = _interopRequireDefault(require("../Button/ButtonBase"));
|
|
21
|
+
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Public component exported as QuickLinks.Item, for use as children of QuickLinks.
|
|
32
|
+
*
|
|
33
|
+
* Receives props injected by QuickLinks and renders the appropriate child component.
|
|
34
|
+
*/
|
|
35
|
+
const QuickLinksItem = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
36
|
+
let {
|
|
37
|
+
tokens,
|
|
38
|
+
variant,
|
|
39
|
+
children,
|
|
40
|
+
...rest
|
|
41
|
+
} = _ref;
|
|
42
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
43
|
+
const {
|
|
44
|
+
list
|
|
45
|
+
} = (0, _ThemeProvider.useThemeTokens)('QuickLinks', tokens, variant, {
|
|
46
|
+
viewport
|
|
47
|
+
});
|
|
48
|
+
const themeName = list ? 'QuickLinksList' : 'QuickLinksButton';
|
|
49
|
+
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)(themeName, tokens, variant);
|
|
50
|
+
return list ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PressableListItemBase.default, {
|
|
51
|
+
ref: ref,
|
|
52
|
+
tokens: getTokens,
|
|
53
|
+
...rest,
|
|
54
|
+
children: children
|
|
55
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
56
|
+
ref: ref,
|
|
57
|
+
tokens: getTokens,
|
|
58
|
+
...rest,
|
|
59
|
+
children: children
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
QuickLinksItem.displayName = 'QuickLinksItem';
|
|
63
|
+
QuickLinksItem.propTypes = { ..._utils.withLinkRouter.propTypes,
|
|
64
|
+
..._PressableListItemBase.default.propTypes,
|
|
65
|
+
..._ButtonBase.default.propTypes,
|
|
66
|
+
tokens: (0, _utils.getTokensPropType)('QuickLinksList', 'QuickLinksButton'),
|
|
67
|
+
variant: _utils.variantProp.propType,
|
|
68
|
+
children: _propTypes.default.node
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var _default = (0, _utils.withLinkRouter)(QuickLinksItem);
|
|
72
|
+
|
|
73
|
+
exports.default = _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _QuickLinks = _interopRequireDefault(require("./QuickLinks"));
|
|
9
|
+
|
|
10
|
+
var _QuickLinksItem = _interopRequireDefault(require("./QuickLinksItem"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
_QuickLinks.default.Item = _QuickLinksItem.default;
|
|
15
|
+
var _default = _QuickLinks.default;
|
|
16
|
+
exports.default = _default;
|
package/lib/Skeleton/Skeleton.js
CHANGED
|
@@ -11,6 +11,10 @@ var _Animated = _interopRequireDefault(require("react-native-web/dist/cjs/export
|
|
|
11
11
|
|
|
12
12
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
13
|
|
|
14
|
+
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
15
|
+
|
|
16
|
+
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
17
|
+
|
|
14
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
19
|
|
|
16
20
|
var _StackView = _interopRequireDefault(require("../StackView"));
|
|
@@ -36,14 +40,12 @@ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_u
|
|
|
36
40
|
const selectSkeletonStyles = _ref => {
|
|
37
41
|
let {
|
|
38
42
|
color,
|
|
39
|
-
radius
|
|
40
|
-
fadeAnimation
|
|
43
|
+
radius
|
|
41
44
|
} = _ref;
|
|
42
45
|
return {
|
|
43
46
|
backgroundColor: color,
|
|
44
47
|
borderRadius: radius,
|
|
45
|
-
maxWidth: '100%'
|
|
46
|
-
...fadeAnimation
|
|
48
|
+
maxWidth: '100%'
|
|
47
49
|
};
|
|
48
50
|
};
|
|
49
51
|
|
|
@@ -101,12 +103,15 @@ const Skeleton = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
|
|
|
101
103
|
const skeletonHeight = (0, _utils.useSpacingScale)(spacingScaleValue);
|
|
102
104
|
const nativeAnimation = (0, _useSkeletonNativeAnimation.default)();
|
|
103
105
|
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
const getAnimationBasedOnPlatform = () => {
|
|
107
|
+
const animation = _Platform.default.OS === 'web' ? _skeletonWebAnimation.default : nativeAnimation; // We must pass the animation styles through `StyleSheet.create`
|
|
108
|
+
// @see https://github.com/necolas/react-native-web/issues/2387
|
|
109
|
+
|
|
110
|
+
const styles = _StyleSheet.default.create({
|
|
111
|
+
animation
|
|
112
|
+
});
|
|
108
113
|
|
|
109
|
-
return
|
|
114
|
+
return styles.animation;
|
|
110
115
|
};
|
|
111
116
|
|
|
112
117
|
const getLineWidth = () => {
|
|
@@ -140,11 +145,11 @@ const Skeleton = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
|
|
|
140
145
|
|
|
141
146
|
const renderSkeleton = function () {
|
|
142
147
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
143
|
-
|
|
148
|
+
// @see https://github.com/necolas/react-native-web/issues/2387
|
|
149
|
+
const Component = _Platform.default.OS === 'web' ? _View.default : _Animated.default.View;
|
|
150
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
|
|
144
151
|
testID: "skeleton",
|
|
145
|
-
style: [selectSkeletonStyles(
|
|
146
|
-
fadeAnimation: getAnimationBaseOnPlatform()
|
|
147
|
-
}), getStyledBasedOnShape()]
|
|
152
|
+
style: [selectSkeletonStyles(themeTokens), getAnimationBasedOnPlatform(), getStyledBasedOnShape()]
|
|
148
153
|
}, "skeleton-".concat(index + 1));
|
|
149
154
|
};
|
|
150
155
|
|
|
@@ -9,6 +9,8 @@ var _react = require("react");
|
|
|
9
9
|
|
|
10
10
|
var _Animated = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Animated"));
|
|
11
11
|
|
|
12
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
|
+
|
|
12
14
|
var _skeleton = require("./skeleton.constant");
|
|
13
15
|
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -19,11 +21,11 @@ const useSkeletonNativeAnimation = () => {
|
|
|
19
21
|
const fade = _Animated.default.sequence([_Animated.default.timing(fadeAnimation, {
|
|
20
22
|
toValue: _skeleton.OPACITY_STOP,
|
|
21
23
|
duration: _skeleton.ANIMATION_DURATION,
|
|
22
|
-
useNativeDriver:
|
|
24
|
+
useNativeDriver: _Platform.default.OS !== 'web'
|
|
23
25
|
}), _Animated.default.timing(fadeAnimation, {
|
|
24
26
|
toValue: _skeleton.DEFAULT_OPACITY,
|
|
25
27
|
duration: _skeleton.ANIMATION_DURATION,
|
|
26
|
-
useNativeDriver:
|
|
28
|
+
useNativeDriver: _Platform.default.OS !== 'web'
|
|
27
29
|
})]);
|
|
28
30
|
|
|
29
31
|
_Animated.default.loop(fade).start();
|