mirror of
https://github.com/nextui-org/nextui.git
synced 2025-12-08 19:26:11 +00:00
* chore(root): menu and select components in progress * chore(root): merged with main * feat(menu): stories created * feat(dropdown): menu migrated to menu component * feat(select): base implementation in progress * feat(select): listbox implemented * feat(select): scroll overflow and auto scroll added * feat(select): colors & variants improved, inside placement complete, outside pending * feat(scroll-shadow): new component in progress * feat(select): scroll shadow integrated * fix(select): popover implementation, more scroll shadow stories added * feat(listbox): custom styles example added to stories * chore(listbox): overflow hidden removed * feat(select): variants and styles completed * chore(select): description story added * feat(select): more stories added * fix(select): dynamic collections inference, styles improved, more stories added * fix(select): auto scroll to selected item, scroll padding added * chore(select): scroll behavior changed to nearest * feat(select): custom item story added * fix(select): autoscroll fixed * feat(select): multi select support added * feat(select): more examples added, clean-package modified to remove dev packages * chore(modal): useImperativeHandle removed * feat(select): render value story improved * feat(docs): listbox & scroll shadow docs done * feat(docs): select documentation in progress * fix: select aria label (#1425) * feat(docs): more examples added * feat(docs): select multiple added, storybook favicon changed * fix: added value to aria label of select (#1431) * feat(select): more examples added, storybook favicon changed * fix(popover): dialog role removed * feat(select): api added, async loading exampled added * fix: fixed list box on click not working with sr click (#1439) * feat(select): async items loading support added and documented * feat(root): input styles updated to be as the select ones * chore(root): listbox and scroll shadow readme updated * feat(select): ts examples added, banner updated * fix(popover): voiceover closes when focusing an item fixed * chore(select): focus scope removed * fix(popover): free solo popover added to use without a trigger * feat(select): blog post added * chore(docs): search meta generated, multi controlled onchange example fixed * chore(root): changeset added --------- Co-authored-by: Jakob Guddas <github@jguddas.de>
239 lines
5.7 KiB
TypeScript
239 lines
5.7 KiB
TypeScript
const data = `export const users = [
|
|
{
|
|
id: 1,
|
|
name: "Tony Reichert",
|
|
role: "CEO",
|
|
team: "Management",
|
|
status: "active",
|
|
age: "29",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/1.png",
|
|
email: "tony.reichert@example.com",
|
|
},
|
|
{
|
|
id: 2,
|
|
name: "Zoey Lang",
|
|
role: "Tech Lead",
|
|
team: "Development",
|
|
status: "paused",
|
|
age: "25",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/1.png",
|
|
email: "zoey.lang@example.com",
|
|
},
|
|
{
|
|
id: 3,
|
|
name: "Jane Fisher",
|
|
role: "Sr. Dev",
|
|
team: "Development",
|
|
status: "active",
|
|
age: "22",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/2.png",
|
|
email: "jane.fisher@example.com",
|
|
},
|
|
{
|
|
id: 4,
|
|
name: "William Howard",
|
|
role: "C.M.",
|
|
team: "Marketing",
|
|
status: "vacation",
|
|
age: "28",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/2.png",
|
|
email: "william.howard@example.com",
|
|
},
|
|
{
|
|
id: 5,
|
|
name: "Kristen Copper",
|
|
role: "S. Manager",
|
|
team: "Sales",
|
|
status: "active",
|
|
age: "24",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/3.png",
|
|
email: "kristen.cooper@example.com",
|
|
},
|
|
{
|
|
id: 6,
|
|
name: "Brian Kim",
|
|
role: "P. Manager",
|
|
team: "Management",
|
|
age: "29",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/3.png",
|
|
email: "brian.kim@example.com",
|
|
status: "Active",
|
|
},
|
|
{
|
|
id: 7,
|
|
name: "Michael Hunt",
|
|
role: "Designer",
|
|
team: "Design",
|
|
status: "paused",
|
|
age: "27",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/4.png",
|
|
email: "michael.hunt@example.com",
|
|
},
|
|
{
|
|
id: 8,
|
|
name: "Samantha Brooks",
|
|
role: "HR Manager",
|
|
team: "HR",
|
|
status: "active",
|
|
age: "31",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/4.png",
|
|
email: "samantha.brooks@example.com",
|
|
},
|
|
{
|
|
id: 9,
|
|
name: "Frank Harrison",
|
|
role: "F. Manager",
|
|
team: "Finance",
|
|
status: "vacation",
|
|
age: "33",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/5.png",
|
|
email: "frank.harrison@example.com",
|
|
},
|
|
{
|
|
id: 10,
|
|
name: "Emma Adams",
|
|
role: "Ops Manager",
|
|
team: "Operations",
|
|
status: "active",
|
|
age: "35",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/5.png",
|
|
email: "emma.adams@example.com",
|
|
},
|
|
{
|
|
id: 11,
|
|
name: "Brandon Stevens",
|
|
role: "Jr. Dev",
|
|
team: "Development",
|
|
status: "active",
|
|
age: "22",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/7.png",
|
|
email: "brandon.stevens@example.com",
|
|
},
|
|
{
|
|
id: 12,
|
|
name: "Megan Richards",
|
|
role: "P. Manager",
|
|
team: "Product",
|
|
status: "paused",
|
|
age: "28",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/7.png",
|
|
email: "megan.richards@example.com",
|
|
},
|
|
{
|
|
id: 13,
|
|
name: "Oliver Scott",
|
|
role: "S. Manager",
|
|
team: "Security",
|
|
status: "active",
|
|
age: "37",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/8.png",
|
|
email: "oliver.scott@example.com",
|
|
},
|
|
{
|
|
id: 14,
|
|
name: "Grace Allen",
|
|
role: "M. Specialist",
|
|
team: "Marketing",
|
|
status: "active",
|
|
age: "30",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/8.png",
|
|
email: "grace.allen@example.com",
|
|
},
|
|
{
|
|
id: 15,
|
|
name: "Noah Carter",
|
|
role: "IT Specialist",
|
|
team: "I. Technology",
|
|
status: "paused",
|
|
age: "31",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/9.png",
|
|
email: "noah.carter@example.com",
|
|
},
|
|
{
|
|
id: 16,
|
|
name: "Ava Perez",
|
|
role: "Manager",
|
|
team: "Sales",
|
|
status: "active",
|
|
age: "29",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/9.png",
|
|
email: "ava.perez@example.com",
|
|
},
|
|
{
|
|
id: 17,
|
|
name: "Liam Johnson",
|
|
role: "Data Analyst",
|
|
team: "Analysis",
|
|
status: "active",
|
|
age: "28",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/11.png",
|
|
email: "liam.johnson@example.com",
|
|
},
|
|
{
|
|
id: 18,
|
|
name: "Sophia Taylor",
|
|
role: "QA Analyst",
|
|
team: "Testing",
|
|
status: "active",
|
|
age: "27",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/11.png",
|
|
email: "sophia.taylor@example.com",
|
|
},
|
|
{
|
|
id: 19,
|
|
name: "Lucas Harris",
|
|
role: "Administrator",
|
|
team: "Information Technology",
|
|
status: "paused",
|
|
age: "32",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/male/12.png",
|
|
email: "lucas.harris@example.com",
|
|
},
|
|
{
|
|
id: 20,
|
|
name: "Mia Robinson",
|
|
role: "Coordinator",
|
|
team: "Operations",
|
|
status: "active",
|
|
age: "26",
|
|
avatar: "https://d2u8k2ocievbld.cloudfront.net/memojis/female/12.png",
|
|
email: "mia.robinson@example.com",
|
|
},
|
|
];`;
|
|
|
|
const App = `import {Select, SelectItem, Avatar} from "@nextui-org/react";
|
|
import {users} from "./data";
|
|
|
|
export default function App() {
|
|
return (
|
|
<Select
|
|
items={users}
|
|
label="Assigned to"
|
|
placeholder="Select a user"
|
|
labelPlacement="outside"
|
|
className="max-w-xs"
|
|
>
|
|
{(user) => (
|
|
<SelectItem key={user.id} textValue={user.name}>
|
|
<div className="flex gap-2 items-center">
|
|
<Avatar alt={user.name} className="flex-shrink-0" size="sm" src={user.avatar} />
|
|
<div className="flex flex-col">
|
|
<span className="text-small">{user.name}</span>
|
|
<span className="text-tiny text-default-400">{user.email}</span>
|
|
</div>
|
|
</div>
|
|
</SelectItem>
|
|
)}
|
|
</Select>
|
|
);
|
|
}`;
|
|
|
|
const react = {
|
|
"/App.jsx": App,
|
|
"/data.js": data,
|
|
};
|
|
|
|
export default {
|
|
...react,
|
|
};
|