Value Card
Horizontal card with icon and text, for values or features lists.
<arc-value-card> Overview
>
ValueCard presents an icon beside a heading and description in a horizontal layout, making it ideal for company values, principle lists, and benefit grids. Unlike FeatureCard's vertical stacking, ValueCard places the icon to the left of the text block, producing a more compact and scannable layout that works well in tighter spaces or when you have many items to display.
The card uses a subtle border with a hover effect that brightens the border via `--border-bright` and adds a soft violet box shadow. The icon is rendered in `--accent-secondary` by default, giving it a distinct visual identity that separates it from the blue-accented FeatureCard. This color distinction helps maintain visual hierarchy when both card types appear on the same page.
Like FeatureCard, ValueCard exposes an `icon` named slot for custom icon content alongside the string `icon` property for simple text. CSS parts (`card`, `icon`, `title`, `description`) enable targeted styling from outside the shadow DOM.Guidelines
When to use
- Use for lists of values, principles, or benefits where compact layout matters
- Place in a 2-column grid for a balanced presentation of 4-6 items
- Use the icon slot to insert SVG icons for consistent sizing and theming
- Keep headings short (2-4 words) since horizontal space is limited
- Pair with a section heading above the grid for context
When not to use
- Do not add an href — value cards are not linkable; use FeatureCard for navigation
- Do not use excessively long descriptions that break the horizontal balance
- Do not mix value cards and feature cards in the same grid row
- Do not override the violet icon color without updating the hover glow to match
- Do not use value cards for single items — they are designed for grouped lists
Features
- Horizontal icon-beside-text layout for compact, scannable presentation
- Violet-accented icon area using `--accent-secondary` for visual distinction
- Subtle hover border brightening with a soft violet glow shadow
- Icon slot with fallback to the icon string property
- Full-height flex layout that equalises card heights in a grid
- CSS parts (card, icon, title, description) for external style customization
- Clean typographic hierarchy with 17px heading and 14px body text
Preview
Quality First
Every component built with accessibility in mind.
Open Source
MIT licensed with an active community.
Usage
<arc-value-card
heading="Quality First"
description="Every component built with accessibility in mind."
></arc-value-card> import { ValueCard } from '@arclux/arc-ui-react';
export default function Example() {
return (
<ValueCard
heading="Quality First"
description="Every component built with accessibility in mind."
/>
);
} <script setup>
import { ValueCard } from '@arclux/arc-ui-vue';
</script>
<template>
<ValueCard
heading="Quality First"
description="Every component built with accessibility in mind." />
</template> <script>
import { ValueCard } from '@arclux/arc-ui-svelte';
</script>
<ValueCard
heading="Quality First"
description="Every component built with accessibility in mind." /> import { Component } from '@angular/core';
import { ValueCard } from '@arclux/arc-ui-angular';
@Component({
imports: [ValueCard],
template: `
<arc-value-card
heading="Quality First"
description="Every component built with accessibility in mind."
></arc-value-card>
`,
})
export class MyComponent {} import { ValueCard } from '@arclux/arc-ui-solid';
export default function Example() {
return (
<ValueCard
heading="Quality First"
description="Every component built with accessibility in mind." />
);
} import { ValueCard } from '@arclux/arc-ui-preact';
export default function Example() {
return (
<ValueCard
heading="Quality First"
description="Every component built with accessibility in mind." />
);
} <!-- Auto-generated by @arclux/prism — do not edit manually -->
<!-- arc-value-card — requires value-card.css + base.css (or arc-ui.css) -->
<div class="arc-value-card">
<div class="card">
<div class="card__icon">★</div>
<div class="card__text">
<h3 class="card__title">Heading</h3>
<p class="card__desc">Description text goes here</p>
</div>
</div>
</div> <!-- Auto-generated by @arclux/prism — do not edit manually -->
<!-- arc-value-card — self-contained, no external CSS needed -->
<style>
.arc-value-card .card:hover { border-color: rgb(51, 51, 64);
box-shadow: 0 0 20px rgba(139, 92, 246,0.06); }
</style>
<div class="arc-value-card" style="display: flex; flex-direction: column; height: 100%">
<div class="card" style="position: relative; display: flex; align-items: flex-start; gap: 24px; padding: 24px; flex: 1; border: 1px solid rgb(24, 24, 30); border-radius: 14px">
<div style="flex-shrink: 0; color: rgb(139, 92, 246); font-size: 24px; line-height: 1; padding-top: 2px">★</div>
<div style="display: flex; flex-direction: column; gap: 8px">
<h3 style="font-size: 17px; font-weight: 600; color: rgb(232, 232, 236); margin: 0">Heading</h3>
<p style="color: rgb(138, 138, 150); font-family: 'Host Grotesk', system-ui, sans-serif; font-size: 14px; line-height: 1.7; margin: 0">Description text goes here</p>
</div>
</div>
</div> API
-
iconstring'' - Icon text displayed beside content
-
headingstring'' - Card title
-
descriptionstring'' - Card body text
See Also
- Card Content container with subtle border styling and hover effects. Links the entire card surface when an href is provided, creating a seamless clickable area with an animated gradient border.
- Feature Card Card with icon, heading, description, and animated hover effects.
- Stat Numeric statistic display with gradient value and label.