@telus-uds/components-base 1.8.1 → 1.8.2
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 +13 -2
- package/component-docs.json +682 -675
- package/lib/A11yInfoProvider/index.js +4 -3
- package/lib/A11yText/index.js +6 -5
- package/lib/ActivityIndicator/Spinner.js +7 -6
- package/lib/ActivityIndicator/Spinner.native.js +8 -6
- 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 +95 -77
- package/lib/Button/ButtonGroup.js +33 -31
- 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 +96 -82
- package/lib/Checkbox/CheckboxGroup.js +27 -25
- package/lib/Checkbox/CheckboxInput.js +12 -10
- package/lib/Divider/Divider.js +8 -7
- package/lib/ExpandCollapse/Control.js +42 -36
- package/lib/ExpandCollapse/ExpandCollapse.js +11 -10
- package/lib/ExpandCollapse/Panel.js +27 -23
- 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 +17 -16
- 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 +10 -9
- 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 +9 -7
- package/lib/List/ListItem.js +99 -74
- package/lib/Modal/Modal.js +72 -59
- package/lib/Notification/Notification.js +46 -33
- package/lib/Pagination/PageButton.js +11 -10
- package/lib/Pagination/Pagination.js +39 -28
- package/lib/Pagination/SideButton.js +21 -18
- package/lib/Pagination/usePagination.js +5 -4
- package/lib/Progress/Progress.js +23 -19
- package/lib/Progress/ProgressBar.js +23 -19
- package/lib/Progress/ProgressBarBackground.js +4 -3
- package/lib/Radio/Radio.js +79 -68
- package/lib/Radio/RadioButton.js +63 -53
- package/lib/Radio/RadioGroup.js +28 -26
- package/lib/Radio/RadioInput.js +12 -10
- package/lib/RadioCard/RadioCard.js +15 -14
- package/lib/RadioCard/RadioCardGroup.js +28 -26
- package/lib/Search/Search.js +51 -31
- 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 +19 -16
- package/lib/Skeleton/Skeleton.js +60 -44
- package/lib/Skeleton/skeleton.constant.js +1 -1
- package/lib/Spacer/Spacer.js +6 -5
- package/lib/StackView/StackView.js +12 -11
- package/lib/StackView/StackWrap.js +2 -2
- 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 +8 -7
- 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 +29 -24
- package/lib/Tabs/TabsItem.js +79 -68
- package/lib/Tags/Tags.js +67 -61
- 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 +48 -41
- package/lib/ThemeProvider/utils/theme-tokens.js +26 -12
- package/lib/ToggleSwitch/ToggleSwitch.js +89 -73
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +36 -34
- package/lib/Tooltip/Backdrop.js +4 -3
- 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 +6 -5
- package/lib/utils/children.js +2 -1
- package/lib/utils/index.js +10 -10
- package/lib/utils/input.js +22 -17
- package/lib/utils/pressability.js +36 -22
- package/lib/utils/props/clickProps.js +2 -1
- 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/tokens.js +27 -13
- 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/useUniqueId.js +2 -1
- package/lib/utils/withLinkRouter.js +6 -5
- package/package.json +11 -10
- package/src/Pagination/Pagination.jsx +3 -0
- package/src/Search/Search.jsx +11 -0
- package/src/Select/Item.native.jsx +0 -7
- package/lib-module/A11yInfoProvider/index.js +0 -62
- package/lib-module/A11yText/index.js +0 -55
- package/lib-module/ActivityIndicator/Spinner.js +0 -76
- package/lib-module/ActivityIndicator/Spinner.native.js +0 -143
- package/lib-module/ActivityIndicator/index.js +0 -40
- package/lib-module/ActivityIndicator/shared.js +0 -12
- package/lib-module/BaseProvider/index.js +0 -26
- package/lib-module/Box/Box.js +0 -243
- package/lib-module/Box/index.js +0 -2
- package/lib-module/Button/Button.js +0 -25
- package/lib-module/Button/ButtonBase.js +0 -254
- package/lib-module/Button/ButtonGroup.js +0 -245
- package/lib-module/Button/ButtonLink.js +0 -39
- package/lib-module/Button/index.js +0 -4
- package/lib-module/Button/propTypes.js +0 -36
- package/lib-module/Card/Card.js +0 -83
- package/lib-module/Card/CardBase.js +0 -62
- package/lib-module/Card/PressableCardBase.js +0 -113
- package/lib-module/Card/index.js +0 -4
- package/lib-module/Checkbox/Checkbox.js +0 -332
- package/lib-module/Checkbox/CheckboxGroup.js +0 -231
- package/lib-module/Checkbox/CheckboxInput.js +0 -58
- package/lib-module/Checkbox/CheckboxInput.native.js +0 -6
- package/lib-module/Checkbox/index.js +0 -3
- package/lib-module/Divider/Divider.js +0 -123
- package/lib-module/Divider/index.js +0 -2
- package/lib-module/ExpandCollapse/Accordion.js +0 -15
- package/lib-module/ExpandCollapse/Control.js +0 -130
- package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -94
- package/lib-module/ExpandCollapse/Panel.js +0 -159
- package/lib-module/ExpandCollapse/index.js +0 -7
- package/lib-module/Feedback/Feedback.js +0 -144
- package/lib-module/Feedback/index.js +0 -2
- package/lib-module/Fieldset/Fieldset.js +0 -152
- package/lib-module/Fieldset/FieldsetContainer.js +0 -29
- package/lib-module/Fieldset/FieldsetContainer.native.js +0 -20
- package/lib-module/Fieldset/Legend.js +0 -21
- package/lib-module/Fieldset/Legend.native.js +0 -28
- package/lib-module/Fieldset/cssReset.js +0 -14
- package/lib-module/Fieldset/index.js +0 -2
- package/lib-module/FlexGrid/Col/Col.js +0 -275
- package/lib-module/FlexGrid/Col/index.js +0 -2
- package/lib-module/FlexGrid/FlexGrid.js +0 -147
- package/lib-module/FlexGrid/Row/Row.js +0 -183
- package/lib-module/FlexGrid/Row/index.js +0 -2
- package/lib-module/FlexGrid/helpers/index.js +0 -18
- package/lib-module/FlexGrid/index.js +0 -2
- package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
- package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -170
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -77
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -47
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -24
- package/lib-module/HorizontalScroll/dictionary.js +0 -11
- package/lib-module/HorizontalScroll/index.js +0 -11
- package/lib-module/HorizontalScroll/itemPositions.js +0 -106
- package/lib-module/Icon/Icon.js +0 -61
- package/lib-module/Icon/IconText.js +0 -81
- package/lib-module/Icon/index.js +0 -4
- package/lib-module/IconButton/IconButton.js +0 -115
- package/lib-module/IconButton/index.js +0 -2
- package/lib-module/InputLabel/InputLabel.js +0 -141
- package/lib-module/InputLabel/LabelContent.js +0 -24
- package/lib-module/InputLabel/LabelContent.native.js +0 -16
- package/lib-module/InputLabel/index.js +0 -2
- package/lib-module/InputSupports/InputSupports.js +0 -95
- package/lib-module/InputSupports/index.js +0 -2
- package/lib-module/InputSupports/useInputSupports.js +0 -31
- package/lib-module/Link/ChevronLink.js +0 -51
- package/lib-module/Link/InlinePressable.js +0 -37
- package/lib-module/Link/InlinePressable.native.js +0 -85
- package/lib-module/Link/Link.js +0 -27
- package/lib-module/Link/LinkBase.js +0 -223
- package/lib-module/Link/TextButton.js +0 -34
- package/lib-module/Link/index.js +0 -5
- package/lib-module/List/List.js +0 -55
- package/lib-module/List/ListItem.js +0 -223
- package/lib-module/List/index.js +0 -5
- package/lib-module/Modal/Modal.js +0 -208
- package/lib-module/Modal/dictionary.js +0 -9
- package/lib-module/Modal/index.js +0 -2
- package/lib-module/Notification/Notification.js +0 -196
- package/lib-module/Notification/dictionary.js +0 -8
- package/lib-module/Notification/index.js +0 -2
- package/lib-module/Pagination/PageButton.js +0 -65
- package/lib-module/Pagination/Pagination.js +0 -140
- package/lib-module/Pagination/SideButton.js +0 -103
- package/lib-module/Pagination/dictionary.js +0 -18
- package/lib-module/Pagination/index.js +0 -2
- package/lib-module/Pagination/usePagination.js +0 -72
- package/lib-module/Progress/Progress.js +0 -85
- package/lib-module/Progress/ProgressBar.js +0 -134
- package/lib-module/Progress/ProgressBarBackground.js +0 -41
- package/lib-module/Progress/index.js +0 -4
- package/lib-module/Radio/Radio.js +0 -274
- package/lib-module/Radio/RadioButton.js +0 -128
- package/lib-module/Radio/RadioGroup.js +0 -241
- package/lib-module/Radio/RadioInput.js +0 -60
- package/lib-module/Radio/RadioInput.native.js +0 -6
- package/lib-module/Radio/index.js +0 -3
- package/lib-module/RadioCard/RadioCard.js +0 -218
- package/lib-module/RadioCard/RadioCardGroup.js +0 -248
- package/lib-module/RadioCard/index.js +0 -3
- package/lib-module/Search/Search.js +0 -241
- package/lib-module/Search/dictionary.js +0 -12
- package/lib-module/Search/index.js +0 -2
- package/lib-module/Select/Group.js +0 -20
- package/lib-module/Select/Group.native.js +0 -14
- package/lib-module/Select/Item.js +0 -17
- package/lib-module/Select/Item.native.js +0 -9
- package/lib-module/Select/Picker.js +0 -67
- package/lib-module/Select/Picker.native.js +0 -110
- package/lib-module/Select/Select.js +0 -316
- package/lib-module/Select/index.js +0 -6
- package/lib-module/SideNav/Item.js +0 -139
- package/lib-module/SideNav/ItemContent.js +0 -45
- package/lib-module/SideNav/ItemsGroup.js +0 -115
- package/lib-module/SideNav/SideNav.js +0 -133
- package/lib-module/SideNav/index.js +0 -1
- package/lib-module/Skeleton/Skeleton.js +0 -163
- package/lib-module/Skeleton/index.js +0 -2
- package/lib-module/Skeleton/skeleton.constant.js +0 -3
- package/lib-module/Skeleton/skeletonWebAnimation.js +0 -18
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -24
- package/lib-module/Spacer/Spacer.js +0 -97
- package/lib-module/Spacer/index.js +0 -2
- package/lib-module/StackView/StackView.js +0 -124
- package/lib-module/StackView/StackWrap.js +0 -48
- package/lib-module/StackView/StackWrap.native.js +0 -3
- package/lib-module/StackView/StackWrapBox.js +0 -114
- package/lib-module/StackView/StackWrapGap.js +0 -58
- package/lib-module/StackView/common.js +0 -32
- package/lib-module/StackView/getStackedContent.js +0 -123
- package/lib-module/StackView/index.js +0 -5
- package/lib-module/StepTracker/Step.js +0 -229
- package/lib-module/StepTracker/StepTracker.js +0 -175
- package/lib-module/StepTracker/dictionary.js +0 -10
- package/lib-module/StepTracker/index.js +0 -2
- package/lib-module/Tabs/Tabs.js +0 -113
- package/lib-module/Tabs/TabsItem.js +0 -215
- package/lib-module/Tabs/index.js +0 -2
- package/lib-module/Tags/Tags.js +0 -245
- package/lib-module/Tags/index.js +0 -2
- package/lib-module/TextInput/TextArea.js +0 -88
- package/lib-module/TextInput/TextInput.js +0 -68
- package/lib-module/TextInput/TextInputBase.js +0 -233
- package/lib-module/TextInput/index.js +0 -3
- package/lib-module/TextInput/propTypes.js +0 -37
- package/lib-module/ThemeProvider/ThemeProvider.js +0 -35
- package/lib-module/ThemeProvider/index.js +0 -6
- package/lib-module/ThemeProvider/useSetTheme.js +0 -22
- package/lib-module/ThemeProvider/useTheme.js +0 -14
- package/lib-module/ThemeProvider/useThemeTokens.js +0 -105
- package/lib-module/ThemeProvider/utils/index.js +0 -2
- package/lib-module/ThemeProvider/utils/styles.js +0 -174
- package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -151
- package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -234
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -218
- package/lib-module/ToggleSwitch/index.js +0 -3
- package/lib-module/Tooltip/Backdrop.js +0 -52
- package/lib-module/Tooltip/Backdrop.native.js +0 -43
- package/lib-module/Tooltip/Tooltip.js +0 -332
- package/lib-module/Tooltip/dictionary.js +0 -8
- package/lib-module/Tooltip/getTooltipPosition.js +0 -164
- package/lib-module/Tooltip/index.js +0 -2
- package/lib-module/TooltipButton/TooltipButton.js +0 -71
- package/lib-module/TooltipButton/index.js +0 -2
- package/lib-module/Typography/Typography.js +0 -120
- package/lib-module/Typography/index.js +0 -2
- package/lib-module/ViewportProvider/ViewportProvider.js +0 -28
- package/lib-module/ViewportProvider/index.js +0 -3
- package/lib-module/ViewportProvider/useViewport.js +0 -3
- package/lib-module/ViewportProvider/useViewportListener.js +0 -43
- package/lib-module/index.js +0 -48
- package/lib-module/utils/a11y/index.js +0 -2
- package/lib-module/utils/a11y/semantics.js +0 -154
- package/lib-module/utils/a11y/textSize.js +0 -34
- package/lib-module/utils/animation/index.js +0 -2
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -61
- package/lib-module/utils/children.js +0 -118
- package/lib-module/utils/containUniqueFields.js +0 -26
- package/lib-module/utils/index.js +0 -16
- package/lib-module/utils/info/index.js +0 -7
- package/lib-module/utils/info/platform/index.js +0 -11
- package/lib-module/utils/info/platform/platform.android.js +0 -1
- package/lib-module/utils/info/platform/platform.ios.js +0 -1
- package/lib-module/utils/info/platform/platform.js +0 -1
- package/lib-module/utils/info/platform/platform.native.js +0 -4
- package/lib-module/utils/info/versions.js +0 -5
- package/lib-module/utils/input.js +0 -180
- package/lib-module/utils/pressability.js +0 -97
- package/lib-module/utils/props/a11yProps.js +0 -140
- package/lib-module/utils/props/clickProps.js +0 -25
- package/lib-module/utils/props/componentPropType.js +0 -63
- package/lib-module/utils/props/copyPropTypes.js +0 -2
- package/lib-module/utils/props/getPropSelector.js +0 -6
- package/lib-module/utils/props/handlerProps.js +0 -59
- package/lib-module/utils/props/hrefAttrsProp.js +0 -30
- package/lib-module/utils/props/index.js +0 -19
- package/lib-module/utils/props/inputSupportsProps.js +0 -59
- package/lib-module/utils/props/linkProps.js +0 -43
- package/lib-module/utils/props/paddingProp.js +0 -9
- package/lib-module/utils/props/pressProps.js +0 -42
- package/lib-module/utils/props/rectProp.js +0 -9
- package/lib-module/utils/props/responsiveProps.js +0 -30
- package/lib-module/utils/props/selectSystemProps.js +0 -24
- package/lib-module/utils/props/spacingProps.js +0 -56
- package/lib-module/utils/props/textInputProps.js +0 -194
- package/lib-module/utils/props/textProps.js +0 -59
- package/lib-module/utils/props/tokens.js +0 -120
- package/lib-module/utils/props/variantProp.js +0 -18
- package/lib-module/utils/props/viewProps.js +0 -22
- package/lib-module/utils/ssr.js +0 -35
- package/lib-module/utils/useCopy.js +0 -42
- package/lib-module/utils/useHash.js +0 -44
- package/lib-module/utils/useHash.native.js +0 -7
- package/lib-module/utils/useResponsiveProp.js +0 -47
- package/lib-module/utils/useSpacingScale.js +0 -123
- package/lib-module/utils/useUniqueId.js +0 -12
- package/lib-module/utils/withLinkRouter.js +0 -82
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import { DURATION, MIN_EMPTY_ANGLE, MIN_STROKE_ANGLE, BEZIER, propTypes } from './shared';
|
|
3
|
-
import { useA11yInfo } from '../A11yInfoProvider';
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
-
const SVG_RADIUS = 20;
|
|
8
|
-
const SVG_CIRCUMFERENCE = SVG_RADIUS * 2 * Math.PI;
|
|
9
|
-
const MIN_SVG_LENGTH = MIN_STROKE_ANGLE / 360 * SVG_CIRCUMFERENCE;
|
|
10
|
-
const MAX_SVG_LENGTH = (1 - MIN_EMPTY_ANGLE / 360) * SVG_CIRCUMFERENCE;
|
|
11
|
-
const animationProps = {
|
|
12
|
-
begin: '0s',
|
|
13
|
-
dur: `${DURATION}ms`,
|
|
14
|
-
fill: 'freeze',
|
|
15
|
-
repeatCount: 'indefinite'
|
|
16
|
-
};
|
|
17
|
-
const bezierProps = {
|
|
18
|
-
calcMode: 'spline',
|
|
19
|
-
keyTimes: '0; 0.5; 1',
|
|
20
|
-
keySplines: `${BEZIER.join(', ')} ; ${BEZIER.join(', ')}`
|
|
21
|
-
}; // We're using svg rather than css here to define the animation to avoid needing to introduce css injection mechanism
|
|
22
|
-
// It's possible to replicate this functionality with RNW animations, but it snags on chrome at least, see https://github.com/telus/universal-design-system/pull/477 for details.
|
|
23
|
-
|
|
24
|
-
const Spinner = /*#__PURE__*/forwardRef(({
|
|
25
|
-
size,
|
|
26
|
-
color,
|
|
27
|
-
thickness,
|
|
28
|
-
label
|
|
29
|
-
}, ref) => {
|
|
30
|
-
const {
|
|
31
|
-
reduceMotionEnabled
|
|
32
|
-
} = useA11yInfo();
|
|
33
|
-
return /*#__PURE__*/_jsx("svg", {
|
|
34
|
-
ref: ref,
|
|
35
|
-
width: `${size}px`,
|
|
36
|
-
height: `${size}px`,
|
|
37
|
-
viewBox: "0 0 48 48",
|
|
38
|
-
"aria-valuetext": label,
|
|
39
|
-
role: "progressbar",
|
|
40
|
-
"aria-busy": true,
|
|
41
|
-
children: /*#__PURE__*/_jsxs("g", {
|
|
42
|
-
children: [reduceMotionEnabled ? null : /*#__PURE__*/_jsx("animateTransform", {
|
|
43
|
-
attributeName: "transform",
|
|
44
|
-
type: "rotate",
|
|
45
|
-
values: `-180 24 24;${360 + MIN_STROKE_ANGLE - 180} 24 24`,
|
|
46
|
-
...animationProps
|
|
47
|
-
}), /*#__PURE__*/_jsx("circle", {
|
|
48
|
-
fill: "none",
|
|
49
|
-
stroke: color,
|
|
50
|
-
strokeWidth: thickness * 48 / size,
|
|
51
|
-
strokeLinecap: "round",
|
|
52
|
-
cx: "24",
|
|
53
|
-
cy: "24",
|
|
54
|
-
r: "20",
|
|
55
|
-
strokeDasharray: reduceMotionEnabled ? MAX_SVG_LENGTH : [MIN_SVG_LENGTH, SVG_CIRCUMFERENCE],
|
|
56
|
-
strokeDashoffset: 0,
|
|
57
|
-
children: reduceMotionEnabled ? null : /*#__PURE__*/_jsxs(_Fragment, {
|
|
58
|
-
children: [/*#__PURE__*/_jsx("animate", {
|
|
59
|
-
attributeName: "stroke-dashoffset",
|
|
60
|
-
values: `0;-10;${MIN_SVG_LENGTH - SVG_CIRCUMFERENCE}`,
|
|
61
|
-
...animationProps,
|
|
62
|
-
...bezierProps
|
|
63
|
-
}), /*#__PURE__*/_jsx("animate", {
|
|
64
|
-
attributeName: "stroke-dasharray",
|
|
65
|
-
values: `${MIN_SVG_LENGTH}, 200;${MAX_SVG_LENGTH}, 200;${MIN_SVG_LENGTH}, 200`,
|
|
66
|
-
...animationProps,
|
|
67
|
-
...bezierProps
|
|
68
|
-
})]
|
|
69
|
-
})
|
|
70
|
-
})]
|
|
71
|
-
})
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
Spinner.displayName = 'Spinner';
|
|
75
|
-
Spinner.propTypes = propTypes;
|
|
76
|
-
export default Spinner;
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import Animated from "react-native-web/dist/exports/Animated";
|
|
3
|
-
import Easing from "react-native-web/dist/exports/Easing";
|
|
4
|
-
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
5
|
-
import View from "react-native-web/dist/exports/View";
|
|
6
|
-
import { DURATION, MIN_EMPTY_ANGLE, MIN_STROKE_ANGLE, BEZIER, propTypes } from './shared';
|
|
7
|
-
import { useA11yInfo } from '../A11yInfoProvider';
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
const ea = MIN_EMPTY_ANGLE / 2;
|
|
10
|
-
const sa = MIN_STROKE_ANGLE / 2;
|
|
11
|
-
const Spinner = /*#__PURE__*/forwardRef(({
|
|
12
|
-
size,
|
|
13
|
-
color,
|
|
14
|
-
thickness,
|
|
15
|
-
label
|
|
16
|
-
}, ref) => {
|
|
17
|
-
const {
|
|
18
|
-
current: timer
|
|
19
|
-
} = React.useRef(new Animated.Value(0));
|
|
20
|
-
const {
|
|
21
|
-
reduceMotionEnabled
|
|
22
|
-
} = useA11yInfo();
|
|
23
|
-
React.useLayoutEffect(() => {
|
|
24
|
-
const loop = Animated.timing(timer, {
|
|
25
|
-
duration: DURATION,
|
|
26
|
-
easing: Easing.linear,
|
|
27
|
-
// Animated.loop does not work if useNativeDriver is true on web
|
|
28
|
-
useNativeDriver: true,
|
|
29
|
-
toValue: 1,
|
|
30
|
-
isInteraction: false
|
|
31
|
-
});
|
|
32
|
-
if (!reduceMotionEnabled) Animated.loop(loop).start();else loop.stop();
|
|
33
|
-
}, [timer, reduceMotionEnabled]);
|
|
34
|
-
const frames = 60 * DURATION / 1000;
|
|
35
|
-
const easing = Easing.bezier(...BEZIER);
|
|
36
|
-
const containerStyle = {
|
|
37
|
-
width: size,
|
|
38
|
-
height: size / (reduceMotionEnabled ? 1.5 : 2),
|
|
39
|
-
overflow: 'hidden'
|
|
40
|
-
};
|
|
41
|
-
const animationFrequency = reduceMotionEnabled ? [0] : [0, 1]; // Credit to https://github.com/n4kz/react-native-indicators and https://github.com/callstack/react-native-paper for this
|
|
42
|
-
|
|
43
|
-
return /*#__PURE__*/_jsx(View, {
|
|
44
|
-
ref: ref,
|
|
45
|
-
style: [styles.container],
|
|
46
|
-
accessible: true,
|
|
47
|
-
accessibilityLabel: label,
|
|
48
|
-
accessibilityRole: "progressbar",
|
|
49
|
-
accessibilityState: {
|
|
50
|
-
busy: true
|
|
51
|
-
},
|
|
52
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
53
|
-
style: [{
|
|
54
|
-
width: size,
|
|
55
|
-
height: size
|
|
56
|
-
}],
|
|
57
|
-
collapsable: false,
|
|
58
|
-
children: animationFrequency.map(index => {
|
|
59
|
-
const inputRange = Array.from(new Array(frames), (_, frameIndex) => frameIndex / (frames - 1));
|
|
60
|
-
const outputRange = Array.from(new Array(frames), (_, frameIndex) => {
|
|
61
|
-
let progress = 2 * frameIndex / (frames - 1);
|
|
62
|
-
const rotation = index ? +(360 - sa) : -(180 - sa);
|
|
63
|
-
|
|
64
|
-
if (progress > 1.0) {
|
|
65
|
-
progress = 2.0 - progress;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const direction = index ? -1 : +1;
|
|
69
|
-
return `${direction * (180 - (sa + ea)) * easing(progress) + rotation}deg`;
|
|
70
|
-
});
|
|
71
|
-
const layerStyle = {
|
|
72
|
-
width: size,
|
|
73
|
-
height: size
|
|
74
|
-
};
|
|
75
|
-
const viewportStyle = {
|
|
76
|
-
width: size,
|
|
77
|
-
height: size
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
if (!reduceMotionEnabled) {
|
|
81
|
-
layerStyle.transform = [{
|
|
82
|
-
rotate: timer.interpolate({
|
|
83
|
-
inputRange: [0, 1],
|
|
84
|
-
outputRange: [`${0 + ea + sa}deg`, `${2 * 360 + ea + sa}deg`]
|
|
85
|
-
})
|
|
86
|
-
}];
|
|
87
|
-
viewportStyle.transform = [{
|
|
88
|
-
translateY: index ? -size / 2 : 0
|
|
89
|
-
}, {
|
|
90
|
-
rotate: timer.interpolate({
|
|
91
|
-
inputRange,
|
|
92
|
-
outputRange
|
|
93
|
-
})
|
|
94
|
-
}];
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const offsetStyle = index ? {
|
|
98
|
-
top: size / 2
|
|
99
|
-
} : null;
|
|
100
|
-
const lineStyle = {
|
|
101
|
-
width: size,
|
|
102
|
-
height: size,
|
|
103
|
-
borderColor: color,
|
|
104
|
-
borderWidth: thickness,
|
|
105
|
-
borderRadius: size / 2
|
|
106
|
-
};
|
|
107
|
-
return /*#__PURE__*/_jsx(Animated.View, {
|
|
108
|
-
style: [styles.layer],
|
|
109
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
110
|
-
style: layerStyle,
|
|
111
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
112
|
-
style: [containerStyle, offsetStyle],
|
|
113
|
-
collapsable: false,
|
|
114
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
115
|
-
style: viewportStyle,
|
|
116
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
117
|
-
style: containerStyle,
|
|
118
|
-
collapsable: false,
|
|
119
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
120
|
-
style: lineStyle
|
|
121
|
-
})
|
|
122
|
-
})
|
|
123
|
-
})
|
|
124
|
-
})
|
|
125
|
-
})
|
|
126
|
-
}, index);
|
|
127
|
-
})
|
|
128
|
-
})
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
Spinner.displayName = 'Spinner';
|
|
132
|
-
Spinner.propTypes = propTypes;
|
|
133
|
-
const styles = StyleSheet.create({
|
|
134
|
-
container: {
|
|
135
|
-
flexGrow: 0,
|
|
136
|
-
flexShrink: 0
|
|
137
|
-
},
|
|
138
|
-
layer: { ...StyleSheet.absoluteFillObject,
|
|
139
|
-
justifyContent: 'center',
|
|
140
|
-
alignItems: 'center'
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
export default Spinner;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { useThemeTokens } from '../ThemeProvider';
|
|
4
|
-
import { getTokensPropType, variantProp } from '../utils/props';
|
|
5
|
-
import Spinner from './Spinner';
|
|
6
|
-
/**
|
|
7
|
-
* `ActivityIndicator` renders a visual loading state.
|
|
8
|
-
* It does not handle positioning or layout of that visual loader.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
|
|
13
|
-
const ActivityIndicator = ({
|
|
14
|
-
variant,
|
|
15
|
-
tokens,
|
|
16
|
-
label
|
|
17
|
-
}) => {
|
|
18
|
-
const {
|
|
19
|
-
size,
|
|
20
|
-
color,
|
|
21
|
-
thickness
|
|
22
|
-
} = useThemeTokens('ActivityIndicator', tokens, variant);
|
|
23
|
-
return /*#__PURE__*/_jsx(Spinner, {
|
|
24
|
-
size: size,
|
|
25
|
-
color: color,
|
|
26
|
-
thickness: thickness,
|
|
27
|
-
label: label
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
ActivityIndicator.propTypes = {
|
|
32
|
-
variant: variantProp.propType,
|
|
33
|
-
tokens: getTokensPropType('ActivityIndicator'),
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* A visually hidden accessible label describing the action taking place
|
|
37
|
-
*/
|
|
38
|
-
label: PropTypes.string.isRequired
|
|
39
|
-
};
|
|
40
|
-
export default ActivityIndicator;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import PropTypes from 'prop-types'; // these could be specified by the theme
|
|
2
|
-
|
|
3
|
-
export const DURATION = 1800;
|
|
4
|
-
export const MIN_EMPTY_ANGLE = 60;
|
|
5
|
-
export const MIN_STROKE_ANGLE = 30;
|
|
6
|
-
export const BEZIER = [0.42, 0.0, 0.58, 1.0];
|
|
7
|
-
export const propTypes = {
|
|
8
|
-
color: PropTypes.string.isRequired,
|
|
9
|
-
label: PropTypes.string.isRequired,
|
|
10
|
-
size: PropTypes.number.isRequired,
|
|
11
|
-
thickness: PropTypes.number.isRequired
|
|
12
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
var _ThemeProvider$propTy;
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import PropTypes from 'prop-types';
|
|
5
|
-
import A11yInfoProvider from '../A11yInfoProvider';
|
|
6
|
-
import ViewportProvider from '../ViewportProvider';
|
|
7
|
-
import ThemeProvider from '../ThemeProvider';
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
|
|
10
|
-
const BaseProvider = ({
|
|
11
|
-
defaultTheme,
|
|
12
|
-
children
|
|
13
|
-
}) => /*#__PURE__*/_jsx(A11yInfoProvider, {
|
|
14
|
-
children: /*#__PURE__*/_jsx(ViewportProvider, {
|
|
15
|
-
children: /*#__PURE__*/_jsx(ThemeProvider, {
|
|
16
|
-
defaultTheme: defaultTheme,
|
|
17
|
-
children: children
|
|
18
|
-
})
|
|
19
|
-
})
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
BaseProvider.propTypes = {
|
|
23
|
-
defaultTheme: (_ThemeProvider$propTy = ThemeProvider.propTypes) === null || _ThemeProvider$propTy === void 0 ? void 0 : _ThemeProvider$propTy.defaultTheme,
|
|
24
|
-
children: PropTypes.node.isRequired
|
|
25
|
-
};
|
|
26
|
-
export default BaseProvider;
|
package/lib-module/Box/Box.js
DELETED
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import View from "react-native-web/dist/exports/View";
|
|
4
|
-
import ScrollView from "react-native-web/dist/exports/ScrollView";
|
|
5
|
-
import { useThemeTokens } from '../ThemeProvider';
|
|
6
|
-
import { a11yProps, getA11yPropsFromHtmlTag, getTokensPropType, layoutTags, selectSystemProps, spacingProps, useSpacingScale, variantProp, viewProps } from '../utils';
|
|
7
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
9
|
-
/**
|
|
10
|
-
* @typedef {import('../utils/props/spacingProps.js').SpacingValue} SpacingValue
|
|
11
|
-
* @typedef {import('../utils/props/spacingProps.js').SpacingIndex} SpacingIndex
|
|
12
|
-
* @typedef {import('../utils/props/spacingProps.js').SpacingObject} SpacingObject
|
|
13
|
-
* @typedef {import('../utils/props/spacingProps.js').SpacingOptions} SpacingOptions
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
const selectBoxStyles = tokens => {
|
|
17
|
-
const styles = {
|
|
18
|
-
backgroundColor: tokens.backgroundColor
|
|
19
|
-
};
|
|
20
|
-
const paddings = ['paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom']; // Only set on styles if token provided because we spread this object after the spacing scale values
|
|
21
|
-
|
|
22
|
-
paddings.forEach(side => {
|
|
23
|
-
if (tokens[side]) {
|
|
24
|
-
styles[side] = tokens[side];
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
return styles;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* A layout utility component. Use Box to create space (padding) around content.
|
|
31
|
-
*
|
|
32
|
-
* ## Spacing
|
|
33
|
-
*
|
|
34
|
-
* For most simple uses, pass a number to Box's `space` prop referring to an index in the theme's
|
|
35
|
-
* spacing scale. For example, for a box with the theme's smallest non-zero amount of padding on all sides:
|
|
36
|
-
*
|
|
37
|
-
* ```jsx
|
|
38
|
-
* <Box space={1}>
|
|
39
|
-
* ```
|
|
40
|
-
*
|
|
41
|
-
* #### Targetting specific sides
|
|
42
|
-
*
|
|
43
|
-
* Box allows spacing value props to be assigned to any side or all sides using the following props:
|
|
44
|
-
*
|
|
45
|
-
* - `space` sets the default for all sides, which is overridden by other props below
|
|
46
|
-
* - `horizontal` sets defaults for `left` and `right` (overriding `space` there if it is set)
|
|
47
|
-
* - `vertical` sets defaults for `top` and `bottom` (overriding `space` there if it is set)
|
|
48
|
-
* - `left` sets the left side padding, inside the box's bounds
|
|
49
|
-
* - `right` sets the right side padding, inside the box's bounds
|
|
50
|
-
* - `top` sets the top side padding, inside the box's bounds
|
|
51
|
-
* - `bottom` sets the bottom side padding, inside the box's bounds
|
|
52
|
-
*
|
|
53
|
-
* Box only controls spacing within its bounds. If space is needed around a box outside of its bounds,
|
|
54
|
-
* use `Spacer`, `StackView` or wrap the `Box` inside another `Box`.
|
|
55
|
-
*
|
|
56
|
-
* #### Viewport-specific spacing
|
|
57
|
-
*
|
|
58
|
-
* Responsive behaviours may be set by passing any of the above props an object keyed by viewports.
|
|
59
|
-
*
|
|
60
|
-
* For example, if a theme's spacing scale is [0, 4, 8...], this below will have padding of 4px on top,
|
|
61
|
-
* bottom, and right, and its left padding will be 0px on xs, sm and md viewports and 8px on lg and xl viewports:
|
|
62
|
-
*
|
|
63
|
-
* ```jsx
|
|
64
|
-
* <Box space={1} left={{ xs: 0, lg: 2 }} />`
|
|
65
|
-
* ```
|
|
66
|
-
*
|
|
67
|
-
* #### Subtracting from spacing
|
|
68
|
-
*
|
|
69
|
-
* A parent may sometimes need to reduce the spacing size on one or more sides of a `Box` by some variable.
|
|
70
|
-
* For example, the parent may have a border on one side and want to reduce the spacing of a child box
|
|
71
|
-
* by the width of that border on that side. This can be achieved using the `subtract` option of the
|
|
72
|
-
* spacing object, for example:
|
|
73
|
-
*
|
|
74
|
-
* ```jsx
|
|
75
|
-
* <Box space={2} left={{ space: 2, options: { subtract: themeTokens.borderWidthLeft } }} />`
|
|
76
|
-
* ```
|
|
77
|
-
*
|
|
78
|
-
* See `useSpacingScale` hook for other spacing value options and documentation.
|
|
79
|
-
*
|
|
80
|
-
* ## Theming
|
|
81
|
-
*
|
|
82
|
-
* Box is intended for layout, so minimal theming is supported. Use components like `Card` for
|
|
83
|
-
* more sophisticated theming.
|
|
84
|
-
*
|
|
85
|
-
* ## Scroll
|
|
86
|
-
*
|
|
87
|
-
* If passed, the box will be scrollable. If an object is passed, it will be passed to React Native's
|
|
88
|
-
* `ScrollView` component as props.
|
|
89
|
-
*
|
|
90
|
-
* When building native iOS and Android apps, it is important to remember to ensure any screen containing
|
|
91
|
-
* text content is inside a scrollable box, as screens are not scrollable by default and even very
|
|
92
|
-
* short text will require scrolling on small devices at the highest accessibility text scaling settings.
|
|
93
|
-
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const Box = /*#__PURE__*/forwardRef(({
|
|
97
|
-
space,
|
|
98
|
-
horizontal = space,
|
|
99
|
-
vertical = space,
|
|
100
|
-
top = vertical,
|
|
101
|
-
bottom = vertical,
|
|
102
|
-
left = horizontal,
|
|
103
|
-
right = horizontal,
|
|
104
|
-
flex,
|
|
105
|
-
children,
|
|
106
|
-
variant,
|
|
107
|
-
tokens,
|
|
108
|
-
scroll,
|
|
109
|
-
tag,
|
|
110
|
-
accessibilityRole,
|
|
111
|
-
testID,
|
|
112
|
-
dataSet,
|
|
113
|
-
...rest
|
|
114
|
-
}, ref) => {
|
|
115
|
-
const props = { ...getA11yPropsFromHtmlTag(tag, accessibilityRole),
|
|
116
|
-
...selectProps(rest)
|
|
117
|
-
};
|
|
118
|
-
const themeTokens = useThemeTokens('Box', tokens, variant);
|
|
119
|
-
const styles = {
|
|
120
|
-
flex,
|
|
121
|
-
paddingLeft: useSpacingScale(left),
|
|
122
|
-
paddingRight: useSpacingScale(right),
|
|
123
|
-
paddingTop: useSpacingScale(top),
|
|
124
|
-
paddingBottom: useSpacingScale(bottom),
|
|
125
|
-
...selectBoxStyles(themeTokens)
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
if (scroll) {
|
|
129
|
-
const scrollProps = typeof scroll === 'object' ? scroll : {};
|
|
130
|
-
scrollProps.contentContainerStyle = [styles, scrollProps.contentContainerStyle];
|
|
131
|
-
return /*#__PURE__*/_jsx(ScrollView, { ...scrollProps,
|
|
132
|
-
...props,
|
|
133
|
-
testID: testID,
|
|
134
|
-
dataSet: dataSet,
|
|
135
|
-
ref: ref,
|
|
136
|
-
children: children
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return /*#__PURE__*/_jsx(View, { ...props,
|
|
141
|
-
style: styles,
|
|
142
|
-
testID: testID,
|
|
143
|
-
dataSet: dataSet,
|
|
144
|
-
ref: ref,
|
|
145
|
-
children: children
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
Box.displayName = 'Box';
|
|
149
|
-
Box.propTypes = { ...selectedSystemPropTypes,
|
|
150
|
-
variant: variantProp.propType,
|
|
151
|
-
tokens: getTokensPropType('Box'),
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Sets default padding on all sides of the box using the theme's spacing scale.
|
|
155
|
-
*
|
|
156
|
-
* @see {@link SpacingValue}
|
|
157
|
-
*/
|
|
158
|
-
space: spacingProps.types.spacingValue,
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Sets top and bottom padding using the theme's spacing scale.
|
|
162
|
-
*
|
|
163
|
-
* @see {@link SpacingValue}
|
|
164
|
-
*/
|
|
165
|
-
vertical: spacingProps.types.spacingValue,
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Sets left and right padding using the theme's spacing scale.
|
|
169
|
-
*
|
|
170
|
-
* @see {@link SpacingValue}
|
|
171
|
-
*/
|
|
172
|
-
horizontal: spacingProps.types.spacingValue,
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Sets bottom padding using the theme's spacing scale.
|
|
176
|
-
*
|
|
177
|
-
* @see {@link SpacingValue}
|
|
178
|
-
*/
|
|
179
|
-
bottom: spacingProps.types.spacingValue,
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Sets left padding using the theme's spacing scale.
|
|
183
|
-
*
|
|
184
|
-
* @see {@link SpacingValue}
|
|
185
|
-
*/
|
|
186
|
-
left: spacingProps.types.spacingValue,
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Sets right padding using the theme's spacing scale.
|
|
190
|
-
*
|
|
191
|
-
* @see {@link SpacingValue}
|
|
192
|
-
*/
|
|
193
|
-
right: spacingProps.types.spacingValue,
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Sets top padding using the theme's spacing scale.
|
|
197
|
-
*
|
|
198
|
-
* @see {@link SpacingValue}
|
|
199
|
-
*/
|
|
200
|
-
top: spacingProps.types.spacingValue,
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Sets the `flex` style, which controls `flexGrow`, `flexShrink` and `flexBasis` styles.
|
|
204
|
-
*
|
|
205
|
-
* Set as 1 for the box to stretch and grow to fit in the available space, or another number to share
|
|
206
|
-
* space disproportionately with siblings. See https://reactnative.dev/docs/flexbox#flex for details.
|
|
207
|
-
*
|
|
208
|
-
* With the default `0`, the box takes its minimum width from its content.
|
|
209
|
-
*/
|
|
210
|
-
flex: PropTypes.number,
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Renders a scrollable ScrollView instead of an unscrollable View.
|
|
214
|
-
*
|
|
215
|
-
* May take an object of ScrollView props which are passed to the rendered ScrollView.
|
|
216
|
-
*/
|
|
217
|
-
scroll: PropTypes.oneOfType([PropTypes.bool, ScrollView.propTypes ? PropTypes.shape(ScrollView.propTypes) : PropTypes.object]),
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Optional semantic HTML tag, to apply to the container on web. Does not change styling.
|
|
221
|
-
*
|
|
222
|
-
* In native apps, if a header tag is provided ("h1", "h2" etc) and accessibilityRole prop
|
|
223
|
-
* is not defined, the accessibilityRole will default to "heading".
|
|
224
|
-
*/
|
|
225
|
-
tag: PropTypes.oneOf(layoutTags),
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Use in tests if the box itself needs to be targetted and no other way of selecting the
|
|
229
|
-
* box is available (e.g. it cannot be targetted using an appropriate `accessibilityRole`).
|
|
230
|
-
*/
|
|
231
|
-
testID: PropTypes.string,
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* @ignore
|
|
235
|
-
*/
|
|
236
|
-
dataSet: PropTypes.object,
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Box accepts any content as children.
|
|
240
|
-
*/
|
|
241
|
-
children: PropTypes.node.isRequired
|
|
242
|
-
};
|
|
243
|
-
export default Box;
|
package/lib-module/Box/index.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import ButtonBase from './ButtonBase';
|
|
3
|
-
import buttonPropTypes, { textAndA11yText } from './propTypes';
|
|
4
|
-
import { useThemeTokensCallback } from '../ThemeProvider';
|
|
5
|
-
import { a11yProps } from '../utils/props';
|
|
6
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
const Button = /*#__PURE__*/forwardRef(({
|
|
8
|
-
accessibilityRole = 'button',
|
|
9
|
-
tokens,
|
|
10
|
-
variant,
|
|
11
|
-
...props
|
|
12
|
-
}, ref) => {
|
|
13
|
-
const getTokens = useThemeTokensCallback('Button', tokens, variant);
|
|
14
|
-
return /*#__PURE__*/_jsx(ButtonBase, { ...props,
|
|
15
|
-
tokens: getTokens,
|
|
16
|
-
accessibilityRole: accessibilityRole,
|
|
17
|
-
ref: ref
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
Button.displayName = 'Button';
|
|
21
|
-
Button.propTypes = { ...a11yProps.types,
|
|
22
|
-
...buttonPropTypes,
|
|
23
|
-
children: textAndA11yText
|
|
24
|
-
};
|
|
25
|
-
export default Button;
|