Menu Button Row / Teaser
The MenuBtnRow is a versatile button / card component based on the classic Menu Button designed to display structured information in a horizontal layout. Similar to a table row, it presents multiple data points while remaining fully interactive and selectable. Ideal for use in menus, lists, or selection interfaces where users need to quickly access detailed information at a glance.
- Design: Figma Component
Nested Instances
- An optional Circular Icon or DuoTone Icon (default) on the left to convey more context
- An optional “RemoveBtn”
.c-menu-btn__removeto delete the item - An optional Icon Button or Button on the right for any kind of action (in static versions only this button is clickable!)
Usage Details
TODOs
- Test + fix print styles
- Improve responsiveness, add dividers to grid? update grid?
Static Version
.c-menu-btn.-is-row.-is-static
Usage Details
Use the static version to display read-only data and the interactive version if the whole container should be a link or button.
Show Code
<div class="c-menu-btn -is-row -is-static" tabindex="0">
<button class="c-menu-btn__remove js-tooltip" aria-label="Bereitstellung rückgängig machen" data-placement="bottom" data-title="Bereitstellung rückgängig machen">
<i class="fa-solid fa-times" aria-hidden="true"></i>
</button>
<div class="c-menu-btn__icon">
<div class="c-circular-icon -xs" aria-hidden="true">
<i class="c-duotone-icon -pruefung_dark -sm"></i>
</div>
</div>
<div class="grid-noGutter h-width-100">
<div class="col-2_sm-12 p-r-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Static Example</p>
<p class="h-type-bold h-type-small">Try hovering over me.</p>
</div>
<div class="col-7_sm-12 h-border-left-light-gray p-x-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Bezeichnung</p>
<p class="h-type-bold h-type-small">NRF 11.100. Hydrophile Tretinoin-Creme 0,1 % aus Rezeptursubstanz</p>
</div>
<div class="col-3_sm-12 h-border-left-light-gray p-x-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Datum</p>
<p class="h-type-bold h-type-small">12.04.2025</p>
</div>
</div>
<a href="#" aria-label="In neuem Tab öffnen" class="c-btn -icon-btn -small -primarylight m-l-auto js-tooltip print-hide" data-title="In neuem Tab öffnen" data-placement="bottom">
<i class="fa-regular fa-arrow-up-right-from-square" aria-hidden="true"></i>
</a>
</div>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Selected State
Use the selected state if the whole item can be selected or needs to be highlighted..c-menu-btn.-is-row[.-is-selected]
Show Code
<div class="c-menu-btn -is-row -is-static -is-selected">
<div class="c-menu-btn__icon">
<div class="c-circular-icon -xs" aria-hidden="true">
<i class="c-duotone-icon -pruefung_dark -sm"></i>
</div>
</div>
<div class="grid-noGutter h-width-100">
<div class="col-3_sm-12 p-r-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Static Selected Example</p>
<p class="h-type-bold h-type-small">Fertigarzneimittel</p>
</div>
<div class="col-6_sm-12 h-border-left-light-gray p-x-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Bezeichnung</p>
<p class="h-type-bold h-type-small">NRF 11.100. Hydrophile Tretinoin-Creme 0,1 % aus Rezeptursubstanz</p>
</div>
<div class="col-3_sm-12 h-border-left-light-gray p-x-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Datum</p>
<p class="h-type-bold h-type-small">12.04.2025</p>
</div>
</div>
<a href="#" aria-label="Öffnen" class="c-btn -icon-btn -small -primarylight m-l-auto js-tooltip print-hide" data-title="Öffnen" data-placement="bottom">
<i class="fa-regular fa-arrow-right" aria-hidden="true"></i>
</a>
</div>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Interactive Example
.c-menu-btn.-is-row > .c-menu-btn__remove
Interactive Example
Fertigarzneimittel
Bezeichnung
NRF 11.100. Hydrophile Tretinoin-Creme 0,1 % aus Rezeptursubstanz
Datum
12.04.2025
Example With Remove Button
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Show Code
<div class="c-menu-btn -is-row" role="button" tabindex="0">
<div class="c-menu-btn__icon">
<div class="c-circular-icon -xs" aria-hidden="true">
<span class="c-badge -xs -success"></span>
<i class="c-duotone-icon -pruefung_dark -sm"></i>
</div>
</div>
<div class="grid-noGutter h-width-100">
<div class="col-3_sm-12 p-r-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Interactive Example</p>
<p class="h-type-bold h-type-small">Fertigarzneimittel</p>
</div>
<div class="col-6_sm-12 h-border-left-light-gray p-x-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Bezeichnung</p>
<p class="h-type-bold h-type-small">NRF 11.100. Hydrophile Tretinoin-Creme 0,1 % aus Rezeptursubstanz</p>
</div>
<div class="col-3_sm-12 h-border-left-light-gray p-x-12">
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Datum</p>
<p class="h-type-bold h-type-small">12.04.2025</p>
</div>
</div>
<a href="#" class="c-btn -icon-btn -small -primarylight m-l-auto js-tooltip print-hide"
aria-label="Öffnen"
data-title="Öffnen"
data-placement="bottom">
<i class="fa-regular fa-arrow-right" aria-hidden="true"></i>
</a>
</div>
<div class="c-menu-btn -is-row m-t-s" role="button">
<button class="c-menu-btn__remove js-tooltip"
aria-label="Bereitstellung rückgängig machen"
data-title="Bereitstellung rückgängig machen"
data-placement="bottom">
<i class="fa-solid fa-times" aria-hidden="true"></i>
</button>
<div class="c-menu-btn__icon">
<div class="c-circular-icon -xs" aria-hidden="true">
<span class="c-badge -xs -success"></span>
<i class="c-duotone-icon -defektur_dark -sm"></i>
</div>
</div>
<div class="grid-noGutter h-width-100">
<div>
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Example With Remove Button</p>
<p class="h-type-bold h-type-small">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </p>
</div>
</div>
</div>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Other Modifier Classes
Disabled State
.c-menu-btn.-is-row.-is-disabled
Disabled Example
Use the disabled attribute to prevent users from interacting with this element and provide a reason for why it is disabled.
Disabled Static Example
Lorem ipsum dolor sit amet
Show Code
<div class="c-menu-btn -is-row -is-disabled" disabled role="button" tabindex="0">
<button class="c-menu-btn__remove js-tooltip" disabled aria-label="Bereitstellung rückgängig machen" data-placement="bottom" data-title="Bereitstellung rückgängig machen">
<i class="fa-solid fa-times" aria-hidden="true"></i>
</button>
<div class="c-menu-btn__icon">
<div class="c-circular-icon -xs -is-disabled" aria-hidden="true">
<i class="c-duotone-icon -pruefung_dark -sm"></i>
</div>
</div>
<div class="grid h-width-100">
<div>
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Disabled Example</p>
<p class="h-type-bold h-type-small">
Use the disabled attribute to prevent users from interacting with this element and provide a reason for why it is disabled.
</p>
</div>
</div>
<a disabled
class="c-btn -icon-btn -small -primarylight m-l-auto js-tooltip print-hide"
data-title="In Bearbeitung"
aria-label="In Bearbeitung"
data-placement="bottom">
<i class="fa-regular fa-arrow-right" aria-hidden="true"></i>
</a>
</div>
<div class="c-menu-btn -is-row -is-static -is-disabled m-t-s">
<button class="c-menu-btn__remove js-tooltip" disabled aria-label="Bereitstellung rückgängig machen" data-placement="bottom" data-title="Bereitstellung rückgängig machen">
<i class="fa-solid fa-times" aria-hidden="true"></i>
</button>
<div class="c-menu-btn__icon">
<div class="c-circular-icon -xs -is-disabled" aria-hidden="true">
<i class="c-duotone-icon -pruefung_dark -sm"></i>
</div>
</div>
<div class="grid h-width-100">
<div>
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Disabled Static Example</p>
<p class="h-type-bold h-type-small">Lorem ipsum dolor sit amet</p>
</div>
</div>
</div>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Error States
.c-menu-btn.-is-row.-is-static.-is-error
Keine Abfüllanweisung vorhanden
Erstellen Sie jetzt eine neue Abfüllanweisung, um fortzufahren.
Show Code
<div class="c-menu-btn -is-row -is-error" role="button" tabindex="0">
<div class="c-menu-btn__icon">
<div class="c-circular-icon -xs -is-disabled" aria-hidden="true">
<i class="c-duotone-icon -pruefung_dark -sm"></i>
<div class="c-context-icon -top -warning -xs">
<i class="fas fa-exclamation"></i>
</div>
</div>
</div>
<div class="grid h-width-100">
<div>
<p class="h-color-dark-gray h-type-extra-small -redesign m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Error Interactive Example</p>
<p class="h-type-bold h-type-small">Lorem ipsum dolor sit amet</p>
</div>
</div>
<a href="#"
class="c-btn -icon-btn -small -primarylight m-l-auto js-tooltip print-hide"
data-title="In Bearbeitung"
aria-label="In Bearbeitung"
data-placement="bottom">
<i class="fa-regular fa-arrow-right" aria-hidden="true"></i>
</a>
</div>
<!-- Static Error Example -->
<div class="c-menu-btn -is-row -is-static -is-error m-t-s">
<div class="c-menu-btn__icon">
<div class="c-circular-icon -is-disabled -xs" aria-hidden="true">
<i class="fad fa-file-lines fa-1-5x h-color-disabled"></i>
<div class="c-context-icon -top -warning -xs">
<i class="far fa-exclamation"></i>
</div>
</div>
</div>
<div class="h-flex h-flex-row h-align-center h-gap-s h-width-100">
<div class="h-flex-grow">
<p class="h-color-dark-gray h-type-small m-b-xxs h-type-bold h-no-wrap h-overflow-ellipsis">Keine Abfüllanweisung vorhanden</p>
<p class="h-type-small m-b-0">Erstellen Sie jetzt eine neue Abfüllanweisung, um fortzufahren.</p>
</div>
<button type="button" class="c-btn -small -secondary -icon-left">
<i class="fa-regular fa-plus" aria-hidden="true"></i>
Neue Abfüllanweisung erstellen
</button>
</div>
</div>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Highlighted Error Example (Delete)
Use the h-bg-color-error-lighter class to highlight the error state, e.g. when an item should be deleted.
.c-menu-btn.-is-row.-is-static.-is-error.h-bg-color-error-lighter
E-Rezept löschen?
Die Rezeptur “NRF 11.100. Hydrophile Tretinoin-Creme 0,1 % aus Rezeptursubstanz” wird unwiderruflich aus dem Laborprogramm gelöscht.
Show Code
<div class="c-menu-btn -is-row -is-static -is-error h-bg-color-error-lighter m-t-s">
<div class="c-menu-btn__icon">
<i class="fad fa-message-exclamation fa-1-5x h-color-error-darker"></i>
</div>
<div class="h-flex h-flex-row h-align-center h-gap-s h-width-100">
<div>
<p class="h-color-error-darkest h-type-small m-b-xxs h-type-bold">E-Rezept löschen?</p>
<p class="h-color-error-darkest h-type-small m-b-0">Die Rezeptur “NRF 11.100. Hydrophile Tretinoin-Creme 0,1 % aus Rezeptursubstanz” wird unwiderruflich aus dem Laborprogramm gelöscht.</p>
</div>
<div class="h-flex h-flex-row h-gap-xs h-flex-grow">
<button type="button" class="c-btn -small -secondary-outline">
Abbrechen
</button>
<button type="button" class="c-btn -small -error -icon-left">
<i class="fa-regular fa-trash" aria-hidden="true"></i>
Löschen
</button>
</div>
</div>
</div>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Upload Style
.c-menu-btn.-is-row[.-is-upload]
Show Code
<button type="button" class="c-menu-btn -is-row -is-upload print-hide" tabindex="0">
<span class="c-link">
<i class="fa-regular fa-plus m-r-xs" aria-hidden="true"></i>
Upload a file ...
</span>
</button>2
3
4
5
6