@telus-uds/components-base 1.8.1 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -2
- package/component-docs.json +682 -675
- package/lib/A11yInfoProvider/index.js +4 -3
- package/lib/A11yText/index.js +6 -5
- package/lib/ActivityIndicator/Spinner.js +7 -6
- package/lib/ActivityIndicator/Spinner.native.js +8 -6
- package/lib/ActivityIndicator/index.js +6 -5
- package/lib/ActivityIndicator/shared.js +1 -1
- package/lib/BaseProvider/index.js +13 -10
- package/lib/Box/Box.js +20 -19
- package/lib/Button/Button.js +7 -6
- package/lib/Button/ButtonBase.js +95 -77
- package/lib/Button/ButtonGroup.js +33 -31
- package/lib/Button/ButtonLink.js +9 -7
- package/lib/Button/index.js +4 -4
- package/lib/Button/propTypes.js +1 -1
- package/lib/Card/Card.js +8 -7
- package/lib/Card/CardBase.js +35 -31
- package/lib/Card/PressableCardBase.js +14 -12
- package/lib/Checkbox/Checkbox.js +96 -82
- package/lib/Checkbox/CheckboxGroup.js +27 -25
- package/lib/Checkbox/CheckboxInput.js +12 -10
- package/lib/Divider/Divider.js +8 -7
- package/lib/ExpandCollapse/Control.js +42 -36
- package/lib/ExpandCollapse/ExpandCollapse.js +11 -10
- package/lib/ExpandCollapse/Panel.js +27 -23
- package/lib/Feedback/Feedback.js +48 -35
- package/lib/Fieldset/Fieldset.js +16 -15
- package/lib/Fieldset/FieldsetContainer.js +16 -13
- package/lib/Fieldset/FieldsetContainer.native.js +11 -8
- package/lib/Fieldset/Legend.js +10 -7
- package/lib/Fieldset/Legend.native.js +10 -7
- package/lib/FlexGrid/Col/Col.js +17 -16
- package/lib/FlexGrid/FlexGrid.js +15 -14
- package/lib/FlexGrid/Row/Row.js +13 -12
- package/lib/HorizontalScroll/HorizontalScroll.js +25 -20
- package/lib/HorizontalScroll/HorizontalScrollButton.js +18 -14
- package/lib/HorizontalScroll/ScrollViewEnd.js +6 -5
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +12 -9
- package/lib/HorizontalScroll/itemPositions.js +19 -13
- package/lib/Icon/Icon.js +10 -9
- package/lib/Icon/IconText.js +8 -7
- package/lib/Icon/index.js +5 -5
- package/lib/IconButton/IconButton.js +50 -42
- package/lib/InputLabel/InputLabel.js +37 -30
- package/lib/InputLabel/LabelContent.js +12 -9
- package/lib/InputLabel/LabelContent.native.js +9 -6
- package/lib/InputSupports/InputSupports.js +11 -10
- package/lib/InputSupports/useInputSupports.js +7 -6
- package/lib/Link/ChevronLink.js +9 -8
- package/lib/Link/InlinePressable.js +13 -10
- package/lib/Link/InlinePressable.native.js +20 -16
- package/lib/Link/Link.js +10 -9
- package/lib/Link/LinkBase.js +96 -78
- package/lib/Link/TextButton.js +9 -8
- package/lib/List/List.js +9 -7
- package/lib/List/ListItem.js +99 -74
- package/lib/Modal/Modal.js +72 -59
- package/lib/Notification/Notification.js +46 -33
- package/lib/Pagination/PageButton.js +11 -10
- package/lib/Pagination/Pagination.js +39 -28
- package/lib/Pagination/SideButton.js +21 -18
- package/lib/Pagination/usePagination.js +5 -4
- package/lib/Progress/Progress.js +23 -19
- package/lib/Progress/ProgressBar.js +23 -19
- package/lib/Progress/ProgressBarBackground.js +4 -3
- package/lib/Radio/Radio.js +79 -68
- package/lib/Radio/RadioButton.js +63 -53
- package/lib/Radio/RadioGroup.js +28 -26
- package/lib/Radio/RadioInput.js +12 -10
- package/lib/RadioCard/RadioCard.js +15 -14
- package/lib/RadioCard/RadioCardGroup.js +28 -26
- package/lib/Search/Search.js +51 -31
- package/lib/Select/Group.js +5 -4
- package/lib/Select/Group.native.js +4 -3
- package/lib/Select/Item.js +10 -7
- package/lib/Select/Item.native.js +1 -9
- package/lib/Select/Picker.js +16 -15
- package/lib/Select/Picker.native.js +49 -38
- package/lib/Select/Select.js +134 -113
- package/lib/SideNav/Item.js +39 -33
- package/lib/SideNav/ItemContent.js +15 -12
- package/lib/SideNav/ItemsGroup.js +13 -11
- package/lib/SideNav/SideNav.js +19 -16
- package/lib/Skeleton/Skeleton.js +60 -44
- package/lib/Skeleton/skeleton.constant.js +1 -1
- package/lib/Spacer/Spacer.js +6 -5
- package/lib/StackView/StackView.js +12 -11
- package/lib/StackView/StackWrap.js +2 -2
- package/lib/StackView/StackWrapBox.js +12 -11
- package/lib/StackView/StackWrapGap.js +11 -10
- package/lib/StackView/common.js +14 -11
- package/lib/StackView/getStackedContent.js +8 -7
- package/lib/StackView/index.js +1 -1
- package/lib/StepTracker/Step.js +122 -103
- package/lib/StepTracker/StepTracker.js +48 -38
- package/lib/Tabs/Tabs.js +29 -24
- package/lib/Tabs/TabsItem.js +79 -68
- package/lib/Tags/Tags.js +67 -61
- package/lib/TextInput/TextArea.js +26 -20
- package/lib/TextInput/TextInput.js +20 -15
- package/lib/TextInput/TextInputBase.js +74 -62
- package/lib/TextInput/index.js +4 -4
- package/lib/ThemeProvider/ThemeProvider.js +6 -5
- package/lib/ThemeProvider/index.js +5 -5
- package/lib/ThemeProvider/useSetTheme.js +6 -3
- package/lib/ThemeProvider/useThemeTokens.js +7 -2
- package/lib/ThemeProvider/utils/styles.js +48 -41
- package/lib/ThemeProvider/utils/theme-tokens.js +26 -12
- package/lib/ToggleSwitch/ToggleSwitch.js +89 -73
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +36 -34
- package/lib/Tooltip/Backdrop.js +4 -3
- package/lib/Tooltip/Backdrop.native.js +5 -4
- package/lib/Tooltip/Tooltip.js +81 -65
- package/lib/Tooltip/getTooltipPosition.js +29 -18
- package/lib/TooltipButton/TooltipButton.js +28 -21
- package/lib/Typography/Typography.js +37 -33
- package/lib/ViewportProvider/ViewportProvider.js +4 -3
- package/lib/ViewportProvider/useViewportListener.js +6 -3
- package/lib/index.js +54 -54
- package/lib/utils/a11y/semantics.js +5 -2
- package/lib/utils/a11y/textSize.js +8 -6
- package/lib/utils/animation/useVerticalExpandAnimation.js +6 -5
- package/lib/utils/children.js +2 -1
- package/lib/utils/index.js +10 -10
- package/lib/utils/input.js +22 -17
- package/lib/utils/pressability.js +36 -22
- package/lib/utils/props/clickProps.js +2 -1
- package/lib/utils/props/getPropSelector.js +6 -3
- package/lib/utils/props/handlerProps.js +25 -19
- package/lib/utils/props/hrefAttrsProp.js +14 -11
- package/lib/utils/props/index.js +12 -12
- package/lib/utils/props/inputSupportsProps.js +15 -12
- package/lib/utils/props/linkProps.js +7 -6
- package/lib/utils/props/pressProps.js +1 -1
- package/lib/utils/props/tokens.js +27 -13
- package/lib/utils/ssr.js +6 -2
- package/lib/utils/useCopy.js +6 -4
- package/lib/utils/useHash.js +2 -1
- package/lib/utils/useResponsiveProp.js +1 -1
- package/lib/utils/useUniqueId.js +2 -1
- package/lib/utils/withLinkRouter.js +6 -5
- package/package.json +11 -10
- package/src/Pagination/Pagination.jsx +3 -0
- package/src/Search/Search.jsx +11 -0
- package/src/Select/Item.native.jsx +0 -7
- package/lib-module/A11yInfoProvider/index.js +0 -62
- package/lib-module/A11yText/index.js +0 -55
- package/lib-module/ActivityIndicator/Spinner.js +0 -76
- package/lib-module/ActivityIndicator/Spinner.native.js +0 -143
- package/lib-module/ActivityIndicator/index.js +0 -40
- package/lib-module/ActivityIndicator/shared.js +0 -12
- package/lib-module/BaseProvider/index.js +0 -26
- package/lib-module/Box/Box.js +0 -243
- package/lib-module/Box/index.js +0 -2
- package/lib-module/Button/Button.js +0 -25
- package/lib-module/Button/ButtonBase.js +0 -254
- package/lib-module/Button/ButtonGroup.js +0 -245
- package/lib-module/Button/ButtonLink.js +0 -39
- package/lib-module/Button/index.js +0 -4
- package/lib-module/Button/propTypes.js +0 -36
- package/lib-module/Card/Card.js +0 -83
- package/lib-module/Card/CardBase.js +0 -62
- package/lib-module/Card/PressableCardBase.js +0 -113
- package/lib-module/Card/index.js +0 -4
- package/lib-module/Checkbox/Checkbox.js +0 -332
- package/lib-module/Checkbox/CheckboxGroup.js +0 -231
- package/lib-module/Checkbox/CheckboxInput.js +0 -58
- package/lib-module/Checkbox/CheckboxInput.native.js +0 -6
- package/lib-module/Checkbox/index.js +0 -3
- package/lib-module/Divider/Divider.js +0 -123
- package/lib-module/Divider/index.js +0 -2
- package/lib-module/ExpandCollapse/Accordion.js +0 -15
- package/lib-module/ExpandCollapse/Control.js +0 -130
- package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -94
- package/lib-module/ExpandCollapse/Panel.js +0 -159
- package/lib-module/ExpandCollapse/index.js +0 -7
- package/lib-module/Feedback/Feedback.js +0 -144
- package/lib-module/Feedback/index.js +0 -2
- package/lib-module/Fieldset/Fieldset.js +0 -152
- package/lib-module/Fieldset/FieldsetContainer.js +0 -29
- package/lib-module/Fieldset/FieldsetContainer.native.js +0 -20
- package/lib-module/Fieldset/Legend.js +0 -21
- package/lib-module/Fieldset/Legend.native.js +0 -28
- package/lib-module/Fieldset/cssReset.js +0 -14
- package/lib-module/Fieldset/index.js +0 -2
- package/lib-module/FlexGrid/Col/Col.js +0 -275
- package/lib-module/FlexGrid/Col/index.js +0 -2
- package/lib-module/FlexGrid/FlexGrid.js +0 -147
- package/lib-module/FlexGrid/Row/Row.js +0 -183
- package/lib-module/FlexGrid/Row/index.js +0 -2
- package/lib-module/FlexGrid/helpers/index.js +0 -18
- package/lib-module/FlexGrid/index.js +0 -2
- package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
- package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -170
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -77
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -47
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -24
- package/lib-module/HorizontalScroll/dictionary.js +0 -11
- package/lib-module/HorizontalScroll/index.js +0 -11
- package/lib-module/HorizontalScroll/itemPositions.js +0 -106
- package/lib-module/Icon/Icon.js +0 -61
- package/lib-module/Icon/IconText.js +0 -81
- package/lib-module/Icon/index.js +0 -4
- package/lib-module/IconButton/IconButton.js +0 -115
- package/lib-module/IconButton/index.js +0 -2
- package/lib-module/InputLabel/InputLabel.js +0 -141
- package/lib-module/InputLabel/LabelContent.js +0 -24
- package/lib-module/InputLabel/LabelContent.native.js +0 -16
- package/lib-module/InputLabel/index.js +0 -2
- package/lib-module/InputSupports/InputSupports.js +0 -95
- package/lib-module/InputSupports/index.js +0 -2
- package/lib-module/InputSupports/useInputSupports.js +0 -31
- package/lib-module/Link/ChevronLink.js +0 -51
- package/lib-module/Link/InlinePressable.js +0 -37
- package/lib-module/Link/InlinePressable.native.js +0 -85
- package/lib-module/Link/Link.js +0 -27
- package/lib-module/Link/LinkBase.js +0 -223
- package/lib-module/Link/TextButton.js +0 -34
- package/lib-module/Link/index.js +0 -5
- package/lib-module/List/List.js +0 -55
- package/lib-module/List/ListItem.js +0 -223
- package/lib-module/List/index.js +0 -5
- package/lib-module/Modal/Modal.js +0 -208
- package/lib-module/Modal/dictionary.js +0 -9
- package/lib-module/Modal/index.js +0 -2
- package/lib-module/Notification/Notification.js +0 -196
- package/lib-module/Notification/dictionary.js +0 -8
- package/lib-module/Notification/index.js +0 -2
- package/lib-module/Pagination/PageButton.js +0 -65
- package/lib-module/Pagination/Pagination.js +0 -140
- package/lib-module/Pagination/SideButton.js +0 -103
- package/lib-module/Pagination/dictionary.js +0 -18
- package/lib-module/Pagination/index.js +0 -2
- package/lib-module/Pagination/usePagination.js +0 -72
- package/lib-module/Progress/Progress.js +0 -85
- package/lib-module/Progress/ProgressBar.js +0 -134
- package/lib-module/Progress/ProgressBarBackground.js +0 -41
- package/lib-module/Progress/index.js +0 -4
- package/lib-module/Radio/Radio.js +0 -274
- package/lib-module/Radio/RadioButton.js +0 -128
- package/lib-module/Radio/RadioGroup.js +0 -241
- package/lib-module/Radio/RadioInput.js +0 -60
- package/lib-module/Radio/RadioInput.native.js +0 -6
- package/lib-module/Radio/index.js +0 -3
- package/lib-module/RadioCard/RadioCard.js +0 -218
- package/lib-module/RadioCard/RadioCardGroup.js +0 -248
- package/lib-module/RadioCard/index.js +0 -3
- package/lib-module/Search/Search.js +0 -241
- package/lib-module/Search/dictionary.js +0 -12
- package/lib-module/Search/index.js +0 -2
- package/lib-module/Select/Group.js +0 -20
- package/lib-module/Select/Group.native.js +0 -14
- package/lib-module/Select/Item.js +0 -17
- package/lib-module/Select/Item.native.js +0 -9
- package/lib-module/Select/Picker.js +0 -67
- package/lib-module/Select/Picker.native.js +0 -110
- package/lib-module/Select/Select.js +0 -316
- package/lib-module/Select/index.js +0 -6
- package/lib-module/SideNav/Item.js +0 -139
- package/lib-module/SideNav/ItemContent.js +0 -45
- package/lib-module/SideNav/ItemsGroup.js +0 -115
- package/lib-module/SideNav/SideNav.js +0 -133
- package/lib-module/SideNav/index.js +0 -1
- package/lib-module/Skeleton/Skeleton.js +0 -163
- package/lib-module/Skeleton/index.js +0 -2
- package/lib-module/Skeleton/skeleton.constant.js +0 -3
- package/lib-module/Skeleton/skeletonWebAnimation.js +0 -18
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -24
- package/lib-module/Spacer/Spacer.js +0 -97
- package/lib-module/Spacer/index.js +0 -2
- package/lib-module/StackView/StackView.js +0 -124
- package/lib-module/StackView/StackWrap.js +0 -48
- package/lib-module/StackView/StackWrap.native.js +0 -3
- package/lib-module/StackView/StackWrapBox.js +0 -114
- package/lib-module/StackView/StackWrapGap.js +0 -58
- package/lib-module/StackView/common.js +0 -32
- package/lib-module/StackView/getStackedContent.js +0 -123
- package/lib-module/StackView/index.js +0 -5
- package/lib-module/StepTracker/Step.js +0 -229
- package/lib-module/StepTracker/StepTracker.js +0 -175
- package/lib-module/StepTracker/dictionary.js +0 -10
- package/lib-module/StepTracker/index.js +0 -2
- package/lib-module/Tabs/Tabs.js +0 -113
- package/lib-module/Tabs/TabsItem.js +0 -215
- package/lib-module/Tabs/index.js +0 -2
- package/lib-module/Tags/Tags.js +0 -245
- package/lib-module/Tags/index.js +0 -2
- package/lib-module/TextInput/TextArea.js +0 -88
- package/lib-module/TextInput/TextInput.js +0 -68
- package/lib-module/TextInput/TextInputBase.js +0 -233
- package/lib-module/TextInput/index.js +0 -3
- package/lib-module/TextInput/propTypes.js +0 -37
- package/lib-module/ThemeProvider/ThemeProvider.js +0 -35
- package/lib-module/ThemeProvider/index.js +0 -6
- package/lib-module/ThemeProvider/useSetTheme.js +0 -22
- package/lib-module/ThemeProvider/useTheme.js +0 -14
- package/lib-module/ThemeProvider/useThemeTokens.js +0 -105
- package/lib-module/ThemeProvider/utils/index.js +0 -2
- package/lib-module/ThemeProvider/utils/styles.js +0 -174
- package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -151
- package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -234
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -218
- package/lib-module/ToggleSwitch/index.js +0 -3
- package/lib-module/Tooltip/Backdrop.js +0 -52
- package/lib-module/Tooltip/Backdrop.native.js +0 -43
- package/lib-module/Tooltip/Tooltip.js +0 -332
- package/lib-module/Tooltip/dictionary.js +0 -8
- package/lib-module/Tooltip/getTooltipPosition.js +0 -164
- package/lib-module/Tooltip/index.js +0 -2
- package/lib-module/TooltipButton/TooltipButton.js +0 -71
- package/lib-module/TooltipButton/index.js +0 -2
- package/lib-module/Typography/Typography.js +0 -120
- package/lib-module/Typography/index.js +0 -2
- package/lib-module/ViewportProvider/ViewportProvider.js +0 -28
- package/lib-module/ViewportProvider/index.js +0 -3
- package/lib-module/ViewportProvider/useViewport.js +0 -3
- package/lib-module/ViewportProvider/useViewportListener.js +0 -43
- package/lib-module/index.js +0 -48
- package/lib-module/utils/a11y/index.js +0 -2
- package/lib-module/utils/a11y/semantics.js +0 -154
- package/lib-module/utils/a11y/textSize.js +0 -34
- package/lib-module/utils/animation/index.js +0 -2
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -61
- package/lib-module/utils/children.js +0 -118
- package/lib-module/utils/containUniqueFields.js +0 -26
- package/lib-module/utils/index.js +0 -16
- package/lib-module/utils/info/index.js +0 -7
- package/lib-module/utils/info/platform/index.js +0 -11
- package/lib-module/utils/info/platform/platform.android.js +0 -1
- package/lib-module/utils/info/platform/platform.ios.js +0 -1
- package/lib-module/utils/info/platform/platform.js +0 -1
- package/lib-module/utils/info/platform/platform.native.js +0 -4
- package/lib-module/utils/info/versions.js +0 -5
- package/lib-module/utils/input.js +0 -180
- package/lib-module/utils/pressability.js +0 -97
- package/lib-module/utils/props/a11yProps.js +0 -140
- package/lib-module/utils/props/clickProps.js +0 -25
- package/lib-module/utils/props/componentPropType.js +0 -63
- package/lib-module/utils/props/copyPropTypes.js +0 -2
- package/lib-module/utils/props/getPropSelector.js +0 -6
- package/lib-module/utils/props/handlerProps.js +0 -59
- package/lib-module/utils/props/hrefAttrsProp.js +0 -30
- package/lib-module/utils/props/index.js +0 -19
- package/lib-module/utils/props/inputSupportsProps.js +0 -59
- package/lib-module/utils/props/linkProps.js +0 -43
- package/lib-module/utils/props/paddingProp.js +0 -9
- package/lib-module/utils/props/pressProps.js +0 -42
- package/lib-module/utils/props/rectProp.js +0 -9
- package/lib-module/utils/props/responsiveProps.js +0 -30
- package/lib-module/utils/props/selectSystemProps.js +0 -24
- package/lib-module/utils/props/spacingProps.js +0 -56
- package/lib-module/utils/props/textInputProps.js +0 -194
- package/lib-module/utils/props/textProps.js +0 -59
- package/lib-module/utils/props/tokens.js +0 -120
- package/lib-module/utils/props/variantProp.js +0 -18
- package/lib-module/utils/props/viewProps.js +0 -22
- package/lib-module/utils/ssr.js +0 -35
- package/lib-module/utils/useCopy.js +0 -42
- package/lib-module/utils/useHash.js +0 -44
- package/lib-module/utils/useHash.native.js +0 -7
- package/lib-module/utils/useResponsiveProp.js +0 -47
- package/lib-module/utils/useSpacingScale.js +0 -123
- package/lib-module/utils/useUniqueId.js +0 -12
- package/lib-module/utils/withLinkRouter.js +0 -82
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.validateThemeTokensVersion = exports.
|
|
6
|
+
exports.validateThemeTokensVersion = exports.validateThemeTokens = exports.toArray = exports.resolveThemeTokens = exports.mergeAppearances = exports.getThemeTokens = exports.getComponentTheme = exports.doesThemeRuleApply = exports.doesThemeConditionApply = void 0;
|
|
7
7
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
|
|
@@ -48,7 +48,8 @@ const getComponentTheme = (theme, componentName) => {
|
|
|
48
48
|
|
|
49
49
|
exports.getComponentTheme = getComponentTheme;
|
|
50
50
|
|
|
51
|
-
const doesThemeConditionApply = (
|
|
51
|
+
const doesThemeConditionApply = (_ref, appearances) => {
|
|
52
|
+
let [key, value] = _ref;
|
|
52
53
|
// use null rather than undefined so we can serialise the value in themes
|
|
53
54
|
const appearanceValue = appearances[key] ?? null;
|
|
54
55
|
return Array.isArray(value) ? value.includes(appearanceValue) : value === appearanceValue;
|
|
@@ -77,12 +78,18 @@ const doesThemeRuleApply = (rule, appearances) => Object.entries(rule.if).every(
|
|
|
77
78
|
|
|
78
79
|
exports.doesThemeRuleApply = doesThemeRuleApply;
|
|
79
80
|
|
|
80
|
-
const resolveThemeTokens = (defaultTokens
|
|
81
|
+
const resolveThemeTokens = function (defaultTokens) {
|
|
82
|
+
let appearances = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
83
|
+
let tokenOverrides = arguments.length > 2 ? arguments[2] : undefined;
|
|
84
|
+
|
|
81
85
|
const resolve = tokens => typeof tokens === 'function' ? tokens(appearances) : tokens;
|
|
82
86
|
|
|
83
87
|
if (!tokenOverrides) return resolve(defaultTokens);
|
|
84
|
-
return Object.entries(resolve(tokenOverrides)).reduce((mergedTokens,
|
|
85
|
-
[tokenName]
|
|
88
|
+
return Object.entries(resolve(tokenOverrides)).reduce((mergedTokens, _ref2) => {
|
|
89
|
+
let [tokenName, tokenValue] = _ref2;
|
|
90
|
+
return tokenValue === undefined ? mergedTokens : { ...mergedTokens,
|
|
91
|
+
[tokenName]: tokenValue
|
|
92
|
+
};
|
|
86
93
|
}, resolve(defaultTokens));
|
|
87
94
|
};
|
|
88
95
|
/**
|
|
@@ -122,9 +129,13 @@ const validateThemeTokens = (themeTokens, validator, componentName) => {
|
|
|
122
129
|
|
|
123
130
|
exports.validateThemeTokens = validateThemeTokens;
|
|
124
131
|
|
|
125
|
-
const mergeAppearances = (
|
|
126
|
-
|
|
127
|
-
|
|
132
|
+
const mergeAppearances = function () {
|
|
133
|
+
let variants = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
134
|
+
let states = arguments.length > 1 ? arguments[1] : undefined;
|
|
135
|
+
return states ? { ...states,
|
|
136
|
+
...variants
|
|
137
|
+
} : variants;
|
|
138
|
+
};
|
|
128
139
|
/**
|
|
129
140
|
* Get a set of theme tokens by applying a theme's component rules based on a component's variants and state.
|
|
130
141
|
*
|
|
@@ -140,10 +151,13 @@ const mergeAppearances = (variants = {}, states) => states ? { ...states,
|
|
|
140
151
|
|
|
141
152
|
exports.mergeAppearances = mergeAppearances;
|
|
142
153
|
|
|
143
|
-
const getThemeTokens = ({
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
154
|
+
const getThemeTokens = function (_ref3, tokensProp) {
|
|
155
|
+
let {
|
|
156
|
+
rules = [],
|
|
157
|
+
tokens: defaultThemeTokens = {}
|
|
158
|
+
} = _ref3;
|
|
159
|
+
let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
160
|
+
let states = arguments.length > 3 ? arguments[3] : undefined;
|
|
147
161
|
const appearances = mergeAppearances(variants, states); // TODO: if in dev mode, validate the appearances and provided propTokens
|
|
148
162
|
// Get the theme's default tokens set and merge tokens from applicable theme rules over it
|
|
149
163
|
|
|
@@ -43,84 +43,100 @@ const selectButtonTokens = tokens => (0, _utils.selectTokens)('Button', { ...tok
|
|
|
43
43
|
}); // Map and rename icon-specific tokens to name used within Icon
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
const selectIconTokens =
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
const selectIconTokens = _ref => {
|
|
47
|
+
let {
|
|
48
|
+
iconSize,
|
|
49
|
+
iconColor
|
|
50
|
+
} = _ref;
|
|
51
|
+
return {
|
|
52
|
+
size: iconSize,
|
|
53
|
+
color: iconColor
|
|
54
|
+
};
|
|
55
|
+
};
|
|
53
56
|
|
|
54
|
-
const selectTrackStyles =
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
const selectTrackStyles = _ref2 => {
|
|
58
|
+
let {
|
|
59
|
+
trackBorderWidth,
|
|
60
|
+
trackBorderColor,
|
|
61
|
+
trackBorderRadius,
|
|
62
|
+
width
|
|
63
|
+
} = _ref2;
|
|
64
|
+
return {
|
|
65
|
+
borderWidth: trackBorderWidth,
|
|
66
|
+
borderColor: trackBorderColor,
|
|
67
|
+
borderRadius: trackBorderRadius,
|
|
68
|
+
width
|
|
69
|
+
};
|
|
70
|
+
};
|
|
65
71
|
|
|
66
|
-
const selectSwitchStyles =
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
72
|
+
const selectSwitchStyles = _ref3 => {
|
|
73
|
+
let {
|
|
74
|
+
switchSize,
|
|
75
|
+
switchColor,
|
|
76
|
+
switchBorderWidth,
|
|
77
|
+
switchBorderColor,
|
|
78
|
+
switchBorderRadius,
|
|
79
|
+
switchShadow
|
|
80
|
+
} = _ref3;
|
|
81
|
+
return {
|
|
82
|
+
width: switchSize,
|
|
83
|
+
height: switchSize,
|
|
84
|
+
backgroundColor: switchColor,
|
|
85
|
+
borderWidth: switchBorderWidth,
|
|
86
|
+
borderColor: switchBorderColor,
|
|
87
|
+
borderRadius: switchBorderRadius,
|
|
88
|
+
...(0, _ThemeProvider.applyShadowToken)(switchShadow),
|
|
89
|
+
..._Platform.default.select({
|
|
90
|
+
// TODO: https://github.com/telus/universal-design-system/issues/487
|
|
91
|
+
web: {
|
|
92
|
+
transition: 'transform 200ms'
|
|
93
|
+
}
|
|
94
|
+
})
|
|
95
|
+
};
|
|
96
|
+
};
|
|
88
97
|
|
|
89
|
-
const selectLabelStyles =
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
98
|
+
const selectLabelStyles = _ref4 => {
|
|
99
|
+
let {
|
|
100
|
+
labelMarginLeft
|
|
101
|
+
} = _ref4;
|
|
102
|
+
return {
|
|
103
|
+
marginLeft: labelMarginLeft
|
|
104
|
+
};
|
|
105
|
+
};
|
|
94
106
|
|
|
95
|
-
const selectLabelTokens =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
107
|
+
const selectLabelTokens = _ref5 => {
|
|
108
|
+
let {
|
|
109
|
+
labelColor,
|
|
110
|
+
labelFontName,
|
|
111
|
+
labelFontSize,
|
|
112
|
+
labelFontWeight,
|
|
113
|
+
labelLineHeight
|
|
114
|
+
} = _ref5;
|
|
115
|
+
return {
|
|
116
|
+
color: labelColor,
|
|
117
|
+
fontName: labelFontName,
|
|
118
|
+
fontWeight: labelFontWeight,
|
|
119
|
+
fontSize: labelFontSize,
|
|
120
|
+
lineHeight: labelLineHeight
|
|
121
|
+
};
|
|
122
|
+
};
|
|
108
123
|
|
|
109
|
-
const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
125
|
+
let {
|
|
126
|
+
copy = 'en',
|
|
127
|
+
value,
|
|
128
|
+
initialValue,
|
|
129
|
+
onChange,
|
|
130
|
+
id,
|
|
131
|
+
label,
|
|
132
|
+
inactive,
|
|
133
|
+
tokens,
|
|
134
|
+
tooltip,
|
|
135
|
+
variant,
|
|
136
|
+
accessibilityRole = 'switch',
|
|
137
|
+
accessibilityLabel = label,
|
|
138
|
+
...rest
|
|
139
|
+
} = _ref6;
|
|
124
140
|
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('ToggleSwitch', tokens, variant);
|
|
125
141
|
const themeTokens = getTokens();
|
|
126
142
|
const {
|
|
@@ -35,31 +35,32 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
35
35
|
|
|
36
36
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
37
37
|
const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
|
|
38
|
-
const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
38
|
+
const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
39
|
+
let {
|
|
40
|
+
copy = 'en',
|
|
41
|
+
variant,
|
|
42
|
+
tokens,
|
|
43
|
+
items = [],
|
|
44
|
+
values,
|
|
45
|
+
initialValues,
|
|
46
|
+
maxValues = 1,
|
|
47
|
+
onChange,
|
|
48
|
+
readOnly = false,
|
|
49
|
+
inactive = false,
|
|
50
|
+
feedback,
|
|
51
|
+
hint,
|
|
52
|
+
tooltip,
|
|
53
|
+
legend,
|
|
54
|
+
name: inputGroupName,
|
|
55
|
+
accessibilityRole = maxValues === 1 ? 'radiogroup' // radiogroup is cross-platform; only web aria has generic groups
|
|
56
|
+
: _Platform.default.select({
|
|
57
|
+
web: 'group',
|
|
58
|
+
default: 'none'
|
|
59
|
+
}),
|
|
60
|
+
toggleSwitchTokens,
|
|
61
|
+
validation,
|
|
62
|
+
...rest
|
|
63
|
+
} = _ref;
|
|
63
64
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
64
65
|
const {
|
|
65
66
|
space,
|
|
@@ -88,15 +89,16 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
88
89
|
throw new Error(`ToggleSwitchGroup items must have unique ${uniqueFields.join(', ')}`);
|
|
89
90
|
}
|
|
90
91
|
|
|
91
|
-
const toggleSwitches = items.map(({
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
const toggleSwitches = items.map((_ref2, index) => {
|
|
93
|
+
let {
|
|
94
|
+
label,
|
|
95
|
+
id = label,
|
|
96
|
+
accessibilityLabel = label,
|
|
97
|
+
onChange: itemOnChange,
|
|
98
|
+
ref: itemRef,
|
|
99
|
+
tooltip: itemTooltip,
|
|
100
|
+
...itemRest
|
|
101
|
+
} = _ref2;
|
|
100
102
|
const isSelected = currentValues.includes(id);
|
|
101
103
|
|
|
102
104
|
const handleChange = (newCheckedState, event) => {
|
package/lib/Tooltip/Backdrop.js
CHANGED
|
@@ -42,9 +42,10 @@ function removePortalNode(nodeId) {
|
|
|
42
42
|
*/
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
function Backdrop({
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
function Backdrop(_ref) {
|
|
46
|
+
let {
|
|
47
|
+
children
|
|
48
|
+
} = _ref;
|
|
48
49
|
const [portalNode, setPortalNode] = (0, _react.useState)();
|
|
49
50
|
(0, _react.useEffect)(() => {
|
|
50
51
|
const nodeId = `tooltip-backdrop-${Date.now()}`;
|
|
@@ -27,10 +27,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
27
27
|
* approach is that a press on the Backdrop will actually stop the press event from propagating,
|
|
28
28
|
* i.e. anything rendered beneath the Backdrop can't be pressed until the Backdrop is closed.
|
|
29
29
|
*/
|
|
30
|
-
function Backdrop({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
function Backdrop(_ref) {
|
|
31
|
+
let {
|
|
32
|
+
onPress,
|
|
33
|
+
children
|
|
34
|
+
} = _ref;
|
|
34
35
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal.default, {
|
|
35
36
|
transparent: true,
|
|
36
37
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TouchableWithoutFeedback.default, {
|
package/lib/Tooltip/Tooltip.js
CHANGED
|
@@ -45,35 +45,42 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
45
45
|
|
|
46
46
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
47
47
|
|
|
48
|
-
const selectTooltipStyles =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
const selectTooltipStyles = _ref => {
|
|
49
|
+
let {
|
|
50
|
+
backgroundColor,
|
|
51
|
+
paddingTop,
|
|
52
|
+
paddingBottom,
|
|
53
|
+
paddingLeft,
|
|
54
|
+
paddingRight,
|
|
55
|
+
borderRadius
|
|
56
|
+
} = _ref;
|
|
57
|
+
return {
|
|
58
|
+
backgroundColor,
|
|
59
|
+
paddingTop,
|
|
60
|
+
paddingBottom,
|
|
61
|
+
paddingLeft,
|
|
62
|
+
paddingRight,
|
|
63
|
+
borderRadius
|
|
64
|
+
};
|
|
65
|
+
};
|
|
63
66
|
|
|
64
|
-
const selectTooltipShadowStyles =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
const selectTooltipShadowStyles = _ref2 => {
|
|
68
|
+
let {
|
|
69
|
+
shadow,
|
|
70
|
+
borderRadius
|
|
71
|
+
} = _ref2;
|
|
72
|
+
return {
|
|
73
|
+
borderRadius,
|
|
74
|
+
...(0, _ThemeProvider.applyShadowToken)(shadow)
|
|
75
|
+
};
|
|
76
|
+
};
|
|
71
77
|
|
|
72
|
-
const selectTooltipPositionStyles =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
78
|
+
const selectTooltipPositionStyles = _ref3 => {
|
|
79
|
+
let {
|
|
80
|
+
top,
|
|
81
|
+
left,
|
|
82
|
+
width
|
|
83
|
+
} = _ref3;
|
|
77
84
|
return {
|
|
78
85
|
top,
|
|
79
86
|
left,
|
|
@@ -81,16 +88,18 @@ const selectTooltipPositionStyles = ({
|
|
|
81
88
|
};
|
|
82
89
|
};
|
|
83
90
|
|
|
84
|
-
const selectArrowStyles = ({
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
const selectArrowStyles = (_ref4, _ref5) => {
|
|
92
|
+
let {
|
|
93
|
+
backgroundColor,
|
|
94
|
+
arrowWidth,
|
|
95
|
+
arrowBorderRadius,
|
|
96
|
+
shadow
|
|
97
|
+
} = _ref4;
|
|
98
|
+
let {
|
|
99
|
+
position,
|
|
100
|
+
width: tooltipWidth,
|
|
101
|
+
height: tooltipHeight
|
|
102
|
+
} = _ref5;
|
|
94
103
|
// the arrow width is actually a diagonal of the rectangle that we'll use as a tip
|
|
95
104
|
const rectangleSide = Math.sqrt(arrowWidth * arrowWidth / 2); // position the arrow at the side and center of the tooltip - this happens before rotation
|
|
96
105
|
// so we use the rectangle size as basis
|
|
@@ -163,15 +172,16 @@ const defaultControl = (pressableState, variant) => /*#__PURE__*/(0, _jsxRuntime
|
|
|
163
172
|
*/
|
|
164
173
|
|
|
165
174
|
|
|
166
|
-
const Tooltip = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
+
const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
176
|
+
let {
|
|
177
|
+
children,
|
|
178
|
+
content,
|
|
179
|
+
position = 'auto',
|
|
180
|
+
copy = 'en',
|
|
181
|
+
tokens,
|
|
182
|
+
variant,
|
|
183
|
+
...rest
|
|
184
|
+
} = _ref6;
|
|
175
185
|
const [isOpen, setIsOpen] = (0, _react.useState)(false);
|
|
176
186
|
const controlRef = (0, _react.useRef)();
|
|
177
187
|
const [controlLayout, setControlLayout] = (0, _react.useState)(null);
|
|
@@ -188,9 +198,10 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
188
198
|
arrowOffset
|
|
189
199
|
} = themeTokens;
|
|
190
200
|
(0, _react.useEffect)(() => {
|
|
191
|
-
const subscription = _Dimensions.default.addEventListener('change',
|
|
192
|
-
|
|
193
|
-
|
|
201
|
+
const subscription = _Dimensions.default.addEventListener('change', _ref7 => {
|
|
202
|
+
let {
|
|
203
|
+
window
|
|
204
|
+
} = _ref7;
|
|
194
205
|
setWindowDimensions(window);
|
|
195
206
|
});
|
|
196
207
|
|
|
@@ -201,24 +212,29 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
201
212
|
|
|
202
213
|
const close = () => setIsOpen(false);
|
|
203
214
|
|
|
204
|
-
const getPressableState =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
215
|
+
const getPressableState = _ref8 => {
|
|
216
|
+
let {
|
|
217
|
+
pressed,
|
|
218
|
+
hovered,
|
|
219
|
+
focused
|
|
220
|
+
} = _ref8;
|
|
221
|
+
return {
|
|
222
|
+
pressed,
|
|
223
|
+
hover: hovered,
|
|
224
|
+
focus: focused
|
|
225
|
+
};
|
|
226
|
+
};
|
|
213
227
|
|
|
214
|
-
const onTooltipLayout =
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
228
|
+
const onTooltipLayout = _ref9 => {
|
|
229
|
+
let {
|
|
230
|
+
nativeEvent: {
|
|
231
|
+
layout: {
|
|
232
|
+
width,
|
|
233
|
+
height
|
|
234
|
+
}
|
|
219
235
|
}
|
|
220
|
-
}
|
|
221
|
-
|
|
236
|
+
} = _ref9;
|
|
237
|
+
|
|
222
238
|
if (tooltipDimensions === null || tooltipDimensions.width !== width || tooltipDimensions.height !== height) {
|
|
223
239
|
setTooltipDimensions({
|
|
224
240
|
width: _Platform.default.select({
|
|
@@ -56,9 +56,12 @@ function invertPosition(position) {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
function findRectByPosition(position, rectsArray) {
|
|
59
|
-
return rectsArray.find(
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
return rectsArray.find(_ref => {
|
|
60
|
+
let {
|
|
61
|
+
position: rectPosition
|
|
62
|
+
} = _ref;
|
|
63
|
+
return rectPosition === position;
|
|
64
|
+
});
|
|
62
65
|
}
|
|
63
66
|
/**
|
|
64
67
|
* Used for absolute positioning of the tooltip. Since the tooltip is always centered relatively
|
|
@@ -70,13 +73,14 @@ function findRectByPosition(position, rectsArray) {
|
|
|
70
73
|
*/
|
|
71
74
|
|
|
72
75
|
|
|
73
|
-
function getTooltipPosition(position, {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
function getTooltipPosition(position, _ref2) {
|
|
77
|
+
let {
|
|
78
|
+
controlLayout,
|
|
79
|
+
tooltipDimensions,
|
|
80
|
+
windowDimensions,
|
|
81
|
+
arrowWidth = 0,
|
|
82
|
+
arrowOffset = 0
|
|
83
|
+
} = _ref2;
|
|
80
84
|
const {
|
|
81
85
|
width: controlWidth,
|
|
82
86
|
height: controlHeight,
|
|
@@ -146,9 +150,12 @@ function getTooltipPosition(position, {
|
|
|
146
150
|
}
|
|
147
151
|
}
|
|
148
152
|
|
|
149
|
-
const inWindow = boundingRects.filter(
|
|
150
|
-
|
|
151
|
-
|
|
153
|
+
const inWindow = boundingRects.filter(_ref3 => {
|
|
154
|
+
let {
|
|
155
|
+
overflow
|
|
156
|
+
} = _ref3;
|
|
157
|
+
return overflow === 0;
|
|
158
|
+
}); // pick the first position that fits in window
|
|
152
159
|
// (these are sorted clockwise which makes them show where one would expect them to be)
|
|
153
160
|
|
|
154
161
|
if (inWindow.length > 0) {
|
|
@@ -157,11 +164,15 @@ function getTooltipPosition(position, {
|
|
|
157
164
|
// the least overflowing and normalize its position to fit within window bounds
|
|
158
165
|
|
|
159
166
|
|
|
160
|
-
boundingRects.sort(({
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
167
|
+
boundingRects.sort((_ref4, _ref5) => {
|
|
168
|
+
let {
|
|
169
|
+
overflow: overflowA
|
|
170
|
+
} = _ref4;
|
|
171
|
+
let {
|
|
172
|
+
overflow: overflowB
|
|
173
|
+
} = _ref5;
|
|
174
|
+
return overflowA - overflowB;
|
|
175
|
+
});
|
|
165
176
|
const leastOverflowing = boundingRects[0]; // prefer 'below' over 'above', since we can always expand the document downwards,
|
|
166
177
|
// and 'above' might cause issues on small viewports with large tooltips
|
|
167
178
|
|