@adobe/react-native-aepmessaging 7.2.1 → 7.4.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.
- package/RCTAEPMessaging.podspec +1 -1
- package/README.md +145 -16
- package/android/src/main/java/com/adobe/marketing/mobile/reactnative/messaging/RCTAEPMessagingConstants.java +3 -0
- package/android/src/main/java/com/adobe/marketing/mobile/reactnative/messaging/RCTAEPMessagingModule.java +103 -33
- package/babel.config.js +3 -0
- package/dist/module/Messaging.js +334 -0
- package/dist/module/Messaging.js.map +1 -0
- package/dist/module/index.js +30 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/models/ContentCard.js +24 -0
- package/dist/module/models/ContentCard.js.map +1 -0
- package/dist/{models → module/models}/HTMLProposition.js +8 -9
- package/dist/module/models/HTMLProposition.js.map +1 -0
- package/dist/module/models/InAppMessage.js +4 -0
- package/dist/module/models/InAppMessage.js.map +1 -0
- package/dist/module/models/JSONProposition.js +22 -0
- package/dist/module/models/JSONProposition.js.map +1 -0
- package/dist/module/models/Message.js +182 -0
- package/dist/module/models/Message.js.map +1 -0
- package/dist/module/models/MessagingDelegate.js +4 -0
- package/dist/module/models/MessagingDelegate.js.map +1 -0
- package/dist/module/models/MessagingEdgeEventType.js +24 -0
- package/dist/module/models/MessagingEdgeEventType.js.map +1 -0
- package/dist/module/models/MessagingProposition.js +57 -0
- package/dist/module/models/MessagingProposition.js.map +1 -0
- package/dist/module/models/MessagingPropositionItem.js +4 -0
- package/dist/module/models/MessagingPropositionItem.js.map +1 -0
- package/dist/module/models/PersonalizationSchema.js +26 -0
- package/dist/module/models/PersonalizationSchema.js.map +1 -0
- package/dist/module/models/PropositionItem.js +113 -0
- package/dist/module/models/PropositionItem.js.map +1 -0
- package/dist/module/models/ScopeDetails.js +2 -0
- package/dist/module/models/ScopeDetails.js.map +1 -0
- package/dist/{models/JSONProposition.js → module/models/index.js} +14 -12
- package/dist/module/models/index.js.map +1 -0
- package/dist/module/ui/components/Button/Button.js +57 -0
- package/dist/module/ui/components/Button/Button.js.map +1 -0
- package/dist/module/ui/components/Button/Button.spec.js +476 -0
- package/dist/module/ui/components/Button/Button.spec.js.map +1 -0
- package/dist/module/ui/components/ContentCardView/ContentCardView.js +257 -0
- package/dist/module/ui/components/ContentCardView/ContentCardView.js.map +1 -0
- package/dist/module/ui/components/ContentCardView/ContentCardView.spec.js +363 -0
- package/dist/module/ui/components/ContentCardView/ContentCardView.spec.js.map +1 -0
- package/dist/module/ui/components/DismissButton/DismissButton.js +70 -0
- package/dist/module/ui/components/DismissButton/DismissButton.js.map +1 -0
- package/dist/module/ui/components/DismissButton/DismissButton.spec.js +279 -0
- package/dist/module/ui/components/DismissButton/DismissButton.spec.js.map +1 -0
- package/dist/module/ui/components/FullScreenCenterView/FullScreenCenterView.js +34 -0
- package/dist/module/ui/components/FullScreenCenterView/FullScreenCenterView.js.map +1 -0
- package/dist/module/ui/components/Inbox/EmptyState.js +64 -0
- package/dist/module/ui/components/Inbox/EmptyState.js.map +1 -0
- package/dist/module/ui/components/Inbox/Inbox.js +235 -0
- package/dist/module/ui/components/Inbox/Inbox.js.map +1 -0
- package/dist/module/ui/components/Inbox/Inbox.spec.js +847 -0
- package/dist/module/ui/components/Inbox/Inbox.spec.js.map +1 -0
- package/dist/module/ui/components/Pagination/Pagination.js +176 -0
- package/dist/module/ui/components/Pagination/Pagination.js.map +1 -0
- package/dist/module/ui/components/Pagination/Pagination.spec.js +193 -0
- package/dist/module/ui/components/Pagination/Pagination.spec.js.map +1 -0
- package/dist/module/ui/components/UnreadIcon/UnreadIcon.js +184 -0
- package/dist/module/ui/components/UnreadIcon/UnreadIcon.js.map +1 -0
- package/dist/module/ui/components/UnreadIcon/UnreadIcon.spec.js +815 -0
- package/dist/module/ui/components/UnreadIcon/UnreadIcon.spec.js.map +1 -0
- package/dist/{models/ContentCard.js → module/ui/components/index.js} +12 -12
- package/dist/module/ui/components/index.js.map +1 -0
- package/dist/module/ui/hooks/index.js +18 -0
- package/dist/module/ui/hooks/index.js.map +1 -0
- package/dist/module/ui/hooks/useAspectRatio.js +33 -0
- package/dist/module/ui/hooks/useAspectRatio.js.map +1 -0
- package/dist/module/ui/hooks/useAspectRatio.spec.js +65 -0
- package/dist/module/ui/hooks/useAspectRatio.spec.js.map +1 -0
- package/dist/module/ui/hooks/useContentCardUI.js +51 -0
- package/dist/module/ui/hooks/useContentCardUI.js.map +1 -0
- package/dist/module/ui/hooks/useContentCardUI.spec.js +85 -0
- package/dist/module/ui/hooks/useContentCardUI.spec.js.map +1 -0
- package/dist/module/ui/hooks/useInbox.js +49 -0
- package/dist/module/ui/hooks/useInbox.js.map +1 -0
- package/dist/module/ui/hooks/useInbox.spec.js +93 -0
- package/dist/module/ui/hooks/useInbox.spec.js.map +1 -0
- package/dist/module/ui/hooks/useInboxSettings.js +26 -0
- package/dist/module/ui/hooks/useInboxSettings.js.map +1 -0
- package/dist/module/ui/hooks/useInboxSettings.spec.js +50 -0
- package/dist/module/ui/hooks/useInboxSettings.spec.js.map +1 -0
- package/dist/module/ui/index.js +10 -0
- package/dist/module/ui/index.js.map +1 -0
- package/dist/module/ui/providers/InboxProvider.js +27 -0
- package/dist/module/ui/providers/InboxProvider.js.map +1 -0
- package/dist/module/ui/theme/Theme.js +2 -0
- package/dist/module/ui/theme/Theme.js.map +1 -0
- package/dist/module/ui/theme/ThemeProvider.js +112 -0
- package/dist/module/ui/theme/ThemeProvider.js.map +1 -0
- package/dist/{models/InAppMessage.js → module/ui/theme/index.js} +6 -3
- package/dist/module/ui/theme/index.js.map +1 -0
- package/dist/module/ui/types/ContentViewEvent.js +2 -0
- package/dist/module/ui/types/ContentViewEvent.js.map +1 -0
- package/dist/module/ui/types/Templates.js +26 -0
- package/dist/module/ui/types/Templates.js.map +1 -0
- package/dist/{models/ScopeDetails.js → module/ui/types/index.js} +6 -3
- package/dist/module/ui/types/index.js.map +1 -0
- package/dist/module/ui/utils/generateCardHash.js +50 -0
- package/dist/module/ui/utils/generateCardHash.js.map +1 -0
- package/dist/module/ui/utils/generateCardHash.spec.js +103 -0
- package/dist/module/ui/utils/generateCardHash.spec.js.map +1 -0
- package/dist/module/ui/utils/inboxStorage.js +65 -0
- package/dist/module/ui/utils/inboxStorage.js.map +1 -0
- package/dist/module/ui/utils/inboxStorage.spec.js +123 -0
- package/dist/module/ui/utils/inboxStorage.spec.js.map +1 -0
- package/dist/module/ui/utils/index.js +5 -0
- package/dist/module/ui/utils/index.js.map +1 -0
- package/dist/{Messaging.d.ts → typescript/Messaging.d.ts} +23 -7
- package/dist/typescript/Messaging.d.ts.map +1 -0
- package/dist/{index.d.ts → typescript/index.d.ts} +4 -2
- package/dist/typescript/index.d.ts.map +1 -0
- package/dist/typescript/models/ContentCard.d.ts +57 -0
- package/dist/typescript/models/ContentCard.d.ts.map +1 -0
- package/dist/{models → typescript/models}/HTMLProposition.d.ts +1 -0
- package/dist/typescript/models/HTMLProposition.d.ts.map +1 -0
- package/dist/{models → typescript/models}/InAppMessage.d.ts +1 -0
- package/dist/typescript/models/InAppMessage.d.ts.map +1 -0
- package/dist/{models → typescript/models}/JSONProposition.d.ts +1 -0
- package/dist/typescript/models/JSONProposition.d.ts.map +1 -0
- package/dist/{models → typescript/models}/Message.d.ts +14 -0
- package/dist/typescript/models/Message.d.ts.map +1 -0
- package/dist/{models → typescript/models}/MessagingDelegate.d.ts +1 -0
- package/dist/typescript/models/MessagingDelegate.d.ts.map +1 -0
- package/dist/{models → typescript/models}/MessagingEdgeEventType.d.ts +1 -0
- package/dist/typescript/models/MessagingEdgeEventType.d.ts.map +1 -0
- package/dist/{models → typescript/models}/MessagingProposition.d.ts +1 -0
- package/dist/typescript/models/MessagingProposition.d.ts.map +1 -0
- package/dist/{models → typescript/models}/MessagingPropositionItem.d.ts +1 -0
- package/dist/typescript/models/MessagingPropositionItem.d.ts.map +1 -0
- package/dist/{models → typescript/models}/PersonalizationSchema.d.ts +2 -0
- package/dist/typescript/models/PersonalizationSchema.d.ts.map +1 -0
- package/dist/{models → typescript/models}/PropositionItem.d.ts +1 -0
- package/dist/typescript/models/PropositionItem.d.ts.map +1 -0
- package/dist/{models → typescript/models}/ScopeDetails.d.ts +1 -0
- package/dist/typescript/models/ScopeDetails.d.ts.map +1 -0
- package/dist/typescript/models/index.d.ts +11 -0
- package/dist/typescript/models/index.d.ts.map +1 -0
- package/dist/typescript/ui/components/Button/Button.d.ts +14 -0
- package/dist/typescript/ui/components/Button/Button.d.ts.map +1 -0
- package/dist/typescript/ui/components/Button/Button.spec.d.ts +2 -0
- package/dist/typescript/ui/components/Button/Button.spec.d.ts.map +1 -0
- package/dist/typescript/ui/components/ContentCardView/ContentCardView.d.ts +39 -0
- package/dist/typescript/ui/components/ContentCardView/ContentCardView.d.ts.map +1 -0
- package/dist/typescript/ui/components/ContentCardView/ContentCardView.spec.d.ts +2 -0
- package/dist/typescript/ui/components/ContentCardView/ContentCardView.spec.d.ts.map +1 -0
- package/dist/typescript/ui/components/DismissButton/DismissButton.d.ts +13 -0
- package/dist/typescript/ui/components/DismissButton/DismissButton.d.ts.map +1 -0
- package/dist/typescript/ui/components/DismissButton/DismissButton.spec.d.ts +2 -0
- package/dist/typescript/ui/components/DismissButton/DismissButton.spec.d.ts.map +1 -0
- package/dist/typescript/ui/components/FullScreenCenterView/FullScreenCenterView.d.ts +5 -0
- package/dist/typescript/ui/components/FullScreenCenterView/FullScreenCenterView.d.ts.map +1 -0
- package/dist/typescript/ui/components/Inbox/EmptyState.d.ts +19 -0
- package/dist/typescript/ui/components/Inbox/EmptyState.d.ts.map +1 -0
- package/dist/typescript/ui/components/Inbox/Inbox.d.ts +21 -0
- package/dist/typescript/ui/components/Inbox/Inbox.d.ts.map +1 -0
- package/dist/typescript/ui/components/Inbox/Inbox.spec.d.ts +2 -0
- package/dist/typescript/ui/components/Inbox/Inbox.spec.d.ts.map +1 -0
- package/dist/typescript/ui/components/Pagination/Pagination.d.ts +14 -0
- package/dist/typescript/ui/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/typescript/ui/components/Pagination/Pagination.spec.d.ts +2 -0
- package/dist/typescript/ui/components/Pagination/Pagination.spec.d.ts.map +1 -0
- package/dist/typescript/ui/components/UnreadIcon/UnreadIcon.d.ts +14 -0
- package/dist/typescript/ui/components/UnreadIcon/UnreadIcon.d.ts.map +1 -0
- package/dist/typescript/ui/components/UnreadIcon/UnreadIcon.spec.d.ts +2 -0
- package/dist/typescript/ui/components/UnreadIcon/UnreadIcon.spec.d.ts.map +1 -0
- package/dist/typescript/ui/components/index.d.ts +10 -0
- package/dist/typescript/ui/components/index.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/index.d.ts +4 -0
- package/dist/typescript/ui/hooks/index.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useAspectRatio.d.ts +3 -0
- package/dist/typescript/ui/hooks/useAspectRatio.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useAspectRatio.spec.d.ts +2 -0
- package/dist/typescript/ui/hooks/useAspectRatio.spec.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useContentCardUI.d.ts +14 -0
- package/dist/typescript/ui/hooks/useContentCardUI.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useContentCardUI.spec.d.ts +2 -0
- package/dist/typescript/ui/hooks/useContentCardUI.spec.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useInbox.d.ts +12 -0
- package/dist/typescript/ui/hooks/useInbox.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useInbox.spec.d.ts +2 -0
- package/dist/typescript/ui/hooks/useInbox.spec.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useInboxSettings.d.ts +7 -0
- package/dist/typescript/ui/hooks/useInboxSettings.d.ts.map +1 -0
- package/dist/typescript/ui/hooks/useInboxSettings.spec.d.ts +2 -0
- package/dist/typescript/ui/hooks/useInboxSettings.spec.d.ts.map +1 -0
- package/dist/typescript/ui/index.d.ts +8 -0
- package/dist/typescript/ui/index.d.ts.map +1 -0
- package/dist/typescript/ui/providers/InboxProvider.d.ts +56 -0
- package/dist/typescript/ui/providers/InboxProvider.d.ts.map +1 -0
- package/dist/typescript/ui/theme/Theme.d.ts +44 -0
- package/dist/typescript/ui/theme/Theme.d.ts.map +1 -0
- package/dist/typescript/ui/theme/ThemeProvider.d.ts +21 -0
- package/dist/typescript/ui/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/typescript/ui/theme/index.d.ts +3 -0
- package/dist/typescript/ui/theme/index.d.ts.map +1 -0
- package/dist/typescript/ui/types/ContentViewEvent.d.ts +9 -0
- package/dist/typescript/ui/types/ContentViewEvent.d.ts.map +1 -0
- package/dist/typescript/ui/types/Templates.d.ts +43 -0
- package/dist/typescript/ui/types/Templates.d.ts.map +1 -0
- package/dist/typescript/ui/types/index.d.ts +3 -0
- package/dist/typescript/ui/types/index.d.ts.map +1 -0
- package/dist/typescript/ui/utils/generateCardHash.d.ts +21 -0
- package/dist/typescript/ui/utils/generateCardHash.d.ts.map +1 -0
- package/dist/typescript/ui/utils/generateCardHash.spec.d.ts +2 -0
- package/dist/typescript/ui/utils/generateCardHash.spec.d.ts.map +1 -0
- package/dist/typescript/ui/utils/inboxStorage.d.ts +20 -0
- package/dist/typescript/ui/utils/inboxStorage.d.ts.map +1 -0
- package/dist/typescript/ui/utils/inboxStorage.spec.d.ts +2 -0
- package/dist/typescript/ui/utils/inboxStorage.spec.d.ts.map +1 -0
- package/dist/typescript/ui/utils/index.d.ts +3 -0
- package/dist/typescript/ui/utils/index.d.ts.map +1 -0
- package/ios/src/RCTAEPMessaging.mm +15 -0
- package/ios/src/RCTAEPMessaging.swift +61 -3
- package/ios/src/RCTAEPMessagingConstants.swift +4 -1
- package/jest.config.js +15 -0
- package/package.json +33 -5
- package/src/Messaging.ts +288 -32
- package/src/index.ts +3 -3
- package/src/models/ContentCard.ts +52 -27
- package/src/models/HTMLProposition.ts +1 -1
- package/src/models/JSONProposition.ts +1 -1
- package/src/models/Message.ts +50 -0
- package/src/models/PersonalizationSchema.ts +1 -0
- package/src/models/index.ts +22 -0
- package/src/ui/components/Button/Button.spec.tsx +496 -0
- package/src/ui/components/Button/Button.tsx +76 -0
- package/src/ui/components/ContentCardView/ContentCardView.spec.tsx +278 -0
- package/src/ui/components/ContentCardView/ContentCardView.tsx +400 -0
- package/src/ui/components/DismissButton/DismissButton.spec.tsx +314 -0
- package/src/ui/components/DismissButton/DismissButton.tsx +100 -0
- package/src/ui/components/FullScreenCenterView/FullScreenCenterView.tsx +32 -0
- package/src/ui/components/Inbox/EmptyState.tsx +89 -0
- package/src/ui/components/Inbox/Inbox.spec.tsx +478 -0
- package/src/ui/components/Inbox/Inbox.tsx +275 -0
- package/src/ui/components/Pagination/Pagination.spec.tsx +159 -0
- package/src/ui/components/Pagination/Pagination.tsx +222 -0
- package/src/ui/components/UnreadIcon/UnreadIcon.spec.tsx +878 -0
- package/src/ui/components/UnreadIcon/UnreadIcon.tsx +234 -0
- package/src/ui/components/index.ts +22 -0
- package/{dist/models/MessagingPropositionItem.js → src/ui/hooks/index.ts} +5 -4
- package/src/ui/hooks/useAspectRatio.spec.tsx +66 -0
- package/src/ui/hooks/useAspectRatio.tsx +39 -0
- package/src/ui/hooks/useContentCardUI.spec.tsx +82 -0
- package/src/ui/hooks/useContentCardUI.ts +48 -0
- package/src/ui/hooks/useInbox.spec.tsx +87 -0
- package/src/ui/hooks/useInbox.ts +46 -0
- package/src/ui/hooks/useInboxSettings.spec.tsx +41 -0
- package/src/ui/hooks/useInboxSettings.ts +24 -0
- package/src/ui/index.ts +7 -0
- package/src/ui/providers/InboxProvider.tsx +79 -0
- package/src/ui/theme/Theme.ts +57 -0
- package/src/ui/theme/ThemeProvider.tsx +120 -0
- package/src/ui/theme/index.ts +14 -0
- package/src/ui/types/ContentViewEvent.ts +20 -0
- package/src/ui/types/Templates.ts +77 -0
- package/src/ui/types/index.ts +14 -0
- package/src/ui/utils/generateCardHash.spec.tsx +86 -0
- package/src/ui/utils/generateCardHash.ts +59 -0
- package/src/ui/utils/inboxStorage.spec.tsx +136 -0
- package/src/ui/utils/inboxStorage.ts +64 -0
- package/src/ui/utils/index.ts +3 -0
- package/tutorials/ContentCardCustomizationGuide.md +661 -0
- package/tutorials/ContentCards.md +419 -0
- package/tutorials/In-App Messaging.md +31 -0
- package/tutorials/Inbox.md +515 -0
- package/tutorials/resources/image-only-template.png +0 -0
- package/tutorials/resources/large-image-template.png +0 -0
- package/tutorials/resources/small-image-template.png +0 -0
- package/dist/Messaging.js +0 -151
- package/dist/Messaging.js.map +0 -1
- package/dist/index.js +0 -34
- package/dist/index.js.map +0 -1
- package/dist/models/ContentCard.d.ts +0 -51
- package/dist/models/ContentCard.js.map +0 -1
- package/dist/models/HTMLProposition.js.map +0 -1
- package/dist/models/InAppMessage.js.map +0 -1
- package/dist/models/JSONProposition.js.map +0 -1
- package/dist/models/Message.js +0 -114
- package/dist/models/Message.js.map +0 -1
- package/dist/models/MessagingDelegate.js +0 -14
- package/dist/models/MessagingDelegate.js.map +0 -1
- package/dist/models/MessagingEdgeEventType.js +0 -24
- package/dist/models/MessagingEdgeEventType.js.map +0 -1
- package/dist/models/MessagingProposition.js +0 -59
- package/dist/models/MessagingProposition.js.map +0 -1
- package/dist/models/MessagingPropositionItem.js.map +0 -1
- package/dist/models/PersonalizationSchema.js +0 -25
- package/dist/models/PersonalizationSchema.js.map +0 -1
- package/dist/models/PropositionItem.js +0 -78
- package/dist/models/PropositionItem.js.map +0 -1
- package/dist/models/ScopeDetails.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","screen","act","waitFor","React","Dimensions","Text","generateCardHash","EmptyState","Inbox","jest","mock","useContentCardUI","fn","useInbox","loadInboxState","mockResolvedValue","dismissed","interacted","saveInboxState","undefined","mockContentCardView","_args","ContentCardView","props","__esModule","default","children","requireMock","describe","surface","baseSettings","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","isLoading","error","Loading","createElement","CC","settings","LoadingComponent","expect","getByText","toBeTruthy","ErrorComp","Error","ErrorComponent","Fallback","FallbackComponent","testID","getByTestId","calls","length","toBe","require","UNSAFE_getByType","empty","text","template","id","type","data","title","body","styles","Array","isArray","style","some","s","color","EmptyStub","EmptyComponent","toHaveBeenCalled","args","toEqual","arrayContaining","anything","capSettings","t1","t2","t3","utils","toBeGreaterThanOrEqual","lastTwoCalls","slice","firstProps","listener","mockClear","rerender","extraData","renderedIds","map","c","not","toContain","verticalSettings","toBeUndefined","settingsWithoutHeading","queryByText","toBeNull","testSurface","toBeGreaterThan","newContent","updatedArgs","isRead","hash","mockResolvedValueOnce","settingsWithActivity","activityId","toHaveBeenCalledWith","resolveLoad","loadPromise","Promise","resolve","mockImplementationOnce","unmount","expectedHash","objectContaining"],"sourceRoot":"../../../../../src","sources":["ui/components/Inbox/Inbox.spec.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Copyright 2026 Adobe. All rights reserved.
|
|
5
|
+
This file is licensed to you under the Apache License, Version 2.0 (the
|
|
6
|
+
"License"); you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
|
|
9
|
+
or agreed to in writing, software distributed under the License is
|
|
10
|
+
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
|
|
11
|
+
ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
language governing permissions and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import React, { useEffect, useRef } from "react";
|
|
16
|
+
import { Animated, Pressable, StyleSheet, View } from "react-native";
|
|
17
|
+
import { useTheme } from "../../theme/index.js";
|
|
18
|
+
const PaginationDot = ({
|
|
19
|
+
page,
|
|
20
|
+
isActive,
|
|
21
|
+
finalInactiveColor,
|
|
22
|
+
finalActiveColor,
|
|
23
|
+
dotSize,
|
|
24
|
+
onPageChange
|
|
25
|
+
}) => {
|
|
26
|
+
const scaleAnim = useRef(new Animated.Value(isActive ? 1.2 : 1)).current;
|
|
27
|
+
const opacityAnim = useRef(new Animated.Value(isActive ? 1 : 0.6)).current;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const animation = Animated.parallel([Animated.spring(scaleAnim, {
|
|
30
|
+
toValue: isActive ? 1.2 : 1,
|
|
31
|
+
useNativeDriver: true,
|
|
32
|
+
tension: 100,
|
|
33
|
+
friction: 8
|
|
34
|
+
}), Animated.timing(opacityAnim, {
|
|
35
|
+
toValue: isActive ? 1 : 0.6,
|
|
36
|
+
duration: 200,
|
|
37
|
+
useNativeDriver: true
|
|
38
|
+
})]);
|
|
39
|
+
animation.start();
|
|
40
|
+
return () => {
|
|
41
|
+
// stop both if unmounted
|
|
42
|
+
scaleAnim.stopAnimation();
|
|
43
|
+
opacityAnim.stopAnimation();
|
|
44
|
+
};
|
|
45
|
+
}, [isActive, scaleAnim, opacityAnim]);
|
|
46
|
+
return /*#__PURE__*/React.createElement(Pressable, {
|
|
47
|
+
accessibilityRole: "button",
|
|
48
|
+
accessibilityState: {
|
|
49
|
+
selected: isActive
|
|
50
|
+
},
|
|
51
|
+
accessibilityLabel: `Page ${page + 1}`,
|
|
52
|
+
onPress: () => onPageChange(page),
|
|
53
|
+
style: ({
|
|
54
|
+
pressed
|
|
55
|
+
}) => [styles.dotContainer, {
|
|
56
|
+
opacity: pressed ? 0.7 : 1
|
|
57
|
+
}]
|
|
58
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
59
|
+
style: [styles.dot, {
|
|
60
|
+
width: dotSize,
|
|
61
|
+
height: dotSize,
|
|
62
|
+
backgroundColor: isActive ? finalActiveColor : finalInactiveColor,
|
|
63
|
+
opacity: opacityAnim,
|
|
64
|
+
transform: [{
|
|
65
|
+
scale: scaleAnim
|
|
66
|
+
}]
|
|
67
|
+
}]
|
|
68
|
+
}));
|
|
69
|
+
};
|
|
70
|
+
export const Pagination = ({
|
|
71
|
+
currentPage,
|
|
72
|
+
totalPages,
|
|
73
|
+
onPageChange,
|
|
74
|
+
maxVisibleDots = 5,
|
|
75
|
+
activeColor,
|
|
76
|
+
inactiveColor,
|
|
77
|
+
dotSize = 8,
|
|
78
|
+
spacing = 8
|
|
79
|
+
}) => {
|
|
80
|
+
const {
|
|
81
|
+
colors
|
|
82
|
+
} = useTheme();
|
|
83
|
+
const slideAnim = useRef(new Animated.Value(0)).current;
|
|
84
|
+
const prevVisiblePagesRef = useRef([]);
|
|
85
|
+
const finalActiveColor = activeColor || colors.activeColor;
|
|
86
|
+
const finalInactiveColor = inactiveColor || colors.inactiveColor;
|
|
87
|
+
|
|
88
|
+
// Calculate which dots to show
|
|
89
|
+
const getVisiblePages = () => {
|
|
90
|
+
if (totalPages <= maxVisibleDots) {
|
|
91
|
+
return Array.from({
|
|
92
|
+
length: totalPages
|
|
93
|
+
}, (_, i) => i);
|
|
94
|
+
}
|
|
95
|
+
const halfVisible = Math.floor(maxVisibleDots / 2);
|
|
96
|
+
let startPage = Math.max(0, currentPage - halfVisible);
|
|
97
|
+
let endPage = Math.min(totalPages - 1, startPage + maxVisibleDots - 1);
|
|
98
|
+
|
|
99
|
+
// Adjust start if we're near the end
|
|
100
|
+
if (endPage === totalPages - 1) {
|
|
101
|
+
startPage = Math.max(0, endPage - maxVisibleDots + 1);
|
|
102
|
+
}
|
|
103
|
+
return Array.from({
|
|
104
|
+
length: endPage - startPage + 1
|
|
105
|
+
}, (_, i) => startPage + i);
|
|
106
|
+
};
|
|
107
|
+
const visiblePages = getVisiblePages();
|
|
108
|
+
|
|
109
|
+
// Animate sliding when visible pages change
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
const prevVisiblePages = prevVisiblePagesRef.current;
|
|
112
|
+
let started = false;
|
|
113
|
+
if (prevVisiblePages.length > 0 && totalPages > maxVisibleDots) {
|
|
114
|
+
const prevStartPage = prevVisiblePages[0];
|
|
115
|
+
const currentStartPage = visiblePages[0];
|
|
116
|
+
if (prevStartPage !== currentStartPage) {
|
|
117
|
+
const direction = currentStartPage > prevStartPage ? 1 : -1;
|
|
118
|
+
const dotWidth = dotSize + spacing;
|
|
119
|
+
slideAnim.setValue(direction * dotWidth);
|
|
120
|
+
Animated.timing(slideAnim, {
|
|
121
|
+
toValue: 0,
|
|
122
|
+
duration: 300,
|
|
123
|
+
useNativeDriver: true
|
|
124
|
+
}).start();
|
|
125
|
+
started = true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
prevVisiblePagesRef.current = visiblePages;
|
|
129
|
+
return () => {
|
|
130
|
+
if (started) slideAnim.stopAnimation();
|
|
131
|
+
};
|
|
132
|
+
}, [visiblePages, slideAnim, dotSize, spacing, maxVisibleDots, totalPages]);
|
|
133
|
+
if (totalPages <= 1) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
137
|
+
style: styles.container
|
|
138
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
139
|
+
style: [styles.dotsContainer, {
|
|
140
|
+
gap: spacing,
|
|
141
|
+
transform: [{
|
|
142
|
+
translateX: slideAnim
|
|
143
|
+
}]
|
|
144
|
+
}]
|
|
145
|
+
}, visiblePages.map(page => /*#__PURE__*/React.createElement(PaginationDot, {
|
|
146
|
+
key: page,
|
|
147
|
+
page: page,
|
|
148
|
+
isActive: page === currentPage,
|
|
149
|
+
finalInactiveColor: finalInactiveColor,
|
|
150
|
+
finalActiveColor: finalActiveColor,
|
|
151
|
+
dotSize: dotSize,
|
|
152
|
+
onPageChange: onPageChange
|
|
153
|
+
}))));
|
|
154
|
+
};
|
|
155
|
+
const styles = StyleSheet.create({
|
|
156
|
+
container: {
|
|
157
|
+
alignItems: "center",
|
|
158
|
+
justifyContent: "center",
|
|
159
|
+
overflow: "hidden",
|
|
160
|
+
flex: 1
|
|
161
|
+
},
|
|
162
|
+
dotsContainer: {
|
|
163
|
+
flexDirection: "row",
|
|
164
|
+
alignItems: "center",
|
|
165
|
+
justifyContent: "center"
|
|
166
|
+
},
|
|
167
|
+
dotContainer: {
|
|
168
|
+
alignItems: "center",
|
|
169
|
+
justifyContent: "center"
|
|
170
|
+
},
|
|
171
|
+
dot: {
|
|
172
|
+
borderRadius: 50
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
export default Pagination;
|
|
176
|
+
//# sourceMappingURL=Pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","Animated","Pressable","StyleSheet","View","useTheme","PaginationDot","page","isActive","finalInactiveColor","finalActiveColor","dotSize","onPageChange","scaleAnim","Value","current","opacityAnim","animation","parallel","spring","toValue","useNativeDriver","tension","friction","timing","duration","start","stopAnimation","createElement","accessibilityRole","accessibilityState","selected","accessibilityLabel","onPress","style","pressed","styles","dotContainer","opacity","dot","width","height","backgroundColor","transform","scale","Pagination","currentPage","totalPages","maxVisibleDots","activeColor","inactiveColor","spacing","colors","slideAnim","prevVisiblePagesRef","getVisiblePages","Array","from","length","_","i","halfVisible","Math","floor","startPage","max","endPage","min","visiblePages","prevVisiblePages","started","prevStartPage","currentStartPage","direction","dotWidth","setValue","container","dotsContainer","gap","translateX","map","key","create","alignItems","justifyContent","overflow","flex","flexDirection","borderRadius"],"sourceRoot":"../../../../../src","sources":["ui/components/Pagination/Pagination.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Copyright 2026 Adobe. All rights reserved.
|
|
5
|
+
This file is licensed to you under the Apache License, Version 2.0 (the
|
|
6
|
+
"License"); you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
|
|
9
|
+
or agreed to in writing, software distributed under the License is
|
|
10
|
+
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
|
|
11
|
+
ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
language governing permissions and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
import { fireEvent, render, screen } from '@testing-library/react-native';
|
|
15
|
+
import React from 'react';
|
|
16
|
+
import { Animated } from 'react-native';
|
|
17
|
+
import { Pagination } from "./Pagination.js";
|
|
18
|
+
|
|
19
|
+
// Use fake timers for animation timing
|
|
20
|
+
jest.useFakeTimers();
|
|
21
|
+
|
|
22
|
+
// Stub Animated APIs to avoid act warnings and native errors
|
|
23
|
+
beforeAll(() => {
|
|
24
|
+
jest.spyOn(Animated, 'timing').mockReturnValue({
|
|
25
|
+
start: cb => cb && cb()
|
|
26
|
+
});
|
|
27
|
+
jest.spyOn(Animated, 'spring').mockReturnValue({
|
|
28
|
+
start: cb => cb && cb()
|
|
29
|
+
});
|
|
30
|
+
jest.spyOn(Animated, 'parallel').mockReturnValue({
|
|
31
|
+
start: cb => cb && cb()
|
|
32
|
+
});
|
|
33
|
+
jest.spyOn(require('react-native'), 'useColorScheme').mockReturnValue('light');
|
|
34
|
+
});
|
|
35
|
+
afterAll(() => {
|
|
36
|
+
Animated.timing?.mockRestore?.();
|
|
37
|
+
Animated.spring?.mockRestore?.();
|
|
38
|
+
Animated.parallel?.mockRestore?.();
|
|
39
|
+
});
|
|
40
|
+
describe('Pagination - rendering', () => {
|
|
41
|
+
it('renders nothing when totalPages <= 1', () => {
|
|
42
|
+
const {
|
|
43
|
+
toJSON
|
|
44
|
+
} = render(/*#__PURE__*/React.createElement(Pagination, {
|
|
45
|
+
currentPage: 0,
|
|
46
|
+
totalPages: 1,
|
|
47
|
+
onPageChange: () => {}
|
|
48
|
+
}));
|
|
49
|
+
expect(toJSON()).toBeNull();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('Pagination - interactions', () => {
|
|
53
|
+
it('renders dots and calls onPageChange when a dot is pressed', () => {
|
|
54
|
+
const onPageChange = jest.fn();
|
|
55
|
+
render(/*#__PURE__*/React.createElement(Pagination, {
|
|
56
|
+
currentPage: 1,
|
|
57
|
+
totalPages: 3,
|
|
58
|
+
onPageChange: onPageChange
|
|
59
|
+
}));
|
|
60
|
+
const dots = screen.getAllByRole('button');
|
|
61
|
+
expect(dots.length).toBe(3);
|
|
62
|
+
// press the last dot (page index 2)
|
|
63
|
+
fireEvent.press(dots[2]);
|
|
64
|
+
expect(onPageChange).toHaveBeenCalledWith(2);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe('Pagination - theming and sizing', () => {
|
|
68
|
+
it('uses theme default colors when activeColor/inactiveColor not provided (light)', () => {
|
|
69
|
+
jest.spyOn(require('react-native'), 'useColorScheme').mockReturnValue('light');
|
|
70
|
+
render(/*#__PURE__*/React.createElement(Pagination, {
|
|
71
|
+
currentPage: 0,
|
|
72
|
+
totalPages: 2,
|
|
73
|
+
onPageChange: () => {}
|
|
74
|
+
}));
|
|
75
|
+
const views = screen.UNSAFE_getAllByType(Animated.View);
|
|
76
|
+
// Filter to dot views by borderRadius style (unique to dot style)
|
|
77
|
+
const dotViews = views.filter(v => {
|
|
78
|
+
const styles = (Array.isArray(v.props.style) ? v.props.style : [v.props.style]).flat(Infinity).filter(Boolean);
|
|
79
|
+
return styles.some(s => s && s.borderRadius === 50);
|
|
80
|
+
});
|
|
81
|
+
const dot0Styles = (Array.isArray(dotViews[0].props.style) ? dotViews[0].props.style : [dotViews[0].props.style]).flat(Infinity);
|
|
82
|
+
const dot1Styles = (Array.isArray(dotViews[1].props.style) ? dotViews[1].props.style : [dotViews[1].props.style]).flat(Infinity);
|
|
83
|
+
expect(dot0Styles.some(s => s && s.backgroundColor === '#0a7ea4')).toBe(true); // active
|
|
84
|
+
expect(dot1Styles.some(s => s && s.backgroundColor === '#687076')).toBe(true); // inactive
|
|
85
|
+
});
|
|
86
|
+
it('uses theme default colors when activeColor/inactiveColor not provided (dark)', () => {
|
|
87
|
+
jest.spyOn(require('react-native'), 'useColorScheme').mockReturnValue('dark');
|
|
88
|
+
render(/*#__PURE__*/React.createElement(Pagination, {
|
|
89
|
+
currentPage: 0,
|
|
90
|
+
totalPages: 2,
|
|
91
|
+
onPageChange: () => {}
|
|
92
|
+
}));
|
|
93
|
+
const views = screen.UNSAFE_getAllByType(Animated.View);
|
|
94
|
+
const dotViews = views.filter(v => {
|
|
95
|
+
const styles = (Array.isArray(v.props.style) ? v.props.style : [v.props.style]).flat(Infinity).filter(Boolean);
|
|
96
|
+
return styles.some(s => s && s.borderRadius === 50);
|
|
97
|
+
});
|
|
98
|
+
const dot0Styles = (Array.isArray(dotViews[0].props.style) ? dotViews[0].props.style : [dotViews[0].props.style]).flat(Infinity);
|
|
99
|
+
const dot1Styles = (Array.isArray(dotViews[1].props.style) ? dotViews[1].props.style : [dotViews[1].props.style]).flat(Infinity);
|
|
100
|
+
expect(dot0Styles.some(s => s && s.backgroundColor === '#fff')).toBe(true); // active
|
|
101
|
+
expect(dot1Styles.some(s => s && s.backgroundColor === '#9BA1A6')).toBe(true); // inactive
|
|
102
|
+
});
|
|
103
|
+
it('respects custom active/inactive colors and dot size/spacing', () => {
|
|
104
|
+
render(/*#__PURE__*/React.createElement(Pagination, {
|
|
105
|
+
currentPage: 0,
|
|
106
|
+
totalPages: 2,
|
|
107
|
+
onPageChange: () => {},
|
|
108
|
+
activeColor: "red",
|
|
109
|
+
inactiveColor: "gray",
|
|
110
|
+
dotSize: 12,
|
|
111
|
+
spacing: 10
|
|
112
|
+
}));
|
|
113
|
+
const views = screen.UNSAFE_getAllByType(Animated.View);
|
|
114
|
+
const dotViews = views.filter(v => {
|
|
115
|
+
const styles = (Array.isArray(v.props.style) ? v.props.style : [v.props.style]).flat(Infinity).filter(Boolean);
|
|
116
|
+
return styles.some(s => s && s.borderRadius === 50);
|
|
117
|
+
});
|
|
118
|
+
const dot0Styles = (Array.isArray(dotViews[0].props.style) ? dotViews[0].props.style : [dotViews[0].props.style]).flat(Infinity);
|
|
119
|
+
expect(dot0Styles.some(s => s && s.backgroundColor === 'red')).toBe(true);
|
|
120
|
+
expect(dot0Styles.some(s => s && s.width === 12 && s.height === 12)).toBe(true);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
describe('Pagination - sliding and windowing', () => {
|
|
124
|
+
it('slides when the visible window changes (Animated.timing called)', () => {
|
|
125
|
+
const timingSpy = jest.spyOn(Animated, 'timing');
|
|
126
|
+
const {
|
|
127
|
+
rerender
|
|
128
|
+
} = render(/*#__PURE__*/React.createElement(Pagination, {
|
|
129
|
+
currentPage: 0,
|
|
130
|
+
totalPages: 10,
|
|
131
|
+
maxVisibleDots: 5,
|
|
132
|
+
onPageChange: () => {}
|
|
133
|
+
}));
|
|
134
|
+
// Move within the same window (no slide expected)
|
|
135
|
+
rerender(/*#__PURE__*/React.createElement(Pagination, {
|
|
136
|
+
currentPage: 4,
|
|
137
|
+
totalPages: 10,
|
|
138
|
+
maxVisibleDots: 5,
|
|
139
|
+
onPageChange: () => {}
|
|
140
|
+
}));
|
|
141
|
+
const callsBefore = timingSpy.mock.calls.length;
|
|
142
|
+
// Move to next window (should slide)
|
|
143
|
+
rerender(/*#__PURE__*/React.createElement(Pagination, {
|
|
144
|
+
currentPage: 5,
|
|
145
|
+
totalPages: 10,
|
|
146
|
+
maxVisibleDots: 5,
|
|
147
|
+
onPageChange: () => {}
|
|
148
|
+
}));
|
|
149
|
+
const callsAfter = timingSpy.mock.calls.length;
|
|
150
|
+
expect(callsAfter).toBeGreaterThan(callsBefore);
|
|
151
|
+
});
|
|
152
|
+
it('adjusts start page near the end (endPage === totalPages - 1 branch)', () => {
|
|
153
|
+
const onPageChange = jest.fn();
|
|
154
|
+
render(/*#__PURE__*/React.createElement(Pagination, {
|
|
155
|
+
currentPage: 9,
|
|
156
|
+
totalPages: 10,
|
|
157
|
+
maxVisibleDots: 5,
|
|
158
|
+
onPageChange: onPageChange
|
|
159
|
+
}));
|
|
160
|
+
// Expect visible pages to be [5,6,7,8,9]; pressing first dot should send 5
|
|
161
|
+
const dots = screen.getAllByRole('button');
|
|
162
|
+
expect(dots.length).toBe(5);
|
|
163
|
+
fireEvent.press(dots[0]);
|
|
164
|
+
expect(onPageChange).toHaveBeenCalledWith(5);
|
|
165
|
+
fireEvent.press(dots[4]);
|
|
166
|
+
expect(onPageChange).toHaveBeenCalledWith(9);
|
|
167
|
+
});
|
|
168
|
+
it('slides backward when the visible window shifts left (direction -1)', () => {
|
|
169
|
+
const timingSpy = jest.spyOn(Animated, 'timing');
|
|
170
|
+
const setValueSpy = jest.spyOn(Animated.Value.prototype, 'setValue');
|
|
171
|
+
const {
|
|
172
|
+
rerender
|
|
173
|
+
} = render(/*#__PURE__*/React.createElement(Pagination, {
|
|
174
|
+
currentPage: 9,
|
|
175
|
+
totalPages: 10,
|
|
176
|
+
maxVisibleDots: 5,
|
|
177
|
+
onPageChange: () => {}
|
|
178
|
+
}));
|
|
179
|
+
rerender(/*#__PURE__*/React.createElement(Pagination, {
|
|
180
|
+
currentPage: 4,
|
|
181
|
+
totalPages: 10,
|
|
182
|
+
maxVisibleDots: 5,
|
|
183
|
+
onPageChange: () => {}
|
|
184
|
+
}));
|
|
185
|
+
expect(timingSpy.mock.calls.length).toBeGreaterThan(0);
|
|
186
|
+
const calls = setValueSpy.mock.calls;
|
|
187
|
+
const lastNumericArg = [...calls].reverse().map(c => c[0]).find(a => typeof a === 'number');
|
|
188
|
+
expect(lastNumericArg).toBeLessThan(0); // negative offset indicates sliding left
|
|
189
|
+
|
|
190
|
+
setValueSpy.mockRestore?.();
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
//# sourceMappingURL=Pagination.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fireEvent","render","screen","React","Animated","Pagination","jest","useFakeTimers","beforeAll","spyOn","mockReturnValue","start","cb","require","afterAll","timing","mockRestore","spring","parallel","describe","it","toJSON","createElement","currentPage","totalPages","onPageChange","expect","toBeNull","fn","dots","getAllByRole","length","toBe","press","toHaveBeenCalledWith","views","UNSAFE_getAllByType","View","dotViews","filter","v","styles","Array","isArray","props","style","flat","Infinity","Boolean","some","s","borderRadius","dot0Styles","dot1Styles","backgroundColor","activeColor","inactiveColor","dotSize","spacing","width","height","timingSpy","rerender","maxVisibleDots","callsBefore","mock","calls","callsAfter","toBeGreaterThan","setValueSpy","Value","prototype","lastNumericArg","reverse","map","c","find","a","toBeLessThan"],"sourceRoot":"../../../../../src","sources":["ui/components/Pagination/Pagination.spec.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
/*
|
|
5
|
+
Copyright 2026 Adobe. All rights reserved.
|
|
6
|
+
This file is licensed to you under the Apache License, Version 2.0 (the
|
|
7
|
+
"License"); you may not use this file except in compliance with the License.
|
|
8
|
+
You may obtain a copy of the License at
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
|
|
10
|
+
or agreed to in writing, software distributed under the License is
|
|
11
|
+
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
|
|
12
|
+
ANY KIND, either express or implied. See the License for the specific
|
|
13
|
+
language governing permissions and limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
16
|
+
import { Image, StyleSheet, View } from 'react-native';
|
|
17
|
+
import useInboxSettings from "../../hooks/useInboxSettings.js";
|
|
18
|
+
import { useTheme } from "../../theme/index.js";
|
|
19
|
+
const Dot = ({
|
|
20
|
+
size,
|
|
21
|
+
backgroundColor
|
|
22
|
+
}) => /*#__PURE__*/React.createElement(View, {
|
|
23
|
+
style: [styles.dot, {
|
|
24
|
+
width: size,
|
|
25
|
+
height: size,
|
|
26
|
+
borderRadius: size / 2,
|
|
27
|
+
backgroundColor
|
|
28
|
+
}]
|
|
29
|
+
});
|
|
30
|
+
const UnreadIcon = ({
|
|
31
|
+
imageStyle,
|
|
32
|
+
containerStyle,
|
|
33
|
+
source,
|
|
34
|
+
darkSource,
|
|
35
|
+
size = 20,
|
|
36
|
+
position = 'topright',
|
|
37
|
+
type = 'dot',
|
|
38
|
+
style,
|
|
39
|
+
...props
|
|
40
|
+
}) => {
|
|
41
|
+
const {
|
|
42
|
+
colors,
|
|
43
|
+
isDark
|
|
44
|
+
} = useTheme();
|
|
45
|
+
const settings = useInboxSettings();
|
|
46
|
+
const [imageLoadError, setImageLoadError] = useState(false);
|
|
47
|
+
|
|
48
|
+
// Get unread indicator settings from context
|
|
49
|
+
const unreadSettings = settings?.content.unread_indicator;
|
|
50
|
+
|
|
51
|
+
// Use settings from context with fallbacks to props
|
|
52
|
+
const displayPosition = unreadSettings?.unread_icon?.placement ?? position;
|
|
53
|
+
const imageSource = unreadSettings?.unread_icon?.image?.url ? {
|
|
54
|
+
uri: unreadSettings.unread_icon.image.url
|
|
55
|
+
} : source;
|
|
56
|
+
const darkImageSource = unreadSettings?.unread_icon?.image?.darkUrl ? {
|
|
57
|
+
uri: unreadSettings.unread_icon.image.darkUrl
|
|
58
|
+
} : darkSource;
|
|
59
|
+
|
|
60
|
+
// Determine if we should render as image type (only if we have valid URLs)
|
|
61
|
+
const hasImageUrl = Boolean(unreadSettings?.unread_icon?.image?.url || unreadSettings?.unread_icon?.image?.darkUrl || imageSource || darkImageSource);
|
|
62
|
+
const renderType = hasImageUrl ? 'image' : type;
|
|
63
|
+
|
|
64
|
+
// Reset error state when image source changes
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
setImageLoadError(false);
|
|
67
|
+
}, [imageSource, darkImageSource]);
|
|
68
|
+
const positionStyle = useMemo(() => {
|
|
69
|
+
switch (displayPosition) {
|
|
70
|
+
case 'topleft':
|
|
71
|
+
return styles.positionTopLeft;
|
|
72
|
+
case 'topright':
|
|
73
|
+
return styles.positionTopRight;
|
|
74
|
+
case 'bottomleft':
|
|
75
|
+
return styles.positionBottomLeft;
|
|
76
|
+
case 'bottomright':
|
|
77
|
+
return styles.positionBottomRight;
|
|
78
|
+
default:
|
|
79
|
+
return styles.positionTopRight;
|
|
80
|
+
}
|
|
81
|
+
}, [displayPosition]);
|
|
82
|
+
const finalImageSource = useMemo(() => isDark && darkImageSource ? darkImageSource : imageSource, [isDark, darkImageSource, imageSource]);
|
|
83
|
+
const content = useMemo(() => {
|
|
84
|
+
// Check if we should show dot instead of image based on URL availability
|
|
85
|
+
const isEmptyUrlForCurrentMode = () => {
|
|
86
|
+
const imageSettings = unreadSettings?.unread_icon?.image;
|
|
87
|
+
if (!imageSettings) return false;
|
|
88
|
+
if (isDark) {
|
|
89
|
+
// In dark mode, show dot if darkUrl is empty string or if both darkUrl doesn't exist and url is empty
|
|
90
|
+
return imageSettings.darkUrl === '' || !imageSettings.darkUrl && imageSettings.url === '';
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// In light mode, show dot if url is empty string
|
|
94
|
+
return imageSettings.url === '';
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
// If URL is explicitly empty string for current mode, show dot
|
|
98
|
+
if (isEmptyUrlForCurrentMode()) {
|
|
99
|
+
return /*#__PURE__*/React.createElement(Dot, {
|
|
100
|
+
size: size,
|
|
101
|
+
backgroundColor: colors.dotColor
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// If image failed to load, fallback to dot
|
|
106
|
+
if (renderType === 'image' && imageLoadError) {
|
|
107
|
+
return /*#__PURE__*/React.createElement(Dot, {
|
|
108
|
+
size: size,
|
|
109
|
+
backgroundColor: colors.dotColor
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
if (renderType === 'image' && (imageSource || darkImageSource)) {
|
|
113
|
+
return /*#__PURE__*/React.createElement(Image, {
|
|
114
|
+
source: finalImageSource,
|
|
115
|
+
style: [styles.image, {
|
|
116
|
+
width: size,
|
|
117
|
+
height: size
|
|
118
|
+
}, imageStyle],
|
|
119
|
+
resizeMode: "contain",
|
|
120
|
+
onError: error => {
|
|
121
|
+
console.warn('Failed to load unread icon image:', error.nativeEvent.error);
|
|
122
|
+
setImageLoadError(true);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Default dot type
|
|
128
|
+
return /*#__PURE__*/React.createElement(Dot, {
|
|
129
|
+
size: size,
|
|
130
|
+
backgroundColor: colors.dotColor
|
|
131
|
+
});
|
|
132
|
+
}, [isDark, unreadSettings?.unread_icon?.image, size, colors.dotColor, renderType, imageLoadError, imageSource, darkImageSource, finalImageSource, imageStyle]);
|
|
133
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
|
134
|
+
style: [styles.container, positionStyle, {
|
|
135
|
+
minWidth: size,
|
|
136
|
+
minHeight: size
|
|
137
|
+
}, containerStyle, style]
|
|
138
|
+
}, props), content);
|
|
139
|
+
};
|
|
140
|
+
export default UnreadIcon;
|
|
141
|
+
const styles = StyleSheet.create({
|
|
142
|
+
container: {
|
|
143
|
+
position: 'absolute',
|
|
144
|
+
justifyContent: 'center',
|
|
145
|
+
alignItems: 'center'
|
|
146
|
+
},
|
|
147
|
+
positionTopLeft: {
|
|
148
|
+
top: 6,
|
|
149
|
+
left: 6
|
|
150
|
+
},
|
|
151
|
+
positionTopRight: {
|
|
152
|
+
top: 6,
|
|
153
|
+
right: 6
|
|
154
|
+
},
|
|
155
|
+
positionBottomLeft: {
|
|
156
|
+
bottom: 6,
|
|
157
|
+
left: 6
|
|
158
|
+
},
|
|
159
|
+
positionBottomRight: {
|
|
160
|
+
bottom: 6,
|
|
161
|
+
right: 6
|
|
162
|
+
},
|
|
163
|
+
dot: {
|
|
164
|
+
shadowColor: '#000',
|
|
165
|
+
shadowOffset: {
|
|
166
|
+
width: 0,
|
|
167
|
+
height: 1
|
|
168
|
+
},
|
|
169
|
+
shadowOpacity: 0.22,
|
|
170
|
+
shadowRadius: 2.22,
|
|
171
|
+
elevation: 3
|
|
172
|
+
},
|
|
173
|
+
image: {
|
|
174
|
+
shadowColor: '#000',
|
|
175
|
+
shadowOffset: {
|
|
176
|
+
width: 0,
|
|
177
|
+
height: 1
|
|
178
|
+
},
|
|
179
|
+
shadowOpacity: 0.22,
|
|
180
|
+
shadowRadius: 2.22,
|
|
181
|
+
elevation: 3
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
//# sourceMappingURL=UnreadIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useState","Image","StyleSheet","View","useInboxSettings","useTheme","Dot","size","backgroundColor","React","createElement","style","styles","dot","width","height","borderRadius","UnreadIcon","imageStyle","containerStyle","source","darkSource","position","type","props","colors","isDark","settings","imageLoadError","setImageLoadError","unreadSettings","content","unread_indicator","displayPosition","unread_icon","placement","imageSource","image","url","uri","darkImageSource","darkUrl","hasImageUrl","Boolean","renderType","positionStyle","positionTopLeft","positionTopRight","positionBottomLeft","positionBottomRight","finalImageSource","isEmptyUrlForCurrentMode","imageSettings","dotColor","resizeMode","onError","error","console","warn","nativeEvent","_extends","container","minWidth","minHeight","create","justifyContent","alignItems","top","left","right","bottom","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation"],"sourceRoot":"../../../../../src","sources":["ui/components/UnreadIcon/UnreadIcon.tsx"],"mappings":"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","ignoreList":[]}
|