nextui/apps/docs/content/components/dropdown/custom-items-styles.raw.jsx
Junior Garcia b8e7b94586
🚀 (#4570)
* docs: optimize route higtlight (#4520)

* docs: optimize home display (#4519)

* docs: optimize home display and route highlight

* docs: optimize home display

* fix(alert): propagate className (#4535)

* fix(alert): propagate className

* chore(alert): remove className from alert theme

* fix(avatar): title type in Avatar (#4529)

* fix(avatar): title type in Avatar

* fix(alert): apply isEmpty check on title

* fix(alert): alert interface props type

* refactor: remove unnecessary props types (#4530)

* refactor(docs): remove string type as it is included in ReactNode

* refactor: remove unnecessary types

* feat(changeset): add changeset

* chore: remove changeset

* refactor: remove null since ReactNode unions it already

* fix(input): use onPress for wrapper click focus (#4483)

* fix(input): use onPress for wrapper click focus

* test(input): wrapper click focus test

* chore(changeset): input onPress for wrapper click focus

* chore(changeset): minor wording

* Refactor/rebrand (#4532)

* chore: rebrand in progress

* chore: update docs to use heroui

* chore: components renbranded

* chore: figma moved to the docs files

* fix: posthog config

* fix(docs): extra classname in form example (#4465)

* chore: clean git

* chore: make heroui private

* chore: new logo

* chore: node env var renamed

* chore: public robots txt deleted

* chore: wrangler installed

* chore: wrangler renamed

* chore: cloudlfare workers removed

* chore: force vercel deploy

* refactor: first migration and provider

* refactor: rename nextui plugin

* refactor: rename github site

* refactor: rename CONTRIBUTING

* refactor: rename package name

* refactor: nextjs image hostname

* refactor: mdx repo nextui-org rename frontio-ai

* refactor: nextui.org rename heroui.com

* refactor: add heroui to missing places

* fix: heroui plugin name

* fix: update docs

* docs: nextui to heroui add npmrc pnpm migratation

* chore: rename all packages with new org name

* chore: replace frontio-ai by frontioai

* chore: revert previous changes

* chore: small adjustment

* chore: doc updated

* feat: blog

* chore: avatar updated

* fix: url

* chore: add new ogimage

* fix: ogimage command

* fix: heroui name and storybook welcome page

* fix: og image url

* feat: favicon and icon changed

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: winches <329487092@qq.com>

* fix: postbuild script

* chore: core package updates

* ci(changesets): version packages (#4569)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat: contributors added to the blog

---------

Co-authored-by: winches <329487092@qq.com>
Co-authored-by: աӄա <wingkwong.code@gmail.com>
Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-16 16:24:32 -03:00

124 lines
3.5 KiB
JavaScript

import {
Dropdown,
DropdownTrigger,
DropdownMenu,
DropdownSection,
DropdownItem,
Button,
User,
} from "@heroui/react";
export const PlusIcon = (props) => {
return (
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="1em"
role="presentation"
viewBox="0 0 24 24"
width="1em"
{...props}
>
<g
fill="none"
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={1.5}
>
<path d="M6 12h12" />
<path d="M12 18V6" />
</g>
</svg>
);
};
export default function App() {
return (
<Dropdown
showArrow
classNames={{
base: "before:bg-default-200", // change arrow background
content: "p-0 border-small border-divider bg-background",
}}
radius="sm"
>
<DropdownTrigger>
<Button disableRipple variant="ghost">
Open Menu
</Button>
</DropdownTrigger>
<DropdownMenu
aria-label="Custom item styles"
className="p-3"
disabledKeys={["profile"]}
itemClasses={{
base: [
"rounded-md",
"text-default-500",
"transition-opacity",
"data-[hover=true]:text-foreground",
"data-[hover=true]:bg-default-100",
"dark:data-[hover=true]:bg-default-50",
"data-[selectable=true]:focus:bg-default-50",
"data-[pressed=true]:opacity-70",
"data-[focus-visible=true]:ring-default-500",
],
}}
>
<DropdownSection showDivider aria-label="Profile & Actions">
<DropdownItem key="profile" isReadOnly className="h-14 gap-2 opacity-100">
<User
avatarProps={{
size: "sm",
src: "https://avatars.githubusercontent.com/u/30373425?v=4",
}}
classNames={{
name: "text-default-600",
description: "text-default-500",
}}
description="@jrgarciadev"
name="Junior Garcia"
/>
</DropdownItem>
<DropdownItem key="dashboard">Dashboard</DropdownItem>
<DropdownItem key="settings">Settings</DropdownItem>
<DropdownItem key="new_project" endContent={<PlusIcon className="text-large" />}>
New Project
</DropdownItem>
</DropdownSection>
<DropdownSection showDivider aria-label="Preferences">
<DropdownItem key="quick_search" shortcut="⌘K">
Quick search
</DropdownItem>
<DropdownItem
key="theme"
isReadOnly
className="cursor-default"
endContent={
<select
className="z-10 outline-none w-16 py-0.5 rounded-md text-tiny group-data-[hover=true]:border-default-500 border-small border-default-300 dark:border-default-200 bg-transparent text-default-500"
id="theme"
name="theme"
>
<option>System</option>
<option>Dark</option>
<option>Light</option>
</select>
}
>
Theme
</DropdownItem>
</DropdownSection>
<DropdownSection aria-label="Help & Feedback">
<DropdownItem key="help_and_feedback">Help & Feedback</DropdownItem>
<DropdownItem key="logout">Log Out</DropdownItem>
</DropdownSection>
</DropdownMenu>
</Dropdown>
);
}