(item: SharedCardRenderItem)
| 30 | } |
| 31 | |
| 32 | export function renderSharedCardHtml(item: SharedCardRenderItem): string { |
| 33 | const role = item.role ?? "listitem"; |
| 34 | const articleClass = item.articleClassName |
| 35 | ? `resource-item ${item.articleClassName}` |
| 36 | : "resource-item"; |
| 37 | |
| 38 | return ` |
| 39 | <article class="${articleClass}" role="${escapeHtml(role)}"${item.tabIndex !== undefined ? ` tabindex="${String(item.tabIndex)}"` : ""}${renderAttributes(item.articleAttributes)}> |
| 40 | <button type="button" class="resource-preview"> |
| 41 | ${item.previewMediaHtml || ""} |
| 42 | <div class="resource-info"> |
| 43 | <div class="resource-title">${escapeHtml(item.title)}</div> |
| 44 | <div class="resource-description">${escapeHtml(item.description || "No description")}</div> |
| 45 | ${item.infoExtraHtml || ""} |
| 46 | <div class="resource-meta"> |
| 47 | ${item.metaHtml || ""} |
| 48 | </div> |
| 49 | </div> |
| 50 | </button> |
| 51 | ${item.actionsHtml ? `<div class="resource-actions">${item.actionsHtml}</div>` : ""} |
| 52 | </article> |
| 53 | `; |
| 54 | } |
no test coverage detected