@coinbase/cds-web 8.41.0 → 8.43.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 (96) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dts/alpha/data-card/DataCard.d.ts +25 -0
  3. package/dts/alpha/data-card/DataCard.d.ts.map +1 -0
  4. package/dts/alpha/data-card/DataCardLayout.d.ts +44 -0
  5. package/dts/alpha/data-card/DataCardLayout.d.ts.map +1 -0
  6. package/dts/alpha/data-card/__figma__/DataCard.figma.d.ts +2 -0
  7. package/dts/alpha/data-card/__figma__/DataCard.figma.d.ts.map +1 -0
  8. package/dts/alpha/data-card/index.d.ts +3 -0
  9. package/dts/alpha/data-card/index.d.ts.map +1 -0
  10. package/dts/alpha/index.d.ts +1 -0
  11. package/dts/alpha/index.d.ts.map +1 -1
  12. package/dts/cards/AnnouncementCard.d.ts +1 -1
  13. package/dts/cards/AnnouncementCard.d.ts.map +1 -1
  14. package/dts/cards/CardRoot.d.ts +35 -0
  15. package/dts/cards/CardRoot.d.ts.map +1 -0
  16. package/dts/cards/ContainedAssetCard.d.ts +27 -0
  17. package/dts/cards/ContainedAssetCard.d.ts.map +1 -1
  18. package/dts/cards/ContentCard/ContentCard.d.ts +3 -3
  19. package/dts/cards/ContentCard/ContentCard.d.ts.map +1 -1
  20. package/dts/cards/ContentCard/ContentCardBody.d.ts +58 -3
  21. package/dts/cards/ContentCard/ContentCardBody.d.ts.map +1 -1
  22. package/dts/cards/ContentCard/ContentCardFooter.d.ts +1 -1
  23. package/dts/cards/ContentCard/ContentCardFooter.d.ts.map +1 -1
  24. package/dts/cards/ContentCard/ContentCardHeader.d.ts +39 -5
  25. package/dts/cards/ContentCard/ContentCardHeader.d.ts.map +1 -1
  26. package/dts/cards/DataCard.d.ts +35 -0
  27. package/dts/cards/DataCard.d.ts.map +1 -1
  28. package/dts/cards/FeatureEntryCard.d.ts +2 -2
  29. package/dts/cards/FeatureEntryCard.d.ts.map +1 -1
  30. package/dts/cards/FloatingAssetCard.d.ts +25 -0
  31. package/dts/cards/FloatingAssetCard.d.ts.map +1 -1
  32. package/dts/cards/MediaCard/MediaCardLayout.d.ts +46 -0
  33. package/dts/cards/MediaCard/MediaCardLayout.d.ts.map +1 -0
  34. package/dts/cards/MediaCard/__figma__/MediaCard.figma.d.ts +2 -0
  35. package/dts/cards/MediaCard/__figma__/MediaCard.figma.d.ts.map +1 -0
  36. package/dts/cards/MediaCard/index.d.ts +26 -0
  37. package/dts/cards/MediaCard/index.d.ts.map +1 -0
  38. package/dts/cards/MessagingCard/MessagingCardLayout.d.ts +68 -0
  39. package/dts/cards/MessagingCard/MessagingCardLayout.d.ts.map +1 -0
  40. package/dts/cards/MessagingCard/__figma__/MessagingCard.figma.d.ts +2 -0
  41. package/dts/cards/MessagingCard/__figma__/MessagingCard.figma.d.ts.map +1 -0
  42. package/dts/cards/MessagingCard/index.d.ts +23 -0
  43. package/dts/cards/MessagingCard/index.d.ts.map +1 -0
  44. package/dts/cards/NudgeCard.d.ts +27 -0
  45. package/dts/cards/NudgeCard.d.ts.map +1 -1
  46. package/dts/cards/UpsellCard.d.ts +27 -0
  47. package/dts/cards/UpsellCard.d.ts.map +1 -1
  48. package/dts/cards/index.d.ts +3 -0
  49. package/dts/cards/index.d.ts.map +1 -1
  50. package/dts/carousel/Carousel.d.ts +77 -9
  51. package/dts/carousel/Carousel.d.ts.map +1 -1
  52. package/dts/carousel/CarouselContext.d.ts +18 -0
  53. package/dts/carousel/CarouselContext.d.ts.map +1 -1
  54. package/dts/carousel/CarouselItem.d.ts +2 -0
  55. package/dts/carousel/CarouselItem.d.ts.map +1 -1
  56. package/dts/carousel/DefaultCarouselNavigation.d.ts +20 -0
  57. package/dts/carousel/DefaultCarouselNavigation.d.ts.map +1 -1
  58. package/dts/carousel/DefaultCarouselPagination.d.ts.map +1 -1
  59. package/dts/carousel/__figma__/Carousel.figma.d.ts +2 -0
  60. package/dts/carousel/__figma__/Carousel.figma.d.ts.map +1 -0
  61. package/esm/alpha/data-card/DataCard.js +62 -0
  62. package/esm/alpha/data-card/DataCardLayout.js +83 -0
  63. package/esm/alpha/data-card/__figma__/DataCard.figma.js +29 -0
  64. package/esm/alpha/data-card/index.js +1 -0
  65. package/esm/alpha/index.js +1 -0
  66. package/esm/cards/AnnouncementCard.js +1 -1
  67. package/esm/cards/{CardRemoteImage.js → CardRoot.js} +31 -13
  68. package/esm/cards/ContainedAssetCard.js +28 -0
  69. package/esm/cards/ContentCard/ContentCard.js +8 -7
  70. package/esm/cards/ContentCard/ContentCardBody.js +77 -20
  71. package/esm/cards/ContentCard/ContentCardFooter.js +5 -6
  72. package/esm/cards/ContentCard/ContentCardHeader.js +65 -27
  73. package/esm/cards/DataCard.js +35 -0
  74. package/esm/cards/FeatureEntryCard.js +2 -2
  75. package/esm/cards/FloatingAssetCard.js +26 -0
  76. package/esm/cards/MediaCard/MediaCardLayout.js +77 -0
  77. package/esm/cards/MediaCard/__figma__/MediaCard.figma.js +50 -0
  78. package/esm/cards/MediaCard/index.js +61 -0
  79. package/esm/cards/MessagingCard/MessagingCardLayout.js +195 -0
  80. package/esm/cards/MessagingCard/__figma__/MessagingCard.figma.js +42 -0
  81. package/esm/cards/MessagingCard/index.js +70 -0
  82. package/esm/cards/NudgeCard.js +27 -0
  83. package/esm/cards/UpsellCard.js +27 -0
  84. package/esm/cards/index.js +6 -1
  85. package/esm/carousel/Carousel.css +2 -1
  86. package/esm/carousel/Carousel.js +301 -91
  87. package/esm/carousel/CarouselContext.js +8 -0
  88. package/esm/carousel/CarouselItem.css +1 -0
  89. package/esm/carousel/CarouselItem.js +15 -8
  90. package/esm/carousel/DefaultCarouselNavigation.js +18 -2
  91. package/esm/carousel/DefaultCarouselPagination.css +3 -2
  92. package/esm/carousel/DefaultCarouselPagination.js +138 -86
  93. package/esm/carousel/__figma__/Carousel.figma.js +15 -0
  94. package/package.json +7 -3
  95. package/dts/cards/CardRemoteImage.d.ts +0 -8
  96. package/dts/cards/CardRemoteImage.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -8,6 +8,19 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.43.0 (2/6/2026 PST)
12
+
13
+ #### 🚀 Updates
14
+
15
+ - Carousel autoplay. [[#361](https://github.com/coinbase/cds/pull/361)]
16
+
17
+ ## 8.42.0 (2/4/2026 PST)
18
+
19
+ #### 🚀 Updates
20
+
21
+ - Added MediaCard, MessagingCard, and alpha DataCard. [[#329](https://github.com/coinbase/cds/pull/329)]
22
+ - Updated ContentCard. [[#329](https://github.com/coinbase/cds/pull/329)]
23
+
11
24
  ## 8.41.0 (2/4/2026 PST)
12
25
 
13
26
  #### 🚀 Updates
@@ -0,0 +1,25 @@
1
+ import { type CardRootBaseProps } from '../../cards/CardRoot';
2
+ import type { Polymorphic } from '../../core/polymorphism';
3
+ import { type DataCardLayoutProps } from './DataCardLayout';
4
+ export type DataCardBaseProps = Polymorphic.ExtendableProps<
5
+ Omit<CardRootBaseProps, 'children'>,
6
+ DataCardLayoutProps & {
7
+ classNames?: {
8
+ root?: string;
9
+ };
10
+ styles?: {
11
+ root?: React.CSSProperties;
12
+ };
13
+ }
14
+ >;
15
+ export type DataCardProps<AsComponent extends React.ElementType = 'article'> = Polymorphic.Props<
16
+ AsComponent,
17
+ DataCardBaseProps
18
+ >;
19
+ type DataCardComponent = (<AsComponent extends React.ElementType = 'article'>(
20
+ props: DataCardProps<AsComponent>,
21
+ ) => Polymorphic.ReactReturn) &
22
+ Polymorphic.ReactNamed;
23
+ export declare const DataCard: DataCardComponent;
24
+ export {};
25
+ //# sourceMappingURL=DataCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCard.d.ts","sourceRoot":"","sources":["../../../src/alpha/data-card/DataCard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,eAAe,CACzD,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACnC,mBAAmB,GAAG;IACpB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,SAAS,IAAI,WAAW,CAAC,KAAK,CAC9F,WAAW,EACX,iBAAiB,CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,SAAS,EAC1E,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAC9B,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AASzB,eAAO,MAAM,QAAQ,EAAE,iBA2CtB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ export type DataCardLayoutBaseProps = {
3
+ /** Text or React node to display as the card title. Use a Text component to override default color and font. */
4
+ title: React.ReactNode;
5
+ /** Text or React node to display as the card subtitle. Use a Text component to override default color and font. */
6
+ subtitle?: React.ReactNode;
7
+ /** React node to display as a title accessory. */
8
+ titleAccessory?: React.ReactNode;
9
+ /** React node to display as a thumbnail in the header area. */
10
+ thumbnail?: React.ReactNode;
11
+ /** Layout orientation of the card. Horizontal places header and visualization side by side, vertical stacks them.
12
+ * @default 'vertical'
13
+ */
14
+ layout: 'horizontal' | 'vertical';
15
+ /** Child node to display as the visualization (e.g., ProgressBar or ProgressCircle). */
16
+ children?: React.ReactNode;
17
+ };
18
+ export type DataCardLayoutProps = DataCardLayoutBaseProps & {
19
+ classNames?: {
20
+ layoutContainer?: string;
21
+ headerContainer?: string;
22
+ textContainer?: string;
23
+ titleContainer?: string;
24
+ };
25
+ styles?: {
26
+ layoutContainer?: React.CSSProperties;
27
+ headerContainer?: React.CSSProperties;
28
+ textContainer?: React.CSSProperties;
29
+ titleContainer?: React.CSSProperties;
30
+ };
31
+ };
32
+ export declare const DataCardLayout: React.MemoExoticComponent<
33
+ ({
34
+ title,
35
+ subtitle,
36
+ titleAccessory,
37
+ thumbnail,
38
+ layout,
39
+ classNames,
40
+ styles,
41
+ children,
42
+ }: DataCardLayoutProps) => import('react/jsx-runtime').JSX.Element
43
+ >;
44
+ //# sourceMappingURL=DataCardLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCardLayout.d.ts","sourceRoot":"","sources":["../../../src/alpha/data-card/DataCardLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAM7C,MAAM,MAAM,uBAAuB,GAAG;IACpC,gHAAgH;IAChH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,mHAAmH;IACnH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,kDAAkD;IAClD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;IAClC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D,UAAU,CAAC,EAAE;QACX,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACpC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KACtC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,cAAc,oHAUtB,mBAAmB,6CAwEvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DataCard.figma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCard.figma.d.ts","sourceRoot":"","sources":["../../../../src/alpha/data-card/__figma__/DataCard.figma.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type { DataCardBaseProps, DataCardProps } from './DataCard';
2
+ export { DataCard } from './DataCard';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/alpha/data-card/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './combobox';
2
+ export * from './data-card';
2
3
  export * from './select';
3
4
  export * from './select-chip';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/alpha/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/alpha/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
@@ -3,6 +3,6 @@ import { type CardBaseProps } from './Card';
3
3
  import { type CardBodyBaseProps } from './CardBody';
4
4
  export type AnnouncementCardBaseProps = CardBaseProps & CardBodyBaseProps;
5
5
  export type AnnouncementCardProps = AnnouncementCardBaseProps;
6
- /** @deprecated will be removed in v7.0.0 use NudgeCard or UpsellCard instead */
6
+ /** @deprecated Use MessagingCard instead. AnnouncementCard will be removed in a future major release. */
7
7
  export declare const AnnouncementCard: React.NamedExoticComponent<AnnouncementCardBaseProps>;
8
8
  //# sourceMappingURL=AnnouncementCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnnouncementCard.d.ts","sourceRoot":"","sources":["../../src/cards/AnnouncementCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC9D,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,uDAmC3B,CAAC"}
1
+ {"version":3,"file":"AnnouncementCard.d.ts","sourceRoot":"","sources":["../../src/cards/AnnouncementCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC9D,yGAAyG;AACzG,eAAO,MAAM,gBAAgB,uDAmC3B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import type { Polymorphic } from '../core/polymorphism';
3
+ import { type PressableBaseProps } from '../system/Pressable';
4
+ export type CardRootBaseProps = Polymorphic.ExtendableProps<
5
+ PressableBaseProps,
6
+ {
7
+ /** Content to render inside the card. */
8
+ children?: React.ReactNode;
9
+ /**
10
+ * If true, the CardRoot will be rendered as a Pressable component.
11
+ * When false, renders as an HStack for layout purposes.
12
+ * @default true if `as` is 'button' or 'a', otherwise false
13
+ */
14
+ renderAsPressable?: boolean;
15
+ }
16
+ >;
17
+ export type CardRootProps<AsComponent extends React.ElementType = 'div'> = Polymorphic.Props<
18
+ AsComponent,
19
+ CardRootBaseProps
20
+ >;
21
+ type CardRootComponent = (<AsComponent extends React.ElementType = 'div'>(
22
+ props: Polymorphic.Props<AsComponent, CardRootBaseProps>,
23
+ ) => Polymorphic.ReactReturn) &
24
+ Polymorphic.ReactNamed;
25
+ /**
26
+ * CardRoot is the foundational wrapper component for card layouts.
27
+ *
28
+ * By default, it renders as a `<div>` element using HStack for horizontal layout.
29
+ * When `renderAsPressable` is true, it renders as a Pressable component (defaults to `<button>`).
30
+ *
31
+ * Supports polymorphism via the `as` prop to change the underlying HTML element.
32
+ */
33
+ export declare const CardRoot: CardRootComponent;
34
+ export {};
35
+ //# sourceMappingURL=CardRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardRoot.d.ts","sourceRoot":"","sources":["../../src/cards/CardRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAa,KAAK,kBAAkB,EAAuB,MAAM,qBAAqB,CAAC;AAE9F,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,eAAe,CACzD,kBAAkB,EAClB;IACE,yCAAyC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CACF,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,CAC1F,WAAW,EACX,iBAAiB,CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,EACtE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,KACrD,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,iBA0BtB,CAAC"}
@@ -16,6 +16,33 @@ export declare const containedAssetCardSmallWidth = 156;
16
16
  export declare const containedAssetCardSmallMinWidth = 156;
17
17
  export declare const containedAssetCardLargeWidth = 359;
18
18
  export declare const containedAssetCardLargeMinWidth = 327;
19
+ /**
20
+ * @deprecated Use `MediaCard` instead. ContainedAssetCard will be removed in a future major release.
21
+ *
22
+ * Migration guide:
23
+ * ```tsx
24
+ * // Before
25
+ * <ContainedAssetCard
26
+ * header={<Avatar ... />}
27
+ * title="Asset Title"
28
+ * subtitle="Subtitle"
29
+ * description="Description"
30
+ * size="l"
31
+ * >
32
+ * <RemoteImage ... />
33
+ * </ContainedAssetCard>
34
+ *
35
+ * // After
36
+ * <MediaCard
37
+ * thumbnail={<Avatar ... />}
38
+ * title="Asset Title"
39
+ * subtitle="Subtitle"
40
+ * description="Description"
41
+ * media={<RemoteImage ... />}
42
+ * mediaPlacement="end"
43
+ * />
44
+ * ```
45
+ */
19
46
  export declare const ContainedAssetCard: ({
20
47
  header,
21
48
  title,
@@ -1 +1 @@
1
- {"version":3,"file":"ContainedAssetCard.d.ts","sourceRoot":"","sources":["../../src/cards/ContainedAssetCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,4BAA4B,CAAC;AAI7E,OAAO,EAAO,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK3E,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG;IACtD,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAC/D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE7C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAwCnD,eAAO,MAAM,kBAAkB,GAAI,4KAkBhC,uBAAuB,4CAuDzB,CAAC"}
1
+ {"version":3,"file":"ContainedAssetCard.d.ts","sourceRoot":"","sources":["../../src/cards/ContainedAssetCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,4BAA4B,CAAC;AAI7E,OAAO,EAAO,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK3E,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG;IACtD,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAC/D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE7C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAwCnD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,kBAAkB,GAAI,4KAkBhC,uBAAuB,4CAuDzB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { Polymorphic } from '../../core/polymorphism';
3
- import { type BoxBaseProps } from '../../layout';
4
- export declare const contentCardDefaultElement = 'div';
3
+ import { type VStackBaseProps } from '../../layout';
4
+ export declare const contentCardDefaultElement = 'article';
5
5
  export type ContentCardDefaultElement = typeof contentCardDefaultElement;
6
- export type ContentCardBaseProps = BoxBaseProps;
6
+ export type ContentCardBaseProps = Polymorphic.ExtendableProps<VStackBaseProps, object>;
7
7
  export type ContentCardProps<AsComponent extends React.ElementType> = Polymorphic.Props<
8
8
  AsComponent,
9
9
  ContentCardBaseProps
@@ -1 +1 @@
1
- {"version":3,"file":"ContentCard.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,cAAc,CAAC;AAEzD,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEhD,MAAM,MAAM,gBAAgB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACrF,WAAW,EACX,oBAAoB,CACrB,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,yBAAyB,EAC7F,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KACjC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,WAAW,EAAE,oBAiCzB,CAAC"}
1
+ {"version":3,"file":"ContentCard.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5D,eAAO,MAAM,yBAAyB,YAAY,CAAC;AACnD,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAExF,MAAM,MAAM,gBAAgB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACrF,WAAW,EACX,oBAAoB,CACrB,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,yBAAyB,EAC7F,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KACjC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,WAAW,EAAE,oBAkCzB,CAAC"}
@@ -7,18 +7,73 @@ export type ContentCardBodyDefaultElement = typeof contentCardBodyDefaultElement
7
7
  export type ContentCardBodyBaseProps = Polymorphic.ExtendableProps<
8
8
  BoxBaseProps,
9
9
  SharedProps & {
10
- /** Main body copy */
10
+ /** Text or React node to display as the card title. Use a Text component to override default color and font. */
11
+ title?: React.ReactNode;
12
+ /**
13
+ * @deprecated Use description instead
14
+ * Main body copy
15
+ */
11
16
  body?: React.ReactNode;
12
- /** Use for supplemental data */
17
+ /** Text or React node to display as the card description. Use a Text component to override default color and font. */
18
+ description?: React.ReactNode;
19
+ /**
20
+ * @deprecated Use a ReactNode as `description` instead if you need to display content below the description.
21
+ * Use for supplemental data.
22
+ */
13
23
  label?: React.ReactNode;
14
- /** Media, image or video to show */
24
+ /** React node to display as media content (e.g., Image or RemoteImage). */
15
25
  media?: React.ReactNode;
16
26
  /**
27
+ * @deprecated Use mediaPlacement instead
17
28
  * The position of the media within the card.
18
29
  * Can be one of: 'top', 'bottom', 'right' or 'left'.
19
30
  */
20
31
  mediaPosition?: 'top' | 'bottom' | 'right' | 'left';
32
+ /** Placement of the media content relative to the text content.
33
+ * @default 'top'
34
+ */
35
+ mediaPlacement?: 'top' | 'bottom' | 'start' | 'end';
36
+ /**
37
+ * Custom content to display below the main content box (title/description/media).
38
+ * Use this when you need to render custom content that doesn't fit the standard media/title/description layout.
39
+ */
21
40
  children?: React.ReactNode;
41
+ styles?: {
42
+ /**
43
+ * Root container style (content container + children)
44
+ */
45
+ root?: React.CSSProperties;
46
+ /**
47
+ * Container for the content (media + text content)
48
+ */
49
+ contentContainer?: React.CSSProperties;
50
+ /**
51
+ * Container for the text content (title + description + label)
52
+ */
53
+ textContainer?: React.CSSProperties;
54
+ /**
55
+ * Container for the media
56
+ */
57
+ mediaContainer?: React.CSSProperties;
58
+ };
59
+ classNames?: {
60
+ /**
61
+ * Root container class name
62
+ */
63
+ root?: string;
64
+ /**
65
+ * Container for the content (media + text content)
66
+ */
67
+ contentContainer?: string;
68
+ /**
69
+ * Container for the text content (title + description + label)
70
+ */
71
+ textContainer?: string;
72
+ /**
73
+ * Container for the media
74
+ */
75
+ mediaContainer?: string;
76
+ };
22
77
  }
23
78
  >;
24
79
  export type ContentCardBodyProps<AsComponent extends React.ElementType> = Polymorphic.Props<
@@ -1 +1 @@
1
- {"version":3,"file":"ContentCardBody.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCardBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAO,KAAK,YAAY,EAAkB,MAAM,cAAc,CAAC;AAGtE,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AACnD,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC;AAEjF,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,eAAe,CAChE,YAAY,EACZ,WAAW,GAAG;IACZ,qBAAqB;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,gCAAgC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,oCAAoC;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACzF,WAAW,EACX,wBAAwB,CACzB,CAAC;AAEF,KAAK,wBAAwB,GAAG,CAAC,CAC/B,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,6BAA6B,EAErE,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,KACrC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,eAAe,EAAE,wBAkD7B,CAAC"}
1
+ {"version":3,"file":"ContentCardBody.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCardBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAO,KAAK,YAAY,EAAkB,MAAM,cAAc,CAAC;AAGtE,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AACnD,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC;AAEjF,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,eAAe,CAChE,YAAY,EACZ,WAAW,GAAG;IACZ,gHAAgH;IAChH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,sHAAsH;IACtH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B;;WAEG;QACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACvC;;WAEG;QACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACpC;;WAEG;QACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KACtC,CAAC;IACF,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACzF,WAAW,EACX,wBAAwB,CACzB,CAAC;AAEF,KAAK,wBAAwB,GAAG,CAAC,CAC/B,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,6BAA6B,EAErE,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,KACrC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAYzB,eAAO,MAAM,eAAe,EAAE,wBA0H7B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { Polymorphic } from '../../core/polymorphism';
3
3
  import { type BoxBaseProps } from '../../layout';
4
- export declare const contentCardFooterDefaultElement = 'div';
4
+ export declare const contentCardFooterDefaultElement = 'footer';
5
5
  export type ContentCardFooterDefaultElement = typeof contentCardFooterDefaultElement;
6
6
  export type ContentCardFooterBaseProps = BoxBaseProps;
7
7
  export type ContentCardFooterProps<AsComponent extends React.ElementType> = Polymorphic.Props<
@@ -1 +1 @@
1
- {"version":3,"file":"ContentCardFooter.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCardFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,cAAc,CAAC;AAEzD,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AACrD,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAC;AAErF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;AAEtD,MAAM,MAAM,sBAAsB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CAC3F,WAAW,EACX,0BAA0B,CAC3B,CAAC;AAEF,KAAK,0BAA0B,GAAG,CAAC,CACjC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,+BAA+B,EAEvE,KAAK,EAAE,sBAAsB,CAAC,WAAW,CAAC,KACvC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,0BAc/B,CAAC"}
1
+ {"version":3,"file":"ContentCardFooter.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCardFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,cAAc,CAAC;AAEzD,eAAO,MAAM,+BAA+B,WAAW,CAAC;AACxD,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAC;AAErF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;AAEtD,MAAM,MAAM,sBAAsB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CAC3F,WAAW,EACX,0BAA0B,CAC3B,CAAC;AAEF,KAAK,0BAA0B,GAAG,CAAC,CACjC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,+BAA+B,EAEvE,KAAK,EAAE,sBAAsB,CAAC,WAAW,CAAC,KACvC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,0BAmB/B,CAAC"}
@@ -2,19 +2,53 @@ import React from 'react';
2
2
  import type { SharedProps } from '@coinbase/cds-common/types';
3
3
  import type { Polymorphic } from '../../core/polymorphism';
4
4
  import { type BoxBaseProps } from '../../layout';
5
- export declare const contentCardHeaderDefaultElement = 'div';
5
+ export declare const contentCardHeaderDefaultElement = 'header';
6
6
  export type ContentCardHeaderDefaultElement = typeof contentCardHeaderDefaultElement;
7
7
  export type ContentCardHeaderBaseProps = Polymorphic.ExtendableProps<
8
8
  BoxBaseProps,
9
9
  SharedProps & {
10
- /** A media object like an image, avatar, illustration, or cryptocurrency asset. */
10
+ /** @deprecated Use `thumbnail` instead. `avatar` will be removed in a future major release. */
11
11
  avatar?: React.ReactNode;
12
- /** Name of the publisher */
12
+ /** A media object like an image, avatar, illustration, or cryptocurrency asset. */
13
+ thumbnail?: React.ReactNode;
14
+ /** Text or React node to display as the header title. Use a Text component to override default color and font. */
13
15
  title: React.ReactNode;
14
- /** Includes data like content category type and time */
16
+ /** @deprecated Use `subtitle` instead. `meta` will be removed in a future major release. */
15
17
  meta?: React.ReactNode;
16
- /** Typically an Icon Button or Tag */
18
+ /** Text or React node to display as the header subtitle. Use a Text component to override default color and font. */
19
+ subtitle?: React.ReactNode;
20
+ /** @deprecated Use `actions` instead. `end` will be removed in a future major release. */
17
21
  end?: React.ReactNode;
22
+ /** Slot for action buttons. */
23
+ actions?: React.ReactNode;
24
+ styles?: {
25
+ /**
26
+ * Root container style
27
+ */
28
+ root?: React.CSSProperties;
29
+ /**
30
+ * Container for the text content (title + subtitle)
31
+ */
32
+ textContainer?: React.CSSProperties;
33
+ /**
34
+ * Container for the content (thumbnail + text content)
35
+ */
36
+ contentContainer?: React.CSSProperties;
37
+ };
38
+ classNames?: {
39
+ /**
40
+ * Root container class name
41
+ */
42
+ root?: string;
43
+ /**
44
+ * Container for the text content (title + subtitle)
45
+ */
46
+ textContainer?: string;
47
+ /**
48
+ * Container for the content (thumbnail + text content)
49
+ */
50
+ contentContainer?: string;
51
+ };
18
52
  }
19
53
  >;
20
54
  export type ContentCardHeaderProps<AsComponent extends React.ElementType> = Polymorphic.Props<
@@ -1 +1 @@
1
- {"version":3,"file":"ContentCardHeader.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCardHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,cAAc,CAAC;AAIzD,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AACrD,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAC;AAErF,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAAC,eAAe,CAClE,YAAY,EACZ,WAAW,GAAG;IACZ,mFAAmF;IACnF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,4BAA4B;IAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wDAAwD;IACxD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,sCAAsC;IACtC,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CAC3F,WAAW,EACX,0BAA0B,CAC3B,CAAC;AAEF,KAAK,0BAA0B,GAAG,CAAC,CACjC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,+BAA+B,EAEvE,KAAK,EAAE,sBAAsB,CAAC,WAAW,CAAC,KACvC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,0BAiD/B,CAAC"}
1
+ {"version":3,"file":"ContentCardHeader.d.ts","sourceRoot":"","sources":["../../../src/cards/ContentCard/ContentCardHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,cAAc,CAAC;AAIjE,eAAO,MAAM,+BAA+B,WAAW,CAAC;AACxD,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAC;AAErF,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAAC,eAAe,CAClE,YAAY,EACZ,WAAW,GAAG;IACZ,+FAA+F;IAC/F,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,mFAAmF;IACnF,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,kHAAkH;IAClH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,qHAAqH;IACrH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0FAA0F;IAC1F,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B;;WAEG;QACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACpC;;WAEG;QACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KACxC,CAAC;IACF,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CAC3F,WAAW,EACX,0BAA0B,CAC3B,CAAC;AAEF,KAAK,0BAA0B,GAAG,CAAC,CACjC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,+BAA+B,EAEvE,KAAK,EAAE,sBAAsB,CAAC,WAAW,CAAC,KACvC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,0BA+F/B,CAAC"}
@@ -1,3 +1,38 @@
1
+ /**
2
+ * @deprecated This component is deprecated. Please use the alpha `DataCard` from `@coinbase/cds-web/alpha/data-card` instead.
3
+ *
4
+ * ### Migration Guide
5
+ *
6
+ * The new `DataCard` provides more flexibility with custom layouts and visualization components.
7
+ *
8
+ * **Before:**
9
+ * ```jsx
10
+ * <DataCard
11
+ * title="Progress"
12
+ * description="45% complete"
13
+ * progress={0.45}
14
+ * progressVariant="bar"
15
+ * startLabel="0"
16
+ * endLabel="45"
17
+ * />
18
+ * ```
19
+ *
20
+ * **After:**
21
+ * ```jsx
22
+ * import { DataCard } from '@coinbase/cds-web/alpha/data-card';
23
+ *
24
+ * <DataCard
25
+ * title="Progress"
26
+ * subtitle="45% complete"
27
+ * layout="vertical"
28
+ * thumbnail={<RemoteImage src={assetUrl} shape="circle" size="l" />}
29
+ * >
30
+ * <ProgressBarWithFixedLabels startLabel={0} endLabel={45} labelPlacement="below">
31
+ * <ProgressBar accessibilityLabel="45% complete" progress={0.45} weight="semiheavy" />
32
+ * </ProgressBarWithFixedLabels>
33
+ * </DataCard>
34
+ * ```
35
+ */
1
36
  import React from 'react';
2
37
  import type { ThemeVars } from '@coinbase/cds-common/core/theme';
3
38
  import type { SharedProps } from '@coinbase/cds-common/types';
@@ -1 +1 @@
1
- {"version":3,"file":"DataCard.d.ts","sourceRoot":"","sources":["../../src/cards/DataCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAO9D,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGlD,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAC3C,WAAW,GAAG;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CACjC,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,eAAO,MAAM,QAAQ,+CAmEnB,CAAC"}
1
+ {"version":3,"file":"DataCard.d.ts","sourceRoot":"","sources":["../../src/cards/DataCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAO9D,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGlD,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAC3C,WAAW,GAAG;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CACjC,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,eAAO,MAAM,QAAQ,+CAmEnB,CAAC"}
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import { type CardBaseProps } from './Card';
3
3
  import { type CardBodyBaseProps } from './CardBody';
4
4
  export type FeatureEntryCardBaseProps = CardBaseProps & CardBodyBaseProps;
5
- /** @deprecated will be removed in v7.0.0 use NudgeCard or UpsellCard instead */
5
+ /** @deprecated Use MessagingCard instead. FeatureEntryCard will be removed in a future major release. */
6
6
  export type FeatureEntryCardProps = FeatureEntryCardBaseProps;
7
- /** @deprecated This component will be removed in a future version. Use NudgeCard or UpsellCard instead. */
7
+ /** @deprecated Use MessagingCard instead. FeatureEntryCard will be removed in a future major release. */
8
8
  export declare const FeatureEntryCard: React.NamedExoticComponent<FeatureEntryCardBaseProps>;
9
9
  //# sourceMappingURL=FeatureEntryCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureEntryCard.d.ts","sourceRoot":"","sources":["../../src/cards/FeatureEntryCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE1E,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAE9D,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,uDA0B3B,CAAC"}
1
+ {"version":3,"file":"FeatureEntryCard.d.ts","sourceRoot":"","sources":["../../src/cards/FeatureEntryCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE1E,yGAAyG;AACzG,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAE9D,yGAAyG;AACzG,eAAO,MAAM,gBAAgB,uDA0B3B,CAAC"}
@@ -22,6 +22,31 @@ export type FloatingAssetCardBaseProps = SharedProps & {
22
22
  };
23
23
  export type FloatingAssetCardProps = FloatingAssetCardBaseProps &
24
24
  Omit<BoxProps<BoxDefaultElement>, 'title'>;
25
+ /**
26
+ * @deprecated Use `MediaCard` instead. FloatingAssetCard will be removed in a future major release.
27
+ *
28
+ * Migration guide:
29
+ * ```tsx
30
+ * // Before
31
+ * <FloatingAssetCard
32
+ * title="Asset Title"
33
+ * subtitle="Subtitle"
34
+ * description="Description"
35
+ * media={<RemoteImage ... />}
36
+ * />
37
+ *
38
+ * // After
39
+ * <MediaCard
40
+ * title="Asset Title"
41
+ * subtitle="Subtitle"
42
+ * description="Description"
43
+ * thumbnail={<RemoteImage ... />}
44
+ * />
45
+ * ```
46
+ *
47
+ * Note: The floating variation (media outside the card container) is no longer supported.
48
+ * MediaCard provides a contained layout with media placement options (start/end).
49
+ */
25
50
  export declare const FloatingAssetCard: ({
26
51
  className,
27
52
  title,
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingAssetCard.d.ts","sourceRoot":"","sources":["../../src/cards/FloatingAssetCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,4BAA4B,CAAC;AAI7E,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKtE,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,MAAM,MAAM,0BAA0B,GAAG,WAAW,GAAG;IACrD,oDAAoD;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wDAAwD;IACxD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAC7D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AA0C7C,eAAO,MAAM,iBAAiB,GAAI,4FAW/B,sBAAsB,4CAkDxB,CAAC"}
1
+ {"version":3,"file":"FloatingAssetCard.d.ts","sourceRoot":"","sources":["../../src/cards/FloatingAssetCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,4BAA4B,CAAC;AAI7E,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKtE,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,MAAM,MAAM,0BAA0B,GAAG,WAAW,GAAG;IACrD,oDAAoD;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wDAAwD;IACxD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAC7D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AA0C7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,iBAAiB,GAAI,4FAW/B,sBAAsB,4CAkDxB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ export type MediaCardLayoutBaseProps = {
3
+ /** Text or React node to display as the card title. Use a Text component to override default color and font. */
4
+ title?: React.ReactNode;
5
+ /** Text or React node to display as the card subtitle. Use a Text component to override default color and font. */
6
+ subtitle?: React.ReactNode;
7
+ /** Text or React node to display as the card description. Use a Text component to override default color and font. */
8
+ description?: React.ReactNode;
9
+ /** React node to display as a thumbnail in the content area. */
10
+ thumbnail: React.ReactNode;
11
+ /** React node to display as the main media content. When provided, it will be rendered in a Box container taking up 50% of the card width. */
12
+ media?: React.ReactNode;
13
+ /** The position of the media within the card.
14
+ * @default 'end'
15
+ */
16
+ mediaPlacement?: 'start' | 'end';
17
+ };
18
+ export type MediaCardLayoutProps = MediaCardLayoutBaseProps & {
19
+ classNames?: {
20
+ layoutContainer?: string;
21
+ contentContainer?: string;
22
+ textContainer?: string;
23
+ headerContainer?: string;
24
+ mediaContainer?: string;
25
+ };
26
+ styles?: {
27
+ layoutContainer?: React.CSSProperties;
28
+ contentContainer?: React.CSSProperties;
29
+ textContainer?: React.CSSProperties;
30
+ headerContainer?: React.CSSProperties;
31
+ mediaContainer?: React.CSSProperties;
32
+ };
33
+ };
34
+ export declare const MediaCardLayout: React.MemoExoticComponent<
35
+ ({
36
+ title,
37
+ subtitle,
38
+ description,
39
+ thumbnail,
40
+ media,
41
+ mediaPlacement,
42
+ classNames,
43
+ styles,
44
+ }: MediaCardLayoutProps) => import('react/jsx-runtime').JSX.Element
45
+ >;
46
+ //# sourceMappingURL=MediaCardLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaCardLayout.d.ts","sourceRoot":"","sources":["../../../src/cards/MediaCard/MediaCardLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAO7C,MAAM,MAAM,wBAAwB,GAAG;IACrC,gHAAgH;IAChH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mHAAmH;IACnH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,sHAAsH;IACtH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,gEAAgE;IAChE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,8IAA8I;IAC9I,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG;IAC5D,UAAU,CAAC,EAAE;QACX,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACvC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACpC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KACtC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,eAAe,sHAUvB,oBAAoB,6CA+FxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MediaCard.figma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaCard.figma.d.ts","sourceRoot":"","sources":["../../../../src/cards/MediaCard/__figma__/MediaCard.figma.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import type { Polymorphic } from '../../core/polymorphism';
3
+ import { type CardRootBaseProps } from '../CardRoot';
4
+ import { type MediaCardLayoutProps } from './MediaCardLayout';
5
+ export type MediaCardBaseProps = Polymorphic.ExtendableProps<
6
+ Omit<CardRootBaseProps, 'children'>,
7
+ MediaCardLayoutProps & {
8
+ classNames?: {
9
+ root?: string;
10
+ };
11
+ styles?: {
12
+ root?: React.CSSProperties;
13
+ };
14
+ }
15
+ >;
16
+ export type MediaCardProps<AsComponent extends React.ElementType = 'article'> = Polymorphic.Props<
17
+ AsComponent,
18
+ MediaCardBaseProps
19
+ >;
20
+ type MediaCardComponent = (<AsComponent extends React.ElementType = 'article'>(
21
+ props: MediaCardProps<AsComponent>,
22
+ ) => Polymorphic.ReactReturn) &
23
+ Polymorphic.ReactNamed;
24
+ export declare const MediaCard: MediaCardComponent;
25
+ export {};
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cards/MediaCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,eAAe,CAC1D,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACnC,oBAAoB,GAAG;IACrB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,SAAS,IAAI,WAAW,CAAC,KAAK,CAC/F,WAAW,EACX,kBAAkB,CACnB,CAAC;AASF,KAAK,kBAAkB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,SAAS,EAC3E,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,KAC/B,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,SAAS,EAAE,kBAyCvB,CAAC"}