@rock10/ui 1.0.15 → 1.0.17

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.
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ import { ArenaData } from './ArenaCard';
3
+
4
+ export interface ArenaPosterCardProps {
5
+ arena: ArenaData;
6
+ courtCount?: number;
7
+ isMostAccessed?: boolean;
8
+ accessRank?: 1 | 2;
9
+ rankBadge?: ReactNode;
10
+ actionText?: string;
11
+ onClick?: (arena: ArenaData) => void;
12
+ fallbackImage?: string;
13
+ className?: string;
14
+ }
15
+ export declare function ArenaPosterCard({ arena, courtCount, isMostAccessed, accessRank, rankBadge, actionText, onClick, fallbackImage, className, }: ArenaPosterCardProps): import("react").JSX.Element;
16
+ export default ArenaPosterCard;
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ import { ArenaData } from './ArenaCard';
3
+
4
+ export interface ArenaProfileHeaderProps {
5
+ arena: ArenaData;
6
+ activeCourtsCount?: number;
7
+ instagramUrl?: string;
8
+ mapsUrl?: string;
9
+ onShare?: () => void;
10
+ shareCopied?: boolean;
11
+ extraActions?: ReactNode;
12
+ fallbackImage?: string;
13
+ className?: string;
14
+ }
15
+ export declare function ArenaProfileHeader({ arena, activeCourtsCount, instagramUrl, mapsUrl, onShare, shareCopied, extraActions, fallbackImage, className, }: ArenaProfileHeaderProps): import("react").JSX.Element;
16
+ export default ArenaProfileHeader;
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface BannerCTAProps {
4
+ title: string;
5
+ description: string;
6
+ icon?: ReactNode;
7
+ actionText: string;
8
+ actionIcon?: ReactNode;
9
+ onAction?: () => void;
10
+ actionHref?: string;
11
+ variant?: 'primary' | 'dark' | 'emerald';
12
+ className?: string;
13
+ }
14
+ export declare function BannerCTA({ title, description, icon, actionText, actionIcon, onAction, actionHref, variant, className, }: BannerCTAProps): import("react").JSX.Element;
15
+ export default BannerCTA;
@@ -0,0 +1,16 @@
1
+ export interface CourtItem {
2
+ id: number | string;
3
+ nome: string;
4
+ slug?: string;
5
+ }
6
+ export interface CourtSelectorProps<T extends CourtItem = CourtItem> {
7
+ courts: T[];
8
+ selectedCourt: T | null;
9
+ onSelectCourt: (court: T | null) => void;
10
+ allLabel?: string;
11
+ title?: string;
12
+ defaultCollapsed?: boolean;
13
+ className?: string;
14
+ }
15
+ export declare function CourtSelector<T extends CourtItem = CourtItem>({ courts, selectedCourt, onSelectCourt, allLabel, title, defaultCollapsed, className, }: CourtSelectorProps<T>): import("react").JSX.Element;
16
+ export default CourtSelector;
@@ -0,0 +1,11 @@
1
+ export interface DateSeparatorProps {
2
+ date: string;
3
+ videoCount?: number;
4
+ sticky?: boolean;
5
+ onClick?: () => void;
6
+ onToggleCollapse?: () => void;
7
+ isCollapsed?: boolean;
8
+ className?: string;
9
+ }
10
+ export declare function DateSeparator({ date, videoCount, sticky, onClick, onToggleCollapse, isCollapsed, className, }: DateSeparatorProps): import("react").JSX.Element;
11
+ export default DateSeparator;
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface HeroAction {
4
+ label: string;
5
+ icon?: ReactNode;
6
+ href?: string;
7
+ onClick?: () => void;
8
+ variant?: 'primary' | 'secondary' | 'outline';
9
+ }
10
+ export interface HeroBannerProps {
11
+ badge?: {
12
+ text: string;
13
+ icon?: ReactNode;
14
+ };
15
+ title: ReactNode;
16
+ description?: string;
17
+ primaryAction?: HeroAction;
18
+ secondaryAction?: HeroAction;
19
+ ambientGlow?: boolean;
20
+ className?: string;
21
+ }
22
+ export declare function HeroBanner({ badge, title, description, primaryAction, secondaryAction, ambientGlow, className, }: HeroBannerProps): import("react").JSX.Element;
23
+ export default HeroBanner;
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface SegmentedControlOption<T extends string = string> {
4
+ value: T;
5
+ label: string;
6
+ mobileLabel?: string;
7
+ icon?: ReactNode;
8
+ badge?: ReactNode;
9
+ disabled?: boolean;
10
+ title?: string;
11
+ }
12
+ export interface SegmentedControlProps<T extends string = string> {
13
+ options: SegmentedControlOption<T>[];
14
+ value: T;
15
+ onChange: (value: T) => void;
16
+ size?: 'sm' | 'md' | 'lg';
17
+ fullWidth?: boolean;
18
+ className?: string;
19
+ }
20
+ export declare function SegmentedControl<T extends string = string>({ options, value, onChange, size, fullWidth, className, }: SegmentedControlProps<T>): import("react").JSX.Element;
21
+ export default SegmentedControl;
@@ -0,0 +1,19 @@
1
+ export interface SponsorItem {
2
+ id?: string | number;
3
+ imageUrl: string;
4
+ alt?: string;
5
+ title?: string;
6
+ linkUrl?: string;
7
+ displayDurationMs?: number;
8
+ }
9
+ export interface SponsorCarouselProps {
10
+ items: (string | SponsorItem)[];
11
+ intervalMs?: number;
12
+ height?: number | string;
13
+ autoplay?: boolean;
14
+ onItemClick?: (item: SponsorItem | string, index: number) => void;
15
+ badgeText?: string | ((item: SponsorItem | string) => string);
16
+ className?: string;
17
+ }
18
+ export declare function SponsorCarousel({ items, intervalMs, height, autoplay, onItemClick, badgeText, className, }: SponsorCarouselProps): import("react").JSX.Element | null;
19
+ export default SponsorCarousel;
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface StepItem {
4
+ stepNumber?: string | number;
5
+ title: string;
6
+ description: string;
7
+ icon?: ReactNode;
8
+ }
9
+ export interface StepCardsProps {
10
+ steps: StepItem[];
11
+ columns?: 2 | 3 | 4;
12
+ className?: string;
13
+ }
14
+ export declare function StepCards({ steps, columns, className }: StepCardsProps): import("react").JSX.Element;
15
+ export default StepCards;
package/dist/index.d.ts CHANGED
@@ -21,9 +21,18 @@ export { EmptyState, type EmptyStateProps } from './components/EmptyState';
21
21
  export { SearchBar, type SearchBarProps } from './components/SearchBar';
22
22
  export { DatePicker, type DatePickerProps } from './components/DatePicker';
23
23
  export { DateSelector, type DateSelectorProps } from './components/DateSelector';
24
+ export { DateSeparator, type DateSeparatorProps } from './components/DateSeparator';
24
25
  export { Tabs, type TabsProps, type TabItem } from './components/Tabs';
26
+ export { SegmentedControl, type SegmentedControlProps, type SegmentedControlOption } from './components/SegmentedControl';
27
+ export { HeroBanner, type HeroBannerProps, type HeroAction } from './components/HeroBanner';
28
+ export { BannerCTA, type BannerCTAProps } from './components/BannerCTA';
29
+ export { StepCards, type StepCardsProps, type StepItem } from './components/StepCards';
30
+ export { CourtSelector, type CourtSelectorProps, type CourtItem } from './components/CourtSelector';
25
31
  export { VideoCard, type VideoCardProps, type VideoData } from './components/VideoCard';
26
32
  export { ArenaCard, type ArenaCardProps, type ArenaData } from './components/ArenaCard';
33
+ export { ArenaPosterCard, type ArenaPosterCardProps } from './components/ArenaPosterCard';
34
+ export { ArenaProfileHeader, type ArenaProfileHeaderProps } from './components/ArenaProfileHeader';
35
+ export { SponsorCarousel, type SponsorCarouselProps, type SponsorItem } from './components/SponsorCarousel';
27
36
  export { LikeButton, type LikeButtonProps } from './components/LikeButton';
28
37
  export { DownloadButton, type DownloadButtonProps } from './components/DownloadButton';
29
38
  export { Logo, type LogoProps } from './components/Logo';