@telus-uds/components-base 1.8.1 → 1.8.4
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 +35 -2
- package/component-docs.json +711 -669
- package/lib/A11yInfoProvider/index.js +4 -3
- package/lib/A11yText/index.js +6 -5
- package/lib/ActivityIndicator/Spinner.js +14 -13
- package/lib/ActivityIndicator/Spinner.native.js +10 -8
- package/lib/ActivityIndicator/index.js +6 -5
- package/lib/ActivityIndicator/shared.js +1 -1
- package/lib/BaseProvider/index.js +13 -10
- package/lib/Box/Box.js +20 -19
- package/lib/Button/Button.js +7 -6
- package/lib/Button/ButtonBase.js +97 -79
- package/lib/Button/ButtonGroup.js +34 -32
- package/lib/Button/ButtonLink.js +9 -7
- package/lib/Button/index.js +4 -4
- package/lib/Button/propTypes.js +1 -1
- package/lib/Card/Card.js +8 -7
- package/lib/Card/CardBase.js +35 -31
- package/lib/Card/PressableCardBase.js +14 -12
- package/lib/Checkbox/Checkbox.js +97 -83
- package/lib/Checkbox/CheckboxGroup.js +29 -27
- package/lib/Checkbox/CheckboxInput.js +12 -10
- package/lib/Divider/Divider.js +10 -9
- package/lib/ExpandCollapse/Control.js +42 -36
- package/lib/ExpandCollapse/ExpandCollapse.js +11 -10
- package/lib/ExpandCollapse/Panel.js +29 -40
- package/lib/Feedback/Feedback.js +48 -35
- package/lib/Fieldset/Fieldset.js +16 -15
- package/lib/Fieldset/FieldsetContainer.js +16 -13
- package/lib/Fieldset/FieldsetContainer.native.js +11 -8
- package/lib/Fieldset/Legend.js +10 -7
- package/lib/Fieldset/Legend.native.js +10 -7
- package/lib/FlexGrid/Col/Col.js +18 -17
- package/lib/FlexGrid/FlexGrid.js +15 -14
- package/lib/FlexGrid/Row/Row.js +13 -12
- package/lib/HorizontalScroll/HorizontalScroll.js +25 -20
- package/lib/HorizontalScroll/HorizontalScrollButton.js +18 -14
- package/lib/HorizontalScroll/ScrollViewEnd.js +6 -5
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +12 -9
- package/lib/HorizontalScroll/itemPositions.js +19 -13
- package/lib/Icon/Icon.js +11 -10
- package/lib/Icon/IconText.js +8 -7
- package/lib/Icon/index.js +5 -5
- package/lib/IconButton/IconButton.js +50 -42
- package/lib/InputLabel/InputLabel.js +37 -30
- package/lib/InputLabel/LabelContent.js +12 -9
- package/lib/InputLabel/LabelContent.native.js +9 -6
- package/lib/InputSupports/InputSupports.js +11 -10
- package/lib/InputSupports/useInputSupports.js +7 -6
- package/lib/Link/ChevronLink.js +9 -8
- package/lib/Link/InlinePressable.js +13 -10
- package/lib/Link/InlinePressable.native.js +20 -16
- package/lib/Link/Link.js +10 -9
- package/lib/Link/LinkBase.js +96 -78
- package/lib/Link/TextButton.js +9 -8
- package/lib/List/List.js +20 -13
- package/lib/List/ListItem.js +103 -79
- package/lib/Modal/Modal.js +74 -60
- package/lib/Notification/Notification.js +46 -33
- package/lib/Pagination/PageButton.js +13 -12
- package/lib/Pagination/Pagination.js +43 -30
- package/lib/Pagination/SideButton.js +21 -18
- package/lib/Pagination/usePagination.js +7 -6
- package/lib/Progress/Progress.js +23 -19
- package/lib/Progress/ProgressBar.js +25 -21
- package/lib/Progress/ProgressBarBackground.js +7 -6
- package/lib/Radio/Radio.js +80 -69
- package/lib/Radio/RadioButton.js +63 -53
- package/lib/Radio/RadioGroup.js +30 -28
- package/lib/Radio/RadioInput.js +12 -10
- package/lib/RadioCard/RadioCard.js +16 -15
- package/lib/RadioCard/RadioCardGroup.js +30 -28
- package/lib/Search/Search.js +52 -32
- package/lib/Select/Group.js +5 -4
- package/lib/Select/Group.native.js +4 -3
- package/lib/Select/Item.js +10 -7
- package/lib/Select/Item.native.js +1 -9
- package/lib/Select/Picker.js +16 -15
- package/lib/Select/Picker.native.js +49 -38
- package/lib/Select/Select.js +134 -113
- package/lib/SideNav/Item.js +39 -33
- package/lib/SideNav/ItemContent.js +15 -12
- package/lib/SideNav/ItemsGroup.js +13 -11
- package/lib/SideNav/SideNav.js +21 -18
- package/lib/Skeleton/Skeleton.js +60 -44
- package/lib/Skeleton/skeleton.constant.js +1 -1
- package/lib/Skeleton/skeletonWebAnimation.js +1 -1
- package/lib/Spacer/Spacer.js +6 -5
- package/lib/StackView/StackView.js +12 -11
- package/lib/StackView/StackWrap.js +5 -3
- package/lib/StackView/StackWrapBox.js +12 -11
- package/lib/StackView/StackWrapGap.js +11 -10
- package/lib/StackView/common.js +14 -11
- package/lib/StackView/getStackedContent.js +10 -9
- package/lib/StackView/index.js +1 -1
- package/lib/StepTracker/Step.js +122 -103
- package/lib/StepTracker/StepTracker.js +48 -38
- package/lib/Tabs/Tabs.js +57 -27
- package/lib/Tabs/TabsItem.js +78 -68
- package/lib/Tags/Tags.js +68 -62
- package/lib/TextInput/TextArea.js +26 -20
- package/lib/TextInput/TextInput.js +20 -15
- package/lib/TextInput/TextInputBase.js +74 -62
- package/lib/TextInput/index.js +4 -4
- package/lib/ThemeProvider/ThemeProvider.js +6 -5
- package/lib/ThemeProvider/index.js +5 -5
- package/lib/ThemeProvider/useSetTheme.js +6 -3
- package/lib/ThemeProvider/useThemeTokens.js +7 -2
- package/lib/ThemeProvider/utils/styles.js +50 -43
- package/lib/ThemeProvider/utils/theme-tokens.js +33 -21
- package/lib/ToggleSwitch/ToggleSwitch.js +90 -74
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +37 -35
- package/lib/Tooltip/Backdrop.js +6 -13
- package/lib/Tooltip/Backdrop.native.js +5 -4
- package/lib/Tooltip/Tooltip.js +81 -65
- package/lib/Tooltip/getTooltipPosition.js +29 -18
- package/lib/TooltipButton/TooltipButton.js +28 -21
- package/lib/Typography/Typography.js +37 -33
- package/lib/ViewportProvider/ViewportProvider.js +4 -3
- package/lib/ViewportProvider/useViewportListener.js +6 -3
- package/lib/index.js +54 -54
- package/lib/utils/a11y/semantics.js +5 -2
- package/lib/utils/a11y/textSize.js +8 -6
- package/lib/utils/animation/useVerticalExpandAnimation.js +46 -19
- package/lib/utils/children.js +4 -3
- package/lib/utils/index.js +10 -10
- package/lib/utils/input.js +28 -29
- package/lib/utils/pressability.js +36 -22
- package/lib/utils/props/clickProps.js +2 -1
- package/lib/utils/props/componentPropType.js +3 -3
- package/lib/utils/props/getPropSelector.js +6 -3
- package/lib/utils/props/handlerProps.js +25 -19
- package/lib/utils/props/hrefAttrsProp.js +14 -11
- package/lib/utils/props/index.js +12 -12
- package/lib/utils/props/inputSupportsProps.js +15 -12
- package/lib/utils/props/linkProps.js +7 -6
- package/lib/utils/props/pressProps.js +1 -1
- package/lib/utils/props/selectSystemProps.js +2 -2
- package/lib/utils/props/tokens.js +29 -15
- package/lib/utils/ssr.js +6 -2
- package/lib/utils/useCopy.js +6 -4
- package/lib/utils/useHash.js +2 -1
- package/lib/utils/useResponsiveProp.js +1 -1
- package/lib/utils/useSpacingScale.js +3 -1
- package/lib/utils/useUniqueId.js +3 -2
- package/lib/utils/withLinkRouter.js +6 -5
- package/lib-module/A11yInfoProvider/index.js +4 -3
- package/lib-module/A11yText/index.js +6 -5
- package/lib-module/ActivityIndicator/Spinner.js +14 -13
- package/lib-module/ActivityIndicator/Spinner.native.js +9 -8
- package/lib-module/ActivityIndicator/index.js +6 -5
- package/lib-module/BaseProvider/index.js +13 -10
- package/lib-module/Box/Box.js +20 -19
- package/lib-module/Button/Button.js +7 -6
- package/lib-module/Button/ButtonBase.js +96 -79
- package/lib-module/Button/ButtonGroup.js +34 -32
- package/lib-module/Button/ButtonLink.js +8 -7
- package/lib-module/Card/Card.js +8 -7
- package/lib-module/Card/CardBase.js +35 -31
- package/lib-module/Card/PressableCardBase.js +12 -11
- package/lib-module/Checkbox/Checkbox.js +97 -83
- package/lib-module/Checkbox/CheckboxGroup.js +29 -27
- package/lib-module/Checkbox/CheckboxInput.js +12 -10
- package/lib-module/Divider/Divider.js +10 -9
- package/lib-module/ExpandCollapse/Control.js +42 -36
- package/lib-module/ExpandCollapse/ExpandCollapse.js +11 -10
- package/lib-module/ExpandCollapse/Panel.js +29 -37
- package/lib-module/Feedback/Feedback.js +46 -33
- package/lib-module/Fieldset/Fieldset.js +16 -15
- package/lib-module/Fieldset/FieldsetContainer.js +16 -13
- package/lib-module/Fieldset/FieldsetContainer.native.js +11 -8
- package/lib-module/Fieldset/Legend.js +10 -7
- package/lib-module/Fieldset/Legend.native.js +10 -7
- package/lib-module/FlexGrid/Col/Col.js +18 -17
- package/lib-module/FlexGrid/FlexGrid.js +15 -14
- package/lib-module/FlexGrid/Row/Row.js +13 -12
- package/lib-module/HorizontalScroll/HorizontalScroll.js +24 -19
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +18 -14
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +6 -5
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +12 -9
- package/lib-module/HorizontalScroll/itemPositions.js +18 -12
- package/lib-module/Icon/Icon.js +10 -9
- package/lib-module/Icon/IconText.js +9 -7
- package/lib-module/IconButton/IconButton.js +48 -41
- package/lib-module/InputLabel/InputLabel.js +37 -30
- package/lib-module/InputLabel/LabelContent.js +12 -9
- package/lib-module/InputLabel/LabelContent.native.js +9 -6
- package/lib-module/InputSupports/InputSupports.js +11 -10
- package/lib-module/InputSupports/useInputSupports.js +7 -6
- package/lib-module/Link/ChevronLink.js +9 -8
- package/lib-module/Link/InlinePressable.js +13 -10
- package/lib-module/Link/InlinePressable.native.js +20 -16
- package/lib-module/Link/Link.js +10 -9
- package/lib-module/Link/LinkBase.js +94 -77
- package/lib-module/Link/TextButton.js +9 -8
- package/lib-module/List/List.js +20 -13
- package/lib-module/List/ListItem.js +103 -78
- package/lib-module/Modal/Modal.js +74 -60
- package/lib-module/Notification/Notification.js +46 -33
- package/lib-module/Pagination/PageButton.js +13 -12
- package/lib-module/Pagination/Pagination.js +43 -30
- package/lib-module/Pagination/SideButton.js +21 -18
- package/lib-module/Pagination/usePagination.js +7 -6
- package/lib-module/Progress/Progress.js +23 -19
- package/lib-module/Progress/ProgressBar.js +25 -21
- package/lib-module/Progress/ProgressBarBackground.js +7 -6
- package/lib-module/Radio/Radio.js +80 -69
- package/lib-module/Radio/RadioButton.js +62 -52
- package/lib-module/Radio/RadioGroup.js +30 -28
- package/lib-module/Radio/RadioInput.js +12 -10
- package/lib-module/RadioCard/RadioCard.js +16 -15
- package/lib-module/RadioCard/RadioCardGroup.js +30 -28
- package/lib-module/Search/Search.js +52 -32
- package/lib-module/Select/Group.js +5 -4
- package/lib-module/Select/Group.native.js +4 -3
- package/lib-module/Select/Item.js +10 -7
- package/lib-module/Select/Item.native.js +1 -7
- package/lib-module/Select/Picker.js +16 -15
- package/lib-module/Select/Picker.native.js +46 -36
- package/lib-module/Select/Select.js +134 -113
- package/lib-module/SideNav/Item.js +39 -33
- package/lib-module/SideNav/ItemContent.js +14 -11
- package/lib-module/SideNav/ItemsGroup.js +13 -11
- package/lib-module/SideNav/SideNav.js +21 -18
- package/lib-module/Skeleton/Skeleton.js +60 -44
- package/lib-module/Skeleton/skeletonWebAnimation.js +1 -1
- package/lib-module/Spacer/Spacer.js +6 -5
- package/lib-module/StackView/StackView.js +12 -11
- package/lib-module/StackView/StackWrap.js +5 -3
- package/lib-module/StackView/StackWrapBox.js +12 -11
- package/lib-module/StackView/StackWrapGap.js +11 -10
- package/lib-module/StackView/common.js +14 -11
- package/lib-module/StackView/getStackedContent.js +10 -9
- package/lib-module/StepTracker/Step.js +122 -103
- package/lib-module/StepTracker/StepTracker.js +48 -38
- package/lib-module/Tabs/Tabs.js +57 -27
- package/lib-module/Tabs/TabsItem.js +77 -68
- package/lib-module/Tags/Tags.js +68 -62
- package/lib-module/TextInput/TextArea.js +26 -20
- package/lib-module/TextInput/TextInput.js +19 -15
- package/lib-module/TextInput/TextInputBase.js +74 -62
- package/lib-module/ThemeProvider/ThemeProvider.js +5 -4
- package/lib-module/ThemeProvider/useSetTheme.js +6 -3
- package/lib-module/ThemeProvider/useThemeTokens.js +7 -2
- package/lib-module/ThemeProvider/utils/styles.js +48 -41
- package/lib-module/ThemeProvider/utils/theme-tokens.js +32 -20
- package/lib-module/ToggleSwitch/ToggleSwitch.js +90 -74
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +37 -35
- package/lib-module/Tooltip/Backdrop.js +6 -13
- package/lib-module/Tooltip/Backdrop.native.js +5 -4
- package/lib-module/Tooltip/Tooltip.js +81 -65
- package/lib-module/Tooltip/getTooltipPosition.js +29 -18
- package/lib-module/TooltipButton/TooltipButton.js +28 -21
- package/lib-module/Typography/Typography.js +35 -31
- package/lib-module/ViewportProvider/ViewportProvider.js +4 -3
- package/lib-module/ViewportProvider/useViewportListener.js +6 -3
- package/lib-module/utils/a11y/semantics.js +4 -1
- package/lib-module/utils/a11y/textSize.js +7 -5
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +47 -20
- package/lib-module/utils/children.js +4 -3
- package/lib-module/utils/input.js +28 -29
- package/lib-module/utils/pressability.js +35 -21
- package/lib-module/utils/props/clickProps.js +2 -1
- package/lib-module/utils/props/componentPropType.js +3 -3
- package/lib-module/utils/props/getPropSelector.js +6 -3
- package/lib-module/utils/props/handlerProps.js +24 -18
- package/lib-module/utils/props/hrefAttrsProp.js +14 -11
- package/lib-module/utils/props/inputSupportsProps.js +15 -12
- package/lib-module/utils/props/linkProps.js +7 -6
- package/lib-module/utils/props/selectSystemProps.js +2 -2
- package/lib-module/utils/props/tokens.js +27 -14
- package/lib-module/utils/ssr.js +5 -2
- package/lib-module/utils/useCopy.js +6 -4
- package/lib-module/utils/useHash.js +2 -1
- package/lib-module/utils/useSpacingScale.js +3 -1
- package/lib-module/utils/useUniqueId.js +3 -2
- package/lib-module/utils/withLinkRouter.js +6 -5
- package/package.json +13 -11
- package/src/ExpandCollapse/Panel.jsx +2 -19
- package/src/List/List.jsx +34 -19
- package/src/List/ListItem.jsx +12 -2
- package/src/Modal/Modal.jsx +2 -1
- package/src/Pagination/Pagination.jsx +3 -0
- package/src/Search/Search.jsx +11 -0
- package/src/Select/Item.native.jsx +0 -7
- package/src/Tabs/Tabs.jsx +24 -2
- package/src/Tabs/TabsItem.jsx +6 -5
- package/src/utils/animation/useVerticalExpandAnimation.js +47 -13
|
@@ -35,39 +35,43 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
35
35
|
const [selectContainerProps, selectedContainerPropTypes] = (0, _utils2.selectSystemProps)([_utils2.a11yProps, _utils2.viewProps]);
|
|
36
36
|
const [selectTextProps, selectedTextPropTypes] = (0, _utils2.selectSystemProps)([_utils2.textProps]);
|
|
37
37
|
|
|
38
|
-
const selectTextStyles =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
38
|
+
const selectTextStyles = _ref => {
|
|
39
|
+
let {
|
|
40
|
+
fontWeight,
|
|
41
|
+
fontSize,
|
|
42
|
+
color,
|
|
43
|
+
lineHeight,
|
|
44
|
+
fontName,
|
|
45
|
+
textAlign,
|
|
46
|
+
textTransform,
|
|
47
|
+
letterSpacing
|
|
48
|
+
} = _ref;
|
|
49
|
+
return (0, _utils.applyTextStyles)({
|
|
50
|
+
fontWeight,
|
|
51
|
+
fontSize,
|
|
52
|
+
color,
|
|
53
|
+
lineHeight,
|
|
54
|
+
fontName,
|
|
55
|
+
textAlign,
|
|
56
|
+
textTransform,
|
|
57
|
+
letterSpacing
|
|
58
|
+
});
|
|
59
|
+
}; // General-purpose flexible theme-neutral base component for text
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
const Typography = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
63
|
+
let {
|
|
64
|
+
children,
|
|
65
|
+
variant,
|
|
66
|
+
heading,
|
|
67
|
+
tag = typeof heading === 'string' ? heading : undefined,
|
|
68
|
+
accessibilityRole = heading === true ? 'header' : undefined,
|
|
69
|
+
block = false,
|
|
70
|
+
align = undefined,
|
|
71
|
+
tokens,
|
|
72
|
+
dataSet,
|
|
73
|
+
...rest
|
|
74
|
+
} = _ref2;
|
|
71
75
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
72
76
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Typography', tokens, variant, {
|
|
73
77
|
viewport
|
|
@@ -26,9 +26,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
26
26
|
/**
|
|
27
27
|
* Provides an up-to-date viewport value from system-constants, available via the `useViewport` hook
|
|
28
28
|
*/
|
|
29
|
-
const ViewportProvider =
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
const ViewportProvider = _ref => {
|
|
30
|
+
let {
|
|
31
|
+
children
|
|
32
|
+
} = _ref;
|
|
32
33
|
// Default to the smallest viewport for mobile-first SSR. On client side, this is updated
|
|
33
34
|
// by useViewportListener in a layout effect before anything is shown to the user.
|
|
34
35
|
const [viewport, setViewport] = (0, _react.useState)(_systemConstants.viewports.keys[0]);
|
|
@@ -38,9 +38,12 @@ const useViewportListenerCSR = setViewport => {
|
|
|
38
38
|
(0, _react.useLayoutEffect)(() => {
|
|
39
39
|
setViewport(lookupViewport());
|
|
40
40
|
|
|
41
|
-
const onChange =
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const onChange = _ref => {
|
|
42
|
+
let {
|
|
43
|
+
window
|
|
44
|
+
} = _ref;
|
|
45
|
+
return setViewport(_systemConstants.viewports.select(window.width));
|
|
46
|
+
};
|
|
44
47
|
|
|
45
48
|
const listener = _Dimensions.default.addEventListener('change', onChange); // From RN 0.65.0, Dimensions.removeEventListener is deprecated for `remove` on addEventListener return value;
|
|
46
49
|
// however, that is not available in RN <=0.64.X, therefore not in any Expo release as of 2021 (Expo SDK 43).
|
package/lib/index.js
CHANGED
|
@@ -56,34 +56,46 @@ var _exportNames = {
|
|
|
56
56
|
applyTextStyles: true,
|
|
57
57
|
applyShadowToken: true
|
|
58
58
|
};
|
|
59
|
+
Object.defineProperty(exports, "A11yInfoProvider", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function () {
|
|
62
|
+
return _A11yInfoProvider.default;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
59
65
|
Object.defineProperty(exports, "A11yText", {
|
|
60
66
|
enumerable: true,
|
|
61
67
|
get: function () {
|
|
62
68
|
return _A11yText.default;
|
|
63
69
|
}
|
|
64
70
|
});
|
|
71
|
+
Object.defineProperty(exports, "Accordion", {
|
|
72
|
+
enumerable: true,
|
|
73
|
+
get: function () {
|
|
74
|
+
return _ExpandCollapse.Accordion;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
65
77
|
Object.defineProperty(exports, "ActivityIndicator", {
|
|
66
78
|
enumerable: true,
|
|
67
79
|
get: function () {
|
|
68
80
|
return _ActivityIndicator.default;
|
|
69
81
|
}
|
|
70
82
|
});
|
|
71
|
-
Object.defineProperty(exports, "
|
|
83
|
+
Object.defineProperty(exports, "BaseProvider", {
|
|
72
84
|
enumerable: true,
|
|
73
85
|
get: function () {
|
|
74
|
-
return
|
|
86
|
+
return _BaseProvider.default;
|
|
75
87
|
}
|
|
76
88
|
});
|
|
77
|
-
Object.defineProperty(exports, "
|
|
89
|
+
Object.defineProperty(exports, "Box", {
|
|
78
90
|
enumerable: true,
|
|
79
91
|
get: function () {
|
|
80
|
-
return
|
|
92
|
+
return _Box.default;
|
|
81
93
|
}
|
|
82
94
|
});
|
|
83
|
-
Object.defineProperty(exports, "
|
|
95
|
+
Object.defineProperty(exports, "Card", {
|
|
84
96
|
enumerable: true,
|
|
85
97
|
get: function () {
|
|
86
|
-
return _Card.
|
|
98
|
+
return _Card.default;
|
|
87
99
|
}
|
|
88
100
|
});
|
|
89
101
|
Object.defineProperty(exports, "Checkbox", {
|
|
@@ -104,12 +116,6 @@ Object.defineProperty(exports, "ExpandCollapse", {
|
|
|
104
116
|
return _ExpandCollapse.default;
|
|
105
117
|
}
|
|
106
118
|
});
|
|
107
|
-
Object.defineProperty(exports, "Accordion", {
|
|
108
|
-
enumerable: true,
|
|
109
|
-
get: function () {
|
|
110
|
-
return _ExpandCollapse.Accordion;
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
119
|
Object.defineProperty(exports, "Feedback", {
|
|
114
120
|
enumerable: true,
|
|
115
121
|
get: function () {
|
|
@@ -158,16 +164,16 @@ Object.defineProperty(exports, "List", {
|
|
|
158
164
|
return _List.default;
|
|
159
165
|
}
|
|
160
166
|
});
|
|
161
|
-
Object.defineProperty(exports, "
|
|
167
|
+
Object.defineProperty(exports, "ListBase", {
|
|
162
168
|
enumerable: true,
|
|
163
169
|
get: function () {
|
|
164
|
-
return _List.
|
|
170
|
+
return _List.ListBase;
|
|
165
171
|
}
|
|
166
172
|
});
|
|
167
|
-
Object.defineProperty(exports, "
|
|
173
|
+
Object.defineProperty(exports, "ListItem", {
|
|
168
174
|
enumerable: true,
|
|
169
175
|
get: function () {
|
|
170
|
-
return _List.
|
|
176
|
+
return _List.ListItem;
|
|
171
177
|
}
|
|
172
178
|
});
|
|
173
179
|
Object.defineProperty(exports, "Modal", {
|
|
@@ -188,6 +194,12 @@ Object.defineProperty(exports, "Pagination", {
|
|
|
188
194
|
return _Pagination.default;
|
|
189
195
|
}
|
|
190
196
|
});
|
|
197
|
+
Object.defineProperty(exports, "PressableCardBase", {
|
|
198
|
+
enumerable: true,
|
|
199
|
+
get: function () {
|
|
200
|
+
return _Card.PressableCardBase;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
191
203
|
Object.defineProperty(exports, "Progress", {
|
|
192
204
|
enumerable: true,
|
|
193
205
|
get: function () {
|
|
@@ -260,6 +272,12 @@ Object.defineProperty(exports, "Tags", {
|
|
|
260
272
|
return _Tags.default;
|
|
261
273
|
}
|
|
262
274
|
});
|
|
275
|
+
Object.defineProperty(exports, "ThemeProvider", {
|
|
276
|
+
enumerable: true,
|
|
277
|
+
get: function () {
|
|
278
|
+
return _ThemeProvider.default;
|
|
279
|
+
}
|
|
280
|
+
});
|
|
263
281
|
Object.defineProperty(exports, "Tooltip", {
|
|
264
282
|
enumerable: true,
|
|
265
283
|
get: function () {
|
|
@@ -278,22 +296,10 @@ Object.defineProperty(exports, "Typography", {
|
|
|
278
296
|
return _Typography.default;
|
|
279
297
|
}
|
|
280
298
|
});
|
|
281
|
-
Object.defineProperty(exports, "
|
|
282
|
-
enumerable: true,
|
|
283
|
-
get: function () {
|
|
284
|
-
return _A11yInfoProvider.default;
|
|
285
|
-
}
|
|
286
|
-
});
|
|
287
|
-
Object.defineProperty(exports, "useA11yInfo", {
|
|
288
|
-
enumerable: true,
|
|
289
|
-
get: function () {
|
|
290
|
-
return _A11yInfoProvider.useA11yInfo;
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
Object.defineProperty(exports, "BaseProvider", {
|
|
299
|
+
Object.defineProperty(exports, "ViewportContext", {
|
|
294
300
|
enumerable: true,
|
|
295
301
|
get: function () {
|
|
296
|
-
return
|
|
302
|
+
return _ViewportProvider.ViewportContext;
|
|
297
303
|
}
|
|
298
304
|
});
|
|
299
305
|
Object.defineProperty(exports, "ViewportProvider", {
|
|
@@ -302,64 +308,58 @@ Object.defineProperty(exports, "ViewportProvider", {
|
|
|
302
308
|
return _ViewportProvider.default;
|
|
303
309
|
}
|
|
304
310
|
});
|
|
305
|
-
Object.defineProperty(exports, "
|
|
306
|
-
enumerable: true,
|
|
307
|
-
get: function () {
|
|
308
|
-
return _ViewportProvider.useViewport;
|
|
309
|
-
}
|
|
310
|
-
});
|
|
311
|
-
Object.defineProperty(exports, "ViewportContext", {
|
|
311
|
+
Object.defineProperty(exports, "applyOuterBorder", {
|
|
312
312
|
enumerable: true,
|
|
313
313
|
get: function () {
|
|
314
|
-
return
|
|
314
|
+
return _ThemeProvider.applyOuterBorder;
|
|
315
315
|
}
|
|
316
316
|
});
|
|
317
|
-
Object.defineProperty(exports, "
|
|
317
|
+
Object.defineProperty(exports, "applyShadowToken", {
|
|
318
318
|
enumerable: true,
|
|
319
319
|
get: function () {
|
|
320
|
-
return _ThemeProvider.
|
|
320
|
+
return _ThemeProvider.applyShadowToken;
|
|
321
321
|
}
|
|
322
322
|
});
|
|
323
|
-
Object.defineProperty(exports, "
|
|
323
|
+
Object.defineProperty(exports, "applyTextStyles", {
|
|
324
324
|
enumerable: true,
|
|
325
325
|
get: function () {
|
|
326
|
-
return _ThemeProvider.
|
|
326
|
+
return _ThemeProvider.applyTextStyles;
|
|
327
327
|
}
|
|
328
328
|
});
|
|
329
|
-
Object.defineProperty(exports, "
|
|
329
|
+
Object.defineProperty(exports, "getThemeTokens", {
|
|
330
330
|
enumerable: true,
|
|
331
331
|
get: function () {
|
|
332
|
-
return _ThemeProvider.
|
|
332
|
+
return _ThemeProvider.getThemeTokens;
|
|
333
333
|
}
|
|
334
334
|
});
|
|
335
|
-
Object.defineProperty(exports, "
|
|
335
|
+
Object.defineProperty(exports, "useA11yInfo", {
|
|
336
336
|
enumerable: true,
|
|
337
337
|
get: function () {
|
|
338
|
-
return
|
|
338
|
+
return _A11yInfoProvider.useA11yInfo;
|
|
339
339
|
}
|
|
340
340
|
});
|
|
341
|
-
Object.defineProperty(exports, "
|
|
341
|
+
Object.defineProperty(exports, "useSetTheme", {
|
|
342
342
|
enumerable: true,
|
|
343
343
|
get: function () {
|
|
344
|
-
return _ThemeProvider.
|
|
344
|
+
return _ThemeProvider.useSetTheme;
|
|
345
345
|
}
|
|
346
346
|
});
|
|
347
|
-
Object.defineProperty(exports, "
|
|
347
|
+
Object.defineProperty(exports, "useTheme", {
|
|
348
348
|
enumerable: true,
|
|
349
349
|
get: function () {
|
|
350
|
-
return _ThemeProvider.
|
|
350
|
+
return _ThemeProvider.useTheme;
|
|
351
351
|
}
|
|
352
352
|
});
|
|
353
|
-
Object.defineProperty(exports, "
|
|
353
|
+
Object.defineProperty(exports, "useThemeTokens", {
|
|
354
354
|
enumerable: true,
|
|
355
355
|
get: function () {
|
|
356
|
-
return _ThemeProvider.
|
|
356
|
+
return _ThemeProvider.useThemeTokens;
|
|
357
357
|
}
|
|
358
358
|
});
|
|
359
|
-
Object.defineProperty(exports, "
|
|
359
|
+
Object.defineProperty(exports, "useViewport", {
|
|
360
360
|
enumerable: true,
|
|
361
361
|
get: function () {
|
|
362
|
-
return
|
|
362
|
+
return _ViewportProvider.useViewport;
|
|
363
363
|
}
|
|
364
364
|
});
|
|
365
365
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.textTags = exports.tagsToRoles = exports.supportedTags = exports.layoutTags = exports.headingTags = exports.getHeadingLevel = exports.getA11yPropsFromHtmlTag = void 0;
|
|
7
7
|
|
|
8
8
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
9
9
|
|
|
@@ -58,7 +58,10 @@ const rolesToTags =
|
|
|
58
58
|
|
|
59
59
|
}; // Invert React Native Web's mapping, so a tag gets the role that gets that tag
|
|
60
60
|
|
|
61
|
-
const tagsToRoles = Object.fromEntries(Object.entries(rolesToTags).map(
|
|
61
|
+
const tagsToRoles = Object.fromEntries(Object.entries(rolesToTags).map(_ref => {
|
|
62
|
+
let [key, value] = _ref;
|
|
63
|
+
return [value, key];
|
|
64
|
+
}));
|
|
62
65
|
/**
|
|
63
66
|
* Heading HTML tags map to the "heading" accessibilityRole in native apps, which is similar
|
|
64
67
|
* to headings on web but without the expectation of a hierarchy of headings within one screen.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.scaleWithText = exports.getMaxFontMultiplier = void 0;
|
|
7
7
|
|
|
8
8
|
var _PixelRatio = _interopRequireDefault(require("react-native-web/dist/cjs/exports/PixelRatio"));
|
|
9
9
|
|
|
@@ -18,7 +18,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
18
18
|
* @param {number} [value] - the value to multiply; defaults to system default font size
|
|
19
19
|
* @param {number} [maxScale] - the maximum multiplier to apply; defaults to no maximum
|
|
20
20
|
*/
|
|
21
|
-
const scaleWithText = (value
|
|
21
|
+
const scaleWithText = function (value) {
|
|
22
|
+
let maxScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Infinity;
|
|
22
23
|
if (!value) return value;
|
|
23
24
|
const scale = Math.min(_PixelRatio.default.getFontScale(), maxScale) || 1;
|
|
24
25
|
return value * scale;
|
|
@@ -37,10 +38,11 @@ const scaleWithText = (value, maxScale = Infinity) => {
|
|
|
37
38
|
|
|
38
39
|
exports.scaleWithText = scaleWithText;
|
|
39
40
|
|
|
40
|
-
const getMaxFontMultiplier =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const getMaxFontMultiplier = _ref => {
|
|
42
|
+
let {
|
|
43
|
+
fontSize,
|
|
44
|
+
fontScaleCap
|
|
45
|
+
} = _ref;
|
|
44
46
|
if (_Platform.default.OS === 'web' || !fontScaleCap || !fontSize) return undefined;
|
|
45
47
|
if (fontScaleCap <= fontSize) return 1;
|
|
46
48
|
return fontScaleCap / fontSize;
|
|
@@ -17,22 +17,29 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
17
17
|
|
|
18
18
|
// TODO: systematise animations
|
|
19
19
|
// https://github.com/telus/universal-design-system/issues/487
|
|
20
|
-
function useVerticalExpandAnimation({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
function useVerticalExpandAnimation(_ref) {
|
|
21
|
+
let {
|
|
22
|
+
containerHeight,
|
|
23
|
+
isExpanded,
|
|
24
|
+
tokens
|
|
25
|
+
} = _ref;
|
|
25
26
|
const [isAnimating, setIsAnimating] = (0, _react.useState)(false);
|
|
27
|
+
const [wasExpanded, setWasExpanded] = (0, _react.useState)(isExpanded);
|
|
28
|
+
const expandStateChanged = isExpanded !== wasExpanded;
|
|
26
29
|
const expandAnimatedValue = (0, _react.useRef)(new _Animated.default.Value(0)).current;
|
|
27
30
|
const elementRef = (0, _react.useRef)(null);
|
|
28
31
|
const {
|
|
29
32
|
expandDuration,
|
|
30
33
|
collapseDuration
|
|
31
|
-
} = tokens;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
} = tokens;
|
|
35
|
+
(0, _react.useLayoutEffect)(() => {
|
|
36
|
+
if (expandStateChanged) {
|
|
37
|
+
setIsAnimating(true);
|
|
38
|
+
setWasExpanded(isExpanded);
|
|
39
|
+
}
|
|
40
|
+
}, [expandStateChanged, isExpanded]);
|
|
34
41
|
(0, _react.useEffect)(() => {
|
|
35
|
-
const onComplete = () =>
|
|
42
|
+
const onComplete = () => setIsAnimating(false);
|
|
36
43
|
|
|
37
44
|
if (_Platform.default.OS === 'web') {
|
|
38
45
|
if (!elementRef.current) return () => {}; // React Native Web does not pass `onTransitionEnd` through, must attach manually.
|
|
@@ -54,20 +61,40 @@ function useVerticalExpandAnimation({
|
|
|
54
61
|
|
|
55
62
|
animation.start(onComplete);
|
|
56
63
|
return () => animation.stop();
|
|
57
|
-
}, [isExpanded, expandAnimatedValue, containerHeight, expandDuration, collapseDuration]);
|
|
64
|
+
}, [isExpanded, expandAnimatedValue, containerHeight, expandDuration, collapseDuration]);
|
|
65
|
+
const containerStyles = {};
|
|
66
|
+
if (isAnimating || expandStateChanged) containerStyles.overflow = 'hidden';
|
|
58
67
|
|
|
59
|
-
|
|
60
|
-
visibility: 'hidden'
|
|
61
|
-
} : {}; // don't visually collapse the container until we have it measured
|
|
62
|
-
|
|
63
|
-
if (containerHeight !== null) {
|
|
68
|
+
if (!isExpanded && !isAnimating && !expandStateChanged) {
|
|
64
69
|
if (_Platform.default.OS === 'web') {
|
|
65
|
-
|
|
66
|
-
containerStyles.
|
|
67
|
-
containerStyles.height = isExpanded ? containerHeight : 0;
|
|
70
|
+
// Without `visibility: 'hidden', descendents are focusable on web even when collapsed.
|
|
71
|
+
containerStyles.visibility = 'hidden';
|
|
68
72
|
} else {
|
|
69
|
-
|
|
73
|
+
// There's no `visibility: hidden` in React Native, and display: none causes a flicker on expand.
|
|
74
|
+
// Without some form of hiding, some children leak through even when closed e.g. `List.Item` bullets.
|
|
75
|
+
containerStyles.opacity = 0;
|
|
76
|
+
}
|
|
77
|
+
} // don't visually collapse the container until we have it measured
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
if (containerHeight === null) {
|
|
81
|
+
if (_Platform.default.OS === 'web') {
|
|
82
|
+
// on web we can hide the contents until we have the container measured and avoid occasional jitter
|
|
83
|
+
// this won't work on native platforms
|
|
84
|
+
containerStyles.height = 0;
|
|
85
|
+
containerStyles.visibility = 'hidden';
|
|
70
86
|
}
|
|
87
|
+
} else if (_Platform.default.OS === 'web') {
|
|
88
|
+
const transitionDuration = isExpanded ? expandDuration : collapseDuration;
|
|
89
|
+
containerStyles.transition = "height ".concat(transitionDuration, "ms ease-in-out");
|
|
90
|
+
containerStyles.height = isExpanded ? containerHeight : 0;
|
|
91
|
+
} else if (_Platform.default.OS === 'ios' && isExpanded && !isAnimating && !expandStateChanged && typeof containerHeight === 'number') {
|
|
92
|
+
// iOS reflows text while the height animation is in progress. Sometimes, it hits a timing bug where
|
|
93
|
+
// it fails to reflow properly after the last animation frame, leaving the last line of text not visible.
|
|
94
|
+
// Force reflow after animation completes with a static height non-identical to the last animated height.
|
|
95
|
+
containerStyles.height = containerHeight + 1;
|
|
96
|
+
} else {
|
|
97
|
+
containerStyles.height = expandAnimatedValue;
|
|
71
98
|
}
|
|
72
99
|
|
|
73
100
|
return [containerStyles, elementRef];
|
package/lib/utils/children.js
CHANGED
|
@@ -73,7 +73,7 @@ const isWrapable = child => {
|
|
|
73
73
|
return isStringOrNumber(child) || child.type === _A11yText.default || ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name) === 'FootnoteLink';
|
|
74
74
|
};
|
|
75
75
|
|
|
76
|
-
const combineKeys = childrenArray => childrenArray.reduce((newKey, child) =>
|
|
76
|
+
const combineKeys = childrenArray => childrenArray.reduce((newKey, child) => "".concat(newKey).concat(child.key || ''), ''); // Group wrappable children for one `<Text>` parent, merging adjacent text nodes
|
|
77
77
|
|
|
78
78
|
|
|
79
79
|
const wrapChild = (child, wrappedText) => {
|
|
@@ -82,7 +82,7 @@ const wrapChild = (child, wrappedText) => {
|
|
|
82
82
|
|
|
83
83
|
if (lastIndex >= 0 && isStringOrNumber(child) && isStringOrNumber(wrappedText[lastIndex])) {
|
|
84
84
|
/* eslint-disable-next-line no-param-reassign */
|
|
85
|
-
wrappedText[lastIndex] =
|
|
85
|
+
wrappedText[lastIndex] = "".concat(wrappedText[lastIndex]).concat(child);
|
|
86
86
|
} else {
|
|
87
87
|
wrappedText.push(child);
|
|
88
88
|
}
|
|
@@ -104,7 +104,8 @@ const wrapChild = (child, wrappedText) => {
|
|
|
104
104
|
*/
|
|
105
105
|
|
|
106
106
|
|
|
107
|
-
const wrapStringsInText = (children
|
|
107
|
+
const wrapStringsInText = function (children) {
|
|
108
|
+
let textProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
108
109
|
const childrenArray = unpackFragment(_react.Children.toArray(children)); // Group adjacent wrapable children together in one Text element to create as few Text elements
|
|
109
110
|
// as possible, e.g. give <X>Text {someString}</X> one Text, same as <X>{`Text ${someString}`}</X>
|
|
110
111
|
|
package/lib/utils/index.js
CHANGED
|
@@ -13,6 +13,12 @@ var _exportNames = {
|
|
|
13
13
|
withLinkRouter: true,
|
|
14
14
|
containUniqueFields: true
|
|
15
15
|
};
|
|
16
|
+
Object.defineProperty(exports, "containUniqueFields", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () {
|
|
19
|
+
return _containUniqueFields.default;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
16
22
|
Object.defineProperty(exports, "info", {
|
|
17
23
|
enumerable: true,
|
|
18
24
|
get: function () {
|
|
@@ -31,16 +37,16 @@ Object.defineProperty(exports, "useHash", {
|
|
|
31
37
|
return _useHash.default;
|
|
32
38
|
}
|
|
33
39
|
});
|
|
34
|
-
Object.defineProperty(exports, "
|
|
40
|
+
Object.defineProperty(exports, "useResponsiveProp", {
|
|
35
41
|
enumerable: true,
|
|
36
42
|
get: function () {
|
|
37
|
-
return
|
|
43
|
+
return _useResponsiveProp.default;
|
|
38
44
|
}
|
|
39
45
|
});
|
|
40
|
-
Object.defineProperty(exports, "
|
|
46
|
+
Object.defineProperty(exports, "useSpacingScale", {
|
|
41
47
|
enumerable: true,
|
|
42
48
|
get: function () {
|
|
43
|
-
return
|
|
49
|
+
return _useSpacingScale.default;
|
|
44
50
|
}
|
|
45
51
|
});
|
|
46
52
|
Object.defineProperty(exports, "useUniqueId", {
|
|
@@ -55,12 +61,6 @@ Object.defineProperty(exports, "withLinkRouter", {
|
|
|
55
61
|
return _withLinkRouter.default;
|
|
56
62
|
}
|
|
57
63
|
});
|
|
58
|
-
Object.defineProperty(exports, "containUniqueFields", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
get: function () {
|
|
61
|
-
return _containUniqueFields.default;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
64
|
|
|
65
65
|
var _a11y = require("./a11y");
|
|
66
66
|
|
package/lib/utils/input.js
CHANGED
|
@@ -12,43 +12,39 @@ var _react = require("react");
|
|
|
12
12
|
*/
|
|
13
13
|
const pluralHooks = ['useMultipleInputValues'];
|
|
14
14
|
|
|
15
|
-
const validateProps = ({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
const validateProps = (_ref, _ref2, hookName) => {
|
|
16
|
+
let {
|
|
17
|
+
value,
|
|
18
|
+
onChange,
|
|
19
|
+
readOnly,
|
|
20
|
+
initialValue
|
|
21
|
+
} = _ref;
|
|
22
|
+
let {
|
|
23
|
+
isCurrentlyControlled,
|
|
24
|
+
isControlled
|
|
25
|
+
} = _ref2;
|
|
24
26
|
const s = pluralHooks.includes(hookName) ? 's' : '';
|
|
25
27
|
|
|
26
28
|
const usageError = error => {
|
|
27
29
|
// Errors inside hooks in React Native get incomplete stack traces pointing at parent component only.
|
|
28
30
|
// Help devs out by telling them exactly which hook threw the error as well as why.
|
|
29
|
-
throw new Error(
|
|
30
|
-
|
|
31
|
-
Consumers of this hook must be one of:
|
|
32
|
-
1. An "uncontrolled" component responding directly to user actions, with an optional \`initialValue${s}\` but no \`value${s}\` prop,
|
|
33
|
-
2. A "controlled" component where an always-defined \`value${s}\` prop is managed by an \`onChange\` handler, with no \`initialValue${s}\`,
|
|
34
|
-
3. A "read-only" component, with \`readOnly\` prop set as \`true\`.
|
|
35
|
-
`);
|
|
31
|
+
throw new Error("".concat(hookName, " ").concat(error, ".\n\nConsumers of this hook must be one of:\n1. An \"uncontrolled\" component responding directly to user actions, with an optional `initialValue").concat(s, "` but no `value").concat(s, "` prop,\n2. A \"controlled\" component where an always-defined `value").concat(s, "` prop is managed by an `onChange` handler, with no `initialValue").concat(s, "`,\n3. A \"read-only\" component, with `readOnly` prop set as `true`.\n"));
|
|
36
32
|
};
|
|
37
33
|
|
|
38
34
|
if (value && !onChange && !readOnly) {
|
|
39
|
-
usageError(
|
|
35
|
+
usageError("has `value".concat(s, "` prop without `onChange` or `readOnly`"));
|
|
40
36
|
}
|
|
41
37
|
|
|
42
38
|
if (initialValue && value) {
|
|
43
|
-
usageError(
|
|
39
|
+
usageError("has both `initialValue".concat(s, "` and `value").concat(s, "`"));
|
|
44
40
|
}
|
|
45
41
|
|
|
46
42
|
if (isControlled && !isCurrentlyControlled) {
|
|
47
|
-
usageError(
|
|
43
|
+
usageError("stopped receiving `value".concat(s, "` from parent after delegating state management"));
|
|
48
44
|
}
|
|
49
45
|
|
|
50
46
|
if (!isControlled && isCurrentlyControlled) {
|
|
51
|
-
usageError(
|
|
47
|
+
usageError("started receiving `value".concat(s, "` from parent after starting managing own state"));
|
|
52
48
|
}
|
|
53
49
|
};
|
|
54
50
|
/**
|
|
@@ -76,7 +72,9 @@ Consumers of this hook must be one of:
|
|
|
76
72
|
*/
|
|
77
73
|
|
|
78
74
|
|
|
79
|
-
const useInputValue = (
|
|
75
|
+
const useInputValue = function () {
|
|
76
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
77
|
+
let hookName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'useInputValue';
|
|
80
78
|
const isCurrentlyControlled = props.value !== undefined;
|
|
81
79
|
const [isControlled] = (0, _react.useState)(isCurrentlyControlled);
|
|
82
80
|
validateProps(props, {
|
|
@@ -143,13 +141,14 @@ const useInputValue = (props = {}, hookName = 'useInputValue') => {
|
|
|
143
141
|
|
|
144
142
|
exports.useInputValue = useInputValue;
|
|
145
143
|
|
|
146
|
-
const useMultipleInputValues = ({
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
144
|
+
const useMultipleInputValues = function () {
|
|
145
|
+
let {
|
|
146
|
+
values,
|
|
147
|
+
initialValues,
|
|
148
|
+
maxValues,
|
|
149
|
+
onChange,
|
|
150
|
+
readOnly
|
|
151
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
153
152
|
const {
|
|
154
153
|
currentValue,
|
|
155
154
|
setValue,
|
|
@@ -159,7 +158,7 @@ const useMultipleInputValues = ({
|
|
|
159
158
|
onChange,
|
|
160
159
|
value: values,
|
|
161
160
|
// if we're controlling our own state, always start with an array
|
|
162
|
-
initialValue: initialValues
|
|
161
|
+
initialValue: initialValues !== null && initialValues !== void 0 ? initialValues : values === undefined ? [] : undefined
|
|
163
162
|
}, 'useMultipleInputValues');
|
|
164
163
|
const enforceMaxValues = (0, _react.useCallback)(newValues => {
|
|
165
164
|
if (!maxValues) return newValues;
|