Skip to content

ContentProvider

Context-based density system for content layout

Compact

Usage

tsx
import { ContentProvider, useContentDensity } from '@tryvienna/ui'

<div className="w-96">
  <ContentProvider density="default">
    <ContentSection title="User Details">
      <MetadataList items={sampleItems} />
    </ContentSection>
    <ContentSection title="Account Info">
      <MetadataList
        items={[
          { label: 'Plan', value: 'Pro' },
          { label: 'Storage', value: '50 GB' },
        ]}
      />
    </ContentSection>
  </ContentProvider>
</div>

Examples

Compact

Compact
tsx
<div className="w-96">
  <ContentProvider density="compact">
    <ContentSection title="User Details">
      <MetadataList items={sampleItems} />
    </ContentSection>
    <ContentSection title="Account Info">
      <MetadataList
        items={[
          { label: 'Plan', value: 'Pro' },
          { label: 'Storage', value: '50 GB' },
        ]}
      />
    </ContentSection>
  </ContentProvider>
</div>

Default

Default
tsx
<div className="w-96">
  <ContentProvider density="default">
    <ContentSection title="User Details">
      <MetadataList items={sampleItems} />
    </ContentSection>
    <ContentSection title="Account Info">
      <MetadataList
        items={[
          { label: 'Plan', value: 'Pro' },
          { label: 'Storage', value: '50 GB' },
        ]}
      />
    </ContentSection>
  </ContentProvider>
</div>

Relaxed

Relaxed
tsx
<div className="w-96">
  <ContentProvider density="relaxed">
    <ContentSection title="User Details">
      <MetadataList items={sampleItems} />
    </ContentSection>
    <ContentSection title="Account Info">
      <MetadataList
        items={[
          { label: 'Plan', value: 'Pro' },
          { label: 'Storage', value: '50 GB' },
        ]}
      />
    </ContentSection>
  </ContentProvider>
</div>

Variants

NameOptionsDefault
densitycompact | default | relaxedcompact

API Reference

ContentProvider

PropTypeDefaultDescription
densityContentDensity-

useContentDensity

Data Attributes

Componentdata-slot
ContentProvider"content-provider"
useContentDensity"use-content-density"