@telus-uds/components-base 0.0.2-prerelease.7 → 1.0.1
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 +71 -0
- package/README.md +4 -2
- package/__fixtures__/Accessible.js +33 -0
- package/__fixtures__/Accessible.native.js +32 -0
- package/__fixtures__/test-utils.js +25 -0
- package/__fixtures__/testTheme.js +438 -31
- package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
- package/__tests__/Button/ButtonGroup.test.jsx +6 -7
- package/__tests__/Checkbox/Checkbox.test.jsx +2 -2
- package/__tests__/Checkbox/CheckboxGroup.test.jsx +246 -0
- package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
- package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
- package/__tests__/Icon/Icon.test.jsx +3 -3
- package/__tests__/IconButton/IconButton.test.jsx +52 -0
- package/__tests__/Link/LinkBase.test.jsx +0 -14
- 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/Radio.test.jsx +2 -2
- package/__tests__/Radio/RadioGroup.test.jsx +220 -0
- package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
- package/__tests__/RadioCard/RadioCardGroup.test.jsx +246 -0
- package/__tests__/Search/Search.test.jsx +73 -0
- package/__tests__/Select/Select.test.jsx +3 -2
- package/__tests__/Skeleton/Skeleton.test.jsx +1 -1
- package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
- package/__tests__/Tabs/Tabs.test.jsx +40 -0
- package/__tests__/Tags/Tags.test.jsx +5 -6
- 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 +59 -1
- package/__tests__/utils/semantics.test.jsx +43 -0
- package/__tests__/utils/useCopy.test.js +14 -3
- package/babel.config.js +20 -0
- package/jest.config.js +6 -3
- package/lib/A11yInfoProvider/index.js +54 -26
- package/lib/A11yText/index.js +45 -17
- package/lib/ActivityIndicator/Spinner.js +81 -0
- package/lib/ActivityIndicator/Spinner.native.js +129 -91
- 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 +153 -35
- package/lib/Box/index.js +13 -2
- package/lib/Button/Button.js +38 -16
- package/lib/Button/ButtonBase.js +93 -79
- package/lib/Button/ButtonGroup.js +112 -73
- package/lib/Button/ButtonLink.js +45 -19
- package/lib/Button/index.js +31 -4
- package/lib/Button/propTypes.js +32 -9
- package/lib/Card/Card.js +38 -41
- package/lib/Card/CardBase.js +86 -0
- package/lib/Card/PressableCardBase.js +141 -0
- package/lib/Card/index.js +40 -2
- package/lib/Checkbox/Checkbox.js +158 -111
- package/lib/Checkbox/CheckboxGroup.js +241 -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 +59 -28
- package/lib/Divider/index.js +13 -2
- package/lib/ExpandCollapse/Accordion.js +26 -7
- package/lib/ExpandCollapse/Control.js +60 -31
- package/lib/ExpandCollapse/ExpandCollapse.js +50 -28
- package/lib/ExpandCollapse/Panel.js +83 -44
- package/lib/ExpandCollapse/index.js +25 -7
- package/lib/Feedback/Feedback.js +77 -43
- package/lib/Feedback/index.js +13 -2
- package/lib/Fieldset/Fieldset.js +165 -0
- package/lib/Fieldset/FieldsetContainer.js +46 -0
- package/lib/Fieldset/FieldsetContainer.native.js +38 -0
- package/lib/Fieldset/Legend.js +38 -0
- package/lib/Fieldset/Legend.native.js +48 -0
- package/lib/Fieldset/cssReset.js +21 -0
- package/lib/Fieldset/index.js +13 -0
- package/lib/FlexGrid/Col/Col.js +73 -41
- package/lib/FlexGrid/Col/index.js +13 -2
- package/lib/FlexGrid/FlexGrid.js +99 -49
- package/lib/FlexGrid/Row/Row.js +58 -30
- 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/HorizontalScroll/HorizontalScroll.js +200 -0
- package/lib/HorizontalScroll/HorizontalScrollButton.js +127 -0
- package/lib/HorizontalScroll/ScrollViewEnd.js +66 -0
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +41 -0
- package/lib/HorizontalScroll/dictionary.js +18 -0
- package/lib/HorizontalScroll/index.js +35 -0
- package/lib/HorizontalScroll/itemPositions.js +128 -0
- package/lib/Icon/Icon.js +57 -48
- package/lib/Icon/IconText.js +54 -25
- package/lib/Icon/index.js +31 -4
- package/lib/IconButton/IconButton.js +140 -0
- package/lib/IconButton/index.js +13 -0
- package/lib/InputLabel/InputLabel.js +102 -40
- package/lib/InputLabel/LabelContent.js +41 -0
- package/lib/InputLabel/LabelContent.native.js +32 -6
- package/lib/InputLabel/index.js +13 -2
- package/lib/InputSupports/InputSupports.js +71 -52
- 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 +44 -20
- package/lib/Link/InlinePressable.js +56 -0
- package/lib/Link/InlinePressable.native.js +39 -15
- package/lib/Link/Link.js +36 -13
- package/lib/Link/LinkBase.js +98 -61
- package/lib/Link/TextButton.js +41 -17
- package/lib/Link/index.js +39 -5
- package/lib/List/List.js +55 -26
- package/lib/List/ListItem.js +79 -41
- package/lib/List/index.js +13 -2
- package/lib/Modal/Modal.js +231 -0
- package/lib/Modal/dictionary.js +16 -0
- package/lib/Modal/index.js +13 -0
- package/lib/Notification/Notification.js +216 -0
- package/lib/Notification/dictionary.js +15 -0
- package/lib/Notification/index.js +13 -0
- package/lib/Pagination/PageButton.js +61 -28
- package/lib/Pagination/Pagination.js +78 -43
- package/lib/Pagination/SideButton.js +73 -42
- 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 +104 -0
- package/lib/Progress/ProgressBar.js +157 -0
- package/lib/Progress/ProgressBarBackground.js +61 -0
- package/lib/Progress/index.js +16 -0
- package/lib/Radio/Radio.js +116 -114
- package/lib/Radio/RadioButton.js +152 -0
- package/lib/Radio/RadioGroup.js +244 -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 +244 -0
- package/lib/RadioCard/RadioCardGroup.js +252 -0
- package/lib/RadioCard/index.js +21 -0
- package/lib/Search/Search.js +254 -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 +84 -0
- package/lib/Select/Picker.native.js +73 -30
- package/lib/Select/Select.js +155 -85
- package/lib/Select/index.js +19 -6
- package/lib/SideNav/Item.js +63 -37
- package/lib/SideNav/ItemContent.js +41 -15
- package/lib/SideNav/ItemsGroup.js +55 -31
- package/lib/SideNav/SideNav.js +100 -73
- package/lib/SideNav/index.js +15 -1
- package/lib/Skeleton/Skeleton.js +64 -46
- 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 +49 -18
- package/lib/Spacer/index.js +13 -2
- package/lib/StackView/StackView.js +72 -31
- package/lib/StackView/StackWrap.js +43 -13
- package/lib/StackView/StackWrap.native.js +13 -2
- package/lib/StackView/StackWrapBox.js +77 -29
- package/lib/StackView/StackWrapGap.js +56 -26
- package/lib/StackView/common.js +23 -6
- package/lib/StackView/getStackedContent.js +47 -17
- package/lib/StackView/index.js +29 -5
- package/lib/StepTracker/Step.js +245 -0
- package/lib/StepTracker/StepTracker.js +202 -0
- package/lib/StepTracker/dictionary.js +17 -0
- package/lib/StepTracker/index.js +13 -0
- package/lib/Tabs/Tabs.js +124 -0
- package/lib/Tabs/TabsItem.js +238 -0
- package/lib/Tabs/index.js +13 -0
- package/lib/Tags/Tags.js +148 -99
- package/lib/Tags/index.js +13 -2
- package/lib/TextInput/TextArea.js +57 -28
- package/lib/TextInput/TextInput.js +50 -23
- package/lib/TextInput/TextInputBase.js +90 -63
- package/lib/TextInput/index.js +23 -3
- package/lib/TextInput/propTypes.js +18 -7
- package/lib/ThemeProvider/ThemeProvider.js +46 -18
- package/lib/ThemeProvider/index.js +61 -6
- package/lib/ThemeProvider/useSetTheme.js +19 -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 +50 -14
- package/lib/ThemeProvider/utils/theme-tokens.js +121 -12
- package/lib/ToggleSwitch/ToggleSwitch.js +85 -56
- package/lib/ToggleSwitch/index.js +13 -2
- package/lib/Tooltip/{Backdrop.web.js → Backdrop.js} +20 -8
- package/lib/Tooltip/Backdrop.native.js +39 -15
- package/lib/Tooltip/Tooltip.js +117 -74
- 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 +87 -41
- 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 +539 -33
- package/lib/utils/a11y/index.js +31 -1
- package/lib/utils/a11y/semantics.js +173 -0
- package/lib/utils/a11y/textSize.js +23 -7
- package/lib/utils/animation/index.js +15 -2
- package/lib/utils/animation/useVerticalExpandAnimation.js +27 -10
- package/lib/utils/children.js +134 -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 +53 -25
- package/lib/utils/pressability.js +38 -10
- package/lib/utils/propTypes.js +287 -141
- package/lib/utils/useCopy.js +40 -5
- package/lib/utils/useHash.js +52 -0
- package/lib/utils/useHash.native.js +15 -0
- package/lib/utils/useResponsiveProp.js +21 -9
- package/lib/utils/useSpacingScale.js +19 -9
- package/lib/utils/useUniqueId.js +12 -3
- package/package.json +14 -9
- package/release-context.json +4 -4
- package/src/A11yText/index.jsx +6 -4
- package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +5 -3
- package/src/ActivityIndicator/Spinner.native.jsx +5 -3
- package/src/Box/Box.jsx +132 -39
- package/src/Button/Button.jsx +10 -6
- package/src/Button/ButtonBase.jsx +99 -99
- package/src/Button/ButtonGroup.jsx +81 -69
- package/src/Button/ButtonLink.jsx +21 -15
- package/src/Button/propTypes.js +12 -2
- package/src/Card/Card.jsx +5 -31
- package/src/Card/CardBase.jsx +59 -0
- package/src/Card/PressableCardBase.jsx +119 -0
- package/src/Card/index.js +3 -0
- package/src/Checkbox/Checkbox.jsx +121 -112
- package/src/Checkbox/CheckboxGroup.jsx +206 -0
- package/src/Checkbox/{CheckboxInput.web.jsx → CheckboxInput.jsx} +0 -0
- package/src/Checkbox/index.js +2 -0
- 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 +136 -0
- package/src/Fieldset/FieldsetContainer.jsx +31 -0
- package/src/Fieldset/FieldsetContainer.native.jsx +19 -0
- package/src/Fieldset/Legend.jsx +21 -0
- package/src/Fieldset/Legend.native.jsx +27 -0
- package/src/Fieldset/cssReset.js +14 -0
- package/src/Fieldset/index.js +3 -0
- 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/HorizontalScroll/ScrollViewEnd.jsx +53 -0
- package/src/HorizontalScroll/ScrollViewEnd.native.jsx +24 -0
- package/src/HorizontalScroll/dictionary.js +11 -0
- package/src/HorizontalScroll/index.js +17 -0
- package/src/HorizontalScroll/itemPositions.js +101 -0
- package/src/Icon/Icon.jsx +43 -50
- package/src/Icon/IconText.jsx +23 -18
- package/src/Icon/index.js +2 -2
- package/src/IconButton/IconButton.jsx +114 -0
- package/src/IconButton/index.js +3 -0
- package/src/InputLabel/InputLabel.jsx +57 -35
- package/src/InputLabel/LabelContent.jsx +21 -0
- package/src/InputLabel/LabelContent.native.jsx +11 -2
- package/src/InputSupports/InputSupports.jsx +29 -45
- package/src/InputSupports/useInputSupports.js +30 -0
- package/src/Link/ChevronLink.jsx +26 -16
- package/src/Link/{InlinePressable.web.jsx → InlinePressable.jsx} +5 -3
- package/src/Link/InlinePressable.native.jsx +5 -3
- package/src/Link/Link.jsx +22 -16
- package/src/Link/LinkBase.jsx +76 -65
- 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 +190 -0
- package/src/Modal/dictionary.js +9 -0
- package/src/Modal/index.js +3 -0
- package/src/Notification/Notification.jsx +164 -0
- package/src/Notification/dictionary.js +8 -0
- package/src/Notification/index.js +3 -0
- 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 +78 -0
- package/src/Progress/ProgressBar.jsx +123 -0
- package/src/Progress/ProgressBarBackground.jsx +36 -0
- package/src/Progress/index.js +6 -0
- package/src/Radio/Radio.jsx +82 -112
- package/src/Radio/RadioButton.jsx +142 -0
- package/src/Radio/RadioGroup.jsx +209 -0
- package/src/Radio/{RadioInput.web.jsx → RadioInput.jsx} +0 -0
- package/src/Radio/index.js +2 -0
- package/src/RadioCard/RadioCard.jsx +198 -0
- package/src/RadioCard/RadioCardGroup.jsx +218 -0
- package/src/RadioCard/index.js +5 -0
- package/src/Search/Search.jsx +225 -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.jsx +74 -0
- package/src/Select/Picker.native.jsx +56 -49
- package/src/Select/Select.jsx +125 -92
- package/src/SideNav/Item.jsx +54 -47
- package/src/SideNav/ItemsGroup.jsx +50 -43
- package/src/SideNav/SideNav.jsx +68 -60
- package/src/Skeleton/Skeleton.jsx +25 -32
- package/src/Skeleton/skeleton.constant.js +3 -0
- package/src/Skeleton/skeletonWebAnimation.js +13 -0
- package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
- package/src/Spacer/Spacer.jsx +11 -4
- package/src/StackView/StackView.jsx +54 -23
- package/src/StackView/StackWrap.jsx +16 -7
- package/src/StackView/StackWrapBox.jsx +63 -28
- package/src/StackView/StackWrapGap.jsx +46 -24
- package/src/StackView/common.jsx +3 -2
- package/src/StackView/getStackedContent.jsx +8 -2
- package/src/StepTracker/Step.jsx +202 -0
- package/src/StepTracker/StepTracker.jsx +174 -0
- package/src/StepTracker/dictionary.js +10 -0
- package/src/StepTracker/index.js +3 -0
- package/src/Tabs/Tabs.jsx +97 -0
- package/src/Tabs/TabsItem.jsx +212 -0
- package/src/Tabs/index.js +3 -0
- package/src/Tags/Tags.jsx +115 -102
- package/src/TextInput/TextArea.jsx +5 -4
- package/src/TextInput/TextInput.jsx +5 -4
- package/src/TextInput/TextInputBase.jsx +95 -98
- package/src/ThemeProvider/ThemeProvider.jsx +11 -7
- package/src/ThemeProvider/useSetTheme.js +4 -0
- package/src/ThemeProvider/useThemeTokens.js +2 -2
- package/src/ThemeProvider/utils/styles.js +18 -5
- package/src/ThemeProvider/utils/theme-tokens.js +74 -5
- package/src/ToggleSwitch/ToggleSwitch.jsx +50 -52
- package/src/Tooltip/{Backdrop.web.jsx → Backdrop.jsx} +0 -0
- package/src/Tooltip/Tooltip.jsx +135 -131
- package/src/TooltipButton/TooltipButton.jsx +23 -27
- package/src/Typography/Typography.jsx +71 -47
- package/src/index.js +23 -2
- package/src/utils/a11y/index.js +1 -0
- package/src/utils/a11y/semantics.js +162 -0
- package/src/utils/children.jsx +119 -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 +36 -25
- package/src/utils/pressability.js +4 -0
- package/src/utils/propTypes.js +199 -72
- package/src/utils/useCopy.js +30 -4
- package/src/utils/useHash.js +39 -0
- package/src/utils/useHash.native.js +6 -0
- package/stories/A11yText/A11yText.stories.jsx +6 -10
- 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 +24 -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 +27 -7
- package/stories/IconButton/IconButton.stories.jsx +50 -0
- package/stories/InputLabel/InputLabel.stories.jsx +1 -1
- package/stories/Link/ChevronLink.stories.jsx +1 -1
- package/stories/Link/Link.stories.jsx +17 -21
- package/stories/Link/TextButton.stories.jsx +1 -1
- package/stories/List/List.stories.jsx +1 -1
- package/stories/Modal/Modal.stories.jsx +29 -0
- package/stories/Notification/Notification.stories.jsx +82 -0
- package/stories/Pagination/Pagination.stories.jsx +1 -1
- 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/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 +71 -0
- package/stories/Tabs/Tabs.stories.jsx +97 -0
- 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.web.jsx → platform-supports.jsx} +1 -1
- package/stories/supports.jsx +37 -3
- package/__fixtures__/accessible.icon.svg +0 -6
- package/babel.config.json +0 -8
- package/docs/Contributing.stories.mdx +0 -9
- package/docs/Fonts.stories.mdx +0 -104
- package/docs/Icons.stories.mdx +0 -144
- package/docs/Introduction.stories.mdx +0 -9
- 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/InputLabel/LabelContent.web.jsx +0 -13
- package/src/Select/Picker.web.jsx +0 -67
- 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,11 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
11
|
+
|
|
12
|
+
var _utils = require("../utils");
|
|
13
|
+
|
|
14
|
+
var _InputSupports = _interopRequireDefault(require("../InputSupports"));
|
|
15
|
+
|
|
16
|
+
var _TextInputBase = _interopRequireDefault(require("./TextInputBase"));
|
|
17
|
+
|
|
18
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
19
|
+
|
|
20
|
+
var _propTypes = _interopRequireDefault(require("../InputSupports/propTypes"));
|
|
21
|
+
|
|
22
|
+
var _propTypes2 = _interopRequireDefault(require("./propTypes"));
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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
|
+
|
|
9
32
|
/**
|
|
10
33
|
* Use to collect long-form information such as product feedback or support queries.
|
|
11
34
|
* Due to React Native's implementation of `TextInput` it's not possible to access the current value by passing a ref.
|
|
@@ -30,14 +53,13 @@ import textInputPropTypes from './propTypes';
|
|
|
30
53
|
* or an indicator that the field is optional.
|
|
31
54
|
* It is a more usable and accessible option than the HTML `placeholder` attribute.
|
|
32
55
|
*/
|
|
33
|
-
|
|
34
|
-
function TextArea({
|
|
56
|
+
const TextArea = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
35
57
|
tokens,
|
|
36
58
|
variant = {},
|
|
37
59
|
...remainingProps
|
|
38
|
-
}) {
|
|
39
|
-
const themeTokens = useThemeTokens('TextArea', tokens, variant);
|
|
40
|
-
const [inputHeight, setInputHeight] = useState(); // adjust the text area's height as new lines are added to the content
|
|
60
|
+
}, ref) => {
|
|
61
|
+
const themeTokens = (0, _ThemeProvider.useThemeTokens)('TextArea', tokens, variant);
|
|
62
|
+
const [inputHeight, setInputHeight] = (0, _react.useState)(); // adjust the text area's height as new lines are added to the content
|
|
41
63
|
|
|
42
64
|
const onHeightChange = ({
|
|
43
65
|
nativeEvent: {
|
|
@@ -47,7 +69,7 @@ function TextArea({
|
|
|
47
69
|
}
|
|
48
70
|
}) => {
|
|
49
71
|
// on native this is happens out of the box
|
|
50
|
-
if (
|
|
72
|
+
if (_Platform.default.OS === 'web') {
|
|
51
73
|
setInputHeight(height);
|
|
52
74
|
}
|
|
53
75
|
};
|
|
@@ -55,7 +77,8 @@ function TextArea({
|
|
|
55
77
|
const {
|
|
56
78
|
props: supportsProps,
|
|
57
79
|
rest
|
|
58
|
-
} =
|
|
80
|
+
} = _propTypes.default.select(remainingProps);
|
|
81
|
+
|
|
59
82
|
const inputProps = { ...rest,
|
|
60
83
|
variant: { ...variant,
|
|
61
84
|
validation: supportsProps.validation
|
|
@@ -65,18 +88,24 @@ function TextArea({
|
|
|
65
88
|
height: inputHeight,
|
|
66
89
|
tokens: themeTokens
|
|
67
90
|
};
|
|
68
|
-
return /*#__PURE__*/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
91
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputSupports.default, { ...supportsProps,
|
|
92
|
+
children: ({
|
|
93
|
+
a11yProps,
|
|
94
|
+
inputId
|
|
95
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextInputBase.default, {
|
|
96
|
+
ref: ref,
|
|
97
|
+
...inputProps,
|
|
98
|
+
...a11yProps,
|
|
99
|
+
nativeID: inputId
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
TextArea.displayName = 'TextArea';
|
|
104
|
+
TextArea.propTypes = { ..._propTypes.default.types,
|
|
105
|
+
..._propTypes2.default,
|
|
106
|
+
tokens: (0, _utils.getTokensPropType)('TextArea', 'TextInput'),
|
|
79
107
|
// TODO: support both TextArea and TextInput tokens
|
|
80
|
-
variant: variantProp.propType
|
|
108
|
+
variant: _utils.variantProp.propType
|
|
81
109
|
};
|
|
82
|
-
|
|
110
|
+
var _default = TextArea;
|
|
111
|
+
exports.default = _default;
|
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _utils = require("../utils");
|
|
11
|
+
|
|
12
|
+
var _InputSupports = _interopRequireDefault(require("../InputSupports"));
|
|
13
|
+
|
|
14
|
+
var _TextInputBase = _interopRequireDefault(require("./TextInputBase"));
|
|
15
|
+
|
|
16
|
+
var _propTypes = _interopRequireDefault(require("../InputSupports/propTypes"));
|
|
17
|
+
|
|
18
|
+
var _propTypes2 = _interopRequireDefault(require("./propTypes"));
|
|
19
|
+
|
|
20
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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
|
+
|
|
7
28
|
/**
|
|
8
29
|
* A basic text input component. Use in forms or individually to receive user's input.
|
|
9
30
|
* Due to React Native's implementation of `TextInput` it's not possible to access the current value by passing a ref.
|
|
@@ -22,33 +43,39 @@ import textInputPropTypes from './propTypes';
|
|
|
22
43
|
* supported props and <a href="https://reactnative.dev/docs/textinput" target="_blank">React Native Web documentation</a> for
|
|
23
44
|
* their implementation on the web.
|
|
24
45
|
*/
|
|
25
|
-
|
|
26
|
-
function TextInput({
|
|
46
|
+
const TextInput = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
27
47
|
tokens,
|
|
28
48
|
variant = {},
|
|
29
49
|
...remainingProps
|
|
30
|
-
}) {
|
|
50
|
+
}, ref) => {
|
|
31
51
|
const {
|
|
32
52
|
props: supportsProps,
|
|
33
53
|
rest
|
|
34
|
-
} =
|
|
54
|
+
} = _propTypes.default.select(remainingProps);
|
|
55
|
+
|
|
35
56
|
const inputProps = { ...rest,
|
|
36
57
|
tokens,
|
|
37
58
|
variant: { ...variant,
|
|
38
59
|
validation: supportsProps.validation
|
|
39
60
|
}
|
|
40
61
|
};
|
|
41
|
-
return /*#__PURE__*/
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
62
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputSupports.default, { ...supportsProps,
|
|
63
|
+
children: ({
|
|
64
|
+
a11yProps,
|
|
65
|
+
inputId
|
|
66
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextInputBase.default, {
|
|
67
|
+
ref: ref,
|
|
68
|
+
...inputProps,
|
|
69
|
+
...a11yProps,
|
|
70
|
+
nativeID: inputId
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
TextInput.displayName = 'TextInput';
|
|
75
|
+
TextInput.propTypes = { ..._propTypes.default.types,
|
|
76
|
+
..._propTypes2.default,
|
|
77
|
+
tokens: (0, _utils.getTokensPropType)('TextInput'),
|
|
78
|
+
variant: _utils.variantProp.propType
|
|
53
79
|
};
|
|
54
|
-
|
|
80
|
+
var _default = TextInput;
|
|
81
|
+
exports.default = _default;
|
|
@@ -1,8 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
11
|
+
|
|
12
|
+
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
13
|
+
|
|
14
|
+
var _TextInput = _interopRequireDefault(require("react-native-web/dist/cjs/exports/TextInput"));
|
|
15
|
+
|
|
16
|
+
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
17
|
+
|
|
18
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
+
|
|
20
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
21
|
+
|
|
22
|
+
var _utils = require("../utils");
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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; }
|
|
6
31
|
|
|
7
32
|
const selectInputStyles = ({
|
|
8
33
|
backgroundColor,
|
|
@@ -29,7 +54,7 @@ const selectInputStyles = ({
|
|
|
29
54
|
// jump around if the border width changes (avoiding NaN and negative padding)
|
|
30
55
|
const offsetBorder = value => typeof value === 'number' ? Math.max(0, value - borderWidth) : value;
|
|
31
56
|
|
|
32
|
-
const textStyles = applyTextStyles({
|
|
57
|
+
const textStyles = (0, _ThemeProvider.applyTextStyles)({
|
|
33
58
|
fontName,
|
|
34
59
|
fontSize,
|
|
35
60
|
lineHeight,
|
|
@@ -45,7 +70,8 @@ const selectInputStyles = ({
|
|
|
45
70
|
|
|
46
71
|
const minHeight = linesToHeight(minLines);
|
|
47
72
|
const maxHeight = linesToHeight(maxLines);
|
|
48
|
-
|
|
73
|
+
|
|
74
|
+
const webStyles = _Platform.default.select({
|
|
49
75
|
web: {
|
|
50
76
|
outline: 'none',
|
|
51
77
|
cursor: inactive ? 'not-allowed' : undefined,
|
|
@@ -53,6 +79,7 @@ const selectInputStyles = ({
|
|
|
53
79
|
|
|
54
80
|
}
|
|
55
81
|
});
|
|
82
|
+
|
|
56
83
|
const paddingWithIcon = iconSize + paddingRight;
|
|
57
84
|
return {
|
|
58
85
|
backgroundColor,
|
|
@@ -75,25 +102,17 @@ const selectInputStyles = ({
|
|
|
75
102
|
|
|
76
103
|
const selectOuterBorderStyles = ({
|
|
77
104
|
outerBackgroundColor,
|
|
78
|
-
outerBorderWidth
|
|
105
|
+
outerBorderWidth,
|
|
79
106
|
outerBorderColor,
|
|
80
|
-
|
|
81
|
-
}) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
borderColor: outerBorderColor,
|
|
90
|
-
borderRadius,
|
|
91
|
-
marginTop: margin,
|
|
92
|
-
marginBottom: margin,
|
|
93
|
-
marginLeft: margin,
|
|
94
|
-
marginRight: margin
|
|
95
|
-
};
|
|
96
|
-
};
|
|
107
|
+
borderRadius
|
|
108
|
+
}) => ({
|
|
109
|
+
background: outerBackgroundColor,
|
|
110
|
+
...(0, _ThemeProvider.applyOuterBorder)({
|
|
111
|
+
outerBorderColor,
|
|
112
|
+
outerBorderWidth,
|
|
113
|
+
borderRadius
|
|
114
|
+
})
|
|
115
|
+
});
|
|
97
116
|
|
|
98
117
|
const selectIconTokens = ({
|
|
99
118
|
iconSize,
|
|
@@ -111,7 +130,7 @@ const selectIconContainerStyles = ({
|
|
|
111
130
|
paddingBottom
|
|
112
131
|
});
|
|
113
132
|
|
|
114
|
-
|
|
133
|
+
const TextInputBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
115
134
|
value,
|
|
116
135
|
height,
|
|
117
136
|
initialValue,
|
|
@@ -126,8 +145,8 @@ function TextInputBase({
|
|
|
126
145
|
tokens,
|
|
127
146
|
variant = {},
|
|
128
147
|
...remainingProps
|
|
129
|
-
}) {
|
|
130
|
-
const [isFocused, setIsFocused] = useState(false);
|
|
148
|
+
}, ref) => {
|
|
149
|
+
const [isFocused, setIsFocused] = (0, _react.useState)(false);
|
|
131
150
|
|
|
132
151
|
const handleFocus = event => {
|
|
133
152
|
setIsFocused(true);
|
|
@@ -139,7 +158,7 @@ function TextInputBase({
|
|
|
139
158
|
if (typeof onBlur === 'function') onBlur(event);
|
|
140
159
|
};
|
|
141
160
|
|
|
142
|
-
const [isHovered, setIsHovered] = useState(false);
|
|
161
|
+
const [isHovered, setIsHovered] = (0, _react.useState)(false);
|
|
143
162
|
|
|
144
163
|
const handleMouseOver = event => {
|
|
145
164
|
setIsHovered(true);
|
|
@@ -155,16 +174,19 @@ function TextInputBase({
|
|
|
155
174
|
currentValue,
|
|
156
175
|
setValue,
|
|
157
176
|
isControlled
|
|
158
|
-
} = useInputValue({
|
|
177
|
+
} = (0, _utils.useInputValue)({
|
|
159
178
|
value,
|
|
160
179
|
initialValue,
|
|
161
180
|
onChange,
|
|
162
181
|
readOnly
|
|
163
182
|
});
|
|
164
183
|
|
|
165
|
-
const handleChangeText =
|
|
166
|
-
|
|
167
|
-
|
|
184
|
+
const handleChangeText = event => {
|
|
185
|
+
var _event$nativeEvent, _event$target;
|
|
186
|
+
|
|
187
|
+
const text = ((_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.text) || ((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);
|
|
188
|
+
setValue(text, event);
|
|
189
|
+
if (typeof onChangeText === 'function') onChangeText(text, event);
|
|
168
190
|
};
|
|
169
191
|
|
|
170
192
|
const states = {
|
|
@@ -172,7 +194,7 @@ function TextInputBase({
|
|
|
172
194
|
hover: isHovered,
|
|
173
195
|
inactive
|
|
174
196
|
};
|
|
175
|
-
const themeTokens = useThemeTokens('TextInput', tokens, variant, states);
|
|
197
|
+
const themeTokens = (0, _ThemeProvider.useThemeTokens)('TextInput', tokens, variant, states);
|
|
176
198
|
const {
|
|
177
199
|
icon: IconComponent
|
|
178
200
|
} = themeTokens;
|
|
@@ -182,7 +204,7 @@ function TextInputBase({
|
|
|
182
204
|
onBlur: handleBlur,
|
|
183
205
|
onMouseOver: handleMouseOver,
|
|
184
206
|
onMouseOut: handleMouseOut,
|
|
185
|
-
|
|
207
|
+
onChange: handleChangeText,
|
|
186
208
|
defaultValue: initialValue,
|
|
187
209
|
// currentValue is being updated even if the input is not controlled, passing it down to the
|
|
188
210
|
// Input could lead to changing its state from uncontrolled to controlled
|
|
@@ -191,36 +213,41 @@ function TextInputBase({
|
|
|
191
213
|
const nativeInputStyle = selectInputStyles({ ...themeTokens,
|
|
192
214
|
height
|
|
193
215
|
}, inactive);
|
|
194
|
-
return /*#__PURE__*/
|
|
195
|
-
style: selectOuterBorderStyles(themeTokens)
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
206
|
-
|
|
216
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
|
|
217
|
+
style: selectOuterBorderStyles(themeTokens),
|
|
218
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextInput.default, {
|
|
219
|
+
ref: ref,
|
|
220
|
+
style: nativeInputStyle,
|
|
221
|
+
...inputProps
|
|
222
|
+
}), IconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
223
|
+
pointerEvents: "none" // avoid hijacking input press events
|
|
224
|
+
,
|
|
225
|
+
style: [staticStyles.iconContainer, selectIconContainerStyles(themeTokens)],
|
|
226
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, { ...selectIconTokens(themeTokens)
|
|
227
|
+
})
|
|
228
|
+
})]
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
TextInputBase.displayName = 'TextInputBase';
|
|
207
232
|
TextInputBase.propTypes = {
|
|
208
|
-
value:
|
|
209
|
-
height:
|
|
210
|
-
initialValue:
|
|
211
|
-
inactive:
|
|
212
|
-
readOnly:
|
|
213
|
-
onChange:
|
|
214
|
-
onChangeText:
|
|
215
|
-
onFocus:
|
|
216
|
-
onBlur:
|
|
217
|
-
onMouseOver:
|
|
218
|
-
onMouseOut:
|
|
219
|
-
tokens: getTokensPropType('TextInput', 'TextArea'),
|
|
220
|
-
variant: variantProp.propType
|
|
233
|
+
value: _propTypes.default.string,
|
|
234
|
+
height: _propTypes.default.number,
|
|
235
|
+
initialValue: _propTypes.default.string,
|
|
236
|
+
inactive: _propTypes.default.bool,
|
|
237
|
+
readOnly: _propTypes.default.bool,
|
|
238
|
+
onChange: _propTypes.default.func,
|
|
239
|
+
onChangeText: _propTypes.default.func,
|
|
240
|
+
onFocus: _propTypes.default.func,
|
|
241
|
+
onBlur: _propTypes.default.func,
|
|
242
|
+
onMouseOver: _propTypes.default.func,
|
|
243
|
+
onMouseOut: _propTypes.default.func,
|
|
244
|
+
tokens: (0, _utils.getTokensPropType)('TextInput', 'TextArea'),
|
|
245
|
+
variant: _utils.variantProp.propType
|
|
221
246
|
};
|
|
222
|
-
|
|
223
|
-
|
|
247
|
+
var _default = TextInputBase;
|
|
248
|
+
exports.default = _default;
|
|
249
|
+
|
|
250
|
+
const staticStyles = _StyleSheet.default.create({
|
|
224
251
|
iconContainer: {
|
|
225
252
|
position: 'absolute',
|
|
226
253
|
right: 0,
|
package/lib/TextInput/index.js
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "TextInput", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _TextInput.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "TextArea", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _TextArea.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _TextInput = _interopRequireDefault(require("./TextInput"));
|
|
20
|
+
|
|
21
|
+
var _TextArea = _interopRequireDefault(require("./TextArea"));
|
|
22
|
+
|
|
23
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,31 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
2
12
|
const textInputPropTypes = {
|
|
3
13
|
/**
|
|
4
14
|
* If the input's state is to be controlled by a parent component, use this prop
|
|
5
15
|
* together with the `onChange` to pass down and update the lifted state.
|
|
6
16
|
*/
|
|
7
|
-
value:
|
|
17
|
+
value: _propTypes.default.string,
|
|
8
18
|
|
|
9
19
|
/**
|
|
10
20
|
* Use this to set the initial value of an uncontrolled input.
|
|
11
21
|
* Updating `initialValue` will **not** update the actual value.
|
|
12
22
|
*/
|
|
13
|
-
initialValue:
|
|
23
|
+
initialValue: _propTypes.default.string,
|
|
14
24
|
|
|
15
25
|
/**
|
|
16
26
|
* Disables all user interactions with the input.
|
|
17
27
|
*/
|
|
18
|
-
inactive:
|
|
28
|
+
inactive: _propTypes.default.bool,
|
|
19
29
|
|
|
20
30
|
/**
|
|
21
31
|
* Makes it impossible to change the input's value.
|
|
22
32
|
*/
|
|
23
|
-
readOnly:
|
|
33
|
+
readOnly: _propTypes.default.bool,
|
|
24
34
|
|
|
25
35
|
/**
|
|
26
36
|
* Use to react upon input's value changes. Required when the `value` prop is set.
|
|
27
37
|
* Will receive the input's value as an argument.
|
|
28
38
|
*/
|
|
29
|
-
onChange:
|
|
39
|
+
onChange: _propTypes.default.func
|
|
30
40
|
};
|
|
31
|
-
|
|
41
|
+
var _default = textInputPropTypes;
|
|
42
|
+
exports.default = _default;
|
|
@@ -1,28 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
export const uninitialisedError = new Error('Theme context used outside of ThemeProvider');
|
|
4
|
-
export const ThemeContext = /*#__PURE__*/createContext(uninitialisedError);
|
|
5
|
-
export const ThemeSetterContext = /*#__PURE__*/createContext(uninitialisedError); // TODO: develop this as theme metadata is added
|
|
6
|
-
// https://github.com/telus/universal-design-system/issues/92
|
|
1
|
+
"use strict";
|
|
7
2
|
|
|
8
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.ThemeSetterContext = exports.ThemeContext = exports.uninitialisedError = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _utils = require("./utils");
|
|
13
|
+
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
const uninitialisedError = new Error('Theme context used outside of ThemeProvider');
|
|
23
|
+
exports.uninitialisedError = uninitialisedError;
|
|
24
|
+
const ThemeContext = /*#__PURE__*/(0, _react.createContext)(uninitialisedError);
|
|
25
|
+
exports.ThemeContext = ThemeContext;
|
|
26
|
+
const ThemeSetterContext = /*#__PURE__*/(0, _react.createContext)(uninitialisedError);
|
|
27
|
+
exports.ThemeSetterContext = ThemeSetterContext;
|
|
9
28
|
|
|
10
29
|
const ThemeProvider = ({
|
|
11
30
|
children,
|
|
12
31
|
defaultTheme
|
|
13
32
|
}) => {
|
|
14
|
-
const [theme, setTheme] = useState(defaultTheme);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
33
|
+
const [theme, setTheme] = (0, _react.useState)(defaultTheme); // Validate the theme tokens version on every render.
|
|
34
|
+
// This will intentionally break the application when attempting to use an invalid theme.
|
|
35
|
+
// This will surface an incompatibility quickly rather than allowing the potential for strange bugs due to missing or incompatible tokens.
|
|
36
|
+
|
|
37
|
+
(0, _utils.validateThemeTokensVersion)(theme);
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ThemeSetterContext.Provider, {
|
|
39
|
+
value: setTheme,
|
|
40
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ThemeContext.Provider, {
|
|
41
|
+
value: theme,
|
|
42
|
+
children: children
|
|
43
|
+
})
|
|
44
|
+
});
|
|
20
45
|
};
|
|
21
46
|
|
|
22
47
|
ThemeProvider.propTypes = {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
48
|
+
children: _propTypes.default.node.isRequired,
|
|
49
|
+
defaultTheme: _propTypes.default.shape({
|
|
50
|
+
metadata: _propTypes.default.shape({
|
|
51
|
+
themeTokensVersion: _propTypes.default.string.isRequired
|
|
52
|
+
}).isRequired
|
|
53
|
+
}).isRequired
|
|
27
54
|
};
|
|
28
|
-
|
|
55
|
+
var _default = ThemeProvider;
|
|
56
|
+
exports.default = _default;
|