Theme
On this page (3)
Component Skill — components/release-item/component-skill.md

Native basis

An <article>: the kind (data-type="new|improved|fixed|breaking"), a title, a short explanation, an optional screenshot and the PR link with the author.

Built from

Avatar.

Web Platform APIs

<article>Container queries

Classes

.mk-release-item.mk-release-item-type.mk-release-item-body.mk-release-item-title.mk-release-item-desc.mk-release-item-media.mk-release-item-meta

Data attributes

data-type: new, improved, fixed, breaking; data-variant="compact".

§Default

The kind as a labelled chip (data-type - the word is always there), the title, why it matters, a screenshot, and the PR with its author.

§Compact

data-variant='compact': kind, title and PR on one line - for a dense changelog.

§CSS view file

/* -- Release Item (website · Docs & Help) ---------------------------------
   Describes one change, improvement, or fix within a release - its kind, what changed and why it matters, with the pull request and author. */
@layer components {
  /* every box in the block measures border-box - the same on any page */
  :where(.mk-release-item, .mk-release-item *, .mk-release-item ::before, .mk-release-item ::after) { box-sizing: border-box; }
  .mk-release-item { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); align-items: start; gap: 1rem; padding-block: 1.25rem; border-block-end: 1px solid var(--border); }
  .mk-release-item-type {
    --_c: var(--muted-foreground);
    justify-self: start;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    background: color-mix(in oklch, var(--_c) 14%, transparent);
    color: var(--_c);
    font-size: 0.75rem;
    font-weight: 700;
    &[data-type="new"] { --_c: #15803d; }
    &[data-type="improved"] { --_c: #1d4ed8; }
    &[data-type="breaking"] { --_c: #b91c1c; }
  }
  .mk-release-item-body { display: grid; gap: 0.375rem; }
  .mk-release-item-title { margin: 0; font-size: 1rem; font-weight: 600; }
  .mk-release-item-desc { margin: 0; color: var(--muted-foreground); font-size: 0.9375rem; line-height: 1.6; }
  .mk-release-item-media { display: block; width: 100%; max-width: 32rem; margin-block: 0.5rem; border: 1px solid var(--border); border-radius: var(--radius-lg); }
  .mk-release-item-meta { display: flex; align-items: center; gap: 0.375rem; margin: 0; color: var(--muted-foreground); font-size: 0.8125rem;
    & a { color: inherit; font-family: var(--font-mono); }
    & .avatar { width: 1.25rem; height: 1.25rem; }
  }
  .mk-release-item[data-variant="compact"] { padding-block: 0.625rem;
    & .mk-release-item-title { font-size: 0.9375rem; font-weight: 500; }
    & .mk-release-item-body { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; }
  }
  /* -- Accessibility ------------------------------------------- */
  @media (forced-colors: active) {
    .mk-release-item-type { border: 1px solid CanvasText; }
  }
}

Comments, ideas or improvements? Edit this page's source on GitHub