@telus-uds/components-base 0.0.2-prerelease.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +9 -0
- package/.ultra.cache.json +1 -1
- package/CHANGELOG.md +32 -0
- package/README.md +4 -2
- package/__fixtures__/test-utils.js +25 -0
- package/__fixtures__/testTheme.js +4 -2
- package/__tests__/Button/ButtonGroup.test.jsx +4 -5
- package/__tests__/Checkbox/Checkbox.test.jsx +2 -2
- package/__tests__/Checkbox/CheckboxGroup.test.jsx +4 -5
- package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
- package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
- package/__tests__/Link/LinkBase.test.jsx +0 -14
- package/__tests__/Radio/Radio.test.jsx +2 -2
- package/__tests__/Radio/RadioGroup.test.jsx +4 -5
- package/__tests__/RadioCard/RadioCard.test.jsx +2 -2
- package/__tests__/RadioCard/RadioCardGroup.test.jsx +4 -5
- package/__tests__/Search/Search.test.jsx +9 -8
- package/__tests__/Select/Select.test.jsx +3 -2
- package/__tests__/Tabs/Tabs.test.jsx +1 -161
- package/__tests__/Tags/Tags.test.jsx +4 -5
- package/__tests__/TextInput/TextArea.test.jsx +3 -2
- package/__tests__/TextInput/TextInputBase.test.jsx +10 -5
- package/__tests__/ThemeProvider/ThemeProvider.test.jsx +77 -0
- package/__tests__/ThemeProvider/useThemeTokens.test.jsx +9 -5
- package/__tests__/ThemeProvider/utils/theme-tokens.test.js +41 -0
- package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +3 -2
- package/__tests__/utils/children.test.jsx +128 -0
- package/__tests__/utils/input.test.js +1 -1
- package/__tests__/utils/semantics.test.jsx +43 -0
- package/lib/A11yText/index.js +10 -5
- package/lib/ActivityIndicator/Spinner.js +16 -13
- package/lib/ActivityIndicator/Spinner.native.js +12 -8
- package/lib/Box/Box.js +102 -8
- package/lib/Button/Button.js +9 -8
- package/lib/Button/ButtonBase.js +14 -7
- package/lib/Button/ButtonGroup.js +25 -10
- package/lib/Button/ButtonLink.js +10 -7
- package/lib/Card/Card.js +2 -0
- package/lib/Card/CardBase.js +12 -5
- package/lib/Card/PressableCardBase.js +12 -8
- package/lib/Checkbox/Checkbox.js +25 -14
- package/lib/Checkbox/CheckboxGroup.js +22 -12
- package/lib/Divider/Divider.js +12 -7
- package/lib/ExpandCollapse/Accordion.js +10 -4
- package/lib/ExpandCollapse/Control.js +12 -6
- package/lib/ExpandCollapse/ExpandCollapse.js +10 -5
- package/lib/ExpandCollapse/Panel.js +8 -7
- package/lib/Feedback/Feedback.js +10 -5
- package/lib/Fieldset/Fieldset.js +10 -5
- package/lib/Fieldset/FieldsetContainer.js +10 -5
- package/lib/Fieldset/FieldsetContainer.native.js +10 -5
- package/lib/Fieldset/Legend.js +10 -5
- package/lib/Fieldset/Legend.native.js +10 -5
- package/lib/FlexGrid/Col/Col.js +8 -5
- package/lib/FlexGrid/FlexGrid.js +31 -6
- package/lib/FlexGrid/Row/Row.js +12 -5
- package/lib/{Tabs → HorizontalScroll}/HorizontalScroll.js +5 -4
- package/lib/{Tabs/TabsScrollButton.js → HorizontalScroll/HorizontalScrollButton.js} +14 -8
- package/lib/{Tabs → HorizontalScroll}/ScrollViewEnd.js +0 -0
- package/lib/{Tabs → HorizontalScroll}/ScrollViewEnd.native.js +0 -0
- package/lib/{Tabs → HorizontalScroll}/dictionary.js +0 -0
- package/lib/HorizontalScroll/index.js +35 -0
- package/lib/{Tabs → HorizontalScroll}/itemPositions.js +0 -0
- package/lib/Icon/Icon.js +16 -9
- package/lib/Icon/IconText.js +8 -7
- package/lib/IconButton/IconButton.js +10 -5
- package/lib/InputLabel/InputLabel.js +33 -5
- package/lib/InputLabel/LabelContent.js +22 -12
- package/lib/InputLabel/LabelContent.native.js +23 -5
- package/lib/InputSupports/InputSupports.js +10 -5
- package/lib/Link/ChevronLink.js +12 -5
- package/lib/Link/InlinePressable.js +10 -4
- package/lib/Link/InlinePressable.native.js +5 -4
- package/lib/Link/Link.js +12 -5
- package/lib/Link/LinkBase.js +12 -5
- package/lib/Link/TextButton.js +10 -5
- package/lib/List/List.js +5 -4
- package/lib/List/ListItem.js +16 -8
- package/lib/Modal/Modal.js +10 -5
- package/lib/Notification/Notification.js +21 -5
- package/lib/Pagination/PageButton.js +21 -10
- package/lib/Pagination/Pagination.js +12 -7
- package/lib/Pagination/SideButton.js +12 -7
- package/lib/Pagination/usePagination.js +2 -2
- package/lib/Progress/Progress.js +10 -5
- package/lib/Progress/ProgressBar.js +21 -10
- package/lib/Progress/ProgressBarBackground.js +12 -8
- package/lib/Radio/Radio.js +14 -13
- package/lib/Radio/RadioButton.js +20 -9
- package/lib/Radio/RadioGroup.js +24 -13
- package/lib/RadioCard/RadioCard.js +14 -10
- package/lib/RadioCard/RadioCardGroup.js +13 -12
- package/lib/Search/Search.js +29 -18
- package/lib/Select/Picker.js +11 -6
- package/lib/Select/Picker.native.js +21 -6
- package/lib/Select/Select.js +46 -4
- package/lib/SideNav/Item.js +10 -5
- package/lib/SideNav/ItemsGroup.js +10 -5
- package/lib/SideNav/SideNav.js +11 -7
- package/lib/Skeleton/Skeleton.js +15 -15
- package/lib/Skeleton/skeletonWebAnimation.js +1 -1
- package/lib/Spacer/Spacer.js +19 -7
- package/lib/StackView/StackView.js +25 -7
- package/lib/StackView/StackWrap.js +16 -9
- package/lib/StackView/StackWrapBox.js +33 -8
- package/lib/StackView/StackWrapGap.js +16 -7
- package/lib/StackView/common.js +4 -2
- package/lib/StackView/getStackedContent.js +2 -2
- package/lib/StepTracker/StepTracker.js +10 -5
- package/lib/Tabs/Tabs.js +26 -19
- package/lib/Tabs/TabsItem.js +16 -12
- package/lib/Tags/Tags.js +27 -11
- package/lib/TextInput/TextArea.js +7 -5
- package/lib/TextInput/TextInput.js +12 -6
- package/lib/TextInput/TextInputBase.js +12 -8
- package/lib/ThemeProvider/ThemeProvider.js +14 -10
- package/lib/ThemeProvider/useSetTheme.js +6 -1
- package/lib/ThemeProvider/utils/styles.js +2 -2
- package/lib/ThemeProvider/utils/theme-tokens.js +39 -8
- package/lib/ToggleSwitch/ToggleSwitch.js +11 -6
- package/lib/Tooltip/Backdrop.js +10 -2
- package/lib/Tooltip/Tooltip.js +5 -4
- package/lib/Typography/Typography.js +40 -24
- package/lib/index.js +21 -0
- package/lib/utils/a11y/index.js +13 -0
- package/lib/utils/a11y/semantics.js +173 -0
- package/lib/utils/animation/useVerticalExpandAnimation.js +1 -1
- package/lib/utils/children.js +55 -8
- package/lib/utils/input.js +27 -17
- package/lib/utils/propTypes.js +82 -29
- package/lib/utils/useCopy.js +1 -1
- package/lib/utils/useHash.js +8 -4
- package/lib/utils/useSpacingScale.js +1 -3
- package/lib/utils/useUniqueId.js +1 -1
- package/package.json +9 -5
- package/release-context.json +4 -4
- package/src/A11yText/index.jsx +6 -4
- package/src/ActivityIndicator/Spinner.jsx +5 -3
- package/src/ActivityIndicator/Spinner.native.jsx +5 -3
- package/src/Box/Box.jsx +124 -39
- package/src/Button/Button.jsx +7 -4
- package/src/Button/ButtonBase.jsx +86 -77
- package/src/Button/ButtonGroup.jsx +81 -69
- package/src/Button/ButtonLink.jsx +18 -13
- package/src/Card/Card.jsx +2 -2
- package/src/Card/CardBase.jsx +5 -4
- package/src/Card/PressableCardBase.jsx +71 -64
- package/src/Checkbox/Checkbox.jsx +118 -108
- package/src/Checkbox/CheckboxGroup.jsx +72 -62
- package/src/Divider/Divider.jsx +7 -4
- package/src/ExpandCollapse/Accordion.jsx +3 -2
- package/src/ExpandCollapse/Control.jsx +40 -43
- package/src/ExpandCollapse/ExpandCollapse.jsx +26 -23
- package/src/ExpandCollapse/Panel.jsx +69 -63
- package/src/Feedback/Feedback.jsx +36 -33
- package/src/Fieldset/Fieldset.jsx +63 -56
- package/src/Fieldset/FieldsetContainer.jsx +14 -5
- package/src/Fieldset/FieldsetContainer.native.jsx +7 -4
- package/src/Fieldset/Legend.jsx +7 -2
- package/src/Fieldset/Legend.native.jsx +7 -2
- package/src/FlexGrid/Col/Col.jsx +139 -132
- package/src/FlexGrid/FlexGrid.jsx +79 -51
- package/src/FlexGrid/Row/Row.jsx +55 -48
- package/src/HorizontalScroll/HorizontalScroll.jsx +168 -0
- package/src/HorizontalScroll/HorizontalScrollButton.jsx +105 -0
- package/src/{Tabs → HorizontalScroll}/ScrollViewEnd.jsx +0 -0
- package/src/{Tabs → HorizontalScroll}/ScrollViewEnd.native.jsx +0 -0
- package/src/{Tabs → HorizontalScroll}/dictionary.js +0 -0
- package/src/HorizontalScroll/index.js +17 -0
- package/src/{Tabs → HorizontalScroll}/itemPositions.js +0 -0
- package/src/Icon/Icon.jsx +37 -35
- package/src/Icon/IconText.jsx +22 -17
- package/src/IconButton/IconButton.jsx +49 -42
- package/src/InputLabel/InputLabel.jsx +53 -38
- package/src/InputLabel/LabelContent.jsx +14 -6
- package/src/InputLabel/LabelContent.native.jsx +11 -2
- package/src/InputSupports/InputSupports.jsx +29 -34
- package/src/Link/ChevronLink.jsx +26 -16
- package/src/Link/InlinePressable.jsx +5 -3
- package/src/Link/InlinePressable.native.jsx +5 -3
- package/src/Link/Link.jsx +22 -16
- package/src/Link/LinkBase.jsx +67 -58
- package/src/Link/TextButton.jsx +30 -23
- package/src/List/List.jsx +5 -4
- package/src/List/ListItem.jsx +77 -82
- package/src/Modal/Modal.jsx +9 -4
- package/src/Notification/Notification.jsx +58 -43
- package/src/Pagination/PageButton.jsx +42 -35
- package/src/Pagination/Pagination.jsx +88 -92
- package/src/Pagination/SideButton.jsx +44 -41
- package/src/Progress/Progress.jsx +5 -4
- package/src/Progress/ProgressBar.jsx +42 -29
- package/src/Progress/ProgressBarBackground.jsx +5 -3
- package/src/Radio/Radio.jsx +85 -78
- package/src/Radio/RadioButton.jsx +54 -43
- package/src/Radio/RadioGroup.jsx +74 -63
- package/src/RadioCard/RadioCard.jsx +75 -68
- package/src/RadioCard/RadioCardGroup.jsx +82 -75
- package/src/Search/Search.jsx +127 -106
- package/src/Select/Picker.jsx +49 -42
- package/src/Select/Picker.native.jsx +56 -49
- package/src/Select/Select.jsx +115 -72
- package/src/SideNav/Item.jsx +53 -46
- package/src/SideNav/ItemsGroup.jsx +50 -43
- package/src/SideNav/SideNav.jsx +68 -60
- package/src/Skeleton/Skeleton.jsx +9 -13
- package/src/Spacer/Spacer.jsx +11 -4
- package/src/StackView/StackView.jsx +46 -23
- package/src/StackView/StackWrap.jsx +7 -6
- package/src/StackView/StackWrapBox.jsx +61 -28
- package/src/StackView/StackWrapGap.jsx +46 -24
- package/src/StackView/common.jsx +3 -2
- package/src/StepTracker/StepTracker.jsx +73 -62
- package/src/Tabs/Tabs.jsx +70 -62
- package/src/Tabs/TabsItem.jsx +111 -103
- package/src/Tags/Tags.jsx +114 -102
- package/src/TextInput/TextArea.jsx +5 -4
- package/src/TextInput/TextInput.jsx +5 -4
- package/src/TextInput/TextInputBase.jsx +84 -77
- package/src/ThemeProvider/ThemeProvider.jsx +11 -7
- package/src/ThemeProvider/useSetTheme.js +4 -0
- package/src/ThemeProvider/utils/theme-tokens.js +28 -0
- package/src/ToggleSwitch/ToggleSwitch.jsx +49 -50
- package/src/Tooltip/Tooltip.jsx +134 -130
- package/src/Typography/Typography.jsx +67 -44
- package/src/index.js +2 -0
- package/src/utils/a11y/index.js +1 -0
- package/src/utils/a11y/semantics.js +162 -0
- package/src/utils/children.jsx +60 -7
- package/src/utils/input.js +20 -17
- package/src/utils/propTypes.js +101 -39
- package/src/utils/useCopy.js +1 -1
- package/src/utils/useHash.js +8 -3
- package/stories/A11yText/A11yText.stories.jsx +2 -2
- package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +1 -1
- package/stories/Box/Box.stories.jsx +1 -1
- package/stories/Button/Button.stories.jsx +2 -2
- package/stories/Button/ButtonGroup.stories.jsx +1 -1
- package/stories/Button/ButtonLink.stories.jsx +1 -1
- package/stories/Card/Card.stories.jsx +1 -1
- package/stories/Checkbox/Checkbox.stories.jsx +1 -1
- package/stories/Divider/Divider.stories.jsx +1 -1
- package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +2 -2
- package/stories/Feedback/Feedback.stories.jsx +1 -1
- package/stories/FlexGrid/01 FlexGrid.stories.jsx +1 -1
- package/stories/FlexGrid/02 Row.stories.jsx +1 -1
- package/stories/FlexGrid/03 Col.stories.jsx +1 -1
- package/stories/Icon/Icon.stories.jsx +1 -1
- package/stories/IconButton/IconButton.stories.jsx +1 -1
- package/stories/InputLabel/InputLabel.stories.jsx +1 -1
- package/stories/Link/ChevronLink.stories.jsx +1 -1
- package/stories/Link/Link.stories.jsx +1 -1
- package/stories/Link/TextButton.stories.jsx +1 -1
- package/stories/List/List.stories.jsx +1 -1
- package/stories/Modal/Modal.stories.jsx +1 -1
- package/stories/Notification/Notification.stories.jsx +1 -1
- package/stories/Pagination/Pagination.stories.jsx +1 -1
- package/stories/Progress/Progress.stories.jsx +1 -1
- package/stories/Radio/Radio.stories.jsx +1 -1
- package/stories/RadioCard/RadioCard.stories.jsx +1 -1
- package/stories/Search/Search.stories.jsx +1 -1
- package/stories/Select/Select.stories.jsx +1 -1
- package/stories/SideNav/SideNav.stories.jsx +1 -1
- package/stories/SideNav/SideNavItem.stories.jsx +1 -1
- package/stories/SideNav/SideNavItemsGroup.stories.jsx +1 -1
- package/stories/Skeleton/Skeleton.stories.jsx +2 -2
- package/stories/Spacer/Spacer.stories.jsx +1 -1
- package/stories/StackView/StackView.stories.jsx +1 -1
- package/stories/StackView/StackWrap.stories.jsx +1 -1
- package/stories/StepTracker/StepTracker.stories.jsx +1 -1
- package/stories/Tabs/Tabs.stories.jsx +1 -1
- package/stories/Tags/Tags.stories.jsx +1 -1
- package/stories/TextInput/TextArea.stories.jsx +1 -1
- package/stories/TextInput/TextInput.stories.jsx +1 -1
- package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +1 -1
- package/stories/Tooltip/Tooltip.stories.jsx +1 -1
- package/stories/TooltipButton/TooltipButton.stories.jsx +1 -1
- package/stories/Typography/Typography.stories.jsx +1 -1
- package/stories/platform-supports.jsx +1 -1
- package/stories/supports.jsx +2 -2
- package/src/Tabs/HorizontalScroll.jsx +0 -165
- package/src/Tabs/TabsScrollButton.jsx +0 -100
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -25,6 +25,10 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
25
25
|
|
|
26
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
27
|
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
28
32
|
const offsetSides = {
|
|
29
33
|
row: 'marginBottom',
|
|
30
34
|
column: 'marginRight'
|
|
@@ -50,22 +54,25 @@ const spaceSides = {
|
|
|
50
54
|
* between the container and the stacked children, and requires a negative margin on the container.
|
|
51
55
|
*/
|
|
52
56
|
|
|
53
|
-
const StackWrapBox = ({
|
|
57
|
+
const StackWrapBox = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
54
58
|
space = 1,
|
|
55
59
|
gap = space,
|
|
56
60
|
direction: directionProp = 'row',
|
|
57
61
|
children,
|
|
58
62
|
tokens,
|
|
59
63
|
variant,
|
|
64
|
+
tag,
|
|
65
|
+
accessibilityRole,
|
|
60
66
|
...rest
|
|
61
|
-
}) => {
|
|
67
|
+
}, ref) => {
|
|
62
68
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
63
69
|
const direction = (0, _utils.useResponsiveProp)(directionProp, 'row');
|
|
64
70
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('StackView', tokens, variant, {
|
|
65
71
|
viewport
|
|
66
72
|
});
|
|
67
73
|
const flexStyles = (0, _common.selectFlexStyles)(themeTokens);
|
|
68
|
-
const props = { ..._utils.
|
|
74
|
+
const props = { ...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
|
|
75
|
+
..._utils.a11yProps.select(rest),
|
|
69
76
|
..._utils.viewProps.select(rest)
|
|
70
77
|
}; // Mimic CSS `gap` using box spacing on the side after a wrapped row then offsetting it on the last row.
|
|
71
78
|
|
|
@@ -82,13 +89,16 @@ const StackWrapBox = ({
|
|
|
82
89
|
space: 0,
|
|
83
90
|
box: boxProps
|
|
84
91
|
});
|
|
85
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
92
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
93
|
+
ref: ref,
|
|
94
|
+
...props,
|
|
86
95
|
style: [flexStyles, _common.staticStyles.wrap, _common.staticStyles[direction], offsetStyle],
|
|
87
96
|
children: content
|
|
88
97
|
});
|
|
89
|
-
};
|
|
90
|
-
|
|
98
|
+
});
|
|
99
|
+
StackWrapBox.displayName = 'StackWrapBox';
|
|
91
100
|
StackWrapBox.propTypes = { ..._utils.a11yProps.propTypes,
|
|
101
|
+
tokens: (0, _utils.getTokensPropType)('StackView'),
|
|
92
102
|
|
|
93
103
|
/**
|
|
94
104
|
* Sets the `flexDirection` of the container
|
|
@@ -96,12 +106,27 @@ StackWrapBox.propTypes = { ..._utils.a11yProps.propTypes,
|
|
|
96
106
|
direction: _utils.responsiveProps.getTypeOptionallyByViewport(_propTypes.default.oneOf(['column', 'row', 'row-reverse', 'column-reverse'])),
|
|
97
107
|
|
|
98
108
|
/**
|
|
99
|
-
* The size of the
|
|
109
|
+
* The size of the space between items according to the theme's spacing scale.
|
|
100
110
|
* Either a number corresponding to a position on the theme's spacing scale (1 is smallest, 2 is second smallest, etc),
|
|
101
111
|
* or, a SpacingObject with viewport keys and options (see `useSpacingScale` for details).
|
|
102
112
|
*/
|
|
103
113
|
space: _utils.spacingProps.types.spacingValue,
|
|
104
114
|
|
|
115
|
+
/**
|
|
116
|
+
* The size of the space between lines of content, according to the theme's spacing scale. By default, matches `space`.
|
|
117
|
+
* Either a number corresponding to a position on the theme's spacing scale (1 is smallest, 2 is second smallest, etc),
|
|
118
|
+
* or, a SpacingObject with viewport keys and options (see `useSpacingScale` for details).
|
|
119
|
+
*/
|
|
120
|
+
gap: _utils.spacingProps.types.spacingValue,
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Optional semantic HTML tag, to apply to the container on web. Does not change styling.
|
|
124
|
+
*
|
|
125
|
+
* In native apps, if a header tag is provided ("h1", "h2" etc) and accessibilityRole prop
|
|
126
|
+
* is not defined, the accessibilityRole will default to "heading".
|
|
127
|
+
*/
|
|
128
|
+
tag: _propTypes.default.oneOf(_utils.layoutTags),
|
|
129
|
+
|
|
105
130
|
/**
|
|
106
131
|
* A StackWrap may take any children, but will have no effect if it is only passed one child or is passed children
|
|
107
132
|
* wrapped in a component. If necessary, children may be wrapped in one React Fragment.
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
11
11
|
|
|
@@ -25,6 +25,10 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
25
25
|
|
|
26
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
27
|
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
28
32
|
/**
|
|
29
33
|
* The primary implementation of StackWrap.
|
|
30
34
|
*
|
|
@@ -35,21 +39,24 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
35
39
|
* - The `space` between items is the same as the `gap` between wrapped rows (this is the
|
|
36
40
|
* default if `gap` prop is undefined)
|
|
37
41
|
*/
|
|
38
|
-
const StackWrapGap = ({
|
|
42
|
+
const StackWrapGap = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
39
43
|
space = 1,
|
|
40
44
|
tokens,
|
|
41
45
|
variant,
|
|
42
46
|
direction: directionProp = 'row',
|
|
43
47
|
children,
|
|
48
|
+
tag,
|
|
49
|
+
accessibilityRole,
|
|
44
50
|
...rest
|
|
45
|
-
}) => {
|
|
51
|
+
}, ref) => {
|
|
46
52
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
47
53
|
const direction = (0, _utils.useResponsiveProp)(directionProp, 'row');
|
|
48
54
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('StackView', tokens, variant, {
|
|
49
55
|
viewport
|
|
50
56
|
});
|
|
51
57
|
const flexStyles = (0, _common.selectFlexStyles)(themeTokens);
|
|
52
|
-
const props = { ..._utils.
|
|
58
|
+
const props = { ...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
|
|
59
|
+
..._utils.a11yProps.select(rest),
|
|
53
60
|
..._utils.viewProps.select(rest)
|
|
54
61
|
};
|
|
55
62
|
const size = (0, _utils.useSpacingScale)(space);
|
|
@@ -60,12 +67,14 @@ const StackWrapGap = ({
|
|
|
60
67
|
direction,
|
|
61
68
|
space: 0
|
|
62
69
|
});
|
|
63
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
71
|
+
ref: ref,
|
|
72
|
+
...props,
|
|
64
73
|
style: [flexStyles, _common.staticStyles.wrap, _common.staticStyles[direction], gapStyle],
|
|
65
74
|
children: content
|
|
66
75
|
});
|
|
67
|
-
};
|
|
68
|
-
|
|
76
|
+
});
|
|
77
|
+
StackWrapGap.displayName = 'StackWrapGap';
|
|
69
78
|
StackWrapGap.propTypes = _StackWrapBox.default.propTypes;
|
|
70
79
|
var _default = StackWrapGap;
|
|
71
80
|
exports.default = _default;
|
package/lib/StackView/common.js
CHANGED
|
@@ -12,11 +12,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
12
12
|
const selectFlexStyles = ({
|
|
13
13
|
alignItems,
|
|
14
14
|
justifyContent,
|
|
15
|
-
flexGrow
|
|
15
|
+
flexGrow,
|
|
16
|
+
flexShrink
|
|
16
17
|
}) => ({
|
|
17
18
|
alignItems,
|
|
18
19
|
justifyContent,
|
|
19
|
-
flexGrow
|
|
20
|
+
flexGrow,
|
|
21
|
+
flexShrink
|
|
20
22
|
});
|
|
21
23
|
|
|
22
24
|
exports.selectFlexStyles = selectFlexStyles;
|
|
@@ -64,7 +64,7 @@ const getStackedContent = (children, {
|
|
|
64
64
|
const validChildren = _react.Children.toArray(topLevelChildren).filter(Boolean);
|
|
65
65
|
|
|
66
66
|
const content = validChildren.reduce((newChildren, child, index) => {
|
|
67
|
-
const boxID =
|
|
67
|
+
const boxID = `Stack-Box-${index}`;
|
|
68
68
|
const item = box ?
|
|
69
69
|
/*#__PURE__*/
|
|
70
70
|
// If wrapped in Box, that Box needs a key.
|
|
@@ -74,7 +74,7 @@ const getStackedContent = (children, {
|
|
|
74
74
|
testID: boxID
|
|
75
75
|
}, child) : child;
|
|
76
76
|
if (!index || !space && !divider) return [...newChildren, item];
|
|
77
|
-
const testID =
|
|
77
|
+
const testID = `Stack-${divider ? 'Divider' : 'Spacer'}-${index}`;
|
|
78
78
|
const commonProps = {
|
|
79
79
|
testID,
|
|
80
80
|
key: testID,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -35,6 +35,10 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
35
35
|
|
|
36
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
37
|
|
|
38
|
+
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); }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
41
|
+
|
|
38
42
|
const selectContainerStyles = ({
|
|
39
43
|
containerPaddingBottom,
|
|
40
44
|
containerPaddingLeft,
|
|
@@ -100,7 +104,7 @@ const selectStepTrackerLabelStyles = ({
|
|
|
100
104
|
*/
|
|
101
105
|
|
|
102
106
|
|
|
103
|
-
const StepTracker = ({
|
|
107
|
+
const StepTracker = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
104
108
|
current = 0,
|
|
105
109
|
copy = 'en',
|
|
106
110
|
dictionary = _dictionary.default,
|
|
@@ -108,7 +112,7 @@ const StepTracker = ({
|
|
|
108
112
|
tokens,
|
|
109
113
|
variant,
|
|
110
114
|
...rest
|
|
111
|
-
}) => {
|
|
115
|
+
}, ref) => {
|
|
112
116
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
113
117
|
const {
|
|
114
118
|
showStepTrackerLabel,
|
|
@@ -135,6 +139,7 @@ const StepTracker = ({
|
|
|
135
139
|
..._propTypes2.a11yProps.select(rest)
|
|
136
140
|
};
|
|
137
141
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
142
|
+
ref: ref,
|
|
138
143
|
style: selectContainerStyles(themeTokens),
|
|
139
144
|
...accessibilityProps,
|
|
140
145
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_StackView.default, {
|
|
@@ -160,8 +165,8 @@ const StepTracker = ({
|
|
|
160
165
|
})]
|
|
161
166
|
})
|
|
162
167
|
});
|
|
163
|
-
};
|
|
164
|
-
|
|
168
|
+
});
|
|
169
|
+
StepTracker.displayName = 'StepTracker';
|
|
165
170
|
StepTracker.propTypes = {
|
|
166
171
|
current: _propTypes.default.number,
|
|
167
172
|
copy: _propTypes.default.oneOf(['en', 'fr']),
|
package/lib/Tabs/Tabs.js
CHANGED
|
@@ -9,20 +9,18 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
|
+
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
13
|
+
|
|
12
14
|
var _ThemeProvider = require("../ThemeProvider");
|
|
13
15
|
|
|
14
16
|
var _StackView = _interopRequireDefault(require("../StackView"));
|
|
15
17
|
|
|
16
18
|
var _utils = require("../utils");
|
|
17
19
|
|
|
18
|
-
var _HorizontalScroll = _interopRequireWildcard(require("
|
|
20
|
+
var _HorizontalScroll = _interopRequireWildcard(require("../HorizontalScroll"));
|
|
19
21
|
|
|
20
22
|
var _TabsItem = _interopRequireDefault(require("./TabsItem"));
|
|
21
23
|
|
|
22
|
-
var _TabsScrollButton = _interopRequireDefault(require("./TabsScrollButton"));
|
|
23
|
-
|
|
24
|
-
var _itemPositions = require("./itemPositions");
|
|
25
|
-
|
|
26
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
25
|
|
|
28
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -31,11 +29,16 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
29
|
|
|
32
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
31
|
|
|
32
|
+
const {
|
|
33
|
+
selectHorizontalScrollTokens,
|
|
34
|
+
useItemPositions
|
|
35
|
+
} = _HorizontalScroll.horizontalScrollUtils;
|
|
34
36
|
/**
|
|
35
37
|
* Tabs renders a horizontally-scrolling menu of selectable buttons which may link
|
|
36
38
|
* to a page or control what content is displayed on this page.
|
|
37
39
|
*/
|
|
38
|
-
|
|
40
|
+
|
|
41
|
+
const Tabs = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
39
42
|
tokens,
|
|
40
43
|
itemTokens,
|
|
41
44
|
scrollButtonTokens,
|
|
@@ -44,7 +47,7 @@ const Tabs = ({
|
|
|
44
47
|
initialValue,
|
|
45
48
|
onChange,
|
|
46
49
|
items = []
|
|
47
|
-
}) => {
|
|
50
|
+
}, ref) => {
|
|
48
51
|
const {
|
|
49
52
|
space,
|
|
50
53
|
...themeTokens
|
|
@@ -57,18 +60,19 @@ const Tabs = ({
|
|
|
57
60
|
initialValue,
|
|
58
61
|
onChange
|
|
59
62
|
});
|
|
60
|
-
const [itemPositions, isPositioningReady] =
|
|
61
|
-
(0, _utils.useHash)((0, _react.useCallback)(hash => {
|
|
63
|
+
const [itemPositions, isPositioningReady] = useItemPositions();
|
|
64
|
+
(0, _utils.useHash)((0, _react.useCallback)((hash, event) => {
|
|
62
65
|
const hashItem = hash && items.find(({
|
|
63
66
|
href
|
|
64
67
|
}) => hash === href);
|
|
65
68
|
const hashId = hashItem && (hashItem.id || hashItem.label);
|
|
66
|
-
if (hashId) setTimeout(setValue(hashId), 500);
|
|
69
|
+
if (hashId) setTimeout(setValue(hashId, event), 500);
|
|
67
70
|
}, [items, setValue]), isPositioningReady);
|
|
68
71
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_HorizontalScroll.default, {
|
|
69
|
-
|
|
72
|
+
ref: ref,
|
|
73
|
+
ScrollButton: _HorizontalScroll.HorizontalScrollButton,
|
|
70
74
|
itemPositions: itemPositions,
|
|
71
|
-
tokens:
|
|
75
|
+
tokens: selectHorizontalScrollTokens(themeTokens),
|
|
72
76
|
scrollButtonTokens: scrollButtonTokens,
|
|
73
77
|
accessibilityRole: "tablist",
|
|
74
78
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.default, {
|
|
@@ -77,14 +81,16 @@ const Tabs = ({
|
|
|
77
81
|
children: items.map(({
|
|
78
82
|
href,
|
|
79
83
|
label,
|
|
80
|
-
id
|
|
84
|
+
id,
|
|
85
|
+
ref: itemRef
|
|
81
86
|
}, index) => {
|
|
82
|
-
const itemId = id
|
|
87
|
+
const itemId = id ?? label;
|
|
83
88
|
const isSelected = Boolean(currentValue && currentValue === itemId);
|
|
84
89
|
|
|
85
|
-
const handlePress =
|
|
90
|
+
const handlePress = event => setValue(itemId, event);
|
|
86
91
|
|
|
87
92
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabsItem.default, {
|
|
93
|
+
ref: itemRef,
|
|
88
94
|
href: href,
|
|
89
95
|
variant: variant,
|
|
90
96
|
tokens: itemTokens,
|
|
@@ -97,20 +103,21 @@ const Tabs = ({
|
|
|
97
103
|
})
|
|
98
104
|
})
|
|
99
105
|
});
|
|
100
|
-
};
|
|
101
|
-
|
|
106
|
+
});
|
|
107
|
+
Tabs.displayName = 'Tabs';
|
|
102
108
|
Tabs.propTypes = {
|
|
103
109
|
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
104
110
|
href: _propTypes.default.string,
|
|
105
111
|
label: _propTypes.default.string,
|
|
106
|
-
id: _propTypes.default.string
|
|
112
|
+
id: _propTypes.default.string,
|
|
113
|
+
ref: _airbnbPropTypes.default.ref()
|
|
107
114
|
})),
|
|
108
115
|
value: _propTypes.default.string,
|
|
109
116
|
initialValue: _propTypes.default.string,
|
|
110
117
|
onChange: _propTypes.default.func,
|
|
111
118
|
tokens: (0, _utils.getTokensPropType)('Tabs'),
|
|
112
119
|
itemTokens: (0, _utils.getTokensPropType)('TabsItem'),
|
|
113
|
-
scrollButtonTokens: (0, _utils.getTokensPropType)('
|
|
120
|
+
scrollButtonTokens: (0, _utils.getTokensPropType)('HorizontalScrollButton'),
|
|
114
121
|
variant: _utils.variantProp.propType
|
|
115
122
|
};
|
|
116
123
|
var _default = Tabs;
|
package/lib/Tabs/TabsItem.js
CHANGED
|
@@ -19,15 +19,13 @@ var _Text = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Te
|
|
|
19
19
|
|
|
20
20
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
21
21
|
|
|
22
|
-
var _rn = _interopRequireDefault(require("@telus-uds/system-themes/src/tokens/rn"));
|
|
23
|
-
|
|
24
22
|
var _ThemeProvider = require("../ThemeProvider");
|
|
25
23
|
|
|
26
24
|
var _utils = require("../utils");
|
|
27
25
|
|
|
28
26
|
var _Spacer = _interopRequireDefault(require("../Spacer"));
|
|
29
27
|
|
|
30
|
-
var
|
|
28
|
+
var _HorizontalScroll = require("../HorizontalScroll");
|
|
31
29
|
|
|
32
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
31
|
|
|
@@ -37,6 +35,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
37
35
|
|
|
38
36
|
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; }
|
|
39
37
|
|
|
38
|
+
const {
|
|
39
|
+
itemPositionsPropType,
|
|
40
|
+
getItemPositionLayoutHandler
|
|
41
|
+
} = _HorizontalScroll.horizontalScrollUtils;
|
|
42
|
+
|
|
40
43
|
const selectHighlightBarStyles = ({
|
|
41
44
|
highlightColor,
|
|
42
45
|
highlightBarBorderRadius = 0,
|
|
@@ -66,9 +69,9 @@ const selectHighlightTriangleStyles = ({
|
|
|
66
69
|
width: 0,
|
|
67
70
|
borderWidth: highlightTriangleSize,
|
|
68
71
|
borderTopColor: highlightColor,
|
|
69
|
-
borderBottomColor:
|
|
70
|
-
borderLeftColor:
|
|
71
|
-
borderRightColor:
|
|
72
|
+
borderBottomColor: 'transparent',
|
|
73
|
+
borderLeftColor: 'transparent',
|
|
74
|
+
borderRightColor: 'transparent'
|
|
72
75
|
}
|
|
73
76
|
});
|
|
74
77
|
|
|
@@ -95,7 +98,7 @@ const selectContainerStyles = ({
|
|
|
95
98
|
*/
|
|
96
99
|
|
|
97
100
|
|
|
98
|
-
const TabsItem = ({
|
|
101
|
+
const TabsItem = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
99
102
|
onPress,
|
|
100
103
|
href,
|
|
101
104
|
variant,
|
|
@@ -112,7 +115,7 @@ const TabsItem = ({
|
|
|
112
115
|
selected
|
|
113
116
|
},
|
|
114
117
|
...rest
|
|
115
|
-
}) => {
|
|
118
|
+
}, ref) => {
|
|
116
119
|
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('TabsItem', tokens, variant);
|
|
117
120
|
|
|
118
121
|
const resolveTokens = pressableState => (0, _utils.resolvePressableTokens)(getTokens, pressableState, {
|
|
@@ -130,7 +133,7 @@ const TabsItem = ({
|
|
|
130
133
|
}];
|
|
131
134
|
};
|
|
132
135
|
|
|
133
|
-
const handleLayout =
|
|
136
|
+
const handleLayout = getItemPositionLayoutHandler(itemPositions.positions, index); // On press, update the selection, call any press handler, and open any href in platform-appropriate way
|
|
134
137
|
|
|
135
138
|
const openHref = href && _utils.linkProps.handleHref({
|
|
136
139
|
href
|
|
@@ -160,6 +163,7 @@ const TabsItem = ({
|
|
|
160
163
|
|
|
161
164
|
}, [selected, index, itemPositions]);
|
|
162
165
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
|
|
166
|
+
ref: ref,
|
|
163
167
|
onPress: handlePress,
|
|
164
168
|
href: href,
|
|
165
169
|
style: getPressableStyle,
|
|
@@ -200,8 +204,8 @@ const TabsItem = ({
|
|
|
200
204
|
});
|
|
201
205
|
}
|
|
202
206
|
});
|
|
203
|
-
};
|
|
204
|
-
|
|
207
|
+
});
|
|
208
|
+
TabsItem.displayName = 'TabsItem';
|
|
205
209
|
TabsItem.propTypes = { ..._utils.a11yProps.propTypes,
|
|
206
210
|
tokens: (0, _utils.getTokensPropType)('TabsItem'),
|
|
207
211
|
variant: _utils.variantProp.propType,
|
|
@@ -209,7 +213,7 @@ TabsItem.propTypes = { ..._utils.a11yProps.propTypes,
|
|
|
209
213
|
href: _propTypes.default.string,
|
|
210
214
|
index: _propTypes.default.number,
|
|
211
215
|
selected: _propTypes.default.bool,
|
|
212
|
-
itemPositions:
|
|
216
|
+
itemPositions: itemPositionsPropType,
|
|
213
217
|
children: _propTypes.default.string
|
|
214
218
|
};
|
|
215
219
|
|
package/lib/Tags/Tags.js
CHANGED
|
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
|
+
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
13
|
+
|
|
12
14
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
15
|
|
|
14
16
|
var _Text = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Text"));
|
|
@@ -35,6 +37,10 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
35
37
|
|
|
36
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
39
|
|
|
40
|
+
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); }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
38
44
|
const selectIconTextTokens = ({
|
|
39
45
|
icon,
|
|
40
46
|
iconPosition,
|
|
@@ -71,7 +77,7 @@ const selectIconTextTokens = ({
|
|
|
71
77
|
}
|
|
72
78
|
});
|
|
73
79
|
|
|
74
|
-
const Tags = ({
|
|
80
|
+
const Tags = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
75
81
|
variant,
|
|
76
82
|
tokens,
|
|
77
83
|
items = [],
|
|
@@ -86,7 +92,7 @@ const Tags = ({
|
|
|
86
92
|
default: 'none'
|
|
87
93
|
}),
|
|
88
94
|
...rest
|
|
89
|
-
}) => {
|
|
95
|
+
}, ref) => {
|
|
90
96
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
91
97
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Tags', tokens, variant, {
|
|
92
98
|
viewport
|
|
@@ -117,14 +123,17 @@ const Tags = ({
|
|
|
117
123
|
});
|
|
118
124
|
|
|
119
125
|
const itemA11yRole = 'checkbox';
|
|
120
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.StackWrap, {
|
|
126
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.StackWrap, {
|
|
127
|
+
ref: ref,
|
|
128
|
+
...a11y,
|
|
121
129
|
space: space,
|
|
122
130
|
direction: direction,
|
|
123
131
|
tokens: stackTokens,
|
|
124
132
|
children: items.map(({
|
|
125
133
|
label,
|
|
126
134
|
id = label,
|
|
127
|
-
accessibilityLabel
|
|
135
|
+
accessibilityLabel,
|
|
136
|
+
ref: itemRef
|
|
128
137
|
}, index) => {
|
|
129
138
|
const isSelected = currentValues.includes(id); // Pass an object of relevant component state as first argument for any passed-in press handlers
|
|
130
139
|
|
|
@@ -134,9 +143,9 @@ const Tags = ({
|
|
|
134
143
|
currentValues
|
|
135
144
|
}]);
|
|
136
145
|
|
|
137
|
-
const handlePress =
|
|
146
|
+
const handlePress = event => {
|
|
138
147
|
if (pressHandlers.onPress) pressHandlers.onPress();
|
|
139
|
-
toggleOneValue(id);
|
|
148
|
+
toggleOneValue(id, event);
|
|
140
149
|
};
|
|
141
150
|
|
|
142
151
|
const itemA11y = {
|
|
@@ -147,7 +156,9 @@ const Tags = ({
|
|
|
147
156
|
accessibilityLabel,
|
|
148
157
|
..._propTypes2.a11yProps.getPositionInSet(items.length, index)
|
|
149
158
|
};
|
|
150
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
159
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
160
|
+
ref: itemRef,
|
|
161
|
+
...pressHandlers,
|
|
151
162
|
onPress: handlePress,
|
|
152
163
|
tokens: getButtonTokens,
|
|
153
164
|
selected: isSelected,
|
|
@@ -189,8 +200,8 @@ const Tags = ({
|
|
|
189
200
|
}, id);
|
|
190
201
|
})
|
|
191
202
|
});
|
|
192
|
-
};
|
|
193
|
-
|
|
203
|
+
});
|
|
204
|
+
Tags.displayName = 'Tags';
|
|
194
205
|
Tags.propTypes = { ..._propTypes2.a11yProps.propTypes,
|
|
195
206
|
..._propTypes2.pressProps.propTypes,
|
|
196
207
|
tokens: (0, _propTypes2.getTokensPropType)('Tags'),
|
|
@@ -222,7 +233,12 @@ Tags.propTypes = { ..._propTypes2.a11yProps.propTypes,
|
|
|
222
233
|
* which will be used in code and passed to any onChange function.
|
|
223
234
|
* If not provided, the label is used.
|
|
224
235
|
*/
|
|
225
|
-
id: _propTypes.default.string
|
|
236
|
+
id: _propTypes.default.string,
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* An optional ref for one individual Tag button in the tags
|
|
240
|
+
*/
|
|
241
|
+
ref: _airbnbPropTypes.default.ref()
|
|
226
242
|
})),
|
|
227
243
|
|
|
228
244
|
/**
|
|
@@ -53,11 +53,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
53
53
|
* or an indicator that the field is optional.
|
|
54
54
|
* It is a more usable and accessible option than the HTML `placeholder` attribute.
|
|
55
55
|
*/
|
|
56
|
-
|
|
56
|
+
const TextArea = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
57
57
|
tokens,
|
|
58
58
|
variant = {},
|
|
59
59
|
...remainingProps
|
|
60
|
-
}) {
|
|
60
|
+
}, ref) => {
|
|
61
61
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('TextArea', tokens, variant);
|
|
62
62
|
const [inputHeight, setInputHeight] = (0, _react.useState)(); // adjust the text area's height as new lines are added to the content
|
|
63
63
|
|
|
@@ -92,13 +92,15 @@ function TextArea({
|
|
|
92
92
|
children: ({
|
|
93
93
|
a11yProps,
|
|
94
94
|
inputId
|
|
95
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextInputBase.default, {
|
|
95
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextInputBase.default, {
|
|
96
|
+
ref: ref,
|
|
97
|
+
...inputProps,
|
|
96
98
|
...a11yProps,
|
|
97
99
|
nativeID: inputId
|
|
98
100
|
})
|
|
99
101
|
});
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
+
});
|
|
103
|
+
TextArea.displayName = 'TextArea';
|
|
102
104
|
TextArea.propTypes = { ..._propTypes.default.types,
|
|
103
105
|
..._propTypes2.default,
|
|
104
106
|
tokens: (0, _utils.getTokensPropType)('TextArea', 'TextInput'),
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _utils = require("../utils");
|
|
11
11
|
|
|
@@ -21,6 +21,10 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
21
21
|
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
24
28
|
/**
|
|
25
29
|
* A basic text input component. Use in forms or individually to receive user's input.
|
|
26
30
|
* Due to React Native's implementation of `TextInput` it's not possible to access the current value by passing a ref.
|
|
@@ -39,11 +43,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
39
43
|
* supported props and <a href="https://reactnative.dev/docs/textinput" target="_blank">React Native Web documentation</a> for
|
|
40
44
|
* their implementation on the web.
|
|
41
45
|
*/
|
|
42
|
-
|
|
46
|
+
const TextInput = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
43
47
|
tokens,
|
|
44
48
|
variant = {},
|
|
45
49
|
...remainingProps
|
|
46
|
-
}) {
|
|
50
|
+
}, ref) => {
|
|
47
51
|
const {
|
|
48
52
|
props: supportsProps,
|
|
49
53
|
rest
|
|
@@ -59,13 +63,15 @@ function TextInput({
|
|
|
59
63
|
children: ({
|
|
60
64
|
a11yProps,
|
|
61
65
|
inputId
|
|
62
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextInputBase.default, {
|
|
66
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextInputBase.default, {
|
|
67
|
+
ref: ref,
|
|
68
|
+
...inputProps,
|
|
63
69
|
...a11yProps,
|
|
64
70
|
nativeID: inputId
|
|
65
71
|
})
|
|
66
72
|
});
|
|
67
|
-
}
|
|
68
|
-
|
|
73
|
+
});
|
|
74
|
+
TextInput.displayName = 'TextInput';
|
|
69
75
|
TextInput.propTypes = { ..._propTypes.default.types,
|
|
70
76
|
..._propTypes2.default,
|
|
71
77
|
tokens: (0, _utils.getTokensPropType)('TextInput'),
|