Single-click original preview in the composer rail and chat history; remove control inside the thumbnail, revealed on hover/focus (always on touch); hidden-scrollbar rail overflow paged by edge arrows with wheel panning and end-reveal on add; image-intake rejections and prompt failures announce as a transient top-center toast instead of inline strips. The attachment atoms move to a new zero-cordis package @deepseek-ai/dsh-client-ui-attachment (rail, message gallery, lightbox), seeded as a platform module; the toast is a ui-primitives atom. Strings arrive as label props bridged from the conversation dictionary.
15 lines
720 B
TypeScript
15 lines
720 B
TypeScript
/**
|
|
* Pure React attachment atoms (zero cordis): the composer draft-image rail,
|
|
* the chat-history image gallery, and the original-image lightbox. Owners
|
|
* resolve every string through their own locale namespace and pass it down;
|
|
* nothing here reads application state.
|
|
* @module @deepseek-ai/dsh-client-ui-attachment
|
|
*/
|
|
|
|
export { AttachmentRail } from './AttachmentRail.tsx'
|
|
export type { AttachmentRailItem, AttachmentRailLabels } from './AttachmentRail.tsx'
|
|
export { ImageLightbox } from './ImageLightbox.tsx'
|
|
export type { ImageLightboxLabels } from './ImageLightbox.tsx'
|
|
export { ImageGallery, MessageImage } from './MessageImage.tsx'
|
|
export type { ImageLoader, MessageImageLabels } from './MessageImage.tsx'
|