@digilogiclabs/saas-factory-ui 2.2.0 → 2.3.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.
@@ -5146,7 +5146,13 @@ declare function TiltCard({ accent, accentSecondary, topLabel, icon, title, subt
5146
5146
  * server-side randomizer for visual feedback only.
5147
5147
  *
5148
5148
  * Features:
5149
- * - 1 to 6 dice, each a full 3D cube (six faces, CSS transforms)
5149
+ * - 1 to 6 dice; d6 renders as a full 3D cube (six faces, CSS
5150
+ * transforms, standard layout — opposite faces sum to 7); d4/d8/
5151
+ * d10/d12/d20 render as themed polyhedron silhouettes with numerals
5152
+ * - Displayed face is structurally guaranteed to match the recorded
5153
+ * value: the d6 landing rotation is DERIVED as the inverse of the
5154
+ * face placement (one source of truth), and non-cube dice render
5155
+ * their settled numeral directly from the rolled value
5150
5156
  * - Multi-body simulation: dice bounce off arena walls AND each other
5151
5157
  * - Theme presets + fully custom theme objects
5152
5158
  * - Auto dark-mode detection (follows the `.dark` class on `<html>`,
@@ -5190,10 +5196,17 @@ interface DiceCustomTheme {
5190
5196
  }
5191
5197
  type DiceTheme = DiceThemePreset | DiceCustomTheme;
5192
5198
  type DiceCount = 1 | 2 | 3 | 4 | 5 | 6;
5199
+ type DiceSides = 4 | 6 | 8 | 10 | 12 | 20;
5193
5200
  type DiceTrigger = "button" | "click" | "external";
5194
5201
  interface DiceRollerProps {
5195
5202
  /** Number of dice. Default 2. Max 6. */
5196
5203
  count?: DiceCount;
5204
+ /**
5205
+ * Die type — faces per die. Default 6 (pipped 3D cube). Other values
5206
+ * render a polyhedron silhouette (d4 triangle, d8 diamond, d10 kite,
5207
+ * d12 pentagon, d20 hexagon) with a numeral face. Values roll 1..sides.
5208
+ */
5209
+ sides?: DiceSides;
5197
5210
  /** Theme preset name or a custom theme object. Default 'red'. */
5198
5211
  theme?: DiceTheme;
5199
5212
  /**
@@ -5244,7 +5257,33 @@ interface DiceRollerProps {
5244
5257
  /** Accessible label for the arena. */
5245
5258
  ariaLabel?: string;
5246
5259
  }
5247
- declare function DiceRoller({ count, theme, darkMode, size, minSize, responsive, autoRoll, onRoll, trigger, label, iconEmoji, showHistory, historyMax, rollRef, arenaHeight: arenaHeightProp, hideResults, className, style, ariaLabel, }: DiceRollerProps): ReactNode;
5260
+ /**
5261
+ * How each value's face is placed on the d6 cube — the SINGLE source of
5262
+ * truth for both the face transforms and the landing rotations. Standard
5263
+ * western die layout: opposite faces sum to 7 (1↔6, 2↔5, 3↔4).
5264
+ *
5265
+ * Every placement is a single-axis rotation (at most one of x/y nonzero),
5266
+ * so the landing rotation that brings face v to the viewer is simply the
5267
+ * inverse — see `d6LandingRotation`. Deriving instead of hand-pairing is
5268
+ * what makes a face/result mismatch structurally impossible (values 3 and
5269
+ * 4 were hand-swapped until 2.2.1).
5270
+ *
5271
+ * Exported for tests.
5272
+ */
5273
+ declare const D6_FACE_PLACEMENTS: Record<number, {
5274
+ x: number;
5275
+ y: number;
5276
+ }>;
5277
+ /**
5278
+ * Landing rotation for a rolled d6 value: the inverse of that face's
5279
+ * placement rotation (negation per axis; ±180° is its own inverse).
5280
+ * Exported for tests.
5281
+ */
5282
+ declare function d6LandingRotation(value: number): {
5283
+ x: number;
5284
+ y: number;
5285
+ };
5286
+ declare function DiceRoller({ count, sides, theme, darkMode, size, minSize, responsive, autoRoll, onRoll, trigger, label, iconEmoji, showHistory, historyMax, rollRef, arenaHeight: arenaHeightProp, hideResults, className, style, ariaLabel, }: DiceRollerProps): ReactNode;
5248
5287
  declare namespace DiceRoller {
5249
5288
  var displayName: string;
5250
5289
  }
@@ -6902,4 +6941,4 @@ declare class OptimizedStateManager {
6902
6941
  }
6903
6942
  declare const stateManager: OptimizedStateManager;
6904
6943
 
6905
- export { ANIMATION_DURATION, Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, type ActivityType, type AdvancedAudioTrack, AdvancedPlayer, type AdvancedPlayerProps, Alert, AlertDescription, AlertTitle, AnalyticsDashboard, AnimatedSectionTitle, type AnimatedSectionTitleProps, type AnimationTokens, Breadcrumbs as AppBreadcrumbs, AppShell, AudioFeed, type AudioFeedProps, AudioPlayer, type AudioPlayerProps, SearchWithFilters as AudioSearch, type AudioTrack, type AudioTrackCardData, AuthLayout, Avatar, AvatarFallback, AvatarImage, Badge, BarChart, type BarChart3IconBand, type BarChartProps, type BaseAccordionItemProps, type BaseAccordionProps, type BaseBreadcrumbsProps, type BaseChartProps, type BaseComponentProps, type BaseEmptyStateProps, type BaseSliderProps, type BaseSwitchProps, type BaseTextareaProps, type BaseTheme, type BorderRadiusScale, BracketGenerator, type BracketGeneratorProps, type BracketMatch, type BracketMatchRenderContext, type BracketParticipant, type BracketResumeMatch, type BracketSeedingStrategy, type BracketSize, type BracketState, type BracketThemeColors, type BracketThemePreset, BrandLoader, type BrandLoaderGradient, type BrandLoaderMode, type BrandLoaderPath, type BrandLoaderProps, type BreadcrumbItem$1 as BreadcrumbItem, Breadcrumbs$1 as Breadcrumbs, type BreadcrumbsProps$1 as BreadcrumbsProps, type BugReportPayload, BugReporter, type BugReporterProps, Button, type ButtonVariants, type CTAAction, CTACluster, type CTAClusterProps, type CacheStrategy, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chart, type ChartDataPoint$1 as ChartDataPoint, type ChartProps, type ChartSeries, Checkbox, type CoinCustomTheme, CoinFlipper, type CoinFlipperProps, type CoinResult, type CoinTheme, type CoinThemePreset, type CoinTrigger, CollaborativePlaylist, type CollaborativePlaylistData, type CollaborativePlaylistProps, type Collaborator, type CollaboratorRole, type Column$1 as Column, CommandPalette, type Comment, type CommentData, CommentSystem, type CommentSystemProps, type CommentUser, type ComponentProps, type ComponentSize, type ComponentVariant, Container$1 as Container, ConversionKPI, type CrossfadeMode, DashboardGrid, DashboardLayout, DashboardWidget, type DashboardWidgetProps, DataGrid, type DataGridProps, type DataItem, DataTable, type Column as DataTableColumn, type DataTableProps, type DateFilter, type Delimiter, Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, type DiceCount, type DiceCustomTheme, DiceRoller, type DiceRollerProps, type DiceTheme, type DiceThemePreset, type DiceTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, type DurationFilter, DynamicHeroBanner, EmptyState, type EmptyStateProps, EnhancedScrollToTop, type EnhancedScrollToTopProps, type EnvConfig, ErrorAnimation, ErrorBoundary, type ErrorBoundaryProps, ErrorFallback, type ErrorFallbackProps, type ExportOptions, type ExportService, FLOW_TREE_CSS, FLOW_TREE_ICON_NAMES, FeatureGrid, type FeatureGridProps, FeatureHighlight, type FeatureItem, type FeedFilter, type FeedItem, type FeedSortOrder, type FeedbackCategory, FilterChip, type FilterChipProps, type FilterConfig, FilterableGrid, type FilterableGridApplyMode, type FilterableGridCategory, type FilterableGridCategoryNavProps, type FilterableGridFilter, type FilterableGridFilterOption, type FilterableGridLabels, type FilterableGridLayout, type FilterableGridProps, type FilterableGridQuickTab, type FilterableGridRenderCardContext, type FilterableGridSectionOrder, type FilterableGridSort, type FilterableGridState, FixedAudioBar, type FixedAudioBarProps, FlowTree, type FlowTreeAction, type FlowTreeDetail, FlowTreeIcon, type FlowTreeIconName, type FlowTreeIconProps, type FlowTreeIconValue, type FlowTreeImageIcon, type FlowTreeLayoutOptions, type FlowTreeMetaRow, type FlowTreeNode, type FlowTreeProps, type FlowTreeTier, Form, FormBuilder, type FormBuilderProps, FormDescription, type FormField, FormGroup, FormLabel, FormMessage, FormProgress, type FormProps, type FormSchema, FormSection, GameTimer, type GameTimerCustomTheme, type GameTimerHandle, type GameTimerLap, type GameTimerMode, type GameTimerProps, type GameTimerTheme, type GameTimerThemePreset, type GenreFilter, type GlassmorphismTokens, GradientBorderCard, type GradientBorderCardProps, Grid$1 as Grid, GridItem, HamburgerIcon, type HamburgerIconProps, Header, HeaderActions, HeaderBrand, HeaderContainer, HeaderDesktopNav, HeaderMobileTrigger, HeaderNavLink, Hero, type HeroBannerCta, type HeroBannerCtaVariant, type HeroBannerCustomTheme, type HeroBannerImageFilter, type HeroBannerMouseEffect, type HeroBannerProps, type HeroBannerSlide, type HeroBannerStat, type HeroBannerStatsBackground, type HeroBannerStatsLayout, type HeroBannerStatsPosition, type HeroBannerStatsSize, type HeroBannerTextAlign, type HeroBannerThemePreset, type HeroBannerTransition, HeroCTA, HeroContent, type HeroProps, HeroSubtitle, HeroTitle, ImageCropDropZone, type ImageCropDropZoneProps, type ImageCropFormat, ImageCropModal, type ImageCropModalProps, type ImageCropOutput, ImageCropper, type ImageCropperHandle, type ImageCropperProps, InfoAnimation, Input, type InputVariants, type IntersectionObserverOptions, KPIDashboard, type KPIData, KPIWidget, type KPIWidgetProps, Label, LavaLamp, type LavaLampProps, LazyImage, type LazyImagePlaceholder, type LazyImageProps, LineChart, type LineChartProps, type LoadingOverlayApi, type LoadingOverlayContextValue, LoadingOverlayProvider, type LoadingOverlayProviderProps, LoadingSpinner, LogoCloud, type LogoCloudProps, type LogoItem, MobileContainer, type MobileContainerProps, MobileContent, MobileEmailInput, MobileForm, MobileFormActions, MobileFormField, MobileFormGroup, type MobileFormProps, MobileFormSection, MobileGrid, MobileHero, type MobileHeroProps, MobileNavButton, MobileNavContent, MobileNavDrawer, MobileNavFooter, MobileNavHeader, MobileNavLink, MobileNavOverlay, MobileNavTrigger, MobileNavigation, MobileOTPInput, MobilePage, MobilePhoneInput, MobileSection, MobileSticky, Modal, type NativeComponentProps, Container as NativeContainer, Grid as NativeGrid, Section as NativeSection, type NativeStyle, Pagination as NavigationPagination, Stepper as NavigationStepper, Tabs as NavigationTabs, NetworkAwareContent, type NetworkAwareContentProps, type NetworkInfo, type NetworkSpeed, type NetworkType, NewsTicker, type NewsTickerFilter, type NewsTickerFilterOption, type NewsTickerProps, type NewsTickerSort, NotificationCenter, type NotificationCenterProps, type NotificationItem, type NotificationType, type NotificationUser, TrackCard as NowPlayingCard, OSS_LOGO_GRADIENT, OSS_LOGO_PATHS, OSS_LOGO_TRANSFORM, OSS_LOGO_VIEWBOX, OfflineWrapper, type OfflineWrapperProps, Onboarding, OptimizedStateManager, type OptimizedStoreOptions, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PageTransition, type PageTransitionDirection, type PageTransitionProps, type PageTransitionType, Pagination$1 as Pagination, type PaginationConfig, PaginationInfo, type PaginationInfoProps, type PaginationProps$1 as PaginationProps, type ParseRosterOptions, type ParsedTable, type PerformanceMetrics, type PieChartProps, PillToggle, type PillToggleMultiProps, type PillToggleOption, type PillToggleProps, type PillToggleSingleProps, Platform, type PlatformConfig, type PlatformSelect, type PlatformSelectMultiple, type PlatformType, type PlaybackQuality, type PlaybackState, type PlaylistActivity, PlaylistBuilder, type PlaylistBuilderProps, PlaylistBuilder as PlaylistCard, type PlaylistData, PlaylistBuilder as PlaylistSidebar, type PlaylistTrack, type PlaylistVisibility, Preloader, type PreloaderProps, PremiumCard, PremiumCardContent, PremiumCardFooter, PremiumCardHeader, type PremiumCardProps, PricingHero, type PricingHeroProps, type PricingPlan, Progress, ProgressiveImage, type ProgressiveImageProps, type ProgressiveImageStrategy, type ProgressiveImageTransition, PullToRefresh, type PullToRefreshProps, PulseIndicator, type PulseIndicatorProps, type PulseStatus, QuickForm, ROSTER_IMPORT_MAX_BYTES, type RandomPlayerIntensity, type RandomPlayerMode, type RandomPlayerParticipant, RandomPlayerPicker, type RandomPlayerPickerProps, type RandomPlayerPlaceholderMode, type RandomPlayerTheme, type RandomPlayerThemeColors, type RandomPlayerThemePreset, type RandomPlayerTrigger, type RefreshState, type RepeatMode, type ResponsiveColumns, ResponsiveFlex, ResponsiveGrid, type ResponsiveGridProps, ResponsiveHeader, type ResponsiveHeaderProps, RevenueKPI, RosterFileTooLargeError, RosterImport, type RosterImportLabels, type RosterImportProps, type RoundRobinCustomTheme, type RoundRobinLabels, type RoundRobinMatchup, type RoundRobinRound, RoundRobinScheduler, type RoundRobinSchedulerProps, type RoundRobinTheme, type RoundRobinThemePreset, SafeAreaWrapper, Scoreboard, type ScoreboardCustomTheme, type ScoreboardLabels, type ScoreboardProps, type ScoreboardRoundSnapshot, type ScoreboardTeam, type ScoreboardTheme, type ScoreboardThemePreset, ScrollProgressBar, type ScrollProgressBarProps, ScrollProgressLine, type ScrollProgressLineProps, ScrollToTop, type ScrollToTopProps, type SearchCategory, type SearchFilters, type SearchResult, type SearchSortBy, type SearchSuggestion, SearchWithFilters, type SearchWithFiltersProps, Section$1 as Section, SectionBlock, type SectionBlockProps, SectionLabel, type SectionLabelProps, SectionTitle, SectionedListEditor, type SectionedListEditorProps, type SectionedListSection, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SelectionConfig, SettingsLayout, type ShareOption, Sidebar, SimpleHero, SimpleResponsiveHeader, type Size, Skeleton, SkeletonAvatar, SkeletonButton, SkeletonCard, SkeletonText, Slider, type SliderProps, type SocialAction, SocialActions, type SocialActionsProps, type SocialLinks, type SortConfig, type SpacingScale, Stack, StepProgress, type StepProgressProps, StepWizard, type StepWizardProps, type StepWizardStep, SuccessAnimation, type SuccessAnimationProps, SuccessCheckmark, type SwipeAction, SwipeableCard, type SwipeableCardProps, Switch, type SwitchProps, THEME_COLORS, type TabItem$1 as TabItem, TabNavigation, type TabNavigationProps, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, type TeamColorSwatch, TeamGenerator, type TeamGeneratorCustomTheme, type TeamGeneratorLabels, type TeamGeneratorProps, type TeamGeneratorTheme, type TeamGeneratorThemePreset, Textarea, type TextareaProps, type Theme, type ThemeColors, ThemeProvider, ThemeToggle, type ThemeToggleProps, TiltCard, type TiltCardAspectRatio, type TiltCardProps, type TiltCardStat, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, ToastIcon, type ToastIconProps, type ToastProps, ToastProvider, ToastTitle, type ToastVariant, ToastViewport, Toaster, Tooltip$1 as Tooltip, TooltipContent, type TooltipProps$1 as TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, TouchInput, type TouchInputProps, Tour, Tooltip as TourTooltip, type Track, TrackCard, type TrackCardProps, AudioFeed as TrackList, type TrendingSection, type TrendingTrack, TrendingTracks, type TrendingTracksProps, type TutorialAction, TutorialEmbed, type TutorialEmbedProps, TutorialGallery, type TutorialGalleryProps, type TutorialMedia, type TutorialMetadata, TutorialSequence, type TutorialSequenceProps, type TutorialStep, type UseIntersectionObserverResult, type UsePerformanceObserverOptions, UserProfile, type UserProfileData, type UserProfileProps, type UserStats, UsersKPI, VARIANT_ICONS, type Variant, type VideoAuthor, type VideoChapter, VideoPlayer, type VideoPlayerProps, type VideoQuality, type VideoSubtitle, type VideoTrack, VirtualScrollList, type VirtualScrollListProps, type VirtualizationConfig, type VirtualizedItem, type VisualizerType, WarningAnimation, type WaveformData, WaveformPlayer, type WaveformPlayerProps, type WebComponentProps, type WebStyle, WelcomeModal, Z_INDEX, accordionVariants, animationPresets, audioAppTabs, audioPlayerVariants, breadcrumbsVariants, cn, commonValidators, containerVariants, contentVariants, createDataStore, createFormStore, createOptimizedStore, cssAnimations, dailyTrendingConfig, detectAuthProvider, detectDelimiter, detectHeader, disableScroll, durations, emptyStateVariants, enableScroll, extractRoster, fadeInOut, formVariants, formatCurrency, formatDate, formatNumber, genreChartsConfigs, getConfig, getEnvInfo, getEnvVar, getScrollbarWidth, gridVariants, hamburgerVariants, headerVariants, heroVariants, inputVariants, isBrowser, isExpo, isNative, isWeb, labelVariants, musicAppTabs, nativeConfig, parseRoster, parseTable, podcastAppTabs, readRosterFile, scaleInOut, slideUp, sliderVariants, stateManager, stickyActionsVariants, switchVariants, textareaVariants, theme, themes, timingFunctions, toast, toastVariants, useAnimationTokens, useCache, useClickOutside, useCustomPerformanceTracking, useDebouncedCallback, useEscapeKey, useGlassmorphism, useInfiniteScroll, useIntersectionObserver, useLazyLoad, useLoadingOverlay, useLoadingOverlayApi, useLoadingOverlayVisible, useLockBody, useMediaQuery, useMobileNavigation, useMounted, useNetworkInfo, useOfflineState, useOptimizedMemo, useOptimizedStoreSelector, usePerformanceObserver, useRenderPerformanceTracking, useTheme, useThrottledCallback, useToast, useVirtualization, useVisibilityTracking, validateEmail, validateEnvConfig, validatePassword, videoPlayerVariants, webAnimations, webConfig, weeklyChartsConfig, withNetworkAware, withPageTransition };
6944
+ export { ANIMATION_DURATION, Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, type ActivityType, type AdvancedAudioTrack, AdvancedPlayer, type AdvancedPlayerProps, Alert, AlertDescription, AlertTitle, AnalyticsDashboard, AnimatedSectionTitle, type AnimatedSectionTitleProps, type AnimationTokens, Breadcrumbs as AppBreadcrumbs, AppShell, AudioFeed, type AudioFeedProps, AudioPlayer, type AudioPlayerProps, SearchWithFilters as AudioSearch, type AudioTrack, type AudioTrackCardData, AuthLayout, Avatar, AvatarFallback, AvatarImage, Badge, BarChart, type BarChart3IconBand, type BarChartProps, type BaseAccordionItemProps, type BaseAccordionProps, type BaseBreadcrumbsProps, type BaseChartProps, type BaseComponentProps, type BaseEmptyStateProps, type BaseSliderProps, type BaseSwitchProps, type BaseTextareaProps, type BaseTheme, type BorderRadiusScale, BracketGenerator, type BracketGeneratorProps, type BracketMatch, type BracketMatchRenderContext, type BracketParticipant, type BracketResumeMatch, type BracketSeedingStrategy, type BracketSize, type BracketState, type BracketThemeColors, type BracketThemePreset, BrandLoader, type BrandLoaderGradient, type BrandLoaderMode, type BrandLoaderPath, type BrandLoaderProps, type BreadcrumbItem$1 as BreadcrumbItem, Breadcrumbs$1 as Breadcrumbs, type BreadcrumbsProps$1 as BreadcrumbsProps, type BugReportPayload, BugReporter, type BugReporterProps, Button, type ButtonVariants, type CTAAction, CTACluster, type CTAClusterProps, type CacheStrategy, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chart, type ChartDataPoint$1 as ChartDataPoint, type ChartProps, type ChartSeries, Checkbox, type CoinCustomTheme, CoinFlipper, type CoinFlipperProps, type CoinResult, type CoinTheme, type CoinThemePreset, type CoinTrigger, CollaborativePlaylist, type CollaborativePlaylistData, type CollaborativePlaylistProps, type Collaborator, type CollaboratorRole, type Column$1 as Column, CommandPalette, type Comment, type CommentData, CommentSystem, type CommentSystemProps, type CommentUser, type ComponentProps, type ComponentSize, type ComponentVariant, Container$1 as Container, ConversionKPI, type CrossfadeMode, D6_FACE_PLACEMENTS, DashboardGrid, DashboardLayout, DashboardWidget, type DashboardWidgetProps, DataGrid, type DataGridProps, type DataItem, DataTable, type Column as DataTableColumn, type DataTableProps, type DateFilter, type Delimiter, Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, type DiceCount, type DiceCustomTheme, DiceRoller, type DiceRollerProps, type DiceSides, type DiceTheme, type DiceThemePreset, type DiceTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, type DurationFilter, DynamicHeroBanner, EmptyState, type EmptyStateProps, EnhancedScrollToTop, type EnhancedScrollToTopProps, type EnvConfig, ErrorAnimation, ErrorBoundary, type ErrorBoundaryProps, ErrorFallback, type ErrorFallbackProps, type ExportOptions, type ExportService, FLOW_TREE_CSS, FLOW_TREE_ICON_NAMES, FeatureGrid, type FeatureGridProps, FeatureHighlight, type FeatureItem, type FeedFilter, type FeedItem, type FeedSortOrder, type FeedbackCategory, FilterChip, type FilterChipProps, type FilterConfig, FilterableGrid, type FilterableGridApplyMode, type FilterableGridCategory, type FilterableGridCategoryNavProps, type FilterableGridFilter, type FilterableGridFilterOption, type FilterableGridLabels, type FilterableGridLayout, type FilterableGridProps, type FilterableGridQuickTab, type FilterableGridRenderCardContext, type FilterableGridSectionOrder, type FilterableGridSort, type FilterableGridState, FixedAudioBar, type FixedAudioBarProps, FlowTree, type FlowTreeAction, type FlowTreeDetail, FlowTreeIcon, type FlowTreeIconName, type FlowTreeIconProps, type FlowTreeIconValue, type FlowTreeImageIcon, type FlowTreeLayoutOptions, type FlowTreeMetaRow, type FlowTreeNode, type FlowTreeProps, type FlowTreeTier, Form, FormBuilder, type FormBuilderProps, FormDescription, type FormField, FormGroup, FormLabel, FormMessage, FormProgress, type FormProps, type FormSchema, FormSection, GameTimer, type GameTimerCustomTheme, type GameTimerHandle, type GameTimerLap, type GameTimerMode, type GameTimerProps, type GameTimerTheme, type GameTimerThemePreset, type GenreFilter, type GlassmorphismTokens, GradientBorderCard, type GradientBorderCardProps, Grid$1 as Grid, GridItem, HamburgerIcon, type HamburgerIconProps, Header, HeaderActions, HeaderBrand, HeaderContainer, HeaderDesktopNav, HeaderMobileTrigger, HeaderNavLink, Hero, type HeroBannerCta, type HeroBannerCtaVariant, type HeroBannerCustomTheme, type HeroBannerImageFilter, type HeroBannerMouseEffect, type HeroBannerProps, type HeroBannerSlide, type HeroBannerStat, type HeroBannerStatsBackground, type HeroBannerStatsLayout, type HeroBannerStatsPosition, type HeroBannerStatsSize, type HeroBannerTextAlign, type HeroBannerThemePreset, type HeroBannerTransition, HeroCTA, HeroContent, type HeroProps, HeroSubtitle, HeroTitle, ImageCropDropZone, type ImageCropDropZoneProps, type ImageCropFormat, ImageCropModal, type ImageCropModalProps, type ImageCropOutput, ImageCropper, type ImageCropperHandle, type ImageCropperProps, InfoAnimation, Input, type InputVariants, type IntersectionObserverOptions, KPIDashboard, type KPIData, KPIWidget, type KPIWidgetProps, Label, LavaLamp, type LavaLampProps, LazyImage, type LazyImagePlaceholder, type LazyImageProps, LineChart, type LineChartProps, type LoadingOverlayApi, type LoadingOverlayContextValue, LoadingOverlayProvider, type LoadingOverlayProviderProps, LoadingSpinner, LogoCloud, type LogoCloudProps, type LogoItem, MobileContainer, type MobileContainerProps, MobileContent, MobileEmailInput, MobileForm, MobileFormActions, MobileFormField, MobileFormGroup, type MobileFormProps, MobileFormSection, MobileGrid, MobileHero, type MobileHeroProps, MobileNavButton, MobileNavContent, MobileNavDrawer, MobileNavFooter, MobileNavHeader, MobileNavLink, MobileNavOverlay, MobileNavTrigger, MobileNavigation, MobileOTPInput, MobilePage, MobilePhoneInput, MobileSection, MobileSticky, Modal, type NativeComponentProps, Container as NativeContainer, Grid as NativeGrid, Section as NativeSection, type NativeStyle, Pagination as NavigationPagination, Stepper as NavigationStepper, Tabs as NavigationTabs, NetworkAwareContent, type NetworkAwareContentProps, type NetworkInfo, type NetworkSpeed, type NetworkType, NewsTicker, type NewsTickerFilter, type NewsTickerFilterOption, type NewsTickerProps, type NewsTickerSort, NotificationCenter, type NotificationCenterProps, type NotificationItem, type NotificationType, type NotificationUser, TrackCard as NowPlayingCard, OSS_LOGO_GRADIENT, OSS_LOGO_PATHS, OSS_LOGO_TRANSFORM, OSS_LOGO_VIEWBOX, OfflineWrapper, type OfflineWrapperProps, Onboarding, OptimizedStateManager, type OptimizedStoreOptions, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PageTransition, type PageTransitionDirection, type PageTransitionProps, type PageTransitionType, Pagination$1 as Pagination, type PaginationConfig, PaginationInfo, type PaginationInfoProps, type PaginationProps$1 as PaginationProps, type ParseRosterOptions, type ParsedTable, type PerformanceMetrics, type PieChartProps, PillToggle, type PillToggleMultiProps, type PillToggleOption, type PillToggleProps, type PillToggleSingleProps, Platform, type PlatformConfig, type PlatformSelect, type PlatformSelectMultiple, type PlatformType, type PlaybackQuality, type PlaybackState, type PlaylistActivity, PlaylistBuilder, type PlaylistBuilderProps, PlaylistBuilder as PlaylistCard, type PlaylistData, PlaylistBuilder as PlaylistSidebar, type PlaylistTrack, type PlaylistVisibility, Preloader, type PreloaderProps, PremiumCard, PremiumCardContent, PremiumCardFooter, PremiumCardHeader, type PremiumCardProps, PricingHero, type PricingHeroProps, type PricingPlan, Progress, ProgressiveImage, type ProgressiveImageProps, type ProgressiveImageStrategy, type ProgressiveImageTransition, PullToRefresh, type PullToRefreshProps, PulseIndicator, type PulseIndicatorProps, type PulseStatus, QuickForm, ROSTER_IMPORT_MAX_BYTES, type RandomPlayerIntensity, type RandomPlayerMode, type RandomPlayerParticipant, RandomPlayerPicker, type RandomPlayerPickerProps, type RandomPlayerPlaceholderMode, type RandomPlayerTheme, type RandomPlayerThemeColors, type RandomPlayerThemePreset, type RandomPlayerTrigger, type RefreshState, type RepeatMode, type ResponsiveColumns, ResponsiveFlex, ResponsiveGrid, type ResponsiveGridProps, ResponsiveHeader, type ResponsiveHeaderProps, RevenueKPI, RosterFileTooLargeError, RosterImport, type RosterImportLabels, type RosterImportProps, type RoundRobinCustomTheme, type RoundRobinLabels, type RoundRobinMatchup, type RoundRobinRound, RoundRobinScheduler, type RoundRobinSchedulerProps, type RoundRobinTheme, type RoundRobinThemePreset, SafeAreaWrapper, Scoreboard, type ScoreboardCustomTheme, type ScoreboardLabels, type ScoreboardProps, type ScoreboardRoundSnapshot, type ScoreboardTeam, type ScoreboardTheme, type ScoreboardThemePreset, ScrollProgressBar, type ScrollProgressBarProps, ScrollProgressLine, type ScrollProgressLineProps, ScrollToTop, type ScrollToTopProps, type SearchCategory, type SearchFilters, type SearchResult, type SearchSortBy, type SearchSuggestion, SearchWithFilters, type SearchWithFiltersProps, Section$1 as Section, SectionBlock, type SectionBlockProps, SectionLabel, type SectionLabelProps, SectionTitle, SectionedListEditor, type SectionedListEditorProps, type SectionedListSection, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SelectionConfig, SettingsLayout, type ShareOption, Sidebar, SimpleHero, SimpleResponsiveHeader, type Size, Skeleton, SkeletonAvatar, SkeletonButton, SkeletonCard, SkeletonText, Slider, type SliderProps, type SocialAction, SocialActions, type SocialActionsProps, type SocialLinks, type SortConfig, type SpacingScale, Stack, StepProgress, type StepProgressProps, StepWizard, type StepWizardProps, type StepWizardStep, SuccessAnimation, type SuccessAnimationProps, SuccessCheckmark, type SwipeAction, SwipeableCard, type SwipeableCardProps, Switch, type SwitchProps, THEME_COLORS, type TabItem$1 as TabItem, TabNavigation, type TabNavigationProps, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, type TeamColorSwatch, TeamGenerator, type TeamGeneratorCustomTheme, type TeamGeneratorLabels, type TeamGeneratorProps, type TeamGeneratorTheme, type TeamGeneratorThemePreset, Textarea, type TextareaProps, type Theme, type ThemeColors, ThemeProvider, ThemeToggle, type ThemeToggleProps, TiltCard, type TiltCardAspectRatio, type TiltCardProps, type TiltCardStat, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, ToastIcon, type ToastIconProps, type ToastProps, ToastProvider, ToastTitle, type ToastVariant, ToastViewport, Toaster, Tooltip$1 as Tooltip, TooltipContent, type TooltipProps$1 as TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, TouchInput, type TouchInputProps, Tour, Tooltip as TourTooltip, type Track, TrackCard, type TrackCardProps, AudioFeed as TrackList, type TrendingSection, type TrendingTrack, TrendingTracks, type TrendingTracksProps, type TutorialAction, TutorialEmbed, type TutorialEmbedProps, TutorialGallery, type TutorialGalleryProps, type TutorialMedia, type TutorialMetadata, TutorialSequence, type TutorialSequenceProps, type TutorialStep, type UseIntersectionObserverResult, type UsePerformanceObserverOptions, UserProfile, type UserProfileData, type UserProfileProps, type UserStats, UsersKPI, VARIANT_ICONS, type Variant, type VideoAuthor, type VideoChapter, VideoPlayer, type VideoPlayerProps, type VideoQuality, type VideoSubtitle, type VideoTrack, VirtualScrollList, type VirtualScrollListProps, type VirtualizationConfig, type VirtualizedItem, type VisualizerType, WarningAnimation, type WaveformData, WaveformPlayer, type WaveformPlayerProps, type WebComponentProps, type WebStyle, WelcomeModal, Z_INDEX, accordionVariants, animationPresets, audioAppTabs, audioPlayerVariants, breadcrumbsVariants, cn, commonValidators, containerVariants, contentVariants, createDataStore, createFormStore, createOptimizedStore, cssAnimations, d6LandingRotation, dailyTrendingConfig, detectAuthProvider, detectDelimiter, detectHeader, disableScroll, durations, emptyStateVariants, enableScroll, extractRoster, fadeInOut, formVariants, formatCurrency, formatDate, formatNumber, genreChartsConfigs, getConfig, getEnvInfo, getEnvVar, getScrollbarWidth, gridVariants, hamburgerVariants, headerVariants, heroVariants, inputVariants, isBrowser, isExpo, isNative, isWeb, labelVariants, musicAppTabs, nativeConfig, parseRoster, parseTable, podcastAppTabs, readRosterFile, scaleInOut, slideUp, sliderVariants, stateManager, stickyActionsVariants, switchVariants, textareaVariants, theme, themes, timingFunctions, toast, toastVariants, useAnimationTokens, useCache, useClickOutside, useCustomPerformanceTracking, useDebouncedCallback, useEscapeKey, useGlassmorphism, useInfiniteScroll, useIntersectionObserver, useLazyLoad, useLoadingOverlay, useLoadingOverlayApi, useLoadingOverlayVisible, useLockBody, useMediaQuery, useMobileNavigation, useMounted, useNetworkInfo, useOfflineState, useOptimizedMemo, useOptimizedStoreSelector, usePerformanceObserver, useRenderPerformanceTracking, useTheme, useThrottledCallback, useToast, useVirtualization, useVisibilityTracking, validateEmail, validateEnvConfig, validatePassword, videoPlayerVariants, webAnimations, webConfig, weeklyChartsConfig, withNetworkAware, withPageTransition };
@@ -5146,7 +5146,13 @@ declare function TiltCard({ accent, accentSecondary, topLabel, icon, title, subt
5146
5146
  * server-side randomizer for visual feedback only.
5147
5147
  *
5148
5148
  * Features:
5149
- * - 1 to 6 dice, each a full 3D cube (six faces, CSS transforms)
5149
+ * - 1 to 6 dice; d6 renders as a full 3D cube (six faces, CSS
5150
+ * transforms, standard layout — opposite faces sum to 7); d4/d8/
5151
+ * d10/d12/d20 render as themed polyhedron silhouettes with numerals
5152
+ * - Displayed face is structurally guaranteed to match the recorded
5153
+ * value: the d6 landing rotation is DERIVED as the inverse of the
5154
+ * face placement (one source of truth), and non-cube dice render
5155
+ * their settled numeral directly from the rolled value
5150
5156
  * - Multi-body simulation: dice bounce off arena walls AND each other
5151
5157
  * - Theme presets + fully custom theme objects
5152
5158
  * - Auto dark-mode detection (follows the `.dark` class on `<html>`,
@@ -5190,10 +5196,17 @@ interface DiceCustomTheme {
5190
5196
  }
5191
5197
  type DiceTheme = DiceThemePreset | DiceCustomTheme;
5192
5198
  type DiceCount = 1 | 2 | 3 | 4 | 5 | 6;
5199
+ type DiceSides = 4 | 6 | 8 | 10 | 12 | 20;
5193
5200
  type DiceTrigger = "button" | "click" | "external";
5194
5201
  interface DiceRollerProps {
5195
5202
  /** Number of dice. Default 2. Max 6. */
5196
5203
  count?: DiceCount;
5204
+ /**
5205
+ * Die type — faces per die. Default 6 (pipped 3D cube). Other values
5206
+ * render a polyhedron silhouette (d4 triangle, d8 diamond, d10 kite,
5207
+ * d12 pentagon, d20 hexagon) with a numeral face. Values roll 1..sides.
5208
+ */
5209
+ sides?: DiceSides;
5197
5210
  /** Theme preset name or a custom theme object. Default 'red'. */
5198
5211
  theme?: DiceTheme;
5199
5212
  /**
@@ -5244,7 +5257,33 @@ interface DiceRollerProps {
5244
5257
  /** Accessible label for the arena. */
5245
5258
  ariaLabel?: string;
5246
5259
  }
5247
- declare function DiceRoller({ count, theme, darkMode, size, minSize, responsive, autoRoll, onRoll, trigger, label, iconEmoji, showHistory, historyMax, rollRef, arenaHeight: arenaHeightProp, hideResults, className, style, ariaLabel, }: DiceRollerProps): ReactNode;
5260
+ /**
5261
+ * How each value's face is placed on the d6 cube — the SINGLE source of
5262
+ * truth for both the face transforms and the landing rotations. Standard
5263
+ * western die layout: opposite faces sum to 7 (1↔6, 2↔5, 3↔4).
5264
+ *
5265
+ * Every placement is a single-axis rotation (at most one of x/y nonzero),
5266
+ * so the landing rotation that brings face v to the viewer is simply the
5267
+ * inverse — see `d6LandingRotation`. Deriving instead of hand-pairing is
5268
+ * what makes a face/result mismatch structurally impossible (values 3 and
5269
+ * 4 were hand-swapped until 2.2.1).
5270
+ *
5271
+ * Exported for tests.
5272
+ */
5273
+ declare const D6_FACE_PLACEMENTS: Record<number, {
5274
+ x: number;
5275
+ y: number;
5276
+ }>;
5277
+ /**
5278
+ * Landing rotation for a rolled d6 value: the inverse of that face's
5279
+ * placement rotation (negation per axis; ±180° is its own inverse).
5280
+ * Exported for tests.
5281
+ */
5282
+ declare function d6LandingRotation(value: number): {
5283
+ x: number;
5284
+ y: number;
5285
+ };
5286
+ declare function DiceRoller({ count, sides, theme, darkMode, size, minSize, responsive, autoRoll, onRoll, trigger, label, iconEmoji, showHistory, historyMax, rollRef, arenaHeight: arenaHeightProp, hideResults, className, style, ariaLabel, }: DiceRollerProps): ReactNode;
5248
5287
  declare namespace DiceRoller {
5249
5288
  var displayName: string;
5250
5289
  }
@@ -6902,4 +6941,4 @@ declare class OptimizedStateManager {
6902
6941
  }
6903
6942
  declare const stateManager: OptimizedStateManager;
6904
6943
 
6905
- export { ANIMATION_DURATION, Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, type ActivityType, type AdvancedAudioTrack, AdvancedPlayer, type AdvancedPlayerProps, Alert, AlertDescription, AlertTitle, AnalyticsDashboard, AnimatedSectionTitle, type AnimatedSectionTitleProps, type AnimationTokens, Breadcrumbs as AppBreadcrumbs, AppShell, AudioFeed, type AudioFeedProps, AudioPlayer, type AudioPlayerProps, SearchWithFilters as AudioSearch, type AudioTrack, type AudioTrackCardData, AuthLayout, Avatar, AvatarFallback, AvatarImage, Badge, BarChart, type BarChart3IconBand, type BarChartProps, type BaseAccordionItemProps, type BaseAccordionProps, type BaseBreadcrumbsProps, type BaseChartProps, type BaseComponentProps, type BaseEmptyStateProps, type BaseSliderProps, type BaseSwitchProps, type BaseTextareaProps, type BaseTheme, type BorderRadiusScale, BracketGenerator, type BracketGeneratorProps, type BracketMatch, type BracketMatchRenderContext, type BracketParticipant, type BracketResumeMatch, type BracketSeedingStrategy, type BracketSize, type BracketState, type BracketThemeColors, type BracketThemePreset, BrandLoader, type BrandLoaderGradient, type BrandLoaderMode, type BrandLoaderPath, type BrandLoaderProps, type BreadcrumbItem$1 as BreadcrumbItem, Breadcrumbs$1 as Breadcrumbs, type BreadcrumbsProps$1 as BreadcrumbsProps, type BugReportPayload, BugReporter, type BugReporterProps, Button, type ButtonVariants, type CTAAction, CTACluster, type CTAClusterProps, type CacheStrategy, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chart, type ChartDataPoint$1 as ChartDataPoint, type ChartProps, type ChartSeries, Checkbox, type CoinCustomTheme, CoinFlipper, type CoinFlipperProps, type CoinResult, type CoinTheme, type CoinThemePreset, type CoinTrigger, CollaborativePlaylist, type CollaborativePlaylistData, type CollaborativePlaylistProps, type Collaborator, type CollaboratorRole, type Column$1 as Column, CommandPalette, type Comment, type CommentData, CommentSystem, type CommentSystemProps, type CommentUser, type ComponentProps, type ComponentSize, type ComponentVariant, Container$1 as Container, ConversionKPI, type CrossfadeMode, DashboardGrid, DashboardLayout, DashboardWidget, type DashboardWidgetProps, DataGrid, type DataGridProps, type DataItem, DataTable, type Column as DataTableColumn, type DataTableProps, type DateFilter, type Delimiter, Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, type DiceCount, type DiceCustomTheme, DiceRoller, type DiceRollerProps, type DiceTheme, type DiceThemePreset, type DiceTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, type DurationFilter, DynamicHeroBanner, EmptyState, type EmptyStateProps, EnhancedScrollToTop, type EnhancedScrollToTopProps, type EnvConfig, ErrorAnimation, ErrorBoundary, type ErrorBoundaryProps, ErrorFallback, type ErrorFallbackProps, type ExportOptions, type ExportService, FLOW_TREE_CSS, FLOW_TREE_ICON_NAMES, FeatureGrid, type FeatureGridProps, FeatureHighlight, type FeatureItem, type FeedFilter, type FeedItem, type FeedSortOrder, type FeedbackCategory, FilterChip, type FilterChipProps, type FilterConfig, FilterableGrid, type FilterableGridApplyMode, type FilterableGridCategory, type FilterableGridCategoryNavProps, type FilterableGridFilter, type FilterableGridFilterOption, type FilterableGridLabels, type FilterableGridLayout, type FilterableGridProps, type FilterableGridQuickTab, type FilterableGridRenderCardContext, type FilterableGridSectionOrder, type FilterableGridSort, type FilterableGridState, FixedAudioBar, type FixedAudioBarProps, FlowTree, type FlowTreeAction, type FlowTreeDetail, FlowTreeIcon, type FlowTreeIconName, type FlowTreeIconProps, type FlowTreeIconValue, type FlowTreeImageIcon, type FlowTreeLayoutOptions, type FlowTreeMetaRow, type FlowTreeNode, type FlowTreeProps, type FlowTreeTier, Form, FormBuilder, type FormBuilderProps, FormDescription, type FormField, FormGroup, FormLabel, FormMessage, FormProgress, type FormProps, type FormSchema, FormSection, GameTimer, type GameTimerCustomTheme, type GameTimerHandle, type GameTimerLap, type GameTimerMode, type GameTimerProps, type GameTimerTheme, type GameTimerThemePreset, type GenreFilter, type GlassmorphismTokens, GradientBorderCard, type GradientBorderCardProps, Grid$1 as Grid, GridItem, HamburgerIcon, type HamburgerIconProps, Header, HeaderActions, HeaderBrand, HeaderContainer, HeaderDesktopNav, HeaderMobileTrigger, HeaderNavLink, Hero, type HeroBannerCta, type HeroBannerCtaVariant, type HeroBannerCustomTheme, type HeroBannerImageFilter, type HeroBannerMouseEffect, type HeroBannerProps, type HeroBannerSlide, type HeroBannerStat, type HeroBannerStatsBackground, type HeroBannerStatsLayout, type HeroBannerStatsPosition, type HeroBannerStatsSize, type HeroBannerTextAlign, type HeroBannerThemePreset, type HeroBannerTransition, HeroCTA, HeroContent, type HeroProps, HeroSubtitle, HeroTitle, ImageCropDropZone, type ImageCropDropZoneProps, type ImageCropFormat, ImageCropModal, type ImageCropModalProps, type ImageCropOutput, ImageCropper, type ImageCropperHandle, type ImageCropperProps, InfoAnimation, Input, type InputVariants, type IntersectionObserverOptions, KPIDashboard, type KPIData, KPIWidget, type KPIWidgetProps, Label, LavaLamp, type LavaLampProps, LazyImage, type LazyImagePlaceholder, type LazyImageProps, LineChart, type LineChartProps, type LoadingOverlayApi, type LoadingOverlayContextValue, LoadingOverlayProvider, type LoadingOverlayProviderProps, LoadingSpinner, LogoCloud, type LogoCloudProps, type LogoItem, MobileContainer, type MobileContainerProps, MobileContent, MobileEmailInput, MobileForm, MobileFormActions, MobileFormField, MobileFormGroup, type MobileFormProps, MobileFormSection, MobileGrid, MobileHero, type MobileHeroProps, MobileNavButton, MobileNavContent, MobileNavDrawer, MobileNavFooter, MobileNavHeader, MobileNavLink, MobileNavOverlay, MobileNavTrigger, MobileNavigation, MobileOTPInput, MobilePage, MobilePhoneInput, MobileSection, MobileSticky, Modal, type NativeComponentProps, Container as NativeContainer, Grid as NativeGrid, Section as NativeSection, type NativeStyle, Pagination as NavigationPagination, Stepper as NavigationStepper, Tabs as NavigationTabs, NetworkAwareContent, type NetworkAwareContentProps, type NetworkInfo, type NetworkSpeed, type NetworkType, NewsTicker, type NewsTickerFilter, type NewsTickerFilterOption, type NewsTickerProps, type NewsTickerSort, NotificationCenter, type NotificationCenterProps, type NotificationItem, type NotificationType, type NotificationUser, TrackCard as NowPlayingCard, OSS_LOGO_GRADIENT, OSS_LOGO_PATHS, OSS_LOGO_TRANSFORM, OSS_LOGO_VIEWBOX, OfflineWrapper, type OfflineWrapperProps, Onboarding, OptimizedStateManager, type OptimizedStoreOptions, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PageTransition, type PageTransitionDirection, type PageTransitionProps, type PageTransitionType, Pagination$1 as Pagination, type PaginationConfig, PaginationInfo, type PaginationInfoProps, type PaginationProps$1 as PaginationProps, type ParseRosterOptions, type ParsedTable, type PerformanceMetrics, type PieChartProps, PillToggle, type PillToggleMultiProps, type PillToggleOption, type PillToggleProps, type PillToggleSingleProps, Platform, type PlatformConfig, type PlatformSelect, type PlatformSelectMultiple, type PlatformType, type PlaybackQuality, type PlaybackState, type PlaylistActivity, PlaylistBuilder, type PlaylistBuilderProps, PlaylistBuilder as PlaylistCard, type PlaylistData, PlaylistBuilder as PlaylistSidebar, type PlaylistTrack, type PlaylistVisibility, Preloader, type PreloaderProps, PremiumCard, PremiumCardContent, PremiumCardFooter, PremiumCardHeader, type PremiumCardProps, PricingHero, type PricingHeroProps, type PricingPlan, Progress, ProgressiveImage, type ProgressiveImageProps, type ProgressiveImageStrategy, type ProgressiveImageTransition, PullToRefresh, type PullToRefreshProps, PulseIndicator, type PulseIndicatorProps, type PulseStatus, QuickForm, ROSTER_IMPORT_MAX_BYTES, type RandomPlayerIntensity, type RandomPlayerMode, type RandomPlayerParticipant, RandomPlayerPicker, type RandomPlayerPickerProps, type RandomPlayerPlaceholderMode, type RandomPlayerTheme, type RandomPlayerThemeColors, type RandomPlayerThemePreset, type RandomPlayerTrigger, type RefreshState, type RepeatMode, type ResponsiveColumns, ResponsiveFlex, ResponsiveGrid, type ResponsiveGridProps, ResponsiveHeader, type ResponsiveHeaderProps, RevenueKPI, RosterFileTooLargeError, RosterImport, type RosterImportLabels, type RosterImportProps, type RoundRobinCustomTheme, type RoundRobinLabels, type RoundRobinMatchup, type RoundRobinRound, RoundRobinScheduler, type RoundRobinSchedulerProps, type RoundRobinTheme, type RoundRobinThemePreset, SafeAreaWrapper, Scoreboard, type ScoreboardCustomTheme, type ScoreboardLabels, type ScoreboardProps, type ScoreboardRoundSnapshot, type ScoreboardTeam, type ScoreboardTheme, type ScoreboardThemePreset, ScrollProgressBar, type ScrollProgressBarProps, ScrollProgressLine, type ScrollProgressLineProps, ScrollToTop, type ScrollToTopProps, type SearchCategory, type SearchFilters, type SearchResult, type SearchSortBy, type SearchSuggestion, SearchWithFilters, type SearchWithFiltersProps, Section$1 as Section, SectionBlock, type SectionBlockProps, SectionLabel, type SectionLabelProps, SectionTitle, SectionedListEditor, type SectionedListEditorProps, type SectionedListSection, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SelectionConfig, SettingsLayout, type ShareOption, Sidebar, SimpleHero, SimpleResponsiveHeader, type Size, Skeleton, SkeletonAvatar, SkeletonButton, SkeletonCard, SkeletonText, Slider, type SliderProps, type SocialAction, SocialActions, type SocialActionsProps, type SocialLinks, type SortConfig, type SpacingScale, Stack, StepProgress, type StepProgressProps, StepWizard, type StepWizardProps, type StepWizardStep, SuccessAnimation, type SuccessAnimationProps, SuccessCheckmark, type SwipeAction, SwipeableCard, type SwipeableCardProps, Switch, type SwitchProps, THEME_COLORS, type TabItem$1 as TabItem, TabNavigation, type TabNavigationProps, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, type TeamColorSwatch, TeamGenerator, type TeamGeneratorCustomTheme, type TeamGeneratorLabels, type TeamGeneratorProps, type TeamGeneratorTheme, type TeamGeneratorThemePreset, Textarea, type TextareaProps, type Theme, type ThemeColors, ThemeProvider, ThemeToggle, type ThemeToggleProps, TiltCard, type TiltCardAspectRatio, type TiltCardProps, type TiltCardStat, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, ToastIcon, type ToastIconProps, type ToastProps, ToastProvider, ToastTitle, type ToastVariant, ToastViewport, Toaster, Tooltip$1 as Tooltip, TooltipContent, type TooltipProps$1 as TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, TouchInput, type TouchInputProps, Tour, Tooltip as TourTooltip, type Track, TrackCard, type TrackCardProps, AudioFeed as TrackList, type TrendingSection, type TrendingTrack, TrendingTracks, type TrendingTracksProps, type TutorialAction, TutorialEmbed, type TutorialEmbedProps, TutorialGallery, type TutorialGalleryProps, type TutorialMedia, type TutorialMetadata, TutorialSequence, type TutorialSequenceProps, type TutorialStep, type UseIntersectionObserverResult, type UsePerformanceObserverOptions, UserProfile, type UserProfileData, type UserProfileProps, type UserStats, UsersKPI, VARIANT_ICONS, type Variant, type VideoAuthor, type VideoChapter, VideoPlayer, type VideoPlayerProps, type VideoQuality, type VideoSubtitle, type VideoTrack, VirtualScrollList, type VirtualScrollListProps, type VirtualizationConfig, type VirtualizedItem, type VisualizerType, WarningAnimation, type WaveformData, WaveformPlayer, type WaveformPlayerProps, type WebComponentProps, type WebStyle, WelcomeModal, Z_INDEX, accordionVariants, animationPresets, audioAppTabs, audioPlayerVariants, breadcrumbsVariants, cn, commonValidators, containerVariants, contentVariants, createDataStore, createFormStore, createOptimizedStore, cssAnimations, dailyTrendingConfig, detectAuthProvider, detectDelimiter, detectHeader, disableScroll, durations, emptyStateVariants, enableScroll, extractRoster, fadeInOut, formVariants, formatCurrency, formatDate, formatNumber, genreChartsConfigs, getConfig, getEnvInfo, getEnvVar, getScrollbarWidth, gridVariants, hamburgerVariants, headerVariants, heroVariants, inputVariants, isBrowser, isExpo, isNative, isWeb, labelVariants, musicAppTabs, nativeConfig, parseRoster, parseTable, podcastAppTabs, readRosterFile, scaleInOut, slideUp, sliderVariants, stateManager, stickyActionsVariants, switchVariants, textareaVariants, theme, themes, timingFunctions, toast, toastVariants, useAnimationTokens, useCache, useClickOutside, useCustomPerformanceTracking, useDebouncedCallback, useEscapeKey, useGlassmorphism, useInfiniteScroll, useIntersectionObserver, useLazyLoad, useLoadingOverlay, useLoadingOverlayApi, useLoadingOverlayVisible, useLockBody, useMediaQuery, useMobileNavigation, useMounted, useNetworkInfo, useOfflineState, useOptimizedMemo, useOptimizedStoreSelector, usePerformanceObserver, useRenderPerformanceTracking, useTheme, useThrottledCallback, useToast, useVirtualization, useVisibilityTracking, validateEmail, validateEnvConfig, validatePassword, videoPlayerVariants, webAnimations, webConfig, weeklyChartsConfig, withNetworkAware, withPageTransition };
6944
+ export { ANIMATION_DURATION, Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, type ActivityType, type AdvancedAudioTrack, AdvancedPlayer, type AdvancedPlayerProps, Alert, AlertDescription, AlertTitle, AnalyticsDashboard, AnimatedSectionTitle, type AnimatedSectionTitleProps, type AnimationTokens, Breadcrumbs as AppBreadcrumbs, AppShell, AudioFeed, type AudioFeedProps, AudioPlayer, type AudioPlayerProps, SearchWithFilters as AudioSearch, type AudioTrack, type AudioTrackCardData, AuthLayout, Avatar, AvatarFallback, AvatarImage, Badge, BarChart, type BarChart3IconBand, type BarChartProps, type BaseAccordionItemProps, type BaseAccordionProps, type BaseBreadcrumbsProps, type BaseChartProps, type BaseComponentProps, type BaseEmptyStateProps, type BaseSliderProps, type BaseSwitchProps, type BaseTextareaProps, type BaseTheme, type BorderRadiusScale, BracketGenerator, type BracketGeneratorProps, type BracketMatch, type BracketMatchRenderContext, type BracketParticipant, type BracketResumeMatch, type BracketSeedingStrategy, type BracketSize, type BracketState, type BracketThemeColors, type BracketThemePreset, BrandLoader, type BrandLoaderGradient, type BrandLoaderMode, type BrandLoaderPath, type BrandLoaderProps, type BreadcrumbItem$1 as BreadcrumbItem, Breadcrumbs$1 as Breadcrumbs, type BreadcrumbsProps$1 as BreadcrumbsProps, type BugReportPayload, BugReporter, type BugReporterProps, Button, type ButtonVariants, type CTAAction, CTACluster, type CTAClusterProps, type CacheStrategy, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chart, type ChartDataPoint$1 as ChartDataPoint, type ChartProps, type ChartSeries, Checkbox, type CoinCustomTheme, CoinFlipper, type CoinFlipperProps, type CoinResult, type CoinTheme, type CoinThemePreset, type CoinTrigger, CollaborativePlaylist, type CollaborativePlaylistData, type CollaborativePlaylistProps, type Collaborator, type CollaboratorRole, type Column$1 as Column, CommandPalette, type Comment, type CommentData, CommentSystem, type CommentSystemProps, type CommentUser, type ComponentProps, type ComponentSize, type ComponentVariant, Container$1 as Container, ConversionKPI, type CrossfadeMode, D6_FACE_PLACEMENTS, DashboardGrid, DashboardLayout, DashboardWidget, type DashboardWidgetProps, DataGrid, type DataGridProps, type DataItem, DataTable, type Column as DataTableColumn, type DataTableProps, type DateFilter, type Delimiter, Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, type DiceCount, type DiceCustomTheme, DiceRoller, type DiceRollerProps, type DiceSides, type DiceTheme, type DiceThemePreset, type DiceTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, type DurationFilter, DynamicHeroBanner, EmptyState, type EmptyStateProps, EnhancedScrollToTop, type EnhancedScrollToTopProps, type EnvConfig, ErrorAnimation, ErrorBoundary, type ErrorBoundaryProps, ErrorFallback, type ErrorFallbackProps, type ExportOptions, type ExportService, FLOW_TREE_CSS, FLOW_TREE_ICON_NAMES, FeatureGrid, type FeatureGridProps, FeatureHighlight, type FeatureItem, type FeedFilter, type FeedItem, type FeedSortOrder, type FeedbackCategory, FilterChip, type FilterChipProps, type FilterConfig, FilterableGrid, type FilterableGridApplyMode, type FilterableGridCategory, type FilterableGridCategoryNavProps, type FilterableGridFilter, type FilterableGridFilterOption, type FilterableGridLabels, type FilterableGridLayout, type FilterableGridProps, type FilterableGridQuickTab, type FilterableGridRenderCardContext, type FilterableGridSectionOrder, type FilterableGridSort, type FilterableGridState, FixedAudioBar, type FixedAudioBarProps, FlowTree, type FlowTreeAction, type FlowTreeDetail, FlowTreeIcon, type FlowTreeIconName, type FlowTreeIconProps, type FlowTreeIconValue, type FlowTreeImageIcon, type FlowTreeLayoutOptions, type FlowTreeMetaRow, type FlowTreeNode, type FlowTreeProps, type FlowTreeTier, Form, FormBuilder, type FormBuilderProps, FormDescription, type FormField, FormGroup, FormLabel, FormMessage, FormProgress, type FormProps, type FormSchema, FormSection, GameTimer, type GameTimerCustomTheme, type GameTimerHandle, type GameTimerLap, type GameTimerMode, type GameTimerProps, type GameTimerTheme, type GameTimerThemePreset, type GenreFilter, type GlassmorphismTokens, GradientBorderCard, type GradientBorderCardProps, Grid$1 as Grid, GridItem, HamburgerIcon, type HamburgerIconProps, Header, HeaderActions, HeaderBrand, HeaderContainer, HeaderDesktopNav, HeaderMobileTrigger, HeaderNavLink, Hero, type HeroBannerCta, type HeroBannerCtaVariant, type HeroBannerCustomTheme, type HeroBannerImageFilter, type HeroBannerMouseEffect, type HeroBannerProps, type HeroBannerSlide, type HeroBannerStat, type HeroBannerStatsBackground, type HeroBannerStatsLayout, type HeroBannerStatsPosition, type HeroBannerStatsSize, type HeroBannerTextAlign, type HeroBannerThemePreset, type HeroBannerTransition, HeroCTA, HeroContent, type HeroProps, HeroSubtitle, HeroTitle, ImageCropDropZone, type ImageCropDropZoneProps, type ImageCropFormat, ImageCropModal, type ImageCropModalProps, type ImageCropOutput, ImageCropper, type ImageCropperHandle, type ImageCropperProps, InfoAnimation, Input, type InputVariants, type IntersectionObserverOptions, KPIDashboard, type KPIData, KPIWidget, type KPIWidgetProps, Label, LavaLamp, type LavaLampProps, LazyImage, type LazyImagePlaceholder, type LazyImageProps, LineChart, type LineChartProps, type LoadingOverlayApi, type LoadingOverlayContextValue, LoadingOverlayProvider, type LoadingOverlayProviderProps, LoadingSpinner, LogoCloud, type LogoCloudProps, type LogoItem, MobileContainer, type MobileContainerProps, MobileContent, MobileEmailInput, MobileForm, MobileFormActions, MobileFormField, MobileFormGroup, type MobileFormProps, MobileFormSection, MobileGrid, MobileHero, type MobileHeroProps, MobileNavButton, MobileNavContent, MobileNavDrawer, MobileNavFooter, MobileNavHeader, MobileNavLink, MobileNavOverlay, MobileNavTrigger, MobileNavigation, MobileOTPInput, MobilePage, MobilePhoneInput, MobileSection, MobileSticky, Modal, type NativeComponentProps, Container as NativeContainer, Grid as NativeGrid, Section as NativeSection, type NativeStyle, Pagination as NavigationPagination, Stepper as NavigationStepper, Tabs as NavigationTabs, NetworkAwareContent, type NetworkAwareContentProps, type NetworkInfo, type NetworkSpeed, type NetworkType, NewsTicker, type NewsTickerFilter, type NewsTickerFilterOption, type NewsTickerProps, type NewsTickerSort, NotificationCenter, type NotificationCenterProps, type NotificationItem, type NotificationType, type NotificationUser, TrackCard as NowPlayingCard, OSS_LOGO_GRADIENT, OSS_LOGO_PATHS, OSS_LOGO_TRANSFORM, OSS_LOGO_VIEWBOX, OfflineWrapper, type OfflineWrapperProps, Onboarding, OptimizedStateManager, type OptimizedStoreOptions, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PageTransition, type PageTransitionDirection, type PageTransitionProps, type PageTransitionType, Pagination$1 as Pagination, type PaginationConfig, PaginationInfo, type PaginationInfoProps, type PaginationProps$1 as PaginationProps, type ParseRosterOptions, type ParsedTable, type PerformanceMetrics, type PieChartProps, PillToggle, type PillToggleMultiProps, type PillToggleOption, type PillToggleProps, type PillToggleSingleProps, Platform, type PlatformConfig, type PlatformSelect, type PlatformSelectMultiple, type PlatformType, type PlaybackQuality, type PlaybackState, type PlaylistActivity, PlaylistBuilder, type PlaylistBuilderProps, PlaylistBuilder as PlaylistCard, type PlaylistData, PlaylistBuilder as PlaylistSidebar, type PlaylistTrack, type PlaylistVisibility, Preloader, type PreloaderProps, PremiumCard, PremiumCardContent, PremiumCardFooter, PremiumCardHeader, type PremiumCardProps, PricingHero, type PricingHeroProps, type PricingPlan, Progress, ProgressiveImage, type ProgressiveImageProps, type ProgressiveImageStrategy, type ProgressiveImageTransition, PullToRefresh, type PullToRefreshProps, PulseIndicator, type PulseIndicatorProps, type PulseStatus, QuickForm, ROSTER_IMPORT_MAX_BYTES, type RandomPlayerIntensity, type RandomPlayerMode, type RandomPlayerParticipant, RandomPlayerPicker, type RandomPlayerPickerProps, type RandomPlayerPlaceholderMode, type RandomPlayerTheme, type RandomPlayerThemeColors, type RandomPlayerThemePreset, type RandomPlayerTrigger, type RefreshState, type RepeatMode, type ResponsiveColumns, ResponsiveFlex, ResponsiveGrid, type ResponsiveGridProps, ResponsiveHeader, type ResponsiveHeaderProps, RevenueKPI, RosterFileTooLargeError, RosterImport, type RosterImportLabels, type RosterImportProps, type RoundRobinCustomTheme, type RoundRobinLabels, type RoundRobinMatchup, type RoundRobinRound, RoundRobinScheduler, type RoundRobinSchedulerProps, type RoundRobinTheme, type RoundRobinThemePreset, SafeAreaWrapper, Scoreboard, type ScoreboardCustomTheme, type ScoreboardLabels, type ScoreboardProps, type ScoreboardRoundSnapshot, type ScoreboardTeam, type ScoreboardTheme, type ScoreboardThemePreset, ScrollProgressBar, type ScrollProgressBarProps, ScrollProgressLine, type ScrollProgressLineProps, ScrollToTop, type ScrollToTopProps, type SearchCategory, type SearchFilters, type SearchResult, type SearchSortBy, type SearchSuggestion, SearchWithFilters, type SearchWithFiltersProps, Section$1 as Section, SectionBlock, type SectionBlockProps, SectionLabel, type SectionLabelProps, SectionTitle, SectionedListEditor, type SectionedListEditorProps, type SectionedListSection, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SelectionConfig, SettingsLayout, type ShareOption, Sidebar, SimpleHero, SimpleResponsiveHeader, type Size, Skeleton, SkeletonAvatar, SkeletonButton, SkeletonCard, SkeletonText, Slider, type SliderProps, type SocialAction, SocialActions, type SocialActionsProps, type SocialLinks, type SortConfig, type SpacingScale, Stack, StepProgress, type StepProgressProps, StepWizard, type StepWizardProps, type StepWizardStep, SuccessAnimation, type SuccessAnimationProps, SuccessCheckmark, type SwipeAction, SwipeableCard, type SwipeableCardProps, Switch, type SwitchProps, THEME_COLORS, type TabItem$1 as TabItem, TabNavigation, type TabNavigationProps, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, type TeamColorSwatch, TeamGenerator, type TeamGeneratorCustomTheme, type TeamGeneratorLabels, type TeamGeneratorProps, type TeamGeneratorTheme, type TeamGeneratorThemePreset, Textarea, type TextareaProps, type Theme, type ThemeColors, ThemeProvider, ThemeToggle, type ThemeToggleProps, TiltCard, type TiltCardAspectRatio, type TiltCardProps, type TiltCardStat, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, ToastIcon, type ToastIconProps, type ToastProps, ToastProvider, ToastTitle, type ToastVariant, ToastViewport, Toaster, Tooltip$1 as Tooltip, TooltipContent, type TooltipProps$1 as TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, TouchInput, type TouchInputProps, Tour, Tooltip as TourTooltip, type Track, TrackCard, type TrackCardProps, AudioFeed as TrackList, type TrendingSection, type TrendingTrack, TrendingTracks, type TrendingTracksProps, type TutorialAction, TutorialEmbed, type TutorialEmbedProps, TutorialGallery, type TutorialGalleryProps, type TutorialMedia, type TutorialMetadata, TutorialSequence, type TutorialSequenceProps, type TutorialStep, type UseIntersectionObserverResult, type UsePerformanceObserverOptions, UserProfile, type UserProfileData, type UserProfileProps, type UserStats, UsersKPI, VARIANT_ICONS, type Variant, type VideoAuthor, type VideoChapter, VideoPlayer, type VideoPlayerProps, type VideoQuality, type VideoSubtitle, type VideoTrack, VirtualScrollList, type VirtualScrollListProps, type VirtualizationConfig, type VirtualizedItem, type VisualizerType, WarningAnimation, type WaveformData, WaveformPlayer, type WaveformPlayerProps, type WebComponentProps, type WebStyle, WelcomeModal, Z_INDEX, accordionVariants, animationPresets, audioAppTabs, audioPlayerVariants, breadcrumbsVariants, cn, commonValidators, containerVariants, contentVariants, createDataStore, createFormStore, createOptimizedStore, cssAnimations, d6LandingRotation, dailyTrendingConfig, detectAuthProvider, detectDelimiter, detectHeader, disableScroll, durations, emptyStateVariants, enableScroll, extractRoster, fadeInOut, formVariants, formatCurrency, formatDate, formatNumber, genreChartsConfigs, getConfig, getEnvInfo, getEnvVar, getScrollbarWidth, gridVariants, hamburgerVariants, headerVariants, heroVariants, inputVariants, isBrowser, isExpo, isNative, isWeb, labelVariants, musicAppTabs, nativeConfig, parseRoster, parseTable, podcastAppTabs, readRosterFile, scaleInOut, slideUp, sliderVariants, stateManager, stickyActionsVariants, switchVariants, textareaVariants, theme, themes, timingFunctions, toast, toastVariants, useAnimationTokens, useCache, useClickOutside, useCustomPerformanceTracking, useDebouncedCallback, useEscapeKey, useGlassmorphism, useInfiniteScroll, useIntersectionObserver, useLazyLoad, useLoadingOverlay, useLoadingOverlayApi, useLoadingOverlayVisible, useLockBody, useMediaQuery, useMobileNavigation, useMounted, useNetworkInfo, useOfflineState, useOptimizedMemo, useOptimizedStoreSelector, usePerformanceObserver, useRenderPerformanceTracking, useTheme, useThrottledCallback, useToast, useVirtualization, useVisibilityTracking, validateEmail, validateEnvConfig, validatePassword, videoPlayerVariants, webAnimations, webConfig, weeklyChartsConfig, withNetworkAware, withPageTransition };
package/dist/web/index.js CHANGED
@@ -264,6 +264,7 @@ __export(index_exports, {
264
264
  CommentSystem: () => CommentSystem,
265
265
  Container: () => Container,
266
266
  ConversionKPI: () => ConversionKPI,
267
+ D6_FACE_PLACEMENTS: () => D6_FACE_PLACEMENTS,
267
268
  DashboardGrid: () => DashboardGrid,
268
269
  DashboardLayout: () => DashboardLayout,
269
270
  DashboardWidget: () => DashboardWidget,
@@ -504,6 +505,7 @@ __export(index_exports, {
504
505
  createFormStore: () => createFormStore,
505
506
  createOptimizedStore: () => createOptimizedStore,
506
507
  cssAnimations: () => cssAnimations,
508
+ d6LandingRotation: () => d6LandingRotation,
507
509
  dailyTrendingConfig: () => dailyTrendingConfig,
508
510
  detectAuthProvider: () => detectAuthProvider,
509
511
  detectDelimiter: () => detectDelimiter,
@@ -30359,14 +30361,35 @@ var PIP_POS = {
30359
30361
  [75, 75]
30360
30362
  ]
30361
30363
  };
30362
- var SHOW_ROT = {
30364
+ var D6_FACE_PLACEMENTS = {
30363
30365
  1: { x: 0, y: 0 },
30364
- 2: { x: 0, y: 180 },
30365
- 3: { x: 0, y: -90 },
30366
- 4: { x: 0, y: 90 },
30367
- 5: { x: -90, y: 0 },
30368
- 6: { x: 90, y: 0 }
30366
+ 2: { x: 0, y: 90 },
30367
+ 3: { x: 90, y: 0 },
30368
+ 4: { x: -90, y: 0 },
30369
+ 5: { x: 0, y: -90 },
30370
+ 6: { x: 0, y: 180 }
30369
30371
  };
30372
+ function d6LandingRotation(value) {
30373
+ const p = D6_FACE_PLACEMENTS[value];
30374
+ return {
30375
+ x: Math.abs(p.x) === 180 ? 180 : -p.x || 0,
30376
+ y: Math.abs(p.y) === 180 ? 180 : -p.y || 0
30377
+ };
30378
+ }
30379
+ var POLY_SHAPES = {
30380
+ 4: { points: "50,8 93,86 7,86", textY: 62, fontScale: 0.3 },
30381
+ 8: { points: "50,4 96,50 50,96 4,50", textY: 51, fontScale: 0.33 },
30382
+ 10: { points: "50,4 93,44 50,96 7,44", textY: 47, fontScale: 0.3 },
30383
+ 12: { points: "50,4 95,37 78,93 22,93 5,37", textY: 54, fontScale: 0.33 },
30384
+ 20: {
30385
+ points: "50,3 91,26 91,74 50,97 9,74 9,26",
30386
+ textY: 51,
30387
+ fontScale: 0.33
30388
+ }
30389
+ };
30390
+ function formatDieValue(v, sides) {
30391
+ return sides > 8 && (v === 6 || v === 9) ? `${v}.` : String(v);
30392
+ }
30370
30393
  var MAX_COUNT = 6;
30371
30394
  var TUMBLE_MS = 950;
30372
30395
  var SETTLE_MS = 1100;
@@ -30518,6 +30541,7 @@ function Face({ value, pipColor, pipShadow, pipDiameter }) {
30518
30541
  }
30519
30542
  function DiceRoller({
30520
30543
  count: count2 = 2,
30544
+ sides = 6,
30521
30545
  theme: theme5 = "red",
30522
30546
  darkMode,
30523
30547
  size = 80,
@@ -30546,6 +30570,7 @@ function DiceRoller({
30546
30570
  const dieWrapperRefs = (0, import_react70.useRef)([]);
30547
30571
  const cubeRefs = (0, import_react70.useRef)([]);
30548
30572
  const shadowRefs = (0, import_react70.useRef)([]);
30573
+ const numeralRefs = (0, import_react70.useRef)([]);
30549
30574
  const currentPositionsRef = (0, import_react70.useRef)(null);
30550
30575
  const rollingRef = (0, import_react70.useRef)(false);
30551
30576
  const dieSetters = (0, import_react70.useRef)([]);
@@ -30575,6 +30600,15 @@ function DiceRoller({
30575
30600
  }
30576
30601
  return shadowSetters.current[i];
30577
30602
  };
30603
+ const numeralSetters = (0, import_react70.useRef)([]);
30604
+ const getNumeralSetter = (i) => {
30605
+ if (!numeralSetters.current[i]) {
30606
+ numeralSetters.current[i] = (el) => {
30607
+ numeralRefs.current[i] = el;
30608
+ };
30609
+ }
30610
+ return numeralSetters.current[i];
30611
+ };
30578
30612
  const timersRef = (0, import_react70.useRef)([]);
30579
30613
  const rafHandleRef = (0, import_react70.useRef)(null);
30580
30614
  const arenaRef = (0, import_react70.useRef)(null);
@@ -30627,15 +30661,15 @@ function DiceRoller({
30627
30661
  const pipDiameter = Math.round(effectiveSize * 0.2);
30628
30662
  const faceRadius = Math.round(effectiveSize * 0.07);
30629
30663
  const arenaHeight = arenaHeightProp ?? Math.max(effectiveSize * 3, 200);
30630
- const faceTransforms = (0, import_react70.useMemo)(
30631
- () => [
30632
- `translateZ(${half}px)`,
30633
- `rotateY(180deg) translateZ(${half}px)`,
30634
- `rotateY(-90deg) translateZ(${half}px)`,
30635
- `rotateY(90deg) translateZ(${half}px)`,
30636
- `rotateX(90deg) translateZ(${half}px)`,
30637
- `rotateX(-90deg) translateZ(${half}px)`
30638
- ],
30664
+ const faceTransformFor = (0, import_react70.useCallback)(
30665
+ (value) => {
30666
+ const p = D6_FACE_PLACEMENTS[value];
30667
+ const parts = [];
30668
+ if (p.x !== 0) parts.push(`rotateX(${p.x}deg)`);
30669
+ if (p.y !== 0) parts.push(`rotateY(${p.y}deg)`);
30670
+ parts.push(`translateZ(${half}px)`);
30671
+ return parts.join(" ");
30672
+ },
30639
30673
  [half]
30640
30674
  );
30641
30675
  const defaultPositions = (0, import_react70.useCallback)(
@@ -30657,11 +30691,11 @@ function DiceRoller({
30657
30691
  [half]
30658
30692
  );
30659
30693
  const writeCubeRotation = (0, import_react70.useCallback)(
30660
- (i, rx, ry, rz, withTransition) => {
30694
+ (i, rx, ry, rz, withTransition, tiltZ = 0) => {
30661
30695
  const el = cubeRefs.current[i];
30662
30696
  if (!el) return;
30663
30697
  el.style.transition = withTransition ? "transform 0.95s cubic-bezier(0.12,0.8,0.22,1)" : "none";
30664
- el.style.transform = `rotateX(${rx}deg) rotateY(${ry}deg) rotateZ(${rz}deg)`;
30698
+ el.style.transform = `${tiltZ ? `rotateZ(${tiltZ}deg) ` : ""}rotateX(${rx}deg) rotateY(${ry}deg) rotateZ(${rz}deg)`;
30665
30699
  },
30666
30700
  []
30667
30701
  );
@@ -30691,19 +30725,23 @@ function DiceRoller({
30691
30725
  setResults(null);
30692
30726
  }, [
30693
30727
  clampedCount,
30728
+ sides,
30694
30729
  effectiveSize,
30695
30730
  arena.w,
30696
30731
  arenaHeight,
30697
30732
  defaultPositions,
30698
30733
  half
30699
30734
  ]);
30735
+ (0, import_react70.useEffect)(() => {
30736
+ setHistory([]);
30737
+ }, [sides]);
30700
30738
  const roll = (0, import_react70.useCallback)(() => {
30701
30739
  if (rollingRef.current) return;
30702
30740
  rollingRef.current = true;
30703
30741
  setRolling(true);
30704
30742
  const vals = Array.from(
30705
30743
  { length: clampedCount },
30706
- () => Math.floor(Math.random() * 6) + 1
30744
+ () => Math.floor(Math.random() * sides) + 1
30707
30745
  );
30708
30746
  timersRef.current.forEach((t) => clearTimeout(t));
30709
30747
  timersRef.current = [];
@@ -30718,13 +30756,17 @@ function DiceRoller({
30718
30756
  const starts = currentPositionsRef.current ?? defaultPositions(w, h, clampedCount);
30719
30757
  const frames = simulateDice(w, h, effectiveSize, starts, clampedCount);
30720
30758
  for (let i = 0; i < clampedCount; i++) {
30721
- writeCubeRotation(
30722
- i,
30723
- (Math.random() - 0.5) * 720,
30724
- (Math.random() - 0.5) * 720,
30725
- (Math.random() - 0.5) * 720,
30726
- false
30727
- );
30759
+ if (sides === 6) {
30760
+ writeCubeRotation(
30761
+ i,
30762
+ (Math.random() - 0.5) * 720,
30763
+ (Math.random() - 0.5) * 720,
30764
+ (Math.random() - 0.5) * 720,
30765
+ false
30766
+ );
30767
+ } else {
30768
+ writeCubeRotation(i, 0, 0, (Math.random() - 0.5) * 720, false);
30769
+ }
30728
30770
  const el = dieWrapperRefs.current[i];
30729
30771
  if (el) el.style.transition = "none";
30730
30772
  const shadow = shadowRefs.current[i];
@@ -30757,18 +30799,47 @@ function DiceRoller({
30757
30799
  }, capturedStep * stepMs);
30758
30800
  timersRef.current.push(timer);
30759
30801
  }
30802
+ if (sides !== 6) {
30803
+ const flickerTicks = 8;
30804
+ const flickerStep = Math.max(60, Math.floor(TUMBLE_MS / flickerTicks));
30805
+ for (let f = 1; f <= flickerTicks; f++) {
30806
+ const t = setTimeout(() => {
30807
+ for (let i = 0; i < clampedCount; i++) {
30808
+ const el = numeralRefs.current[i];
30809
+ if (el)
30810
+ el.textContent = formatDieValue(
30811
+ Math.floor(Math.random() * sides) + 1,
30812
+ sides
30813
+ );
30814
+ }
30815
+ }, f * flickerStep);
30816
+ timersRef.current.push(t);
30817
+ }
30818
+ }
30760
30819
  requestAnimationFrame(() => {
30761
30820
  requestAnimationFrame(() => {
30762
30821
  for (let i = 0; i < clampedCount; i++) {
30763
- const tgt = SHOW_ROT[vals[i]];
30764
- const lx = tgt.x + (Math.random() > 0.5 ? 720 : -720);
30765
- const ly = tgt.y;
30766
- const lz = (Math.random() > 0.5 ? 1 : -1) * 360;
30767
- writeCubeRotation(i, lx, ly, lz, true);
30822
+ const tilt = (Math.random() - 0.5) * 18;
30823
+ if (sides === 6) {
30824
+ const tgt = d6LandingRotation(vals[i]);
30825
+ const lx = tgt.x + (Math.random() > 0.5 ? 720 : -720);
30826
+ const ly = tgt.y;
30827
+ const lz = (Math.random() > 0.5 ? 1 : -1) * 360;
30828
+ writeCubeRotation(i, lx, ly, lz, true, tilt);
30829
+ } else {
30830
+ const lz = (Math.random() > 0.5 ? 1 : -1) * 720 + tilt;
30831
+ writeCubeRotation(i, 0, 0, lz, true);
30832
+ }
30768
30833
  }
30769
30834
  });
30770
30835
  });
30771
30836
  const settleTimer = setTimeout(() => {
30837
+ if (sides !== 6) {
30838
+ for (let i = 0; i < clampedCount; i++) {
30839
+ const el = numeralRefs.current[i];
30840
+ if (el) el.textContent = formatDieValue(vals[i], sides);
30841
+ }
30842
+ }
30772
30843
  setResults(vals);
30773
30844
  setRolling(false);
30774
30845
  rollingRef.current = false;
@@ -30781,6 +30852,7 @@ function DiceRoller({
30781
30852
  timersRef.current.push(settleTimer);
30782
30853
  }, [
30783
30854
  clampedCount,
30855
+ sides,
30784
30856
  defaultPositions,
30785
30857
  effectiveSize,
30786
30858
  half,
@@ -30826,7 +30898,7 @@ function DiceRoller({
30826
30898
  {
30827
30899
  ref: arenaRef,
30828
30900
  role: "img",
30829
- "aria-label": ariaLabel ?? `${clampedCount} dice`,
30901
+ "aria-label": ariaLabel ?? `${clampedCount} ${sides === 6 ? "dice" : `${sides}-sided dice`}`,
30830
30902
  "aria-live": "polite",
30831
30903
  style: {
30832
30904
  position: "relative",
@@ -30889,7 +30961,7 @@ function DiceRoller({
30889
30961
  transformStyle: "preserve-3d",
30890
30962
  willChange: "transform"
30891
30963
  },
30892
- children: [1, 2, 3, 4, 5, 6].map((val, fi) => /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
30964
+ children: sides === 6 ? [1, 2, 3, 4, 5, 6].map((val) => /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
30893
30965
  "div",
30894
30966
  {
30895
30967
  style: {
@@ -30899,7 +30971,7 @@ function DiceRoller({
30899
30971
  background: colors.face,
30900
30972
  border: `1px solid ${colors.faceBorder}`,
30901
30973
  borderRadius: faceRadius,
30902
- transform: faceTransforms[fi],
30974
+ transform: faceTransformFor(val),
30903
30975
  transition: "background 0.3s, border-color 0.3s"
30904
30976
  },
30905
30977
  children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
@@ -30913,7 +30985,64 @@ function DiceRoller({
30913
30985
  )
30914
30986
  },
30915
30987
  val
30916
- ))
30988
+ )) : (() => {
30989
+ const shape = POLY_SHAPES[sides];
30990
+ const shown = results?.[d] ?? sides;
30991
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
30992
+ "svg",
30993
+ {
30994
+ viewBox: "0 0 100 100",
30995
+ width: "100%",
30996
+ height: "100%",
30997
+ style: { display: "block", overflow: "visible" },
30998
+ "aria-hidden": "true",
30999
+ children: [
31000
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
31001
+ "polygon",
31002
+ {
31003
+ points: shape.points,
31004
+ fill: colors.face,
31005
+ stroke: colors.faceBorder,
31006
+ strokeWidth: 2.5,
31007
+ strokeLinejoin: "round",
31008
+ style: { transition: "fill 0.3s, stroke 0.3s" }
31009
+ }
31010
+ ),
31011
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
31012
+ "polygon",
31013
+ {
31014
+ points: shape.points,
31015
+ fill: "none",
31016
+ stroke: colors.faceBorder,
31017
+ strokeWidth: 1.5,
31018
+ strokeLinejoin: "round",
31019
+ opacity: 0.55,
31020
+ transform: "translate(50 50) scale(0.76) translate(-50 -50)"
31021
+ }
31022
+ ),
31023
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
31024
+ "text",
31025
+ {
31026
+ ref: getNumeralSetter(d),
31027
+ x: 50,
31028
+ y: shape.textY,
31029
+ textAnchor: "middle",
31030
+ dominantBaseline: "central",
31031
+ fontSize: 100 * shape.fontScale,
31032
+ fontWeight: 800,
31033
+ fill: colors.pip,
31034
+ style: {
31035
+ fontVariantNumeric: "tabular-nums",
31036
+ transition: "fill 0.3s",
31037
+ userSelect: "none"
31038
+ },
31039
+ children: formatDieValue(shown, sides)
31040
+ }
31041
+ )
31042
+ ]
31043
+ }
31044
+ );
31045
+ })()
30917
31046
  }
30918
31047
  )
30919
31048
  ] }, d);