UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

56 lines (55 loc) 1.73 kB
/** * DevExtreme (esm/__internal/grids/new/card_view/content_view/content/card/cover.js) * Version: 25.2.3 * Build date: Fri Dec 12 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { createVNode, createFragment, createComponentVNode } from "inferno"; import messageLocalization from "../../../../../../../localization/message"; import { combineClasses } from "../../../../../../core/utils/combine_classes"; import { Icon } from "../../../../../../grids/new/grid_core/icon"; import { Component } from "inferno"; export const CLASSES = { cover: "dx-card-cover", image: "dx-card-cover-image", noImage: "dx-card-cover-noimage" }; export class Cover extends Component { render() { const { id: id, imageSrc: imageSrc, alt: alt, template: Template, card: card } = this.props; const src = imageSrc; const containerClasses = combineClasses({ [CLASSES.cover]: true, [CLASSES.noImage]: !src && !Template }); return createVNode(1, "div", containerClasses, Template ? createComponentVNode(2, Template, { card: card }) : createFragment([src && createVNode(1, "img", CLASSES.image, null, 1, { src: src, alt: alt }), !src && createComponentVNode(2, Icon, { name: "imagethumbnail", "aria-label": messageLocalization.format("dxCardView-cardNoImageAriaLabel") })], 0), 0, { id: id }) } }