@coinbase/cds-mcp-server 8.62.1 → 8.66.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.
Files changed (315) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/mcp-docs/mobile/components/Accordion.txt +2 -0
  3. package/mcp-docs/mobile/components/AccordionItem.txt +2 -0
  4. package/mcp-docs/mobile/components/Alert.txt +2 -0
  5. package/mcp-docs/mobile/components/AreaChart.txt +92 -250
  6. package/mcp-docs/mobile/components/Avatar.txt +2 -0
  7. package/mcp-docs/mobile/components/AvatarButton.txt +2 -0
  8. package/mcp-docs/mobile/components/Banner.txt +3 -1
  9. package/mcp-docs/mobile/components/BarChart.txt +5 -1
  10. package/mcp-docs/mobile/components/Box.txt +2 -0
  11. package/mcp-docs/mobile/components/BrowserBar.txt +2 -0
  12. package/mcp-docs/mobile/components/Button.txt +4 -2
  13. package/mcp-docs/mobile/components/ButtonGroup.txt +2 -0
  14. package/mcp-docs/mobile/components/Calendar.txt +2 -0
  15. package/mcp-docs/mobile/components/Carousel.txt +2 -0
  16. package/mcp-docs/mobile/components/CartesianChart.txt +22 -7
  17. package/mcp-docs/mobile/components/CellMedia.txt +3 -1
  18. package/mcp-docs/mobile/components/Checkbox.txt +2 -0
  19. package/mcp-docs/mobile/components/CheckboxCell.txt +2 -0
  20. package/mcp-docs/mobile/components/CheckboxGroup.txt +2 -0
  21. package/mcp-docs/mobile/components/Chip.txt +2 -0
  22. package/mcp-docs/mobile/components/Coachmark.txt +2 -0
  23. package/mcp-docs/mobile/components/Collapsible.txt +2 -0
  24. package/mcp-docs/mobile/components/Combobox.txt +2 -0
  25. package/mcp-docs/mobile/components/ContainedAssetCard.txt +2 -0
  26. package/mcp-docs/mobile/components/ContentCard.txt +2 -0
  27. package/mcp-docs/mobile/components/ContentCardBody.txt +2 -0
  28. package/mcp-docs/mobile/components/ContentCardFooter.txt +2 -0
  29. package/mcp-docs/mobile/components/ContentCardHeader.txt +2 -0
  30. package/mcp-docs/mobile/components/ContentCell.txt +2 -0
  31. package/mcp-docs/mobile/components/ControlGroup.txt +2 -0
  32. package/mcp-docs/mobile/components/DataCard.txt +56 -0
  33. package/mcp-docs/mobile/components/DateInput.txt +2 -0
  34. package/mcp-docs/mobile/components/DatePicker.txt +2 -0
  35. package/mcp-docs/mobile/components/Divider.txt +2 -0
  36. package/mcp-docs/mobile/components/DotCount.txt +2 -0
  37. package/mcp-docs/mobile/components/DotStatusColor.txt +2 -0
  38. package/mcp-docs/mobile/components/DotSymbol.txt +3 -1
  39. package/mcp-docs/mobile/components/Fallback.txt +2 -0
  40. package/mcp-docs/mobile/components/FloatingAssetCard.txt +2 -0
  41. package/mcp-docs/mobile/components/HStack.txt +2 -0
  42. package/mcp-docs/mobile/components/HeroSquare.txt +3 -1
  43. package/mcp-docs/mobile/components/Icon.txt +3 -1
  44. package/mcp-docs/mobile/components/IconButton.txt +3 -1
  45. package/mcp-docs/mobile/components/InputChip.txt +2 -0
  46. package/mcp-docs/mobile/components/Interactable.txt +2 -0
  47. package/mcp-docs/mobile/components/Legend.txt +2 -0
  48. package/mcp-docs/mobile/components/LineChart.txt +3 -1
  49. package/mcp-docs/mobile/components/Link.txt +2 -0
  50. package/mcp-docs/mobile/components/ListCell.txt +2 -0
  51. package/mcp-docs/mobile/components/LogoMark.txt +2 -0
  52. package/mcp-docs/mobile/components/LogoWordMark.txt +2 -0
  53. package/mcp-docs/mobile/components/Lottie.txt +2 -0
  54. package/mcp-docs/mobile/components/LottieStatusAnimation.txt +2 -0
  55. package/mcp-docs/mobile/components/MediaCard.txt +2 -0
  56. package/mcp-docs/mobile/components/MediaChip.txt +2 -0
  57. package/mcp-docs/mobile/components/MessagingCard.txt +2 -0
  58. package/mcp-docs/mobile/components/Modal.txt +2 -0
  59. package/mcp-docs/mobile/components/ModalBody.txt +2 -0
  60. package/mcp-docs/mobile/components/ModalFooter.txt +2 -0
  61. package/mcp-docs/mobile/components/ModalHeader.txt +3 -1
  62. package/mcp-docs/mobile/components/MultiContentModule.txt +2 -0
  63. package/mcp-docs/mobile/components/NavigationTitle.txt +2 -0
  64. package/mcp-docs/mobile/components/NavigationTitleSelect.txt +2 -0
  65. package/mcp-docs/mobile/components/NudgeCard.txt +2 -0
  66. package/mcp-docs/mobile/components/Numpad.txt +2 -0
  67. package/mcp-docs/mobile/components/Overlay.txt +2 -0
  68. package/mcp-docs/mobile/components/PageFooter.txt +2 -0
  69. package/mcp-docs/mobile/components/PageHeader.txt +2 -0
  70. package/mcp-docs/mobile/components/PercentageBarChart.txt +819 -0
  71. package/mcp-docs/mobile/components/PeriodSelector.txt +4 -2
  72. package/mcp-docs/mobile/components/Pictogram.txt +2 -0
  73. package/mcp-docs/mobile/components/Point.txt +2 -0
  74. package/mcp-docs/mobile/components/PortalProvider.txt +2 -0
  75. package/mcp-docs/mobile/components/Pressable.txt +2 -0
  76. package/mcp-docs/mobile/components/ProgressBar.txt +2 -0
  77. package/mcp-docs/mobile/components/ProgressBarWithFixedLabels.txt +2 -0
  78. package/mcp-docs/mobile/components/ProgressBarWithFloatLabel.txt +2 -0
  79. package/mcp-docs/mobile/components/ProgressCircle.txt +2 -0
  80. package/mcp-docs/mobile/components/Radio.txt +2 -0
  81. package/mcp-docs/mobile/components/RadioCell.txt +2 -0
  82. package/mcp-docs/mobile/components/RadioGroup.txt +2 -0
  83. package/mcp-docs/mobile/components/ReferenceLine.txt +2 -0
  84. package/mcp-docs/mobile/components/RemoteImage.txt +2 -0
  85. package/mcp-docs/mobile/components/RemoteImageGroup.txt +2 -0
  86. package/mcp-docs/mobile/components/RollingNumber.txt +2 -0
  87. package/mcp-docs/mobile/components/Scrubber.txt +2 -0
  88. package/mcp-docs/mobile/components/SearchInput.txt +2 -0
  89. package/mcp-docs/mobile/components/SectionHeader.txt +2 -0
  90. package/mcp-docs/mobile/components/SegmentedTabs.txt +4 -2
  91. package/mcp-docs/mobile/components/Select.txt +2 -0
  92. package/mcp-docs/mobile/components/SelectAlpha.txt +2 -0
  93. package/mcp-docs/mobile/components/SelectChip.txt +2 -0
  94. package/mcp-docs/mobile/components/SelectChipAlpha.txt +2 -0
  95. package/mcp-docs/mobile/components/SelectOption.txt +2 -0
  96. package/mcp-docs/mobile/components/SlideButton.txt +2 -0
  97. package/mcp-docs/mobile/components/Spacer.txt +2 -0
  98. package/mcp-docs/mobile/components/Sparkline.txt +2 -0
  99. package/mcp-docs/mobile/components/SparklineGradient.txt +2 -0
  100. package/mcp-docs/mobile/components/SparklineInteractive.txt +2 -0
  101. package/mcp-docs/mobile/components/SparklineInteractiveHeader.txt +2 -0
  102. package/mcp-docs/mobile/components/Spinner.txt +2 -0
  103. package/mcp-docs/mobile/components/SpotIcon.txt +2 -0
  104. package/mcp-docs/mobile/components/SpotRectangle.txt +2 -0
  105. package/mcp-docs/mobile/components/SpotSquare.txt +2 -0
  106. package/mcp-docs/mobile/components/Stepper.txt +2 -0
  107. package/mcp-docs/mobile/components/SubBrandLogoMark.txt +2 -0
  108. package/mcp-docs/mobile/components/SubBrandLogoWordMark.txt +2 -0
  109. package/mcp-docs/mobile/components/Switch.txt +2 -0
  110. package/mcp-docs/mobile/components/TabIndicator.txt +2 -0
  111. package/mcp-docs/mobile/components/TabLabel.txt +2 -0
  112. package/mcp-docs/mobile/components/TabNavigation.txt +2 -0
  113. package/mcp-docs/mobile/components/TabbedChips.txt +2 -0
  114. package/mcp-docs/mobile/components/TabbedChipsAlpha.txt +2 -0
  115. package/mcp-docs/mobile/components/Tabs.txt +69 -107
  116. package/mcp-docs/mobile/components/Tag.txt +4 -2
  117. package/mcp-docs/mobile/components/Text.txt +2 -0
  118. package/mcp-docs/mobile/components/TextInput.txt +2 -0
  119. package/mcp-docs/mobile/components/ThemeProvider.txt +2 -0
  120. package/mcp-docs/mobile/components/Toast.txt +2 -0
  121. package/mcp-docs/mobile/components/Tooltip.txt +2 -0
  122. package/mcp-docs/mobile/components/TopNavBar.txt +2 -0
  123. package/mcp-docs/mobile/components/Tour.txt +13 -0
  124. package/mcp-docs/mobile/components/Tray.txt +2 -0
  125. package/mcp-docs/mobile/components/UpsellCard.txt +2 -0
  126. package/mcp-docs/mobile/components/VStack.txt +2 -0
  127. package/mcp-docs/mobile/components/XAxis.txt +2 -0
  128. package/mcp-docs/mobile/components/YAxis.txt +2 -0
  129. package/mcp-docs/mobile/getting-started/ai-overview.txt +2 -0
  130. package/mcp-docs/mobile/getting-started/colors.txt +66 -0
  131. package/mcp-docs/mobile/getting-started/installation.txt +2 -0
  132. package/mcp-docs/mobile/getting-started/introduction.txt +2 -0
  133. package/mcp-docs/mobile/getting-started/playground.txt +2 -0
  134. package/mcp-docs/mobile/getting-started/styling.txt +2 -0
  135. package/mcp-docs/mobile/getting-started/templates.txt +2 -0
  136. package/mcp-docs/mobile/getting-started/theming.txt +2 -0
  137. package/mcp-docs/mobile/guides/v8-migration-guide.txt +2 -0
  138. package/mcp-docs/mobile/hooks/useDimensions.txt +2 -0
  139. package/mcp-docs/mobile/hooks/useEventHandler.txt +2 -0
  140. package/mcp-docs/mobile/hooks/useMergeRefs.txt +2 -0
  141. package/mcp-docs/mobile/hooks/useOverlayContentContext.txt +2 -0
  142. package/mcp-docs/mobile/hooks/usePreviousValue.txt +2 -0
  143. package/mcp-docs/mobile/hooks/useRefMap.txt +2 -0
  144. package/mcp-docs/mobile/hooks/useTheme.txt +2 -0
  145. package/mcp-docs/mobile/routes.txt +3 -1
  146. package/mcp-docs/web/components/Accordion.txt +2 -0
  147. package/mcp-docs/web/components/AccordionItem.txt +2 -0
  148. package/mcp-docs/web/components/Alert.txt +2 -0
  149. package/mcp-docs/web/components/AreaChart.txt +231 -381
  150. package/mcp-docs/web/components/Avatar.txt +2 -0
  151. package/mcp-docs/web/components/AvatarButton.txt +2 -0
  152. package/mcp-docs/web/components/Banner.txt +3 -1
  153. package/mcp-docs/web/components/BarChart.txt +7 -3
  154. package/mcp-docs/web/components/Box.txt +2 -0
  155. package/mcp-docs/web/components/Button.txt +4 -2
  156. package/mcp-docs/web/components/ButtonGroup.txt +2 -0
  157. package/mcp-docs/web/components/Calendar.txt +2 -0
  158. package/mcp-docs/web/components/Carousel.txt +2 -0
  159. package/mcp-docs/web/components/CartesianChart.txt +22 -5
  160. package/mcp-docs/web/components/CellMedia.txt +3 -1
  161. package/mcp-docs/web/components/Checkbox.txt +2 -0
  162. package/mcp-docs/web/components/CheckboxCell.txt +2 -0
  163. package/mcp-docs/web/components/CheckboxGroup.txt +2 -0
  164. package/mcp-docs/web/components/Chip.txt +2 -0
  165. package/mcp-docs/web/components/Coachmark.txt +2 -0
  166. package/mcp-docs/web/components/Collapsible.txt +2 -0
  167. package/mcp-docs/web/components/Combobox.txt +2 -0
  168. package/mcp-docs/web/components/ContainedAssetCard.txt +2 -0
  169. package/mcp-docs/web/components/ContentCard.txt +2 -0
  170. package/mcp-docs/web/components/ContentCardBody.txt +2 -0
  171. package/mcp-docs/web/components/ContentCardFooter.txt +2 -0
  172. package/mcp-docs/web/components/ContentCardHeader.txt +2 -0
  173. package/mcp-docs/web/components/ContentCell.txt +2 -0
  174. package/mcp-docs/web/components/ControlGroup.txt +2 -0
  175. package/mcp-docs/web/components/DataCard.txt +100 -0
  176. package/mcp-docs/web/components/DateInput.txt +2 -0
  177. package/mcp-docs/web/components/DatePicker.txt +2 -0
  178. package/mcp-docs/web/components/Divider.txt +2 -0
  179. package/mcp-docs/web/components/DotCount.txt +2 -0
  180. package/mcp-docs/web/components/DotStatusColor.txt +2 -0
  181. package/mcp-docs/web/components/DotSymbol.txt +3 -1
  182. package/mcp-docs/web/components/Dropdown.txt +2 -0
  183. package/mcp-docs/web/components/Fallback.txt +2 -0
  184. package/mcp-docs/web/components/FloatingAssetCard.txt +2 -0
  185. package/mcp-docs/web/components/FocusTrap.txt +2 -0
  186. package/mcp-docs/web/components/FullscreenAlert.txt +3 -1
  187. package/mcp-docs/web/components/FullscreenModal.txt +2 -0
  188. package/mcp-docs/web/components/FullscreenModalLayout.txt +2 -0
  189. package/mcp-docs/web/components/Grid.txt +2 -0
  190. package/mcp-docs/web/components/GridColumn.txt +2 -0
  191. package/mcp-docs/web/components/HStack.txt +2 -0
  192. package/mcp-docs/web/components/HeroSquare.txt +3 -1
  193. package/mcp-docs/web/components/Icon.txt +3 -1
  194. package/mcp-docs/web/components/IconButton.txt +3 -1
  195. package/mcp-docs/web/components/InputChip.txt +2 -0
  196. package/mcp-docs/web/components/Interactable.txt +2 -0
  197. package/mcp-docs/web/components/Legend.txt +14 -2
  198. package/mcp-docs/web/components/LineChart.txt +3 -40
  199. package/mcp-docs/web/components/Link.txt +2 -0
  200. package/mcp-docs/web/components/ListCell.txt +2 -0
  201. package/mcp-docs/web/components/LogoMark.txt +2 -0
  202. package/mcp-docs/web/components/LogoWordMark.txt +2 -0
  203. package/mcp-docs/web/components/Lottie.txt +2 -0
  204. package/mcp-docs/web/components/LottieStatusAnimation.txt +2 -0
  205. package/mcp-docs/web/components/MediaCard.txt +2 -0
  206. package/mcp-docs/web/components/MediaChip.txt +2 -0
  207. package/mcp-docs/web/components/MediaQueryProvider.txt +2 -0
  208. package/mcp-docs/web/components/MessagingCard.txt +2 -0
  209. package/mcp-docs/web/components/Modal.txt +2 -0
  210. package/mcp-docs/web/components/ModalBody.txt +2 -0
  211. package/mcp-docs/web/components/ModalFooter.txt +2 -0
  212. package/mcp-docs/web/components/ModalHeader.txt +3 -1
  213. package/mcp-docs/web/components/MultiContentModule.txt +2 -0
  214. package/mcp-docs/web/components/NavigationBar.txt +2 -0
  215. package/mcp-docs/web/components/NavigationTitle.txt +2 -0
  216. package/mcp-docs/web/components/NavigationTitleSelect.txt +2 -0
  217. package/mcp-docs/web/components/NudgeCard.txt +2 -0
  218. package/mcp-docs/web/components/Overlay.txt +2 -0
  219. package/mcp-docs/web/components/PageFooter.txt +2 -0
  220. package/mcp-docs/web/components/PageHeader.txt +2 -0
  221. package/mcp-docs/web/components/Pagination.txt +2 -0
  222. package/mcp-docs/web/components/PercentageBarChart.txt +814 -0
  223. package/mcp-docs/web/components/PeriodSelector.txt +4 -2
  224. package/mcp-docs/web/components/Pictogram.txt +2 -0
  225. package/mcp-docs/web/components/Point.txt +2 -0
  226. package/mcp-docs/web/components/PopoverPanel.txt +283 -0
  227. package/mcp-docs/web/components/PortalProvider.txt +2 -0
  228. package/mcp-docs/web/components/Pressable.txt +2 -0
  229. package/mcp-docs/web/components/ProgressBar.txt +2 -0
  230. package/mcp-docs/web/components/ProgressBarWithFixedLabels.txt +2 -0
  231. package/mcp-docs/web/components/ProgressBarWithFloatLabel.txt +2 -0
  232. package/mcp-docs/web/components/ProgressCircle.txt +2 -0
  233. package/mcp-docs/web/components/Radio.txt +2 -0
  234. package/mcp-docs/web/components/RadioCell.txt +2 -0
  235. package/mcp-docs/web/components/RadioGroup.txt +2 -0
  236. package/mcp-docs/web/components/ReferenceLine.txt +2 -0
  237. package/mcp-docs/web/components/RemoteImage.txt +2 -0
  238. package/mcp-docs/web/components/RemoteImageGroup.txt +2 -0
  239. package/mcp-docs/web/components/RollingNumber.txt +2 -0
  240. package/mcp-docs/web/components/Scrubber.txt +2 -0
  241. package/mcp-docs/web/components/SearchInput.txt +2 -0
  242. package/mcp-docs/web/components/SectionHeader.txt +2 -0
  243. package/mcp-docs/web/components/SegmentedControl.txt +2 -0
  244. package/mcp-docs/web/components/SegmentedTabs.txt +4 -2
  245. package/mcp-docs/web/components/Select.txt +2 -0
  246. package/mcp-docs/web/components/SelectAlpha.txt +2 -0
  247. package/mcp-docs/web/components/SelectChip.txt +2 -0
  248. package/mcp-docs/web/components/SelectChipAlpha.txt +2 -0
  249. package/mcp-docs/web/components/SelectOption.txt +2 -0
  250. package/mcp-docs/web/components/Sidebar.txt +2 -0
  251. package/mcp-docs/web/components/SidebarItem.txt +3 -1
  252. package/mcp-docs/web/components/SidebarMoreMenu.txt +2 -0
  253. package/mcp-docs/web/components/Spacer.txt +2 -0
  254. package/mcp-docs/web/components/Sparkline.txt +2 -0
  255. package/mcp-docs/web/components/SparklineGradient.txt +2 -0
  256. package/mcp-docs/web/components/SparklineInteractive.txt +2 -0
  257. package/mcp-docs/web/components/SparklineInteractiveHeader.txt +2 -0
  258. package/mcp-docs/web/components/Spinner.txt +2 -0
  259. package/mcp-docs/web/components/SpotIcon.txt +2 -0
  260. package/mcp-docs/web/components/SpotRectangle.txt +2 -0
  261. package/mcp-docs/web/components/SpotSquare.txt +2 -0
  262. package/mcp-docs/web/components/Stepper.txt +2 -0
  263. package/mcp-docs/web/components/SubBrandLogoMark.txt +2 -0
  264. package/mcp-docs/web/components/SubBrandLogoWordMark.txt +2 -0
  265. package/mcp-docs/web/components/Switch.txt +2 -0
  266. package/mcp-docs/web/components/TabIndicator.txt +2 -0
  267. package/mcp-docs/web/components/TabLabel.txt +2 -0
  268. package/mcp-docs/web/components/TabNavigation.txt +2 -0
  269. package/mcp-docs/web/components/TabbedChips.txt +2 -0
  270. package/mcp-docs/web/components/TabbedChipsAlpha.txt +2 -0
  271. package/mcp-docs/web/components/Table.txt +2 -0
  272. package/mcp-docs/web/components/TableBody.txt +2 -0
  273. package/mcp-docs/web/components/TableCaption.txt +2 -0
  274. package/mcp-docs/web/components/TableCell.txt +2 -0
  275. package/mcp-docs/web/components/TableCellFallback.txt +2 -0
  276. package/mcp-docs/web/components/TableFooter.txt +2 -0
  277. package/mcp-docs/web/components/TableHeader.txt +2 -0
  278. package/mcp-docs/web/components/TableRow.txt +2 -0
  279. package/mcp-docs/web/components/Tabs.txt +72 -104
  280. package/mcp-docs/web/components/Tag.txt +4 -2
  281. package/mcp-docs/web/components/Text.txt +2 -0
  282. package/mcp-docs/web/components/TextInput.txt +2 -0
  283. package/mcp-docs/web/components/ThemeProvider.txt +2 -0
  284. package/mcp-docs/web/components/TileButton.txt +2 -0
  285. package/mcp-docs/web/components/Toast.txt +2 -0
  286. package/mcp-docs/web/components/Tooltip.txt +2 -0
  287. package/mcp-docs/web/components/Tour.txt +14 -0
  288. package/mcp-docs/web/components/Tray.txt +2 -0
  289. package/mcp-docs/web/components/UpsellCard.txt +2 -0
  290. package/mcp-docs/web/components/VStack.txt +2 -0
  291. package/mcp-docs/web/components/XAxis.txt +2 -0
  292. package/mcp-docs/web/components/YAxis.txt +2 -0
  293. package/mcp-docs/web/getting-started/ai-overview.txt +2 -0
  294. package/mcp-docs/web/getting-started/colors.txt +66 -0
  295. package/mcp-docs/web/getting-started/installation.txt +3 -1
  296. package/mcp-docs/web/getting-started/introduction.txt +2 -0
  297. package/mcp-docs/web/getting-started/playground.txt +2 -0
  298. package/mcp-docs/web/getting-started/styling.txt +2 -0
  299. package/mcp-docs/web/getting-started/templates.txt +2 -0
  300. package/mcp-docs/web/getting-started/theming.txt +2 -0
  301. package/mcp-docs/web/guides/v8-migration-guide.txt +2 -0
  302. package/mcp-docs/web/hooks/useBreakpoints.txt +2 -0
  303. package/mcp-docs/web/hooks/useDimensions.txt +2 -0
  304. package/mcp-docs/web/hooks/useEventHandler.txt +2 -0
  305. package/mcp-docs/web/hooks/useHasMounted.txt +2 -0
  306. package/mcp-docs/web/hooks/useIsoEffect.txt +2 -0
  307. package/mcp-docs/web/hooks/useMediaQuery.txt +2 -0
  308. package/mcp-docs/web/hooks/useMergeRefs.txt +2 -0
  309. package/mcp-docs/web/hooks/useOverlayContentContext.txt +2 -0
  310. package/mcp-docs/web/hooks/usePreviousValue.txt +2 -0
  311. package/mcp-docs/web/hooks/useRefMap.txt +2 -0
  312. package/mcp-docs/web/hooks/useScrollBlocker.txt +2 -0
  313. package/mcp-docs/web/hooks/useTheme.txt +2 -0
  314. package/mcp-docs/web/routes.txt +4 -1
  315. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -8,6 +8,46 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.66.1 ((4/27/2026, 12:59 PM PST))
12
+
13
+ This is an artificial version bump with no new change.
14
+
15
+ ## 8.66.0 ((4/16/2026, 01:57 PM PST))
16
+
17
+ This is an artificial version bump with no new change.
18
+
19
+ ## 8.65.0 ((4/16/2026, 10:06 AM PST))
20
+
21
+ This is an artificial version bump with no new change.
22
+
23
+ ## 8.64.5 ((4/16/2026, 06:50 AM PST))
24
+
25
+ This is an artificial version bump with no new change.
26
+
27
+ ## 8.64.4 ((4/10/2026, 01:20 PM PST))
28
+
29
+ This is an artificial version bump with no new change.
30
+
31
+ ## 8.64.3 ((4/8/2026, 05:54 PM PST))
32
+
33
+ This is an artificial version bump with no new change.
34
+
35
+ ## 8.64.2 ((4/8/2026, 11:26 AM PST))
36
+
37
+ This is an artificial version bump with no new change.
38
+
39
+ ## 8.64.1 ((4/7/2026, 12:46 PM PST))
40
+
41
+ This is an artificial version bump with no new change.
42
+
43
+ ## 8.64.0 ((4/2/2026, 07:51 AM PST))
44
+
45
+ This is an artificial version bump with no new change.
46
+
47
+ ## 8.63.0 ((4/1/2026, 03:43 PM PST))
48
+
49
+ This is an artificial version bump with no new change.
50
+
11
51
  ## 8.62.1 ((4/1/2026, 12:25 PM PST))
12
52
 
13
53
  This is an artificial version bump with no new change.
@@ -1,5 +1,7 @@
1
1
  # Accordion
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/layout/Accordion/?platform=mobile
4
+
3
5
  A collapsible component for displaying auxiliary content.
4
6
 
5
7
  ## Import
@@ -1,5 +1,7 @@
1
1
  # AccordionItem
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/layout/AccordionItem/?platform=mobile
4
+
3
5
  An individual collapsible item within an Accordion.
4
6
 
5
7
  ## Import
@@ -1,5 +1,7 @@
1
1
  # Alert
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/overlay/Alert/?platform=mobile
4
+
3
5
  A dialog that communicates critical information and blocks user interaction.
4
6
 
5
7
  ## Import
@@ -1,5 +1,7 @@
1
1
  # AreaChart
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/charts/AreaChart/?platform=mobile
4
+
3
5
  A chart component that displays data as filled areas beneath lines. Ideal for showing cumulative values, stacked data, or emphasizing volume over time.
4
6
 
5
7
  ## Import
@@ -10,7 +12,7 @@ import { AreaChart } from '@coinbase/cds-mobile-visualization'
10
12
 
11
13
  ## Examples
12
14
 
13
- AreaChart is a cartesian chart variant that allows for easy visualization of stacked data.
15
+ AreaChart is a wrapper for [CartesianChart](/components/charts/CartesianChart) that has some unique features over [LineChart](/components/charts/LineChart), such as the ability to stack areas on top of each other and a default value-axis minimum that follows the baseline (`0` when baseline is not set). Charts are built using `@shopify/react-native-skia`.
14
16
 
15
17
  ### Basic Example
16
18
 
@@ -79,7 +81,7 @@ function StackingExample() {
79
81
  3520, 3900,
80
82
  ],
81
83
  color: theme.color.fgPositive,
82
- LineComponent: DottedLine,
84
+ LineComponent: (props) => <DottedLine {...props} dashIntervals={[6, 6]} />,
83
85
  },
84
86
  ]}
85
87
  AreaComponent={(props) => <DottedArea {...props} peakOpacity={0.4} baselineOpacity={0.4} />}
@@ -91,7 +93,7 @@ function StackingExample() {
91
93
 
92
94
  ### Negative Values
93
95
 
94
- When an area chart contains negative values, the baseline automatically adjusts to zero instead of the bottom of the chart. The area fills from the data line to the zero baseline, properly showing both positive and negative regions.
96
+ AreaChart uses the value-axis baseline as the default minimum when `domain.min` is not set (baseline defaults to `0`). If your data crosses below that baseline, the domain expands to include those values so both positive and negative regions render correctly.
95
97
 
96
98
  ```jsx
97
99
  <AreaChart
@@ -143,264 +145,104 @@ You can have different area styles for each series.
143
145
  />
144
146
  ```
145
147
 
146
- ### Animations
147
-
148
- You can configure chart transitions using the `transitions` prop.
149
-
150
- ```jsx
151
- <AreaChart
152
- {...props}
153
- transitions={{
154
- enter: { type: 'spring', stiffness: 700, damping: 80 },
155
- update: { type: 'spring', stiffness: 700, damping: 20 },
156
- }}
157
- />
158
- ```
159
-
160
- Also, you can toggle animations by setting `animate` to `true` or `false`.
161
-
162
- ```jsx
163
- <AreaChart {...props} animate={false} />
164
- ```
165
-
166
- ### Gradients
148
+ ### Composed Examples
167
149
 
168
- You can use the `gradient` prop on `series` to enable gradients.
150
+ #### Custom Baseline
169
151
 
170
- Each stop requires an `offset`, which is based on the data within the x/y scale and `color`, with an optional `opacity` (defaults to 1).
152
+ You can combine a custom baseline with a scrubber label that shows both price and date.
171
153
 
172
- Values in between stops will be interpolated smoothly.
173
-
174
- ```jsx
175
- function ContinuousGradient() {
154
+ ```tsx
155
+ function CustomBaseline() {
176
156
  const theme = useTheme();
177
- const spectrumColors = [
178
- 'blue',
179
- 'green',
180
- 'orange',
181
- 'yellow',
182
- 'gray',
183
- 'indigo',
184
- 'pink',
185
- 'purple',
186
- 'red',
187
- 'teal',
188
- 'chartreuse',
189
- ];
190
- const data = [10, 22, 29, 45, 98, 45, 22, 52, 21, 4, 68, 20, 21, 58];
191
-
192
- const [currentSpectrumColor, setCurrentSpectrumColor] = useState('pink');
193
-
194
- return (
195
- <VStack gap={2}>
196
- <HStack flexWrap="wrap" gap={1} justifyContent="flex-end">
197
- {spectrumColors.map((color) => (
198
- <Pressable
199
- key={color}
200
- accessibilityLabel={`Select ${color}`}
201
- height={16}
202
- onPress={() => setCurrentSpectrumColor(color)}
203
- style={{
204
- backgroundColor: `rgb(${theme.spectrum[`${color}20`]})`,
205
- borderColor: `rgb(${theme.spectrum[`${color}50`]})`,
206
- borderWidth: 2,
207
- borderRadius: 1000,
208
- }}
209
- width={16}
210
- />
211
- ))}
212
- </HStack>
213
- <AreaChart
214
- enableScrubbing
215
- height={250}
216
- series={[
217
- {
218
- id: 'prices',
219
- data: data,
220
- gradient: {
221
- stops: ({ min, max }) => [
222
- { offset: min, color: `rgb(${theme.spectrum[`${currentSpectrumColor}80`]})` },
223
- { offset: max, color: `rgb(${theme.spectrum[`${currentSpectrumColor}20`]})` },
224
- ],
225
- },
226
- },
227
- ]}
228
- showYAxis
229
- yAxis={{
230
- showGrid: true,
231
- }}
232
- >
233
- <Scrubber />
234
- </AreaChart>
235
- </VStack>
157
+ const candles = [...btcCandles].reverse().slice(0, 180);
158
+ const prices = candles.map((candle) => parseFloat(candle.close));
159
+ const dates = candles.map((candle) => new Date(parseInt(candle.start, 10) * 1000));
160
+
161
+ const startingPrice = prices[0];
162
+
163
+ const formatPrice = useCallback((price: number) => {
164
+ return `$${price.toLocaleString('en-US', {
165
+ minimumFractionDigits: 2,
166
+ maximumFractionDigits: 2,
167
+ })}`;
168
+ }, []);
169
+
170
+ const formatPriceInThousands = useCallback((price: number) => {
171
+ return `$${(price / 1000).toLocaleString('en-US', {
172
+ minimumFractionDigits: 0,
173
+ maximumFractionDigits: 0,
174
+ })}k`;
175
+ }, []);
176
+
177
+ const formatDate = useCallback((date: Date) => {
178
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
179
+ }, []);
180
+
181
+ const formatLabel = useCallback(
182
+ (dataIndex: number) => `${formatPrice(prices[dataIndex])} ${formatDate(dates[dataIndex])}`,
183
+ [dates, formatDate, formatPrice, prices],
236
184
  );
237
- }
238
- ```
239
-
240
- #### Discrete
241
185
 
242
- You can set multiple stops at the same offset to create a discrete gradient.
186
+ const PriceLabel = memo((props: ReferenceLineLabelComponentProps) => (
187
+ <DefaultReferenceLineLabel
188
+ {...props}
189
+ background={theme.color.bgSecondary}
190
+ borderRadius={12.5}
191
+ color={theme.color.fg}
192
+ dx={12}
193
+ font="label1"
194
+ horizontalAlignment="left"
195
+ inset={{ top: 4, bottom: 4, left: 8, right: 8 }}
196
+ />
197
+ ));
243
198
 
244
- ```jsx
245
- function DiscreteGradient() {
246
- const theme = useTheme();
247
- const spectrumColors = [
248
- 'blue',
249
- 'green',
250
- 'orange',
251
- 'yellow',
252
- 'gray',
253
- 'indigo',
254
- 'pink',
255
- 'purple',
256
- 'red',
257
- 'teal',
258
- 'chartreuse',
259
- ];
260
- const data = [10, 22, 29, 45, 98, 45, 22, 52, 21, 4, 68, 20, 21, 58];
261
-
262
- const [currentSpectrumColor, setCurrentSpectrumColor] = useState('pink');
199
+ const chartAccessibilityLabel = `Bitcoin area chart with custom baseline. Current price: ${formatPrice(
200
+ prices[prices.length - 1],
201
+ )}. Swipe to navigate.`;
263
202
 
264
- return (
265
- <VStack gap={2}>
266
- <HStack flexWrap="wrap" gap={1} justifyContent="flex-end">
267
- {spectrumColors.map((color) => (
268
- <Pressable
269
- key={color}
270
- accessibilityLabel={`Select ${color}`}
271
- height={16}
272
- onPress={() => setCurrentSpectrumColor(color)}
273
- style={{
274
- backgroundColor: `rgb(${theme.spectrum[`${color}20`]})`,
275
- borderColor: `rgb(${theme.spectrum[`${color}50`]})`,
276
- borderWidth: 2,
277
- borderRadius: 1000,
278
- }}
279
- width={16}
280
- />
281
- ))}
282
- </HStack>
283
- <AreaChart
284
- enableScrubbing
285
- height={250}
286
- series={[
287
- {
288
- id: 'prices',
289
- data: data,
290
- gradient: {
291
- stops: ({ min, max }) => [
292
- { offset: min, color: `rgb(${theme.spectrum[`${currentSpectrumColor}80`]})` },
293
- {
294
- offset: min + (max - min) / 3,
295
- color: `rgb(${theme.spectrum[`${currentSpectrumColor}80`]})`,
296
- },
297
- {
298
- offset: min + (max - min) / 3,
299
- color: `rgb(${theme.spectrum[`${currentSpectrumColor}50`]})`,
300
- },
301
- {
302
- offset: min + ((max - min) / 3) * 2,
303
- color: `rgb(${theme.spectrum[`${currentSpectrumColor}50`]})`,
304
- },
305
- {
306
- offset: min + ((max - min) / 3) * 2,
307
- color: `rgb(${theme.spectrum[`${currentSpectrumColor}20`]})`,
308
- },
309
- { offset: max, color: `rgb(${theme.spectrum[`${currentSpectrumColor}20`]})` },
310
- ],
311
- },
312
- },
313
- ]}
314
- showLines
315
- strokeWidth={4}
316
- showYAxis
317
- yAxis={{
318
- showGrid: true,
319
- }}
320
- fillOpacity={0.5}
321
- >
322
- <Scrubber />
323
- </AreaChart>
324
- </VStack>
203
+ const getScrubberAccessibilityLabel = useCallback(
204
+ (index: number) => `${formatPrice(prices[index])} ${formatDate(dates[index])}`,
205
+ [dates, formatDate, formatPrice, prices],
325
206
  );
326
- }
327
- ```
328
-
329
- #### Axes
330
-
331
- By default, gradients will be applied to the y-axis. You can apply a gradient to the x-axis by setting `axis` to `x` in the gradient definition.
332
-
333
- ```jsx
334
- function XAxisGradient() {
335
- const theme = useTheme();
336
- const spectrumColors = [
337
- 'blue',
338
- 'green',
339
- 'orange',
340
- 'yellow',
341
- 'gray',
342
- 'indigo',
343
- 'pink',
344
- 'purple',
345
- 'red',
346
- 'teal',
347
- 'chartreuse',
348
- ];
349
- const data = [10, 22, 29, 45, 98, 45, 22, 52, 21, 4, 68, 20, 21, 58];
350
-
351
- const [currentSpectrumColor, setCurrentSpectrumColor] = useState('pink');
352
207
 
353
208
  return (
354
- <VStack gap={2}>
355
- <HStack flexWrap="wrap" gap={1} justifyContent="flex-end">
356
- {spectrumColors.map((color) => (
357
- <Pressable
358
- key={color}
359
- accessibilityLabel={`Select ${color}`}
360
- height={16}
361
- onPress={() => setCurrentSpectrumColor(color)}
362
- style={{
363
- backgroundColor: `rgb(${theme.spectrum[`${color}20`]})`,
364
- borderColor: `rgb(${theme.spectrum[`${color}50`]})`,
365
- borderWidth: 2,
366
- borderRadius: 1000,
367
- }}
368
- width={16}
369
- />
370
- ))}
371
- </HStack>
372
- <AreaChart
373
- enableScrubbing
374
- height={250}
375
- series={[
376
- {
377
- id: 'prices',
378
- data: data,
379
- gradient: {
380
- axis: 'x',
381
- stops: ({ min, max }) => [
382
- {
383
- offset: min,
384
- color: `rgb(${theme.spectrum[`${currentSpectrumColor}80`]})`,
385
- opacity: 0,
386
- },
387
- {
388
- offset: max,
389
- color: `rgb(${theme.spectrum[`${currentSpectrumColor}20`]})`,
390
- opacity: 1,
391
- },
392
- ],
393
- },
209
+ <AreaChart
210
+ enableScrubbing
211
+ showLines
212
+ showYAxis
213
+ accessibilityLabel={chartAccessibilityLabel}
214
+ getScrubberAccessibilityLabel={getScrubberAccessibilityLabel}
215
+ fillOpacity={0.5}
216
+ height={300}
217
+ series={[
218
+ {
219
+ id: 'prices',
220
+ data: prices,
221
+ gradient: {
222
+ stops: [
223
+ { offset: startingPrice, color: theme.color.fgNegative },
224
+ { offset: startingPrice, color: theme.color.fgPositive },
225
+ ],
394
226
  },
395
- ]}
396
- showYAxis
397
- yAxis={{
398
- showGrid: true,
399
- }}
400
- >
401
- <Scrubber />
402
- </AreaChart>
403
- </VStack>
227
+ },
228
+ ]}
229
+ yAxis={{
230
+ baseline: startingPrice,
231
+ showGrid: true,
232
+ tickLabelFormatter: formatPriceInThousands,
233
+ domain: { min: 70000, max: 120000 },
234
+ ticks: [80000, 100000, 120000],
235
+ }}
236
+ >
237
+ <Scrubber label={formatLabel} labelElevated />
238
+ <ReferenceLine
239
+ LabelComponent={PriceLabel}
240
+ LineComponent={(props) => <DottedLine {...props} dashIntervals={[0, 16]} strokeWidth={3} />}
241
+ dataY={startingPrice}
242
+ stroke={theme.color.fg}
243
+ label={formatPrice(startingPrice)}
244
+ />
245
+ </AreaChart>
404
246
  );
405
247
  }
406
248
  ```
@@ -525,7 +367,7 @@ function XAxisGradient() {
525
367
  | `top` | `string \| number` | No | `-` | - |
526
368
  | `transform` | `string \| (({ perspective: AnimatableNumericValue; } & { rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotate: AnimatableStringValue; } & { perspective?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotateX: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotateY: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotateZ: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ scale: AnimatableNumericValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ scaleX: AnimatableNumericValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ scaleY: AnimatableNumericValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ translateX: AnimatableNumericValue \| ${number}%; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ translateY: AnimatableNumericValue \| ${number}%; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ skewX: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ skewY: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; matrix?: undefined; }) \| ({ matrix: AnimatableNumericValue[]; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; }))[]` | No | `-` | - |
527
369
  | `transition` | `{ type: timing; } & TimingConfig & { delay?: number \| undefined; } \| { type: spring; } & { stiffness?: number \| undefined; overshootClamping?: boolean \| undefined; restDisplacementThreshold?: number \| undefined; restSpeedThreshold?: number \| undefined; velocity?: number \| undefined; reduceMotion?: ReduceMotion \| undefined; } & { mass?: number \| undefined; damping?: number \| undefined; duration?: undefined; dampingRatio?: undefined; clamp?: undefined; } & { delay?: number \| undefined; } \| { type: spring; } & { stiffness?: number \| undefined; overshootClamping?: boolean \| undefined; restDisplacementThreshold?: number \| undefined; restSpeedThreshold?: number \| undefined; velocity?: number \| undefined; reduceMotion?: ReduceMotion \| undefined; } & { mass?: undefined; damping?: undefined; duration?: number \| undefined; dampingRatio?: number \| undefined; clamp?: { min?: number \| undefined; max?: number \| undefined; } \| undefined; } & { delay?: number \| undefined; }` | No | `-` | Transition for updates. |
528
- | `transitions` | `{ enter?: Transition \| null; update?: Transition \| null \| undefined; } \| undefined` | No | `transitions = {{ enter: { type: 'timing', duration: 500 }, update: { type: 'spring', stiffness: 900, damping: 120 } }}` | Transition configuration for enter and update animations. |
370
+ | `transitions` | `{ enter?: Transition \| null; enterOpacity?: Transition \| null \| undefined; update?: Transition \| null \| undefined; } \| undefined` | No | `transitions = {{ enter: { type: 'timing', duration: 500 }, enterOpacity: undefined, update: { type: 'spring', stiffness: 900, damping: 120 } }}` | Transition configuration for enter and update animations. |
529
371
  | `type` | `solid \| dotted \| gradient` | No | `'solid'` | The type of area to render. |
530
372
  | `userSelect` | `none \| auto \| text \| contain \| all` | No | `-` | - |
531
373
  | `width` | `string \| number` | No | `-` | - |
@@ -1,5 +1,7 @@
1
1
  # Avatar
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/media/Avatar/?platform=mobile
4
+
3
5
  Avatar is a visual representation of a user, company, or entity.
4
6
 
5
7
  ## Import
@@ -1,5 +1,7 @@
1
1
  # AvatarButton
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/inputs/AvatarButton/?platform=mobile
4
+
3
5
  A pressable Avatar.
4
6
 
5
7
  ## Import
@@ -1,5 +1,7 @@
1
1
  # Banner
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/feedback/Banner/?platform=mobile
4
+
3
5
  Displays important messages and actions to users.
4
6
 
5
7
  ## Import
@@ -149,7 +151,7 @@ Avoid setting `borderRadius` for `styleVariant="global"` so the vertical status
149
151
 
150
152
  | Prop | Type | Required | Default | Description |
151
153
  | --- | --- | --- | --- | --- |
152
- | `startIcon` | `key \| search \| pin \| filter \| visible \| continuous \| auto \| loop \| image \| menu \| list \| application \| document \| grid \| group \| warning \| error \| account \| activity \| add \| addPeople \| advancedMarketSelector \| advancedTradeProduct \| affiliates \| airdrop \| airdropAlt \| airdropCoins \| airdropParachute \| alien \| allTimeHigh \| allocation \| annotation \| api \| apiPlug \| apothecary \| appSwitcher \| apple \| appleLogo \| arrowDown \| arrowLeft \| arrowRight \| arrowUp \| arrowsHorizontal \| arrowsUpDown \| arrowsVertical \| artwork \| assetHubProduct \| assetManagementProduct \| astronautHelmet \| atSign \| atomScience \| autoCar \| avatar \| average \| backArrow \| ballot \| ballotbox \| bandage \| bank \| barChartSimple \| barChartWindow \| base \| baseApps \| baseFeed \| baseNotification \| baseQuickBuy \| baseSquare \| baseTransact \| baseVerification \| baseWallet \| baseball \| basketball \| beaker \| beginningArrow \| bell \| bellCheck \| bellPlus \| birthcertificate \| block \| blockchain \| blog \| book \| bookmark \| borrowProduct \| boxing \| bridging \| briefcase \| briefcaseAlt \| browser \| bug \| building \| calculator \| calendar \| calendarBlank \| calendarDates \| calendarEmpty \| calendarHeart \| calendarMoney \| calendarStar \| camera \| candlesticks \| car \| card \| caret \| caretDown \| caretLeft \| caretRight \| caretUp \| cash \| cashAustralianDollar \| cashBrazilianReal \| cashBrazillianReal \| cashCanadianDollar \| cashCoins \| cashEUR \| cashGBP \| cashIndonesianRupiah \| cashJPY \| cashPhilippinePeso \| cashPolishZloty \| cashRupee \| cashSingaporeDollar \| cashSwissFranc \| cashThaiBaht \| cashTurkishLira \| cashUSD \| cashUaeDirham \| cashVietnameseDong \| chainLink \| chartBar \| chartCandles \| chartLine \| chartPie \| chartPieCircle \| chartVolume \| chatBotAgent \| chatBubble \| chatRequests \| checkboxChecked \| checkboxEmpty \| checkmark \| chess \| circleCheckmark \| circleCross \| circulatingSupply \| city \| clipboard \| clock \| clockOutline \| close \| closeCaption \| clothing \| cloud \| cloudPartial \| cloudProduct \| cluster \| coinbase \| coinbaseCardProduct \| coinbaseOne \| coinbaseOneCard \| coinbaseOneLogo \| coinbaseRewards \| coinsCrypto \| collapse \| collectibles \| collection \| comment \| commentPlus \| commerceProduct \| compass \| complianceProduct \| compose \| computerChip \| concierge \| conciergeBell \| config \| convert \| copy \| corporation \| creatorCoin \| cricket \| cross \| crossTrade \| crypto \| cryptobasics \| crystalBall \| crystalBallInsight \| currencies \| custodyProduct \| dashboard \| dataMarketplaceProduct \| dataStack \| defi \| delegateProduct \| deposit \| derivatives \| derivativesProduct \| derivativesProductNew \| developerAPIProduct \| developerPlatformProduct \| dex \| diagonalDownArrow \| diagonalRightArrow \| diagonalUpArrow \| diamond \| diamondIncentives \| dinnerPlate \| directDeposit \| directDepositIcon \| disabledPhone \| discordLogo \| distribution \| documentation \| dot \| doubleChevronRight \| downArrow \| download \| drag \| drops \| earn \| earnProduct \| earnRewards \| earthquake \| educationBook \| educationPencil \| email \| endArrow \| entertainment \| ethereum \| eventContracts \| exchangeProduct \| exclamationMark \| expand \| expandAddress \| expandAll \| externalLink \| eye \| faceScan \| faces \| factory \| faucet \| fib \| filmStrip \| filterLineStack \| fingerprint \| flame \| folder \| folderArrow \| folderOpen \| followAdd \| following \| football \| fork \| forwardArrow \| fscsProtection \| gab \| games \| gaming \| gasFees \| gasFeesAlt \| gauge \| gaugeEmpty \| gaugeHigh \| gaugeHighLow \| gaugeHighMid \| gaugeLow \| gaugeLowHigh \| gaugeLowMid \| gaugeMedium \| gavel \| gear \| generalCharacter \| ghost \| gif \| giftBox \| giftCard \| gitHubLogo \| globe \| golf \| googleLogo \| greenEnergy \| hamburger \| hammer \| heart \| helpCenterProduct \| helpCenterQuestionMark \| hiddenEye \| hockey \| home \| horizontalLine \| hospital \| hospitalCross \| hurricane \| ideal \| identityCard \| info \| initiator \| instagramLogo \| instantUnstakingClock \| institute \| institutionalProduct \| interest \| invisible \| invoice \| keyboard \| laptop \| leadChart \| leadCoin \| learningRewardsProduct \| light \| lightbulb \| lightning \| lightningBolt \| lineChartCrypto \| location \| lock \| login \| logout \| magnifyingGlass \| marketCap \| medal \| megaphone \| metaverse \| microphone \| microphoneCordless \| microscope \| mint \| minus \| mma \| moneyCardCoin \| moon \| more \| moreVertical \| motorsport \| music \| musicArticles \| needle \| newsFeed \| newsletter \| nft \| nftBuy \| nftOffer \| nftProduct \| nftSale \| noRocket \| noWifi \| nodeProduct \| oil \| options \| orderBook \| orderHistory \| outline \| pFPS \| paperAirplane \| paperclip \| participate \| participateProduct \| passKey \| passport \| pause \| pay \| payProduct \| paymentCard \| payments \| payouts \| paypal \| pencil \| peopleGroup \| peopleStar \| percentage \| perpetualSwap \| phone \| pieChartData \| pieChartWithArrow \| pillBottle \| pillCapsule \| plane \| planet \| play \| playbutton \| plusMinus \| podiumStar \| politicsBuilding \| politicsCandidate \| politicsFlag \| politicsGavel \| politicsPodium \| politicsStar \| powerTool \| priceAlerts \| priceAlertsCheck \| primePoduct \| privateClientProduct \| proProduct \| profile \| protection \| pulse \| pyramid \| qrCode \| qrCodeAlt \| queryTransact \| questionMark \| quotation \| rain \| ratingsCheck \| ratingsChecks \| ratingsStar \| reCenter \| rectangle \| recurring \| refresh \| regulated \| regulatedFutures \| report \| rewardsProduct \| ribbon \| robot \| rocket \| rocketShip \| rollingSpot \| rosettaProduct \| rottenTomato \| royalty \| safe \| save \| savingsBank \| scanQrCode \| scienceAtom \| scienceBeaker \| scienceMoon \| securityKey \| securityShield \| seen \| sendReceive \| setPinCode \| settings \| share \| shield \| shieldOutline \| shoe \| shoppingCart \| signinProduct \| singleCoin \| singleNote \| singlecloud \| smartContract \| snow \| soccer \| socialChat \| socialReshare \| socialShare \| sofort \| sortDoubleArrow \| sortDown \| sortDownCenter \| sortUp \| sortUpCenter \| soundOff \| soundOn \| sparkle \| speaker \| speechBubble \| stableCoin \| stablecoinStack \| staggeredList \| stake \| staking \| star \| starAward \| starBubble \| starTrophy \| statusDot \| step0 \| step1 \| step2 \| step3 \| step4 \| step5 \| step6 \| step7 \| step8 \| step9 \| strategy \| sun \| support \| tag \| taxes \| taxesReceipt \| telephone \| tennis \| test \| thermometer \| thumbsDown \| thumbsDownOutline \| thumbsUp \| thumbsUpOutline \| tokenLaunchCoin \| tokenLaunchRocket \| tokenSales \| tornado \| trading \| transactions \| trashCan \| trophy \| trophyCup \| tshirt \| tv \| tvStand \| twitterLogo \| ultility \| umbrella \| undo \| unfollowPeople \| unknown \| unlock \| upArrow \| upload \| usdc \| venturesProduct \| verifiedBadge \| verifiedPools \| verticalLine \| virus \| waasProduct \| wallet \| walletLogo \| walletProduct \| webhooks \| wellness \| wifi \| wind \| wireTransfer \| withdraw \| wrapToken \| xLogo` | Yes | `-` | Name of icon to be shown in the banner |
154
+ | `startIcon` | `key \| search \| pin \| filter \| visible \| continuous \| auto \| column \| loop \| image \| menu \| list \| application \| document \| grid \| group \| warning \| error \| account \| activity \| add \| addPeople \| advancedMarketSelector \| advancedTradeProduct \| affiliates \| airdrop \| airdropAlt \| airdropCoins \| airdropParachute \| alien \| allTimeHigh \| allocation \| annotation \| api \| apiPlug \| apothecary \| appSwitcher \| apple \| appleLogo \| arrowDown \| arrowLeft \| arrowRight \| arrowUp \| arrowsHorizontal \| arrowsUpDown \| arrowsVertical \| artwork \| assetHubProduct \| assetManagementProduct \| astronautHelmet \| atSign \| atomScience \| autoCar \| avatar \| average \| backArrow \| ballot \| ballotbox \| bandage \| bank \| barChartSimple \| barChartWindow \| base \| baseApps \| baseFeed \| baseLock \| baseNotification \| baseQuickBuy \| baseSquare \| baseTransact \| baseVerification \| baseWallet \| baseball \| basketball \| beaker \| beginningArrow \| bell \| bellCheck \| bellPlus \| birthcertificate \| block \| blockchain \| blog \| book \| bookmark \| borrowProduct \| boxing \| bridging \| briefcase \| briefcaseAlt \| browser \| bug \| building \| calculator \| calendar \| calendarBlank \| calendarDates \| calendarEmpty \| calendarHeart \| calendarMoney \| calendarStar \| camera \| candlesticks \| car \| card \| caret \| caretCollapse \| caretDown \| caretExpand \| caretLeft \| caretRight \| caretUp \| cash \| cashAustralianDollar \| cashBrazilianReal \| cashBrazillianReal \| cashCanadianDollar \| cashCoins \| cashEUR \| cashGBP \| cashIndonesianRupiah \| cashJPY \| cashPhilippinePeso \| cashPolishZloty \| cashRupee \| cashSingaporeDollar \| cashSwissFranc \| cashThaiBaht \| cashTurkishLira \| cashUSD \| cashUaeDirham \| cashVietnameseDong \| chainLink \| chartBar \| chartCandles \| chartLine \| chartPie \| chartPieCircle \| chartVolume \| chatBotAgent \| chatBubble \| chatRequests \| checkboxChecked \| checkboxEmpty \| checkmark \| chess \| circleCheckmark \| circleCross \| circulatingSupply \| city \| clipboard \| clock \| clockOutline \| close \| closeCaption \| clothing \| cloud \| cloudPartial \| cloudProduct \| cluster \| coinbase \| coinbaseCardProduct \| coinbaseOne \| coinbaseOneCard \| coinbaseOneLogo \| coinbaseRewards \| coinsCrypto \| collapse \| collectibles \| collection \| comment \| commentPlus \| commerceProduct \| compass \| complianceProduct \| compose \| computerChip \| concierge \| conciergeBell \| config \| convert \| copy \| corporation \| creatorCoin \| cricket \| cross \| crossTrade \| crypto \| cryptobasics \| crystalBall \| crystalBallInsight \| currencies \| custodyProduct \| dashboard \| dataMarketplaceProduct \| dataStack \| defi \| delegateProduct \| deposit \| derivatives \| derivativesProduct \| derivativesProductNew \| developerAPIProduct \| developerPlatformProduct \| dex \| diagonalDownArrow \| diagonalRightArrow \| diagonalUpArrow \| diamond \| diamondIncentives \| dinnerPlate \| directDeposit \| directDepositIcon \| disabledPhone \| discordLogo \| distribution \| documentation \| dot \| doubleChevronRight \| downArrow \| download \| drag \| drops \| earn \| earnProduct \| earnRewards \| earthquake \| educationBook \| educationPencil \| email \| endArrow \| entertainment \| ethereum \| eventContracts \| exchangeProduct \| exclamationMark \| expand \| expandAddress \| expandAll \| externalLink \| eye \| faceScan \| faces \| factory \| faucet \| fib \| filmStrip \| filterLineStack \| fingerprint \| flame \| folder \| folderArrow \| folderOpen \| followAdd \| following \| football \| fork \| forwardArrow \| fscsProtection \| gab \| games \| gaming \| gasFees \| gasFeesAlt \| gauge \| gaugeEmpty \| gaugeHigh \| gaugeHighLow \| gaugeHighMid \| gaugeLow \| gaugeLowHigh \| gaugeLowMid \| gaugeMedium \| gavel \| gear \| generalCharacter \| ghost \| gif \| giftBox \| giftCard \| gitHubLogo \| globe \| golf \| googleLogo \| greenEnergy \| hamburger \| hammer \| heart \| helpCenterProduct \| helpCenterQuestionMark \| hiddenEye \| hockey \| home \| horizontalLine \| hospital \| hospitalCross \| hurricane \| ideal \| identityCard \| info \| initiator \| instagramLogo \| instantUnstakingClock \| institute \| institutionalProduct \| interest \| invisible \| invoice \| keyboard \| laptop \| leadChart \| leadCoin \| learningRewardsProduct \| light \| lightbulb \| lightning \| lightningBolt \| lineChartCrypto \| location \| lock \| login \| logout \| magnifyingGlass \| marketCap \| medal \| megaphone \| metaverse \| microphone \| microphoneCordless \| microscope \| mint \| minus \| mma \| moneyCardCoin \| moon \| more \| moreVertical \| motorsport \| music \| musicArticles \| needle \| newsFeed \| newsletter \| nft \| nftBuy \| nftOffer \| nftProduct \| nftSale \| noRocket \| noWifi \| nodeProduct \| oil \| options \| orderBook \| orderHistory \| outline \| overPredictions \| pFPS \| paperAirplane \| paperclip \| participate \| participateProduct \| passKey \| passport \| pause \| pay \| payProduct \| paymentCard \| payments \| payouts \| paypal \| pencil \| peopleGroup \| peopleStar \| percentage \| perpetualSwap \| phone \| pieChartData \| pieChartWithArrow \| pillBottle \| pillCapsule \| plane \| planet \| play \| playbutton \| plusMinus \| podiumStar \| politicsBuilding \| politicsCandidate \| politicsFlag \| politicsGavel \| politicsPodium \| politicsStar \| powerTool \| priceAlerts \| priceAlertsCheck \| primePoduct \| privateClientProduct \| proProduct \| profile \| protection \| pulse \| pyramid \| qrCode \| qrCodeAlt \| queryTransact \| questionMark \| quotation \| rain \| ratingsCheck \| ratingsChecks \| ratingsStar \| reCenter \| rectangle \| recurring \| refresh \| regulated \| regulatedFutures \| report \| rewardsProduct \| ribbon \| robot \| rocket \| rocketShip \| rollingSpot \| rosettaProduct \| rottenTomato \| royalty \| safe \| save \| savingsBank \| scanQrCode \| scienceAtom \| scienceBeaker \| scienceMoon \| securityKey \| securityShield \| seen \| sendReceive \| setPinCode \| settings \| share \| shield \| shieldOutline \| shoe \| shoppingCart \| signinProduct \| singleCoin \| singleNote \| singlecloud \| smartContract \| snow \| soccer \| socialChat \| socialReshare \| socialShare \| sofort \| sortDoubleArrow \| sortDown \| sortDownCenter \| sortUp \| sortUpCenter \| soundOff \| soundOn \| sparkle \| speaker \| speechBubble \| stableCoin \| stablecoinStack \| staggeredList \| stake \| staking \| star \| starAward \| starBubble \| starTrophy \| statusDot \| step0 \| step1 \| step2 \| step3 \| step4 \| step5 \| step6 \| step7 \| step8 \| step9 \| strategy \| sun \| support \| tag \| taxes \| taxesReceipt \| telephone \| tennis \| test \| thermometer \| thumbsDown \| thumbsDownOutline \| thumbsUp \| thumbsUpOutline \| tokenLaunchCoin \| tokenLaunchRocket \| tokenSales \| tornado \| trading \| transactions \| trashCan \| trophy \| trophyCup \| tshirt \| tv \| tvStand \| twitterLogo \| ultility \| umbrella \| underPredictions \| undo \| unfollowPeople \| unknown \| unlock \| upArrow \| upload \| usdc \| venturesProduct \| verifiedBadge \| verifiedPools \| verticalLine \| virus \| waasProduct \| wallet \| walletLogo \| walletProduct \| webhooks \| wellness \| wifi \| wind \| wireTransfer \| withdraw \| wrapToken \| xLogo` | Yes | `-` | Name of icon to be shown in the banner |
153
155
  | `variant` | `warning \| promotional \| informational \| error` | Yes | `-` | Sets the variant of the banner - which is responsible for foreground and background color assignment |
154
156
  | `alignContent` | `flex-start \| flex-end \| center \| stretch \| space-between \| space-around \| space-evenly` | No | `-` | - |
155
157
  | `alignItems` | `flex-start \| flex-end \| center \| stretch \| baseline` | No | `-` | - |
@@ -1,5 +1,7 @@
1
1
  # BarChart
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/charts/BarChart/?platform=mobile
4
+
3
5
  A bar chart component for comparing values across categories. Supports horizontal and vertical orientations, stacked bars, and grouped series.
4
6
 
5
7
  ## Import
@@ -10,6 +12,8 @@ import { BarChart } from '@coinbase/cds-mobile-visualization'
10
12
 
11
13
  ## Examples
12
14
 
15
+ BarChart is a wrapper for [CartesianChart](/components/charts/CartesianChart) for comparing discrete categories, with a default value-axis minimum that follows the baseline (`0` when baseline is not set). Charts are built using `@shopify/react-native-skia`.
16
+
13
17
  ### Basics
14
18
 
15
19
  Bar charts are a useful component for comparing discrete categories of data.
@@ -1356,7 +1360,7 @@ function BuyVsSellExample() {
1356
1360
  | `top` | `string \| number` | No | `-` | - |
1357
1361
  | `transform` | `string \| (({ perspective: AnimatableNumericValue; } & { rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotate: AnimatableStringValue; } & { perspective?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotateX: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotateY: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ rotateZ: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ scale: AnimatableNumericValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ scaleX: AnimatableNumericValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ scaleY: AnimatableNumericValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ translateX: AnimatableNumericValue \| ${number}%; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ translateY: AnimatableNumericValue \| ${number}%; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; skewX?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ skewX: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewY?: undefined; matrix?: undefined; }) \| ({ skewY: AnimatableStringValue; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; matrix?: undefined; }) \| ({ matrix: AnimatableNumericValue[]; } & { perspective?: undefined; rotate?: undefined; rotateX?: undefined; rotateY?: undefined; rotateZ?: undefined; scale?: undefined; scaleX?: undefined; scaleY?: undefined; translateX?: undefined; translateY?: undefined; skewX?: undefined; skewY?: undefined; }))[]` | No | `-` | - |
1358
1362
  | `transition` | `{ type: timing; } & TimingConfig & { delay?: number \| undefined; } \| { type: spring; } & { stiffness?: number \| undefined; overshootClamping?: boolean \| undefined; restDisplacementThreshold?: number \| undefined; restSpeedThreshold?: number \| undefined; velocity?: number \| undefined; reduceMotion?: ReduceMotion \| undefined; } & { mass?: number \| undefined; damping?: number \| undefined; duration?: undefined; dampingRatio?: undefined; clamp?: undefined; } & { delay?: number \| undefined; } \| { type: spring; } & { stiffness?: number \| undefined; overshootClamping?: boolean \| undefined; restDisplacementThreshold?: number \| undefined; restSpeedThreshold?: number \| undefined; velocity?: number \| undefined; reduceMotion?: ReduceMotion \| undefined; } & { mass?: undefined; damping?: undefined; duration?: number \| undefined; dampingRatio?: number \| undefined; clamp?: { min?: number \| undefined; max?: number \| undefined; } \| undefined; } & { delay?: number \| undefined; }` | No | `-` | Transition for updates. |
1359
- | `transitions` | `{ enter?: BarTransition \| null; update?: BarTransition \| null \| undefined; } \| undefined` | No | `transitions = {{ enter: { type: 'spring', stiffness: 900, damping: 120, staggerDelay: 250 }, update: { type: 'spring', stiffness: 900, damping: 120 } }}` | Transition configuration for enter and update animations. |
1363
+ | `transitions` | `{ enter?: BarTransition \| null; enterOpacity?: BarTransition \| null \| undefined; update?: BarTransition \| null \| undefined; } \| undefined` | No | `transitions = {{ enter: { type: 'spring', stiffness: 900, damping: 120, staggerDelay: 250 }, enterOpacity: { type: 'timing', duration: 200 }, update: { type: 'spring', stiffness: 900, damping: 120 } }}` | Transition configuration for enter and update animations. |
1360
1364
  | `userSelect` | `none \| auto \| text \| contain \| all` | No | `-` | - |
1361
1365
  | `width` | `string \| number` | No | `-` | - |
1362
1366
  | `xAxis` | `(Partial<CartesianAxisConfigProps> & AxisBaseProps & { GridLineComponent?: LineComponent; LineComponent?: LineComponent \| undefined; TickMarkLineComponent?: LineComponent \| undefined; tickLabelFormatter?: ((value: number) => ChartTextChildren) \| undefined; TickLabelComponent?: AxisTickLabelComponent \| undefined; } & { axisId?: string \| undefined; position?: top \| bottom \| undefined; height?: number \| undefined; }) \| undefined` | No | `-` | Configuration for x-axis. Accepts axis config and axis props. To show the axis, set showXAxis to true. |
@@ -1,5 +1,7 @@
1
1
  # Box
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/layout/Box/?platform=mobile
4
+
3
5
  A generic container, like a supercharged View.
4
6
 
5
7
  ## Import
@@ -1,5 +1,7 @@
1
1
  # BrowserBar
2
2
 
3
+ **📖 Live documentation:** https://cds.coinbase.com/components/navigation/BrowserBar/
4
+
3
5
  A navigation bar designed for browser-like interfaces, featuring slots for start, end, and central content. It provides a structured layout for controls and information within a browser context.
4
6
 
5
7
  ## Import