gsintegrations 0.0.483 → 0.0.484

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/bundle.cjs.js +7284 -1613
  2. package/dist/bundle.cjs.js.map +2 -2
  3. package/dist/bundle.esm.js +7161 -1614
  4. package/dist/bundle.esm.js.map +2 -2
  5. package/dist/index.d.ts +2857 -144
  6. package/dist/types/components/FormChatAssistant/FormChatAssistant.types.d.ts +5 -1
  7. package/dist/types/components/FormChatAssistant/FormChatPanelLayout.d.ts +17 -0
  8. package/dist/types/components/FormChatAssistant/formChatAssistant.theme.d.ts +34 -0
  9. package/dist/types/components/PageHeader/PageHeader.d.ts +4 -0
  10. package/dist/types/components/atoms/FacebookAuthButton/FacebookAuthButton.d.ts +4 -0
  11. package/dist/types/components/atoms/FacebookAuthButton/FacebookAuthButton.types.d.ts +18 -0
  12. package/dist/types/components/atoms/FacebookAuthButton/index.d.ts +2 -0
  13. package/dist/types/components/atoms/index.d.ts +2 -0
  14. package/dist/types/components/index.d.ts +1 -0
  15. package/dist/types/components/molecules/GenericDrawer/GenericDrawer.types.d.ts +15 -0
  16. package/dist/types/components/molecules/QuickActions/iconMap.d.ts +6 -0
  17. package/dist/types/components/organisms/SignInForm/SignInForm.types.d.ts +17 -0
  18. package/dist/types/components/organisms/SignUpForm/SignUpForm.types.d.ts +17 -0
  19. package/dist/types/components/social/AlsoExperiencedButton.d.ts +10 -0
  20. package/dist/types/components/social/BlockDialog.d.ts +10 -0
  21. package/dist/types/components/social/ConnectionButton.d.ts +11 -0
  22. package/dist/types/components/social/ExperienceCard.d.ts +18 -0
  23. package/dist/types/components/social/ExperienceCategoryBadge.d.ts +8 -0
  24. package/dist/types/components/social/ExperienceCommentRow.d.ts +12 -0
  25. package/dist/types/components/social/ExperienceCommentsSheet.d.ts +27 -0
  26. package/dist/types/components/social/ExperienceComposer.d.ts +21 -0
  27. package/dist/types/components/social/ExperienceDetailView.d.ts +17 -0
  28. package/dist/types/components/social/ExperienceEngageMenu.d.ts +14 -0
  29. package/dist/types/components/social/ExperiencePostTypeBadge.d.ts +8 -0
  30. package/dist/types/components/social/ExperienceReactionBar.d.ts +11 -0
  31. package/dist/types/components/social/JourneyProfile.d.ts +34 -0
  32. package/dist/types/components/social/PeerMessageList.d.ts +10 -0
  33. package/dist/types/components/social/PostGiraPrompt.d.ts +8 -0
  34. package/dist/types/components/social/PrivacySelector.d.ts +11 -0
  35. package/dist/types/components/social/QuestionAnswerCard.d.ts +8 -0
  36. package/dist/types/components/social/QuestionAnswersSheet.d.ts +23 -0
  37. package/dist/types/components/social/QuestionCard.d.ts +16 -0
  38. package/dist/types/components/social/QuestionComposer.d.ts +17 -0
  39. package/dist/types/components/social/QuestionSourceBadge.d.ts +7 -0
  40. package/dist/types/components/social/ReportDialog.d.ts +13 -0
  41. package/dist/types/components/social/ShareSheet.d.ts +13 -0
  42. package/dist/types/components/social/SimilarExperienceCard.d.ts +8 -0
  43. package/dist/types/components/social/SimilarPeopleCard.d.ts +10 -0
  44. package/dist/types/components/social/SocialAccountDrawer.d.ts +31 -0
  45. package/dist/types/components/social/SocialConversationRow.d.ts +8 -0
  46. package/dist/types/components/social/SocialCreateActionsSheet.d.ts +13 -0
  47. package/dist/types/components/social/SocialEmptyState.d.ts +10 -0
  48. package/dist/types/components/social/SocialErrorState.d.ts +8 -0
  49. package/dist/types/components/social/SocialHomeBottomNav.d.ts +22 -0
  50. package/dist/types/components/social/SocialHomeHeader.d.ts +13 -0
  51. package/dist/types/components/social/SocialMessageBubble.d.ts +19 -0
  52. package/dist/types/components/social/SocialMessageComposer.d.ts +17 -0
  53. package/dist/types/components/social/SocialReadOnlyNotice.d.ts +6 -0
  54. package/dist/types/components/social/SocialSkeleton.d.ts +7 -0
  55. package/dist/types/components/social/SocialUnreadIndicator.d.ts +8 -0
  56. package/dist/types/components/social/SocialVerificationEarnedCelebration.d.ts +18 -0
  57. package/dist/types/components/social/SocialVerificationProgressSheet.d.ts +35 -0
  58. package/dist/types/components/social/TraditionBadge.d.ts +7 -0
  59. package/dist/types/components/social/WhatsAppShareButton.d.ts +8 -0
  60. package/dist/types/components/social/bannerPresets.d.ts +29 -0
  61. package/dist/types/components/social/formatAffinityPercent.d.ts +5 -0
  62. package/dist/types/components/social/index.d.ts +61 -0
  63. package/dist/types/components/social/labels.d.ts +20 -0
  64. package/dist/types/components/social/profileFields.d.ts +27 -0
  65. package/dist/types/components/social/socialSurfaces.d.ts +103 -0
  66. package/dist/types/components/social/types.d.ts +1003 -0
  67. package/dist/types/hooks/useHideOnScroll.d.ts +13 -0
  68. package/dist/types/index.d.ts +2 -0
  69. package/dist/types/pages/AddMediumByQRCodePage/AddMediumByQRCodePage.types.d.ts +6 -6
  70. package/dist/types/pages/EventsPage/EventsPage.types.d.ts +36 -36
  71. package/dist/types/pages/FinancialRegisterPage/FinancialRegister.types.d.ts +28 -28
  72. package/dist/types/pages/GamificationHelpPage/GamificationHelpPage.types.d.ts +2 -2
  73. package/dist/types/pages/HomePage/HomePage.constants.d.ts +4 -3
  74. package/dist/types/pages/HomePage/HomePage.types.d.ts +29 -13
  75. package/dist/types/pages/HomePage/components/HomeBottomNav.d.ts +12 -0
  76. package/dist/types/pages/HomePage/components/HomeMenu.d.ts +7 -7
  77. package/dist/types/pages/HomePage/components/HomeMenu.types.d.ts +20 -20
  78. package/dist/types/pages/HomePage/components/TopBar.d.ts +1 -1
  79. package/dist/types/pages/HomePage/components/TopBar.types.d.ts +2 -2
  80. package/dist/types/pages/HomePage/components/index.d.ts +1 -1
  81. package/dist/types/pages/HomePage/components/useHomeMenu.d.ts +2 -2
  82. package/dist/types/pages/HomePage/useHomePage.d.ts +2 -2
  83. package/dist/types/pages/HomePage/widgets/homeWidgets.catalog.d.ts +6 -6
  84. package/dist/types/pages/InviteLandingPage/InviteLandingPage.types.d.ts +4 -0
  85. package/dist/types/pages/InviteLandingPage/useInviteLandingPage.d.ts +1 -0
  86. package/dist/types/pages/NotFoundPage/NotFoundPage.types.d.ts +2 -2
  87. package/dist/types/pages/NotificationsPage/NotificationsPage.types.d.ts +38 -38
  88. package/dist/types/pages/NotificationsPage/useNotificationsPage.d.ts +3 -3
  89. package/dist/types/pages/PasswordCreationPage/PasswordCreationPage.types.d.ts +8 -8
  90. package/dist/types/pages/RitualBathDetailPage/RitualBathDetailPage.d.ts +1 -1
  91. package/dist/types/pages/RitualBathDetailPage/RitualBathDetailPage.types.d.ts +6 -6
  92. package/dist/types/pages/RitualBathDetailPage/useRitualBathDetailPage.d.ts +1 -1
  93. package/dist/types/pages/RitualBathListPage/RitualBathListPage.types.d.ts +16 -16
  94. package/dist/types/pages/RitualBathListPage/useRitualBathListPage.d.ts +2 -2
  95. package/dist/types/pages/RitualBathOnboardingPage/RitualBathOnboarding.types.d.ts +4 -4
  96. package/dist/types/pages/RitualBathOnboardingPage/useRitualBathOnboarding.d.ts +1 -1
  97. package/dist/types/pages/RitualBathSchedulePage/RitualBathSchedulePage.types.d.ts +6 -6
  98. package/dist/types/pages/RoleFormPage/RoleFormPage.types.d.ts +2 -2
  99. package/dist/types/pages/SigninPage/SigninPage.types.d.ts +14 -0
  100. package/dist/types/pages/SignupPage/SignupPage.types.d.ts +14 -0
  101. package/dist/types/pages/Social/CreateExperiencePage/CreateExperiencePage.d.ts +12 -0
  102. package/dist/types/pages/Social/CreateExperiencePage/CreateExperiencePage.types.d.ts +62 -0
  103. package/dist/types/pages/Social/CreateExperiencePage/CreateExperienceSummaryCard.d.ts +13 -0
  104. package/dist/types/pages/Social/CreateQuestionPage/CreateQuestionPage.d.ts +12 -0
  105. package/dist/types/pages/Social/CreateQuestionPage/CreateQuestionPage.types.d.ts +55 -0
  106. package/dist/types/pages/Social/CreateQuestionPage/CreateQuestionSummaryCard.d.ts +12 -0
  107. package/dist/types/pages/Social/EditJourneyPage/EditJourneyPage.d.ts +53 -0
  108. package/dist/types/pages/Social/ExperienceDetailPage/ExperienceDetailPage.d.ts +50 -0
  109. package/dist/types/pages/Social/JourneyProfilePage/JourneyProfilePage.d.ts +59 -0
  110. package/dist/types/pages/Social/PublicSocialPreviewPage/PublicSocialPreviewPage.d.ts +5 -0
  111. package/dist/types/pages/Social/PublicSocialPreviewPage/PublicSocialPreviewPage.types.d.ts +334 -0
  112. package/dist/types/pages/Social/PublicSocialPreviewPage/index.d.ts +3 -0
  113. package/dist/types/pages/Social/QuestionDetailPage/QuestionDetailPage.d.ts +15 -0
  114. package/dist/types/pages/Social/QuestionsPage/QuestionsPage.d.ts +13 -0
  115. package/dist/types/pages/Social/SimilarPage/SimilarPage.d.ts +15 -0
  116. package/dist/types/pages/Social/SocialConnectionsPage/SocialConnectionsPage.d.ts +41 -0
  117. package/dist/types/pages/Social/SocialConversationPage/SocialConversationPage.d.ts +19 -0
  118. package/dist/types/pages/Social/SocialDiscoverPage/SocialDiscoverPage.d.ts +34 -0
  119. package/dist/types/pages/Social/SocialHomePage/SocialHomePage.d.ts +116 -0
  120. package/dist/types/pages/Social/SocialHomePage/index.d.ts +2 -0
  121. package/dist/types/pages/Social/SocialInboxPage/SocialInboxPage.d.ts +14 -0
  122. package/dist/types/pages/Social/SocialNotificationsPage/SocialNotificationsPage.d.ts +21 -0
  123. package/dist/types/pages/Social/SocialOnboardingIntro/SocialOnboardingIntro.d.ts +5 -0
  124. package/dist/types/pages/Social/SocialOnboardingIntro/SocialOnboardingIntro.types.d.ts +14 -0
  125. package/dist/types/pages/Social/SocialOnboardingIntro/index.d.ts +2 -0
  126. package/dist/types/pages/Social/SocialOnboardingPage/SocialOnboardingPage.d.ts +13 -0
  127. package/dist/types/pages/Social/SocialOnboardingPage/SocialOnboardingPage.types.d.ts +59 -0
  128. package/dist/types/pages/Social/SocialOnboardingPage/SocialOnboardingSummaryCard.d.ts +12 -0
  129. package/dist/types/pages/Social/SocialPageShell.d.ts +29 -0
  130. package/dist/types/pages/Social/SocialPrivacySettingsPage/SocialPrivacySettingsPage.d.ts +18 -0
  131. package/dist/types/pages/Social/SocialSavedPage/SocialSavedPage.d.ts +59 -0
  132. package/dist/types/pages/Social/index.d.ts +42 -0
  133. package/dist/types/pages/index.d.ts +1 -0
  134. package/package.json +1 -1
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import type { QuestionAnswer } from "./types";
3
+ export type QuestionAnswersSheetProps = {
4
+ open: boolean;
5
+ questionId?: string | null;
6
+ questionTitle?: string | null;
7
+ answers?: QuestionAnswer[];
8
+ answerCount?: number;
9
+ isLoading?: boolean;
10
+ isSubmitting?: boolean;
11
+ error?: string | null;
12
+ composerDisabled?: boolean;
13
+ onClose: () => void;
14
+ onSubmitAnswer?: (content: string) => void | Promise<void>;
15
+ onRetry?: () => void;
16
+ onAuthorClick?: (userId: string, username?: string) => void;
17
+ };
18
+ /**
19
+ * Bottom sheet for reading/writing question answers — mirrors
20
+ * ExperienceCommentsSheet so Explorar/feed stay in place.
21
+ */
22
+ declare const QuestionAnswersSheet: React.FC<QuestionAnswersSheetProps>;
23
+ export default QuestionAnswersSheet;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import type { ExperienceReactionType, Question } from "./types";
3
+ export type QuestionCardProps = {
4
+ question: Question;
5
+ viewerUserId?: string;
6
+ /** Opens answers sheet (same role as experience comments). */
7
+ onOpenAnswers?: (id: string) => void;
8
+ /** Content tap — defaults to opening answers when onOpenAnswers is set. */
9
+ onOpen?: (id: string) => void;
10
+ onReactionToggle?: (id: string, type: ExperienceReactionType) => void;
11
+ onShare?: (id: string) => void;
12
+ onBookmark?: (id: string) => void;
13
+ onAuthorClick?: (userId: string, username?: string) => void;
14
+ };
15
+ declare const QuestionCard: React.FC<QuestionCardProps>;
16
+ export default QuestionCard;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import type { ExperienceCategory, SocialVisibility } from "./types";
3
+ export type QuestionComposerValues = {
4
+ title: string;
5
+ description?: string;
6
+ traditionLabel?: string;
7
+ category?: ExperienceCategory;
8
+ visibility: SocialVisibility;
9
+ };
10
+ export type QuestionComposerProps = {
11
+ initialValues?: Partial<QuestionComposerValues>;
12
+ submitting?: boolean;
13
+ onSubmit: (values: QuestionComposerValues) => void;
14
+ onCancel?: () => void;
15
+ };
16
+ declare const QuestionComposer: React.FC<QuestionComposerProps>;
17
+ export default QuestionComposer;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import type { QuestionSource } from "./types";
3
+ export type QuestionSourceBadgeProps = {
4
+ source?: QuestionSource | null;
5
+ };
6
+ declare const QuestionSourceBadge: React.FC<QuestionSourceBadgeProps>;
7
+ export default QuestionSourceBadge;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import type { SocialReportReason } from "./types";
3
+ export type ReportDialogProps = {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ onSubmit: (payload: {
7
+ reason: SocialReportReason;
8
+ details?: string;
9
+ }) => void;
10
+ submitting?: boolean;
11
+ };
12
+ declare const ReportDialog: React.FC<ReportDialogProps>;
13
+ export default ReportDialog;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ export type ShareSheetProps = {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ title?: string;
6
+ previewText: string;
7
+ shareUrl: string;
8
+ onWhatsAppShare?: () => void;
9
+ onCopyLink?: () => void;
10
+ onShareStarted?: (channel: "WHATSAPP" | "LINK") => void;
11
+ };
12
+ declare const ShareSheet: React.FC<ShareSheetProps>;
13
+ export default ShareSheet;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import type { Experience } from "./types";
3
+ export type SimilarExperienceCardProps = {
4
+ experience: Experience;
5
+ onOpen?: (id: string) => void;
6
+ };
7
+ declare const SimilarExperienceCard: React.FC<SimilarExperienceCardProps>;
8
+ export default SimilarExperienceCard;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import type { SimilarPerson } from "./types";
3
+ export type SimilarPeopleCardProps = {
4
+ people: SimilarPerson[];
5
+ onPersonClick?: (userId: string, username?: string) => void;
6
+ onConnect?: (userId: string) => void;
7
+ title?: string;
8
+ };
9
+ declare const SimilarPeopleCard: React.FC<SimilarPeopleCardProps>;
10
+ export default SimilarPeopleCard;
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ import type { SocialHomeCurrentUser } from "./types";
3
+ export type SocialAccountDrawerProps = {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ currentUser?: SocialHomeCurrentUser;
7
+ /** Unread direct messages (messaging inbox). */
8
+ messagesUnreadCount?: number;
9
+ /** Unread Social notifications (excludes DMs). */
10
+ notificationsUnreadCount?: number;
11
+ /** Inbound PENDING count; shows Pedidos row when > 0. */
12
+ pendingFollowersCount?: number;
13
+ onOpenProfile?: () => void;
14
+ onOpenFollowing?: () => void;
15
+ onOpenFollowers?: () => void;
16
+ onOpenRequests?: () => void;
17
+ onOpenSaved?: () => void;
18
+ onOpenMessages?: () => void;
19
+ onOpenNotifications?: () => void;
20
+ onOpenVerificationProgress?: () => void;
21
+ /** Compact Selo status for drawer trailing text. */
22
+ verificationSummary?: {
23
+ verified: boolean;
24
+ activeDays7: number;
25
+ daysRequired: number;
26
+ daysRemaining?: number | null;
27
+ } | null;
28
+ onExitToApp?: () => void;
29
+ };
30
+ declare const SocialAccountDrawer: React.FC<SocialAccountDrawerProps>;
31
+ export default SocialAccountDrawer;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import type { SocialConversation } from "./types";
3
+ export type SocialConversationRowProps = {
4
+ conversation: SocialConversation;
5
+ onOpen?: (conversationId: string) => void;
6
+ };
7
+ declare const SocialConversationRow: React.FC<SocialConversationRowProps>;
8
+ export default SocialConversationRow;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ export type SocialCreateActionKind = "experience" | "question" | "message";
3
+ export type SocialCreateActionsSheetProps = {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ onCreateExperience?: () => void;
7
+ onCreateQuestion?: () => void;
8
+ onComposeMessage?: () => void;
9
+ /** Fired after an option is chosen (before navigation callback). */
10
+ onSelectAction?: (kind: SocialCreateActionKind) => void;
11
+ };
12
+ declare const SocialCreateActionsSheet: React.FC<SocialCreateActionsSheetProps>;
13
+ export default SocialCreateActionsSheet;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export type SocialEmptyStateProps = {
3
+ title?: string;
4
+ description?: string;
5
+ actionLabel?: string;
6
+ onAction?: () => void;
7
+ icon?: React.ReactNode;
8
+ };
9
+ declare const SocialEmptyState: React.FC<SocialEmptyStateProps>;
10
+ export default SocialEmptyState;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export type SocialErrorStateProps = {
3
+ title?: string;
4
+ message?: string;
5
+ onRetry?: () => void;
6
+ };
7
+ declare const SocialErrorState: React.FC<SocialErrorStateProps>;
8
+ export default SocialErrorState;
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ /** Inner pill height (actions row). */
3
+ export declare const SOCIAL_HOME_BOTTOM_NAV_HEIGHT = 52;
4
+ /** Float margin below the pill. */
5
+ export declare const SOCIAL_HOME_BOTTOM_NAV_FLOAT_MB = 16;
6
+ /** Total clearance for feed padding (pill + float margin). */
7
+ export declare const SOCIAL_HOME_BOTTOM_NAV_CLEARANCE: number;
8
+ export type SocialHomeBottomNavProps = {
9
+ active?: "home" | "messages" | "notifications" | "search";
10
+ /** Unread direct messages (messaging inbox). */
11
+ messagesUnreadCount?: number;
12
+ /** Unread Social notifications (excludes DMs). */
13
+ notificationsUnreadCount?: number;
14
+ onNavigateHome?: () => void;
15
+ onOpenMessages?: () => void;
16
+ onOpenNotifications?: () => void;
17
+ onOpenSearch?: () => void;
18
+ /** When provided, parent owns hide-on-scroll; otherwise this nav listens itself. */
19
+ isScrolling?: boolean;
20
+ };
21
+ declare const SocialHomeBottomNav: React.FC<SocialHomeBottomNavProps>;
22
+ export default SocialHomeBottomNav;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ export declare const SOCIAL_HOME_HEADER_HEIGHT = 53;
3
+ export type SocialHomeHeaderProps = {
4
+ avatarUrl?: string | null;
5
+ displayName?: string;
6
+ /** When false, parent wraps this in a sliding chrome shell. Default true. */
7
+ fixed?: boolean;
8
+ isScrolling?: boolean;
9
+ onOpenDrawer?: () => void;
10
+ onOpenFollow?: () => void;
11
+ };
12
+ declare const SocialHomeHeader: React.FC<SocialHomeHeaderProps>;
13
+ export default SocialHomeHeader;
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import type { SocialMessage } from "./types";
3
+ export type SocialMessageBubbleProps = {
4
+ message: SocialMessage;
5
+ onRetry?: (messageId: string) => void;
6
+ /** Peer avatar URL for incoming messages (WhatsApp 1:1). */
7
+ peerAvatarUrl?: string | null;
8
+ peerDisplayName?: string;
9
+ /** Show peer avatar on this row (last message in an incoming cluster). */
10
+ showPeerAvatar?: boolean;
11
+ /** Last message in a consecutive same-sender cluster (tail corner). */
12
+ isClusterEnd?: boolean;
13
+ /** First message in a consecutive same-sender cluster. */
14
+ isClusterStart?: boolean;
15
+ /** Vertical rhythm: tighter inside a cluster. */
16
+ dense?: boolean;
17
+ };
18
+ declare const SocialMessageBubble: React.FC<SocialMessageBubbleProps>;
19
+ export default SocialMessageBubble;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ export type SocialMessageComposerProps = {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onSend: (message: string) => void;
6
+ isSending?: boolean;
7
+ disabled?: boolean;
8
+ placeholder?: string;
9
+ maxLength?: number;
10
+ /**
11
+ * `drawer` blends with GenericDrawer translucent paper.
12
+ * `page` keeps opaque surfaces for full-page messaging.
13
+ */
14
+ variant?: "page" | "drawer";
15
+ };
16
+ declare const SocialMessageComposer: React.FC<SocialMessageComposerProps>;
17
+ export default SocialMessageComposer;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export type SocialReadOnlyNoticeProps = {
3
+ message?: string;
4
+ };
5
+ declare const SocialReadOnlyNotice: React.FC<SocialReadOnlyNoticeProps>;
6
+ export default SocialReadOnlyNotice;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export type SocialSkeletonProps = {
3
+ count?: number;
4
+ variant?: "card" | "profile" | "list";
5
+ };
6
+ declare const SocialSkeleton: React.FC<SocialSkeletonProps>;
7
+ export default SocialSkeleton;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export type SocialUnreadIndicatorProps = {
3
+ count?: number;
4
+ label?: string;
5
+ compact?: boolean;
6
+ };
7
+ declare const SocialUnreadIndicator: React.FC<SocialUnreadIndicatorProps>;
8
+ export default SocialUnreadIndicator;
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ export type SocialVerificationCelebrationVariant = "earned" | "extended";
3
+ export type SocialVerificationEarnedCelebrationProps = {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ /** First grant vs renewal. */
7
+ variant?: SocialVerificationCelebrationVariant;
8
+ /** ISO date; shown as “Ativo até dd/mm”. */
9
+ verifiedUntil?: string | null;
10
+ /** Validity length for copy (default 14). */
11
+ validityDays?: number;
12
+ onContinue?: () => void;
13
+ onViewProfile?: () => void;
14
+ continueLabel?: string;
15
+ viewProfileLabel?: string;
16
+ };
17
+ declare const SocialVerificationEarnedCelebration: React.FC<SocialVerificationEarnedCelebrationProps>;
18
+ export default SocialVerificationEarnedCelebration;
@@ -0,0 +1,35 @@
1
+ import React from "react";
2
+ export type SocialVerificationProgress = {
3
+ activeDays7: number;
4
+ daysRequired: number;
5
+ posts30: number;
6
+ postsRequired: number;
7
+ verified: boolean;
8
+ verifiedUntil?: string | null;
9
+ presenceDayKeys7?: string[];
10
+ daysRemaining?: number | null;
11
+ missing?: {
12
+ days: number;
13
+ posts: number;
14
+ };
15
+ };
16
+ export type SocialVerificationPrimaryActionKind = "presence" | "publish" | "home";
17
+ export type SocialVerificationProgressSheetProps = {
18
+ open: boolean;
19
+ onClose: () => void;
20
+ progress?: SocialVerificationProgress | null;
21
+ isLoading?: boolean;
22
+ error?: string | null;
23
+ onRetry?: () => void;
24
+ /** Rolling week ending today (SP); if omitted, derived from presenceDayKeys7. */
25
+ weekDays?: Array<{
26
+ dateKey: string;
27
+ present: boolean;
28
+ label: string;
29
+ }>;
30
+ primaryActionKind?: SocialVerificationPrimaryActionKind;
31
+ primaryActionLabel?: string;
32
+ onPrimaryAction?: () => void;
33
+ };
34
+ declare const SocialVerificationProgressSheet: React.FC<SocialVerificationProgressSheetProps>;
35
+ export default SocialVerificationProgressSheet;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export type TraditionBadgeProps = {
3
+ label?: string | null;
4
+ size?: "small" | "medium";
5
+ };
6
+ declare const TraditionBadge: React.FC<TraditionBadgeProps>;
7
+ export default TraditionBadge;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export type WhatsAppShareButtonProps = {
3
+ text: string;
4
+ label?: string;
5
+ onClick?: () => void;
6
+ };
7
+ declare const WhatsAppShareButton: React.FC<WhatsAppShareButtonProps>;
8
+ export default WhatsAppShareButton;
@@ -0,0 +1,29 @@
1
+ import type { CustomBannerGradientPreset } from "./types";
2
+ export declare const BANNER_GRADIENT_KEYS: readonly ["oxala-luz", "iemanja-mar", "oxum-aguas-douradas", "ogum-forja-caminhos", "xango-fogo-terra", "iansa-ventos", "oxossi-mata", "nana-terra-aguas"];
3
+ export type BannerGradientKey = (typeof BANNER_GRADIENT_KEYS)[number];
4
+ export type BannerGradientPreset = {
5
+ key: BannerGradientKey;
6
+ label: string;
7
+ gradient: string;
8
+ };
9
+ /**
10
+ * Visual inspirations only; these labels do not claim universal or canonical
11
+ * associations between each Orixá and a specific color.
12
+ */
13
+ export declare const BANNER_GRADIENT_PRESETS: readonly BannerGradientPreset[];
14
+ export declare const DEFAULT_BANNER_GRADIENT_KEY: BannerGradientKey;
15
+ export declare function getBannerGradient(key?: BannerGradientKey | null): string | undefined;
16
+ export declare function getCustomBannerGradient(preset?: CustomBannerGradientPreset | null): string | undefined;
17
+ export declare function getSocialBannerSx(bannerUrl?: string | null, gradientKey?: BannerGradientKey | null, customGradients?: readonly CustomBannerGradientPreset[], selectedCustomGradientId?: string | null): {
18
+ backgroundImage: string;
19
+ backgroundSize: string;
20
+ backgroundPosition: string;
21
+ } | {
22
+ backgroundImage: string;
23
+ backgroundSize?: undefined;
24
+ backgroundPosition?: undefined;
25
+ } | {
26
+ backgroundImage?: undefined;
27
+ backgroundSize?: undefined;
28
+ backgroundPosition?: undefined;
29
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Formats API affinity (0–100 scale) for display as a whole percent.
3
+ * Never returns above 100. When affinity is positive, floors the display at 1.
4
+ */
5
+ export declare function formatAffinityPercent(affinity: number): number;
@@ -0,0 +1,61 @@
1
+ export * from "./types";
2
+ export * from "./labels";
3
+ export * from "./bannerPresets";
4
+ export * from "./profileFields";
5
+ export { default as SocialEmptyState } from "./SocialEmptyState";
6
+ export { default as SocialSkeleton } from "./SocialSkeleton";
7
+ export { default as SocialErrorState } from "./SocialErrorState";
8
+ export { default as TraditionBadge } from "./TraditionBadge";
9
+ export { default as ExperienceCategoryBadge } from "./ExperienceCategoryBadge";
10
+ export { default as ExperiencePostTypeBadge } from "./ExperiencePostTypeBadge";
11
+ export { default as ExperienceReactionBar } from "./ExperienceReactionBar";
12
+ export { default as ExperienceEngageMenu } from "./ExperienceEngageMenu";
13
+ export { default as AlsoExperiencedButton } from "./AlsoExperiencedButton";
14
+ export { default as ExperienceCard } from "./ExperienceCard";
15
+ export { default as ExperienceCommentRow } from "./ExperienceCommentRow";
16
+ export type { ExperienceCommentRowProps } from "./ExperienceCommentRow";
17
+ export { default as ExperienceCommentsSheet } from "./ExperienceCommentsSheet";
18
+ export type { ExperienceCommentsSheetProps, ExperienceCommentSubmitMeta, } from "./ExperienceCommentsSheet";
19
+ export { default as ExperienceComposer } from "./ExperienceComposer";
20
+ export type { ExperienceComposerValues } from "./ExperienceComposer";
21
+ export { default as ExperienceDetailView } from "./ExperienceDetailView";
22
+ export { default as QuestionCard } from "./QuestionCard";
23
+ export { default as QuestionComposer } from "./QuestionComposer";
24
+ export type { QuestionComposerValues } from "./QuestionComposer";
25
+ export { default as QuestionAnswerCard } from "./QuestionAnswerCard";
26
+ export { default as QuestionAnswersSheet } from "./QuestionAnswersSheet";
27
+ export type { QuestionAnswersSheetProps } from "./QuestionAnswersSheet";
28
+ export { default as QuestionSourceBadge } from "./QuestionSourceBadge";
29
+ export { default as JourneyProfile } from "./JourneyProfile";
30
+ export { default as SocialVerificationProgressSheet } from "./SocialVerificationProgressSheet";
31
+ export type { SocialVerificationProgress, SocialVerificationProgressSheetProps, SocialVerificationPrimaryActionKind, } from "./SocialVerificationProgressSheet";
32
+ export { default as SocialVerificationEarnedCelebration } from "./SocialVerificationEarnedCelebration";
33
+ export type { SocialVerificationEarnedCelebrationProps, SocialVerificationCelebrationVariant, } from "./SocialVerificationEarnedCelebration";
34
+ export { default as SocialCreateActionsSheet } from "./SocialCreateActionsSheet";
35
+ export type { SocialCreateActionsSheetProps, SocialCreateActionKind, } from "./SocialCreateActionsSheet";
36
+ export { default as SimilarPeopleCard } from "./SimilarPeopleCard";
37
+ export { default as SimilarExperienceCard } from "./SimilarExperienceCard";
38
+ export { default as ConnectionButton } from "./ConnectionButton";
39
+ export { default as PrivacySelector } from "./PrivacySelector";
40
+ export { default as PostGiraPrompt } from "./PostGiraPrompt";
41
+ export { default as ShareSheet } from "./ShareSheet";
42
+ export { default as WhatsAppShareButton } from "./WhatsAppShareButton";
43
+ export { default as ReportDialog } from "./ReportDialog";
44
+ export { default as BlockDialog } from "./BlockDialog";
45
+ export { default as SocialHomeHeader } from "./SocialHomeHeader";
46
+ export { SOCIAL_HOME_HEADER_HEIGHT } from "./SocialHomeHeader";
47
+ export { default as SocialAccountDrawer } from "./SocialAccountDrawer";
48
+ export { default as SocialHomeBottomNav } from "./SocialHomeBottomNav";
49
+ export { default as SocialConversationRow } from "./SocialConversationRow";
50
+ export type { SocialConversationRowProps } from "./SocialConversationRow";
51
+ export { default as SocialMessageBubble } from "./SocialMessageBubble";
52
+ export type { SocialMessageBubbleProps } from "./SocialMessageBubble";
53
+ export { default as PeerMessageList } from "./PeerMessageList";
54
+ export type { PeerMessageListProps } from "./PeerMessageList";
55
+ export { default as SocialMessageComposer } from "./SocialMessageComposer";
56
+ export type { SocialMessageComposerProps } from "./SocialMessageComposer";
57
+ export { default as SocialUnreadIndicator } from "./SocialUnreadIndicator";
58
+ export type { SocialUnreadIndicatorProps } from "./SocialUnreadIndicator";
59
+ export { default as SocialReadOnlyNotice } from "./SocialReadOnlyNotice";
60
+ export type { SocialReadOnlyNoticeProps } from "./SocialReadOnlyNotice";
61
+ export { SOCIAL_HOME_BOTTOM_NAV_HEIGHT, SOCIAL_HOME_BOTTOM_NAV_CLEARANCE, SOCIAL_HOME_BOTTOM_NAV_FLOAT_MB, } from "./SocialHomeBottomNav";
@@ -0,0 +1,20 @@
1
+ import type { Experience, ExperienceCategory, ExperiencePostType, ExperienceReactionType, QuestionSource, SocialReportReason, SocialVisibility } from "./types";
2
+ export declare const CATEGORY_LABELS: Record<ExperienceCategory, string>;
3
+ export declare const POST_TYPE_LABELS: Record<ExperiencePostType, string>;
4
+ /** Prefer explicit `postType`; otherwise map legacy `category`. */
5
+ export declare const resolveExperiencePostType: (experience: Pick<Experience, "postType" | "category">) => ExperiencePostType;
6
+ export declare const VISIBILITY_LABELS: Record<SocialVisibility, string>;
7
+ export declare const VISIBILITY_HELPERS: Record<SocialVisibility, string>;
8
+ export declare const REACTION_LABELS: Record<ExperienceReactionType, string>;
9
+ /** Also-experienced lives outside the reaction enum (API) but in the engage menu. */
10
+ export declare const ALSO_EXPERIENCED_LABEL = "Tamb\u00E9m vivi isso";
11
+ export declare const QUESTION_SOURCE_LABELS: Record<QuestionSource, string>;
12
+ export declare const REPORT_REASON_LABELS: Record<SocialReportReason, string>;
13
+ export declare const formatRelativeTime: (value?: string | Date | null) => string;
14
+ export declare const authorDisplayName: (author?: {
15
+ displayName?: string | null;
16
+ username?: string;
17
+ }, options?: {
18
+ authorId?: string;
19
+ viewerUserId?: string;
20
+ }) => string;
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ export declare const SOCIAL_USERNAME_MAX_LENGTH = 48;
3
+ export declare const SOCIAL_DISPLAY_NAME_MAX_LENGTH = 120;
4
+ export declare const SOCIAL_TRADITION_MAX_LENGTH = 120;
5
+ export declare const SOCIAL_BIO_MAX_LENGTH = 160;
6
+ export declare const SocialUsernameSchema: z.ZodString;
7
+ export declare const SocialProfileFieldsSchema: z.ZodObject<{
8
+ username: z.ZodString;
9
+ displayName: z.ZodOptional<z.ZodString>;
10
+ traditionLabel: z.ZodOptional<z.ZodString>;
11
+ bio: z.ZodOptional<z.ZodString>;
12
+ avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ username: string;
15
+ displayName?: string | undefined;
16
+ avatarUrl?: string | null | undefined;
17
+ traditionLabel?: string | undefined;
18
+ bio?: string | undefined;
19
+ }, {
20
+ username: string;
21
+ displayName?: string | undefined;
22
+ avatarUrl?: string | null | undefined;
23
+ traditionLabel?: string | undefined;
24
+ bio?: string | undefined;
25
+ }>;
26
+ export type SocialProfileFields = z.infer<typeof SocialProfileFieldsSchema>;
27
+ export declare const getSocialUsernameError: (username: string) => string | undefined;
@@ -0,0 +1,103 @@
1
+ import { type Theme } from "@mui/material/styles";
2
+ /**
3
+ * X.com-inspired Social surfaces.
4
+ * Flat timeline, hairline dividers, no elevated cards.
5
+ * Accents stay on brand (orange/coal) — not X blue.
6
+ */
7
+ /** Matches manager app `Container maxWidth="md"` / PageHeader toolbar. */
8
+ export declare const SOCIAL_TIMELINE_MAX_WIDTH = 900;
9
+ export declare const socialTimelineRowSx: {
10
+ readonly px: {
11
+ readonly xs: 2.5;
12
+ readonly sm: 3;
13
+ };
14
+ readonly py: 1.5;
15
+ readonly borderBottom: 1;
16
+ readonly borderColor: "divider";
17
+ readonly bgcolor: "transparent";
18
+ readonly transition: "background-color 120ms ease";
19
+ readonly "&:hover": {
20
+ readonly bgcolor: (theme: Theme) => string;
21
+ };
22
+ };
23
+ export declare const socialActionIconSx: {
24
+ readonly color: "text.secondary";
25
+ readonly p: 0.75;
26
+ readonly "&:hover": {
27
+ readonly color: "primary.main";
28
+ readonly bgcolor: (theme: Theme) => string;
29
+ };
30
+ };
31
+ export declare const socialSearchFieldSx: {
32
+ readonly mb: 0;
33
+ readonly "& .MuiOutlinedInput-root": {
34
+ readonly borderRadius: 9999;
35
+ readonly bgcolor: (theme: Theme) => string;
36
+ readonly "& fieldset": {
37
+ readonly border: "none";
38
+ };
39
+ readonly "&.Mui-focused": {
40
+ readonly bgcolor: "background.paper";
41
+ readonly "& fieldset": {
42
+ readonly border: "1px solid";
43
+ readonly borderColor: "primary.main";
44
+ };
45
+ };
46
+ };
47
+ };
48
+ /** Soft cover / banner for profile (X header photo area). */
49
+ export declare const socialProfileCoverSx: {
50
+ readonly width: "100%";
51
+ readonly height: {
52
+ readonly xs: 120;
53
+ readonly sm: 150;
54
+ };
55
+ readonly bgcolor: (theme: Theme) => string;
56
+ readonly backgroundImage: (theme: Theme) => string;
57
+ };
58
+ export declare const AVATAR_OVERLAP = 48;
59
+ /** Legacy aliases kept for empty/prompt panels that still need a soft surface. */
60
+ export declare const SOCIAL_RADIUS = 2;
61
+ export declare const socialCardSx: {
62
+ readonly border: 1;
63
+ readonly borderColor: "divider";
64
+ readonly borderRadius: 2;
65
+ readonly bgcolor: "background.paper";
66
+ readonly boxShadow: "none";
67
+ };
68
+ export declare const socialPromptSx: {
69
+ readonly borderBottom: 1;
70
+ readonly borderColor: "divider";
71
+ readonly bgcolor: (theme: Theme) => string;
72
+ readonly px: {
73
+ readonly xs: 1.5;
74
+ readonly sm: 2;
75
+ };
76
+ readonly py: 1.75;
77
+ };
78
+ export declare const socialStatePanelSx: {
79
+ readonly border: 0;
80
+ readonly borderRadius: 0;
81
+ readonly bgcolor: "transparent";
82
+ readonly px: {
83
+ readonly xs: 2.5;
84
+ readonly sm: 4;
85
+ };
86
+ readonly py: {
87
+ readonly xs: 6;
88
+ readonly sm: 8;
89
+ };
90
+ readonly maxWidth: 420;
91
+ readonly width: "100%";
92
+ readonly mx: "auto";
93
+ };
94
+ export declare const socialIconWellSx: {
95
+ readonly width: 56;
96
+ readonly height: 56;
97
+ readonly borderRadius: "50%";
98
+ readonly display: "grid";
99
+ readonly placeItems: "center";
100
+ readonly bgcolor: (theme: Theme) => string;
101
+ readonly color: "primary.main";
102
+ readonly mb: 0.5;
103
+ };