API Reference

llms.txt

PhotoProvider

NameDescriptionTypeDefault
childrenReact.ReactNodeRequired
onIndexChange(index: number, state: PhotoProviderState) => void
onVisibleChange(visible: boolean, index: number, state: PhotoProviderState) => void
loopEnable loop preview, number enables when count exceeds valueboolean | number3
speedAnimation speed(type: ActiveAnimationType) => number() => 400
easingEasing function(type: ActiveAnimationType) => string() => 'cubic-bezier(0.25, 0.8, 0.25, 1)'
photoClosableWhether clicking the image can closeboolean
maskClosableWhether clicking the backdrop can closebooleantrue
maskOpacityDefault backdrop opacitynumber | null1
pullClosableWhether pull-down can closebooleantrue
bannerVisibleNavigation bar visiblebooleantrue
overlayRenderCustom overlay render(props: OverlayRenderProps) => React.ReactNode
toolbarRenderCustom toolbar render(props: OverlayRenderProps) => React.ReactNode
classNamestring
maskClassNamestring
photoWrapClassNamestring
photoClassNamestring
loadingElementCustom loading elementJSX.Element
brokenElementCustom error elementJSX.Element | ((props: BrokenElementParams) => JSX.Element)
portalContainerCustom portal targetHTMLElementdocument.body

PhotoView

NameDescriptionTypeDefault
srcImage URLstring
renderCustom render function (lower priority than src)(props: PhotoRenderParams) => React.ReactNode
overlayOverlay nodeReact.ReactNode
widthCustom render node widthnumber
heightCustom render node heightnumber
childrenChild node, typically a thumbnailReact.ReactElement
triggersTrigger events('onClick' | 'onDoubleClick')[]['onClick']

DataType

NameDescriptionTypeDefault
keyUnique identifiernumber | stringRequired
srcResource URLstring
renderCustom render function(props: PhotoRenderParams) => React.ReactNode
overlayOverlay nodeReact.ReactNode
widthCustom render node widthnumber
heightCustom render node heightnumber
originRefTrigger refReact.MutableRefObject<HTMLElement | null>

OverlayRenderProps

NameDescriptionType
imagesImage listDataType[]
indexCurrent indexnumber
onIndexChangeIndex change callback(index: number) => void
visibleWhether visibleboolean
onCloseClose event callback(evt?: React.MouseEvent | React.TouchEvent) => void
overlayVisibleWhether overlay is visibleboolean
overlayOverlay nodeReact.ReactNode
rotateCurrent rotation anglenumber
onRotateRotation callback(rotate: number) => void
scaleCurrent scalenumber
onScaleScale callback(scale: number) => void