Latest repo

This commit is contained in:
Marc
2025-06-02 16:42:16 +00:00
parent 53ddf1a329
commit cde5fae175
27907 changed files with 3875388 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
import { AnimationHandler, SwipeAnimationHandler, StopSwipingHandler } from './types';
/**
* Main animation handler for the default 'sliding' style animation
* @param props
* @param state
*/
export declare const slideAnimationHandler: AnimationHandler;
/**
* Swiping animation handler for the default 'sliding' style animation
* @param delta
* @param props
* @param state
* @param setState
*/
export declare const slideSwipeAnimationHandler: SwipeAnimationHandler;
/**
* Default 'sliding' style animination handler for when a swipe action stops.
* @param props
* @param state
*/
export declare const slideStopSwipingHandler: StopSwipingHandler;
/**
* Main animation handler for the default 'fade' style animation
* @param props
* @param state
*/
export declare const fadeAnimationHandler: AnimationHandler;
//# sourceMappingURL=animations.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"animations.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/animations.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAA4B,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEhH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,gBAmDnC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,qBA0DxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAOrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAqClC,CAAC"}

View File

@@ -0,0 +1,88 @@
import React from 'react';
import Thumbs from '../Thumbs';
import { CarouselProps, CarouselState } from './types';
export default class Carousel extends React.Component<CarouselProps, CarouselState> {
private thumbsRef?;
private carouselWrapperRef?;
private listRef?;
private itemsRef?;
private timer?;
private animationHandler;
static displayName: string;
static defaultProps: CarouselProps;
constructor(props: CarouselProps);
componentDidMount(): void;
componentDidUpdate(prevProps: CarouselProps, prevState: CarouselState): void;
componentWillUnmount(): void;
setThumbsRef: (node: Thumbs) => void;
setCarouselWrapperRef: (node: HTMLDivElement) => void;
setListRef: (node: HTMLElement | HTMLUListElement) => void;
setItemsRef: (node: HTMLElement, index: number) => void;
setupCarousel(): void;
destroyCarousel(): void;
setupAutoPlay(): void;
destroyAutoPlay(): void;
bindEvents(): void;
unbindEvents(): void;
autoPlay: () => void;
clearAutoPlay: () => void;
resetAutoPlay: () => void;
stopOnHover: () => void;
startOnLeave: () => void;
forceFocus(): void;
isFocusWithinTheCarousel: () => boolean;
navigateWithKeyboard: (e: KeyboardEvent) => void;
updateSizes: () => void;
setMountState: () => void;
handleClickItem: (index: number, item: React.ReactNode) => void;
/**
* On Change handler, Passes the index and React node to the supplied onChange prop
* @param index of the carousel item
* @param item React node of the item being changed
*/
handleOnChange: (index: number, item: React.ReactNode) => void;
handleClickThumb: (index: number, item: React.ReactNode) => void;
onSwipeStart: (event: React.TouchEvent) => void;
onSwipeEnd: (event: React.TouchEvent) => void;
onSwipeMove: (delta: {
x: number;
y: number;
}, event: React.TouchEvent) => boolean;
/**
* Decrements the selectedItem index a number of positions through the children list
* @param positions
* @param fromSwipe
*/
decrement: (positions?: number) => void;
/**
* Increments the selectedItem index a number of positions through the children list
* @param positions
* @param fromSwipe
*/
increment: (positions?: number) => void;
/**
* Moves the selected item to the position provided
* @param position
* @param fromSwipe
*/
moveTo: (position?: number | undefined) => void;
onClickNext: () => void;
onClickPrev: () => void;
onSwipeForward: () => void;
onSwipeBackwards: () => void;
changeItem: (newIndex: number) => (e: React.MouseEvent | React.KeyboardEvent) => void;
/**
* This function is called when you want to 'select' a new item, or rather move to a 'selected' item
* It also handles the onChange callback wrapper
* @param state state object with updated selected item, and swiping bool if relevant
*/
selectItem: (state: Pick<CarouselState, 'selectedItem' | 'swiping'>) => void;
getInitialImage: () => HTMLImageElement;
getVariableItemHeight: (position: number) => number | null;
renderItems(isClone?: boolean): JSX.Element[];
renderControls(): JSX.Element | null;
renderStatus(): JSX.Element | null;
renderThumbs(): JSX.Element | null;
render(): JSX.Element | null;
}
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,MAAM,MAAM,WAAW,CAAC;AAI/B,OAAO,EAAoB,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQzE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAC/E,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IAE5C,OAAO,CAAC,OAAO,CAAC,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,KAAK,CAAC,CAAgC;IAC9C,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,MAAM,CAAC,WAAW,SAAc;IAEhC,MAAM,CAAC,YAAY,EAAE,aAAa,CAwFhC;gBAEU,KAAK,EAAE,aAAa;IA+BhC,iBAAiB;IAQjB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa;IAiCrE,oBAAoB;IAIpB,YAAY,SAAU,MAAM,UAE1B;IAEF,qBAAqB,SAAU,cAAc,UAE3C;IAEF,UAAU,SAAU,WAAW,GAAG,gBAAgB,UAEhD;IAEF,WAAW,SAAU,WAAW,SAAS,MAAM,UAK7C;IAEF,aAAa;IA2Bb,eAAe;IAOf,aAAa;IAUb,eAAe;IAUf,UAAU;IAYV,YAAY;IAgBZ,QAAQ,aAcN;IAEF,aAAa,aAEX;IAEF,aAAa,aAGX;IAEF,WAAW,aAET;IAEF,YAAY,aAEV;IAEF,UAAU;IAIV,wBAAwB,gBAatB;IAEF,oBAAoB,MAAO,aAAa,UAsBtC;IAEF,WAAW,aAkBT;IAEF,aAAa,aAGX;IAEF,eAAe,UAAW,MAAM,QAAQ,KAAK,CAAC,SAAS,UAoBrD;IAEF;;;;OAIG;IACH,cAAc,UAAW,MAAM,QAAQ,KAAK,CAAC,SAAS,UAMpD;IAEF,gBAAgB,UAAW,MAAM,QAAQ,KAAK,CAAC,SAAS,UAItD;IAEF,YAAY,UAAW,KAAK,CAAC,UAAU,UAKrC;IAEF,UAAU,UAAW,KAAK,CAAC,UAAU,UAanC;IAEF,WAAW,UAAW;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,SAAS,KAAK,CAAC,UAAU,aAiBrE;IAEF;;;;OAIG;IACH,SAAS,+BAEP;IAEF;;;;OAIG;IACH,SAAS,+BAEP;IAEF;;;;OAIG;IACH,MAAM,0CAyBJ;IAEF,WAAW,aAET;IAEF,WAAW,aAET;IAEF,cAAc,aAMZ;IAEF,gBAAgB,aAMd;IAEF,UAAU,aAAc,MAAM,SAAS,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,UAI3E;IAEF;;;;OAIG;IACH,UAAU,UAAW,IAAI,CAAC,aAAa,EAAE,cAAc,GAAG,SAAS,CAAC,UAalE;IAEF,eAAe,yBAKb;IAEF,qBAAqB,aAAc,MAAM,mBA2BvC;IAEF,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO;IA0C7B,cAAc;IAkBd,YAAY;IAYZ,YAAY;IAoBZ,MAAM;CA4FT"}

View File

@@ -0,0 +1,81 @@
/// <reference types="react" />
export interface AnimationHandlerResponse {
itemListStyle?: React.CSSProperties;
slideStyle?: React.CSSProperties;
selectedStyle?: React.CSSProperties;
prevStyle?: React.CSSProperties;
}
export declare type AnimationHandler = (props: CarouselProps, state: CarouselState) => AnimationHandlerResponse;
export declare type SwipeAnimationHandler = (delta: {
x: number;
y: number;
}, props: CarouselProps, state: CarouselState, setState: Function) => AnimationHandlerResponse;
export declare type StopSwipingHandler = (props: CarouselProps, state: CarouselState) => AnimationHandlerResponse;
export interface CarouselProps {
ariaLabel?: string | undefined;
axis: 'horizontal' | 'vertical';
autoFocus?: boolean;
autoPlay?: boolean;
centerMode?: boolean;
centerSlidePercentage: number;
children?: React.ReactChild[];
className?: string;
dynamicHeight?: boolean;
emulateTouch?: boolean;
infiniteLoop?: boolean;
interval: number;
labels: {
leftArrow: string;
rightArrow: string;
item: string;
};
onClickItem: (index: number, item: React.ReactNode) => void;
onClickThumb: (index: number, item: React.ReactNode) => void;
onChange: (index: number, item: React.ReactNode) => void;
onSwipeStart: (event: React.TouchEvent) => void;
onSwipeEnd: (event: React.TouchEvent) => void;
onSwipeMove: (event: React.TouchEvent) => boolean;
preventMovementUntilSwipeScrollTolerance: boolean;
renderArrowPrev: (clickHandler: () => void, hasPrev: boolean, label: string) => React.ReactNode;
renderArrowNext: (clickHandler: () => void, hasNext: boolean, label: string) => React.ReactNode;
renderIndicator: (clickHandler: (e: React.MouseEvent | React.KeyboardEvent) => void, isSelected: boolean, index: number, label: string) => React.ReactNode;
renderItem: (item: React.ReactNode, options?: {
isSelected: boolean;
isPrevious: boolean;
}) => React.ReactNode;
renderThumbs: (children: React.ReactChild[]) => React.ReactChild[];
selectedItem: number;
showArrows: boolean;
showStatus: boolean;
showIndicators: boolean;
showThumbs: boolean;
statusFormatter: (currentItem: number, total: number) => string;
stopOnHover: boolean;
swipeable: boolean;
swipeScrollTolerance: number;
thumbWidth?: number;
transitionTime: number;
useKeyboardArrows?: boolean;
verticalSwipe: 'natural' | 'standard';
width: number | string;
animationHandler: 'slide' | 'fade' | AnimationHandler;
swipeAnimationHandler: SwipeAnimationHandler;
stopSwipingHandler: StopSwipingHandler;
}
export interface CarouselState {
autoPlay?: boolean;
cancelClick: boolean;
hasMount: boolean;
initialized: boolean;
isMouseEntered: boolean;
itemSize: number;
previousItem: number;
selectedItem: number;
swiping?: boolean;
swipeMovementStarted: boolean;
itemListStyle?: React.CSSProperties;
slideStyle?: React.CSSProperties;
selectedStyle?: React.CSSProperties;
prevStyle?: React.CSSProperties;
}
//# sourceMappingURL=types.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/types.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,17 @@
/// <reference types="react" />
import { CarouselProps } from './types';
export declare const noop: () => void;
export declare const defaultStatusFormatter: (current: number, total: number) => string;
export declare const isKeyboardEvent: (e?: import("react").MouseEvent<Element, MouseEvent> | import("react").KeyboardEvent<Element> | undefined) => e is import("react").KeyboardEvent<Element>;
/**
* Gets the list 'position' relative to a current index
* @param index
*/
export declare const getPosition: (index: number, props: CarouselProps) => number;
/**
* Sets the 'position' transform for sliding animations
* @param position
* @param forceReflow
*/
export declare const setPosition: (position: number, axis: 'horizontal' | 'vertical') => React.CSSProperties;
//# sourceMappingURL=utils.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/Carousel/utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,eAAO,MAAM,IAAI,YAAW,CAAC;AAE7B,eAAO,MAAM,sBAAsB,YAAa,MAAM,SAAS,MAAM,WAA6B,CAAC;AAEnG,eAAO,MAAM,eAAe,2JACW,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,SAAS,aAAa,KAAG,MAyBjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,MAAM,QAAQ,YAAY,GAAG,UAAU,KAAG,KAAK,CAAC,aAQrF,CAAC"}