@telus-uds/components-base 0.0.2-prerelease.7 → 0.0.2-prerelease.8
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/.ultra.cache.json +1 -1
- package/CHANGELOG.md +27 -0
- package/__fixtures__/Accessible.js +33 -0
- package/__fixtures__/Accessible.native.js +32 -0
- package/__fixtures__/testTheme.js +429 -29
- package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
- package/__tests__/Button/ButtonGroup.test.jsx +2 -2
- package/__tests__/Checkbox/CheckboxGroup.test.jsx +247 -0
- package/__tests__/Icon/Icon.test.jsx +3 -3
- package/__tests__/Modal/Modal.test.jsx +47 -0
- package/__tests__/Notification/Notification.test.jsx +20 -0
- package/__tests__/Pagination/Pagination.test.jsx +2 -2
- package/__tests__/Progress/Progress.test.jsx +79 -0
- package/__tests__/Radio/RadioGroup.test.jsx +221 -0
- package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
- package/__tests__/RadioCard/RadioCardGroup.test.jsx +247 -0
- package/__tests__/Search/Search.test.jsx +72 -0
- package/__tests__/Skeleton/Skeleton.test.jsx +1 -1
- package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
- package/__tests__/Tabs/Tabs.test.jsx +200 -0
- package/__tests__/Tags/Tags.test.jsx +1 -1
- package/__tests__/utils/input.test.js +58 -0
- package/__tests__/utils/useCopy.test.js +14 -3
- package/babel.config.js +20 -0
- package/jest.config.js +1 -1
- package/lib/A11yInfoProvider/index.js +54 -26
- package/lib/A11yText/index.js +37 -14
- package/lib/ActivityIndicator/Spinner.js +78 -0
- package/lib/ActivityIndicator/Spinner.native.js +121 -87
- package/lib/ActivityIndicator/index.js +28 -12
- package/lib/ActivityIndicator/shared.js +27 -12
- package/lib/BaseProvider/index.js +34 -11
- package/lib/Box/Box.js +54 -31
- package/lib/Box/index.js +13 -2
- package/lib/Button/Button.js +32 -11
- package/lib/Button/ButtonBase.js +85 -78
- package/lib/Button/ButtonGroup.js +94 -70
- package/lib/Button/ButtonLink.js +38 -15
- package/lib/Button/index.js +31 -4
- package/lib/Button/propTypes.js +32 -9
- package/lib/Card/Card.js +36 -41
- package/lib/Card/CardBase.js +78 -0
- package/lib/Card/PressableCardBase.js +137 -0
- package/lib/Card/index.js +40 -2
- package/lib/Checkbox/Checkbox.js +139 -103
- package/lib/Checkbox/CheckboxGroup.js +231 -0
- package/lib/Checkbox/CheckboxInput.js +74 -0
- package/lib/Checkbox/CheckboxInput.native.js +9 -1
- package/lib/Checkbox/index.js +21 -2
- package/lib/Divider/Divider.js +50 -24
- package/lib/Divider/index.js +13 -2
- package/lib/ExpandCollapse/Accordion.js +20 -7
- package/lib/ExpandCollapse/Control.js +50 -27
- package/lib/ExpandCollapse/ExpandCollapse.js +41 -24
- package/lib/ExpandCollapse/Panel.js +75 -37
- package/lib/ExpandCollapse/index.js +25 -7
- package/lib/Feedback/Feedback.js +69 -40
- package/lib/Feedback/index.js +13 -2
- package/lib/Fieldset/Fieldset.js +160 -0
- package/lib/Fieldset/FieldsetContainer.js +41 -0
- package/lib/Fieldset/FieldsetContainer.native.js +33 -0
- package/lib/Fieldset/Legend.js +33 -0
- package/lib/Fieldset/Legend.native.js +43 -0
- package/lib/Fieldset/cssReset.js +21 -0
- package/lib/Fieldset/index.js +13 -0
- package/lib/FlexGrid/Col/Col.js +67 -38
- package/lib/FlexGrid/Col/index.js +13 -2
- package/lib/FlexGrid/FlexGrid.js +70 -45
- package/lib/FlexGrid/Row/Row.js +48 -27
- package/lib/FlexGrid/Row/index.js +13 -2
- package/lib/FlexGrid/helpers/index.js +9 -1
- package/lib/FlexGrid/index.js +13 -2
- package/lib/FlexGrid/providers/GutterContext.js +15 -3
- package/lib/Icon/Icon.js +46 -44
- package/lib/Icon/IconText.js +49 -21
- package/lib/Icon/index.js +31 -4
- package/lib/InputLabel/InputLabel.js +70 -36
- package/lib/InputLabel/LabelContent.js +31 -0
- package/lib/InputLabel/LabelContent.native.js +9 -1
- package/lib/InputLabel/index.js +13 -2
- package/lib/InputSupports/InputSupports.js +62 -48
- package/lib/InputSupports/index.js +13 -2
- package/lib/InputSupports/propTypes.js +19 -8
- package/lib/InputSupports/useInputSupports.js +41 -0
- package/lib/Link/ChevronLink.js +33 -16
- package/lib/Link/InlinePressable.js +50 -0
- package/lib/Link/InlinePressable.native.js +34 -11
- package/lib/Link/Link.js +25 -9
- package/lib/Link/LinkBase.js +87 -57
- package/lib/Link/TextButton.js +32 -13
- package/lib/Link/index.js +39 -5
- package/lib/List/List.js +51 -23
- package/lib/List/ListItem.js +70 -40
- package/lib/List/index.js +13 -2
- package/lib/Modal/Modal.js +226 -0
- package/lib/Modal/dictionary.js +16 -0
- package/lib/Modal/index.js +13 -0
- package/lib/Notification/Notification.js +200 -0
- package/lib/Notification/dictionary.js +15 -0
- package/lib/Notification/index.js +13 -0
- package/lib/Pagination/PageButton.js +47 -25
- package/lib/Pagination/Pagination.js +70 -40
- package/lib/Pagination/SideButton.js +63 -37
- package/lib/Pagination/dictionary.js +9 -2
- package/lib/Pagination/index.js +13 -2
- package/lib/Pagination/usePagination.js +12 -2
- package/lib/Progress/Progress.js +99 -0
- package/lib/Progress/ProgressBar.js +146 -0
- package/lib/Progress/ProgressBarBackground.js +57 -0
- package/lib/Progress/index.js +16 -0
- package/lib/Radio/Radio.js +110 -109
- package/lib/Radio/RadioButton.js +141 -0
- package/lib/Radio/RadioGroup.js +233 -0
- package/lib/Radio/RadioInput.js +76 -0
- package/lib/Radio/RadioInput.native.js +9 -1
- package/lib/Radio/index.js +21 -2
- package/lib/RadioCard/RadioCard.js +240 -0
- package/lib/RadioCard/RadioCardGroup.js +251 -0
- package/lib/RadioCard/index.js +21 -0
- package/lib/Search/Search.js +243 -0
- package/lib/Search/dictionary.js +19 -0
- package/lib/Search/index.js +13 -0
- package/lib/Select/Group.js +33 -0
- package/lib/Select/Group.native.js +16 -5
- package/lib/Select/Item.js +29 -0
- package/lib/Select/Item.native.js +14 -4
- package/lib/Select/Picker.js +79 -0
- package/lib/Select/Picker.native.js +52 -24
- package/lib/Select/Select.js +110 -82
- package/lib/Select/index.js +19 -6
- package/lib/SideNav/Item.js +54 -33
- package/lib/SideNav/ItemContent.js +41 -15
- package/lib/SideNav/ItemsGroup.js +46 -27
- package/lib/SideNav/SideNav.js +92 -69
- package/lib/SideNav/index.js +15 -1
- package/lib/Skeleton/Skeleton.js +55 -37
- package/lib/Skeleton/index.js +13 -2
- package/lib/Skeleton/skeleton.constant.js +12 -0
- package/lib/Skeleton/skeletonWebAnimation.js +27 -0
- package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
- package/lib/Spacer/Spacer.js +31 -12
- package/lib/Spacer/index.js +13 -2
- package/lib/StackView/StackView.js +49 -27
- package/lib/StackView/StackWrap.js +33 -10
- package/lib/StackView/StackWrap.native.js +13 -2
- package/lib/StackView/StackWrapBox.js +46 -24
- package/lib/StackView/StackWrapGap.js +43 -22
- package/lib/StackView/common.js +19 -4
- package/lib/StackView/getStackedContent.js +49 -19
- package/lib/StackView/index.js +29 -5
- package/lib/StepTracker/Step.js +245 -0
- package/lib/StepTracker/StepTracker.js +197 -0
- package/lib/StepTracker/dictionary.js +17 -0
- package/lib/StepTracker/index.js +13 -0
- package/lib/Tabs/HorizontalScroll.js +199 -0
- package/lib/Tabs/ScrollViewEnd.js +66 -0
- package/lib/Tabs/ScrollViewEnd.native.js +41 -0
- package/lib/Tabs/Tabs.js +117 -0
- package/lib/Tabs/TabsItem.js +234 -0
- package/lib/Tabs/TabsScrollButton.js +121 -0
- package/lib/Tabs/dictionary.js +18 -0
- package/lib/Tabs/index.js +13 -0
- package/lib/Tabs/itemPositions.js +128 -0
- package/lib/Tags/Tags.js +130 -97
- package/lib/Tags/index.js +13 -2
- package/lib/TextInput/TextArea.js +51 -24
- package/lib/TextInput/TextInput.js +40 -19
- package/lib/TextInput/TextInputBase.js +78 -55
- package/lib/TextInput/index.js +23 -3
- package/lib/TextInput/propTypes.js +18 -7
- package/lib/ThemeProvider/ThemeProvider.js +38 -14
- package/lib/ThemeProvider/index.js +61 -6
- package/lib/ThemeProvider/useSetTheme.js +14 -5
- package/lib/ThemeProvider/useTheme.js +13 -4
- package/lib/ThemeProvider/useThemeTokens.js +32 -16
- package/lib/ThemeProvider/utils/index.js +31 -2
- package/lib/ThemeProvider/utils/styles.js +52 -16
- package/lib/ThemeProvider/utils/theme-tokens.js +94 -16
- package/lib/ToggleSwitch/ToggleSwitch.js +75 -51
- package/lib/ToggleSwitch/index.js +13 -2
- package/lib/Tooltip/{Backdrop.web.js → Backdrop.js} +22 -18
- package/lib/Tooltip/Backdrop.native.js +39 -15
- package/lib/Tooltip/Tooltip.js +112 -70
- package/lib/Tooltip/dictionary.js +9 -2
- package/lib/Tooltip/getTooltipPosition.js +9 -1
- package/lib/Tooltip/index.js +13 -2
- package/lib/TooltipButton/TooltipButton.js +57 -38
- package/lib/TooltipButton/index.js +13 -2
- package/lib/Typography/Typography.js +57 -27
- package/lib/Typography/index.js +13 -2
- package/lib/ViewportProvider/ViewportProvider.js +34 -13
- package/lib/ViewportProvider/index.js +28 -3
- package/lib/ViewportProvider/useViewport.js +15 -3
- package/lib/ViewportProvider/useViewportListener.js +24 -10
- package/lib/index.js +509 -33
- package/lib/utils/a11y/index.js +18 -1
- package/lib/utils/a11y/textSize.js +23 -7
- package/lib/utils/animation/index.js +15 -2
- package/lib/utils/animation/useVerticalExpandAnimation.js +28 -11
- package/lib/utils/children.js +87 -0
- package/lib/utils/index.js +163 -10
- package/lib/utils/info/index.js +18 -6
- package/lib/utils/info/platform/index.js +19 -7
- package/lib/utils/info/platform/platform.android.js +8 -1
- package/lib/utils/info/platform/platform.ios.js +8 -1
- package/lib/utils/info/platform/platform.js +8 -0
- package/lib/utils/info/platform/platform.native.js +8 -1
- package/lib/utils/info/versions.js +15 -4
- package/lib/utils/input.js +51 -33
- package/lib/utils/pressability.js +38 -10
- package/lib/utils/propTypes.js +217 -125
- package/lib/utils/useCopy.js +40 -5
- package/lib/utils/useHash.js +48 -0
- package/lib/utils/useHash.native.js +15 -0
- package/lib/utils/useResponsiveProp.js +21 -9
- package/lib/utils/useSpacingScale.js +21 -9
- package/lib/utils/useUniqueId.js +13 -4
- package/package.json +7 -6
- package/release-context.json +4 -4
- package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +0 -0
- package/src/Box/Box.jsx +11 -4
- package/src/Button/Button.jsx +3 -2
- package/src/Button/ButtonBase.jsx +27 -36
- package/src/Button/ButtonGroup.jsx +2 -2
- package/src/Button/ButtonLink.jsx +3 -2
- package/src/Button/propTypes.js +12 -2
- package/src/Card/Card.jsx +4 -30
- package/src/Card/CardBase.jsx +57 -0
- package/src/Card/PressableCardBase.jsx +112 -0
- package/src/Card/index.js +3 -0
- package/src/Checkbox/Checkbox.jsx +10 -11
- package/src/Checkbox/CheckboxGroup.jsx +196 -0
- package/src/Checkbox/{CheckboxInput.web.jsx → CheckboxInput.jsx} +0 -0
- package/src/Checkbox/index.js +2 -0
- package/src/ExpandCollapse/Control.jsx +1 -1
- package/src/Feedback/Feedback.jsx +1 -1
- package/src/Fieldset/Fieldset.jsx +129 -0
- package/src/Fieldset/FieldsetContainer.jsx +22 -0
- package/src/Fieldset/FieldsetContainer.native.jsx +16 -0
- package/src/Fieldset/Legend.jsx +16 -0
- package/src/Fieldset/Legend.native.jsx +22 -0
- package/src/Fieldset/cssReset.js +14 -0
- package/src/Fieldset/index.js +3 -0
- package/src/Icon/Icon.jsx +14 -23
- package/src/Icon/IconText.jsx +2 -2
- package/src/Icon/index.js +2 -2
- package/src/InputLabel/InputLabel.jsx +9 -2
- package/src/InputLabel/{LabelContent.web.jsx → LabelContent.jsx} +0 -0
- package/src/InputSupports/InputSupports.jsx +7 -18
- package/src/InputSupports/useInputSupports.js +30 -0
- package/src/Link/{InlinePressable.web.jsx → InlinePressable.jsx} +0 -0
- package/src/Link/LinkBase.jsx +14 -12
- package/src/Modal/Modal.jsx +185 -0
- package/src/Modal/dictionary.js +9 -0
- package/src/Modal/index.js +3 -0
- package/src/Notification/Notification.jsx +149 -0
- package/src/Notification/dictionary.js +8 -0
- package/src/Notification/index.js +3 -0
- package/src/Progress/Progress.jsx +77 -0
- package/src/Progress/ProgressBar.jsx +110 -0
- package/src/Progress/ProgressBarBackground.jsx +34 -0
- package/src/Progress/index.js +6 -0
- package/src/Radio/Radio.jsx +19 -56
- package/src/Radio/RadioButton.jsx +131 -0
- package/src/Radio/RadioGroup.jsx +198 -0
- package/src/Radio/{RadioInput.web.jsx → RadioInput.jsx} +0 -0
- package/src/Radio/index.js +2 -0
- package/src/RadioCard/RadioCard.jsx +191 -0
- package/src/RadioCard/RadioCardGroup.jsx +211 -0
- package/src/RadioCard/index.js +5 -0
- package/src/Search/Search.jsx +204 -0
- package/src/Search/dictionary.js +12 -0
- package/src/Search/index.js +3 -0
- package/src/Select/{Group.web.jsx → Group.jsx} +0 -0
- package/src/Select/{Item.web.jsx → Item.jsx} +0 -0
- package/src/Select/{Picker.web.jsx → Picker.jsx} +0 -0
- package/src/Select/Select.jsx +12 -22
- package/src/SideNav/Item.jsx +2 -2
- package/src/Skeleton/Skeleton.jsx +17 -20
- package/src/Skeleton/skeleton.constant.js +3 -0
- package/src/Skeleton/skeletonWebAnimation.js +13 -0
- package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
- package/src/StackView/StackView.jsx +10 -3
- package/src/StackView/StackWrap.jsx +9 -1
- package/src/StackView/StackWrapBox.jsx +4 -3
- package/src/StackView/StackWrapGap.jsx +3 -3
- package/src/StackView/getStackedContent.jsx +8 -2
- package/src/StepTracker/Step.jsx +202 -0
- package/src/StepTracker/StepTracker.jsx +163 -0
- package/src/StepTracker/dictionary.js +10 -0
- package/src/StepTracker/index.js +3 -0
- package/src/Tabs/HorizontalScroll.jsx +165 -0
- package/src/Tabs/ScrollViewEnd.jsx +53 -0
- package/src/Tabs/ScrollViewEnd.native.jsx +24 -0
- package/src/Tabs/Tabs.jsx +89 -0
- package/src/Tabs/TabsItem.jsx +204 -0
- package/src/Tabs/TabsScrollButton.jsx +100 -0
- package/src/Tabs/dictionary.js +11 -0
- package/src/Tabs/index.js +3 -0
- package/src/Tabs/itemPositions.js +101 -0
- package/src/Tags/Tags.jsx +2 -1
- package/src/TextInput/TextInputBase.jsx +12 -22
- package/src/ThemeProvider/useThemeTokens.js +2 -2
- package/src/ThemeProvider/utils/styles.js +18 -5
- package/src/ThemeProvider/utils/theme-tokens.js +46 -5
- package/src/ToggleSwitch/ToggleSwitch.jsx +2 -3
- package/src/Tooltip/{Backdrop.web.jsx → Backdrop.jsx} +0 -0
- package/src/Tooltip/Tooltip.jsx +1 -1
- package/src/TooltipButton/TooltipButton.jsx +23 -27
- package/src/Typography/Typography.jsx +6 -5
- package/src/index.js +20 -2
- package/src/utils/children.jsx +66 -0
- package/src/utils/index.js +3 -0
- package/src/utils/info/platform/platform.js +1 -0
- package/src/utils/info/versions.js +2 -2
- package/src/utils/input.js +20 -12
- package/src/utils/pressability.js +4 -0
- package/src/utils/propTypes.js +98 -34
- package/src/utils/useCopy.js +30 -4
- package/src/utils/useHash.js +34 -0
- package/src/utils/useHash.native.js +6 -0
- package/stories/A11yText/A11yText.stories.jsx +4 -8
- package/stories/Checkbox/Checkbox.stories.jsx +24 -1
- package/stories/Icon/Icon.stories.jsx +6 -5
- package/stories/Modal/Modal.stories.jsx +29 -0
- package/stories/Notification/Notification.stories.jsx +82 -0
- package/stories/Progress/Progress.stories.jsx +93 -0
- package/stories/Radio/Radio.stories.jsx +23 -36
- package/stories/RadioCard/RadioCard.stories.jsx +98 -0
- package/stories/Search/Search.stories.jsx +16 -0
- package/stories/StepTracker/StepTracker.stories.jsx +71 -0
- package/stories/Tabs/Tabs.stories.jsx +97 -0
- package/stories/{platform-supports.web.jsx → platform-supports.jsx} +0 -0
- package/__fixtures__/accessible.icon.svg +0 -6
- package/babel.config.json +0 -8
- package/lib/ActivityIndicator/Spinner.web.js +0 -55
- package/lib/Checkbox/CheckboxInput.web.js +0 -57
- package/lib/InputLabel/LabelContent.web.js +0 -17
- package/lib/Link/InlinePressable.web.js +0 -32
- package/lib/Radio/RadioInput.web.js +0 -59
- package/lib/Select/Group.web.js +0 -18
- package/lib/Select/Item.web.js +0 -15
- package/lib/Select/Picker.web.js +0 -63
- package/lib/config/svgr-icons-web.js +0 -9
- package/lib/config/svgr-icons.js +0 -52
- package/lib/utils/info/platform/platform.web.js +0 -1
- package/src/config/svgr-icons-web.js +0 -11
- package/src/config/svgr-icons.js +0 -46
- package/src/utils/info/platform/platform.web.js +0 -1
package/lib/Button/ButtonBase.js
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
|
|
11
|
+
|
|
12
|
+
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
13
|
+
|
|
14
|
+
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
15
|
+
|
|
16
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("../ThemeProvider/utils");
|
|
19
|
+
|
|
20
|
+
var _propTypes = _interopRequireDefault(require("./propTypes"));
|
|
21
|
+
|
|
22
|
+
var _utils2 = require("../utils");
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
27
|
|
|
7
28
|
const getOuterBorderOffset = ({
|
|
8
29
|
outerBorderGap = 0,
|
|
@@ -14,17 +35,19 @@ const selectOuterContainerStyles = ({
|
|
|
14
35
|
opacity,
|
|
15
36
|
outerBorderColor,
|
|
16
37
|
outerBorderWidth,
|
|
17
|
-
outerBorderGap
|
|
18
|
-
|
|
38
|
+
outerBorderGap,
|
|
39
|
+
borderRadius,
|
|
19
40
|
outerBackgroundColor
|
|
20
41
|
}) => ({
|
|
21
42
|
alignSelf,
|
|
22
|
-
padding: outerBorderGap,
|
|
23
|
-
borderWidth: outerBorderWidth,
|
|
24
|
-
borderColor: outerBorderColor,
|
|
25
|
-
borderRadius: outerBorderRadius + outerBorderGap,
|
|
26
43
|
backgroundColor: outerBackgroundColor,
|
|
27
|
-
opacity
|
|
44
|
+
opacity,
|
|
45
|
+
...(0, _utils.applyOuterBorder)({
|
|
46
|
+
outerBorderGap,
|
|
47
|
+
outerBorderWidth,
|
|
48
|
+
outerBorderColor,
|
|
49
|
+
borderRadius
|
|
50
|
+
})
|
|
28
51
|
});
|
|
29
52
|
|
|
30
53
|
const selectOuterWidthStyles = ({
|
|
@@ -38,14 +61,12 @@ const selectOuterWidthStyles = ({
|
|
|
38
61
|
outerBorderGap,
|
|
39
62
|
outerBorderWidth
|
|
40
63
|
});
|
|
41
|
-
const widthStyles = {
|
|
42
|
-
margin: 0 - outerBorderOffset
|
|
43
|
-
};
|
|
64
|
+
const widthStyles = {};
|
|
44
65
|
|
|
45
66
|
if (!width) {
|
|
46
67
|
return { ...widthStyles,
|
|
47
68
|
// Wrap content, stopping a flex parent's default align-items: stretch stretching focus ring beyond content
|
|
48
|
-
...
|
|
69
|
+
..._Platform.default.select({
|
|
49
70
|
// width: fit-content isn't supported on Firefox; can't cascade props like CSS `width: fit-content; width: --moz-fit-content;`
|
|
50
71
|
web: {
|
|
51
72
|
display: 'inline-flex'
|
|
@@ -61,8 +82,8 @@ const selectOuterWidthStyles = ({
|
|
|
61
82
|
} // Ensure the negative margin doesn't make element off-centre
|
|
62
83
|
|
|
63
84
|
|
|
64
|
-
if (
|
|
65
|
-
widthStyles.width =
|
|
85
|
+
if (_Platform.default.OS === 'web') {
|
|
86
|
+
widthStyles.width = "calc(".concat(width, " + ").concat(outerBorderOffset * 2, "px)");
|
|
66
87
|
return widthStyles;
|
|
67
88
|
} // Can't use calc() on native but (unlike on web) flexGrow fills the container width here
|
|
68
89
|
|
|
@@ -99,7 +120,7 @@ const selectInnerContainerStyles = ({
|
|
|
99
120
|
paddingBottom: offsetBorder(paddingBottom),
|
|
100
121
|
backgroundColor,
|
|
101
122
|
minWidth,
|
|
102
|
-
...applyShadowToken(shadow)
|
|
123
|
+
...(0, _utils.applyShadowToken)(shadow)
|
|
103
124
|
};
|
|
104
125
|
};
|
|
105
126
|
|
|
@@ -120,7 +141,7 @@ const selectTextStyles = ({
|
|
|
120
141
|
fontName,
|
|
121
142
|
fontWeight,
|
|
122
143
|
textAlign
|
|
123
|
-
}) => applyTextStyles({
|
|
144
|
+
}) => (0, _utils.applyTextStyles)({
|
|
124
145
|
fontSize,
|
|
125
146
|
color,
|
|
126
147
|
lineHeight,
|
|
@@ -132,36 +153,16 @@ const selectTextStyles = ({
|
|
|
132
153
|
const selectWebOnlyStyles = (inactive, themeTokens, {
|
|
133
154
|
accessibilityRole
|
|
134
155
|
}) => {
|
|
135
|
-
return
|
|
156
|
+
return _Platform.default.select({
|
|
136
157
|
web: {
|
|
137
158
|
// if it would overflow the container, wraps instead
|
|
138
|
-
maxWidth:
|
|
159
|
+
maxWidth: "calc(100% + ".concat(getOuterBorderOffset(themeTokens) * 2, "px)"),
|
|
139
160
|
outline: 'none',
|
|
140
161
|
// removes the default browser :focus outline
|
|
141
|
-
...getCursorStyle(inactive, accessibilityRole)
|
|
162
|
+
...(0, _utils2.getCursorStyle)(inactive, accessibilityRole)
|
|
142
163
|
},
|
|
143
164
|
default: {}
|
|
144
165
|
});
|
|
145
|
-
}; // TODO: see if this can be made into a generalised utility, ideally when
|
|
146
|
-
// there is a stable, generic, generalised approach to within-component text
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const resolveChildren = (children, {
|
|
150
|
-
textStyles,
|
|
151
|
-
state
|
|
152
|
-
}) => {
|
|
153
|
-
switch (typeof children) {
|
|
154
|
-
case 'function':
|
|
155
|
-
return children(state);
|
|
156
|
-
|
|
157
|
-
case 'string':
|
|
158
|
-
return /*#__PURE__*/React.createElement(Text, {
|
|
159
|
-
style: textStyles
|
|
160
|
-
}, children);
|
|
161
|
-
|
|
162
|
-
default:
|
|
163
|
-
return children;
|
|
164
|
-
}
|
|
165
166
|
};
|
|
166
167
|
|
|
167
168
|
const ButtonBase = ({
|
|
@@ -181,54 +182,58 @@ const ButtonBase = ({
|
|
|
181
182
|
selected
|
|
182
183
|
};
|
|
183
184
|
|
|
184
|
-
const
|
|
185
|
+
const resolveButtonTokens = pressableState => (0, _utils2.resolvePressableTokens)(tokens, pressableState, extraButtonState);
|
|
185
186
|
|
|
186
|
-
const a11y = a11yProps.select(rest);
|
|
187
|
+
const a11y = _utils2.a11yProps.select(rest);
|
|
187
188
|
|
|
188
189
|
const getPressableStyle = pressableState => {
|
|
189
|
-
const themeTokens =
|
|
190
|
+
const themeTokens = resolveButtonTokens(pressableState);
|
|
190
191
|
return [staticStyles.row, selectWebOnlyStyles(inactive, themeTokens, a11y), selectOuterContainerStyles(themeTokens), selectOuterWidthStyles(themeTokens)];
|
|
191
192
|
};
|
|
192
193
|
|
|
193
|
-
return /*#__PURE__*/
|
|
194
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
|
|
194
195
|
href: href,
|
|
195
|
-
onPress: linkProps.handleHref({
|
|
196
|
+
onPress: _utils2.linkProps.handleHref({
|
|
196
197
|
href,
|
|
197
198
|
onPress
|
|
198
199
|
}),
|
|
199
200
|
style: getPressableStyle,
|
|
200
|
-
disabled: inactive
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
201
|
+
disabled: inactive,
|
|
202
|
+
hrefAttrs: hrefAttrs,
|
|
203
|
+
...a11y,
|
|
204
|
+
children: pressableState => {
|
|
205
|
+
const themeTokens = resolveButtonTokens(pressableState);
|
|
206
|
+
const containerStyles = selectInnerContainerStyles(themeTokens);
|
|
207
|
+
const borderStyles = selectBorderStyles(themeTokens);
|
|
208
|
+
const textStyles = [selectTextStyles(themeTokens), staticStyles.text]; // If the container has a width set, fill it instead of sizing from content.
|
|
209
|
+
// If in future we support text alignments other than center, add here.
|
|
210
|
+
|
|
211
|
+
const stretchStyles = themeTokens.width ? staticStyles.stretch : staticStyles.align;
|
|
212
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
213
|
+
style: [containerStyles, borderStyles, stretchStyles, staticStyles.row, _Platform.default.select({
|
|
214
|
+
web: {
|
|
215
|
+
maxWidth: '100%',
|
|
216
|
+
// ensure overflowing content wraps
|
|
217
|
+
// TODO: https://github.com/telus/universal-design-system/issues/487
|
|
218
|
+
transition: 'background-color 200ms, border-color 200ms'
|
|
219
|
+
}
|
|
220
|
+
})],
|
|
221
|
+
children: (0, _utils2.wrapStringsInText)(typeof children === 'function' ? children({ ...(0, _utils2.resolvePressableState)(pressableState, extraButtonState),
|
|
222
|
+
textStyles
|
|
223
|
+
}) : children, {
|
|
224
|
+
style: textStyles
|
|
225
|
+
})
|
|
226
|
+
});
|
|
227
|
+
}
|
|
224
228
|
});
|
|
225
229
|
};
|
|
226
230
|
|
|
227
|
-
ButtonBase.propTypes = { ...a11yProps.types,
|
|
228
|
-
...
|
|
229
|
-
...linkProps.types
|
|
231
|
+
ButtonBase.propTypes = { ..._utils2.a11yProps.types,
|
|
232
|
+
..._propTypes.default,
|
|
233
|
+
..._utils2.linkProps.types
|
|
230
234
|
};
|
|
231
|
-
|
|
235
|
+
|
|
236
|
+
const staticStyles = _StyleSheet.default.create({
|
|
232
237
|
row: {
|
|
233
238
|
// Apply all button alignment horizontally; no vertical stacking within a button
|
|
234
239
|
flexDirection: 'row'
|
|
@@ -236,7 +241,7 @@ const staticStyles = StyleSheet.create({
|
|
|
236
241
|
text: {
|
|
237
242
|
flexGrow: 1,
|
|
238
243
|
// On native but not web, flexShrink here wraps text prematurely
|
|
239
|
-
...
|
|
244
|
+
..._Platform.default.select({
|
|
240
245
|
// TODO: https://github.com/telus/universal-design-system/issues/487
|
|
241
246
|
web: {
|
|
242
247
|
transition: 'color 200ms'
|
|
@@ -252,4 +257,6 @@ const staticStyles = StyleSheet.create({
|
|
|
252
257
|
justifyContent: 'center'
|
|
253
258
|
}
|
|
254
259
|
});
|
|
255
|
-
|
|
260
|
+
|
|
261
|
+
var _default = ButtonBase;
|
|
262
|
+
exports.default = _default;
|
|
@@ -1,13 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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 _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
|
+
|
|
14
|
+
var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
15
|
+
|
|
16
|
+
var _StackView = require("../StackView");
|
|
17
|
+
|
|
18
|
+
var _ViewportProvider = require("../ViewportProvider");
|
|
19
|
+
|
|
20
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
21
|
+
|
|
22
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
23
|
+
|
|
24
|
+
var _input = require("../utils/input");
|
|
25
|
+
|
|
26
|
+
var _pressability = require("../utils/pressability");
|
|
27
|
+
|
|
28
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
+
|
|
30
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
31
|
|
|
12
32
|
const ButtonGroup = ({
|
|
13
33
|
variant,
|
|
@@ -19,121 +39,124 @@ const ButtonGroup = ({
|
|
|
19
39
|
onChange,
|
|
20
40
|
readOnly = false,
|
|
21
41
|
inactive = false,
|
|
22
|
-
accessibilityRole = maxValues === 1 ? '
|
|
23
|
-
:
|
|
42
|
+
accessibilityRole = maxValues === 1 ? 'radiogroup' // radiogroup is cross-platform; only web aria has generic groups
|
|
43
|
+
: _Platform.default.select({
|
|
24
44
|
web: 'group',
|
|
25
45
|
default: 'none'
|
|
26
46
|
}),
|
|
27
47
|
...rest
|
|
28
48
|
}) => {
|
|
29
|
-
const viewport = useViewport();
|
|
30
|
-
const themeTokens = useThemeTokens('ButtonGroup', tokens, variant, {
|
|
49
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
50
|
+
const themeTokens = (0, _ThemeProvider.useThemeTokens)('ButtonGroup', tokens, variant, {
|
|
31
51
|
viewport
|
|
32
52
|
});
|
|
33
|
-
const stackTokens = selectTokens('StackView', themeTokens);
|
|
53
|
+
const stackTokens = (0, _propTypes2.selectTokens)('StackView', themeTokens);
|
|
34
54
|
const {
|
|
35
55
|
direction,
|
|
36
56
|
space
|
|
37
57
|
} = themeTokens;
|
|
38
|
-
const getButtonTokens = useThemeTokensCallback('ButtonGroupItem', tokens, variant);
|
|
58
|
+
const getButtonTokens = (0, _ThemeProvider.useThemeTokensCallback)('ButtonGroupItem', tokens, variant);
|
|
39
59
|
const {
|
|
40
60
|
currentValues,
|
|
41
61
|
toggleOneValue
|
|
42
|
-
} = useMultipleInputValues({
|
|
62
|
+
} = (0, _input.useMultipleInputValues)({
|
|
43
63
|
initialValues,
|
|
44
64
|
values,
|
|
45
65
|
maxValues,
|
|
46
66
|
onChange,
|
|
47
67
|
readOnly
|
|
48
68
|
});
|
|
49
|
-
|
|
69
|
+
|
|
70
|
+
const a11y = _propTypes2.a11yProps.select({
|
|
50
71
|
accessibilityRole,
|
|
51
72
|
...rest
|
|
52
73
|
});
|
|
53
|
-
|
|
54
|
-
|
|
74
|
+
|
|
75
|
+
const itemA11yRole = a11y.accessibilityRole === 'radiogroup' ? 'radio' : 'checkbox';
|
|
76
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.StackWrap, { ...a11y,
|
|
55
77
|
space: space,
|
|
56
78
|
direction: direction,
|
|
57
|
-
tokens: stackTokens
|
|
58
|
-
|
|
59
|
-
label,
|
|
60
|
-
id = label,
|
|
61
|
-
accessibilityLabel
|
|
62
|
-
}, index) => {
|
|
63
|
-
const isSelected = currentValues.includes(id); // Pass an object of relevant component state as first argument for any passed-in press handlers
|
|
64
|
-
|
|
65
|
-
const pressHandlers = getPressHandlersWithArgs(rest, [{
|
|
66
|
-
id,
|
|
79
|
+
tokens: stackTokens,
|
|
80
|
+
children: items.map(({
|
|
67
81
|
label,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
82
|
+
id = label,
|
|
83
|
+
accessibilityLabel
|
|
84
|
+
}, index) => {
|
|
85
|
+
const isSelected = currentValues.includes(id); // Pass an object of relevant component state as first argument for any passed-in press handlers
|
|
86
|
+
|
|
87
|
+
const pressHandlers = (0, _pressability.getPressHandlersWithArgs)(rest, [{
|
|
88
|
+
id,
|
|
89
|
+
label,
|
|
90
|
+
currentValues
|
|
91
|
+
}]);
|
|
92
|
+
|
|
93
|
+
const handlePress = () => {
|
|
94
|
+
if (pressHandlers.onPress) pressHandlers.onPress();
|
|
95
|
+
toggleOneValue(id);
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const itemA11y = {
|
|
99
|
+
accessibilityState: {
|
|
100
|
+
checked: isSelected
|
|
101
|
+
},
|
|
102
|
+
accessibilityRole: itemA11yRole,
|
|
103
|
+
accessibilityLabel,
|
|
104
|
+
..._propTypes2.a11yProps.getPositionInSet(items.length, index)
|
|
105
|
+
}; // Ensure button is direct child of group as MacOS voiceover only applies "X of Y" to
|
|
106
|
+
// "radio" if it's a direct child of "radiogroup", even if aria-posinset etc exists
|
|
107
|
+
|
|
108
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, { ...pressHandlers,
|
|
109
|
+
onPress: handlePress,
|
|
110
|
+
tokens: getButtonTokens,
|
|
111
|
+
selected: isSelected,
|
|
112
|
+
inactive: inactive,
|
|
113
|
+
...itemA11y,
|
|
114
|
+
children: label
|
|
115
|
+
}, id);
|
|
116
|
+
})
|
|
117
|
+
});
|
|
95
118
|
};
|
|
96
119
|
|
|
97
|
-
ButtonGroup.propTypes = { ...a11yProps.propTypes,
|
|
98
|
-
...pressProps.propTypes,
|
|
99
|
-
tokens: getTokensPropType('ButtonGroup'),
|
|
100
|
-
variant: variantProp.propType,
|
|
120
|
+
ButtonGroup.propTypes = { ..._propTypes2.a11yProps.propTypes,
|
|
121
|
+
..._propTypes2.pressProps.propTypes,
|
|
122
|
+
tokens: (0, _propTypes2.getTokensPropType)('ButtonGroup'),
|
|
123
|
+
variant: _propTypes2.variantProp.propType,
|
|
101
124
|
|
|
102
125
|
/**
|
|
103
126
|
* The maximum number of items a user may select at once. Defaults to 1 and behaves
|
|
104
127
|
* like radio buttons. To have no limit and allow any number of selections, pass `null`.
|
|
105
128
|
*/
|
|
106
|
-
maxValues:
|
|
129
|
+
maxValues: _propTypes.default.number,
|
|
107
130
|
|
|
108
131
|
/**
|
|
109
132
|
* The options a user may select
|
|
110
133
|
*/
|
|
111
|
-
items:
|
|
134
|
+
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
112
135
|
/**
|
|
113
136
|
* The text displayed to the user in the button, describing this option,
|
|
114
137
|
* passed to the button as its child.
|
|
115
138
|
*/
|
|
116
|
-
label:
|
|
139
|
+
label: _propTypes.default.string.isRequired,
|
|
117
140
|
|
|
118
141
|
/**
|
|
119
142
|
* An optional accessibility label may be passed to ButtonGroup Buttons
|
|
120
143
|
* which is applied as normal for a React Native accessibilityLabel prop.
|
|
121
144
|
*/
|
|
122
|
-
accessibilityLabel:
|
|
145
|
+
accessibilityLabel: _propTypes.default.string,
|
|
123
146
|
|
|
124
147
|
/**
|
|
125
148
|
* An optional unique string may be provided to identify this option,
|
|
126
149
|
* which will be used in code and passed to any onChange function.
|
|
127
150
|
* If not provided, the label is used.
|
|
128
151
|
*/
|
|
129
|
-
id:
|
|
152
|
+
id: _propTypes.default.string
|
|
130
153
|
})),
|
|
131
154
|
|
|
132
155
|
/**
|
|
133
156
|
* If provided, this function is called when the current selection is changed
|
|
134
157
|
* and is passed an array of the `id`s of all currently selected `items`.
|
|
135
158
|
*/
|
|
136
|
-
onChange:
|
|
159
|
+
onChange: _propTypes.default.func,
|
|
137
160
|
|
|
138
161
|
/**
|
|
139
162
|
* If the selected item(s) in the button group are to be controlled externally by
|
|
@@ -141,13 +164,14 @@ ButtonGroup.propTypes = { ...a11yProps.propTypes,
|
|
|
141
164
|
* Passing an array for "values" makes the ButtonGroup a "controlled" component that
|
|
142
165
|
* expects its state to be handled via `onChange` and so doesn't handle it itself.
|
|
143
166
|
*/
|
|
144
|
-
values:
|
|
167
|
+
values: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
145
168
|
|
|
146
169
|
/**
|
|
147
170
|
* If `values` is not passed, making the ButtonGroup an "uncontrolled" component
|
|
148
171
|
* managing its own selected state, a default set of selections may be provided.
|
|
149
172
|
* Changing the `initialValues` does not change the user's selections.
|
|
150
173
|
*/
|
|
151
|
-
initialValues:
|
|
174
|
+
initialValues: _propTypes.default.arrayOf(_propTypes.default.string)
|
|
152
175
|
};
|
|
153
|
-
|
|
176
|
+
var _default = ButtonGroup;
|
|
177
|
+
exports.default = _default;
|
package/lib/Button/ButtonLink.js
CHANGED
|
@@ -1,13 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireWildcard(require("./propTypes"));
|
|
13
|
+
|
|
14
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
15
|
+
|
|
16
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
6
26
|
/**
|
|
7
27
|
* `ButtonLink` is a component with the semantics and behaviour of a link, but with the visual appearance of a button.
|
|
8
28
|
* ButtonLink is a block-level component and should not be used inline.
|
|
9
29
|
*/
|
|
10
|
-
|
|
11
30
|
const ButtonLink = ({
|
|
12
31
|
accessibilityRole = 'link',
|
|
13
32
|
tokens,
|
|
@@ -17,17 +36,21 @@ const ButtonLink = ({
|
|
|
17
36
|
const {
|
|
18
37
|
hrefAttrs,
|
|
19
38
|
rest
|
|
20
|
-
} = hrefAttrsProp.bundle(props);
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
} = _propTypes2.hrefAttrsProp.bundle(props);
|
|
40
|
+
|
|
41
|
+
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('Button', tokens, variant);
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
23
43
|
accessibilityRole: accessibilityRole,
|
|
24
44
|
tokens: getTokens,
|
|
25
|
-
hrefAttrs: hrefAttrs
|
|
26
|
-
|
|
45
|
+
hrefAttrs: hrefAttrs,
|
|
46
|
+
...rest
|
|
47
|
+
});
|
|
27
48
|
};
|
|
28
49
|
|
|
29
|
-
ButtonLink.propTypes = { ...a11yProps.types,
|
|
30
|
-
...
|
|
31
|
-
...linkProps.types
|
|
50
|
+
ButtonLink.propTypes = { ..._propTypes2.a11yProps.types,
|
|
51
|
+
..._propTypes.default,
|
|
52
|
+
..._propTypes2.linkProps.types,
|
|
53
|
+
children: _propTypes.textAndA11yText
|
|
32
54
|
};
|
|
33
|
-
|
|
55
|
+
var _default = ButtonLink;
|
|
56
|
+
exports.default = _default;
|
package/lib/Button/index.js
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Button", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Button.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ButtonLink", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _ButtonLink.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "ButtonGroup", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _ButtonGroup.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
26
|
+
|
|
27
|
+
var _ButtonLink = _interopRequireDefault(require("./ButtonLink"));
|
|
28
|
+
|
|
29
|
+
var _ButtonGroup = _interopRequireDefault(require("./ButtonGroup"));
|
|
30
|
+
|
|
31
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/Button/propTypes.js
CHANGED
|
@@ -1,27 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.textAndA11yText = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
11
|
+
|
|
12
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
13
|
+
|
|
14
|
+
var _A11yText = _interopRequireDefault(require("../A11yText"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
const textAndA11yText = _airbnbPropTypes.default.childrenOf(_propTypes.default.oneOfType([_airbnbPropTypes.default.elementType(_A11yText.default), _propTypes.default.string]));
|
|
19
|
+
|
|
20
|
+
exports.textAndA11yText = textAndA11yText;
|
|
3
21
|
const buttonPropTypes = {
|
|
4
22
|
/**
|
|
5
23
|
* If true, prevents the button from being pressed, changes the cursor (on web) and accessibility
|
|
6
24
|
* attributes to communicate this to the user, and applies `inactive: true` appearances from the theme
|
|
7
25
|
*/
|
|
8
|
-
inactive:
|
|
26
|
+
inactive: _propTypes.default.bool,
|
|
9
27
|
|
|
10
28
|
/**
|
|
11
29
|
* Alias for `inactive`
|
|
12
30
|
*/
|
|
13
|
-
disabled:
|
|
31
|
+
disabled: _propTypes.default.bool,
|
|
14
32
|
|
|
15
33
|
/**
|
|
16
|
-
* Button's children must be either
|
|
34
|
+
* Button's children must be either:
|
|
35
|
+
* - One or more text strings and / or A11yText components
|
|
36
|
+
* - A render function with contents that responds to current button state by being passed an object of:
|
|
37
|
+
* ```
|
|
17
38
|
* { hovered<bool>, focused<bool>, pressed<bool>, inactive<bool>, selected<bool>, textStyles<RNStyle> }
|
|
39
|
+
* ```
|
|
18
40
|
*/
|
|
19
|
-
children:
|
|
41
|
+
children: _propTypes.default.oneOfType([_propTypes.default.func, textAndA11yText]).isRequired,
|
|
20
42
|
|
|
21
43
|
/**
|
|
22
44
|
* Function called when the button is pressed. Required unless the button has a href.
|
|
23
45
|
*/
|
|
24
|
-
onPress:
|
|
25
|
-
variant: variantProp.propType
|
|
46
|
+
onPress: _propTypes.default.func,
|
|
47
|
+
variant: _propTypes2.variantProp.propType
|
|
26
48
|
};
|
|
27
|
-
|
|
49
|
+
var _default = buttonPropTypes;
|
|
50
|
+
exports.default = _default;
|