Logo

    Notch

    A floating, configurable notch that pins to the top or bottom of the screen. Pass an array of items with links and it animates the active state as you switch between them.

    The serenity of the sea

    The serenity of the sea

    Use the notch below to change my background color and text alignment.

    Installation

    Run the following command

    npx shadcn@latest add @aceternity/notch

    Props

    Notch

    PropTypeDefaultDescription
    itemsNotchItem[]The groups shown inside the notch. Pass one or many.
    position"top" | "bottom""bottom"Pin the notch to the top or bottom of the viewport.
    align"start" | "center" | "end""center"Horizontal alignment of the floating notch.
    onItemChange(itemId: string, optionId: string, option) => voidFired for any group change, alongside the per-item callback.
    closeOnSelectbooleantrueClose the panel after selecting an option.
    showSelectedValuebooleantrueShow each group's selected value next to its trigger label.
    showDividersbooleantrueRender dotted dividers between groups.
    accentColorstringvar(--color-blue-500, #3b82f6)Highlight color for the selected option. Any CSS color/variable.
    offsetnumber16Distance from the pinned edge, in pixels.
    revealbooleantruePlay the entrance animation on mount.
    classNamestringClasses applied to the floating shell.
    itemClassNamestringClasses applied to every trigger.
    panelClassNamestringClasses applied to the options panel.

    NotchItem

    PropTypeDefaultDescription
    idstringStable identifier for the group.
    labelReact.ReactNodeTrigger label shown in the bar.
    iconReact.ReactNodeOptional leading icon for the trigger.
    optionsNotchOption[]The choices revealed when the group is opened.
    defaultValuestringfirst optionUncontrolled initial selected option id.
    valuestringControlled selected option id.
    showValuebooleanShow this group's selected value. Overrides showSelectedValue.
    onChange(optionId: string, option: NotchOption) => voidFires with the selected option whenever it changes.

    NotchOption

    PropTypeDefaultDescription
    idstringStable identifier passed back in callbacks.
    labelReact.ReactNodeWhat renders for this option.
    iconReact.ReactNodeOptional leading node (icon, swatch, etc.) before label.

    Build websites faster and 10x better than your competitors with

    Aceternity UI Pro

    Next.js 15, Tailwind CSS v4 and Motion for react powered templates

    200+ templates and blocks combined

    Ready to copy paste component blocks, save days of development time

    Aceternity UI Pro Demo - Light Mode

    ceternity UI

    Access an ever-growing collection of premium, meticulously crafted templates and Component Blocks.

    A product by Aceternity
    Building in public at @mannupaaji

    © 2026 Aceternity Labs LLC. All Rights Reserved.