@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable react/no-multi-comp */
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react'
|
|
3
3
|
|
|
4
|
-
import { Radio,
|
|
4
|
+
import { Radio, RadioGroup, Typography } from '../../lib'
|
|
5
5
|
import { Container, EachParentType, parentTypesParams } from '../supports'
|
|
6
6
|
|
|
7
7
|
export default {
|
|
@@ -55,40 +55,27 @@ WithDescription.args = {
|
|
|
55
55
|
description: 'This is a description'
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
export const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
value={2}
|
|
80
|
-
/>
|
|
81
|
-
<Radio
|
|
82
|
-
{...args}
|
|
83
|
-
checked={value === 3}
|
|
84
|
-
label="Radio3"
|
|
85
|
-
onChange={handleChange(3)}
|
|
86
|
-
name="group"
|
|
87
|
-
value={3}
|
|
88
|
-
/>
|
|
89
|
-
</StackView>
|
|
90
|
-
</Container>
|
|
91
|
-
)
|
|
58
|
+
export const RadioGroupStory = (args) => <RadioGroup {...args} />
|
|
59
|
+
RadioGroupStory.storyName = 'RadioGroup'
|
|
60
|
+
RadioGroupStory.args = {
|
|
61
|
+
items: [
|
|
62
|
+
{
|
|
63
|
+
label: 'Radio Card 1'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
label: 'Radio Card 2'
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
label: 'Radio Card 3'
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: 'Radio Card 4'
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
legend: 'Choose a radio button.',
|
|
76
|
+
hint: 'Of the radio buttons below, choose one.',
|
|
77
|
+
tooltip: 'Decide which radio button you like best, then press it.',
|
|
78
|
+
name: 'example'
|
|
92
79
|
}
|
|
93
80
|
|
|
94
81
|
export const ParentTypes = (args) => (
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/* eslint-disable react/no-multi-comp */
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
import { RadioCard, RadioCardGroup, Typography } from '../../lib'
|
|
5
|
+
import { Container, EachParentType, parentTypesParams } from '../supports'
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Base/RadioCard',
|
|
9
|
+
component: RadioCard
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const additionalContent = (
|
|
13
|
+
<>
|
|
14
|
+
<Typography>First line</Typography>
|
|
15
|
+
<Typography>Second line</Typography>
|
|
16
|
+
</>
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
export const Default = (args) => <RadioCard {...args} />
|
|
20
|
+
Default.args = {
|
|
21
|
+
title: 'Radio card',
|
|
22
|
+
children: additionalContent
|
|
23
|
+
}
|
|
24
|
+
Default.storyName = 'RadioCard'
|
|
25
|
+
|
|
26
|
+
export const RadioCardGroupStory = (args) => <RadioCardGroup {...args} />
|
|
27
|
+
RadioCardGroupStory.storyName = 'RadioCardGroup'
|
|
28
|
+
RadioCardGroupStory.args = {
|
|
29
|
+
items: [
|
|
30
|
+
{
|
|
31
|
+
title: 'Radio Card 1',
|
|
32
|
+
content: (
|
|
33
|
+
<>
|
|
34
|
+
<Typography>First line</Typography>
|
|
35
|
+
</>
|
|
36
|
+
)
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
title: 'Radio Card 2',
|
|
40
|
+
content: (
|
|
41
|
+
<>
|
|
42
|
+
<Typography>First line</Typography>
|
|
43
|
+
<Typography>Second line</Typography>
|
|
44
|
+
</>
|
|
45
|
+
)
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
title: 'Radio Card 3',
|
|
49
|
+
content: (
|
|
50
|
+
<>
|
|
51
|
+
<Typography>First line</Typography>
|
|
52
|
+
<Typography>Second line</Typography>
|
|
53
|
+
<Typography>Third line</Typography>
|
|
54
|
+
</>
|
|
55
|
+
)
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: 'Radio Card 4',
|
|
59
|
+
content: (
|
|
60
|
+
<>
|
|
61
|
+
<Typography>First line</Typography>
|
|
62
|
+
<Typography>Second line</Typography>
|
|
63
|
+
</>
|
|
64
|
+
)
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
title: 'Radio Card 5',
|
|
68
|
+
content: (
|
|
69
|
+
<>
|
|
70
|
+
<Typography>First line</Typography>
|
|
71
|
+
<Typography>Second line</Typography>
|
|
72
|
+
<Typography>Third line</Typography>
|
|
73
|
+
<Typography>Fourth line</Typography>
|
|
74
|
+
</>
|
|
75
|
+
)
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
legend: 'Choose a radio card.',
|
|
79
|
+
hint: 'Of the radio cards below, choose one.',
|
|
80
|
+
tooltip: 'Decide which radio card you like best, then press it.',
|
|
81
|
+
name: 'example'
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export const ParentTypes = (args) => (
|
|
85
|
+
<EachParentType componentThemeName="Radio" {...args}>
|
|
86
|
+
{({ label, variant }) => (
|
|
87
|
+
<Container key={label}>
|
|
88
|
+
<RadioCard {...args} variant={variant} title={label}>
|
|
89
|
+
{additionalContent}
|
|
90
|
+
</RadioCard>
|
|
91
|
+
</Container>
|
|
92
|
+
)}
|
|
93
|
+
</EachParentType>
|
|
94
|
+
)
|
|
95
|
+
ParentTypes.parameters = parentTypesParams
|
|
96
|
+
ParentTypes.args = {
|
|
97
|
+
defaultChecked: undefined
|
|
98
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import { Search } from '../../lib'
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Base/Search',
|
|
7
|
+
component: Search
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const Template = (args) => <Search {...args} />
|
|
11
|
+
|
|
12
|
+
export const Default = Template.bind({})
|
|
13
|
+
Default.args = {}
|
|
14
|
+
|
|
15
|
+
export const Inactive = Template.bind({})
|
|
16
|
+
Inactive.args = { inactive: true }
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/* eslint-disable react/no-multi-comp */
|
|
2
|
+
import React, { useState } from 'react'
|
|
3
|
+
|
|
4
|
+
import { Box, Button, StackView, StepTracker } from '../../lib'
|
|
5
|
+
|
|
6
|
+
const steps = [
|
|
7
|
+
'Plans & Addons',
|
|
8
|
+
'Account Creation',
|
|
9
|
+
'Payment Setup',
|
|
10
|
+
'Shipping Address',
|
|
11
|
+
'Billing Address',
|
|
12
|
+
'Submit'
|
|
13
|
+
]
|
|
14
|
+
const longTitle = 'Example of a really long step title that wraps'
|
|
15
|
+
|
|
16
|
+
export default {
|
|
17
|
+
title: 'Base/StepTracker',
|
|
18
|
+
component: StepTracker,
|
|
19
|
+
args: {
|
|
20
|
+
steps
|
|
21
|
+
},
|
|
22
|
+
argTypes: { current: { control: { type: 'range', max: steps.length } } }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const Template = (args) => <StepTracker {...args} />
|
|
26
|
+
|
|
27
|
+
export const Default = Template.bind({})
|
|
28
|
+
|
|
29
|
+
export const WithoutStepLabels = Template.bind({})
|
|
30
|
+
WithoutStepLabels.args = {
|
|
31
|
+
tokens: { showStepTrackerLabel: true, showStepLabel: false }
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const WithHiddenStepName = Template.bind({})
|
|
35
|
+
WithHiddenStepName.args = {
|
|
36
|
+
tokens: { showStepTrackerLabel: false, showStepLabel: true, showStepName: false }
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export const WithLongStepTitle = Template.bind({})
|
|
40
|
+
WithLongStepTitle.args = {
|
|
41
|
+
steps: Object.values({ ...steps, 2: longTitle }),
|
|
42
|
+
tokens: { showStepTrackerLabel: false, showStepLabel: true }
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const WithControls = (args) => {
|
|
46
|
+
const [current, setCurrent] = useState(0)
|
|
47
|
+
const isFirst = current === 0
|
|
48
|
+
const isLast = current === steps.length - 1
|
|
49
|
+
const handlePrev = () => {
|
|
50
|
+
if (!isFirst) setCurrent(current - 1)
|
|
51
|
+
}
|
|
52
|
+
const handleNext = () => {
|
|
53
|
+
if (!isLast) setCurrent(current + 1)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<StackView>
|
|
58
|
+
<StepTracker {...args} current={current} />
|
|
59
|
+
<Box top={4}>
|
|
60
|
+
<StackView direction="row" tokens={{ justifyContent: 'space-around' }}>
|
|
61
|
+
<Button onPress={handlePrev} disabled={isFirst}>
|
|
62
|
+
Previous
|
|
63
|
+
</Button>
|
|
64
|
+
<Button onPress={handleNext} disabled={isLast}>
|
|
65
|
+
Next
|
|
66
|
+
</Button>
|
|
67
|
+
</StackView>
|
|
68
|
+
</Box>
|
|
69
|
+
</StackView>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/* eslint-disable react/no-multi-comp */
|
|
2
|
+
import React, { useState } from 'react'
|
|
3
|
+
import { Platform } from 'react-native'
|
|
4
|
+
|
|
5
|
+
import { Link, StackView, Tabs, Typography } from '../../lib'
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Base/Tabs',
|
|
9
|
+
component: Tabs
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const Default = (args) => <Tabs {...args} />
|
|
13
|
+
Default.storyName = 'Tabs'
|
|
14
|
+
Default.args = {
|
|
15
|
+
items: [
|
|
16
|
+
{ label: 'First item' },
|
|
17
|
+
{ label: 'Second item' },
|
|
18
|
+
{ label: 'Much longer third item' },
|
|
19
|
+
{ label: 'Fourth item' },
|
|
20
|
+
{ label: 'Fifth item' },
|
|
21
|
+
{ label: 'Sixth item' },
|
|
22
|
+
{ label: 'Seventh item' },
|
|
23
|
+
{ label: 'Eighth item' },
|
|
24
|
+
{ label: 'Ninth item' }
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const TabsWithHref = (args) => <Tabs {...args} />
|
|
29
|
+
TabsWithHref.args = {
|
|
30
|
+
items: [
|
|
31
|
+
{ href: 'https://telus.com', label: 'First item' },
|
|
32
|
+
{ href: 'https://telus.com', label: 'Second item' },
|
|
33
|
+
{ href: 'https://telus.com', label: 'Much longer third item' },
|
|
34
|
+
{ href: 'https://telus.com', label: 'Fourth item' },
|
|
35
|
+
{ href: 'https://telus.com', label: 'Fifth item' },
|
|
36
|
+
{ href: 'https://telus.com', label: 'Sixth item' },
|
|
37
|
+
{ href: 'https://telus.com', label: 'Seventh item' },
|
|
38
|
+
{ href: 'https://telus.com', label: 'Eighth item' },
|
|
39
|
+
{ href: 'https://telus.com', label: 'Ninth item' }
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const loremIpsumArray = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. '
|
|
44
|
+
.repeat(5)
|
|
45
|
+
.split('. ')
|
|
46
|
+
|
|
47
|
+
export const TabsControlled = (args) => {
|
|
48
|
+
const [page, setPage] = useState('1')
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<StackView space={4}>
|
|
52
|
+
<Tabs {...args} value={page} onChange={setPage} />
|
|
53
|
+
<Typography>This is some sample content for page {page}.</Typography>
|
|
54
|
+
<Typography>
|
|
55
|
+
{`${loremIpsumArray.slice(Number(page) - 1, Number(page) + 3).join('. ')}...`}
|
|
56
|
+
</Typography>
|
|
57
|
+
</StackView>
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
TabsControlled.args = {
|
|
61
|
+
items: [
|
|
62
|
+
{ id: '1', label: 'First item' },
|
|
63
|
+
{ id: '2', label: 'Second item' },
|
|
64
|
+
{ id: '3', label: 'Much longer third item' },
|
|
65
|
+
{ id: '4', label: 'Fourth item' },
|
|
66
|
+
{ id: '5', label: 'Fifth item' },
|
|
67
|
+
{ id: '6', label: 'Sixth item' },
|
|
68
|
+
{ id: '7', label: 'Seventh item' },
|
|
69
|
+
{ id: '8', label: 'Eighth item' },
|
|
70
|
+
{ id: '9', label: 'Ninth item' }
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export const TabsControlledHashes = ({ items, ...args }) => {
|
|
75
|
+
const [page, setPage] = useState('1')
|
|
76
|
+
if (Platform.OS !== 'web') return <Typography>Hashes are only supported on Web.</Typography>
|
|
77
|
+
const linkTarget = Number(page) >= items.length ? '#item1' : `#item${Number(page) + 1}`
|
|
78
|
+
return (
|
|
79
|
+
<StackView space={4}>
|
|
80
|
+
<Tabs {...args} items={items} value={page} onChange={setPage} />
|
|
81
|
+
<Typography>
|
|
82
|
+
This is some sample content for page {page}. Try this ordinary hash link to{' '}
|
|
83
|
+
<Link href={linkTarget}>{linkTarget}</Link>.
|
|
84
|
+
</Typography>
|
|
85
|
+
<Typography>
|
|
86
|
+
{`${loremIpsumArray.slice(Number(page) - 1, Number(page) + 3).join('. ')}...`}
|
|
87
|
+
</Typography>
|
|
88
|
+
</StackView>
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
TabsControlledHashes.propTypes = Tabs.propTypes
|
|
92
|
+
TabsControlledHashes.args = {
|
|
93
|
+
items: TabsControlled.args.items.map((item) => ({
|
|
94
|
+
...item,
|
|
95
|
+
href: `#item${item.id}`
|
|
96
|
+
}))
|
|
97
|
+
}
|
|
File without changes
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<svg viewBox="0 0 24 24">
|
|
2
|
-
<path
|
|
3
|
-
d="M4.2311 12.2566L4.8931 12.9186C4.2651 13.8746 3.9111 14.9836 3.9111 16.1536C3.9111 17.7386 4.5291 19.2316 5.6511 20.3536C6.7731 21.4746 8.2641 22.0926 9.8501 22.0926C10.9235 22.0926 11.9432 21.7951 12.842 21.2619L13.0841 21.1106L13.7311 21.7556C12.5641 22.5666 11.2141 22.9996 9.8501 22.9996C8.0961 22.9996 6.3411 22.3316 5.0061 20.9966C3.7121 19.7026 2.9991 17.9826 2.9991 16.1536C2.9991 14.8388 3.37676 13.586 4.06644 12.5034L4.2311 12.2566ZM10.0407 2.26661C10.2191 2.26661 10.3994 2.30373 10.5683 2.37899L10.743 2.4718C11.3183 2.80605 16.6402 5.89799 16.6497 5.90461C16.9567 6.09661 17.1567 6.39661 17.2287 6.72661C17.3529 7.16041 17.2827 7.64038 17.0086 8.02655L16.9097 8.15161L14.2287 10.8896C14.3347 10.9776 14.4398 11.0683 14.5423 11.1634L14.7084 11.3251L14.7217 11.3406L19.8577 10.7376L19.9287 10.7356C20.2777 10.7356 20.6147 10.8766 20.8597 11.1286C21.0898 11.364 21.2204 11.6759 21.228 12.0008L21.2237 12.1406L20.8337 18.8506C20.7837 19.6246 20.1427 20.2196 19.3787 20.2196L19.2847 20.2166C18.5271 20.1677 17.9457 19.55 17.9233 18.8064L17.9257 18.6656L18.2627 14.2006C18.2707 14.1446 18.2257 14.0976 18.1737 14.0976L16.4637 14.3986C16.9377 16.196 16.6627 18.145 15.6541 19.7655L15.4887 20.0186L14.8287 19.3596C15.4437 18.4086 15.7897 17.3106 15.7897 16.1526C15.7897 14.5676 15.1717 13.0746 14.0507 11.9536C12.9277 10.8316 11.4367 10.2136 9.8497 10.2136C8.78912 10.2136 7.77727 10.5043 6.88425 11.0257L6.6437 11.1736L5.9957 10.5256C6.89297 9.90834 7.89686 9.51172 8.93523 9.36958L9.2477 9.33461L11.7547 6.55661L10.2547 5.68061L8.3307 7.30961C8.0417 7.59861 7.6647 7.74361 7.2887 7.74361C6.9127 7.74361 6.5377 7.59961 6.2497 7.31161C5.70782 6.76973 5.69593 5.8886 6.17199 5.30432L6.2737 5.19161L9.1757 2.59561C9.4197 2.37861 9.7277 2.26661 10.0407 2.26661ZM20.2817 12.6526C20.3768 11.8055 19.8748 11.6893 19.5319 11.6977L19.4697 11.7006L15.4947 12.1676C15.7179 12.506 15.9053 12.8694 16.0711 13.2408L16.1917 13.5206L17.9407 13.2126L18.0177 13.1906L18.1737 13.1866C18.4617 13.1866 18.7357 13.3116 18.9277 13.5276C19.0777 13.7009 19.1638 13.9187 19.1739 14.1445L19.1707 14.2806L18.8337 18.7346C18.8247 18.8706 18.8727 19.0136 18.9697 19.1236C19.0457 19.2108 19.1454 19.2698 19.257 19.2951L19.3427 19.3076C19.6316 19.3076 19.8517 19.1283 19.9104 18.8861L19.9247 18.7926L20.2817 12.6526ZM10.0407 3.17761C9.9687 3.17761 9.89895 3.1973 9.83862 3.23414L9.7817 3.27661L6.9047 5.84961C6.6897 6.07961 6.6827 6.45661 6.8927 6.66661C7.0007 6.77361 7.1397 6.83261 7.2887 6.83261C7.4071 6.83261 7.52166 6.79485 7.61753 6.72445L7.6857 6.66561L7.7127 6.63861L10.1567 4.56861L13.1807 6.33461L10.5177 9.28661C11.4555 9.38172 12.3648 9.67199 13.2008 10.1371L13.5107 10.3196L16.2377 7.53561C16.3452 7.40644 16.393 7.24116 16.3729 7.07565L16.3527 6.97661L16.3397 6.92261C16.3267 6.86361 16.2887 6.75661 16.1747 6.68161L10.2347 3.23061C10.1757 3.19561 10.1087 3.17761 10.0407 3.17761ZM17.7427 0.999908C18.9037 0.999908 19.8487 1.94491 19.8487 3.10591C19.8487 4.26691 18.9037 5.21291 17.7427 5.21291C16.5817 5.21291 15.6367 4.26691 15.6367 3.10591C15.6367 1.94491 16.5817 0.999908 17.7427 0.999908ZM17.7427 1.91091C17.0837 1.91091 16.5477 2.44691 16.5477 3.10591C16.5477 3.76491 17.0837 4.30191 17.7427 4.30191C18.4017 4.30191 18.9377 3.76491 18.9377 3.10591C18.9377 2.44691 18.4017 1.91091 17.7427 1.91091Z"
|
|
4
|
-
fillRule="evenodd"
|
|
5
|
-
/>
|
|
6
|
-
</svg>
|
package/babel.config.json
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { DURATION, MIN_EMPTY_ANGLE, MIN_STROKE_ANGLE, BEZIER, propTypes } from './shared';
|
|
3
|
-
const SVG_RADIUS = 20;
|
|
4
|
-
const SVG_CIRCUMFERENCE = SVG_RADIUS * 2 * Math.PI;
|
|
5
|
-
const MIN_SVG_LENGTH = MIN_STROKE_ANGLE / 360 * SVG_CIRCUMFERENCE;
|
|
6
|
-
const MAX_SVG_LENGTH = (1 - MIN_EMPTY_ANGLE / 360) * SVG_CIRCUMFERENCE;
|
|
7
|
-
const animationProps = {
|
|
8
|
-
begin: '0s',
|
|
9
|
-
dur: `${DURATION}ms`,
|
|
10
|
-
fill: 'freeze',
|
|
11
|
-
repeatCount: 'indefinite'
|
|
12
|
-
};
|
|
13
|
-
const bezierProps = {
|
|
14
|
-
calcMode: 'spline',
|
|
15
|
-
keyTimes: '0; 0.5; 1',
|
|
16
|
-
keySplines: `${BEZIER.join(', ')} ; ${BEZIER.join(', ')}`
|
|
17
|
-
}; // We're using svg rather than css here to define the animation to avoid needing to introduce css injection mechanism
|
|
18
|
-
// 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.
|
|
19
|
-
|
|
20
|
-
const Spinner = ({
|
|
21
|
-
size,
|
|
22
|
-
color,
|
|
23
|
-
thickness,
|
|
24
|
-
label
|
|
25
|
-
}) => /*#__PURE__*/React.createElement("svg", {
|
|
26
|
-
width: `${size}px`,
|
|
27
|
-
height: `${size}px`,
|
|
28
|
-
viewBox: "0 0 48 48",
|
|
29
|
-
"aria-valuetext": label,
|
|
30
|
-
role: "progressbar",
|
|
31
|
-
"aria-busy": true
|
|
32
|
-
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("animateTransform", Object.assign({
|
|
33
|
-
attributeName: "transform",
|
|
34
|
-
type: "rotate",
|
|
35
|
-
values: `-180 24 24;${360 + MIN_STROKE_ANGLE - 180} 24 24`
|
|
36
|
-
}, animationProps)), /*#__PURE__*/React.createElement("circle", {
|
|
37
|
-
fill: "none",
|
|
38
|
-
stroke: color,
|
|
39
|
-
strokeWidth: thickness * 48 / size,
|
|
40
|
-
strokeLinecap: "round",
|
|
41
|
-
cx: "24",
|
|
42
|
-
cy: "24",
|
|
43
|
-
r: "20",
|
|
44
|
-
strokeDasharray: [MIN_SVG_LENGTH, SVG_CIRCUMFERENCE],
|
|
45
|
-
strokeDashoffset: 0
|
|
46
|
-
}, /*#__PURE__*/React.createElement("animate", Object.assign({
|
|
47
|
-
attributeName: "stroke-dashoffset",
|
|
48
|
-
values: `0;-10;${MIN_SVG_LENGTH - SVG_CIRCUMFERENCE}`
|
|
49
|
-
}, animationProps, bezierProps)), /*#__PURE__*/React.createElement("animate", Object.assign({
|
|
50
|
-
attributeName: "stroke-dasharray",
|
|
51
|
-
values: `${MIN_SVG_LENGTH}, 200;${MAX_SVG_LENGTH}, 200;${MIN_SVG_LENGTH}, 200`
|
|
52
|
-
}, animationProps, bezierProps)))));
|
|
53
|
-
|
|
54
|
-
Spinner.propTypes = propTypes;
|
|
55
|
-
export default Spinner;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
/**
|
|
4
|
-
* On Web we need to include an actual input but hide it.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const CheckboxInput = /*#__PURE__*/forwardRef(({
|
|
8
|
-
checked,
|
|
9
|
-
defaultChecked,
|
|
10
|
-
disabled,
|
|
11
|
-
id,
|
|
12
|
-
isControlled,
|
|
13
|
-
name,
|
|
14
|
-
onChange,
|
|
15
|
-
value
|
|
16
|
-
}, ref) => {
|
|
17
|
-
const handleClick = event => {
|
|
18
|
-
// Cancel the click dispatched via the label tag, since it's already wrapped
|
|
19
|
-
// in <Pressable>
|
|
20
|
-
event.preventDefault();
|
|
21
|
-
event.stopPropagation();
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
return /*#__PURE__*/React.createElement("input", {
|
|
25
|
-
checked: isControlled ? checked : undefined,
|
|
26
|
-
defaultChecked: isControlled ? undefined : defaultChecked,
|
|
27
|
-
disabled: disabled,
|
|
28
|
-
hidden: true,
|
|
29
|
-
id: id,
|
|
30
|
-
name: name,
|
|
31
|
-
onChange: onChange,
|
|
32
|
-
onClick: handleClick,
|
|
33
|
-
ref: ref,
|
|
34
|
-
type: "checkbox",
|
|
35
|
-
value: value
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
CheckboxInput.displayName = 'CheckboxInput';
|
|
39
|
-
CheckboxInput.propTypes = {
|
|
40
|
-
checked: PropTypes.bool,
|
|
41
|
-
defaultChecked: PropTypes.bool,
|
|
42
|
-
disabled: PropTypes.bool,
|
|
43
|
-
id: PropTypes.string.isRequired,
|
|
44
|
-
isControlled: PropTypes.bool.isRequired,
|
|
45
|
-
name: PropTypes.string,
|
|
46
|
-
onChange: PropTypes.func,
|
|
47
|
-
value: PropTypes.string
|
|
48
|
-
};
|
|
49
|
-
CheckboxInput.defaultProps = {
|
|
50
|
-
checked: undefined,
|
|
51
|
-
defaultChecked: undefined,
|
|
52
|
-
disabled: false,
|
|
53
|
-
name: undefined,
|
|
54
|
-
onChange: () => {},
|
|
55
|
-
value: undefined
|
|
56
|
-
};
|
|
57
|
-
export default CheckboxInput;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
function LabelContent({
|
|
5
|
-
children,
|
|
6
|
-
forId
|
|
7
|
-
}) {
|
|
8
|
-
return /*#__PURE__*/React.createElement("label", {
|
|
9
|
-
htmlFor: forId
|
|
10
|
-
}, children);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export default LabelContent;
|
|
14
|
-
LabelContent.propTypes = {
|
|
15
|
-
children: PropTypes.string,
|
|
16
|
-
forId: PropTypes.string
|
|
17
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Pressable, StyleSheet } from 'react-native';
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {import('react-native').PressableProps} PressableProps
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* InlinePressable is an alternative to React Native's Pressable that works better when nested
|
|
9
|
-
* inline inside Text. It accepts the same props as React Native's Pressable.
|
|
10
|
-
*
|
|
11
|
-
* On Web it simply passes its props to Pressable and defaults to `inline-flex` instead of `flex`.
|
|
12
|
-
*
|
|
13
|
-
* @param {PressableProps} PressableProps
|
|
14
|
-
*/
|
|
15
|
-
// React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
|
|
16
|
-
// eslint-disable-next-line react/prop-types
|
|
17
|
-
|
|
18
|
-
const InlinePressable = ({
|
|
19
|
-
children,
|
|
20
|
-
style,
|
|
21
|
-
...props
|
|
22
|
-
}) => /*#__PURE__*/React.createElement(Pressable, Object.assign({
|
|
23
|
-
style: pressState => [staticStyles.inline, typeof style === 'function' ? style(pressState) : style]
|
|
24
|
-
}, props), pressState => typeof children === 'function' ? children(pressState) : children);
|
|
25
|
-
|
|
26
|
-
const staticStyles = StyleSheet.create({
|
|
27
|
-
inline: {
|
|
28
|
-
// Stop Pressable defaulting to (block) flex
|
|
29
|
-
display: 'inline-flex'
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
export default InlinePressable;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
/**
|
|
4
|
-
* On Web we need to include an actual input but hide it.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const RadioInput = /*#__PURE__*/forwardRef(({
|
|
8
|
-
checked,
|
|
9
|
-
defaultChecked,
|
|
10
|
-
disabled,
|
|
11
|
-
id,
|
|
12
|
-
isControlled,
|
|
13
|
-
name,
|
|
14
|
-
onChange,
|
|
15
|
-
value
|
|
16
|
-
}, ref) => {
|
|
17
|
-
const handleClick = event => {
|
|
18
|
-
// Cancel the click dispatched via the label tag, since it's already wrapped
|
|
19
|
-
// in <Pressable>
|
|
20
|
-
event.preventDefault();
|
|
21
|
-
event.stopPropagation();
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
return /*#__PURE__*/React.createElement("input", {
|
|
25
|
-
checked: isControlled ? checked : undefined,
|
|
26
|
-
defaultChecked: isControlled ? undefined : defaultChecked,
|
|
27
|
-
disabled: disabled,
|
|
28
|
-
hidden: true,
|
|
29
|
-
id: id,
|
|
30
|
-
name: name,
|
|
31
|
-
onChange: onChange,
|
|
32
|
-
onClick: handleClick,
|
|
33
|
-
ref: ref,
|
|
34
|
-
type: "radio",
|
|
35
|
-
value: value
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
RadioInput.displayName = 'Radio';
|
|
39
|
-
RadioInput.propTypes = {
|
|
40
|
-
checked: PropTypes.bool,
|
|
41
|
-
defaultChecked: PropTypes.bool,
|
|
42
|
-
disabled: PropTypes.bool,
|
|
43
|
-
id: PropTypes.string,
|
|
44
|
-
isControlled: PropTypes.bool,
|
|
45
|
-
name: PropTypes.string,
|
|
46
|
-
onChange: PropTypes.func,
|
|
47
|
-
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool])
|
|
48
|
-
};
|
|
49
|
-
RadioInput.defaultProps = {
|
|
50
|
-
checked: undefined,
|
|
51
|
-
defaultChecked: undefined,
|
|
52
|
-
disabled: false,
|
|
53
|
-
id: null,
|
|
54
|
-
isControlled: false,
|
|
55
|
-
name: undefined,
|
|
56
|
-
onChange: () => {},
|
|
57
|
-
value: undefined
|
|
58
|
-
};
|
|
59
|
-
export default RadioInput;
|
package/lib/Select/Group.web.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { componentPropType } from '../utils';
|
|
4
|
-
|
|
5
|
-
const Group = ({
|
|
6
|
-
children,
|
|
7
|
-
label
|
|
8
|
-
}) => {
|
|
9
|
-
return /*#__PURE__*/React.createElement("optgroup", {
|
|
10
|
-
label: label
|
|
11
|
-
}, children);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export default Group;
|
|
15
|
-
Group.propTypes = {
|
|
16
|
-
children: componentPropType('Item'),
|
|
17
|
-
label: PropTypes.string.isRequired
|
|
18
|
-
};
|
package/lib/Select/Item.web.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
const Item = ({
|
|
5
|
-
children,
|
|
6
|
-
value
|
|
7
|
-
}) => /*#__PURE__*/React.createElement("option", {
|
|
8
|
-
value: value
|
|
9
|
-
}, children);
|
|
10
|
-
|
|
11
|
-
export default Item;
|
|
12
|
-
Item.propTypes = {
|
|
13
|
-
children: PropTypes.string.isRequired,
|
|
14
|
-
value: PropTypes.string.isRequired
|
|
15
|
-
};
|