diff --git a/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx b/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx
index 725afb89..8a3303a8 100644
--- a/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx
+++ b/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx
@@ -13,6 +13,7 @@ governing permissions and limitations under the License.
import { MobileCore } from "@adobe/react-native-aepcore";
import {
ContentCardView,
+ ContentCardContainer,
ThemeProvider,
useContentCardUI,
Pagination,
@@ -232,161 +233,56 @@ const ContentCardsView = () => {
MobileCore.trackAction("small_image");
}, []);
- const renderContentCard = (item: any, isRemote: boolean) => {
- const cardView = ;
-
- if (!isRemote) {
- return (
-
-
- {item.customThemes ? (
-
- {cardView}
-
- ) : (
- cardView
- )}
-
- );
- }
- return cardView;
- };
-
- // Debug logging
- // console.log('Rendering with containerSettings:', !!containerSettings);
- // console.log('Selected view:', selectedView);
- // console.log('Items count:', selectedView !== 'Remote' ? (items?.length || 0) : (content?.length || 0));
-
- const content_with_provider = containerSettings ? (
-
-
- selectedView !== 'Remote' ? item.key : item.id
- }
- renderItem={({ item }: any) =>
- renderContentCard(item, selectedView === 'Remote')
- }
- ListHeaderComponent={
-
- }
- ListEmptyComponent={() =>
- selectedView === 'Remote' && (
-
-
- No Content Cards Available
-
-
- Content cards will appear here when they are configured in Adobe
- Journey Optimizer for surface: "rn/ios/remote_image"
-
-
- Try tracking an action above to refresh content cards.
-
-
- )
- }
- contentContainerStyle={styles.listContent}
- />
-
- ) : null;
+ if (selectedView === 'Remote') {
+ return (
+ <>
+ {}}
+ selectedView={selectedView}
+ setSelectedView={setSelectedView}
+ />
+
+ >
+ );
+ }
- return content_with_provider || (
+ return (
- selectedView !== 'Remote' ? item.key : item.id
- }
- renderItem={({ item }: any) =>
- renderContentCard(item, selectedView === 'Remote')
- }
+ data={items || []}
+ keyExtractor={(item: any) => item.key}
+ renderItem={({ item }: any) => {
+ const node = (
+
+ );
+ return (
+
+
+ {item.customThemes ? (
+
+ {node}
+
+ ) : (
+ node
+ )}
+
+ );
+ }}
ListHeaderComponent={
- {}}
selectedView={selectedView}
setSelectedView={setSelectedView}
/>
}
- ListEmptyComponent={() =>
- selectedView === 'Remote' && (
-
-
- No Content Cards Available
-
-
- Content cards will appear here when they are configured in Adobe
- Journey Optimizer for surface: "rn/ios/remote_image"
-
-
- Try tracking an action above to refresh content cards.
-
-
- )
- }
contentContainerStyle={styles.listContent}
/>
);
diff --git a/packages/messaging/dist/module/Messaging.js b/packages/messaging/dist/module/Messaging.js
index 7122c260..e946d26f 100644
--- a/packages/messaging/dist/module/Messaging.js
+++ b/packages/messaging/dist/module/Messaging.js
@@ -172,11 +172,10 @@ class Messaging {
return [];
}
return contentCards.map(card => {
- //TODO Clean up mock for Testing: mark first card as already read
- //return contentCards.map((card: any, index: number) => {
+ // Test: To mark first 2 cards as read, swap the two map lines above to add index, then replace isRead with:
+ // return contentCards.map((card: any, index: number) => {
const type = card.data?.meta?.adobe?.template ?? "SmallImage";
const isRead = card.data?.read ?? false;
- // Test: To mark first 2 cards as read, uncomment line above (with index) and change isRead to:
// const isRead = card.data?.read ?? (index < 2);
return new ContentTemplate(card, type, isRead);
});
diff --git a/packages/messaging/dist/module/Messaging.js.map b/packages/messaging/dist/module/Messaging.js.map
index 37f7dc17..b3eb0622 100644
--- a/packages/messaging/dist/module/Messaging.js.map
+++ b/packages/messaging/dist/module/Messaging.js.map
@@ -1 +1 @@
-{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","Message","MessagingProposition","PersonalizationSchema","ContentTemplate","RCTAEPMessaging","AEPMessaging","messagingDelegate","Messaging","extensionVersion","Promise","resolve","refreshInAppMessages","getCachedMessages","messages","map","msg","getLatestMessage","message","undefined","getPropositionsForSurfaces","surfaces","propositionsList","messagingPropositionsForSurfaces","surface","propositions","Object","entries","proposition","trackContentCardDisplay","contentCard","trackContentCardInteraction","trackPropositionItem","itemId","interaction","eventType","tokens","setMessagingDelegate","delegate","eventEmitter","addListener","onShow","messageInstance","_clearJavascriptMessageHandlers","onDismiss","shouldShowMessage","shouldSaveMessage","setMessageSettings","OS","event","urlLoaded","url","onContentLoaded","removeAllListeners","updatePropositionsForSurfaces","getContentCardUI","length","contentCards","flatMap","items","filter","item","schema","CONTENT_CARD","card","type","data","meta","adobe","template","isRead","read","getContentCardContainer","console","log","templateType","content","heading","layout","orientation","capacity","emptyStateSettings","unread_indicator","unread_bg","clr","light","dark","unread_icon","placement","image","darkUrl","isUnreadEnabled","showPagination"],"sourceRoot":"../../src","sources":["Messaging.ts"],"mappings":"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","ignoreList":[]}
+{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","Message","MessagingProposition","PersonalizationSchema","ContentTemplate","RCTAEPMessaging","AEPMessaging","messagingDelegate","Messaging","extensionVersion","Promise","resolve","refreshInAppMessages","getCachedMessages","messages","map","msg","getLatestMessage","message","undefined","getPropositionsForSurfaces","surfaces","propositionsList","messagingPropositionsForSurfaces","surface","propositions","Object","entries","proposition","trackContentCardDisplay","contentCard","trackContentCardInteraction","trackPropositionItem","itemId","interaction","eventType","tokens","setMessagingDelegate","delegate","eventEmitter","addListener","onShow","messageInstance","_clearJavascriptMessageHandlers","onDismiss","shouldShowMessage","shouldSaveMessage","setMessageSettings","OS","event","urlLoaded","url","onContentLoaded","removeAllListeners","updatePropositionsForSurfaces","getContentCardUI","length","contentCards","flatMap","items","filter","item","schema","CONTENT_CARD","card","type","data","meta","adobe","template","isRead","read","getContentCardContainer","console","log","templateType","content","heading","layout","orientation","capacity","emptyStateSettings","unread_indicator","unread_bg","clr","light","dark","unread_icon","placement","image","darkUrl","isUnreadEnabled","showPagination"],"sourceRoot":"../../src","sources":["Messaging.ts"],"mappings":"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","ignoreList":[]}
diff --git a/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js
index 383b94d7..97c37819 100644
--- a/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js
+++ b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js
@@ -1,12 +1,13 @@
"use strict";
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
-import { ActivityIndicator, FlatList, StyleSheet, useColorScheme } from "react-native";
+import { cloneElement, useCallback, useMemo } from "react";
+import { ActivityIndicator, FlatList, StyleSheet, Text, useColorScheme, useWindowDimensions } from "react-native";
+import { useContentCardUI, useContentContainer } from "../../hooks/index.js";
import ContentCardContainerProvider from "../../providers/ContentCardContainerProvider.js";
import { ContentCardView } from "../ContentCardView/ContentCardView.js";
-import { cloneElement, useCallback } from "react";
-import { useContentCardUI, useContentContainer } from "../../hooks/index.js";
import EmptyState from "./EmptyState.js";
+// Core renderer: fetches content for a surface, derives layout, and renders a list of cards
function ContentCardContainerInner({
contentContainerStyle,
LoadingComponent = /*#__PURE__*/React.createElement(ActivityIndicator, null),
@@ -16,21 +17,43 @@ function ContentCardContainerInner({
settings,
surface,
style,
+ CardProps,
...props
}) {
const colorScheme = useColorScheme();
+ const {
+ width: windowWidth
+ } = useWindowDimensions();
const {
content,
error,
isLoading
} = useContentCardUI(surface);
+
+ // Normalize/alias frequently used settings
+ const {
+ content: contentSettings
+ } = settings;
+ const {
+ heading,
+ layout,
+ emptyStateSettings
+ } = contentSettings;
+
+ // Derived flags used across renders
+ const headingColor = useMemo(() => colorScheme === 'dark' ? '#FFFFFF' : '#000000', [colorScheme]);
+ const isHorizontal = useMemo(() => layout?.orientation === 'horizontal', [layout?.orientation]);
const renderItem = useCallback(({
item
}) => {
- return /*#__PURE__*/React.createElement(ContentCardView, {
+ return /*#__PURE__*/React.createElement(ContentCardView, _extends({
template: item
- });
- }, []);
+ }, CardProps, {
+ style: [isHorizontal && [styles.horizontalCardStyles, {
+ width: Math.floor(windowWidth * 0.75)
+ }]]
+ }));
+ }, [isHorizontal, CardProps, windowWidth]);
if (isLoading) {
return LoadingComponent;
}
@@ -41,23 +64,27 @@ function ContentCardContainerInner({
return FallbackComponent;
}
if (content.length === 0) {
- const emptyProps = settings?.content?.emptyStateSettings;
if (EmptyComponent) {
return /*#__PURE__*/cloneElement(EmptyComponent, {
- ...emptyProps
+ ...emptyStateSettings
});
}
return /*#__PURE__*/React.createElement(EmptyState, {
- image: emptyProps?.image?.[colorScheme ?? "light"]?.url,
- text: settings?.content?.emptyStateSettings?.message?.content || "No Content Available"
+ image: emptyStateSettings?.image?.[colorScheme ?? "light"]?.url,
+ text: emptyStateSettings?.message?.content || "No Content Available"
});
}
return /*#__PURE__*/React.createElement(ContentCardContainerProvider, {
settings: settings
- }, /*#__PURE__*/React.createElement(FlatList, _extends({}, props, {
+ }, /*#__PURE__*/React.createElement(Text, {
+ accessibilityRole: "header",
+ style: [styles.heading, {
+ color: headingColor
+ }]
+ }, heading.content), /*#__PURE__*/React.createElement(FlatList, _extends({}, props, {
data: content,
- contentContainerStyle: [styles.contentContainer, contentContainerStyle],
- horizontal: settings?.content?.layout?.orientation === "horizontal",
+ contentContainerStyle: [contentContainerStyle, isHorizontal && styles.horizontalListContent],
+ horizontal: isHorizontal,
renderItem: renderItem
})));
}
@@ -89,8 +116,18 @@ export function ContentCardContainer({
}, props));
}
const styles = StyleSheet.create({
- contentContainer: {
- flex: 1
+ heading: {
+ fontWeight: '600',
+ fontSize: 18,
+ lineHeight: 28,
+ textAlign: 'center',
+ marginBottom: 16
+ },
+ horizontalCardStyles: {
+ flex: 0
+ },
+ horizontalListContent: {
+ alignItems: 'center'
}
});
//# sourceMappingURL=ContentCardContainer.js.map
\ No newline at end of file
diff --git a/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js.map b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js.map
index 02180e26..93fe0afd 100644
--- a/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js.map
+++ b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.js.map
@@ -1 +1 @@
-{"version":3,"names":["ActivityIndicator","FlatList","StyleSheet","useColorScheme","ContentCardContainerProvider","ContentCardView","cloneElement","useCallback","useContentCardUI","useContentContainer","EmptyState","ContentCardContainerInner","contentContainerStyle","LoadingComponent","React","createElement","ErrorComponent","FallbackComponent","EmptyComponent","settings","surface","style","props","colorScheme","content","error","isLoading","renderItem","item","template","length","emptyProps","emptyStateSettings","image","url","text","message","_extends","data","styles","contentContainer","horizontal","layout","orientation","ContentCardContainer","create","flex"],"sourceRoot":"../../../../../src","sources":["ui/components/ContentCardContainer/ContentCardContainer.tsx"],"mappings":"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","ignoreList":[]}
+{"version":3,"names":["cloneElement","useCallback","useMemo","ActivityIndicator","FlatList","StyleSheet","Text","useColorScheme","useWindowDimensions","useContentCardUI","useContentContainer","ContentCardContainerProvider","ContentCardView","EmptyState","ContentCardContainerInner","contentContainerStyle","LoadingComponent","React","createElement","ErrorComponent","FallbackComponent","EmptyComponent","settings","surface","style","CardProps","props","colorScheme","width","windowWidth","content","error","isLoading","contentSettings","heading","layout","emptyStateSettings","headingColor","isHorizontal","orientation","renderItem","item","_extends","template","styles","horizontalCardStyles","Math","floor","length","image","url","text","message","accessibilityRole","color","data","horizontalListContent","horizontal","ContentCardContainer","create","fontWeight","fontSize","lineHeight","textAlign","marginBottom","flex","alignItems"],"sourceRoot":"../../../../../src","sources":["ui/components/ContentCardContainer/ContentCardContainer.tsx"],"mappings":"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","ignoreList":[]}
diff --git a/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.spec.js b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.spec.js
new file mode 100644
index 00000000..f6862b79
--- /dev/null
+++ b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.spec.js
@@ -0,0 +1,175 @@
+"use strict";
+
+/*
+ Copyright 2025 Adobe. All rights reserved.
+ This file is licensed to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
+ or agreed to in writing, software distributed under the License is
+ distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
+ ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License.
+*/
+
+import React from 'react';
+import { render, screen } from '@testing-library/react-native';
+import { Dimensions, Text } from 'react-native';
+import { ContentCardContainer } from "./ContentCardContainer.js";
+
+// Mock hooks used by the container
+jest.mock('../../hooks', () => ({
+ useContentCardUI: jest.fn(),
+ useContentContainer: jest.fn()
+}));
+
+// Capture props passed to ContentCardView (name must start with mock for Jest scope rules)
+const mockContentCardView = jest.fn((..._args) => null);
+jest.mock('../ContentCardView/ContentCardView', () => {
+ return {
+ ContentCardView: props => {
+ mockContentCardView(props);
+ return null;
+ }
+ };
+});
+
+// Provide a pass-through for the provider
+jest.mock('../../providers/ContentCardContainerProvider', () => ({
+ __esModule: true,
+ default: ({
+ children
+ }) => children
+}));
+const {
+ useContentCardUI,
+ useContentContainer
+} = jest.requireMock('../../hooks');
+describe('ContentCardContainer', () => {
+ const surface = 'test-surface';
+ const baseSettings = {
+ templateType: 'inbox',
+ content: {
+ heading: {
+ content: 'Heading'
+ },
+ layout: {
+ orientation: 'horizontal'
+ },
+ capacity: 10,
+ emptyStateSettings: {
+ message: {
+ content: 'No Content Available'
+ },
+ image: {
+ light: {
+ url: 'https://example.com/image.png'
+ }
+ }
+ },
+ unread_indicator: {
+ unread_bg: {
+ clr: {
+ light: '#EEE',
+ dark: '#111'
+ }
+ },
+ unread_icon: {
+ placement: 'topright',
+ image: {
+ url: 'https://example.com/icon.png'
+ }
+ }
+ },
+ isUnreadEnabled: true
+ },
+ showPagination: false
+ };
+ beforeEach(() => {
+ jest.clearAllMocks();
+ // Default Dimensions width for deterministic style assertions
+ jest.spyOn(Dimensions, 'get').mockReturnValue({
+ width: 400,
+ height: 800,
+ scale: 2,
+ fontScale: 2
+ });
+ });
+ it('renders loading state', () => {
+ useContentContainer.mockReturnValue({
+ settings: baseSettings,
+ isLoading: false,
+ error: null
+ });
+ useContentCardUI.mockReturnValue({
+ content: undefined,
+ isLoading: true,
+ error: null
+ });
+ const Loading = /*#__PURE__*/React.createElement(Text, null, "Loading...");
+ const CC = ContentCardContainer;
+ render(/*#__PURE__*/React.createElement(CC, {
+ surface: surface,
+ LoadingComponent: Loading
+ }));
+ expect(screen.getByText('Loading...')).toBeTruthy();
+ });
+ it('renders error state', () => {
+ // Outer container handles ErrorComponent when useContentContainer has an error
+ useContentContainer.mockReturnValue({
+ settings: baseSettings,
+ isLoading: false,
+ error: new Error('x')
+ });
+ useContentCardUI.mockReturnValue({
+ content: undefined,
+ isLoading: false,
+ error: null
+ });
+ const ErrorComp = /*#__PURE__*/React.createElement(Text, null, "Error!");
+ const CC = ContentCardContainer;
+ render(/*#__PURE__*/React.createElement(CC, {
+ surface: surface,
+ ErrorComponent: ErrorComp
+ }));
+ expect(screen.getByText('Error!')).toBeTruthy();
+ });
+ it('renders fallback when no content yet', () => {
+ // Outer container handles FallbackComponent when settings are missing
+ useContentContainer.mockReturnValue({
+ settings: undefined,
+ isLoading: false,
+ error: null
+ });
+ useContentCardUI.mockReturnValue({
+ content: undefined,
+ isLoading: false,
+ error: null
+ });
+ const Fallback = /*#__PURE__*/React.createElement(Text, null, "Fallback");
+ const CC = ContentCardContainer;
+ render(/*#__PURE__*/React.createElement(CC, {
+ surface: surface,
+ FallbackComponent: Fallback
+ }));
+ expect(screen.getByText('Fallback')).toBeTruthy();
+ });
+ it('renders empty state when content is empty', () => {
+ useContentContainer.mockReturnValue({
+ settings: baseSettings,
+ isLoading: false,
+ error: null
+ });
+ useContentCardUI.mockReturnValue({
+ content: [],
+ isLoading: false,
+ error: null
+ });
+ const CC = ContentCardContainer;
+ render(/*#__PURE__*/React.createElement(CC, {
+ surface: surface
+ }));
+ expect(screen.getByText('No Content Available')).toBeTruthy();
+ });
+});
+//# sourceMappingURL=ContentCardContainer.spec.js.map
\ No newline at end of file
diff --git a/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.spec.js.map b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.spec.js.map
new file mode 100644
index 00000000..8abdf440
--- /dev/null
+++ b/packages/messaging/dist/module/ui/components/ContentCardContainer/ContentCardContainer.spec.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["React","render","screen","Dimensions","Text","ContentCardContainer","jest","mock","useContentCardUI","fn","useContentContainer","mockContentCardView","_args","ContentCardView","props","__esModule","default","children","requireMock","describe","surface","baseSettings","templateType","content","heading","layout","orientation","capacity","emptyStateSettings","message","image","light","url","unread_indicator","unread_bg","clr","dark","unread_icon","placement","isUnreadEnabled","showPagination","beforeEach","clearAllMocks","spyOn","mockReturnValue","width","height","scale","fontScale","it","settings","isLoading","error","undefined","Loading","createElement","CC","LoadingComponent","expect","getByText","toBeTruthy","Error","ErrorComp","ErrorComponent","Fallback","FallbackComponent"],"sourceRoot":"../../../../../src","sources":["ui/components/ContentCardContainer/ContentCardContainer.spec.tsx"],"mappings":"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","ignoreList":[]}
diff --git a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js
index 179d93a0..1bd2b464 100644
--- a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js
+++ b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js
@@ -154,7 +154,7 @@ export const ContentCardView = ({
}, styleOverrides?.image],
resizeMode: "contain"
}, ImageProps))), cardVariant !== "ImageOnly" && /*#__PURE__*/React.createElement(View, _extends({
- style: [styles.contentContainer, styleOverrides?.contentContainer]
+ style: [cardVariant === "SmallImage" ? smallImageStyles.contentContainer : styles.contentContainer, styleOverrides?.contentContainer]
}, ContentContainerProps), content?.title?.content && /*#__PURE__*/React.createElement(Text, _extends({
style: [styles.title, {
color: theme.colors.textPrimary
@@ -195,7 +195,6 @@ const styles = StyleSheet.create({
resizeMode: "contain"
},
contentContainer: {
- flex: 1,
paddingVertical: 16,
paddingHorizontal: 16,
justifyContent: "flex-start"
@@ -237,6 +236,12 @@ const smallImageStyles = StyleSheet.create({
container: {
flexDirection: "row"
},
+ contentContainer: {
+ flex: 1,
+ paddingVertical: 16,
+ paddingHorizontal: 16,
+ justifyContent: "flex-start"
+ },
imageContainer: {
borderRadius: 12,
maxWidth: "35%",
diff --git a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map
index b55daaaa..c49e6223 100644
--- a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map
+++ b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map
@@ -1 +1 @@
-{"version":3,"names":["React","useEffect","useCallback","useState","useRef","useMemo","Image","Linking","Pressable","StyleSheet","Text","useColorScheme","View","MessagingEdgeEventType","DismissButton","UnreadIcon","useTheme","useAspectRatio","Button","useContainerSettings","ContentCardView","template","listener","variant","styleOverrides","_styleOverrides","style","ContainerProps","ImageContainerProps","ImageProps","ContentContainerProps","TextProps","TitleProps","BodyProps","ButtonContainerProps","ButtonProps","DismissButtonProps","props","colorScheme","isVisible","setIsVisible","isDisplayedRef","theme","containerSettings","isRead","setIsRead","isUnreadEnabled","content","unreadBackgroundColor","unread_indicator","unread_bg","undefined","unreadBg","clr","dark","light","cardVariant","type","onDismiss","track","DISMISS","onPress","INTERACT","data","actionUrl","openURL","error","console","warn","imageUri","image","darkUrl","url","imageAspectRatio","smallImageStyle","largeImageStyle","imageOnlyStyle","current","DISPLAY","createElement","_extends","state","styles","card","smallImageStyles","container","backgroundColor","imageContainer","source","uri","aspectRatio","resizeMode","contentContainer","title","color","colors","textPrimary","text","body","buttonContainer","buttons","length","map","button","key","id","textStyle","buttonText","dismissBtn","create","margin","flex","flexDirection","alignItems","borderRadius","width","paddingVertical","paddingHorizontal","justifyContent","textContent","marginBottom","fontSize","fontWeight","marginRight","lineHeight","flexWrap","paddingTop","gap","marginHorizontal","maxWidth","alignSelf"],"sourceRoot":"../../../../../src","sources":["ui/components/ContentCardView/ContentCardView.tsx"],"mappings":"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","ignoreList":[]}
+{"version":3,"names":["React","useEffect","useCallback","useState","useRef","useMemo","Image","Linking","Pressable","StyleSheet","Text","useColorScheme","View","MessagingEdgeEventType","DismissButton","UnreadIcon","useTheme","useAspectRatio","Button","useContainerSettings","ContentCardView","template","listener","variant","styleOverrides","_styleOverrides","style","ContainerProps","ImageContainerProps","ImageProps","ContentContainerProps","TextProps","TitleProps","BodyProps","ButtonContainerProps","ButtonProps","DismissButtonProps","props","colorScheme","isVisible","setIsVisible","isDisplayedRef","theme","containerSettings","isRead","setIsRead","isUnreadEnabled","content","unreadBackgroundColor","unread_indicator","unread_bg","undefined","unreadBg","clr","dark","light","cardVariant","type","onDismiss","track","DISMISS","onPress","INTERACT","data","actionUrl","openURL","error","console","warn","imageUri","image","darkUrl","url","imageAspectRatio","smallImageStyle","largeImageStyle","imageOnlyStyle","current","DISPLAY","createElement","_extends","state","styles","card","smallImageStyles","container","backgroundColor","imageContainer","source","uri","aspectRatio","resizeMode","contentContainer","title","color","colors","textPrimary","text","body","buttonContainer","buttons","length","map","button","key","id","textStyle","buttonText","dismissBtn","create","margin","flex","flexDirection","alignItems","borderRadius","width","paddingVertical","paddingHorizontal","justifyContent","textContent","marginBottom","fontSize","fontWeight","marginRight","lineHeight","flexWrap","paddingTop","gap","marginHorizontal","maxWidth","alignSelf"],"sourceRoot":"../../../../../src","sources":["ui/components/ContentCardView/ContentCardView.tsx"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IACVC,SAAS,EACTC,WAAW,EACXC,QAAQ,EACRC,MAAM,EACNC,OAAO,QACF,OAAO;AASd,SACEC,KAAK,EACLC,OAAO,EACPC,SAAS,EAETC,UAAU,EACVC,IAAI,EACJC,cAAc,EACdC,IAAI,QACC,cAAc;AACrB,OAAOC,sBAAsB,MAAM,2CAAwC;AAC3E,OAAOC,aAAa,MAAM,mCAAgC;AAC1D,OAAOC,UAAU,MAAM,6BAA0B;AACjD,SAASC,QAAQ,QAAQ,sBAAa;AACtC,OAAOC,cAAc,MAAM,+BAA4B;AAEvD,OAAOC,MAAM,MAAM,qBAAkB;AACrC,OAAOC,oBAAoB,MAAM,qCAAkC;;AAEnE;AACA;AACA;;AAUA;;AAqBA;AACA;AACA;AACA,OAAO,MAAMC,eAA2C,GAAGA,CAAC;EAC1DC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC,cAAc,EAAEC,eAAe;EAC/BC,KAAK;EACLC,cAAc;EACdC,mBAAmB;EACnBC,UAAU;EACVC,qBAAqB;EACrBC,SAAS;EACTC,UAAU;EACVC,SAAS;EACTC,oBAAoB;EACpBC,WAAW;EACXC,kBAAkB;EAClB,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAG3B,cAAc,CAAC,CAAC;EACpC,MAAM,CAAC4B,SAAS,EAAEC,YAAY,CAAC,GAAGrC,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAMsC,cAAc,GAAGrC,MAAM,CAAC,KAAK,CAAC;EACpC,MAAMsC,KAAK,GAAG1B,QAAQ,CAAC,CAAC;EACxB,MAAM2B,iBAAiB,GAAGxB,oBAAoB,CAAC,CAAC;EAChD;EACA,MAAM,CAACyB,MAAM,EAAEC,SAAS,CAAC,GAAG1C,QAAQ,CAACkB,QAAQ,CAACuB,MAAM,CAAC;;EAErD;EACA3C,SAAS,CAAC,MAAM;IACd4C,SAAS,CAACxB,QAAQ,CAACuB,MAAM,CAAC;EAC5B,CAAC,EAAE,CAACvB,QAAQ,CAACuB,MAAM,CAAC,CAAC;;EAErB;EACA,MAAME,eAAe,GAAGH,iBAAiB,EAAEI,OAAO,EAAED,eAAe,IAAI,IAAI;;EAE3E;EACA,MAAME,qBAAqB,GAAG3C,OAAO,CAAC,MAAM;IAC1C,IAAI,CAACyC,eAAe,IAAIF,MAAM,IAAI,CAACD,iBAAiB,EAAEI,OAAO,EAAEE,gBAAgB,EAAEC,SAAS,EAAE;MAC1F,OAAOC,SAAS;IAClB;IAEA,MAAMC,QAAQ,GAAGT,iBAAiB,CAACI,OAAO,CAACE,gBAAgB,CAACC,SAAS;IACrE,OAAOZ,WAAW,KAAK,MAAM,GAAGc,QAAQ,CAACC,GAAG,CAACC,IAAI,GAAGF,QAAQ,CAACC,GAAG,CAACE,KAAK;EACxE,CAAC,EAAE,CAACT,eAAe,EAAEF,MAAM,EAAED,iBAAiB,EAAEL,WAAW,CAAC,CAAC;EAE7D,MAAMkB,WAAW,GAAGnD,OAAO,CACzB,MAAMkB,OAAO,IAAIF,QAAQ,CAACoC,IAAI,IAAI,YAAY,EAC9C,CAAClC,OAAO,EAAEF,QAAQ,CAACoC,IAAI,CACzB,CAAC;EAED,MAAMC,SAAS,GAAGxD,WAAW,CAAC,MAAM;IAClCoB,QAAQ,GAAG,WAAW,EAAED,QAAQ,CAAC;;IAEjC;IACAA,QAAQ,CAACsC,KAAK,GAAG9C,sBAAsB,CAAC+C,OAAO,CAAC;IAEhDpB,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC,EAAE,CAAClB,QAAQ,EAAED,QAAQ,CAAC,CAAC;EAExB,MAAMwC,OAAO,GAAG3D,WAAW,CAAC,MAAM;IAChCoB,QAAQ,GAAG,YAAY,EAAED,QAAQ,CAAC;;IAElC;IACAA,QAAQ,CAACsC,KAAK,GAAG,iBAAiB,EAAE9C,sBAAsB,CAACiD,QAAQ,EAAE,IAAI,CAAC;;IAE1E;IACAzC,QAAQ,CAACuB,MAAM,GAAG,IAAI;IACtBC,SAAS,CAAC,IAAI,CAAC;IAEf,IAAIxB,QAAQ,CAAC0C,IAAI,EAAEhB,OAAO,EAAEiB,SAAS,EAAE;MACrC,IAAI;QACFzD,OAAO,CAAC0D,OAAO,CAAC5C,QAAQ,CAAC0C,IAAI,CAAChB,OAAO,CAACiB,SAAS,CAAC;MAClD,CAAC,CAAC,OAAOE,KAAK,EAAE;QACdC,OAAO,CAACC,IAAI,CACV,uBAAuB/C,QAAQ,CAAC0C,IAAI,CAAChB,OAAO,CAACiB,SAAS,EAAE,EACxDE,KACF,CAAC;MACH;IACF;EACF,CAAC,EAAE,CAAC7C,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAExB,MAAM+C,QAAQ,GAAGhE,OAAO,CAAC,MAAM;IAC7B,IAAIiC,WAAW,KAAK,MAAM,IAAIjB,QAAQ,CAAC0C,IAAI,EAAEhB,OAAO,EAAEuB,KAAK,EAAEC,OAAO,EAAE;MACpE,OAAOlD,QAAQ,CAAC0C,IAAI,CAAChB,OAAO,CAACuB,KAAK,CAACC,OAAO;IAC5C;IACA,OAAOlD,QAAQ,CAAC0C,IAAI,CAAChB,OAAO,CAACuB,KAAK,EAAEE,GAAG;EACzC,CAAC,EAAE,CACDlC,WAAW,EACXjB,QAAQ,CAAC0C,IAAI,EAAEhB,OAAO,EAAEuB,KAAK,EAAEC,OAAO,EACtClD,QAAQ,CAAC0C,IAAI,EAAEhB,OAAO,EAAEuB,KAAK,EAAEE,GAAG,CACnC,CAAC;EAEF,MAAMC,gBAAgB,GAAGxD,cAAc,CAACoD,QAAQ,CAAC;EAEjD,MAAM7C,cAAc,GAAGnB,OAAO,CAG5B,MAAM;IACN,QAAQmD,WAAW;MACjB,KAAK,YAAY;QACf,OAAO/B,eAAe,EAAEiD,eAAe;MACzC,KAAK,YAAY;QACf,OAAOjD,eAAe,EAAEkD,eAAe;MACzC,KAAK,WAAW;QACd,OAAOlD,eAAe,EAAEmD,cAAc;MACxC;QACE,OAAO,IAAI;IACf;EACF,CAAC,EAAE,CAACnD,eAAe,EAAE+B,WAAW,CAAC,CAAC;;EAElC;EACAvD,SAAS,CAAC,MAAM;IACd,IAAI,CAACwC,cAAc,CAACoC,OAAO,EAAE;MAC3BvD,QAAQ,GAAG,WAAW,EAAED,QAAQ,CAAC;MACjC;MACAA,QAAQ,CAACsC,KAAK,GAAG9C,sBAAsB,CAACiE,OAAO,CAAC;MAChDrC,cAAc,CAACoC,OAAO,GAAG,IAAI;IAC/B;EACF,CAAC,EAAE,CAACvD,QAAQ,EAAED,QAAQ,CAAC,CAAC;;EAExB;EACA,IAAI,CAACkB,SAAS,EAAE;IACd,OAAO,IAAI;EACb;EAEA,IAAI,CAAClB,QAAQ,CAAC0C,IAAI,EAAE,OAAO,IAAI;EAE/B,MAAMhB,OAAO,GAAG1B,QAAQ,EAAE0C,IAAI,EAAEhB,OAAc;EAE9C,IAAI,CAACA,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACE/C,KAAA,CAAA+E,aAAA,CAACvE,SAAS,EAAAwE,QAAA;IACRnB,OAAO,EAAEA,OAAQ;IACjBnC,KAAK,EAAGuD,KAAK,IAAK,CAChBC,MAAM,CAACC,IAAI,EACX3D,cAAc,EAAE2D,IAAI,EACpB,OAAOzD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACuD,KAAK,CAAC,GAAGvD,KAAK;EAClD,GACEW,KAAK,gBAETrC,KAAA,CAAA+E,aAAA,CAACnE,IAAI,EAAAoE,QAAA;IACHtD,KAAK,EAAE,CACL8B,WAAW,KAAK,YAAY,GACxB4B,gBAAgB,CAACC,SAAS,GAC1BH,MAAM,CAACG,SAAS,EACpB7D,cAAc,EAAE6D,SAAS,EACzBrC,qBAAqB,IAAI;MAAEsC,eAAe,EAAEtC;IAAsB,CAAC;EACnE,GACErB,cAAc,GAEjB0C,QAAQ,iBACPrE,KAAA,CAAA+E,aAAA,CAACnE,IAAI,EAAAoE,QAAA;IACHtD,KAAK,EAAE,CACL8B,WAAW,KAAK,YAAY,GACxB4B,gBAAgB,CAACG,cAAc,GAC/BL,MAAM,CAACK,cAAc,EACzB/D,cAAc,EAAE+D,cAAc;EAC9B,GACE3D,mBAAmB,gBAEvB5B,KAAA,CAAA+E,aAAA,CAACzE,KAAK,EAAA0E,QAAA;IACJQ,MAAM,EAAE;MAAEC,GAAG,EAAEpB;IAAS,CAAE;IAC1B3C,KAAK,EAAE,CACL8B,WAAW,KAAK,YAAY,GACxB4B,gBAAgB,CAACd,KAAK,GACtBY,MAAM,CAACZ,KAAK,EAChB;MAAEoB,WAAW,EAAEjB;IAAiB,CAAC,EACjCjD,cAAc,EAAE8C,KAAK,CACrB;IACFqB,UAAU,EAAC;EAAS,GAChB9D,UAAU,CACf,CACG,CACP,EACA2B,WAAW,KAAK,WAAW,iBAC1BxD,KAAA,CAAA+E,aAAA,CAACnE,IAAI,EAAAoE,QAAA;IACHtD,KAAK,EAAE,CAAC8B,WAAW,KAAK,YAAY,GAChC4B,gBAAgB,CAACQ,gBAAgB,GACjCV,MAAM,CAACU,gBAAgB,EAAEpE,cAAc,EAAEoE,gBAAgB;EAAE,GAC3D9D,qBAAqB,GAExBiB,OAAO,EAAE8C,KAAK,EAAE9C,OAAO,iBACtB/C,KAAA,CAAA+E,aAAA,CAACrE,IAAI,EAAAsE,QAAA;IACHtD,KAAK,EAAE,CACLwD,MAAM,CAACW,KAAK,EACZ;MAAEC,KAAK,EAAEpD,KAAK,CAACqD,MAAM,CAACC;IAAY,CAAC,EACnCxE,cAAc,EAAEyE,IAAI,EACpBzE,cAAc,EAAEqE,KAAK;EACrB,GACE9D,SAAS,EACTC,UAAU,GAEbe,OAAO,CAAC8C,KAAK,CAAC9C,OACX,CACP,EACAA,OAAO,EAAEmD,IAAI,EAAEnD,OAAO,iBACrB/C,KAAA,CAAA+E,aAAA,CAACrE,IAAI,EAAAsE,QAAA;IACHtD,KAAK,EAAE,CACLwD,MAAM,CAACgB,IAAI,EACX;MAAEJ,KAAK,EAAEpD,KAAK,CAACqD,MAAM,CAACC;IAAY,CAAC,EACnCxE,cAAc,EAAEyE,IAAI,EACpBzE,cAAc,EAAE0E,IAAI;EACpB,GACEnE,SAAS,EACTE,SAAS,GAEZc,OAAO,CAACmD,IAAI,CAACnD,OACV,CACP,eACD/C,KAAA,CAAA+E,aAAA,CAACnE,IAAI,EAAAoE,QAAA;IACHtD,KAAK,EAAE,CAACwD,MAAM,CAACiB,eAAe,EAAE3E,cAAc,EAAE2E,eAAe;EAAE,GAC7DjE,oBAAoB,GAEvBa,OAAO,EAAEqD,OAAO,EAAEC,MAAM,IACvBtD,OAAO,EAAEqD,OAAO,EAAEC,MAAM,GAAG,CAAC,IAC5BtD,OAAO,CAACqD,OAAO,CAACE,GAAG,CAAEC,MAAM,iBACzBvG,KAAA,CAAA+E,aAAA,CAAC7D,MAAM,EAAA8D,QAAA;IACLwB,GAAG,EAAED,MAAM,CAACE,EAAG;IACfzC,SAAS,EAAEuC,MAAM,CAACvC,SAAU;IAC5B6B,KAAK,EAAEU,MAAM,CAACN,IAAI,CAAClD,OAAQ;IAC3Bc,OAAO,EAAEA,OAAQ;IACjBnC,KAAK,EAAEF,cAAc,EAAE+E,MAAO;IAC9BG,SAAS,EAAE,CACTlF,cAAc,EAAEyE,IAAI,EACpBzE,cAAc,EAAEmF,UAAU;EAC1B,GACExE,WAAW,CAChB,CACF,CACC,CACF,CACP,EACAY,OAAO,EAAE6D,UAAU,IAAI7D,OAAO,CAAC6D,UAAU,EAAElF,KAAK,KAAK,MAAM,iBAC1D1B,KAAA,CAAA+E,aAAA,CAACjE,aAAa,EAAAkE,QAAA;IACZnB,OAAO,EAAEH,SAAU;IACnBD,IAAI,EAAEV,OAAO,CAAC6D,UAAU,CAAClF;EAAM,GAC3BU,kBAAkB,CACvB,CACF,EACAU,eAAe,IAAI,CAACF,MAAM,iBACzB5C,KAAA,CAAA+E,aAAA,CAAChE,UAAU,MAAE,CAEX,CACG,CAAC;AAEhB,CAAC;AAED,MAAMmE,MAAM,GAAGzE,UAAU,CAACoG,MAAM,CAAC;EAC/B1B,IAAI,EAAE;IACJ2B,MAAM,EAAE,EAAE;IACVC,IAAI,EAAE;EACR,CAAC;EACD1B,SAAS,EAAE;IACT2B,aAAa,EAAE;EACjB,CAAC;EACDzB,cAAc,EAAE;IACd0B,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChB5B,eAAe,EAAE;EACnB,CAAC;EACDhB,KAAK,EAAE;IACL6C,KAAK,EAAE,MAAM;IACbxB,UAAU,EAAE;EACd,CAAC;EACDC,gBAAgB,EAAE;IAChBwB,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,cAAc,EAAE;EAClB,CAAC;EACDC,WAAW,EAAE;IACXR,IAAI,EAAE,CAAC;IACPO,cAAc,EAAE,YAAY;IAC5BE,YAAY,EAAE;EAChB,CAAC;EACD3B,KAAK,EAAE;IACL4B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBF,YAAY,EAAE,CAAC;IACfG,WAAW,EAAE;EACf,CAAC;EACDzB,IAAI,EAAE;IACJuB,QAAQ,EAAE,EAAE;IACZG,UAAU,EAAE;EACd,CAAC;EACDzB,eAAe,EAAE;IACfa,aAAa,EAAE,KAAK;IACpBM,cAAc,EAAE,YAAY;IAC5BO,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAE,CAAC;IACbC,GAAG,EAAE;EACP,CAAC;EACDxB,MAAM,EAAE;IACNyB,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF,MAAM5C,gBAAgB,GAAG3E,UAAU,CAACoG,MAAM,CAAC;EACzC1B,IAAI,EAAE;IACJ+B,YAAY,EAAE,EAAE;IAChBF,aAAa,EAAE,KAAK;IACpBe,GAAG,EAAE,CAAC;IACNE,QAAQ,EAAE,MAAM;IAChBhB,UAAU,EAAE;EACd,CAAC;EACD5B,SAAS,EAAE;IACT2B,aAAa,EAAE;EACjB,CAAC;EACDpB,gBAAgB,EAAE;IAChBmB,IAAI,EAAE,CAAC;IACPK,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,cAAc,EAAE;EAClB,CAAC;EACD/B,cAAc,EAAE;IACd2B,YAAY,EAAE,EAAE;IAChBe,QAAQ,EAAE,KAAK;IACfC,SAAS,EAAE;EACb,CAAC;EACD5D,KAAK,EAAE;IACLqB,UAAU,EAAE,SAAS;IACrBwB,KAAK,EAAE,MAAM;IACbc,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
diff --git a/packages/messaging/dist/typescript/Messaging.d.ts.map b/packages/messaging/dist/typescript/Messaging.d.ts.map
index 05e8e676..9869caae 100644
--- a/packages/messaging/dist/typescript/Messaging.d.ts.map
+++ b/packages/messaging/dist/typescript/Messaging.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Messaging.d.ts","sourceRoot":"","sources":["../../src/Messaging.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Messaging.d.ts","sourceRoot":"","sources":["../../src/Messaging.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts
index 8159cdc9..4f144579 100644
--- a/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts
+++ b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts
@@ -1,11 +1,14 @@
-import { FlatListProps } from "react-native";
import { ReactElement } from "react";
-export interface ContentCardContainerProps extends FlatListProps {
+import { FlatListProps } from "react-native";
+import { ContentTemplate } from "../../types/Templates";
+import { ContentViewProps } from "../ContentCardView/ContentCardView";
+export interface ContentCardContainerProps extends Partial> {
LoadingComponent?: ReactElement | null;
ErrorComponent?: ReactElement | null;
FallbackComponent?: ReactElement | null;
EmptyComponent?: ReactElement | null;
surface: string;
+ CardProps?: Partial;
}
-export declare function ContentCardContainer({ LoadingComponent, ErrorComponent, FallbackComponent, surface, ...props }: ContentCardContainerProps): React.ReactElement;
+export declare function ContentCardContainer({ LoadingComponent, ErrorComponent, FallbackComponent, surface, ...props }: ContentCardContainerProps): React.ReactElement;
//# sourceMappingURL=ContentCardContainer.d.ts.map
\ No newline at end of file
diff --git a/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts.map b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts.map
index 409d12d4..d4713ef3 100644
--- a/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts.map
+++ b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ContentCardContainer.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ContentCardContainer/ContentCardContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAId,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAgB,YAAY,EAAe,MAAM,OAAO,CAAC;AAIhE,MAAM,WAAW,yBAAyB,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACpE,gBAAgB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAmED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,gBAAwC,EACxC,cAAqB,EACrB,iBAAwB,EACxB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAuBnD"}
\ No newline at end of file
+{"version":3,"file":"ContentCardContainer.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ContentCardContainer/ContentCardContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAwB,MAAM,OAAO,CAAC;AACzE,OAAO,EAGL,aAAa,EAMd,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAGvF,MAAM,WAAW,yBAAyB,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7E,gBAAgB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvC;AAwFD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,eAAe,EAAE,EAC9D,gBAAwC,EACxC,cAAqB,EACrB,iBAAwB,EACxB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAuBnD"}
\ No newline at end of file
diff --git a/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.spec.d.ts b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.spec.d.ts
new file mode 100644
index 00000000..f5b0dd1b
--- /dev/null
+++ b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.spec.d.ts
@@ -0,0 +1,2 @@
+export {};
+//# sourceMappingURL=ContentCardContainer.spec.d.ts.map
\ No newline at end of file
diff --git a/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.spec.d.ts.map b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.spec.d.ts.map
new file mode 100644
index 00000000..b3e5bd14
--- /dev/null
+++ b/packages/messaging/dist/typescript/ui/components/ContentCardContainer/ContentCardContainer.spec.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"ContentCardContainer.spec.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ContentCardContainer/ContentCardContainer.spec.tsx"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/packages/messaging/dist/typescript/ui/components/ContentCardView/ContentCardView.d.ts.map b/packages/messaging/dist/typescript/ui/components/ContentCardView/ContentCardView.d.ts.map
index 67c483b2..1858ed81 100644
--- a/packages/messaging/dist/typescript/ui/components/ContentCardView/ContentCardView.d.ts.map
+++ b/packages/messaging/dist/typescript/ui/components/ContentCardView/ContentCardView.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ContentCardView.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ContentCardView/ContentCardView.tsx"],"names":[],"mappings":"AAYA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAIL,cAAc,EAKf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;AACrC,6EAA6E;AAC7E,KAAK,CAAC,EAAE,gBAAgB;AACxB,2DAA2D;AAC3D,IAAI,CAAC,EAAE,eAAe;AACtB,kEAAkE;AAClE,WAAW,CAAC,EAAE,GAAG,KACd,IAAI,CAAC;AAEV,8CAA8C;AAC9C,MAAM,WAAW,gBACf,SAAQ,cAAc,EACpB,sBAAsB;IACxB,uCAAuC;IACvC,QAAQ,EAAE,eAAe,CAAC;IAC1B,6DAA6D;IAC7D,cAAc,CAAC,EAAE;QACf,uDAAuD;QACvD,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,uDAAuD;QACvD,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,sDAAsD;QACtD,cAAc,CAAC,EAAE,qBAAqB,CAAC;KACxC,CAAC;IACF,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,iDAAiD;IACjD,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmPtD,CAAC"}
\ No newline at end of file
+{"version":3,"file":"ContentCardView.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ContentCardView/ContentCardView.tsx"],"names":[],"mappings":"AAYA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAIL,cAAc,EAKf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;AACrC,6EAA6E;AAC7E,KAAK,CAAC,EAAE,gBAAgB;AACxB,2DAA2D;AAC3D,IAAI,CAAC,EAAE,eAAe;AACtB,kEAAkE;AAClE,WAAW,CAAC,EAAE,GAAG,KACd,IAAI,CAAC;AAEV,8CAA8C;AAC9C,MAAM,WAAW,gBACf,SAAQ,cAAc,EACpB,sBAAsB;IACxB,uCAAuC;IACvC,QAAQ,EAAE,eAAe,CAAC;IAC1B,6DAA6D;IAC7D,cAAc,CAAC,EAAE;QACf,uDAAuD;QACvD,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,uDAAuD;QACvD,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,sDAAsD;QACtD,cAAc,CAAC,EAAE,qBAAqB,CAAC;KACxC,CAAC;IACF,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,iDAAiD;IACjD,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqPtD,CAAC"}
\ No newline at end of file
diff --git a/packages/messaging/src/ui/components/ContentCardContainer/ContentCardContainer.spec.tsx b/packages/messaging/src/ui/components/ContentCardContainer/ContentCardContainer.spec.tsx
new file mode 100644
index 00000000..4c335ee8
--- /dev/null
+++ b/packages/messaging/src/ui/components/ContentCardContainer/ContentCardContainer.spec.tsx
@@ -0,0 +1,111 @@
+/*
+ Copyright 2025 Adobe. All rights reserved.
+ This file is licensed to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
+ or agreed to in writing, software distributed under the License is
+ distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
+ ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License.
+*/
+
+import React from 'react';
+import { render, screen } from '@testing-library/react-native';
+import { Dimensions, Text } from 'react-native';
+import { ContentCardContainer } from './ContentCardContainer';
+
+// Mock hooks used by the container
+jest.mock('../../hooks', () => ({
+ useContentCardUI: jest.fn(),
+ useContentContainer: jest.fn(),
+}));
+
+// Capture props passed to ContentCardView (name must start with mock for Jest scope rules)
+const mockContentCardView: jest.Mock = jest.fn((..._args: any[]) => null);
+jest.mock('../ContentCardView/ContentCardView', () => {
+ return {
+ ContentCardView: (props: any) => {
+ mockContentCardView(props);
+ return null;
+ },
+ };
+});
+
+// Provide a pass-through for the provider
+jest.mock('../../providers/ContentCardContainerProvider', () => ({
+ __esModule: true,
+ default: ({ children }: any) => children,
+}));
+
+const { useContentCardUI, useContentContainer } = jest.requireMock('../../hooks');
+
+describe('ContentCardContainer', () => {
+ const surface = 'test-surface';
+
+ const baseSettings = {
+ templateType: 'inbox',
+ content: {
+ heading: { content: 'Heading' },
+ layout: { orientation: 'horizontal' as const },
+ capacity: 10,
+ emptyStateSettings: {
+ message: { content: 'No Content Available' },
+ image: { light: { url: 'https://example.com/image.png' } },
+ },
+ unread_indicator: {
+ unread_bg: { clr: { light: '#EEE', dark: '#111' } },
+ unread_icon: { placement: 'topright', image: { url: 'https://example.com/icon.png' } },
+ },
+ isUnreadEnabled: true,
+ },
+ showPagination: false,
+ };
+
+ beforeEach(() => {
+ jest.clearAllMocks();
+ // Default Dimensions width for deterministic style assertions
+ jest.spyOn(Dimensions, 'get').mockReturnValue({ width: 400, height: 800, scale: 2, fontScale: 2 } as any);
+ });
+
+ it('renders loading state', () => {
+ (useContentContainer as jest.Mock).mockReturnValue({ settings: baseSettings, isLoading: false, error: null });
+ (useContentCardUI as jest.Mock).mockReturnValue({ content: undefined, isLoading: true, error: null });
+
+ const Loading = Loading... as any;
+ const CC: any = ContentCardContainer;
+ render();
+ expect(screen.getByText('Loading...')).toBeTruthy();
+ });
+
+ it('renders error state', () => {
+ // Outer container handles ErrorComponent when useContentContainer has an error
+ (useContentContainer as jest.Mock).mockReturnValue({ settings: baseSettings, isLoading: false, error: new Error('x') });
+ (useContentCardUI as jest.Mock).mockReturnValue({ content: undefined, isLoading: false, error: null });
+
+ const ErrorComp = Error! as any;
+ const CC: any = ContentCardContainer;
+ render();
+ expect(screen.getByText('Error!')).toBeTruthy();
+ });
+
+ it('renders fallback when no content yet', () => {
+ // Outer container handles FallbackComponent when settings are missing
+ (useContentContainer as jest.Mock).mockReturnValue({ settings: undefined, isLoading: false, error: null });
+ (useContentCardUI as jest.Mock).mockReturnValue({ content: undefined, isLoading: false, error: null });
+
+ const Fallback = Fallback as any;
+ const CC: any = ContentCardContainer;
+ render();
+ expect(screen.getByText('Fallback')).toBeTruthy();
+ });
+
+ it('renders empty state when content is empty', () => {
+ (useContentContainer as jest.Mock).mockReturnValue({ settings: baseSettings, isLoading: false, error: null });
+ (useContentCardUI as jest.Mock).mockReturnValue({ content: [], isLoading: false, error: null });
+
+ const CC: any = ContentCardContainer;
+ render();
+ expect(screen.getByText('No Content Available')).toBeTruthy();
+ });
+});
\ No newline at end of file
diff --git a/packages/messaging/src/ui/components/ContentCardContainer/ContentCardContainer.tsx b/packages/messaging/src/ui/components/ContentCardContainer/ContentCardContainer.tsx
index b08051a0..d866498e 100644
--- a/packages/messaging/src/ui/components/ContentCardContainer/ContentCardContainer.tsx
+++ b/packages/messaging/src/ui/components/ContentCardContainer/ContentCardContainer.tsx
@@ -1,29 +1,33 @@
+import { cloneElement, ReactElement, useCallback, useMemo } from "react";
import {
ActivityIndicator,
FlatList,
FlatListProps,
ListRenderItem,
StyleSheet,
+ Text,
useColorScheme,
+ useWindowDimensions
} from "react-native";
+import { useContentCardUI, useContentContainer } from "../../hooks";
import ContentCardContainerProvider, {
ContainerSettings,
} from "../../providers/ContentCardContainerProvider";
-import { ContentCardView } from "../ContentCardView/ContentCardView";
import { ContentTemplate } from "../../types/Templates";
-import { cloneElement, ReactElement, useCallback } from "react";
-import { useContentCardUI, useContentContainer } from "../../hooks";
+import { ContentCardView, ContentViewProps } from "../ContentCardView/ContentCardView";
import EmptyState from "./EmptyState";
-export interface ContentCardContainerProps extends FlatListProps {
+export interface ContentCardContainerProps extends Partial> {
LoadingComponent?: ReactElement | null;
ErrorComponent?: ReactElement | null;
FallbackComponent?: ReactElement | null;
EmptyComponent?: ReactElement | null;
surface: string;
+ CardProps?: Partial;
}
-function ContentCardContainerInner({
+// Core renderer: fetches content for a surface, derives layout, and renders a list of cards
+function ContentCardContainerInner({
contentContainerStyle,
LoadingComponent = ,
ErrorComponent = null,
@@ -32,16 +36,37 @@ function ContentCardContainerInner({
settings,
surface,
style,
+ CardProps,
...props
}: ContentCardContainerProps & {
settings: ContainerSettings;
}) {
const colorScheme = useColorScheme();
+ const { width: windowWidth } = useWindowDimensions();
const { content, error, isLoading } = useContentCardUI(surface);
+ // Normalize/alias frequently used settings
+ const { content: contentSettings } = settings;
+ const { heading, layout, emptyStateSettings } = contentSettings;
+
+ // Derived flags used across renders
+ const headingColor = useMemo(() => colorScheme === 'dark' ? '#FFFFFF' : '#000000', [colorScheme]);
+ const isHorizontal = useMemo(() => layout?.orientation === 'horizontal', [layout?.orientation]);
+
const renderItem: ListRenderItem = useCallback(({ item }) => {
- return ;
- }, []);
+ return (
+
+ );
+ }, [isHorizontal, CardProps, windowWidth]);
if (isLoading) {
return LoadingComponent;
@@ -56,19 +81,17 @@ function ContentCardContainerInner({
}
if (content.length === 0) {
- const emptyProps = settings?.content?.emptyStateSettings;
-
if (EmptyComponent) {
return cloneElement(EmptyComponent, {
- ...emptyProps,
+ ...emptyStateSettings,
}) as React.ReactElement;
}
return (
@@ -77,18 +100,19 @@ function ContentCardContainerInner({
return (
+ {heading.content}
);
}
-export function ContentCardContainer({
+export function ContentCardContainer({
LoadingComponent = ,
ErrorComponent = null,
FallbackComponent = null,
@@ -120,7 +144,17 @@ export function ContentCardContainer({
}
const styles = StyleSheet.create({
- contentContainer: {
- flex: 1,
+ heading: {
+ fontWeight: '600',
+ fontSize: 18,
+ lineHeight: 28,
+ textAlign: 'center',
+ marginBottom: 16
+ },
+ horizontalCardStyles: {
+ flex: 0
+ },
+ horizontalListContent: {
+ alignItems: 'center'
},
});
diff --git a/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx b/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx
index 4b309cf6..97ccac55 100644
--- a/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx
+++ b/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx
@@ -256,7 +256,9 @@ export const ContentCardView: React.FC = ({
)}
{cardVariant !== "ImageOnly" && (
{content?.title?.content && (
@@ -343,7 +345,6 @@ const styles = StyleSheet.create({
resizeMode: "contain",
},
contentContainer: {
- flex: 1,
paddingVertical: 16,
paddingHorizontal: 16,
justifyContent: "flex-start",
@@ -386,6 +387,12 @@ const smallImageStyles = StyleSheet.create({
container: {
flexDirection: "row",
},
+ contentContainer: {
+ flex: 1,
+ paddingVertical: 16,
+ paddingHorizontal: 16,
+ justifyContent: "flex-start",
+ },
imageContainer: {
borderRadius: 12,
maxWidth: "35%",