@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.
Files changed (256) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dts/accordion/Accordion.d.ts +1 -9
  3. package/dts/accordion/Accordion.d.ts.map +1 -1
  4. package/dts/alpha/combobox/Combobox.d.ts.map +1 -1
  5. package/dts/alpha/select/Select.d.ts.map +1 -1
  6. package/dts/alpha/select-chip/SelectChip.d.ts.map +1 -1
  7. package/dts/alpha/tabbed-chips/TabbedChips.d.ts.map +1 -1
  8. package/dts/banner/Banner.d.ts.map +1 -1
  9. package/dts/buttons/AvatarButton.d.ts +6 -3
  10. package/dts/buttons/AvatarButton.d.ts.map +1 -1
  11. package/dts/buttons/Button.d.ts.map +1 -1
  12. package/dts/buttons/ButtonGroup.d.ts +3 -1
  13. package/dts/buttons/ButtonGroup.d.ts.map +1 -1
  14. package/dts/buttons/IconButton.d.ts.map +1 -1
  15. package/dts/buttons/IconCounterButton.d.ts.map +1 -1
  16. package/dts/buttons/SlideButton.d.ts.map +1 -1
  17. package/dts/cards/Card.d.ts +4 -0
  18. package/dts/cards/Card.d.ts.map +1 -1
  19. package/dts/cards/CardBody.d.ts +4 -0
  20. package/dts/cards/CardBody.d.ts.map +1 -1
  21. package/dts/cards/CardFooter.d.ts +4 -0
  22. package/dts/cards/CardFooter.d.ts.map +1 -1
  23. package/dts/cards/CardGroup.d.ts +12 -0
  24. package/dts/cards/CardGroup.d.ts.map +1 -1
  25. package/dts/cards/CardHeader.d.ts +8 -0
  26. package/dts/cards/CardHeader.d.ts.map +1 -1
  27. package/dts/cards/CardMedia.d.ts +8 -0
  28. package/dts/cards/CardMedia.d.ts.map +1 -1
  29. package/dts/cards/LikeButton.d.ts.map +1 -1
  30. package/dts/carousel/Carousel.d.ts.map +1 -1
  31. package/dts/cells/Cell.d.ts.map +1 -1
  32. package/dts/cells/ListCell.d.ts.map +1 -1
  33. package/dts/cells/ListCellFallback.d.ts.map +1 -1
  34. package/dts/chips/Chip.d.ts.map +1 -1
  35. package/dts/chips/ChipProps.d.ts +10 -8
  36. package/dts/chips/ChipProps.d.ts.map +1 -1
  37. package/dts/chips/InputChip.d.ts.map +1 -1
  38. package/dts/chips/MediaChip.d.ts +3 -2
  39. package/dts/chips/MediaChip.d.ts.map +1 -1
  40. package/dts/chips/TabbedChips.d.ts.map +1 -1
  41. package/dts/coachmark/Coachmark.d.ts.map +1 -1
  42. package/dts/collapsible/Collapsible.d.ts.map +1 -1
  43. package/dts/controls/Checkbox.d.ts.map +1 -1
  44. package/dts/controls/CheckboxCell.d.ts.map +1 -1
  45. package/dts/controls/Control.d.ts.map +1 -1
  46. package/dts/controls/ControlGroup.d.ts +13 -4
  47. package/dts/controls/ControlGroup.d.ts.map +1 -1
  48. package/dts/controls/InputStack.d.ts.map +1 -1
  49. package/dts/controls/Radio.d.ts.map +1 -1
  50. package/dts/controls/RadioCell.d.ts.map +1 -1
  51. package/dts/controls/SearchInput.d.ts.map +1 -1
  52. package/dts/controls/SelectOption.d.ts +3 -1
  53. package/dts/controls/SelectOption.d.ts.map +1 -1
  54. package/dts/controls/Switch.d.ts.map +1 -1
  55. package/dts/controls/TextInput.d.ts.map +1 -1
  56. package/dts/core/componentConfig.d.ts +166 -0
  57. package/dts/core/componentConfig.d.ts.map +1 -0
  58. package/dts/dates/Calendar.d.ts.map +1 -1
  59. package/dts/dates/DateInput.d.ts.map +1 -1
  60. package/dts/dates/DatePicker.d.ts.map +1 -1
  61. package/dts/dots/DotCount.d.ts +1 -11
  62. package/dts/dots/DotCount.d.ts.map +1 -1
  63. package/dts/dots/DotStatusColor.d.ts +1 -8
  64. package/dts/dots/DotStatusColor.d.ts.map +1 -1
  65. package/dts/dots/DotSymbol.d.ts +1 -17
  66. package/dts/dots/DotSymbol.d.ts.map +1 -1
  67. package/dts/hooks/useComponentConfig.d.ts +22 -0
  68. package/dts/hooks/useComponentConfig.d.ts.map +1 -0
  69. package/dts/icons/Icon.d.ts +11 -1
  70. package/dts/icons/Icon.d.ts.map +1 -1
  71. package/dts/index.d.ts +2 -0
  72. package/dts/index.d.ts.map +1 -1
  73. package/dts/layout/Divider.d.ts +3 -1
  74. package/dts/layout/Divider.d.ts.map +1 -1
  75. package/dts/layout/Fallback.d.ts +3 -1
  76. package/dts/layout/Fallback.d.ts.map +1 -1
  77. package/dts/media/Avatar.d.ts +1 -14
  78. package/dts/media/Avatar.d.ts.map +1 -1
  79. package/dts/media/RemoteImage.d.ts.map +1 -1
  80. package/dts/media/RemoteImageGroup.d.ts +3 -10
  81. package/dts/media/RemoteImageGroup.d.ts.map +1 -1
  82. package/dts/navigation/BrowserBar.d.ts +5 -14
  83. package/dts/navigation/BrowserBar.d.ts.map +1 -1
  84. package/dts/navigation/NavigationTitle.d.ts +4 -7
  85. package/dts/navigation/NavigationTitle.d.ts.map +1 -1
  86. package/dts/navigation/NavigationTitleSelect.d.ts +5 -11
  87. package/dts/navigation/NavigationTitleSelect.d.ts.map +1 -1
  88. package/dts/navigation/TopNavBar.d.ts +3 -13
  89. package/dts/navigation/TopNavBar.d.ts.map +1 -1
  90. package/dts/numbers/RollingNumber/RollingNumber.d.ts.map +1 -1
  91. package/dts/numpad/Numpad.d.ts +41 -38
  92. package/dts/numpad/Numpad.d.ts.map +1 -1
  93. package/dts/overlays/Alert.d.ts.map +1 -1
  94. package/dts/overlays/Toast.d.ts.map +1 -1
  95. package/dts/overlays/drawer/Drawer.d.ts.map +1 -1
  96. package/dts/overlays/modal/Modal.d.ts.map +1 -1
  97. package/dts/overlays/modal/ModalBody.d.ts.map +1 -1
  98. package/dts/overlays/modal/ModalFooter.d.ts +3 -8
  99. package/dts/overlays/modal/ModalFooter.d.ts.map +1 -1
  100. package/dts/overlays/modal/ModalHeader.d.ts.map +1 -1
  101. package/dts/overlays/overlay/Overlay.d.ts +7 -3
  102. package/dts/overlays/overlay/Overlay.d.ts.map +1 -1
  103. package/dts/overlays/tooltip/Tooltip.d.ts +2 -20
  104. package/dts/overlays/tooltip/Tooltip.d.ts.map +1 -1
  105. package/dts/overlays/tray/Tray.d.ts.map +1 -1
  106. package/dts/page/PageFooter.d.ts.map +1 -1
  107. package/dts/page/PageHeader.d.ts.map +1 -1
  108. package/dts/perf/component-config/Button.component-config.perf-test.d.ts +2 -0
  109. package/dts/perf/component-config/Button.component-config.perf-test.d.ts.map +1 -0
  110. package/dts/perf/component-config/ComponentConfigProvider.perf-test.d.ts +2 -0
  111. package/dts/perf/component-config/ComponentConfigProvider.perf-test.d.ts.map +1 -0
  112. package/dts/perf/component-config/ComponentConfigStickerSheet.perf-test.d.ts +2 -0
  113. package/dts/perf/component-config/ComponentConfigStickerSheet.perf-test.d.ts.map +1 -0
  114. package/dts/stepper/Stepper.d.ts.map +1 -1
  115. package/dts/system/ComponentConfigProvider.d.ts +26 -0
  116. package/dts/system/ComponentConfigProvider.d.ts.map +1 -0
  117. package/dts/system/index.d.ts +1 -0
  118. package/dts/system/index.d.ts.map +1 -1
  119. package/dts/tabs/SegmentedTab.d.ts +6 -3
  120. package/dts/tabs/SegmentedTab.d.ts.map +1 -1
  121. package/dts/tabs/SegmentedTabs.d.ts +6 -3
  122. package/dts/tabs/SegmentedTabs.d.ts.map +1 -1
  123. package/dts/tabs/Tabs.d.ts +25 -24
  124. package/dts/tabs/Tabs.d.ts.map +1 -1
  125. package/dts/tag/Tag.d.ts.map +1 -1
  126. package/dts/tour/Tour.d.ts +42 -41
  127. package/dts/tour/Tour.d.ts.map +1 -1
  128. package/dts/typography/Link.d.ts +1 -14
  129. package/dts/typography/Link.d.ts.map +1 -1
  130. package/dts/utils/mergeComponentProps.d.ts +34 -0
  131. package/dts/utils/mergeComponentProps.d.ts.map +1 -0
  132. package/dts/visualizations/ProgressBar.d.ts.map +1 -1
  133. package/dts/visualizations/ProgressBarWithFixedLabels.d.ts +5 -3
  134. package/dts/visualizations/ProgressBarWithFixedLabels.d.ts.map +1 -1
  135. package/dts/visualizations/ProgressBarWithFloatLabel.d.ts +3 -1
  136. package/dts/visualizations/ProgressBarWithFloatLabel.d.ts.map +1 -1
  137. package/dts/visualizations/ProgressCircle.d.ts.map +1 -1
  138. package/esm/accordion/Accordion.js +5 -3
  139. package/esm/alpha/combobox/Combobox.js +8 -6
  140. package/esm/alpha/select/Select.js +6 -4
  141. package/esm/alpha/select-chip/SelectChip.js +6 -4
  142. package/esm/alpha/tabbed-chips/TabbedChips.js +6 -4
  143. package/esm/banner/Banner.js +6 -4
  144. package/esm/buttons/AvatarButton.js +6 -4
  145. package/esm/buttons/Button.js +25 -10
  146. package/esm/buttons/ButtonGroup.js +5 -3
  147. package/esm/buttons/IconButton.js +14 -11
  148. package/esm/buttons/IconCounterButton.js +6 -4
  149. package/esm/buttons/SlideButton.js +10 -8
  150. package/esm/buttons/__stories__/Button.stories.js +32 -0
  151. package/esm/buttons/__stories__/IconButton.stories.js +32 -0
  152. package/esm/cards/Card.js +5 -0
  153. package/esm/cards/CardBody.js +5 -0
  154. package/esm/cards/CardFooter.js +4 -0
  155. package/esm/cards/CardGroup.js +14 -0
  156. package/esm/cards/CardHeader.js +9 -0
  157. package/esm/cards/CardMedia.js +10 -0
  158. package/esm/cards/LikeButton.js +6 -4
  159. package/esm/carousel/Carousel.js +10 -8
  160. package/esm/cells/Cell.js +6 -4
  161. package/esm/cells/ListCell.js +6 -4
  162. package/esm/cells/ListCellFallback.js +6 -4
  163. package/esm/chips/Chip.js +6 -4
  164. package/esm/chips/InputChip.js +6 -4
  165. package/esm/chips/MediaChip.js +6 -4
  166. package/esm/chips/TabbedChips.js +6 -4
  167. package/esm/coachmark/Coachmark.js +6 -4
  168. package/esm/collapsible/Collapsible.js +10 -8
  169. package/esm/controls/Checkbox.js +6 -4
  170. package/esm/controls/CheckboxCell.js +6 -4
  171. package/esm/controls/Control.js +8 -6
  172. package/esm/controls/ControlGroup.js +6 -4
  173. package/esm/controls/InputStack.js +6 -4
  174. package/esm/controls/Radio.js +6 -4
  175. package/esm/controls/RadioCell.js +6 -4
  176. package/esm/controls/SearchInput.js +6 -4
  177. package/esm/controls/SelectOption.js +6 -4
  178. package/esm/controls/Switch.js +6 -4
  179. package/esm/controls/TextInput.js +6 -4
  180. package/esm/core/componentConfig.js +1 -0
  181. package/esm/dates/Calendar.js +8 -6
  182. package/esm/dates/DateInput.js +6 -4
  183. package/esm/dates/DatePicker.js +9 -6
  184. package/esm/dots/DotCount.js +6 -4
  185. package/esm/dots/DotStatusColor.js +6 -4
  186. package/esm/dots/DotSymbol.js +6 -4
  187. package/esm/hooks/useComponentConfig.js +27 -0
  188. package/esm/icons/Icon.js +10 -8
  189. package/esm/index.js +2 -0
  190. package/esm/layout/Divider.js +6 -4
  191. package/esm/layout/Fallback.js +6 -4
  192. package/esm/media/Avatar.js +6 -4
  193. package/esm/media/RemoteImage.js +6 -4
  194. package/esm/media/RemoteImageGroup.js +6 -4
  195. package/esm/navigation/BrowserBar.js +6 -4
  196. package/esm/navigation/NavigationTitle.js +6 -4
  197. package/esm/navigation/NavigationTitleSelect.js +8 -6
  198. package/esm/navigation/TopNavBar.js +5 -3
  199. package/esm/numbers/RollingNumber/RollingNumber.js +6 -4
  200. package/esm/numpad/Numpad.js +8 -6
  201. package/esm/overlays/Alert.js +7 -5
  202. package/esm/overlays/Toast.js +10 -8
  203. package/esm/overlays/drawer/Drawer.js +12 -10
  204. package/esm/overlays/modal/Modal.js +4 -1
  205. package/esm/overlays/modal/ModalBody.js +8 -6
  206. package/esm/overlays/modal/ModalFooter.js +8 -6
  207. package/esm/overlays/modal/ModalHeader.js +6 -4
  208. package/esm/overlays/overlay/Overlay.js +6 -4
  209. package/esm/overlays/tooltip/Tooltip.js +5 -3
  210. package/esm/overlays/tray/Tray.js +13 -11
  211. package/esm/page/PageFooter.js +6 -4
  212. package/esm/page/PageHeader.js +6 -4
  213. package/esm/perf/component-config/Button.component-config.perf-test.js +35 -0
  214. package/esm/perf/component-config/ComponentConfigProvider.perf-test.js +147 -0
  215. package/esm/perf/component-config/ComponentConfigStickerSheet.perf-test.js +326 -0
  216. package/esm/perf/component-config/README.md +8 -0
  217. package/esm/stepper/Stepper.js +11 -9
  218. package/esm/system/ComponentConfigProvider.js +39 -0
  219. package/esm/system/__stories__/ComponentConfigProvider.stories.js +12 -0
  220. package/esm/system/__stories__/ComponentConfigProviderCustom.stories.js +22 -0
  221. package/esm/system/__stories__/componentConfigStickerSheet/Container.js +27 -0
  222. package/esm/system/__stories__/componentConfigStickerSheet/StickerSheet.js +94 -0
  223. package/esm/system/__stories__/componentConfigStickerSheet/customComponentConfig.js +116 -0
  224. package/esm/system/__stories__/componentConfigStickerSheet/customTheme.js +520 -0
  225. package/esm/system/__stories__/componentConfigStickerSheet/examples/Accordion.js +67 -0
  226. package/esm/system/__stories__/componentConfigStickerSheet/examples/Avatar.js +48 -0
  227. package/esm/system/__stories__/componentConfigStickerSheet/examples/Banner.js +43 -0
  228. package/esm/system/__stories__/componentConfigStickerSheet/examples/Button.js +77 -0
  229. package/esm/system/__stories__/componentConfigStickerSheet/examples/Coachmark.js +15 -0
  230. package/esm/system/__stories__/componentConfigStickerSheet/examples/Controls.js +29 -0
  231. package/esm/system/__stories__/componentConfigStickerSheet/examples/DatePicker.js +15 -0
  232. package/esm/system/__stories__/componentConfigStickerSheet/examples/DotCount.js +28 -0
  233. package/esm/system/__stories__/componentConfigStickerSheet/examples/Icon.js +57 -0
  234. package/esm/system/__stories__/componentConfigStickerSheet/examples/InputChip.js +17 -0
  235. package/esm/system/__stories__/componentConfigStickerSheet/examples/ListCell.js +48 -0
  236. package/esm/system/__stories__/componentConfigStickerSheet/examples/Search.js +20 -0
  237. package/esm/system/__stories__/componentConfigStickerSheet/examples/SegmentedTabs.js +12 -0
  238. package/esm/system/__stories__/componentConfigStickerSheet/examples/Select.js +24 -0
  239. package/esm/system/__stories__/componentConfigStickerSheet/examples/SelectChip.js +22 -0
  240. package/esm/system/__stories__/componentConfigStickerSheet/examples/Tag.js +35 -0
  241. package/esm/system/__stories__/componentConfigStickerSheet/examples/TextInput.js +46 -0
  242. package/esm/system/__stories__/componentConfigStickerSheet/examples/constants.js +33 -0
  243. package/esm/system/__stories__/componentConfigStickerSheet/themeVars.js +2 -0
  244. package/esm/system/index.js +1 -0
  245. package/esm/tabs/SegmentedTab.js +7 -5
  246. package/esm/tabs/SegmentedTabs.js +9 -4
  247. package/esm/tabs/Tabs.js +12 -10
  248. package/esm/tag/Tag.js +6 -4
  249. package/esm/tour/Tour.js +5 -3
  250. package/esm/typography/Link.js +6 -4
  251. package/esm/utils/mergeComponentProps.js +35 -0
  252. package/esm/visualizations/ProgressBar.js +7 -5
  253. package/esm/visualizations/ProgressBarWithFixedLabels.js +5 -3
  254. package/esm/visualizations/ProgressBarWithFloatLabel.js +5 -3
  255. package/esm/visualizations/ProgressCircle.js +7 -5
  256. package/package.json +4 -3
package/esm/chips/Chip.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, { forwardRef, Fragment, memo } from 'react';
5
5
  import { chipMaxWidth } from '@coinbase/cds-common/tokens/chip';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { Box, HStack } from '../layout';
7
8
  import { InvertedThemeProvider, Pressable } from '../system';
8
9
  import { Text } from '../typography/Text';
@@ -10,8 +11,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  /**
11
12
  * This is a basic Chip component used to create all Chip components.
12
13
  */
13
- export const Chip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Chip(_ref, ref) {
14
- let {
14
+ export const Chip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Chip(_props, ref) {
15
+ const mergedProps = useComponentConfig('Chip', _props);
16
+ const {
15
17
  alignSelf = 'flex-start',
16
18
  children,
17
19
  start,
@@ -40,8 +42,8 @@ export const Chip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Chip(_ref
40
42
  onPress,
41
43
  color = 'fg',
42
44
  font = compact ? 'label1' : 'headline'
43
- } = _ref,
44
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
45
+ } = mergedProps,
46
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
45
47
  const WrapperComponent = (invertColorScheme != null ? invertColorScheme : inverted) ? InvertedThemeProvider : Fragment;
46
48
  const containerProps = {
47
49
  testID,
@@ -2,18 +2,20 @@ const _excluded = ["value", "children", "accessibilityLabel", "invertColorScheme
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, memo } from 'react';
5
+ import { useComponentConfig } from '../hooks/useComponentConfig';
5
6
  import { Icon } from '../icons';
6
7
  import { MediaChip } from './MediaChip';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
- export const InputChip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function InputChip(_ref, ref) {
9
- let {
9
+ export const InputChip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
10
+ const mergedProps = useComponentConfig('InputChip', _props);
11
+ const {
10
12
  value,
11
13
  children = value,
12
14
  accessibilityLabel = typeof children === 'string' ? "Remove " + children : 'Remove option',
13
15
  invertColorScheme = true,
14
16
  testID = 'input-chip'
15
- } = _ref,
16
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
17
+ } = mergedProps,
18
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
17
19
  return /*#__PURE__*/_jsx(MediaChip, _extends({
18
20
  ref: ref,
19
21
  accessibilityLabel: accessibilityLabel,
@@ -3,10 +3,12 @@ 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 { forwardRef, memo, useMemo } from 'react';
5
5
  import { getMediaChipSpacingProps } from '@coinbase/cds-common/chips/getMediaChipSpacingProps';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { Chip } from './Chip';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
- export const MediaChip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MediaChip(_ref, ref) {
9
- let {
9
+ export const MediaChip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MediaChip(_props, ref) {
10
+ const mergedProps = useComponentConfig('MediaChip', _props);
11
+ const {
10
12
  start,
11
13
  children,
12
14
  end,
@@ -18,8 +20,8 @@ export const MediaChip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Medi
18
20
  paddingBottom,
19
21
  paddingStart,
20
22
  paddingEnd
21
- } = _ref,
22
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
23
+ } = mergedProps,
24
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
23
25
  const spacingProps = useMemo(() => {
24
26
  const defaults = getMediaChipSpacingProps({
25
27
  compact: !!compact,
@@ -5,6 +5,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
5
5
  import React, { forwardRef, memo, useCallback, useMemo, useState } from 'react';
6
6
  import { ScrollView } from 'react-native';
7
7
  import { useTabsContext } from '@coinbase/cds-common/tabs/TabsContext';
8
+ import { useComponentConfig } from '../hooks/useComponentConfig';
8
9
  import { useHorizontalScrollToTarget } from '../hooks/useHorizontalScrollToTarget';
9
10
  import { Box, OverflowGradient } from '../layout';
10
11
  import { Tabs } from '../tabs';
@@ -35,15 +36,16 @@ const TabComponent = _ref => {
35
36
  const TabsActiveIndicatorComponent = () => {
36
37
  return null;
37
38
  };
38
- const TabbedChipsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function TabbedChips(_ref2, ref) {
39
- let {
39
+ const TabbedChipsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function TabbedChips(_props, ref) {
40
+ const mergedProps = useComponentConfig('TabbedChips', _props);
41
+ const {
40
42
  tabs,
41
43
  value = tabs[0].id,
42
44
  testID = 'tabbed-chips',
43
45
  onChange,
44
46
  Component = TabComponent
45
- } = _ref2,
46
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
47
+ } = mergedProps,
48
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded2);
47
49
  const activeTab = useMemo(() => tabs.find(tab => tab.id === value), [tabs, value]);
48
50
  const [scrollTarget, setScrollTarget] = useState(null);
49
51
  const handleChange = useCallback(tabValue => {
@@ -4,13 +4,15 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
4
4
  import React, { forwardRef, memo } from 'react';
5
5
  import { useWindowDimensions } from 'react-native';
6
6
  import { IconButton } from '../buttons';
7
+ import { useComponentConfig } from '../hooks/useComponentConfig';
7
8
  import { useTheme } from '../hooks/useTheme';
8
9
  import { Box, HStack, VStack } from '../layout';
9
10
  import { InvertedThemeProvider } from '../system';
10
11
  import { Text } from '../typography/Text';
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- export const Coachmark = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
13
- let {
13
+ export const Coachmark = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
14
+ const mergedProps = useComponentConfig('Coachmark', _props);
15
+ const {
14
16
  title,
15
17
  content,
16
18
  checkbox,
@@ -20,8 +22,8 @@ export const Coachmark = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
20
22
  width,
21
23
  closeButtonAccessibilityLabel,
22
24
  testID
23
- } = _ref,
24
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
25
+ } = mergedProps,
26
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
25
27
  const theme = useTheme();
26
28
  const {
27
29
  width: windowWidth
@@ -4,15 +4,17 @@ import { ScrollView, StyleSheet, View } from 'react-native';
4
4
  import Animated, { useAnimatedReaction, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
5
5
  import { animateInMaxSizeConfig, animateInOpacityConfig, animateOutMaxSizeConfig, animateOutOpacityConfig } from '@coinbase/cds-common/animation/collapsible';
6
6
  import { usePreviousValue } from '@coinbase/cds-common/hooks/usePreviousValue';
7
+ import { useComponentConfig } from '../hooks/useComponentConfig';
7
8
  import { useContentSize } from '../hooks/useContentSize';
8
9
  import { useTheme } from '../hooks/useTheme';
9
10
  import { convertMotionConfigs } from '../motion/convertMotionConfig';
10
11
  import { withMotionTiming } from '../motion/withMotionTiming';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  const ReanimatedView = Animated.createAnimatedComponent(View);
13
- export const Collapsible = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, forwardedRef) => {
14
- var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9;
15
- let {
14
+ export const Collapsible = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, forwardedRef) => {
15
+ var _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8;
16
+ const mergedProps = useComponentConfig('Collapsible', _props);
17
+ const {
16
18
  children,
17
19
  collapsed = true,
18
20
  direction = 'vertical',
@@ -27,7 +29,7 @@ export const Collapsible = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, forw
27
29
  paddingBottom,
28
30
  paddingStart,
29
31
  scrollViewProps
30
- } = _ref;
32
+ } = mergedProps;
31
33
  const theme = useTheme();
32
34
  // TO DO: Remove this after refactoring useContentSize to default values to null on initial render
33
35
  const hasMounted = useRef(false);
@@ -41,10 +43,10 @@ export const Collapsible = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, forw
41
43
  const heightAnimatedValue = useSharedValue(animateInMaxSize.fromValue);
42
44
  const opacityAnimatedValue = useSharedValue(animateInOpacity.fromValue);
43
45
  const spacingStyles = {
44
- paddingTop: theme.space[(_ref2 = (_ref3 = paddingTop != null ? paddingTop : paddingY) != null ? _ref3 : padding) != null ? _ref2 : 0],
45
- paddingEnd: theme.space[(_ref4 = (_ref5 = paddingEnd != null ? paddingEnd : paddingX) != null ? _ref5 : padding) != null ? _ref4 : 0],
46
- paddingBottom: theme.space[(_ref6 = (_ref7 = paddingBottom != null ? paddingBottom : paddingY) != null ? _ref7 : padding) != null ? _ref6 : 0],
47
- paddingStart: theme.space[(_ref8 = (_ref9 = paddingStart != null ? paddingStart : paddingX) != null ? _ref9 : padding) != null ? _ref8 : 0]
46
+ paddingTop: theme.space[(_ref = (_ref2 = paddingTop != null ? paddingTop : paddingY) != null ? _ref2 : padding) != null ? _ref : 0],
47
+ paddingEnd: theme.space[(_ref3 = (_ref4 = paddingEnd != null ? paddingEnd : paddingX) != null ? _ref4 : padding) != null ? _ref3 : 0],
48
+ paddingBottom: theme.space[(_ref5 = (_ref6 = paddingBottom != null ? paddingBottom : paddingY) != null ? _ref6 : padding) != null ? _ref5 : 0],
49
+ paddingStart: theme.space[(_ref7 = (_ref8 = paddingStart != null ? paddingStart : paddingX) != null ? _ref8 : padding) != null ? _ref7 : 0]
48
50
  };
49
51
  const prevCollapsed = usePreviousValue(collapsed);
50
52
 
@@ -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, { forwardRef, memo, useMemo } from 'react';
5
5
  import { Animated } from 'react-native';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { useTheme } from '../hooks/useTheme';
7
8
  import { Icon } from '../icons/Icon';
8
9
  import { Interactable } from '../system/Interactable';
@@ -70,14 +71,15 @@ const CheckboxIcon = /*#__PURE__*/memo(_ref => {
70
71
  })
71
72
  });
72
73
  });
73
- const CheckboxWithRef = /*#__PURE__*/forwardRef(function Checkbox(_ref2, ref) {
74
- let {
74
+ const CheckboxWithRef = /*#__PURE__*/forwardRef(function Checkbox(_props, ref) {
75
+ const mergedProps = useComponentConfig('Checkbox', _props);
76
+ const {
75
77
  children,
76
78
  accessibilityLabel,
77
79
  accessibilityHint,
78
80
  accessible = true
79
- } = _ref2,
80
- props = _objectWithoutPropertiesLoose(_ref2, _excluded);
81
+ } = mergedProps,
82
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
81
83
  const accessibilityLabelValue = typeof children === 'string' && accessibilityLabel === undefined ? children : accessibilityLabel;
82
84
  const accessibilityHintValue = typeof children === 'string' && accessibilityHint === undefined ? children : accessibilityHint;
83
85
  return /*#__PURE__*/_jsx(Control, _extends({
@@ -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, { forwardRef, memo, useCallback, useMemo, useState } from 'react';
5
5
  import { Animated } from 'react-native';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { useLayout } from '../hooks/useLayout';
7
8
  import { useSelectionCellBorderStyle } from '../hooks/useSelectionCellBorderStyle';
8
9
  import { useTheme } from '../hooks/useTheme';
@@ -11,8 +12,9 @@ import { Pressable } from '../system/Pressable';
11
12
  import { Text } from '../typography/Text';
12
13
  import { Checkbox } from './Checkbox';
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- const CheckboxCellWithRef = /*#__PURE__*/forwardRef(function CheckboxCell(_ref, ref) {
15
- let {
15
+ const CheckboxCellWithRef = /*#__PURE__*/forwardRef(function CheckboxCell(_props, ref) {
16
+ const mergedProps = useComponentConfig('CheckboxCell', _props);
17
+ const {
16
18
  title,
17
19
  description,
18
20
  checked,
@@ -42,8 +44,8 @@ const CheckboxCellWithRef = /*#__PURE__*/forwardRef(function CheckboxCell(_ref,
42
44
  indeterminate,
43
45
  readOnly,
44
46
  styles
45
- } = _ref,
46
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
47
+ } = mergedProps,
48
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
47
49
  const theme = useTheme();
48
50
  const [layout, setLayout] = useLayout();
49
51
  const [pressed, setPressed] = useState(false);
@@ -5,13 +5,15 @@ import React, { forwardRef, memo, useCallback, useEffect, useMemo, useRef } from
5
5
  import { I18nManager, Keyboard, Pressable, View } from 'react-native';
6
6
  import { accessibleOpacityDisabled, opacityPressed } from '@coinbase/cds-common/tokens/interactable';
7
7
  import { isDevelopment } from '@coinbase/cds-utils';
8
+ import { useComponentConfig } from '../hooks/useComponentConfig';
8
9
  import { useTheme } from '../hooks/useTheme';
9
10
  import { Text } from '../typography/Text';
10
11
  import { Haptics } from '../utils/haptics';
11
12
  import { useControlMotionProps } from './useControlMotionProps';
12
13
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
- const ControlWithRef = /*#__PURE__*/forwardRef(function ControlWithRef(_ref, ref) {
14
- let {
14
+ const ControlWithRef = /*#__PURE__*/forwardRef(function ControlWithRef(_props, ref) {
15
+ const mergedProps = useComponentConfig('Control', _props);
16
+ const {
15
17
  testID,
16
18
  label,
17
19
  checked,
@@ -37,8 +39,8 @@ const ControlWithRef = /*#__PURE__*/forwardRef(function ControlWithRef(_ref, ref
37
39
  borderWidth,
38
40
  controlSize,
39
41
  dotSize
40
- } = _ref,
41
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
42
+ } = mergedProps,
43
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
42
44
  const theme = useTheme();
43
45
  if (isDevelopment() && accessible && !label && !accessibilityLabel) {
44
46
  console.warn("Please specify an accessibility label for the " + accessibilityRole + " control with value " + value + ".");
@@ -98,10 +100,10 @@ const ControlWithRef = /*#__PURE__*/forwardRef(function ControlWithRef(_ref, ref
98
100
  const handleAccessibilityAction = useCallback(event => {
99
101
  if (event.nativeEvent.actionName === 'activate') handlePress();
100
102
  }, [handlePress]);
101
- const controlIcon = useCallback(_ref2 => {
103
+ const controlIcon = useCallback(_ref => {
102
104
  let {
103
105
  pressed
104
- } = _ref2;
106
+ } = _ref;
105
107
  /**
106
108
  * If the control has label, the label's lineHeight doesn't match the icon size. We need to
107
109
  * wrap the icon with a container that match the lineHeight of the label typography and
@@ -3,10 +3,12 @@ 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 { isDevelopment } from '@coinbase/cds-utils';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { Group } from '../layout';
7
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- const ControlGroupWithRef = /*#__PURE__*/forwardRef(function ControlGroup(_ref, ref) {
9
- let {
9
+ const ControlGroupWithRef = /*#__PURE__*/forwardRef(function ControlGroup(_props, ref) {
10
+ const mergedProps = useComponentConfig('ControlGroup', _props);
11
+ const {
10
12
  ControlComponent,
11
13
  options,
12
14
  label,
@@ -17,8 +19,8 @@ const ControlGroupWithRef = /*#__PURE__*/forwardRef(function ControlGroup(_ref,
17
19
  testID,
18
20
  gap = 2,
19
21
  role = 'group'
20
- } = _ref,
21
- restProps = _objectWithoutPropertiesLoose(_ref, _excluded);
22
+ } = mergedProps,
23
+ restProps = _objectWithoutPropertiesLoose(mergedProps, _excluded);
22
24
  if (isDevelopment() && !label && !ariaLabelledby && !ariaLabel) {
23
25
  console.warn('Please specify a label or aria-labelledby for the ControlGroup.');
24
26
  }
@@ -4,6 +4,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
4
4
  import React, { memo, useMemo } from 'react';
5
5
  import { Animated, StyleSheet, View } from 'react-native';
6
6
  import { accessibleOpacityDisabled } from '@coinbase/cds-common/tokens/interactable';
7
+ import { useComponentConfig } from '../hooks/useComponentConfig';
7
8
  import { useLayout } from '../hooks/useLayout';
8
9
  import { useTheme } from '../hooks/useTheme';
9
10
  import { HStack } from '../layout/HStack';
@@ -18,8 +19,9 @@ const variantColorMap = {
18
19
  foregroundMuted: 'fgMuted',
19
20
  secondary: 'bgSecondary'
20
21
  };
21
- export const InputStack = /*#__PURE__*/memo(function InputStack(_ref) {
22
- let {
22
+ export const InputStack = /*#__PURE__*/memo(function InputStack(_props) {
23
+ const mergedProps = useComponentConfig('InputStack', _props);
24
+ const {
23
25
  /** CDS custom props */
24
26
  width = '100%',
25
27
  prependNode,
@@ -41,8 +43,8 @@ export const InputStack = /*#__PURE__*/memo(function InputStack(_ref) {
41
43
  inputBackground = 'bg',
42
44
  borderWidth = 100,
43
45
  focusedBorderWidth = borderWidth
44
- } = _ref,
45
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
46
+ } = mergedProps,
47
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
46
48
  const theme = useTheme();
47
49
  const [inputAreaSize, onInputAreaLayout] = useLayout();
48
50
  const inputAreaStyle = useMemo(() => {
@@ -4,6 +4,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
4
4
  import React, { forwardRef, memo } from 'react';
5
5
  import { Animated, StyleSheet } from 'react-native';
6
6
  import { Circle, Svg } from 'react-native-svg';
7
+ import { useComponentConfig } from '../hooks/useComponentConfig';
7
8
  import { useTheme } from '../hooks/useTheme';
8
9
  import { Box } from '../layout';
9
10
  import { Interactable } from '../system/Interactable';
@@ -84,13 +85,14 @@ const RadioIcon = _ref2 => {
84
85
  })
85
86
  });
86
87
  };
87
- const RadioWithRef = /*#__PURE__*/forwardRef(function Radio(_ref3, ref) {
88
- let {
88
+ const RadioWithRef = /*#__PURE__*/forwardRef(function Radio(_props, ref) {
89
+ const mergedProps = useComponentConfig('Radio', _props);
90
+ const {
89
91
  children,
90
92
  accessibilityHint,
91
93
  accessibilityLabel
92
- } = _ref3,
93
- props = _objectWithoutPropertiesLoose(_ref3, _excluded);
94
+ } = mergedProps,
95
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
94
96
  const accessibilityLabelValue = typeof children === 'string' && accessibilityLabel === undefined ? children : accessibilityLabel;
95
97
  return /*#__PURE__*/_jsx(Control, _extends({}, props, {
96
98
  ref: ref,
@@ -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, { forwardRef, memo, useCallback, useMemo, useState } from 'react';
5
5
  import { Animated } from 'react-native';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { useLayout } from '../hooks/useLayout';
7
8
  import { useSelectionCellBorderStyle } from '../hooks/useSelectionCellBorderStyle';
8
9
  import { useTheme } from '../hooks/useTheme';
@@ -11,8 +12,9 @@ import { Pressable } from '../system/Pressable';
11
12
  import { Text } from '../typography/Text';
12
13
  import { Radio } from './Radio';
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- const RadioCellWithRef = /*#__PURE__*/forwardRef(function RadioCell(_ref, ref) {
15
- let {
15
+ const RadioCellWithRef = /*#__PURE__*/forwardRef(function RadioCell(_props, ref) {
16
+ const mergedProps = useComponentConfig('RadioCell', _props);
17
+ const {
16
18
  title,
17
19
  description,
18
20
  checked,
@@ -40,8 +42,8 @@ const RadioCellWithRef = /*#__PURE__*/forwardRef(function RadioCell(_ref, ref) {
40
42
  pressedBorderColor = 'bgPrimary',
41
43
  pressedBorderWidth = 200,
42
44
  styles
43
- } = _ref,
44
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
45
+ } = mergedProps,
46
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
45
47
  const theme = useTheme();
46
48
  const [layout, setLayout] = useLayout();
47
49
  const [pressed, setPressed] = useState(false);
@@ -3,12 +3,14 @@ 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, useCallback, useMemo, useRef, useState } from 'react';
5
5
  import { useMergeRefs } from '@coinbase/cds-common/hooks/useMergeRefs';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { Box } from '../layout/Box';
7
8
  import { InputIconButton } from './InputIconButton';
8
9
  import { TextInput } from './TextInput';
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
10
- export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
11
- let {
11
+ export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
12
+ const mergedProps = useComponentConfig('SearchInput', _props);
13
+ const {
12
14
  value,
13
15
  testID,
14
16
  onSearch,
@@ -26,8 +28,8 @@ export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
26
28
  startIconAccessibilityLabel = 'Back',
27
29
  clearIconAccessibilityLabel = 'Clear text',
28
30
  borderRadius = 1000
29
- } = _ref,
30
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
31
+ } = mergedProps,
32
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
31
33
  const [startIconName, setStartIconName] = useState(startIcon != null ? startIcon : 'search');
32
34
  const internalRef = useRef(null);
33
35
  const refs = useMergeRefs(ref, internalRef);
@@ -5,14 +5,16 @@ import React, { memo, useCallback } from 'react';
5
5
  import { selectCellMobileSpacingConfig } from '@coinbase/cds-common/tokens/select';
6
6
  import { Cell } from '../cells/Cell';
7
7
  import { CellAccessory } from '../cells/CellAccessory';
8
+ import { useComponentConfig } from '../hooks/useComponentConfig';
8
9
  import { VStack } from '../layout/VStack';
9
10
  import { Text } from '../typography/Text';
10
11
  import { useSelectContext } from './SelectContext';
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
13
  const selectOptionMinHeight = 56;
13
14
  const selectOptionMaxHeight = 64;
14
- export const SelectOption = /*#__PURE__*/memo(function SelectOption(_ref) {
15
- let {
15
+ export const SelectOption = /*#__PURE__*/memo(_props => {
16
+ const mergedProps = useComponentConfig('SelectOption', _props);
17
+ const {
16
18
  title,
17
19
  description,
18
20
  multiline,
@@ -20,8 +22,8 @@ export const SelectOption = /*#__PURE__*/memo(function SelectOption(_ref) {
20
22
  value,
21
23
  accessibilityLabel,
22
24
  accessibilityHint
23
- } = _ref,
24
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
25
+ } = mergedProps,
26
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
25
27
  const {
26
28
  value: selectedValue,
27
29
  onChange,
@@ -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, { forwardRef, memo, useMemo } from 'react';
5
5
  import { StyleSheet } from 'react-native';
6
+ import { useComponentConfig } from '../hooks/useComponentConfig';
6
7
  import { useTheme } from '../hooks/useTheme';
7
8
  import { Box } from '../layout/Box';
8
9
  import { Interactable } from '../system/Interactable';
@@ -70,11 +71,12 @@ const SwitchIcon = _ref => {
70
71
  })
71
72
  });
72
73
  };
73
- const SwitchWithRef = /*#__PURE__*/forwardRef(function SwitchWithRef(_ref2, ref) {
74
- let {
74
+ const SwitchWithRef = /*#__PURE__*/forwardRef(function SwitchWithRef(_props, ref) {
75
+ const mergedProps = useComponentConfig('Switch', _props);
76
+ const {
75
77
  children
76
- } = _ref2,
77
- props = _objectWithoutPropertiesLoose(_ref2, _excluded);
78
+ } = mergedProps,
79
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
78
80
  const theme = useTheme();
79
81
  const {
80
82
  switchHeight
@@ -5,6 +5,7 @@ import React, { cloneElement, forwardRef, isValidElement, memo, useCallback, use
5
5
  import { Pressable } from 'react-native';
6
6
  import { useInputVariant } from '@coinbase/cds-common/hooks/useInputVariant';
7
7
  import { useMergeRefs } from '@coinbase/cds-common/hooks/useMergeRefs';
8
+ import { useComponentConfig } from '../hooks/useComponentConfig';
8
9
  import { useInputBorderStyle } from '../hooks/useInputBorderStyle';
9
10
  import { useTheme } from '../hooks/useTheme';
10
11
  import { Box } from '../layout/Box';
@@ -25,9 +26,10 @@ const variantColorMap = {
25
26
  foregroundMuted: 'fgMuted',
26
27
  secondary: 'bgSecondary'
27
28
  };
28
- export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
29
+ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
29
30
  var _testIDMap$end, _testIDMap$helperText, _testIDMap$label;
30
- let {
31
+ const mergedProps = useComponentConfig('TextInput', _props);
32
+ const {
31
33
  label,
32
34
  helperText = '',
33
35
  variant = 'foregroundMuted',
@@ -50,8 +52,8 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
50
52
  labelVariant = 'outside',
51
53
  labelNode,
52
54
  inputBackground
53
- } = _ref,
54
- editableInputProps = _objectWithoutPropertiesLoose(_ref, _excluded);
55
+ } = mergedProps,
56
+ editableInputProps = _objectWithoutPropertiesLoose(mergedProps, _excluded);
55
57
  const theme = useTheme();
56
58
  const [focused, setFocused] = useState(false);
57
59
  const focusedVariant = useInputVariant(focused, variant);
@@ -0,0 +1 @@
1
+ export {};
@@ -10,6 +10,7 @@ import { getTimesFromDatesAndRanges } from '@coinbase/cds-common/dates/getTimesF
10
10
  import { useLocale } from '@coinbase/cds-common/system/LocaleProvider';
11
11
  import { accessibleOpacityDisabled } from '@coinbase/cds-common/tokens/interactable';
12
12
  import { useA11y } from '../hooks/useA11y';
13
+ import { useComponentConfig } from '../hooks/useComponentConfig';
13
14
  import { useScreenReaderStatus } from '../hooks/useScreenReaderStatus';
14
15
  import { Icon } from '../icons/Icon';
15
16
  import { Box } from '../layout/Box';
@@ -140,8 +141,9 @@ const CalendarDay = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2, ref) => {
140
141
  return dayButton;
141
142
  }));
142
143
  CalendarDay.displayName = 'CalendarDay';
143
- export const Calendar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3, ref) => {
144
- let {
144
+ export const Calendar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
145
+ const mergedProps = useComponentConfig('Calendar', _props);
146
+ const {
145
147
  selectedDate,
146
148
  seedDate,
147
149
  onPressDate,
@@ -158,8 +160,8 @@ export const Calendar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3, ref) =
158
160
  highlightedDateAccessibilityHint = 'Highlighted',
159
161
  style,
160
162
  styles
161
- } = _ref3,
162
- props = _objectWithoutPropertiesLoose(_ref3, _excluded2);
163
+ } = mergedProps,
164
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded2);
163
165
  const {
164
166
  setA11yFocus,
165
167
  announceForA11y
@@ -316,8 +318,8 @@ export const Calendar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3, ref) =
316
318
  children: day.charAt(0)
317
319
  })
318
320
  }, day))
319
- }), calendarWeeks.map(_ref4 => {
320
- let [weekId, week] = _ref4;
321
+ }), calendarWeeks.map(_ref3 => {
322
+ let [weekId, week] = _ref3;
321
323
  return /*#__PURE__*/_jsx(HStack, {
322
324
  gap: 1,
323
325
  justifyContent: "space-between",
@@ -6,10 +6,12 @@ import { IntlDateFormat } from '@coinbase/cds-common/dates/IntlDateFormat';
6
6
  import { useDateInput } from '@coinbase/cds-common/dates/useDateInput';
7
7
  import { useLocale } from '@coinbase/cds-common/system/LocaleProvider';
8
8
  import { TextInput } from '../controls/TextInput';
9
+ import { useComponentConfig } from '../hooks/useComponentConfig';
9
10
  import { VStack } from '../layout/VStack';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
- export const DateInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
12
- let {
12
+ export const DateInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
13
+ const mergedProps = useComponentConfig('DateInput', _props);
14
+ const {
13
15
  date,
14
16
  onChangeDate,
15
17
  error,
@@ -32,8 +34,8 @@ export const DateInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
32
34
  onEndEditing,
33
35
  testIDMap,
34
36
  style
35
- } = _ref,
36
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
37
+ } = mergedProps,
38
+ props = _objectWithoutPropertiesLoose(mergedProps, _excluded);
37
39
  const hasTyped = useRef(Boolean(date));
38
40
  const {
39
41
  locale