@sesionario/blocks 1.15.0 → 1.16.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/dist/index.d.cts CHANGED
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- import { ReactNode } from 'react';
2
+ import { ReactNode, RefObject, CSSProperties } from 'react';
3
3
  import { LucideIcon } from 'lucide-react';
4
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
5
  import { VariantProps } from 'class-variance-authority';
6
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
6
7
  import * as PopoverPrimitive from '@radix-ui/react-popover';
7
8
  import { HlsConfig, RetryConfig, LoaderResponse } from 'hls.js';
8
9
  import * as RPNInput from 'react-phone-number-input';
@@ -245,7 +246,7 @@ type LanguageSwitcherProps = {
245
246
  declare function LanguageSwitcher({ languages: propLanguages, currentLanguage: propCurrentLanguage, onLanguageChange: propOnLanguageChange, labels, className, size, shape, variant, showIcon, align, side, }: LanguageSwitcherProps): React.JSX.Element;
246
247
 
247
248
  type PlatformNavbarProps = {
248
- /** Brand mark (isotype). Typically a link to the current app home. */
249
+ /** Brand mark (isotype). Typically a link to the member app home. */
249
250
  logo: ReactNode;
250
251
  /** Optional control before the center (e.g. SidebarTrigger). */
251
252
  leading?: ReactNode;
@@ -300,7 +301,9 @@ type PlatformAccountMenuLabels = {
300
301
  personalProfile: string;
301
302
  activity: string;
302
303
  professionalProfile: string;
304
+ /** @deprecated Unused; kept so apps can pass labels without breaking. */
303
305
  mainApp: string;
306
+ /** @deprecated Unused; kept so apps can pass labels without breaking. */
304
307
  orgManagement: string;
305
308
  backoffice: string;
306
309
  memberOrgs: string;
@@ -333,13 +336,29 @@ type PlatformAccountMenuProps = {
333
336
  onSignOut?: () => void | Promise<void>;
334
337
  /** Optional extra items after the primary links (before language/theme). */
335
338
  extraItems?: ReactNode;
339
+ /**
340
+ * Custom trigger (e.g. sidebar user button). When omitted, uses the
341
+ * default avatar (signed-in) or settings cog (guest).
342
+ */
343
+ trigger?: ReactNode;
344
+ /** Dropdown content side (sidebar menus typically open to the right). */
345
+ contentSide?: "top" | "right" | "bottom" | "left";
346
+ contentAlign?: "start" | "center" | "end";
347
+ contentSideOffset?: number;
348
+ contentClassName?: string;
336
349
  className?: string;
337
350
  };
338
351
  /**
339
352
  * Cross-app account / settings menu. Guest trigger is a settings cog;
340
353
  * signed-in trigger is the user avatar.
341
354
  */
342
- declare function PlatformAccountMenu({ variant, isPending, user, isAdmin, verificationStatus, urls, memberOrgs, manageableOrgs, languages, currentLanguage, onLanguageChange, labels: labelsProp, onSignOut, extraItems, className, }: PlatformAccountMenuProps): React.JSX.Element;
355
+ declare function PlatformAccountMenu({ variant, isPending, user, isAdmin, verificationStatus, urls, memberOrgs, manageableOrgs, languages, currentLanguage, onLanguageChange, labels: labelsProp, onSignOut, extraItems, trigger: triggerProp, contentSide, contentAlign, contentSideOffset, contentClassName, className, }: PlatformAccountMenuProps): React.JSX.Element;
356
+
357
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
358
+ inset?: boolean;
359
+ variant?: "default" | "destructive";
360
+ }): React.JSX.Element;
361
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
343
362
 
344
363
  interface AvatarEditorProps {
345
364
  /** Current cropped image as data URL (controlled) */
@@ -740,6 +759,20 @@ declare function useDebouncedValueStrict<T>(value: T, delayMs: number): T | unde
740
759
 
741
760
  declare function useMediaQuery(query: string): boolean;
742
761
 
762
+ type ScrollFadeXEdges = {
763
+ canScrollLeft: boolean;
764
+ canScrollRight: boolean;
765
+ };
766
+ /**
767
+ * Edge-aware horizontal scroll fade: returns a ref + CSS vars for
768
+ * `scroll-fade-x-edges` (transparent = show fade on that edge).
769
+ */
770
+ declare function useScrollFadeXEdges(enabled?: boolean): {
771
+ scrollerRef: RefObject<HTMLDivElement | null>;
772
+ fadeStyle: CSSProperties;
773
+ edges: ScrollFadeXEdges;
774
+ };
775
+
743
776
  interface UseSearchHotkeyOptions {
744
777
  /** Initial open state. Defaults to `false`. */
745
778
  defaultOpen?: boolean;
@@ -1221,4 +1254,4 @@ declare function useRealtimeChannel({ getWsUrl, onEvent, enabled, reconnectDelay
1221
1254
 
1222
1255
  declare function cn(...inputs: ClassValue[]): string;
1223
1256
 
1224
- export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, Bubble, BubbleContent, BubbleGroup, BubbleReactions, type ChatListMessage, ChatMessageList, type ChatMessageListProps, ConfirmDestructiveDialog, type ConfirmDestructiveDialogProps, type ConversationKind, type DescribedPlaybackError, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiInput, type EmojiInputProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, EmojiTextarea, type EmojiTextareaProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, ExpandableText, type ExpandableTextProps, type FeatureEntry, type FindOrCreateConversationInput, type HlsPlayerMode, ImageLightbox, type ImageLightboxLabels, type ImageLightboxProps, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageComposer, type MessageComposerProps, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, type OpenThreadRequest, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, PlatformAccountMenu, type PlatformAccountMenuLabels, type PlatformAccountMenuOrg, type PlatformAccountMenuProps, type PlatformAccountMenuUrls, type PlatformAccountMenuUser, type PlatformAccountMenuVariant, PlatformNavbar, type PlatformNavbarProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, type RealtimeEvent, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, SearchablePicker, type SearchablePickerCreateOption, type SearchablePickerLabels, type SearchablePickerMultipleProps, type SearchablePickerPinned, type SearchablePickerProps, type SearchablePickerSingleProps, type SupportChatClient, type SupportConversation, type SupportMessage, type SupportMessengerItem, type SupportMessengerLabels, SupportMessengerProvider, type SupportMessengerProviderProps, type SupportMessengerTab, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseRealtimeChannelOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, type UseSupportConversationOptions, type UseSupportConversationResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, bubbleVariants, cn, createLiveHlsConfig, createSupportChatClient, createVodHlsConfig, defaultLanguages, describeAvResync, describePlaybackError, fuzzyMatch, insertAtCaret, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, useMediaQuery, usePlaybackStats, useRealtimeChannel, useSearchHotkey, useSupportConversation, useSupportMessenger, useSupportMessengerOptional };
1257
+ export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, Bubble, BubbleContent, BubbleGroup, BubbleReactions, type ChatListMessage, ChatMessageList, type ChatMessageListProps, ConfirmDestructiveDialog, type ConfirmDestructiveDialogProps, type ConversationKind, type DescribedPlaybackError, DropdownMenuItem, DropdownMenuSeparator, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiInput, type EmojiInputProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, EmojiTextarea, type EmojiTextareaProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, ExpandableText, type ExpandableTextProps, type FeatureEntry, type FindOrCreateConversationInput, type HlsPlayerMode, ImageLightbox, type ImageLightboxLabels, type ImageLightboxProps, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageComposer, type MessageComposerProps, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, type OpenThreadRequest, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, PlatformAccountMenu, type PlatformAccountMenuLabels, type PlatformAccountMenuOrg, type PlatformAccountMenuProps, type PlatformAccountMenuUrls, type PlatformAccountMenuUser, type PlatformAccountMenuVariant, PlatformNavbar, type PlatformNavbarProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, type RealtimeEvent, type ScrollFadeXEdges, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, SearchablePicker, type SearchablePickerCreateOption, type SearchablePickerLabels, type SearchablePickerMultipleProps, type SearchablePickerPinned, type SearchablePickerProps, type SearchablePickerSingleProps, type SupportChatClient, type SupportConversation, type SupportMessage, type SupportMessengerItem, type SupportMessengerLabels, SupportMessengerProvider, type SupportMessengerProviderProps, type SupportMessengerTab, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseRealtimeChannelOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, type UseSupportConversationOptions, type UseSupportConversationResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, bubbleVariants, cn, createLiveHlsConfig, createSupportChatClient, createVodHlsConfig, defaultLanguages, describeAvResync, describePlaybackError, fuzzyMatch, insertAtCaret, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, useMediaQuery, usePlaybackStats, useRealtimeChannel, useScrollFadeXEdges, useSearchHotkey, useSupportConversation, useSupportMessenger, useSupportMessengerOptional };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- import { ReactNode } from 'react';
2
+ import { ReactNode, RefObject, CSSProperties } from 'react';
3
3
  import { LucideIcon } from 'lucide-react';
4
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
5
  import { VariantProps } from 'class-variance-authority';
6
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
6
7
  import * as PopoverPrimitive from '@radix-ui/react-popover';
7
8
  import { HlsConfig, RetryConfig, LoaderResponse } from 'hls.js';
8
9
  import * as RPNInput from 'react-phone-number-input';
@@ -245,7 +246,7 @@ type LanguageSwitcherProps = {
245
246
  declare function LanguageSwitcher({ languages: propLanguages, currentLanguage: propCurrentLanguage, onLanguageChange: propOnLanguageChange, labels, className, size, shape, variant, showIcon, align, side, }: LanguageSwitcherProps): React.JSX.Element;
246
247
 
247
248
  type PlatformNavbarProps = {
248
- /** Brand mark (isotype). Typically a link to the current app home. */
249
+ /** Brand mark (isotype). Typically a link to the member app home. */
249
250
  logo: ReactNode;
250
251
  /** Optional control before the center (e.g. SidebarTrigger). */
251
252
  leading?: ReactNode;
@@ -300,7 +301,9 @@ type PlatformAccountMenuLabels = {
300
301
  personalProfile: string;
301
302
  activity: string;
302
303
  professionalProfile: string;
304
+ /** @deprecated Unused; kept so apps can pass labels without breaking. */
303
305
  mainApp: string;
306
+ /** @deprecated Unused; kept so apps can pass labels without breaking. */
304
307
  orgManagement: string;
305
308
  backoffice: string;
306
309
  memberOrgs: string;
@@ -333,13 +336,29 @@ type PlatformAccountMenuProps = {
333
336
  onSignOut?: () => void | Promise<void>;
334
337
  /** Optional extra items after the primary links (before language/theme). */
335
338
  extraItems?: ReactNode;
339
+ /**
340
+ * Custom trigger (e.g. sidebar user button). When omitted, uses the
341
+ * default avatar (signed-in) or settings cog (guest).
342
+ */
343
+ trigger?: ReactNode;
344
+ /** Dropdown content side (sidebar menus typically open to the right). */
345
+ contentSide?: "top" | "right" | "bottom" | "left";
346
+ contentAlign?: "start" | "center" | "end";
347
+ contentSideOffset?: number;
348
+ contentClassName?: string;
336
349
  className?: string;
337
350
  };
338
351
  /**
339
352
  * Cross-app account / settings menu. Guest trigger is a settings cog;
340
353
  * signed-in trigger is the user avatar.
341
354
  */
342
- declare function PlatformAccountMenu({ variant, isPending, user, isAdmin, verificationStatus, urls, memberOrgs, manageableOrgs, languages, currentLanguage, onLanguageChange, labels: labelsProp, onSignOut, extraItems, className, }: PlatformAccountMenuProps): React.JSX.Element;
355
+ declare function PlatformAccountMenu({ variant, isPending, user, isAdmin, verificationStatus, urls, memberOrgs, manageableOrgs, languages, currentLanguage, onLanguageChange, labels: labelsProp, onSignOut, extraItems, trigger: triggerProp, contentSide, contentAlign, contentSideOffset, contentClassName, className, }: PlatformAccountMenuProps): React.JSX.Element;
356
+
357
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
358
+ inset?: boolean;
359
+ variant?: "default" | "destructive";
360
+ }): React.JSX.Element;
361
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
343
362
 
344
363
  interface AvatarEditorProps {
345
364
  /** Current cropped image as data URL (controlled) */
@@ -740,6 +759,20 @@ declare function useDebouncedValueStrict<T>(value: T, delayMs: number): T | unde
740
759
 
741
760
  declare function useMediaQuery(query: string): boolean;
742
761
 
762
+ type ScrollFadeXEdges = {
763
+ canScrollLeft: boolean;
764
+ canScrollRight: boolean;
765
+ };
766
+ /**
767
+ * Edge-aware horizontal scroll fade: returns a ref + CSS vars for
768
+ * `scroll-fade-x-edges` (transparent = show fade on that edge).
769
+ */
770
+ declare function useScrollFadeXEdges(enabled?: boolean): {
771
+ scrollerRef: RefObject<HTMLDivElement | null>;
772
+ fadeStyle: CSSProperties;
773
+ edges: ScrollFadeXEdges;
774
+ };
775
+
743
776
  interface UseSearchHotkeyOptions {
744
777
  /** Initial open state. Defaults to `false`. */
745
778
  defaultOpen?: boolean;
@@ -1221,4 +1254,4 @@ declare function useRealtimeChannel({ getWsUrl, onEvent, enabled, reconnectDelay
1221
1254
 
1222
1255
  declare function cn(...inputs: ClassValue[]): string;
1223
1256
 
1224
- export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, Bubble, BubbleContent, BubbleGroup, BubbleReactions, type ChatListMessage, ChatMessageList, type ChatMessageListProps, ConfirmDestructiveDialog, type ConfirmDestructiveDialogProps, type ConversationKind, type DescribedPlaybackError, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiInput, type EmojiInputProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, EmojiTextarea, type EmojiTextareaProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, ExpandableText, type ExpandableTextProps, type FeatureEntry, type FindOrCreateConversationInput, type HlsPlayerMode, ImageLightbox, type ImageLightboxLabels, type ImageLightboxProps, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageComposer, type MessageComposerProps, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, type OpenThreadRequest, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, PlatformAccountMenu, type PlatformAccountMenuLabels, type PlatformAccountMenuOrg, type PlatformAccountMenuProps, type PlatformAccountMenuUrls, type PlatformAccountMenuUser, type PlatformAccountMenuVariant, PlatformNavbar, type PlatformNavbarProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, type RealtimeEvent, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, SearchablePicker, type SearchablePickerCreateOption, type SearchablePickerLabels, type SearchablePickerMultipleProps, type SearchablePickerPinned, type SearchablePickerProps, type SearchablePickerSingleProps, type SupportChatClient, type SupportConversation, type SupportMessage, type SupportMessengerItem, type SupportMessengerLabels, SupportMessengerProvider, type SupportMessengerProviderProps, type SupportMessengerTab, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseRealtimeChannelOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, type UseSupportConversationOptions, type UseSupportConversationResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, bubbleVariants, cn, createLiveHlsConfig, createSupportChatClient, createVodHlsConfig, defaultLanguages, describeAvResync, describePlaybackError, fuzzyMatch, insertAtCaret, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, useMediaQuery, usePlaybackStats, useRealtimeChannel, useSearchHotkey, useSupportConversation, useSupportMessenger, useSupportMessengerOptional };
1257
+ export { type AutoplayState, AvatarEditor, AvatarEditorDialog, type AvatarEditorDialogProps, type AvatarEditorProps, type BlocksLanguage, Bubble, BubbleContent, BubbleGroup, BubbleReactions, type ChatListMessage, ChatMessageList, type ChatMessageListProps, ConfirmDestructiveDialog, type ConfirmDestructiveDialogProps, type ConversationKind, type DescribedPlaybackError, DropdownMenuItem, DropdownMenuSeparator, type EmojiCategoryData, type EmojiCategoryKey, type EmojiDatum, EmojiInput, type EmojiInputProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerLocale, EmojiPickerPopover, type EmojiPickerPopoverProps, type EmojiPickerProps, type EmojiSkinTone, EmojiTextarea, type EmojiTextareaProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, ErrorState, ExpandableText, type ExpandableTextProps, type FeatureEntry, type FindOrCreateConversationInput, type HlsPlayerMode, ImageLightbox, type ImageLightboxLabels, type ImageLightboxProps, type Language, LanguageContext, type LanguageContextValue, LanguageSwitcher, type LanguageSwitcherLabels, type LanguageSwitcherProps, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageComposer, type MessageComposerProps, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, type MexicoMapProps, type MexicoState, type MexicoStateId, type OpenThreadRequest, OrgSwitcher, type OrgSwitcherLabels, type OrgSwitcherProps, type OrgSwitcherTenant, PhoneInput, type PhoneInputProps, PlatformAccountMenu, type PlatformAccountMenuLabels, type PlatformAccountMenuOrg, type PlatformAccountMenuProps, type PlatformAccountMenuUrls, type PlatformAccountMenuUser, type PlatformAccountMenuVariant, PlatformNavbar, type PlatformNavbarProps, type PlaybackErrorContext, type PlaybackErrorDetail, type PlaybackErrorKind, type PlaybackState, type PlaybackStats, type ProfessionalVerificationStatus, type QualityLevel, type RealtimeEvent, type ScrollFadeXEdges, SearchCommand, type SearchCommandLabels, type SearchCommandProps, type SearchCommandSelection, type SearchHit, SearchablePicker, type SearchablePickerCreateOption, type SearchablePickerLabels, type SearchablePickerMultipleProps, type SearchablePickerPinned, type SearchablePickerProps, type SearchablePickerSingleProps, type SupportChatClient, type SupportConversation, type SupportMessage, type SupportMessengerItem, type SupportMessengerLabels, SupportMessengerProvider, type SupportMessengerProviderProps, type SupportMessengerTab, ThemeSwitcher, type ThemeSwitcherLabels, type ThemeSwitcherProps, type UseHlsPlaybackOptions, type UseHlsPlaybackResult, type UsePlaybackStatsOptions, type UseRealtimeChannelOptions, type UseSearchHotkeyOptions, type UseSearchHotkeyResult, type UseSupportConversationOptions, type UseSupportConversationResult, VerifiedProfessionalBadge, type VerifiedProfessionalBadgeProps, VideoPlayer, type VideoPlayerLabels, type VideoPlayerProps, bubbleVariants, cn, createLiveHlsConfig, createSupportChatClient, createVodHlsConfig, defaultLanguages, describeAvResync, describePlaybackError, fuzzyMatch, insertAtCaret, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, useMediaQuery, usePlaybackStats, useRealtimeChannel, useScrollFadeXEdges, useSearchHotkey, useSupportConversation, useSupportMessenger, useSupportMessengerOptional };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import * as React7 from 'react';
3
3
  import { createContext, useContext, useState, useRef, useEffect, useLayoutEffect, useCallback, useId, useMemo } from 'react';
4
- import { ChevronsUpDown, CheckIcon, Smile, SearchIcon, Search, Clock, Flag, Hash, Lightbulb, Trophy, Plane, Apple, Leaf, Hand, Loader2, AlertTriangle, Inbox, X, ChevronLeft, ChevronRight, Monitor, Sun, Moon, Building2, Check, Plus, Languages, BadgeCheck, Settings, User, Activity, LayoutDashboard, Users, LogOut, LogIn, Upload, Move, ZoomOut, ZoomIn, RotateCcw, RotateCw, Grid3X3, RefreshCw, Pencil, Play, AlertCircle, VolumeX, Pause, Volume1, Volume2, PictureInPicture2, Minimize, Maximize, ArrowDownIcon, MessageCircleDashedIcon, MessageCircle, ChevronRightIcon, XIcon, CircleIcon } from 'lucide-react';
4
+ import { ChevronsUpDown, CheckIcon, Smile, SearchIcon, Search, Clock, Flag, Hash, Lightbulb, Trophy, Plane, Apple, Leaf, Hand, Loader2, AlertTriangle, Inbox, X, ChevronLeft, ChevronRight, Monitor, Sun, Moon, Building2, Check, Plus, Languages, BadgeCheck, Settings, User, Activity, Users, LayoutDashboard, LogOut, LogIn, Upload, Move, ZoomOut, ZoomIn, RotateCcw, RotateCw, Grid3X3, RefreshCw, Pencil, Play, AlertCircle, VolumeX, Pause, Volume1, Volume2, PictureInPicture2, Minimize, Maximize, ArrowDownIcon, MessageCircleDashedIcon, MessageCircle, ChevronRightIcon, XIcon, CircleIcon } from 'lucide-react';
5
5
  import { clsx } from 'clsx';
6
6
  import { twMerge } from 'tailwind-merge';
7
7
  import { cva } from 'class-variance-authority';
@@ -1642,6 +1642,53 @@ function LanguageSwitcher({
1642
1642
  }
1643
1643
  );
1644
1644
  }
1645
+ var SCROLL_EDGE_EPSILON_PX = 1;
1646
+ function measureScrollEdges(el) {
1647
+ const { scrollLeft, scrollWidth, clientWidth } = el;
1648
+ return {
1649
+ canScrollLeft: scrollLeft > SCROLL_EDGE_EPSILON_PX,
1650
+ canScrollRight: scrollLeft + clientWidth < scrollWidth - SCROLL_EDGE_EPSILON_PX
1651
+ };
1652
+ }
1653
+ function useScrollFadeXEdges(enabled = true) {
1654
+ const scrollerRef = useRef(null);
1655
+ const [edges, setEdges] = useState({
1656
+ canScrollLeft: false,
1657
+ canScrollRight: false
1658
+ });
1659
+ useEffect(() => {
1660
+ if (!enabled) {
1661
+ setEdges({ canScrollLeft: false, canScrollRight: false });
1662
+ return;
1663
+ }
1664
+ const el = scrollerRef.current;
1665
+ if (!el) return;
1666
+ function updateEdges() {
1667
+ const scroller = scrollerRef.current;
1668
+ if (!scroller) return;
1669
+ const next = measureScrollEdges(scroller);
1670
+ setEdges(
1671
+ (prev) => prev.canScrollLeft === next.canScrollLeft && prev.canScrollRight === next.canScrollRight ? prev : next
1672
+ );
1673
+ }
1674
+ updateEdges();
1675
+ el.addEventListener("scroll", updateEdges, { passive: true });
1676
+ const resizeObserver = new ResizeObserver(updateEdges);
1677
+ resizeObserver.observe(el);
1678
+ const mutationObserver = new MutationObserver(updateEdges);
1679
+ mutationObserver.observe(el, { childList: true, subtree: true });
1680
+ return () => {
1681
+ el.removeEventListener("scroll", updateEdges);
1682
+ resizeObserver.disconnect();
1683
+ mutationObserver.disconnect();
1684
+ };
1685
+ }, [enabled]);
1686
+ const fadeStyle = {
1687
+ "--scroll-fade-left": edges.canScrollLeft ? "transparent" : "#000",
1688
+ "--scroll-fade-right": edges.canScrollRight ? "transparent" : "#000"
1689
+ };
1690
+ return { scrollerRef, fadeStyle, edges };
1691
+ }
1645
1692
  function PlatformNavbar({
1646
1693
  logo,
1647
1694
  leading,
@@ -1650,6 +1697,8 @@ function PlatformNavbar({
1650
1697
  className,
1651
1698
  innerClassName
1652
1699
  }) {
1700
+ const hasCenter = center != null && center !== false;
1701
+ const { scrollerRef, fadeStyle } = useScrollFadeXEdges(hasCenter);
1653
1702
  return /* @__PURE__ */ jsx(
1654
1703
  "header",
1655
1704
  {
@@ -1668,7 +1717,15 @@ function PlatformNavbar({
1668
1717
  children: [
1669
1718
  /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2", children: logo }),
1670
1719
  leading ? /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2", children: leading }) : null,
1671
- /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1 items-center overflow-x-auto", children: center }),
1720
+ /* @__PURE__ */ jsx(
1721
+ "div",
1722
+ {
1723
+ ref: scrollerRef,
1724
+ className: "flex min-w-0 flex-1 items-center overflow-x-auto scroll-fade-x-edges scrollbar-none",
1725
+ style: fadeStyle,
1726
+ children: center
1727
+ }
1728
+ ),
1672
1729
  right ? /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2", children: right }) : null
1673
1730
  ]
1674
1731
  }
@@ -1840,6 +1897,11 @@ function PlatformAccountMenu({
1840
1897
  labels: labelsProp,
1841
1898
  onSignOut,
1842
1899
  extraItems,
1900
+ trigger: triggerProp,
1901
+ contentSide,
1902
+ contentAlign = "end",
1903
+ contentSideOffset,
1904
+ contentClassName,
1843
1905
  className
1844
1906
  }) {
1845
1907
  const labels = { ...defaultLabels3, ...labelsProp };
@@ -1869,7 +1931,7 @@ function PlatformAccountMenu({
1869
1931
  }
1870
1932
  );
1871
1933
  }
1872
- const trigger = user ? /* @__PURE__ */ jsx(
1934
+ const defaultTrigger = user ? /* @__PURE__ */ jsx(
1873
1935
  Button,
1874
1936
  {
1875
1937
  variant: "ghost",
@@ -1889,129 +1951,129 @@ function PlatformAccountMenu({
1889
1951
  }
1890
1952
  );
1891
1953
  return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
1892
- /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: trigger }),
1893
- /* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", className: "min-w-60 rounded-lg", children: user ? /* @__PURE__ */ jsxs(Fragment, { children: [
1894
- /* @__PURE__ */ jsxs(DropdownMenuLabel, { className: "flex items-center gap-3 p-2 font-normal", children: [
1895
- /* @__PURE__ */ jsx(
1896
- MenuAvatar,
1897
- {
1898
- name: user.name,
1899
- image: user.image,
1900
- sizeClass: "size-9"
1901
- }
1902
- ),
1903
- /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col", children: [
1904
- /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-1.5 truncate text-sm font-medium leading-tight", children: [
1905
- /* @__PURE__ */ jsx("span", { className: "truncate", children: user.name }),
1906
- variant === "platform" ? /* @__PURE__ */ jsx(
1907
- VerifiedProfessionalBadge,
1954
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: triggerProp ?? defaultTrigger }),
1955
+ /* @__PURE__ */ jsx(
1956
+ DropdownMenuContent,
1957
+ {
1958
+ side: contentSide,
1959
+ align: contentAlign,
1960
+ sideOffset: contentSideOffset,
1961
+ className: cn("min-w-60 rounded-lg", contentClassName),
1962
+ children: user ? /* @__PURE__ */ jsxs(Fragment, { children: [
1963
+ /* @__PURE__ */ jsxs(DropdownMenuLabel, { className: "flex items-center gap-3 p-2 font-normal", children: [
1964
+ /* @__PURE__ */ jsx(
1965
+ MenuAvatar,
1908
1966
  {
1909
- status: verificationStatus,
1910
- className: "shrink-0"
1967
+ name: user.name,
1968
+ image: user.image,
1969
+ sizeClass: "size-9"
1911
1970
  }
1912
- ) : null
1913
- ] }),
1914
- /* @__PURE__ */ jsx("span", { className: "truncate text-xs text-muted-foreground leading-tight", children: user.email })
1915
- ] })
1916
- ] }),
1917
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
1918
- variant === "platform" ? /* @__PURE__ */ jsxs(Fragment, { children: [
1919
- /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: accountHref, children: [
1920
- /* @__PURE__ */ jsx(User, { className: "size-4" }),
1921
- labels.personalProfile
1922
- ] }) }),
1923
- /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: activityHref, children: [
1924
- /* @__PURE__ */ jsx(Activity, { className: "size-4" }),
1925
- labels.activity
1926
- ] }) }),
1927
- /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: profileHref, children: [
1928
- /* @__PURE__ */ jsx(User, { className: "size-4" }),
1929
- labels.professionalProfile
1930
- ] }) }),
1931
- /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: urls.appUrl, children: [
1932
- /* @__PURE__ */ jsx(LayoutDashboard, { className: "size-4" }),
1933
- labels.mainApp
1934
- ] }) }),
1935
- /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: urls.adminUrl, children: [
1936
- /* @__PURE__ */ jsx(Building2, { className: "size-4" }),
1937
- labels.orgManagement
1938
- ] }) }),
1939
- isAdmin && urls.backofficeUrl ? /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: urls.backofficeUrl, children: [
1940
- /* @__PURE__ */ jsx(LayoutDashboard, { className: "size-4" }),
1941
- labels.backoffice
1942
- ] }) }) : null,
1943
- memberOrgs.length > 0 ? /* @__PURE__ */ jsxs(DropdownMenuSub, { children: [
1944
- /* @__PURE__ */ jsxs(DropdownMenuSubTrigger, { className: "gap-2", children: [
1945
- /* @__PURE__ */ jsx(Users, { className: "size-4" }),
1946
- labels.memberOrgs
1971
+ ),
1972
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col", children: [
1973
+ /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-1.5 truncate text-sm font-medium leading-tight", children: [
1974
+ /* @__PURE__ */ jsx("span", { className: "truncate", children: user.name }),
1975
+ variant === "platform" ? /* @__PURE__ */ jsx(
1976
+ VerifiedProfessionalBadge,
1977
+ {
1978
+ status: verificationStatus,
1979
+ className: "shrink-0"
1980
+ }
1981
+ ) : null
1982
+ ] }),
1983
+ /* @__PURE__ */ jsx("span", { className: "truncate text-xs text-muted-foreground leading-tight", children: user.email })
1984
+ ] })
1947
1985
  ] }),
1948
- /* @__PURE__ */ jsx(DropdownMenuSubContent, { className: "min-w-48 max-h-64 overflow-y-auto", children: memberOrgs.map((org) => /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsx("a", { href: `${urls.appUrl}/o/${org.slug}`, children: org.name }) }, org.id)) })
1949
- ] }) : null,
1950
- manageableOrgs.length > 0 ? /* @__PURE__ */ jsxs(DropdownMenuSub, { children: [
1951
- /* @__PURE__ */ jsxs(DropdownMenuSubTrigger, { className: "gap-2", children: [
1952
- /* @__PURE__ */ jsx(Building2, { className: "size-4" }),
1953
- labels.managementOrgs
1986
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
1987
+ variant === "platform" ? /* @__PURE__ */ jsxs(Fragment, { children: [
1988
+ /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: accountHref, children: [
1989
+ /* @__PURE__ */ jsx(User, { className: "size-4" }),
1990
+ labels.personalProfile
1991
+ ] }) }),
1992
+ /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: activityHref, children: [
1993
+ /* @__PURE__ */ jsx(Activity, { className: "size-4" }),
1994
+ labels.activity
1995
+ ] }) }),
1996
+ /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: profileHref, children: [
1997
+ /* @__PURE__ */ jsx(User, { className: "size-4" }),
1998
+ labels.professionalProfile
1999
+ ] }) }),
2000
+ memberOrgs.length > 0 ? /* @__PURE__ */ jsxs(DropdownMenuSub, { children: [
2001
+ /* @__PURE__ */ jsxs(DropdownMenuSubTrigger, { className: "gap-2", children: [
2002
+ /* @__PURE__ */ jsx(Users, { className: "size-4" }),
2003
+ labels.memberOrgs
2004
+ ] }),
2005
+ /* @__PURE__ */ jsx(DropdownMenuSubContent, { className: "min-w-48 max-h-64 overflow-y-auto scroll-fade-b", children: memberOrgs.map((org) => /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsx("a", { href: `${urls.appUrl}/o/${org.slug}`, children: org.name }) }, org.id)) })
2006
+ ] }) : null,
2007
+ manageableOrgs.length > 0 ? /* @__PURE__ */ jsxs(DropdownMenuSub, { children: [
2008
+ /* @__PURE__ */ jsxs(DropdownMenuSubTrigger, { className: "gap-2", children: [
2009
+ /* @__PURE__ */ jsx(Building2, { className: "size-4" }),
2010
+ labels.managementOrgs
2011
+ ] }),
2012
+ /* @__PURE__ */ jsx(DropdownMenuSubContent, { className: "min-w-48 max-h-64 overflow-y-auto scroll-fade-b", children: manageableOrgs.map((org) => /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsx(
2013
+ "a",
2014
+ {
2015
+ href: `${urls.adminUrl}/api/auth/org/select?id=${encodeURIComponent(org.id)}`,
2016
+ children: org.name
2017
+ }
2018
+ ) }, org.id)) })
2019
+ ] }) : null,
2020
+ extraItems,
2021
+ isAdmin && urls.backofficeUrl ? /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: urls.backofficeUrl, children: [
2022
+ /* @__PURE__ */ jsx(LayoutDashboard, { className: "size-4" }),
2023
+ labels.backoffice
2024
+ ] }) }) : null,
2025
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {})
2026
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
2027
+ /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: accountHref, children: [
2028
+ /* @__PURE__ */ jsx(Settings, { className: "size-4" }),
2029
+ labels.accountSettings
2030
+ ] }) }),
2031
+ extraItems,
2032
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {})
1954
2033
  ] }),
1955
- /* @__PURE__ */ jsx(DropdownMenuSubContent, { className: "min-w-48 max-h-64 overflow-y-auto", children: manageableOrgs.map((org) => /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsx(
1956
- "a",
2034
+ /* @__PURE__ */ jsx(
2035
+ LanguageThemeSubs,
1957
2036
  {
1958
- href: `${urls.adminUrl}/api/auth/org/select?id=${encodeURIComponent(org.id)}`,
1959
- children: org.name
2037
+ languages,
2038
+ currentLanguage,
2039
+ onLanguageChange,
2040
+ labels
1960
2041
  }
1961
- ) }, org.id)) })
1962
- ] }) : null,
1963
- extraItems,
1964
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {})
1965
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
1966
- /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: accountHref, children: [
1967
- /* @__PURE__ */ jsx(Settings, { className: "size-4" }),
1968
- labels.accountSettings
1969
- ] }) }),
1970
- extraItems,
1971
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {})
1972
- ] }),
1973
- /* @__PURE__ */ jsx(
1974
- LanguageThemeSubs,
1975
- {
1976
- languages,
1977
- currentLanguage,
1978
- onLanguageChange,
1979
- labels
1980
- }
1981
- ),
1982
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
1983
- /* @__PURE__ */ jsxs(
1984
- DropdownMenuItem,
1985
- {
1986
- variant: "destructive",
1987
- className: "gap-2",
1988
- disabled: signingOut || !onSignOut,
1989
- onSelect: (event) => {
1990
- event.preventDefault();
1991
- void handleSignOut();
1992
- },
1993
- children: [
1994
- /* @__PURE__ */ jsx(LogOut, { className: "size-4" }),
1995
- signingOut ? labels.signingOut : labels.signOut
1996
- ]
1997
- }
1998
- )
1999
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
2000
- /* @__PURE__ */ jsx(
2001
- LanguageThemeSubs,
2002
- {
2003
- languages,
2004
- currentLanguage,
2005
- onLanguageChange,
2006
- labels
2007
- }
2008
- ),
2009
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
2010
- /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: loginHref, children: [
2011
- /* @__PURE__ */ jsx(LogIn, { className: "size-4" }),
2012
- labels.signIn
2013
- ] }) })
2014
- ] }) })
2042
+ ),
2043
+ /* @__PURE__ */ jsxs(
2044
+ DropdownMenuItem,
2045
+ {
2046
+ variant: "destructive",
2047
+ className: "gap-2",
2048
+ disabled: signingOut || !onSignOut,
2049
+ onSelect: (event) => {
2050
+ event.preventDefault();
2051
+ void handleSignOut();
2052
+ },
2053
+ children: [
2054
+ /* @__PURE__ */ jsx(LogOut, { className: "size-4" }),
2055
+ signingOut ? labels.signingOut : labels.signOut
2056
+ ]
2057
+ }
2058
+ )
2059
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
2060
+ /* @__PURE__ */ jsx(
2061
+ LanguageThemeSubs,
2062
+ {
2063
+ languages,
2064
+ currentLanguage,
2065
+ onLanguageChange,
2066
+ labels
2067
+ }
2068
+ ),
2069
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
2070
+ /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, className: "gap-2", children: /* @__PURE__ */ jsxs("a", { href: loginHref, children: [
2071
+ /* @__PURE__ */ jsx(LogIn, { className: "size-4" }),
2072
+ labels.signIn
2073
+ ] }) })
2074
+ ] })
2075
+ }
2076
+ )
2015
2077
  ] });
2016
2078
  }
2017
2079
  function Slider({
@@ -7534,6 +7596,6 @@ function useRealtimeChannel({
7534
7596
  }, [enabled, reconnectDelayMs]);
7535
7597
  }
7536
7598
 
7537
- export { AvatarEditor, AvatarEditorDialog, Bubble, BubbleContent, BubbleGroup, BubbleReactions, ChatMessageList, ConfirmDestructiveDialog, EmojiInput, EmojiPicker, EmojiPickerPopover, EmojiTextarea, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, EmptyTitle, ErrorState, ExpandableText, ImageLightbox, LanguageContext, LanguageSwitcher, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageComposer, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, OrgSwitcher, PhoneInput, PlatformAccountMenu, PlatformNavbar, SearchCommand, SearchablePicker, SupportMessengerProvider, ThemeSwitcher, VerifiedProfessionalBadge, VideoPlayer, avatarFallbackStyle, bubbleVariants, cn, createLiveHlsConfig, createSupportChatClient, createVodHlsConfig, defaultLanguages, describeAvResync, describePlaybackError, fuzzyMatch, getAvatarColors, getInitials, insertAtCaret, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, useMediaQuery2 as useMediaQuery, usePlaybackStats, useRealtimeChannel, useSearchHotkey, useSupportConversation, useSupportMessenger, useSupportMessengerOptional };
7599
+ export { AvatarEditor, AvatarEditorDialog, Bubble, BubbleContent, BubbleGroup, BubbleReactions, ChatMessageList, ConfirmDestructiveDialog, DropdownMenuItem, DropdownMenuSeparator, EmojiInput, EmojiPicker, EmojiPickerPopover, EmojiTextarea, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, EmptyTitle, ErrorState, ExpandableText, ImageLightbox, LanguageContext, LanguageSwitcher, LoadingState, MEXICO_STATES, MEXICO_STATE_PATHS, Marker, MarkerContent, MarkerIcon, Message, MessageAvatar, MessageComposer, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MexicoMap, OrgSwitcher, PhoneInput, PlatformAccountMenu, PlatformNavbar, SearchCommand, SearchablePicker, SupportMessengerProvider, ThemeSwitcher, VerifiedProfessionalBadge, VideoPlayer, avatarFallbackStyle, bubbleVariants, cn, createLiveHlsConfig, createSupportChatClient, createVodHlsConfig, defaultLanguages, describeAvResync, describePlaybackError, fuzzyMatch, getAvatarColors, getInitials, insertAtCaret, markerVariants, normalizeEmojiQuery, shouldRetryLiveEdge404, useDebouncedValue, useDebouncedValueStrict, useHlsPlayback, useLanguageContext, useMediaQuery2 as useMediaQuery, usePlaybackStats, useRealtimeChannel, useScrollFadeXEdges, useSearchHotkey, useSupportConversation, useSupportMessenger, useSupportMessengerOptional };
7538
7600
  //# sourceMappingURL=index.js.map
7539
7601
  //# sourceMappingURL=index.js.map