From fe2f8fa0ee50b8e7830dec7f0b860dcaf43a2ee0 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 11 Mar 2026 19:39:14 +0000 Subject: [PATCH] Update src/components/cardStack/types.ts --- src/components/cardStack/types.ts | 65 +++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/src/components/cardStack/types.ts b/src/components/cardStack/types.ts index 8533bcf..284a876 100644 --- a/src/components/cardStack/types.ts +++ b/src/components/cardStack/types.ts @@ -2,3 +2,68 @@ export interface CardStackItemShape { id?: string; title: string; } + +export interface ButtonConfig { + text: string; + onClick?: () => void; + href?: string; +} + +export type ButtonAnimationType = 'none' | 'opacity' | 'slide-up' | 'blur-reveal'; +export type CardAnimationType = 'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'; +export type CardAnimationTypeWith3D = 'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' | 'depth-3d'; +export type TextboxLayout = 'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'; +export type InvertedBackground = boolean; +export type GridVariant = 'uniform-all-items-equal' | 'bento-grid' | 'bento-grid-inverted' | 'two-columns-alternating-heights' | 'asymmetric-60-wide-40-narrow' | 'three-columns-all-equal-width' | 'four-items-2x2-equal-grid' | 'one-large-right-three-stacked-left' | 'items-top-row-full-width-bottom' | 'full-width-top-items-bottom-row' | 'one-large-left-three-stacked-right' | 'two-items-per-row' | 'timeline'; + +export interface TitleSegment { + type: 'text' | 'image'; + content?: string; + src?: string; + alt?: string; +} + +export interface CardStackProps { + children: React.ReactNode; + className?: string; +} + +export interface TextBoxProps { + title: string; + description: string; + className?: string; +} + +export interface UseCardAnimationReturn { + isActive: boolean; + isMobile: boolean; + itemRefs: React.RefObject[]; + containerRef?: React.RefObject; + perspectiveRef?: React.RefObject; + bottomContentRef?: React.RefObject; +} + +export interface ArrowCarouselProps { + items: CardStackItemShape[]; + className?: string; +} + +export interface AutoCarouselProps { + items: CardStackItemShape[]; + className?: string; +} + +export interface ButtonCarouselProps { + items: CardStackItemShape[]; + className?: string; +} + +export interface FullWidthCarouselProps { + items: CardStackItemShape[]; + className?: string; +} + +export interface GridLayoutProps { + items: CardStackItemShape[]; + className?: string; +}