Skip to main content

Slot

warning

This component can be used as a foundation for creating other components with customizable design and functionality.

The Slot component provides a way to render either a child component or an icon with customizable styles, sizes, and click events.

Import

Phaselis exports one main component for Slot.

import { Slot } from "phaselis";
  • Slot: Main Component import for Slot

Usage

Basic Slot with Icon

import { Slot } from "phaselis";

const Example = () => {
return <Slot icon="Check" size="md" strokeWidth={2} />;
};

export default Example;

Slot with Child Component

import { LucideIcon, Slot } from "phaselis";

const Example = () => {
return (
<Slot>
<LucideIcon name="ArrowLeft" />
</Slot>
);
};

export default Example;

Props

children

ReactNode

An optional React child element to render within the Slot. If children is provided, it will override the icon prop.

import { LucideIcon } from "phaselis";
<Slot size="md">
<LucideIcon name="ArrowRight" />
</Slot>

icon

SlotIconName

Name of the icon to render if children is not provided.

<Slot icon="Settings" />

style

array

An array of style objects applied to the Slot component or icon, containing defaultStyle, themeStyle, and propStyle.

<Slot icon="star" style={[defaultStyle, themeStyle, customStyle]} />

size

ComponentSize

Controls the size of the child component or icon. Defaults to "md".

<Slot icon="Bell" size="lg" />

strokeWidth

number

Sets the stroke width for the icon, allowing control over icon thickness.

<Slot icon="Bell" strokeWidth={1.5} />

onClick

() => void

An optional callback function triggered when the Slot component or icon is clicked.

<Slot icon="Plus" onClick={() => console.log("Icon clicked")} />

width / height

number

Custom width and height for the icon.

<Slot icon="ArrowRight" width={20} height={40} />