跳到正文
册页

网站

Media - 影像集合

照片集合、灯箱、图片详情与地图控件。

用法

什么时候用它

组合图片浏览和地图展示界面,图片与地图生命周期由应用管理。

来自@misoto22/folio/website

TSX
import { MediaMasthead } from '@misoto22/folio/website'

说明

图片集合的简洁开场,位于控件和作品之前。

实践建议

推荐

  • 提供本地化标签、含义明确的链接和有用的图片替代文本。

避免

  • 不要在展示组件中放入服务凭据、路由逻辑或后端模型。

示例

照片集合

图库接收链接和图片插槽,同时保留每张作品的方向。示意图代替应用提供的照片,并保留描述清楚的替代文本。

照片详情

媒体详情保留应用提供的返回链接,并在浏览器子像素取整后仍维持可测得的触控尺寸。

组成部分

在调用处组合,而不是通过 props 配置——所以这个组件没有预料到的布局,依然表达得出来。

PhotographFeature

将照片与编辑式介绍组合展示,保留原图比例。

PhotographFeature props
属性类型默认值说明
image必填ReactNode—
title必填ReactNode—
actionReactNode—
captionReactNode—
descriptionReactNode—
eyebrowReactNode—

同时接受 Omit<HTMLAttributes<HTMLElement>, 'title'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaCollection

页面级图库组合;应用负责筛选和内容集合。

MediaCollection props
属性类型默认值说明
masthead必填ReactNode—
collectionIdstring—
controlsReactNode—
footerReactNode—

同时接受 HTMLAttributes<HTMLDivElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaGallery

用齐平的展示框对齐不同比例的图片,同时保留作品完整画面。

MediaGallery props
属性类型默认值说明
childrenReactNode—
emptyActionReactNode—
emptyTitleReactNode集合可能没有内容时,提供本地化的空状态文字。

同时接受 HTMLAttributes<HTMLUListElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaGalleryItem

MediaGalleryItem props
属性类型默认值说明
children必填ReactElement包含图片的应用链接。组件包负责作品的展示布局。
title必填ReactNode—
indexReactNode—
locationReactNode—
orientation'portrait' | 'landscape' | 'square'—

同时接受 Omit<HTMLAttributes<HTMLLIElement>, 'title'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaGallerySkeleton

MediaGallerySkeleton props
属性类型默认值说明
label必填string—
countnumber6—

MediaDetailLayout

竖图与说明并排展示,横图以通栏画面开场。

MediaDetailLayout props
属性类型默认值说明
backLink必填ReactElement—
media必填ReactNode—
notesLabel必填string—
orientation必填'portrait' | 'landscape' | 'square'—
title必填ReactNode—
titleId必填string—
actionsReactNode—
categoryReactNode—
headingLevel1 | 2 | 3 | 4 | 5 | 61当页面组合嵌入另一份文档时,指定标题层级。
indexReactNode—
lightReactNode—
locationReactNode—
metadataReactNode—
pagerReactNode—
relatedReactNode—

同时接受 Omit<HTMLAttributes<HTMLElement>, 'title'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaMetadata

MediaMetadata props
属性类型默认值说明
items必填DescriptionListItem[]—

同时接受 HTMLAttributes<HTMLDListElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaPager

MediaPager props
属性类型默认值说明
label必填string—
nextReactNode—
previousReactNode—

同时接受 HTMLAttributes<HTMLElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaPagerItem

MediaPagerItem props
属性类型默认值说明
direction必填'previous' | 'next'—
label必填ReactNode—
link必填ReactElement—
title必填ReactNode—
imageReactNode—

MediaThumbnailStrip

MediaThumbnailStrip props
属性类型默认值说明
heading必填ReactNode—

同时接受 HTMLAttributes<HTMLElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaThumbnail

MediaThumbnail props
属性类型默认值说明
children必填ReactElement—

MediaLightNote

应用提供观察内容和格式化标签;此组件仅负责展示。

MediaLightNote props
属性类型默认值说明
label必填ReactNode—
lines必填MediaLightNoteLine[]—

MediaMapSection

MediaMapSection props
属性类型默认值说明
map必填ReactNode—
preview必填ReactNode—
title必填ReactNode—
aliasIdstring可选的旧版锚点,由应用定义和命名。
hintReactNode—

同时接受 Omit<HTMLAttributes<HTMLElement>, 'title'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaMapFrame

MediaMapFrame props
属性类型默认值说明
compactbooleanfalse—
hintReactNode—
labelReactNode—
navigationReactNode—

同时接受 HTMLAttributes<HTMLDivElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaMapNavigation

MediaMapNavigation props
属性类型默认值说明
onZoomIn必填() => void—
onZoomOut必填() => void—
zoomInLabel必填string—
zoomOutLabel必填string—

MediaMapCanvas

具有明确尺寸的地图容器。地图创建、主题和地理计算保留在应用中。

同时接受 ComponentPropsWithRef<'div'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaMapPreview

MediaMapPreview props
属性类型默认值说明
title必填ReactNode—
actionReactNode—
childrenReactNode—
coordinatesReactNode—
imageReactNode—
placeReactNode—

MediaMapAreaList

MediaMapAreaList props
属性类型默认值说明
items必填MediaMapArea[]—
onValueChange必填(value: string) => void—
valuestring—

MediaMapMarker

适用于应用地图门户的 44px 标记,支持键盘操作。

MediaMapMarker props
属性类型默认值说明
label必填string—
activebooleanfalse—

同时接受 Omit<Extract<ButtonProps, { href?: undefined }>, 'children' | 'iconOnly'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MediaMapPin

MediaMapPin props
属性类型默认值说明
activebooleanfalse—

MediaMapSkeleton

这个组件没有自己的属性。

MediaLightbox

图片及其受控全屏弹窗,打开时焦点限制在弹窗内。

MediaLightbox props
属性类型默认值说明
aspectRatio必填number原始宽度除以高度;尺寸无效时使用安全的回退值。
closeLabel必填string—
media必填ReactNode—
onOpenChange必填(open: boolean) => void—
open必填boolean—
title必填string—
triggerLabel必填string—
expandedMediaReactNodemedia—