@sesionario/blocks 1.0.0 → 1.1.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/README.md +15 -0
- package/dist/index.cjs +410 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +67 -1
- package/dist/index.d.ts +67 -1
- package/dist/index.js +379 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.d.cts
CHANGED
|
@@ -6,6 +6,8 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
6
6
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
7
7
|
import { HlsConfig, RetryConfig, LoaderResponse } from 'hls.js';
|
|
8
8
|
import * as RPNInput from 'react-phone-number-input';
|
|
9
|
+
import { MessageScroller as MessageScroller$1 } from '@shadcn/react/message-scroller';
|
|
10
|
+
export { useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from '@shadcn/react/message-scroller';
|
|
9
11
|
import { ClassValue } from 'clsx';
|
|
10
12
|
|
|
11
13
|
/**
|
|
@@ -695,6 +697,70 @@ declare function VerifiedProfessionalBadge({ status, size, showLabel, className,
|
|
|
695
697
|
|
|
696
698
|
declare const MEXICO_STATE_PATHS: Record<MexicoStateId, string>;
|
|
697
699
|
|
|
700
|
+
declare function MessageGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
701
|
+
declare function Message({ className, align, ...props }: React.ComponentProps<"div"> & {
|
|
702
|
+
align?: "start" | "end";
|
|
703
|
+
}): React.JSX.Element;
|
|
704
|
+
declare function MessageAvatar({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
705
|
+
declare function MessageContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
706
|
+
declare function MessageHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
707
|
+
declare function MessageFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
708
|
+
|
|
709
|
+
declare function BubbleGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
710
|
+
declare const bubbleVariants: (props?: ({
|
|
711
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "muted" | "tinted" | null | undefined;
|
|
712
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
713
|
+
declare function Bubble({ variant, align, className, ...props }: React.ComponentProps<"div"> & VariantProps<typeof bubbleVariants> & {
|
|
714
|
+
align?: "start" | "end";
|
|
715
|
+
}): React.JSX.Element;
|
|
716
|
+
declare function BubbleContent({ asChild, className, ...props }: React.ComponentProps<"div"> & {
|
|
717
|
+
asChild?: boolean;
|
|
718
|
+
}): React.JSX.Element;
|
|
719
|
+
declare function BubbleReactions({ side, align, className, ...props }: React.ComponentProps<"div"> & {
|
|
720
|
+
align?: "start" | "end";
|
|
721
|
+
side?: "top" | "bottom";
|
|
722
|
+
}): React.JSX.Element;
|
|
723
|
+
|
|
724
|
+
declare const markerVariants: (props?: ({
|
|
725
|
+
variant?: "default" | "separator" | "border" | null | undefined;
|
|
726
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
727
|
+
declare function Marker({ className, variant, asChild, ...props }: React.ComponentProps<"div"> & VariantProps<typeof markerVariants> & {
|
|
728
|
+
asChild?: boolean;
|
|
729
|
+
}): React.JSX.Element;
|
|
730
|
+
declare function MarkerIcon({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
731
|
+
declare function MarkerContent({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
732
|
+
|
|
733
|
+
declare const buttonVariants: (props?: ({
|
|
734
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
735
|
+
size?: "default" | "icon" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
|
|
736
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
737
|
+
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
738
|
+
asChild?: boolean;
|
|
739
|
+
}): React.JSX.Element;
|
|
740
|
+
|
|
741
|
+
declare function MessageScrollerProvider(props: React.ComponentProps<typeof MessageScroller$1.Provider>): React.JSX.Element;
|
|
742
|
+
declare function MessageScroller({ className, ...props }: React.ComponentProps<typeof MessageScroller$1.Root>): React.JSX.Element;
|
|
743
|
+
declare function MessageScrollerViewport({ className, ...props }: React.ComponentProps<typeof MessageScroller$1.Viewport>): React.JSX.Element;
|
|
744
|
+
declare function MessageScrollerContent({ className, ...props }: React.ComponentProps<typeof MessageScroller$1.Content>): React.JSX.Element;
|
|
745
|
+
declare function MessageScrollerItem({ className, scrollAnchor, ...props }: React.ComponentProps<typeof MessageScroller$1.Item>): React.JSX.Element;
|
|
746
|
+
declare function MessageScrollerButton({ direction, className, children, render, variant, size, ...props }: React.ComponentProps<typeof MessageScroller$1.Button> & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): React.JSX.Element;
|
|
747
|
+
|
|
748
|
+
type ChatListMessage = {
|
|
749
|
+
id: string;
|
|
750
|
+
senderId: string;
|
|
751
|
+
senderName: string;
|
|
752
|
+
body: string;
|
|
753
|
+
deleted: boolean;
|
|
754
|
+
createdAt: string;
|
|
755
|
+
};
|
|
756
|
+
type ChatMessageListProps = {
|
|
757
|
+
messages: ChatListMessage[];
|
|
758
|
+
currentUserId: string | null;
|
|
759
|
+
emptyTitle?: string;
|
|
760
|
+
emptyDescription?: string;
|
|
761
|
+
};
|
|
762
|
+
declare function ChatMessageList({ messages, currentUserId, emptyTitle, emptyDescription, }: ChatMessageListProps): React.JSX.Element;
|
|
763
|
+
|
|
698
764
|
declare function cn(...inputs: ClassValue[]): string;
|
|
699
765
|
|
|
700
|
-
export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, type DescribedPlaybackError, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, type FeatureEntry, type HlsPlayerMode, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, cn, createLiveHlsConfig, createVodHlsConfig, defaultLanguages, describePlaybackError, fuzzyMatch, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, usePlaybackStats, useSearchHotkey };
|
|
766
|
+
export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, Bubble, BubbleContent, BubbleGroup, BubbleReactions, type ChatListMessage, ChatMessageList, type ChatMessageListProps, type DescribedPlaybackError, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, type FeatureEntry, type HlsPlayerMode, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, bubbleVariants, cn, createLiveHlsConfig, createVodHlsConfig, defaultLanguages, describePlaybackError, fuzzyMatch, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, usePlaybackStats, useSearchHotkey };
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
6
6
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
7
7
|
import { HlsConfig, RetryConfig, LoaderResponse } from 'hls.js';
|
|
8
8
|
import * as RPNInput from 'react-phone-number-input';
|
|
9
|
+
import { MessageScroller as MessageScroller$1 } from '@shadcn/react/message-scroller';
|
|
10
|
+
export { useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from '@shadcn/react/message-scroller';
|
|
9
11
|
import { ClassValue } from 'clsx';
|
|
10
12
|
|
|
11
13
|
/**
|
|
@@ -695,6 +697,70 @@ declare function VerifiedProfessionalBadge({ status, size, showLabel, className,
|
|
|
695
697
|
|
|
696
698
|
declare const MEXICO_STATE_PATHS: Record<MexicoStateId, string>;
|
|
697
699
|
|
|
700
|
+
declare function MessageGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
701
|
+
declare function Message({ className, align, ...props }: React.ComponentProps<"div"> & {
|
|
702
|
+
align?: "start" | "end";
|
|
703
|
+
}): React.JSX.Element;
|
|
704
|
+
declare function MessageAvatar({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
705
|
+
declare function MessageContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
706
|
+
declare function MessageHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
707
|
+
declare function MessageFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
708
|
+
|
|
709
|
+
declare function BubbleGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
710
|
+
declare const bubbleVariants: (props?: ({
|
|
711
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "muted" | "tinted" | null | undefined;
|
|
712
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
713
|
+
declare function Bubble({ variant, align, className, ...props }: React.ComponentProps<"div"> & VariantProps<typeof bubbleVariants> & {
|
|
714
|
+
align?: "start" | "end";
|
|
715
|
+
}): React.JSX.Element;
|
|
716
|
+
declare function BubbleContent({ asChild, className, ...props }: React.ComponentProps<"div"> & {
|
|
717
|
+
asChild?: boolean;
|
|
718
|
+
}): React.JSX.Element;
|
|
719
|
+
declare function BubbleReactions({ side, align, className, ...props }: React.ComponentProps<"div"> & {
|
|
720
|
+
align?: "start" | "end";
|
|
721
|
+
side?: "top" | "bottom";
|
|
722
|
+
}): React.JSX.Element;
|
|
723
|
+
|
|
724
|
+
declare const markerVariants: (props?: ({
|
|
725
|
+
variant?: "default" | "separator" | "border" | null | undefined;
|
|
726
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
727
|
+
declare function Marker({ className, variant, asChild, ...props }: React.ComponentProps<"div"> & VariantProps<typeof markerVariants> & {
|
|
728
|
+
asChild?: boolean;
|
|
729
|
+
}): React.JSX.Element;
|
|
730
|
+
declare function MarkerIcon({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
731
|
+
declare function MarkerContent({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
732
|
+
|
|
733
|
+
declare const buttonVariants: (props?: ({
|
|
734
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
735
|
+
size?: "default" | "icon" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
|
|
736
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
737
|
+
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
738
|
+
asChild?: boolean;
|
|
739
|
+
}): React.JSX.Element;
|
|
740
|
+
|
|
741
|
+
declare function MessageScrollerProvider(props: React.ComponentProps<typeof MessageScroller$1.Provider>): React.JSX.Element;
|
|
742
|
+
declare function MessageScroller({ className, ...props }: React.ComponentProps<typeof MessageScroller$1.Root>): React.JSX.Element;
|
|
743
|
+
declare function MessageScrollerViewport({ className, ...props }: React.ComponentProps<typeof MessageScroller$1.Viewport>): React.JSX.Element;
|
|
744
|
+
declare function MessageScrollerContent({ className, ...props }: React.ComponentProps<typeof MessageScroller$1.Content>): React.JSX.Element;
|
|
745
|
+
declare function MessageScrollerItem({ className, scrollAnchor, ...props }: React.ComponentProps<typeof MessageScroller$1.Item>): React.JSX.Element;
|
|
746
|
+
declare function MessageScrollerButton({ direction, className, children, render, variant, size, ...props }: React.ComponentProps<typeof MessageScroller$1.Button> & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): React.JSX.Element;
|
|
747
|
+
|
|
748
|
+
type ChatListMessage = {
|
|
749
|
+
id: string;
|
|
750
|
+
senderId: string;
|
|
751
|
+
senderName: string;
|
|
752
|
+
body: string;
|
|
753
|
+
deleted: boolean;
|
|
754
|
+
createdAt: string;
|
|
755
|
+
};
|
|
756
|
+
type ChatMessageListProps = {
|
|
757
|
+
messages: ChatListMessage[];
|
|
758
|
+
currentUserId: string | null;
|
|
759
|
+
emptyTitle?: string;
|
|
760
|
+
emptyDescription?: string;
|
|
761
|
+
};
|
|
762
|
+
declare function ChatMessageList({ messages, currentUserId, emptyTitle, emptyDescription, }: ChatMessageListProps): React.JSX.Element;
|
|
763
|
+
|
|
698
764
|
declare function cn(...inputs: ClassValue[]): string;
|
|
699
765
|
|
|
700
|
-
export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, type DescribedPlaybackError, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, type FeatureEntry, type HlsPlayerMode, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, cn, createLiveHlsConfig, createVodHlsConfig, defaultLanguages, describePlaybackError, fuzzyMatch, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, usePlaybackStats, useSearchHotkey };
|
|
766
|
+
export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, Bubble, BubbleContent, BubbleGroup, BubbleReactions, type ChatListMessage, ChatMessageList, type ChatMessageListProps, type DescribedPlaybackError, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, type FeatureEntry, type HlsPlayerMode, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, bubbleVariants, cn, createLiveHlsConfig, createVodHlsConfig, defaultLanguages, describePlaybackError, fuzzyMatch, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, usePlaybackStats, useSearchHotkey };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React5 from 'react';
|
|
3
3
|
import { createContext, useContext, useState, useCallback, useEffect, useRef, useMemo } from 'react';
|
|
4
|
-
import { ChevronsUpDown, CheckIcon, SearchIcon, Loader2, AlertTriangle, Inbox, Monitor, Sun, Moon, Building2, Check, Plus, Languages, Upload, Move, ZoomOut, ZoomIn, RotateCcw, RotateCw, Grid3X3, RefreshCw, X, User, Pencil, Search, Clock, Flag, Hash, Lightbulb, Trophy, Plane, Apple, Leaf, Hand, Smile, Play, AlertCircle, VolumeX, Pause, Volume1, Volume2, Settings, PictureInPicture2, Minimize, Maximize, BadgeCheck, XIcon } from 'lucide-react';
|
|
4
|
+
import { ChevronsUpDown, CheckIcon, SearchIcon, Loader2, AlertTriangle, Inbox, Monitor, Sun, Moon, Building2, Check, Plus, Languages, Upload, Move, ZoomOut, ZoomIn, RotateCcw, RotateCw, Grid3X3, RefreshCw, X, User, Pencil, Search, Clock, Flag, Hash, Lightbulb, Trophy, Plane, Apple, Leaf, Hand, Smile, Play, AlertCircle, VolumeX, Pause, Volume1, Volume2, Settings, PictureInPicture2, Minimize, Maximize, BadgeCheck, ArrowDownIcon, MessageCircleDashedIcon, XIcon } from 'lucide-react';
|
|
5
5
|
import { clsx } from 'clsx';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
7
|
import { cva } from 'class-variance-authority';
|
|
@@ -19,6 +19,8 @@ import { Command as Command$1 } from 'cmdk';
|
|
|
19
19
|
import * as RPNInput from 'react-phone-number-input';
|
|
20
20
|
import flags from 'react-phone-number-input/flags';
|
|
21
21
|
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
22
|
+
import { MessageScroller as MessageScroller$1 } from '@shadcn/react/message-scroller';
|
|
23
|
+
export { useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from '@shadcn/react/message-scroller';
|
|
22
24
|
|
|
23
25
|
var LanguageContext = createContext(null);
|
|
24
26
|
function useLanguageContext() {
|
|
@@ -177,7 +179,7 @@ function EmptyState({
|
|
|
177
179
|
{
|
|
178
180
|
className: cn(
|
|
179
181
|
"gap-3",
|
|
180
|
-
isCompact ? "flex-none rounded-none
|
|
182
|
+
isCompact ? "flex-none rounded-none px-4 py-6" : "flex-none rounded-xl border border-dashed px-6 py-12",
|
|
181
183
|
className
|
|
182
184
|
),
|
|
183
185
|
children: [
|
|
@@ -4203,7 +4205,381 @@ function VerifiedProfessionalBadge({
|
|
|
4203
4205
|
}
|
|
4204
4206
|
);
|
|
4205
4207
|
}
|
|
4208
|
+
function MessageGroup({ className, ...props }) {
|
|
4209
|
+
return /* @__PURE__ */ jsx(
|
|
4210
|
+
"div",
|
|
4211
|
+
{
|
|
4212
|
+
"data-slot": "message-group",
|
|
4213
|
+
className: cn("flex min-w-0 flex-col gap-2", className),
|
|
4214
|
+
...props
|
|
4215
|
+
}
|
|
4216
|
+
);
|
|
4217
|
+
}
|
|
4218
|
+
function Message({
|
|
4219
|
+
className,
|
|
4220
|
+
align = "start",
|
|
4221
|
+
...props
|
|
4222
|
+
}) {
|
|
4223
|
+
return /* @__PURE__ */ jsx(
|
|
4224
|
+
"div",
|
|
4225
|
+
{
|
|
4226
|
+
"data-slot": "message",
|
|
4227
|
+
"data-align": align,
|
|
4228
|
+
className: cn(
|
|
4229
|
+
"group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse",
|
|
4230
|
+
className
|
|
4231
|
+
),
|
|
4232
|
+
...props
|
|
4233
|
+
}
|
|
4234
|
+
);
|
|
4235
|
+
}
|
|
4236
|
+
function MessageAvatar({ className, ...props }) {
|
|
4237
|
+
return /* @__PURE__ */ jsx(
|
|
4238
|
+
"div",
|
|
4239
|
+
{
|
|
4240
|
+
"data-slot": "message-avatar",
|
|
4241
|
+
className: cn(
|
|
4242
|
+
"flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8",
|
|
4243
|
+
className
|
|
4244
|
+
),
|
|
4245
|
+
...props
|
|
4246
|
+
}
|
|
4247
|
+
);
|
|
4248
|
+
}
|
|
4249
|
+
function MessageContent({ className, ...props }) {
|
|
4250
|
+
return /* @__PURE__ */ jsx(
|
|
4251
|
+
"div",
|
|
4252
|
+
{
|
|
4253
|
+
"data-slot": "message-content",
|
|
4254
|
+
className: cn(
|
|
4255
|
+
"flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end",
|
|
4256
|
+
className
|
|
4257
|
+
),
|
|
4258
|
+
...props
|
|
4259
|
+
}
|
|
4260
|
+
);
|
|
4261
|
+
}
|
|
4262
|
+
function MessageHeader({ className, ...props }) {
|
|
4263
|
+
return /* @__PURE__ */ jsx(
|
|
4264
|
+
"div",
|
|
4265
|
+
{
|
|
4266
|
+
"data-slot": "message-header",
|
|
4267
|
+
className: cn(
|
|
4268
|
+
"flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0",
|
|
4269
|
+
className
|
|
4270
|
+
),
|
|
4271
|
+
...props
|
|
4272
|
+
}
|
|
4273
|
+
);
|
|
4274
|
+
}
|
|
4275
|
+
function MessageFooter({ className, ...props }) {
|
|
4276
|
+
return /* @__PURE__ */ jsx(
|
|
4277
|
+
"div",
|
|
4278
|
+
{
|
|
4279
|
+
"data-slot": "message-footer",
|
|
4280
|
+
className: cn(
|
|
4281
|
+
"flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end",
|
|
4282
|
+
className
|
|
4283
|
+
),
|
|
4284
|
+
...props
|
|
4285
|
+
}
|
|
4286
|
+
);
|
|
4287
|
+
}
|
|
4288
|
+
function BubbleGroup({ className, ...props }) {
|
|
4289
|
+
return /* @__PURE__ */ jsx(
|
|
4290
|
+
"div",
|
|
4291
|
+
{
|
|
4292
|
+
"data-slot": "bubble-group",
|
|
4293
|
+
className: cn("flex min-w-0 flex-col gap-2", className),
|
|
4294
|
+
...props
|
|
4295
|
+
}
|
|
4296
|
+
);
|
|
4297
|
+
}
|
|
4298
|
+
var bubbleVariants = cva(
|
|
4299
|
+
"group/bubble relative flex w-fit max-w-[80%] min-w-0 flex-col gap-1 group-data-[align=end]/message:self-end data-[align=end]:self-end data-[variant=ghost]:max-w-full",
|
|
4300
|
+
{
|
|
4301
|
+
variants: {
|
|
4302
|
+
variant: {
|
|
4303
|
+
default: "*:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80",
|
|
4304
|
+
secondary: "*:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]",
|
|
4305
|
+
muted: "*:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)]",
|
|
4306
|
+
tinted: "*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)]",
|
|
4307
|
+
outline: "*:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30",
|
|
4308
|
+
ghost: "border-none *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50",
|
|
4309
|
+
destructive: "*:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30"
|
|
4310
|
+
}
|
|
4311
|
+
},
|
|
4312
|
+
defaultVariants: {
|
|
4313
|
+
variant: "default"
|
|
4314
|
+
}
|
|
4315
|
+
}
|
|
4316
|
+
);
|
|
4317
|
+
function Bubble({
|
|
4318
|
+
variant = "default",
|
|
4319
|
+
align = "start",
|
|
4320
|
+
className,
|
|
4321
|
+
...props
|
|
4322
|
+
}) {
|
|
4323
|
+
return /* @__PURE__ */ jsx(
|
|
4324
|
+
"div",
|
|
4325
|
+
{
|
|
4326
|
+
"data-slot": "bubble",
|
|
4327
|
+
"data-variant": variant,
|
|
4328
|
+
"data-align": align,
|
|
4329
|
+
className: cn(bubbleVariants({ variant }), className),
|
|
4330
|
+
...props
|
|
4331
|
+
}
|
|
4332
|
+
);
|
|
4333
|
+
}
|
|
4334
|
+
function BubbleContent({
|
|
4335
|
+
asChild = false,
|
|
4336
|
+
className,
|
|
4337
|
+
...props
|
|
4338
|
+
}) {
|
|
4339
|
+
const Comp = asChild ? Slot : "div";
|
|
4340
|
+
return /* @__PURE__ */ jsx(
|
|
4341
|
+
Comp,
|
|
4342
|
+
{
|
|
4343
|
+
"data-slot": "bubble-content",
|
|
4344
|
+
className: cn(
|
|
4345
|
+
"w-fit max-w-full min-w-0 overflow-hidden rounded-xl border border-transparent px-3 py-2 text-sm leading-relaxed wrap-break-word group-data-[align=end]/bubble:self-end [button]:text-left [button,a]:transition-colors [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-3 [button,a]:focus-visible:ring-ring/50",
|
|
4346
|
+
className
|
|
4347
|
+
),
|
|
4348
|
+
...props
|
|
4349
|
+
}
|
|
4350
|
+
);
|
|
4351
|
+
}
|
|
4352
|
+
var bubbleReactionsVariants = cva(
|
|
4353
|
+
"absolute z-10 flex w-fit shrink-0 items-center justify-center gap-1 rounded-full bg-muted px-1.5 py-0.5 text-sm ring-3 ring-card has-[button]:p-0",
|
|
4354
|
+
{
|
|
4355
|
+
variants: {
|
|
4356
|
+
side: {
|
|
4357
|
+
top: "top-0 -translate-y-3/4",
|
|
4358
|
+
bottom: "bottom-0 translate-y-3/4"
|
|
4359
|
+
},
|
|
4360
|
+
align: {
|
|
4361
|
+
start: "left-3",
|
|
4362
|
+
end: "right-3"
|
|
4363
|
+
}
|
|
4364
|
+
},
|
|
4365
|
+
defaultVariants: {
|
|
4366
|
+
side: "bottom",
|
|
4367
|
+
align: "end"
|
|
4368
|
+
}
|
|
4369
|
+
}
|
|
4370
|
+
);
|
|
4371
|
+
function BubbleReactions({
|
|
4372
|
+
side = "bottom",
|
|
4373
|
+
align = "end",
|
|
4374
|
+
className,
|
|
4375
|
+
...props
|
|
4376
|
+
}) {
|
|
4377
|
+
return /* @__PURE__ */ jsx(
|
|
4378
|
+
"div",
|
|
4379
|
+
{
|
|
4380
|
+
"data-slot": "bubble-reactions",
|
|
4381
|
+
"data-align": align,
|
|
4382
|
+
"data-side": side,
|
|
4383
|
+
className: cn(bubbleReactionsVariants({ side, align }), className),
|
|
4384
|
+
...props
|
|
4385
|
+
}
|
|
4386
|
+
);
|
|
4387
|
+
}
|
|
4388
|
+
var markerVariants = cva(
|
|
4389
|
+
"group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground",
|
|
4390
|
+
{
|
|
4391
|
+
variants: {
|
|
4392
|
+
variant: {
|
|
4393
|
+
default: "",
|
|
4394
|
+
separator: "before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border",
|
|
4395
|
+
border: "border-b border-border pb-2"
|
|
4396
|
+
}
|
|
4397
|
+
}
|
|
4398
|
+
}
|
|
4399
|
+
);
|
|
4400
|
+
function Marker({
|
|
4401
|
+
className,
|
|
4402
|
+
variant = "default",
|
|
4403
|
+
asChild = false,
|
|
4404
|
+
...props
|
|
4405
|
+
}) {
|
|
4406
|
+
const Comp = asChild ? Slot : "div";
|
|
4407
|
+
return /* @__PURE__ */ jsx(
|
|
4408
|
+
Comp,
|
|
4409
|
+
{
|
|
4410
|
+
"data-slot": "marker",
|
|
4411
|
+
"data-variant": variant,
|
|
4412
|
+
className: cn(markerVariants({ variant, className })),
|
|
4413
|
+
...props
|
|
4414
|
+
}
|
|
4415
|
+
);
|
|
4416
|
+
}
|
|
4417
|
+
function MarkerIcon({ className, ...props }) {
|
|
4418
|
+
return /* @__PURE__ */ jsx(
|
|
4419
|
+
"span",
|
|
4420
|
+
{
|
|
4421
|
+
"data-slot": "marker-icon",
|
|
4422
|
+
"aria-hidden": "true",
|
|
4423
|
+
className: cn(
|
|
4424
|
+
"size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
4425
|
+
className
|
|
4426
|
+
),
|
|
4427
|
+
...props
|
|
4428
|
+
}
|
|
4429
|
+
);
|
|
4430
|
+
}
|
|
4431
|
+
function MarkerContent({ className, ...props }) {
|
|
4432
|
+
return /* @__PURE__ */ jsx(
|
|
4433
|
+
"span",
|
|
4434
|
+
{
|
|
4435
|
+
"data-slot": "marker-content",
|
|
4436
|
+
className: cn(
|
|
4437
|
+
"min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
|
|
4438
|
+
className
|
|
4439
|
+
),
|
|
4440
|
+
...props
|
|
4441
|
+
}
|
|
4442
|
+
);
|
|
4443
|
+
}
|
|
4444
|
+
function MessageScrollerProvider(props) {
|
|
4445
|
+
return /* @__PURE__ */ jsx(MessageScroller$1.Provider, { ...props });
|
|
4446
|
+
}
|
|
4447
|
+
function MessageScroller({
|
|
4448
|
+
className,
|
|
4449
|
+
...props
|
|
4450
|
+
}) {
|
|
4451
|
+
return /* @__PURE__ */ jsx(
|
|
4452
|
+
MessageScroller$1.Root,
|
|
4453
|
+
{
|
|
4454
|
+
"data-slot": "message-scroller",
|
|
4455
|
+
className: cn(
|
|
4456
|
+
"group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden",
|
|
4457
|
+
className
|
|
4458
|
+
),
|
|
4459
|
+
...props
|
|
4460
|
+
}
|
|
4461
|
+
);
|
|
4462
|
+
}
|
|
4463
|
+
function MessageScrollerViewport({
|
|
4464
|
+
className,
|
|
4465
|
+
...props
|
|
4466
|
+
}) {
|
|
4467
|
+
return /* @__PURE__ */ jsx(
|
|
4468
|
+
MessageScroller$1.Viewport,
|
|
4469
|
+
{
|
|
4470
|
+
"data-slot": "message-scroller-viewport",
|
|
4471
|
+
className: cn(
|
|
4472
|
+
"size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-none",
|
|
4473
|
+
className
|
|
4474
|
+
),
|
|
4475
|
+
...props
|
|
4476
|
+
}
|
|
4477
|
+
);
|
|
4478
|
+
}
|
|
4479
|
+
function MessageScrollerContent({
|
|
4480
|
+
className,
|
|
4481
|
+
...props
|
|
4482
|
+
}) {
|
|
4483
|
+
return /* @__PURE__ */ jsx(
|
|
4484
|
+
MessageScroller$1.Content,
|
|
4485
|
+
{
|
|
4486
|
+
"data-slot": "message-scroller-content",
|
|
4487
|
+
className: cn("flex h-max min-h-full flex-col gap-8", className),
|
|
4488
|
+
...props
|
|
4489
|
+
}
|
|
4490
|
+
);
|
|
4491
|
+
}
|
|
4492
|
+
function MessageScrollerItem({
|
|
4493
|
+
className,
|
|
4494
|
+
scrollAnchor = false,
|
|
4495
|
+
...props
|
|
4496
|
+
}) {
|
|
4497
|
+
return /* @__PURE__ */ jsx(
|
|
4498
|
+
MessageScroller$1.Item,
|
|
4499
|
+
{
|
|
4500
|
+
"data-slot": "message-scroller-item",
|
|
4501
|
+
scrollAnchor,
|
|
4502
|
+
className: cn(
|
|
4503
|
+
"min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]",
|
|
4504
|
+
className
|
|
4505
|
+
),
|
|
4506
|
+
...props
|
|
4507
|
+
}
|
|
4508
|
+
);
|
|
4509
|
+
}
|
|
4510
|
+
function MessageScrollerButton({
|
|
4511
|
+
direction = "end",
|
|
4512
|
+
className,
|
|
4513
|
+
children,
|
|
4514
|
+
render,
|
|
4515
|
+
variant = "secondary",
|
|
4516
|
+
size = "icon",
|
|
4517
|
+
...props
|
|
4518
|
+
}) {
|
|
4519
|
+
return /* @__PURE__ */ jsx(
|
|
4520
|
+
MessageScroller$1.Button,
|
|
4521
|
+
{
|
|
4522
|
+
"data-slot": "message-scroller-button",
|
|
4523
|
+
"data-direction": direction,
|
|
4524
|
+
"data-variant": variant,
|
|
4525
|
+
"data-size": size,
|
|
4526
|
+
direction,
|
|
4527
|
+
className: cn(
|
|
4528
|
+
"absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180",
|
|
4529
|
+
className
|
|
4530
|
+
),
|
|
4531
|
+
render: render ?? /* @__PURE__ */ jsx(Button, { variant, size }),
|
|
4532
|
+
...props,
|
|
4533
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4534
|
+
/* @__PURE__ */ jsx(ArrowDownIcon, {}),
|
|
4535
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: direction === "end" ? "Ir al final" : "Ir al inicio" })
|
|
4536
|
+
] })
|
|
4537
|
+
}
|
|
4538
|
+
);
|
|
4539
|
+
}
|
|
4540
|
+
function initials(name) {
|
|
4541
|
+
return name.split(/\s+/).filter(Boolean).slice(0, 2).map((p) => p[0]?.toUpperCase() ?? "").join("");
|
|
4542
|
+
}
|
|
4543
|
+
function ChatMessageList({
|
|
4544
|
+
messages,
|
|
4545
|
+
currentUserId,
|
|
4546
|
+
emptyTitle = "Sin mensajes",
|
|
4547
|
+
emptyDescription = "Escribe para iniciar la conversaci\xF3n."
|
|
4548
|
+
}) {
|
|
4549
|
+
if (messages.length === 0) {
|
|
4550
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-2 p-6 text-center", children: [
|
|
4551
|
+
/* @__PURE__ */ jsx(MessageCircleDashedIcon, { className: "size-8 text-muted-foreground" }),
|
|
4552
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: emptyTitle }),
|
|
4553
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: emptyDescription })
|
|
4554
|
+
] });
|
|
4555
|
+
}
|
|
4556
|
+
return /* @__PURE__ */ jsx(MessageScrollerProvider, { autoScroll: true, children: /* @__PURE__ */ jsxs(MessageScroller, { children: [
|
|
4557
|
+
/* @__PURE__ */ jsx(MessageScrollerViewport, { children: /* @__PURE__ */ jsx(MessageScrollerContent, { className: "gap-4 p-4", children: messages.map((m) => {
|
|
4558
|
+
const mine = Boolean(currentUserId) && m.senderId === currentUserId;
|
|
4559
|
+
const align = mine ? "end" : "start";
|
|
4560
|
+
return /* @__PURE__ */ jsx(MessageScrollerItem, { scrollAnchor: mine, children: m.deleted ? /* @__PURE__ */ jsx(Marker, { variant: "separator", children: /* @__PURE__ */ jsxs(MarkerContent, { children: [
|
|
4561
|
+
"Mensaje eliminado \xB7 ",
|
|
4562
|
+
m.senderName
|
|
4563
|
+
] }) }) : /* @__PURE__ */ jsxs(Message, { align, children: [
|
|
4564
|
+
!mine ? /* @__PURE__ */ jsx(MessageAvatar, { children: /* @__PURE__ */ jsx("span", { className: "flex size-8 items-center justify-center rounded-full bg-muted text-xs font-medium text-muted-foreground", children: initials(m.senderName) }) }) : null,
|
|
4565
|
+
/* @__PURE__ */ jsxs(MessageContent, { children: [
|
|
4566
|
+
!mine ? /* @__PURE__ */ jsx(MessageHeader, { children: m.senderName }) : null,
|
|
4567
|
+
/* @__PURE__ */ jsx(
|
|
4568
|
+
Bubble,
|
|
4569
|
+
{
|
|
4570
|
+
variant: mine ? "default" : "muted",
|
|
4571
|
+
align,
|
|
4572
|
+
children: /* @__PURE__ */ jsx(BubbleContent, { children: m.body })
|
|
4573
|
+
}
|
|
4574
|
+
),
|
|
4575
|
+
/* @__PURE__ */ jsx(MessageFooter, { children: new Date(m.createdAt).toLocaleString("es-MX") })
|
|
4576
|
+
] })
|
|
4577
|
+
] }) }, m.id);
|
|
4578
|
+
}) }) }),
|
|
4579
|
+
/* @__PURE__ */ jsx(MessageScrollerButton, {})
|
|
4580
|
+
] }) });
|
|
4581
|
+
}
|
|
4206
4582
|
|
|
4207
|
-
export { AvatarEditor, AvatarEditorDialog, EmojiPicker, EmojiPickerPopover, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, EmptyTitle, ErrorState, LanguageContext, LanguageSwitcher, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, MexicoMap, OrgSwitcher, PhoneInput, SearchCommand, ThemeSwitcher, VerifiedProfessionalBadge, VideoPlayer, cn, createLiveHlsConfig, createVodHlsConfig, defaultLanguages, describePlaybackError, fuzzyMatch, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, usePlaybackStats, useSearchHotkey };
|
|
4583
|
+
export { AvatarEditor, AvatarEditorDialog, Bubble, BubbleContent, BubbleGroup, BubbleReactions, ChatMessageList, EmojiPicker, EmojiPickerPopover, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, EmptyTitle, ErrorState, LanguageContext, LanguageSwitcher, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, OrgSwitcher, PhoneInput, SearchCommand, ThemeSwitcher, VerifiedProfessionalBadge, VideoPlayer, bubbleVariants, cn, createLiveHlsConfig, createVodHlsConfig, defaultLanguages, describePlaybackError, fuzzyMatch, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, usePlaybackStats, useSearchHotkey };
|
|
4208
4584
|
//# sourceMappingURL=index.js.map
|
|
4209
4585
|
//# sourceMappingURL=index.js.map
|