@coinbase/cds-web 8.61.0 → 8.62.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/CHANGELOG.md +12 -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.map +1 -1
- package/dts/buttons/Button.d.ts +2 -4
- package/dts/buttons/Button.d.ts.map +1 -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/Tile.d.ts +1 -1
- package/dts/buttons/Tile.d.ts.map +1 -1
- package/dts/buttons/TileButton.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/CellAccessory.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 +4 -4
- 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/collapsible/useCollapsibleMotionProps.d.ts +221 -221
- 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 +1 -14
- package/dts/controls/SelectOption.d.ts.map +1 -1
- package/dts/controls/Switch.d.ts +2 -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 +192 -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 -15
- package/dts/dots/DotCount.d.ts.map +1 -1
- package/dts/dots/DotStatusColor.d.ts +1 -10
- package/dts/dots/DotStatusColor.d.ts.map +1 -1
- package/dts/dots/DotSymbol.d.ts +1 -22
- package/dts/dots/DotSymbol.d.ts.map +1 -1
- package/dts/dropdown/Dropdown.d.ts +30 -29
- package/dts/dropdown/Dropdown.d.ts.map +1 -1
- package/dts/dropdown/DropdownProps.d.ts +53 -51
- package/dts/dropdown/DropdownProps.d.ts.map +1 -1
- package/dts/hooks/useComponentConfig.d.ts +22 -0
- package/dts/hooks/useComponentConfig.d.ts.map +1 -0
- package/dts/hooks/useIsoEffect.d.ts +2 -2
- package/dts/hooks/useIsoEffect.d.ts.map +1 -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 +1 -6
- package/dts/layout/Divider.d.ts.map +1 -1
- package/dts/layout/Fallback.d.ts.map +1 -1
- package/dts/media/Avatar.d.ts +1 -15
- package/dts/media/Avatar.d.ts.map +1 -1
- package/dts/media/RemoteImage.d.ts +1 -15
- 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/motion/useMotionProps.d.ts +457 -457
- package/dts/motion/utils.d.ts +211 -211
- package/dts/navigation/NavigationBar.d.ts +1 -25
- package/dts/navigation/NavigationBar.d.ts.map +1 -1
- package/dts/navigation/NavigationTitle.d.ts +4 -3
- package/dts/navigation/NavigationTitle.d.ts.map +1 -1
- package/dts/navigation/NavigationTitleSelect.d.ts +5 -12
- package/dts/navigation/NavigationTitleSelect.d.ts.map +1 -1
- package/dts/navigation/Sidebar.d.ts.map +1 -1
- package/dts/navigation/SidebarItem.d.ts +40 -34
- package/dts/navigation/SidebarItem.d.ts.map +1 -1
- package/dts/navigation/SidebarMoreMenu.d.ts +13 -12
- package/dts/navigation/SidebarMoreMenu.d.ts.map +1 -1
- package/dts/numbers/RollingNumber/RollingNumber.d.ts.map +1 -1
- package/dts/overlays/Alert.d.ts.map +1 -1
- package/dts/overlays/FocusTrap.d.ts +9 -12
- package/dts/overlays/FocusTrap.d.ts.map +1 -1
- package/dts/overlays/FullscreenAlert.d.ts +10 -7
- package/dts/overlays/FullscreenAlert.d.ts.map +1 -1
- package/dts/overlays/Toast.d.ts.map +1 -1
- package/dts/overlays/modal/FullscreenModal.d.ts +47 -45
- package/dts/overlays/modal/FullscreenModal.d.ts.map +1 -1
- package/dts/overlays/modal/FullscreenModalHeader.d.ts.map +1 -1
- package/dts/overlays/modal/FullscreenModalLayout.d.ts +2 -2
- package/dts/overlays/modal/Modal.d.ts.map +1 -1
- package/dts/overlays/modal/ModalBody.d.ts +6 -3
- package/dts/overlays/modal/ModalBody.d.ts.map +1 -1
- package/dts/overlays/modal/ModalFooter.d.ts +3 -10
- package/dts/overlays/modal/ModalFooter.d.ts.map +1 -1
- package/dts/overlays/modal/ModalHeader.d.ts +3 -12
- package/dts/overlays/modal/ModalHeader.d.ts.map +1 -1
- package/dts/overlays/modal/ModalWrapper.d.ts.map +1 -1
- package/dts/overlays/overlay/Overlay.d.ts +2 -1
- package/dts/overlays/overlay/Overlay.d.ts.map +1 -1
- package/dts/overlays/overlay/OverlayContent.d.ts +7 -5
- package/dts/overlays/overlay/OverlayContent.d.ts.map +1 -1
- package/dts/overlays/popover/PopoverProps.d.ts +46 -46
- package/dts/overlays/popover/PopoverProps.d.ts.map +1 -1
- package/dts/overlays/tooltip/Tooltip.d.ts +4 -22
- package/dts/overlays/tooltip/Tooltip.d.ts.map +1 -1
- package/dts/overlays/tooltip/TooltipContent.d.ts +7 -1
- package/dts/overlays/tooltip/TooltipContent.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/pagination/Pagination.d.ts +3 -19
- package/dts/pagination/Pagination.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/section-header/SectionHeader.d.ts.map +1 -1
- 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/tables/Table.d.ts +7 -5
- package/dts/tables/Table.d.ts.map +1 -1
- package/dts/tables/TableCaption.d.ts +32 -41
- package/dts/tables/TableCaption.d.ts.map +1 -1
- package/dts/tables/TableCell.d.ts +26 -48
- package/dts/tables/TableCell.d.ts.map +1 -1
- package/dts/tables/TableCellFallback.d.ts +10 -17
- package/dts/tables/TableCellFallback.d.ts.map +1 -1
- package/dts/tables/TableRow.d.ts +44 -53
- package/dts/tables/TableRow.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 +9 -3
- package/dts/tabs/SegmentedTabs.d.ts.map +1 -1
- package/dts/tabs/Tabs.d.ts +16 -15
- package/dts/tabs/Tabs.d.ts.map +1 -1
- package/dts/tabs/hooks/useAnimateTabIndicator.d.ts +457 -457
- package/dts/tag/Tag.d.ts.map +1 -1
- package/dts/tour/Tour.d.ts +54 -53
- package/dts/tour/Tour.d.ts.map +1 -1
- 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 +6 -4
- package/esm/alpha/select/Select.js +5 -3
- 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 +6 -4
- package/esm/buttons/ButtonGroup.js +5 -3
- package/esm/buttons/IconButton.js +6 -4
- package/esm/buttons/IconCounterButton.js +6 -4
- package/esm/buttons/Tile.js +5 -3
- package/esm/buttons/TileButton.js +6 -4
- package/esm/cards/LikeButton.js +6 -4
- package/esm/carousel/Carousel.js +8 -6
- package/esm/cells/Cell.js +8 -6
- package/esm/cells/CellAccessory.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 +5 -3
- package/esm/controls/Checkbox.js +6 -4
- package/esm/controls/CheckboxCell.js +6 -4
- package/esm/controls/Control.js +6 -4
- 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 +6 -4
- package/esm/dates/DateInput.js +6 -4
- package/esm/dates/DatePicker.js +6 -4
- package/esm/dots/DotCount.js +6 -4
- package/esm/dots/DotStatusColor.js +6 -4
- package/esm/dots/DotSymbol.js +6 -4
- package/esm/dropdown/Dropdown.js +6 -4
- package/esm/hooks/useComponentConfig.js +27 -0
- package/esm/icons/Icon.js +6 -4
- 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 +8 -6
- package/esm/media/RemoteImage.js +6 -4
- package/esm/media/RemoteImageGroup.js +6 -4
- package/esm/navigation/NavigationBar.js +6 -4
- package/esm/navigation/NavigationTitle.js +6 -4
- package/esm/navigation/NavigationTitleSelect.js +6 -4
- package/esm/navigation/Sidebar.js +6 -4
- package/esm/navigation/SidebarItem.js +6 -4
- package/esm/navigation/SidebarMoreMenu.js +6 -4
- package/esm/numbers/RollingNumber/RollingNumber.js +6 -4
- package/esm/overlays/Alert.js +6 -4
- package/esm/overlays/FocusTrap.js +6 -4
- package/esm/overlays/FullscreenAlert.js +5 -3
- package/esm/overlays/Toast.js +6 -4
- package/esm/overlays/modal/FullscreenModal.js +5 -3
- package/esm/overlays/modal/FullscreenModalHeader.js +6 -4
- package/esm/overlays/modal/Modal.js +6 -4
- package/esm/overlays/modal/ModalBody.js +9 -6
- package/esm/overlays/modal/ModalFooter.js +8 -6
- package/esm/overlays/modal/ModalHeader.js +6 -4
- package/esm/overlays/modal/ModalWrapper.js +6 -4
- package/esm/overlays/overlay/Overlay.js +4 -2
- package/esm/overlays/tooltip/Tooltip.js +9 -7
- package/esm/overlays/tooltip/TooltipContent.js +16 -9
- package/esm/overlays/tray/Tray.js +5 -3
- package/esm/page/PageFooter.js +6 -4
- package/esm/page/PageHeader.js +6 -4
- package/esm/pagination/Pagination.js +6 -4
- package/esm/perf/component-config/Button.component-config.perf-test.js +43 -0
- package/esm/perf/component-config/ComponentConfigProvider.perf-test.js +134 -0
- package/esm/perf/component-config/ComponentConfigStickerSheet.perf-test.js +332 -0
- package/esm/perf/component-config/README.md +8 -0
- package/esm/section-header/SectionHeader.js +6 -4
- package/esm/stepper/Stepper.js +12 -10
- package/esm/system/ComponentConfigProvider.js +41 -0
- package/esm/system/index.js +1 -0
- package/esm/tables/Table.js +6 -4
- package/esm/tables/TableCaption.js +6 -4
- package/esm/tables/TableCell.js +9 -7
- package/esm/tables/TableCellFallback.js +6 -4
- package/esm/tables/TableRow.js +6 -4
- package/esm/tabs/SegmentedTab.js +6 -4
- package/esm/tabs/SegmentedTabs.js +6 -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 +39 -0
- package/esm/visualizations/ProgressBar.js +5 -3
- 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
|
@@ -8,6 +8,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
8
8
|
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; }
|
|
9
9
|
import React, { forwardRef, memo, useCallback, useMemo, useRef } from 'react';
|
|
10
10
|
import { useMergeRefs } from '@coinbase/cds-common/hooks/useMergeRefs';
|
|
11
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
11
12
|
import { Box } from '../layout/Box';
|
|
12
13
|
import { InputIcon } from './InputIcon';
|
|
13
14
|
import { InputIconButton } from './InputIconButton';
|
|
@@ -17,8 +18,9 @@ export const scales = {
|
|
|
17
18
|
regular: 56,
|
|
18
19
|
compact: 40
|
|
19
20
|
};
|
|
20
|
-
export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(
|
|
21
|
-
|
|
21
|
+
export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
22
|
+
const mergedProps = useComponentConfig('SearchInput', _props);
|
|
23
|
+
const {
|
|
22
24
|
onChange,
|
|
23
25
|
onClear,
|
|
24
26
|
onChangeText,
|
|
@@ -34,8 +36,8 @@ export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Se
|
|
|
34
36
|
clearIconAccessibilityLabel = 'Clear search query',
|
|
35
37
|
borderRadius = 1000,
|
|
36
38
|
height = compact ? scales.compact : scales.regular
|
|
37
|
-
} =
|
|
38
|
-
props = _objectWithoutProperties(
|
|
39
|
+
} = mergedProps,
|
|
40
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
39
41
|
const internalRef = useRef(null);
|
|
40
42
|
const refs = useMergeRefs(ref, internalRef);
|
|
41
43
|
const handleOnChange = useCallback(e => {
|
|
@@ -11,6 +11,7 @@ import { selectCellSpacingConfig } from '@coinbase/cds-common/tokens/select';
|
|
|
11
11
|
import { Cell } from '../cells/Cell';
|
|
12
12
|
import { CellAccessory } from '../cells/CellAccessory';
|
|
13
13
|
import { cx } from '../cx';
|
|
14
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
14
15
|
import { VStack } from '../layout/VStack';
|
|
15
16
|
import { Pressable } from '../system/Pressable';
|
|
16
17
|
import { Text } from '../typography/Text';
|
|
@@ -22,8 +23,9 @@ const normalCss = "normalCss-n1jlehjw";
|
|
|
22
23
|
const compactCss = "compactCss-c1fbaqtq";
|
|
23
24
|
const multilineCss = "multilineCss-m1fb6n4c";
|
|
24
25
|
const multilineTextCss = "multilineTextCss-mf68k5e";
|
|
25
|
-
export const SelectOption = /*#__PURE__*/memo(
|
|
26
|
-
|
|
26
|
+
export const SelectOption = /*#__PURE__*/memo(_props => {
|
|
27
|
+
const mergedProps = useComponentConfig('SelectOption', _props);
|
|
28
|
+
const {
|
|
27
29
|
title,
|
|
28
30
|
description,
|
|
29
31
|
multiline,
|
|
@@ -35,8 +37,8 @@ export const SelectOption = /*#__PURE__*/memo(_ref => {
|
|
|
35
37
|
accessibilityLabel,
|
|
36
38
|
testID,
|
|
37
39
|
disabled
|
|
38
|
-
} =
|
|
39
|
-
props = _objectWithoutProperties(
|
|
40
|
+
} = mergedProps,
|
|
41
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
40
42
|
const selectOptionRef = useRef(null);
|
|
41
43
|
const {
|
|
42
44
|
onChange,
|
package/esm/controls/Switch.js
CHANGED
|
@@ -9,6 +9,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
9
9
|
import React, { forwardRef, memo } from 'react';
|
|
10
10
|
import { switchTransitionConfig } from '@coinbase/cds-common/motion/switch';
|
|
11
11
|
import { m as motion } from 'framer-motion';
|
|
12
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
12
13
|
import { useTheme } from '../hooks/useTheme';
|
|
13
14
|
import { Box } from '../layout/Box';
|
|
14
15
|
import { convertTransition } from '../motion/utils';
|
|
@@ -26,8 +27,9 @@ const thumbMotionVariants = {
|
|
|
26
27
|
x: 0
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
|
-
const SwitchWithRef = /*#__PURE__*/forwardRef(function SwitchWithRef(
|
|
30
|
-
|
|
30
|
+
const SwitchWithRef = /*#__PURE__*/forwardRef(function SwitchWithRef(_props, ref) {
|
|
31
|
+
const mergedProps = useComponentConfig('Switch', _props);
|
|
32
|
+
const {
|
|
31
33
|
children,
|
|
32
34
|
checked,
|
|
33
35
|
disabled,
|
|
@@ -38,8 +40,8 @@ const SwitchWithRef = /*#__PURE__*/forwardRef(function SwitchWithRef(_ref, ref)
|
|
|
38
40
|
borderRadius = 1000,
|
|
39
41
|
borderWidth,
|
|
40
42
|
value
|
|
41
|
-
} =
|
|
42
|
-
props = _objectWithoutProperties(
|
|
43
|
+
} = mergedProps,
|
|
44
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
43
45
|
const {
|
|
44
46
|
activeColorScheme
|
|
45
47
|
} = useTheme();
|
|
@@ -10,6 +10,7 @@ import React, { cloneElement, forwardRef, memo, useCallback, useMemo, useRef, us
|
|
|
10
10
|
import { useMergeRefs } from '@coinbase/cds-common/hooks/useMergeRefs';
|
|
11
11
|
import { usePrefixedId } from '@coinbase/cds-common/hooks/usePrefixedId';
|
|
12
12
|
import { cx } from '../cx';
|
|
13
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
13
14
|
import { Box } from '../layout/Box';
|
|
14
15
|
import { HStack } from '../layout/HStack';
|
|
15
16
|
import { Text } from '../typography/Text';
|
|
@@ -42,9 +43,10 @@ const variantColorMap = {
|
|
|
42
43
|
foregroundMuted: 'fgMuted',
|
|
43
44
|
secondary: 'fg'
|
|
44
45
|
};
|
|
45
|
-
export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function TextInput(
|
|
46
|
+
export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function TextInput(_props, ref) {
|
|
46
47
|
var _testIDMap$end, _testIDMap$helperText, _testIDMap$label, _testIDMap$start;
|
|
47
|
-
|
|
48
|
+
const mergedProps = useComponentConfig('TextInput', _props);
|
|
49
|
+
const {
|
|
48
50
|
label,
|
|
49
51
|
accessibilityLabel,
|
|
50
52
|
helperText = '',
|
|
@@ -71,8 +73,8 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Text
|
|
|
71
73
|
labelVariant = 'outside',
|
|
72
74
|
labelNode,
|
|
73
75
|
inputBackground
|
|
74
|
-
} =
|
|
75
|
-
nativeInputRestProps = _objectWithoutProperties(
|
|
76
|
+
} = mergedProps,
|
|
77
|
+
nativeInputRestProps = _objectWithoutProperties(mergedProps, _excluded);
|
|
76
78
|
const [focused, setFocused] = useState(false);
|
|
77
79
|
const focusedVariant = useInputVariant(focused, variant);
|
|
78
80
|
const internalRef = useRef();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/esm/dates/Calendar.js
CHANGED
|
@@ -15,6 +15,7 @@ import { getTimesFromDatesAndRanges } from '@coinbase/cds-common/dates/getTimesF
|
|
|
15
15
|
import { useLocale } from '@coinbase/cds-common/system/LocaleProvider';
|
|
16
16
|
import { accessibleOpacityDisabled } from '@coinbase/cds-common/tokens/interactable';
|
|
17
17
|
import { cx } from '../cx';
|
|
18
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
18
19
|
import { Icon } from '../icons/Icon';
|
|
19
20
|
import { Grid } from '../layout/Grid';
|
|
20
21
|
import { HStack } from '../layout/HStack';
|
|
@@ -139,8 +140,9 @@ const CalendarDay = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
139
140
|
}));
|
|
140
141
|
// These could be dynamically generated, but our Calendar and DatePicker aren't localized so there's no point
|
|
141
142
|
const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
142
|
-
export const Calendar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
143
|
-
|
|
143
|
+
export const Calendar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
144
|
+
const mergedProps = useComponentConfig('Calendar', _props);
|
|
145
|
+
const {
|
|
144
146
|
selectedDate,
|
|
145
147
|
seedDate,
|
|
146
148
|
onPressDate,
|
|
@@ -158,8 +160,8 @@ export const Calendar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3, ref) =
|
|
|
158
160
|
nextArrowAccessibilityLabel = 'Go to next month',
|
|
159
161
|
previousArrowAccessibilityLabel = 'Go to previous month',
|
|
160
162
|
highlightedDateAccessibilityHint = 'Highlighted'
|
|
161
|
-
} =
|
|
162
|
-
props = _objectWithoutProperties(
|
|
163
|
+
} = mergedProps,
|
|
164
|
+
props = _objectWithoutProperties(mergedProps, _excluded2);
|
|
163
165
|
const calendarRef = useRef(null);
|
|
164
166
|
useImperativeHandle(ref, () => calendarRef.current, []); // Merges forwarded ref with internal calendarRef
|
|
165
167
|
|
package/esm/dates/DateInput.js
CHANGED
|
@@ -11,10 +11,12 @@ import { IntlDateFormat } from '@coinbase/cds-common/dates/IntlDateFormat';
|
|
|
11
11
|
import { useDateInput } from '@coinbase/cds-common/dates/useDateInput';
|
|
12
12
|
import { useLocale } from '@coinbase/cds-common/system/LocaleProvider';
|
|
13
13
|
import { TextInput } from '../controls/TextInput';
|
|
14
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
14
15
|
import { VStack } from '../layout/VStack';
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
export const DateInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
17
|
-
|
|
17
|
+
export const DateInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
18
|
+
const mergedProps = useComponentConfig('DateInput', _props);
|
|
19
|
+
const {
|
|
18
20
|
date,
|
|
19
21
|
onChangeDate,
|
|
20
22
|
error,
|
|
@@ -38,8 +40,8 @@ export const DateInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
|
|
|
38
40
|
onChange,
|
|
39
41
|
onBlur,
|
|
40
42
|
testIDMap
|
|
41
|
-
} =
|
|
42
|
-
props = _objectWithoutProperties(
|
|
43
|
+
} = mergedProps,
|
|
44
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
43
45
|
const hasTyped = useRef(Boolean(date));
|
|
44
46
|
const {
|
|
45
47
|
locale
|
package/esm/dates/DatePicker.js
CHANGED
|
@@ -13,6 +13,7 @@ import { zIndex } from '@coinbase/cds-common/tokens/zIndex';
|
|
|
13
13
|
import { m as motion } from 'framer-motion';
|
|
14
14
|
import { InputIconButton } from '../controls/InputIconButton';
|
|
15
15
|
import { cx } from '../cx';
|
|
16
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
16
17
|
import { Box, VStack } from '../layout';
|
|
17
18
|
import { getMotionProps } from '../motion/useMotionProps';
|
|
18
19
|
import { Popover } from '../overlays/popover/Popover';
|
|
@@ -33,8 +34,9 @@ const calendarPopoverPosition = {
|
|
|
33
34
|
placement: 'bottom-start',
|
|
34
35
|
offsetGap: 16
|
|
35
36
|
};
|
|
36
|
-
export const DatePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
37
|
-
|
|
37
|
+
export const DatePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
38
|
+
const mergedProps = useComponentConfig('DatePicker', _props);
|
|
39
|
+
const {
|
|
38
40
|
date,
|
|
39
41
|
onChangeDate,
|
|
40
42
|
error,
|
|
@@ -76,8 +78,8 @@ export const DatePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
|
|
|
76
78
|
onConfirm,
|
|
77
79
|
onCancel,
|
|
78
80
|
onChange
|
|
79
|
-
} =
|
|
80
|
-
props = _objectWithoutProperties(
|
|
81
|
+
} = mergedProps,
|
|
82
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
81
83
|
const [showCalendar, setShowCalendar] = useState(defaultOpen);
|
|
82
84
|
const calendarRef = useRef(null);
|
|
83
85
|
|
package/esm/dots/DotCount.js
CHANGED
|
@@ -13,6 +13,7 @@ import { parseDotCountMaxOverflow } from '@coinbase/cds-common/utils/parseDotCou
|
|
|
13
13
|
import { m as motion } from 'framer-motion';
|
|
14
14
|
import { NewAnimatePresence } from '../animation/NewAnimatePresence';
|
|
15
15
|
import { cx } from '../cx';
|
|
16
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
16
17
|
import { useTheme } from '../hooks/useTheme';
|
|
17
18
|
import { useMotionProps } from '../motion/useMotionProps';
|
|
18
19
|
import { Text } from '../typography/Text';
|
|
@@ -23,8 +24,9 @@ const dotCountContentCss = "dotCountContentCss-dqpqhs5";
|
|
|
23
24
|
const variantColorMap = {
|
|
24
25
|
negative: 'fgNegative'
|
|
25
26
|
};
|
|
26
|
-
export const DotCount = /*#__PURE__*/memo(
|
|
27
|
-
|
|
27
|
+
export const DotCount = /*#__PURE__*/memo(_props => {
|
|
28
|
+
const mergedProps = useComponentConfig('DotCount', _props);
|
|
29
|
+
const {
|
|
28
30
|
children,
|
|
29
31
|
pin,
|
|
30
32
|
variant = 'negative',
|
|
@@ -37,8 +39,8 @@ export const DotCount = /*#__PURE__*/memo(_ref => {
|
|
|
37
39
|
classNames,
|
|
38
40
|
style,
|
|
39
41
|
styles
|
|
40
|
-
} =
|
|
41
|
-
props = _objectWithoutProperties(
|
|
42
|
+
} = mergedProps,
|
|
43
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
42
44
|
const {
|
|
43
45
|
color
|
|
44
46
|
} = useTheme();
|
|
@@ -7,6 +7,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
7
7
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
8
8
|
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; }
|
|
9
9
|
import React, { memo, useMemo } from 'react';
|
|
10
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
10
11
|
import { useTheme } from '../hooks/useTheme';
|
|
11
12
|
import { handlePreventPropagation } from '../utils/eventHandlers';
|
|
12
13
|
import { getTransform } from './dotStyles';
|
|
@@ -19,8 +20,9 @@ const variantColorMap = {
|
|
|
19
20
|
foregroundMuted: 'fgMuted',
|
|
20
21
|
warning: 'fgWarning'
|
|
21
22
|
};
|
|
22
|
-
export const DotStatusColor = /*#__PURE__*/memo(
|
|
23
|
-
|
|
23
|
+
export const DotStatusColor = /*#__PURE__*/memo(_props => {
|
|
24
|
+
const mergedProps = useComponentConfig('DotStatusColor', _props);
|
|
25
|
+
const {
|
|
24
26
|
variant,
|
|
25
27
|
pin,
|
|
26
28
|
size = 's',
|
|
@@ -28,8 +30,8 @@ export const DotStatusColor = /*#__PURE__*/memo(_ref => {
|
|
|
28
30
|
children,
|
|
29
31
|
testID,
|
|
30
32
|
accessibilityLabel
|
|
31
|
-
} =
|
|
32
|
-
props = _objectWithoutProperties(
|
|
33
|
+
} = mergedProps,
|
|
34
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
33
35
|
const {
|
|
34
36
|
color
|
|
35
37
|
} = useTheme();
|
package/esm/dots/DotSymbol.js
CHANGED
|
@@ -8,6 +8,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
8
8
|
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; }
|
|
9
9
|
import React, { memo } from 'react';
|
|
10
10
|
import { cx } from '../cx';
|
|
11
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
11
12
|
import { Icon } from '../icons/Icon';
|
|
12
13
|
import { Box } from '../layout/Box';
|
|
13
14
|
import { RemoteImage } from '../media/RemoteImage';
|
|
@@ -25,8 +26,9 @@ const remoteImageCss = "remoteImageCss-r1kn5cfm";
|
|
|
25
26
|
const iconContainerCss = "iconContainerCss-i1ydqo2q";
|
|
26
27
|
const baseCss = "baseCss-b1pmh90n";
|
|
27
28
|
const aspectRatio = [1, 1];
|
|
28
|
-
export const DotSymbol = /*#__PURE__*/memo(
|
|
29
|
-
|
|
29
|
+
export const DotSymbol = /*#__PURE__*/memo(_props => {
|
|
30
|
+
const mergedProps = useComponentConfig('DotSymbol', _props);
|
|
31
|
+
const {
|
|
30
32
|
children,
|
|
31
33
|
symbol,
|
|
32
34
|
pin,
|
|
@@ -46,8 +48,8 @@ export const DotSymbol = /*#__PURE__*/memo(_ref => {
|
|
|
46
48
|
imageStyle,
|
|
47
49
|
imageClassName,
|
|
48
50
|
accessibilityLabel
|
|
49
|
-
} =
|
|
50
|
-
props = _objectWithoutProperties(
|
|
51
|
+
} = mergedProps,
|
|
52
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
51
53
|
const pinStyles = getTransform(pin, overlap);
|
|
52
54
|
return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
|
|
53
55
|
"aria-label": accessibilityLabel,
|
package/esm/dropdown/Dropdown.js
CHANGED
|
@@ -12,6 +12,7 @@ import React, { forwardRef, memo, useCallback, useImperativeHandle, useMemo, use
|
|
|
12
12
|
import useMeasure from 'react-use-measure';
|
|
13
13
|
import { SelectProvider } from '../controls/selectContext';
|
|
14
14
|
import { useBreakpoints } from '../hooks/useBreakpoints';
|
|
15
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
15
16
|
import { FocusTrap } from '../overlays/FocusTrap';
|
|
16
17
|
import { ModalWrapper } from '../overlays/modal/ModalWrapper';
|
|
17
18
|
import { Popover } from '../overlays/popover/Popover';
|
|
@@ -169,16 +170,17 @@ const PopoverDropdown = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2, ref) =
|
|
|
169
170
|
}))
|
|
170
171
|
});
|
|
171
172
|
}));
|
|
172
|
-
export const Dropdown = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
173
|
-
|
|
173
|
+
export const Dropdown = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
174
|
+
const mergedProps = useComponentConfig('Dropdown', _props);
|
|
175
|
+
const {
|
|
174
176
|
children,
|
|
175
177
|
maxHeight = DROPDOWN_MAX_HEIGHT,
|
|
176
178
|
enableMobileModal,
|
|
177
179
|
onOpenMenu,
|
|
178
180
|
onCloseMenu,
|
|
179
181
|
restoreFocusOnUnmount = true
|
|
180
|
-
} =
|
|
181
|
-
props = _objectWithoutProperties(
|
|
182
|
+
} = mergedProps,
|
|
183
|
+
props = _objectWithoutProperties(mergedProps, _excluded3);
|
|
182
184
|
const {
|
|
183
185
|
isPhone
|
|
184
186
|
} = useBreakpoints();
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useStore } from 'zustand';
|
|
2
|
+
import { useComponentConfigStore } from '../system/ComponentConfigProvider';
|
|
3
|
+
import { mergeComponentProps } from '../utils/mergeComponentProps';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Subscribes to the component config for a specific component via zustand selectors.
|
|
7
|
+
* Only triggers re-renders when the config for THIS component changes - other
|
|
8
|
+
* components' config changes are ignored.
|
|
9
|
+
*
|
|
10
|
+
* Raw config values are stored in the zustand store (not normalized to functions)
|
|
11
|
+
* so that Object.is reference comparisons work correctly and unchanged entries
|
|
12
|
+
* never cause re-renders.
|
|
13
|
+
*
|
|
14
|
+
* @param componentName - The component key in ComponentConfig (e.g., 'Button')
|
|
15
|
+
* @param localProps - The props passed directly to the component instance
|
|
16
|
+
* @returns Merged props with config defaults applied (local props take precedence)
|
|
17
|
+
*/
|
|
18
|
+
export const useComponentConfig = (componentName, localProps) => {
|
|
19
|
+
const store = useComponentConfigStore();
|
|
20
|
+
const rawConfig = useStore(store, state => {
|
|
21
|
+
var _state$components;
|
|
22
|
+
return (_state$components = state.components) === null || _state$components === void 0 ? void 0 : _state$components[componentName];
|
|
23
|
+
});
|
|
24
|
+
if (!rawConfig) return localProps;
|
|
25
|
+
const resolvedConfig = typeof rawConfig === 'function' ? rawConfig(localProps) : rawConfig;
|
|
26
|
+
return mergeComponentProps(resolvedConfig, localProps);
|
|
27
|
+
};
|
package/esm/icons/Icon.js
CHANGED
|
@@ -10,6 +10,7 @@ import React, { forwardRef, memo, useMemo } from 'react';
|
|
|
10
10
|
import { glyphMap } from '@coinbase/cds-icons/glyphMap';
|
|
11
11
|
import { isDevelopment } from '@coinbase/cds-utils/env';
|
|
12
12
|
import { cx } from '../cx';
|
|
13
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
13
14
|
import { useTheme } from '../hooks/useTheme';
|
|
14
15
|
import { Box } from '../layout/Box';
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -26,8 +27,9 @@ const getIconSourceSize = iconSize => {
|
|
|
26
27
|
if (iconSize <= 16) return 16;
|
|
27
28
|
return 24;
|
|
28
29
|
};
|
|
29
|
-
export const Icon = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
30
|
-
|
|
30
|
+
export const Icon = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
31
|
+
const mergedProps = useComponentConfig('Icon', _props);
|
|
32
|
+
const {
|
|
31
33
|
accessibilityLabel,
|
|
32
34
|
color = 'fgPrimary',
|
|
33
35
|
dangerouslySetColor,
|
|
@@ -40,8 +42,8 @@ export const Icon = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
40
42
|
style,
|
|
41
43
|
styles,
|
|
42
44
|
active
|
|
43
|
-
} =
|
|
44
|
-
props = _objectWithoutProperties(
|
|
45
|
+
} = mergedProps,
|
|
46
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
45
47
|
const theme = useTheme();
|
|
46
48
|
const iconSize = theme.iconSize[size];
|
|
47
49
|
const sourceSize = getIconSourceSize(iconSize);
|
package/esm/index.js
CHANGED
|
@@ -2,5 +2,7 @@ export * from './core/createThemeCssVars';
|
|
|
2
2
|
export * from './core/polymorphism';
|
|
3
3
|
export * from './core/theme';
|
|
4
4
|
export * from './cx';
|
|
5
|
+
export * from './hooks/useComponentConfig';
|
|
5
6
|
export * from './hooks/useTheme';
|
|
7
|
+
export * from './system/ComponentConfigProvider';
|
|
6
8
|
export * from './system/ThemeProvider';
|
package/esm/layout/Divider.js
CHANGED
|
@@ -7,19 +7,21 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
7
7
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
8
8
|
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; }
|
|
9
9
|
import React, { memo } from 'react';
|
|
10
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
10
11
|
import { Box } from './Box';
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
const directionCss = {
|
|
13
14
|
horizontal: "horizontal-hb40n7o",
|
|
14
15
|
vertical: "vertical-v1cvhdy5"
|
|
15
16
|
};
|
|
16
|
-
export const Divider = /*#__PURE__*/memo(
|
|
17
|
-
|
|
17
|
+
export const Divider = /*#__PURE__*/memo(_props => {
|
|
18
|
+
const mergedProps = useComponentConfig('Divider', _props);
|
|
19
|
+
const {
|
|
18
20
|
color,
|
|
19
21
|
direction = 'horizontal',
|
|
20
22
|
background = 'bgLine'
|
|
21
|
-
} =
|
|
22
|
-
boxProps = _objectWithoutProperties(
|
|
23
|
+
} = mergedProps,
|
|
24
|
+
boxProps = _objectWithoutProperties(mergedProps, _excluded);
|
|
23
25
|
return /*#__PURE__*/_jsx(Box, _objectSpread(_objectSpread({
|
|
24
26
|
alignItems: "stretch",
|
|
25
27
|
alignSelf: "stretch"
|
package/esm/layout/Fallback.js
CHANGED
|
@@ -8,13 +8,15 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
8
8
|
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; }
|
|
9
9
|
import React, { forwardRef, memo, useMemo } from 'react';
|
|
10
10
|
import { useFallbackShape } from '@coinbase/cds-common/hooks/useFallbackShape';
|
|
11
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
11
12
|
import { Box } from './Box';
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
const fallbackCss = "fallbackCss-f1n296p1";
|
|
14
15
|
const visuallyHiddenCss = "visuallyHiddenCss-v1e56i3u";
|
|
15
16
|
export const fallbackDefaultElement = 'div';
|
|
16
|
-
export const Fallback = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((
|
|
17
|
-
|
|
17
|
+
export const Fallback = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
|
|
18
|
+
const mergedProps = useComponentConfig('Fallback', _props);
|
|
19
|
+
const {
|
|
18
20
|
as,
|
|
19
21
|
height,
|
|
20
22
|
shape = 'rectangle',
|
|
@@ -23,8 +25,8 @@ export const Fallback = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =>
|
|
|
23
25
|
disableRandomRectWidth,
|
|
24
26
|
rectWidthVariant,
|
|
25
27
|
accessibilityLabel = 'Loading'
|
|
26
|
-
} =
|
|
27
|
-
props = _objectWithoutProperties(
|
|
28
|
+
} = mergedProps,
|
|
29
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
28
30
|
const Component = as !== null && as !== void 0 ? as : fallbackDefaultElement;
|
|
29
31
|
const fallbackShapeOptions = useMemo(() => ({
|
|
30
32
|
disableRandomRectWidth,
|
package/esm/media/Avatar.js
CHANGED
|
@@ -8,6 +8,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
8
8
|
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; }
|
|
9
9
|
import React, { memo, useMemo } from 'react';
|
|
10
10
|
import { cx } from '../cx';
|
|
11
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
11
12
|
import { Box } from '../layout/Box';
|
|
12
13
|
import { Text } from '../typography/Text';
|
|
13
14
|
import { hexagonAvatarClipId, HexagonBorder } from './Hexagon';
|
|
@@ -23,9 +24,10 @@ const borderRadiusCss = {
|
|
|
23
24
|
hexagon: "hexagon-hsci9wn"
|
|
24
25
|
};
|
|
25
26
|
const contentWrapperCss = "contentWrapperCss-ck6a13w";
|
|
26
|
-
export const Avatar = /*#__PURE__*/memo(
|
|
27
|
-
var
|
|
28
|
-
|
|
27
|
+
export const Avatar = /*#__PURE__*/memo(_props => {
|
|
28
|
+
var _ref, _style$width;
|
|
29
|
+
const mergedProps = useComponentConfig('Avatar', _props);
|
|
30
|
+
const {
|
|
29
31
|
src,
|
|
30
32
|
shape = 'circle',
|
|
31
33
|
size = 'l',
|
|
@@ -38,10 +40,10 @@ export const Avatar = /*#__PURE__*/memo(_ref => {
|
|
|
38
40
|
dangerouslySetSize,
|
|
39
41
|
className,
|
|
40
42
|
style
|
|
41
|
-
} =
|
|
42
|
-
props = _objectWithoutProperties(
|
|
43
|
+
} = mergedProps,
|
|
44
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
43
45
|
const avatarSize = "var(--avatarSize-".concat(size, ")");
|
|
44
|
-
const userProvidedSize = (
|
|
46
|
+
const userProvidedSize = (_ref = (_style$width = style === null || style === void 0 ? void 0 : style.width) !== null && _style$width !== void 0 ? _style$width : style === null || style === void 0 ? void 0 : style.height) !== null && _ref !== void 0 ? _ref : dangerouslySetSize;
|
|
45
47
|
const computedSize = userProvidedSize !== null && userProvidedSize !== void 0 ? userProvidedSize : avatarSize;
|
|
46
48
|
const avatarText = useMemo(() => {
|
|
47
49
|
const placeholderLetter = name === null || name === void 0 ? void 0 : name.charAt(0);
|
package/esm/media/RemoteImage.js
CHANGED
|
@@ -10,6 +10,7 @@ import React, { memo, useMemo } from 'react';
|
|
|
10
10
|
import { remoteImageDarkFallbackSrc, remoteImageLightFallbackSrc } from '@coinbase/cds-common/media/remoteImageFallbackSrc';
|
|
11
11
|
import { shapeBorderRadius } from '@coinbase/cds-common/tokens/borderRadius';
|
|
12
12
|
import { cx } from '../cx';
|
|
13
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
13
14
|
import { Box } from '../layout/Box';
|
|
14
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
16
|
const COMPONENT_STATIC_CLASSNAME = 'cds-RemoteImage';
|
|
@@ -27,8 +28,9 @@ const borderRadiusCss = {
|
|
|
27
28
|
rectangle: "rectangle-r18cj7oi",
|
|
28
29
|
hexagon: "hexagon-h4bc24o"
|
|
29
30
|
};
|
|
30
|
-
export const RemoteImage = /*#__PURE__*/memo(
|
|
31
|
-
|
|
31
|
+
export const RemoteImage = /*#__PURE__*/memo(_props => {
|
|
32
|
+
const mergedProps = useComponentConfig('RemoteImage', _props);
|
|
33
|
+
const {
|
|
32
34
|
width,
|
|
33
35
|
height,
|
|
34
36
|
aspectRatio,
|
|
@@ -41,8 +43,8 @@ export const RemoteImage = /*#__PURE__*/memo(_ref => {
|
|
|
41
43
|
borderColor,
|
|
42
44
|
borderWidth = borderColor ? 200 : undefined,
|
|
43
45
|
style
|
|
44
|
-
} =
|
|
45
|
-
props = _objectWithoutProperties(
|
|
46
|
+
} = mergedProps,
|
|
47
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
46
48
|
const styles = useMemo(() => _objectSpread({
|
|
47
49
|
aspectRatio: aspectRatio ? aspectRatio.join(' / ') : undefined
|
|
48
50
|
}, style), [aspectRatio, style]);
|
|
@@ -9,6 +9,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
9
9
|
import React, { Children, isValidElement, useMemo } from 'react';
|
|
10
10
|
import { shapeBorderRadius } from '@coinbase/cds-common/tokens/borderRadius';
|
|
11
11
|
import { cx } from '../cx';
|
|
12
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
12
13
|
import { useTheme } from '../hooks/useTheme';
|
|
13
14
|
import { Box } from '../layout/Box';
|
|
14
15
|
import { Text } from '../typography/Text';
|
|
@@ -22,8 +23,9 @@ const borderRadiusCss = {
|
|
|
22
23
|
};
|
|
23
24
|
const isolateCss = "isolateCss-i1shf7o1";
|
|
24
25
|
const excessContainerCss = "excessContainerCss-e1lnj2ws";
|
|
25
|
-
export const RemoteImageGroup =
|
|
26
|
-
|
|
26
|
+
export const RemoteImageGroup = _props => {
|
|
27
|
+
const mergedProps = useComponentConfig('RemoteImageGroup', _props);
|
|
28
|
+
const {
|
|
27
29
|
children,
|
|
28
30
|
size = 'm',
|
|
29
31
|
max = 4,
|
|
@@ -31,8 +33,8 @@ export const RemoteImageGroup = _ref => {
|
|
|
31
33
|
testID,
|
|
32
34
|
borderWidth,
|
|
33
35
|
borderColor = borderWidth ? 'bg' : undefined
|
|
34
|
-
} =
|
|
35
|
-
props = _objectWithoutProperties(
|
|
36
|
+
} = mergedProps,
|
|
37
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
36
38
|
const {
|
|
37
39
|
avatarSize
|
|
38
40
|
} = useTheme();
|
|
@@ -11,6 +11,7 @@ import { usePreviousValue } from '@coinbase/cds-common/hooks/usePreviousValue';
|
|
|
11
11
|
import { zIndex } from '@coinbase/cds-common/tokens/zIndex';
|
|
12
12
|
import { Collapsible } from '../collapsible/Collapsible';
|
|
13
13
|
import { cx } from '../cx';
|
|
14
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
14
15
|
import { HStack, VStack } from '../layout';
|
|
15
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
17
|
export const navigationBarDefaultElement = 'nav';
|
|
@@ -26,8 +27,9 @@ export const navigationBarClassNames = {
|
|
|
26
27
|
/** Container for the main children content (e.g., title) */
|
|
27
28
|
content: 'cds-NavigationBar-content'
|
|
28
29
|
};
|
|
29
|
-
export const NavigationBar = /*#__PURE__*/memo(
|
|
30
|
-
|
|
30
|
+
export const NavigationBar = /*#__PURE__*/memo(_props => {
|
|
31
|
+
const mergedProps = useComponentConfig('NavigationBar', _props);
|
|
32
|
+
const {
|
|
31
33
|
start,
|
|
32
34
|
children,
|
|
33
35
|
end,
|
|
@@ -50,8 +52,8 @@ export const NavigationBar = /*#__PURE__*/memo(_ref => {
|
|
|
50
52
|
style,
|
|
51
53
|
styles,
|
|
52
54
|
testID
|
|
53
|
-
} =
|
|
54
|
-
props = _objectWithoutProperties(
|
|
55
|
+
} = mergedProps,
|
|
56
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
55
57
|
const prevStart = usePreviousValue(start);
|
|
56
58
|
const startNode = useMemo(() => start || prevStart, [start, prevStart]);
|
|
57
59
|
return /*#__PURE__*/_jsxs(VStack, _objectSpread(_objectSpread({
|
|
@@ -7,15 +7,17 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
7
7
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
8
8
|
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; }
|
|
9
9
|
import { memo } from 'react';
|
|
10
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
10
11
|
import { Text } from '../typography/Text';
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
export const navigationTitleDefaultElement = 'h1';
|
|
13
|
-
export const NavigationTitle = /*#__PURE__*/memo(
|
|
14
|
-
|
|
14
|
+
export const NavigationTitle = /*#__PURE__*/memo(_props => {
|
|
15
|
+
const mergedProps = useComponentConfig('NavigationTitle', _props);
|
|
16
|
+
const {
|
|
15
17
|
as = navigationTitleDefaultElement,
|
|
16
18
|
font = 'title1'
|
|
17
|
-
} =
|
|
18
|
-
props = _objectWithoutProperties(
|
|
19
|
+
} = mergedProps,
|
|
20
|
+
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
19
21
|
return /*#__PURE__*/_jsx(Text, _objectSpread({
|
|
20
22
|
as: as,
|
|
21
23
|
font: font
|