@coinbase/cds-mobile 8.60.0 → 8.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dts/accordion/Accordion.d.ts +1 -9
- package/dts/accordion/Accordion.d.ts.map +1 -1
- package/dts/alpha/combobox/Combobox.d.ts.map +1 -1
- package/dts/alpha/select/Select.d.ts.map +1 -1
- package/dts/alpha/select-chip/SelectChip.d.ts.map +1 -1
- package/dts/alpha/tabbed-chips/TabbedChips.d.ts.map +1 -1
- package/dts/banner/Banner.d.ts.map +1 -1
- package/dts/buttons/AvatarButton.d.ts +6 -3
- package/dts/buttons/AvatarButton.d.ts.map +1 -1
- package/dts/buttons/Button.d.ts.map +1 -1
- package/dts/buttons/ButtonGroup.d.ts +3 -1
- package/dts/buttons/ButtonGroup.d.ts.map +1 -1
- package/dts/buttons/IconButton.d.ts.map +1 -1
- package/dts/buttons/IconCounterButton.d.ts.map +1 -1
- package/dts/buttons/SlideButton.d.ts.map +1 -1
- package/dts/cards/Card.d.ts +4 -0
- package/dts/cards/Card.d.ts.map +1 -1
- package/dts/cards/CardBody.d.ts +4 -0
- package/dts/cards/CardBody.d.ts.map +1 -1
- package/dts/cards/CardFooter.d.ts +4 -0
- package/dts/cards/CardFooter.d.ts.map +1 -1
- package/dts/cards/CardGroup.d.ts +12 -0
- package/dts/cards/CardGroup.d.ts.map +1 -1
- package/dts/cards/CardHeader.d.ts +8 -0
- package/dts/cards/CardHeader.d.ts.map +1 -1
- package/dts/cards/CardMedia.d.ts +8 -0
- package/dts/cards/CardMedia.d.ts.map +1 -1
- package/dts/cards/LikeButton.d.ts.map +1 -1
- package/dts/carousel/Carousel.d.ts.map +1 -1
- package/dts/cells/Cell.d.ts.map +1 -1
- package/dts/cells/ListCell.d.ts.map +1 -1
- package/dts/cells/ListCellFallback.d.ts.map +1 -1
- package/dts/chips/Chip.d.ts.map +1 -1
- package/dts/chips/ChipProps.d.ts +10 -8
- package/dts/chips/ChipProps.d.ts.map +1 -1
- package/dts/chips/InputChip.d.ts.map +1 -1
- package/dts/chips/MediaChip.d.ts +3 -2
- package/dts/chips/MediaChip.d.ts.map +1 -1
- package/dts/chips/TabbedChips.d.ts.map +1 -1
- package/dts/coachmark/Coachmark.d.ts.map +1 -1
- package/dts/collapsible/Collapsible.d.ts.map +1 -1
- package/dts/controls/Checkbox.d.ts.map +1 -1
- package/dts/controls/CheckboxCell.d.ts.map +1 -1
- package/dts/controls/Control.d.ts.map +1 -1
- package/dts/controls/ControlGroup.d.ts +13 -4
- package/dts/controls/ControlGroup.d.ts.map +1 -1
- package/dts/controls/InputStack.d.ts.map +1 -1
- package/dts/controls/Radio.d.ts.map +1 -1
- package/dts/controls/RadioCell.d.ts.map +1 -1
- package/dts/controls/SearchInput.d.ts.map +1 -1
- package/dts/controls/SelectOption.d.ts +3 -1
- package/dts/controls/SelectOption.d.ts.map +1 -1
- package/dts/controls/Switch.d.ts.map +1 -1
- package/dts/controls/TextInput.d.ts.map +1 -1
- package/dts/core/componentConfig.d.ts +166 -0
- package/dts/core/componentConfig.d.ts.map +1 -0
- package/dts/dates/Calendar.d.ts.map +1 -1
- package/dts/dates/DateInput.d.ts.map +1 -1
- package/dts/dates/DatePicker.d.ts.map +1 -1
- package/dts/dots/DotCount.d.ts +1 -11
- package/dts/dots/DotCount.d.ts.map +1 -1
- package/dts/dots/DotStatusColor.d.ts +1 -8
- package/dts/dots/DotStatusColor.d.ts.map +1 -1
- package/dts/dots/DotSymbol.d.ts +1 -17
- package/dts/dots/DotSymbol.d.ts.map +1 -1
- package/dts/hooks/useComponentConfig.d.ts +22 -0
- package/dts/hooks/useComponentConfig.d.ts.map +1 -0
- package/dts/icons/Icon.d.ts +11 -1
- package/dts/icons/Icon.d.ts.map +1 -1
- package/dts/index.d.ts +2 -0
- package/dts/index.d.ts.map +1 -1
- package/dts/layout/Divider.d.ts +3 -1
- package/dts/layout/Divider.d.ts.map +1 -1
- package/dts/layout/Fallback.d.ts +3 -1
- package/dts/layout/Fallback.d.ts.map +1 -1
- package/dts/media/Avatar.d.ts +1 -14
- package/dts/media/Avatar.d.ts.map +1 -1
- package/dts/media/RemoteImage.d.ts.map +1 -1
- package/dts/media/RemoteImageGroup.d.ts +3 -10
- package/dts/media/RemoteImageGroup.d.ts.map +1 -1
- package/dts/navigation/BrowserBar.d.ts +5 -14
- package/dts/navigation/BrowserBar.d.ts.map +1 -1
- package/dts/navigation/NavigationTitle.d.ts +4 -7
- package/dts/navigation/NavigationTitle.d.ts.map +1 -1
- package/dts/navigation/NavigationTitleSelect.d.ts +5 -11
- package/dts/navigation/NavigationTitleSelect.d.ts.map +1 -1
- package/dts/navigation/TopNavBar.d.ts +3 -13
- package/dts/navigation/TopNavBar.d.ts.map +1 -1
- package/dts/numbers/RollingNumber/RollingNumber.d.ts.map +1 -1
- package/dts/numpad/Numpad.d.ts +41 -38
- package/dts/numpad/Numpad.d.ts.map +1 -1
- package/dts/overlays/Alert.d.ts.map +1 -1
- package/dts/overlays/Toast.d.ts.map +1 -1
- package/dts/overlays/drawer/Drawer.d.ts.map +1 -1
- package/dts/overlays/modal/Modal.d.ts.map +1 -1
- package/dts/overlays/modal/ModalBody.d.ts.map +1 -1
- package/dts/overlays/modal/ModalFooter.d.ts +3 -8
- package/dts/overlays/modal/ModalFooter.d.ts.map +1 -1
- package/dts/overlays/modal/ModalHeader.d.ts.map +1 -1
- package/dts/overlays/overlay/Overlay.d.ts +7 -3
- package/dts/overlays/overlay/Overlay.d.ts.map +1 -1
- package/dts/overlays/tooltip/Tooltip.d.ts +2 -20
- package/dts/overlays/tooltip/Tooltip.d.ts.map +1 -1
- package/dts/overlays/tray/Tray.d.ts.map +1 -1
- package/dts/page/PageFooter.d.ts.map +1 -1
- package/dts/page/PageHeader.d.ts.map +1 -1
- package/dts/perf/component-config/Button.component-config.perf-test.d.ts +2 -0
- package/dts/perf/component-config/Button.component-config.perf-test.d.ts.map +1 -0
- package/dts/perf/component-config/ComponentConfigProvider.perf-test.d.ts +2 -0
- package/dts/perf/component-config/ComponentConfigProvider.perf-test.d.ts.map +1 -0
- package/dts/perf/component-config/ComponentConfigStickerSheet.perf-test.d.ts +2 -0
- package/dts/perf/component-config/ComponentConfigStickerSheet.perf-test.d.ts.map +1 -0
- package/dts/stepper/Stepper.d.ts.map +1 -1
- package/dts/system/ComponentConfigProvider.d.ts +26 -0
- package/dts/system/ComponentConfigProvider.d.ts.map +1 -0
- package/dts/system/index.d.ts +1 -0
- package/dts/system/index.d.ts.map +1 -1
- package/dts/tabs/SegmentedTab.d.ts +6 -3
- package/dts/tabs/SegmentedTab.d.ts.map +1 -1
- package/dts/tabs/SegmentedTabs.d.ts +6 -3
- package/dts/tabs/SegmentedTabs.d.ts.map +1 -1
- package/dts/tabs/Tabs.d.ts +25 -24
- package/dts/tabs/Tabs.d.ts.map +1 -1
- package/dts/tag/Tag.d.ts.map +1 -1
- package/dts/tour/Tour.d.ts +42 -41
- package/dts/tour/Tour.d.ts.map +1 -1
- package/dts/typography/Link.d.ts +1 -14
- package/dts/typography/Link.d.ts.map +1 -1
- package/dts/utils/mergeComponentProps.d.ts +34 -0
- package/dts/utils/mergeComponentProps.d.ts.map +1 -0
- package/dts/visualizations/ProgressBar.d.ts.map +1 -1
- package/dts/visualizations/ProgressBarWithFixedLabels.d.ts +5 -3
- package/dts/visualizations/ProgressBarWithFixedLabels.d.ts.map +1 -1
- package/dts/visualizations/ProgressBarWithFloatLabel.d.ts +3 -1
- package/dts/visualizations/ProgressBarWithFloatLabel.d.ts.map +1 -1
- package/dts/visualizations/ProgressCircle.d.ts.map +1 -1
- package/esm/accordion/Accordion.js +5 -3
- package/esm/alpha/combobox/Combobox.js +8 -6
- package/esm/alpha/select/Select.js +6 -4
- package/esm/alpha/select-chip/SelectChip.js +6 -4
- package/esm/alpha/tabbed-chips/TabbedChips.js +6 -4
- package/esm/banner/Banner.js +6 -4
- package/esm/buttons/AvatarButton.js +6 -4
- package/esm/buttons/Button.js +25 -10
- package/esm/buttons/ButtonGroup.js +5 -3
- package/esm/buttons/IconButton.js +14 -11
- package/esm/buttons/IconCounterButton.js +6 -4
- package/esm/buttons/SlideButton.js +10 -8
- package/esm/buttons/__stories__/Button.stories.js +32 -0
- package/esm/buttons/__stories__/IconButton.stories.js +32 -0
- package/esm/cards/Card.js +5 -0
- package/esm/cards/CardBody.js +5 -0
- package/esm/cards/CardFooter.js +4 -0
- package/esm/cards/CardGroup.js +14 -0
- package/esm/cards/CardHeader.js +9 -0
- package/esm/cards/CardMedia.js +10 -0
- package/esm/cards/LikeButton.js +6 -4
- package/esm/carousel/Carousel.js +10 -8
- package/esm/cells/Cell.js +6 -4
- package/esm/cells/ListCell.js +6 -4
- package/esm/cells/ListCellFallback.js +6 -4
- package/esm/chips/Chip.js +6 -4
- package/esm/chips/InputChip.js +6 -4
- package/esm/chips/MediaChip.js +6 -4
- package/esm/chips/TabbedChips.js +6 -4
- package/esm/coachmark/Coachmark.js +6 -4
- package/esm/collapsible/Collapsible.js +10 -8
- package/esm/controls/Checkbox.js +6 -4
- package/esm/controls/CheckboxCell.js +6 -4
- package/esm/controls/Control.js +8 -6
- package/esm/controls/ControlGroup.js +6 -4
- package/esm/controls/InputStack.js +6 -4
- package/esm/controls/Radio.js +6 -4
- package/esm/controls/RadioCell.js +6 -4
- package/esm/controls/SearchInput.js +6 -4
- package/esm/controls/SelectOption.js +6 -4
- package/esm/controls/Switch.js +6 -4
- package/esm/controls/TextInput.js +6 -4
- package/esm/core/componentConfig.js +1 -0
- package/esm/dates/Calendar.js +8 -6
- package/esm/dates/DateInput.js +6 -4
- package/esm/dates/DatePicker.js +9 -6
- package/esm/dots/DotCount.js +6 -4
- package/esm/dots/DotStatusColor.js +6 -4
- package/esm/dots/DotSymbol.js +6 -4
- package/esm/hooks/useComponentConfig.js +27 -0
- package/esm/icons/Icon.js +10 -8
- package/esm/index.js +2 -0
- package/esm/layout/Divider.js +6 -4
- package/esm/layout/Fallback.js +6 -4
- package/esm/media/Avatar.js +6 -4
- package/esm/media/RemoteImage.js +6 -4
- package/esm/media/RemoteImageGroup.js +6 -4
- package/esm/navigation/BrowserBar.js +6 -4
- package/esm/navigation/NavigationTitle.js +6 -4
- package/esm/navigation/NavigationTitleSelect.js +8 -6
- package/esm/navigation/TopNavBar.js +5 -3
- package/esm/numbers/RollingNumber/RollingNumber.js +6 -4
- package/esm/numpad/Numpad.js +8 -6
- package/esm/overlays/Alert.js +7 -5
- package/esm/overlays/Toast.js +10 -8
- package/esm/overlays/drawer/Drawer.js +12 -10
- package/esm/overlays/modal/Modal.js +4 -1
- package/esm/overlays/modal/ModalBody.js +8 -6
- package/esm/overlays/modal/ModalFooter.js +8 -6
- package/esm/overlays/modal/ModalHeader.js +6 -4
- package/esm/overlays/overlay/Overlay.js +6 -4
- package/esm/overlays/tooltip/Tooltip.js +5 -3
- package/esm/overlays/tray/Tray.js +13 -11
- package/esm/page/PageFooter.js +6 -4
- package/esm/page/PageHeader.js +6 -4
- package/esm/perf/component-config/Button.component-config.perf-test.js +35 -0
- package/esm/perf/component-config/ComponentConfigProvider.perf-test.js +147 -0
- package/esm/perf/component-config/ComponentConfigStickerSheet.perf-test.js +326 -0
- package/esm/perf/component-config/README.md +8 -0
- package/esm/stepper/Stepper.js +11 -9
- package/esm/system/ComponentConfigProvider.js +39 -0
- package/esm/system/__stories__/ComponentConfigProvider.stories.js +12 -0
- package/esm/system/__stories__/ComponentConfigProviderCustom.stories.js +22 -0
- package/esm/system/__stories__/componentConfigStickerSheet/Container.js +27 -0
- package/esm/system/__stories__/componentConfigStickerSheet/StickerSheet.js +94 -0
- package/esm/system/__stories__/componentConfigStickerSheet/customComponentConfig.js +116 -0
- package/esm/system/__stories__/componentConfigStickerSheet/customTheme.js +520 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Accordion.js +67 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Avatar.js +48 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Banner.js +43 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Button.js +77 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Coachmark.js +15 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Controls.js +29 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/DatePicker.js +15 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/DotCount.js +28 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Icon.js +57 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/InputChip.js +17 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/ListCell.js +48 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Search.js +20 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/SegmentedTabs.js +12 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Select.js +24 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/SelectChip.js +22 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/Tag.js +35 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/TextInput.js +46 -0
- package/esm/system/__stories__/componentConfigStickerSheet/examples/constants.js +33 -0
- package/esm/system/__stories__/componentConfigStickerSheet/themeVars.js +2 -0
- package/esm/system/index.js +1 -0
- package/esm/tabs/SegmentedTab.js +7 -5
- package/esm/tabs/SegmentedTabs.js +9 -4
- package/esm/tabs/Tabs.js +12 -10
- package/esm/tag/Tag.js +6 -4
- package/esm/tour/Tour.js +5 -3
- package/esm/typography/Link.js +6 -4
- package/esm/utils/mergeComponentProps.js +35 -0
- package/esm/visualizations/ProgressBar.js +7 -5
- package/esm/visualizations/ProgressBarWithFixedLabels.js +5 -3
- package/esm/visualizations/ProgressBarWithFloatLabel.js +5 -3
- package/esm/visualizations/ProgressCircle.js +7 -5
- package/package.json +4 -3
package/esm/buttons/Button.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const _excluded = ["variant", "loading", "progressCircleSize", "transparent", "block", "compact", "children", "start", "startIcon", "startIconActive", "end", "endIcon", "endIconActive", "flush", "noScaleOnPress", "numberOfLines", "font", "fontFamily", "fontSize", "fontWeight", "lineHeight", "background", "color", "style", "wrapperStyles", "feedback", "borderColor", "borderWidth", "borderRadius", "accessibilityLabel", "accessibilityHint"];
|
|
1
|
+
const _excluded = ["variant", "loading", "progressCircleSize", "transparent", "block", "compact", "children", "start", "startIcon", "startIconActive", "end", "endIcon", "endIconActive", "flush", "noScaleOnPress", "numberOfLines", "font", "fontFamily", "fontSize", "fontWeight", "lineHeight", "background", "color", "style", "wrapperStyles", "feedback", "borderColor", "borderWidth", "borderRadius", "height", "accessibilityLabel", "accessibilityHint", "padding", "paddingStart", "paddingEnd", "paddingTop", "paddingBottom", "paddingX", "paddingY"];
|
|
2
2
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
3
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
4
|
import React, { forwardRef, isValidElement, memo, useCallback, useMemo } from 'react';
|
|
@@ -6,6 +6,7 @@ import { StyleSheet } from 'react-native';
|
|
|
6
6
|
import { transparentVariants, variants } from '@coinbase/cds-common/tokens/button';
|
|
7
7
|
import { interactableHeight } from '@coinbase/cds-common/tokens/interactableHeight';
|
|
8
8
|
import { getButtonSpacingProps } from '@coinbase/cds-common/utils/getButtonSpacingProps';
|
|
9
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
9
10
|
import { useTheme } from '../hooks/useTheme';
|
|
10
11
|
import { Icon } from '../icons/Icon';
|
|
11
12
|
import { HStack } from '../layout/HStack';
|
|
@@ -30,8 +31,9 @@ export const styles = StyleSheet.create({
|
|
|
30
31
|
flexShrink: 0
|
|
31
32
|
}
|
|
32
33
|
});
|
|
33
|
-
export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(
|
|
34
|
-
|
|
34
|
+
export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(_props, ref) {
|
|
35
|
+
const mergedProps = useComponentConfig('Button', _props);
|
|
36
|
+
const {
|
|
35
37
|
variant = 'primary',
|
|
36
38
|
loading,
|
|
37
39
|
progressCircleSize = defaultProgressCircleSize,
|
|
@@ -61,10 +63,18 @@ export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(
|
|
|
61
63
|
borderColor,
|
|
62
64
|
borderWidth = 100,
|
|
63
65
|
borderRadius = compact ? 700 : 900,
|
|
66
|
+
height = interactableHeight[compact ? 'compact' : 'regular'],
|
|
64
67
|
accessibilityLabel,
|
|
65
|
-
accessibilityHint
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
accessibilityHint,
|
|
69
|
+
padding,
|
|
70
|
+
paddingStart,
|
|
71
|
+
paddingEnd,
|
|
72
|
+
paddingTop,
|
|
73
|
+
paddingBottom,
|
|
74
|
+
paddingX: paddingXProp,
|
|
75
|
+
paddingY: paddingYProp
|
|
76
|
+
} = mergedProps,
|
|
77
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
68
78
|
const theme = useTheme();
|
|
69
79
|
const iconSize = compact ? 's' : 'm';
|
|
70
80
|
const hasIcon = Boolean(startIcon || endIcon);
|
|
@@ -75,7 +85,6 @@ export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(
|
|
|
75
85
|
const borderColorValue = borderColor != null ? borderColor : variantStyle.borderColor;
|
|
76
86
|
const sizingStyle = block ? styles.block : styles.inline;
|
|
77
87
|
const justifyContent = flush ? 'flex-start' : hasIcon ? 'space-between' : 'center';
|
|
78
|
-
const minHeight = interactableHeight[compact ? 'compact' : 'regular'];
|
|
79
88
|
const {
|
|
80
89
|
paddingX,
|
|
81
90
|
paddingY,
|
|
@@ -110,6 +119,7 @@ export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(
|
|
|
110
119
|
borderRadius: borderRadius,
|
|
111
120
|
borderWidth: borderWidth,
|
|
112
121
|
feedback: feedback,
|
|
122
|
+
height: height,
|
|
113
123
|
loading: loading,
|
|
114
124
|
marginEnd: marginEnd,
|
|
115
125
|
marginStart: marginStart,
|
|
@@ -122,9 +132,14 @@ export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(
|
|
|
122
132
|
alignItems: "center",
|
|
123
133
|
flexWrap: "nowrap",
|
|
124
134
|
justifyContent: justifyContent,
|
|
125
|
-
minHeight:
|
|
126
|
-
|
|
127
|
-
|
|
135
|
+
minHeight: height,
|
|
136
|
+
padding: padding,
|
|
137
|
+
paddingBottom: paddingBottom,
|
|
138
|
+
paddingEnd: paddingEnd,
|
|
139
|
+
paddingStart: paddingStart,
|
|
140
|
+
paddingTop: paddingTop,
|
|
141
|
+
paddingX: paddingXProp != null ? paddingXProp : paddingX,
|
|
142
|
+
paddingY: paddingYProp != null ? paddingYProp : paddingY,
|
|
128
143
|
style: sizingStyle,
|
|
129
144
|
children: loading ? /*#__PURE__*/_jsx(ProgressCircle, {
|
|
130
145
|
indeterminate: true,
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import React, { Children, cloneElement, memo } from 'react';
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
3
4
|
import { Box } from '../layout';
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export const ButtonGroup = /*#__PURE__*/memo(
|
|
6
|
-
|
|
6
|
+
export const ButtonGroup = /*#__PURE__*/memo(_props => {
|
|
7
|
+
const mergedProps = useComponentConfig('ButtonGroup', _props);
|
|
8
|
+
const {
|
|
7
9
|
accessibilityLabel,
|
|
8
10
|
block,
|
|
9
11
|
children,
|
|
10
12
|
testID,
|
|
11
13
|
direction
|
|
12
|
-
} =
|
|
14
|
+
} = mergedProps;
|
|
13
15
|
const isVertical = direction === 'vertical';
|
|
14
16
|
return /*#__PURE__*/_jsx(Box, {
|
|
15
17
|
accessibilityHint: accessibilityLabel,
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
const _excluded = ["name", "active", "variant", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "feedback", "flush", "loading", "progressCircleSize", "style", "accessibilityHint", "accessibilityLabel"];
|
|
1
|
+
const _excluded = ["name", "active", "variant", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "height", "width", "feedback", "flush", "loading", "progressCircleSize", "style", "accessibilityHint", "accessibilityLabel"];
|
|
2
2
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
3
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
4
|
import { forwardRef, memo, useCallback, useMemo } from 'react';
|
|
5
5
|
import { transparentVariants, variants } from '@coinbase/cds-common/tokens/button';
|
|
6
6
|
import { interactableHeight } from '@coinbase/cds-common/tokens/interactableHeight';
|
|
7
7
|
import { getButtonSpacingProps } from '@coinbase/cds-common/utils/getButtonSpacingProps';
|
|
8
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
8
9
|
import { useTheme } from '../hooks/useTheme';
|
|
9
10
|
import { Icon } from '../icons/Icon';
|
|
10
11
|
import { Box } from '../layout/Box';
|
|
11
12
|
import { Pressable } from '../system/Pressable';
|
|
12
13
|
import { ProgressCircle } from '../visualizations/ProgressCircle';
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(
|
|
15
|
-
|
|
15
|
+
export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
16
|
+
const mergedProps = useComponentConfig('IconButton', _props);
|
|
17
|
+
const {
|
|
16
18
|
name,
|
|
17
19
|
active,
|
|
18
20
|
variant = 'secondary',
|
|
@@ -24,6 +26,8 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Ico
|
|
|
24
26
|
iconSize = compact ? 's' : 'm',
|
|
25
27
|
borderWidth = 100,
|
|
26
28
|
borderRadius = 1000,
|
|
29
|
+
height = interactableHeight[compact ? 'compact' : 'regular'],
|
|
30
|
+
width = interactableHeight[compact ? 'compact' : 'regular'],
|
|
27
31
|
feedback = compact ? 'light' : 'normal',
|
|
28
32
|
flush,
|
|
29
33
|
loading,
|
|
@@ -31,8 +35,8 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Ico
|
|
|
31
35
|
style,
|
|
32
36
|
accessibilityHint,
|
|
33
37
|
accessibilityLabel
|
|
34
|
-
} =
|
|
35
|
-
props = _objectWithoutPropertiesLoose(
|
|
38
|
+
} = mergedProps,
|
|
39
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
36
40
|
const theme = useTheme();
|
|
37
41
|
const iconSizeValue = theme.iconSize[iconSize];
|
|
38
42
|
const variantMap = transparent ? transparentVariants : variants;
|
|
@@ -40,7 +44,6 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Ico
|
|
|
40
44
|
const colorValue = color != null ? color : variantStyle.color;
|
|
41
45
|
const backgroundValue = background != null ? background : variantStyle.background;
|
|
42
46
|
const borderColorValue = borderColor != null ? borderColor : variantStyle.borderColor;
|
|
43
|
-
const minHeight = interactableHeight[compact ? 'compact' : 'regular'];
|
|
44
47
|
const {
|
|
45
48
|
marginStart,
|
|
46
49
|
marginEnd
|
|
@@ -49,12 +52,12 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Ico
|
|
|
49
52
|
flush
|
|
50
53
|
});
|
|
51
54
|
const sizingStyle = useMemo(() => ({
|
|
52
|
-
height:
|
|
53
|
-
width:
|
|
55
|
+
height: height,
|
|
56
|
+
width: width,
|
|
54
57
|
alignItems: 'center',
|
|
55
58
|
flexDirection: 'column',
|
|
56
59
|
justifyContent: 'center'
|
|
57
|
-
}), [
|
|
60
|
+
}), [height, width]);
|
|
58
61
|
const pressableStyle = useCallback(state => [sizingStyle, typeof style === 'function' ? style(state) : style], [sizingStyle, style]);
|
|
59
62
|
return /*#__PURE__*/_jsx(Pressable, _extends({
|
|
60
63
|
ref: ref,
|
|
@@ -73,9 +76,9 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Ico
|
|
|
73
76
|
}, props, {
|
|
74
77
|
children: loading ? /*#__PURE__*/_jsx(Box, {
|
|
75
78
|
alignItems: "center",
|
|
76
|
-
height:
|
|
79
|
+
height: height,
|
|
77
80
|
justifyContent: "center",
|
|
78
|
-
width:
|
|
81
|
+
width: width,
|
|
79
82
|
children: /*#__PURE__*/_jsx(ProgressCircle, {
|
|
80
83
|
indeterminate: true,
|
|
81
84
|
color: colorValue,
|
|
@@ -3,13 +3,15 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
3
3
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
4
|
import React, { forwardRef, memo } from 'react';
|
|
5
5
|
import { formatCount } from '@coinbase/cds-common/utils/formatCount';
|
|
6
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
6
7
|
import { Icon } from '../icons';
|
|
7
8
|
import { HStack } from '../layout';
|
|
8
9
|
import { Pressable } from '../system';
|
|
9
10
|
import { Text } from '../typography/Text';
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
export const IconCounterButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function IconCounterButton(
|
|
12
|
-
|
|
12
|
+
export const IconCounterButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function IconCounterButton(_props, ref) {
|
|
13
|
+
const mergedProps = useComponentConfig('IconCounterButton', _props);
|
|
14
|
+
const {
|
|
13
15
|
icon,
|
|
14
16
|
iconSize = 's',
|
|
15
17
|
size = iconSize,
|
|
@@ -17,8 +19,8 @@ export const IconCounterButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(funct
|
|
|
17
19
|
count = 0,
|
|
18
20
|
color = 'fg',
|
|
19
21
|
dangerouslySetColor
|
|
20
|
-
} =
|
|
21
|
-
props = _objectWithoutPropertiesLoose(
|
|
22
|
+
} = mergedProps,
|
|
23
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
22
24
|
return /*#__PURE__*/_jsx(Pressable, _extends({
|
|
23
25
|
ref: ref,
|
|
24
26
|
background: "transparent"
|
|
@@ -6,13 +6,15 @@ import { View } from 'react-native';
|
|
|
6
6
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
7
7
|
import { interactableHeight } from '@coinbase/cds-common/tokens/interactableHeight';
|
|
8
8
|
import { animated, to, useSpring } from '@react-spring/native';
|
|
9
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
9
10
|
import { useLayout } from '../hooks/useLayout';
|
|
10
11
|
import { DefaultSlideButtonBackground } from './DefaultSlideButtonBackground';
|
|
11
12
|
import { animationConfig, DefaultSlideButtonHandle } from './DefaultSlideButtonHandle';
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
export const slideButtonTestID = 'slide-button';
|
|
14
|
-
export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
15
|
-
|
|
15
|
+
export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
16
|
+
const mergedProps = useComponentConfig('SlideButton', _props);
|
|
17
|
+
const {
|
|
16
18
|
checked,
|
|
17
19
|
compact,
|
|
18
20
|
borderRadius = compact ? 700 : 900,
|
|
@@ -38,8 +40,8 @@ export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
|
|
|
38
40
|
variant = 'primary',
|
|
39
41
|
startUncheckedNode,
|
|
40
42
|
endCheckedNode
|
|
41
|
-
} =
|
|
42
|
-
props = _objectWithoutPropertiesLoose(
|
|
43
|
+
} = mergedProps,
|
|
44
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
43
45
|
const labelId = useId();
|
|
44
46
|
const [containerSize, onLayout] = useLayout();
|
|
45
47
|
const {
|
|
@@ -68,10 +70,10 @@ export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
|
|
|
68
70
|
const panGesture = useMemo(() => Gesture.Pan().onStart(() => {
|
|
69
71
|
if (checked || disabled) return;
|
|
70
72
|
onSlideStart == null || onSlideStart();
|
|
71
|
-
}).onUpdate(
|
|
73
|
+
}).onUpdate(_ref => {
|
|
72
74
|
let {
|
|
73
75
|
translationX
|
|
74
|
-
} =
|
|
76
|
+
} = _ref;
|
|
75
77
|
if (checked || disabled) return;
|
|
76
78
|
const newWidth = (buttonMinWidth + translationX) / containerSize.width;
|
|
77
79
|
const thresholdReached = newWidth >= checkThreshold;
|
|
@@ -81,10 +83,10 @@ export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
|
|
|
81
83
|
}
|
|
82
84
|
const progressValue = autoCompleteSlideOnThresholdMet ? newWidth : Math.min(1, newWidth);
|
|
83
85
|
void progress.set(progressValue);
|
|
84
|
-
}).onEnd(
|
|
86
|
+
}).onEnd(_ref2 => {
|
|
85
87
|
let {
|
|
86
88
|
translationX
|
|
87
|
-
} =
|
|
89
|
+
} = _ref2;
|
|
88
90
|
if (checked || disabled) return;
|
|
89
91
|
const newWidth = (buttonMinWidth + translationX) / containerSize.width;
|
|
90
92
|
if (newWidth >= checkThreshold) {
|
|
@@ -222,6 +222,38 @@ const ButtonScreen = () => {
|
|
|
222
222
|
},
|
|
223
223
|
children: "Hello world"
|
|
224
224
|
})
|
|
225
|
+
}), /*#__PURE__*/_jsxs(Example, {
|
|
226
|
+
inline: true,
|
|
227
|
+
title: "Small",
|
|
228
|
+
children: [/*#__PURE__*/_jsxs(HStack, {
|
|
229
|
+
gap: 2,
|
|
230
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
231
|
+
height: 32,
|
|
232
|
+
paddingY: 0,
|
|
233
|
+
children: "I am a button"
|
|
234
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
235
|
+
loading: true,
|
|
236
|
+
height: 32,
|
|
237
|
+
paddingY: 0,
|
|
238
|
+
children: "I am a button"
|
|
239
|
+
})]
|
|
240
|
+
}), /*#__PURE__*/_jsxs(HStack, {
|
|
241
|
+
gap: 2,
|
|
242
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
243
|
+
compact: true,
|
|
244
|
+
height: 24,
|
|
245
|
+
paddingY: 0,
|
|
246
|
+
progressCircleSize: 16,
|
|
247
|
+
children: "I am a button"
|
|
248
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
249
|
+
compact: true,
|
|
250
|
+
loading: true,
|
|
251
|
+
height: 24,
|
|
252
|
+
paddingY: 0,
|
|
253
|
+
progressCircleSize: 16,
|
|
254
|
+
children: "I am a button"
|
|
255
|
+
})]
|
|
256
|
+
})]
|
|
225
257
|
})]
|
|
226
258
|
});
|
|
227
259
|
};
|
|
@@ -322,6 +322,38 @@ const IconButtonScreen = () => {
|
|
|
322
322
|
}), variant.title]
|
|
323
323
|
}, index);
|
|
324
324
|
})
|
|
325
|
+
}), /*#__PURE__*/_jsxs(Example, {
|
|
326
|
+
inline: true,
|
|
327
|
+
title: "Small",
|
|
328
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
329
|
+
accessibilityLabel: accessibilityLabel,
|
|
330
|
+
height: 32,
|
|
331
|
+
name: iconName,
|
|
332
|
+
onPress: onPress,
|
|
333
|
+
width: 32
|
|
334
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
335
|
+
loading: true,
|
|
336
|
+
accessibilityLabel: accessibilityLabel,
|
|
337
|
+
height: 32,
|
|
338
|
+
name: iconName,
|
|
339
|
+
onPress: onPress,
|
|
340
|
+
width: 32
|
|
341
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
342
|
+
compact: true,
|
|
343
|
+
accessibilityLabel: accessibilityLabel,
|
|
344
|
+
height: 24,
|
|
345
|
+
name: iconName,
|
|
346
|
+
onPress: onPress,
|
|
347
|
+
width: 24
|
|
348
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
349
|
+
compact: true,
|
|
350
|
+
loading: true,
|
|
351
|
+
accessibilityLabel: accessibilityLabel,
|
|
352
|
+
height: 24,
|
|
353
|
+
name: iconName,
|
|
354
|
+
onPress: onPress,
|
|
355
|
+
width: 24
|
|
356
|
+
})]
|
|
325
357
|
})]
|
|
326
358
|
});
|
|
327
359
|
};
|
package/esm/cards/Card.js
CHANGED
|
@@ -39,6 +39,11 @@ const getBorderRadiusPinStyle = borderRadius => ({
|
|
|
39
39
|
},
|
|
40
40
|
all: {}
|
|
41
41
|
});
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use ContentCard instead. This will be removed in a future major release.
|
|
45
|
+
* @deprecationExpectedRemoval v10
|
|
46
|
+
*/
|
|
42
47
|
export const Card = /*#__PURE__*/memo(function OldCard(_ref) {
|
|
43
48
|
let {
|
|
44
49
|
children,
|
package/esm/cards/CardBody.js
CHANGED
|
@@ -31,6 +31,11 @@ const CardBodyAction = /*#__PURE__*/memo(function CardBodyAction(_ref) {
|
|
|
31
31
|
children: children
|
|
32
32
|
}));
|
|
33
33
|
});
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use ContentCardBody instead. This will be removed in a future major release.
|
|
37
|
+
* @deprecationExpectedRemoval v10
|
|
38
|
+
*/
|
|
34
39
|
export const CardBody = /*#__PURE__*/memo(function CardBody(_ref2) {
|
|
35
40
|
var _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref0, _props$maxWidth, _props$minHeight;
|
|
36
41
|
let {
|
package/esm/cards/CardFooter.js
CHANGED
|
@@ -5,6 +5,10 @@ import React, { memo } from 'react';
|
|
|
5
5
|
import { gutter } from '@coinbase/cds-common/tokens/sizing';
|
|
6
6
|
import { HStack } from '../layout/HStack';
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use ContentCardFooter instead. This will be removed in a future major release.
|
|
10
|
+
* @deprecationExpectedRemoval v10
|
|
11
|
+
*/
|
|
8
12
|
export const CardFooter = /*#__PURE__*/memo(function CardFooter(_ref) {
|
|
9
13
|
let {
|
|
10
14
|
children,
|
package/esm/cards/CardGroup.js
CHANGED
|
@@ -5,7 +5,21 @@ import React, { forwardRef, memo } from 'react';
|
|
|
5
5
|
import { gutter } from '@coinbase/cds-common/tokens/sizing';
|
|
6
6
|
import { Divider } from '../layout/Divider';
|
|
7
7
|
import { Group } from '../layout/Group';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
|
|
11
|
+
* @deprecationExpectedRemoval v10
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
|
|
16
|
+
* @deprecationExpectedRemoval v10
|
|
17
|
+
*/
|
|
8
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
|
|
21
|
+
* @deprecationExpectedRemoval v10
|
|
22
|
+
*/
|
|
9
23
|
export const CardGroup = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function CardGroup(_ref, ref) {
|
|
10
24
|
let {
|
|
11
25
|
accessibilityLabel,
|
package/esm/cards/CardHeader.js
CHANGED
|
@@ -2,7 +2,16 @@ import React, { memo } from 'react';
|
|
|
2
2
|
import { HStack } from '../layout/HStack';
|
|
3
3
|
import { RemoteImage } from '../media/RemoteImage';
|
|
4
4
|
import { Text } from '../typography/Text';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use ContentCardHeaderProps instead. This will be removed in a future major release.
|
|
8
|
+
* @deprecationExpectedRemoval v10
|
|
9
|
+
*/
|
|
5
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use ContentCardHeader instead. This will be removed in a future major release.
|
|
13
|
+
* @deprecationExpectedRemoval v10
|
|
14
|
+
*/
|
|
6
15
|
export const CardHeader = /*#__PURE__*/memo(_ref => {
|
|
7
16
|
let {
|
|
8
17
|
avatar,
|
package/esm/cards/CardMedia.js
CHANGED
|
@@ -5,6 +5,11 @@ import { memo } from 'react';
|
|
|
5
5
|
import { defaultMediaDimension, defaultMediaSize, defaultPictogramMediaDimension } from '@coinbase/cds-common/tokens/card';
|
|
6
6
|
import { Pictogram, SpotSquare } from '../illustrations';
|
|
7
7
|
import { getSource, RemoteImage } from '../media/RemoteImage';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use SpotSquare when `type` is "spotSquare", Pictogram when `type` is "pictogram", or RemoteImage when `type` is "image". This will be removed in a future major release.
|
|
11
|
+
* @deprecationExpectedRemoval v10
|
|
12
|
+
*/
|
|
8
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
14
|
const imageProps = {
|
|
10
15
|
start: {
|
|
@@ -17,6 +22,11 @@ const imageProps = {
|
|
|
17
22
|
},
|
|
18
23
|
end: defaultMediaSize
|
|
19
24
|
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Use SpotSquare when `type` is "spotSquare", Pictogram when `type` is "pictogram", or RemoteImage when `type` is "image". This will be removed in a future major release.
|
|
28
|
+
* @deprecationExpectedRemoval v10
|
|
29
|
+
*/
|
|
20
30
|
export const CardMedia = /*#__PURE__*/memo(function CardMedia(_ref) {
|
|
21
31
|
var _props$alt;
|
|
22
32
|
let {
|
package/esm/cards/LikeButton.js
CHANGED
|
@@ -7,6 +7,7 @@ import { activeScale, inactiveScale, scaleInConfig, scaleOutConfig } from '@coin
|
|
|
7
7
|
import { interactableHeight } from '@coinbase/cds-common/tokens/interactableHeight';
|
|
8
8
|
import { getButtonSpacingProps } from '@coinbase/cds-common/utils/getButtonSpacingProps';
|
|
9
9
|
import { convertMotionConfig } from '../animation/convertMotionConfig';
|
|
10
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
10
11
|
import { TextIcon } from '../icons/TextIcon';
|
|
11
12
|
import { HStack } from '../layout/HStack';
|
|
12
13
|
import { Pressable } from '../system/Pressable';
|
|
@@ -14,8 +15,9 @@ import { Text } from '../typography/Text';
|
|
|
14
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
16
|
const scaleIn = convertMotionConfig(scaleInConfig);
|
|
16
17
|
const scaleOut = convertMotionConfig(scaleOutConfig);
|
|
17
|
-
export const LikeButton = /*#__PURE__*/memo(function LikeButton(
|
|
18
|
-
|
|
18
|
+
export const LikeButton = /*#__PURE__*/memo(function LikeButton(_props) {
|
|
19
|
+
const mergedProps = useComponentConfig('LikeButton', _props);
|
|
20
|
+
const {
|
|
19
21
|
count = 0,
|
|
20
22
|
compact = true,
|
|
21
23
|
flush,
|
|
@@ -24,8 +26,8 @@ export const LikeButton = /*#__PURE__*/memo(function LikeButton(_ref) {
|
|
|
24
26
|
accessibilityHint,
|
|
25
27
|
accessibilityLabel = 'Like',
|
|
26
28
|
borderRadius = compact ? 700 : 900
|
|
27
|
-
} =
|
|
28
|
-
props = _objectWithoutPropertiesLoose(
|
|
29
|
+
} = mergedProps,
|
|
30
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
29
31
|
const iconScale = useRef(new Animated.Value(1));
|
|
30
32
|
const iconSize = compact ? 's' : 'm';
|
|
31
33
|
const size = interactableHeight[compact ? 'compact' : 'regular'];
|
package/esm/carousel/Carousel.js
CHANGED
|
@@ -6,6 +6,7 @@ import { View } from 'react-native';
|
|
|
6
6
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
7
7
|
import { useCarouselAutoplay } from '@coinbase/cds-common/carousel/useCarouselAutoplay';
|
|
8
8
|
import { animated, useSpring } from '@react-spring/native';
|
|
9
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
9
10
|
import { useLayout } from '../hooks/useLayout';
|
|
10
11
|
import { HStack } from '../layout/HStack';
|
|
11
12
|
import { VStack } from '../layout/VStack';
|
|
@@ -254,8 +255,9 @@ const animationConfig = {
|
|
|
254
255
|
stiffness: 900,
|
|
255
256
|
damping: 120
|
|
256
257
|
};
|
|
257
|
-
export const Carousel = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
258
|
-
|
|
258
|
+
export const Carousel = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
259
|
+
const mergedProps = useComponentConfig('Carousel', _props);
|
|
260
|
+
const {
|
|
259
261
|
children,
|
|
260
262
|
title,
|
|
261
263
|
hideNavigation,
|
|
@@ -278,8 +280,8 @@ export const Carousel = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref4, ref) =
|
|
|
278
280
|
autoplay,
|
|
279
281
|
autoplayInterval = 3000,
|
|
280
282
|
paginationVariant
|
|
281
|
-
} =
|
|
282
|
-
props = _objectWithoutPropertiesLoose(
|
|
283
|
+
} = mergedProps,
|
|
284
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
283
285
|
const carouselScrollX = useRef(0);
|
|
284
286
|
const animationApi = useSpring({
|
|
285
287
|
x: carouselScrollX.current,
|
|
@@ -498,10 +500,10 @@ export const Carousel = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref4, ref) =
|
|
|
498
500
|
.failOffsetY([-10, 10]).onStart(() => {
|
|
499
501
|
if (!isDragEnabled) return;
|
|
500
502
|
handleDragStart();
|
|
501
|
-
}).onUpdate(
|
|
503
|
+
}).onUpdate(_ref4 => {
|
|
502
504
|
let {
|
|
503
505
|
translationX
|
|
504
|
-
} =
|
|
506
|
+
} = _ref4;
|
|
505
507
|
if (!isDragEnabled) return;
|
|
506
508
|
let newOffset;
|
|
507
509
|
if (shouldLoop) {
|
|
@@ -510,11 +512,11 @@ export const Carousel = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref4, ref) =
|
|
|
510
512
|
newOffset = clampWithElasticResistance(carouselScrollX.current - translationX, maxScrollOffset);
|
|
511
513
|
}
|
|
512
514
|
animationApi.x.set(newOffset);
|
|
513
|
-
}).onEnd(
|
|
515
|
+
}).onEnd(_ref5 => {
|
|
514
516
|
let {
|
|
515
517
|
translationX,
|
|
516
518
|
velocityX
|
|
517
|
-
} =
|
|
519
|
+
} = _ref5;
|
|
518
520
|
if (!isDragEnabled) return;
|
|
519
521
|
let projectedOffset;
|
|
520
522
|
if (shouldLoop) {
|
package/esm/cells/Cell.js
CHANGED
|
@@ -6,14 +6,16 @@ import React, { memo, useMemo } from 'react';
|
|
|
6
6
|
import { StyleSheet } from 'react-native';
|
|
7
7
|
import { hasCellPriority } from '@coinbase/cds-common/utils/cell';
|
|
8
8
|
import { useCellSpacing } from '../hooks/useCellSpacing';
|
|
9
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
9
10
|
import { useTheme } from '../hooks/useTheme';
|
|
10
11
|
import { Box } from '../layout/Box';
|
|
11
12
|
import { HStack } from '../layout/HStack';
|
|
12
13
|
import { VStack } from '../layout/VStack';
|
|
13
14
|
import { Pressable } from '../system/Pressable';
|
|
14
15
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
export const Cell = /*#__PURE__*/memo(function Cell(
|
|
16
|
-
|
|
16
|
+
export const Cell = /*#__PURE__*/memo(function Cell(_props) {
|
|
17
|
+
const mergedProps = useComponentConfig('Cell', _props);
|
|
18
|
+
const {
|
|
17
19
|
accessory,
|
|
18
20
|
accessoryNode,
|
|
19
21
|
alignItems = 'center',
|
|
@@ -46,8 +48,8 @@ export const Cell = /*#__PURE__*/memo(function Cell(_ref) {
|
|
|
46
48
|
style,
|
|
47
49
|
background = 'bgAlternate',
|
|
48
50
|
blendStyles
|
|
49
|
-
} =
|
|
50
|
-
props = _objectWithoutPropertiesLoose(
|
|
51
|
+
} = mergedProps,
|
|
52
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
51
53
|
const theme = useTheme();
|
|
52
54
|
const {
|
|
53
55
|
inner: innerSpacing,
|
package/esm/cells/ListCell.js
CHANGED
|
@@ -3,6 +3,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
3
3
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
4
|
import React, { memo, useMemo } from 'react';
|
|
5
5
|
import { compactListHeight, listHeight } from '@coinbase/cds-common/tokens/cell';
|
|
6
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
6
7
|
import { VStack } from '../layout/VStack';
|
|
7
8
|
import { Text } from '../typography/Text';
|
|
8
9
|
import { Cell } from './Cell';
|
|
@@ -21,9 +22,10 @@ export const condensedOuterSpacing = {
|
|
|
21
22
|
paddingY: 0,
|
|
22
23
|
marginX: 0
|
|
23
24
|
};
|
|
24
|
-
export const ListCell = /*#__PURE__*/memo(function ListCell(
|
|
25
|
+
export const ListCell = /*#__PURE__*/memo(function ListCell(_props) {
|
|
25
26
|
var _props$borderRadius;
|
|
26
|
-
|
|
27
|
+
const mergedProps = useComponentConfig('ListCell', _props);
|
|
28
|
+
const {
|
|
27
29
|
accessory,
|
|
28
30
|
accessoryNode,
|
|
29
31
|
end: endProp,
|
|
@@ -56,8 +58,8 @@ export const ListCell = /*#__PURE__*/memo(function ListCell(_ref) {
|
|
|
56
58
|
spacingVariant = compact ? 'compact' : 'normal',
|
|
57
59
|
style,
|
|
58
60
|
styles
|
|
59
|
-
} =
|
|
60
|
-
props = _objectWithoutPropertiesLoose(
|
|
61
|
+
} = mergedProps,
|
|
62
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
61
63
|
const minHeight = spacingVariant === 'compact' ? compactListHeight : spacingVariant === 'normal' ? listHeight : undefined;
|
|
62
64
|
const accessoryType = selected && !disableSelectionAccessory ? 'selected' : accessory;
|
|
63
65
|
const hasDetails = Boolean(detail || subdetail || detailNode || subdetailNode);
|
|
@@ -4,6 +4,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
4
4
|
import { memo, useMemo } from 'react';
|
|
5
5
|
import { StyleSheet, Text } from 'react-native';
|
|
6
6
|
import { getRectWidthVariant } from '@coinbase/cds-common/utils/getRectWidthVariant';
|
|
7
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
7
8
|
import { useTheme } from '../hooks/useTheme';
|
|
8
9
|
import { VStack } from '../layout';
|
|
9
10
|
import { Fallback } from '../layout/Fallback';
|
|
@@ -12,8 +13,9 @@ import { CellAccessory } from './CellAccessory';
|
|
|
12
13
|
import { condensedInnerSpacing, condensedOuterSpacing } from './ListCell';
|
|
13
14
|
import { MediaFallback } from './MediaFallback';
|
|
14
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(
|
|
16
|
-
|
|
16
|
+
export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_props) {
|
|
17
|
+
const mergedProps = useComponentConfig('ListCellFallback', _props);
|
|
18
|
+
const {
|
|
17
19
|
accessory,
|
|
18
20
|
accessoryNode,
|
|
19
21
|
title,
|
|
@@ -31,8 +33,8 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_ref
|
|
|
31
33
|
innerSpacing,
|
|
32
34
|
outerSpacing,
|
|
33
35
|
accessibilityLabel = 'Loading'
|
|
34
|
-
} =
|
|
35
|
-
props = _objectWithoutPropertiesLoose(
|
|
36
|
+
} = mergedProps,
|
|
37
|
+
props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
|
|
36
38
|
const theme = useTheme();
|
|
37
39
|
const descriptionFallback = useMemo(() => {
|
|
38
40
|
if (!description) {
|