Skip to main content

MultinairePositioned

Absolutely positioned container for overlay elements like badges and indicators.

Basic Usage

import { MultinairePositioned } from '@multinaire/multinaire-design';

<MultinaireContainer>
<MultinaireImage source={imageSource} />
<MultinairePositioned position={{ top: 8, right: 8 }}>
<Badge count={5} />
</MultinairePositioned>
</MultinaireContainer>

Props

PropTypeDefaultDescription
positionSpacingProps{ left: 0, top: 0, right: 0, bottom: 0 }Position from edges
marginSpacingProps-Additional margin
styleViewStyle-Additional styles

SpacingProps

// Single value (all edges)
position={8}

// Horizontal/Vertical
position={{ horizontal: 8, vertical: 16 }}

// Individual edges
position={{ top: 8, right: 8 }}

Examples

Notification Badge

<MultinaireContainer style={{ position: 'relative' }}>
<MultinaireIconButton icon="Bell" onPress={openNotifications} />
<MultinairePositioned position={{ top: 0, right: 0 }}>
<MultinaireContainer
width={16}
height={16}
borderRadius={8}
backgroundColor="error"
justifyContent="center"
alignItems="center"
>
<MultinaireText type="caption" color="onPrimary">3</MultinaireText>
</MultinaireContainer>
</MultinairePositioned>
</MultinaireContainer>

Online Indicator

<MultinaireContainer style={{ position: 'relative' }}>
<MultinaireAvatar source={user.avatar} size={48} />
<MultinairePositioned position={{ bottom: 0, right: 0 }}>
<MultinaireContainer
width={12}
height={12}
borderRadius={6}
backgroundColor="success"
/>
</MultinairePositioned>
</MultinaireContainer>

Corner Actions

<MultinaireCard style={{ position: 'relative' }}>
<CardContent />
<MultinairePositioned position={{ top: 8, right: 8 }}>
<MultinaireIconButton icon="More" onPress={showMenu} />
</MultinairePositioned>
</MultinaireCard>

Floating Label

<MultinaireContainer style={{ position: 'relative' }}>
<MultinaireImage source={product.image} aspectRatio="1:1" />
<MultinairePositioned position={{ bottom: 0, left: 0, right: 0 }}>
<MultinaireContainer backgroundColor="surface" padding={8}>
<MultinaireText>{product.name}</MultinaireText>
</MultinaireContainer>
</MultinairePositioned>
</MultinaireContainer>