* docs: migrate ui docs to docs universe * created yarn workspace * added eslint and tsconfig configurations * fix eslint configurations * fixed eslint configurations * shared tailwind configurations * added shared ui package * added more shared components * migrating more components * made details components shared * move InlineCode component * moved InputText * moved Loading component * Moved Modal component * moved Select components * Moved Tooltip component * moved Search components * moved ColorMode provider * Moved Notification components and providers * used icons package * use UI colors in api-reference * moved Navbar component * used Navbar and Search in UI docs * added Feedback to UI docs * general enhancements * fix color mode * added copy colors file from ui-preset * added features and enhancements to UI docs * move Sidebar component and provider * general fixes and preparations for deployment * update docusaurus version * adjusted versions * fix output directory * remove rootDirectory property * fix yarn.lock * moved code component * added vale for all docs MD and MDX * fix tests * fix vale error * fix deployment errors * change ignore commands * add output directory * fix docs test * general fixes * content fixes * fix announcement script * added changeset * fix vale checks * added nofilter option * fix vale error
70 lines
1.7 KiB
TypeScript
70 lines
1.7 KiB
TypeScript
import {
|
|
Button,
|
|
FocusModal,
|
|
Heading,
|
|
Table,
|
|
useToggleState,
|
|
} from "@medusajs/ui"
|
|
import { useState } from "react"
|
|
|
|
export default function useToggleStateDemo() {
|
|
const [editOpen, showEdit, closeEdit] = useToggleState()
|
|
const [entityToEdit, setEntityToEdit] = useState<string>()
|
|
|
|
const entities = ["foo", "bar", "baz"]
|
|
|
|
const editEntity = (entity: string) => {
|
|
setEntityToEdit(entity)
|
|
showEdit()
|
|
}
|
|
|
|
const onSave = () => {
|
|
// do entity update, etc.
|
|
closeEdit()
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<Table>
|
|
<Table.Header>
|
|
<Table.Row>
|
|
<Table.HeaderCell>Entity Name</Table.HeaderCell>
|
|
<Table.HeaderCell className="text-right">Actions</Table.HeaderCell>
|
|
</Table.Row>
|
|
</Table.Header>
|
|
<Table.Body>
|
|
{entities.map((entity, index) => (
|
|
<Table.Row key={index}>
|
|
<Table.Cell>{entity}</Table.Cell>
|
|
<Table.Cell className="text-right">
|
|
<Button variant="secondary" onClick={() => editEntity(entity)}>
|
|
Edit
|
|
</Button>
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
))}
|
|
</Table.Body>
|
|
</Table>
|
|
<FocusModal
|
|
open={editOpen}
|
|
onOpenChange={(modalOpened) => {
|
|
if (!modalOpened) {
|
|
closeEdit()
|
|
}
|
|
}}
|
|
>
|
|
<FocusModal.Content>
|
|
<FocusModal.Header>
|
|
<Button onClick={() => onSave()}>Save</Button>
|
|
</FocusModal.Header>
|
|
<FocusModal.Body>
|
|
<div className="p-10">
|
|
<Heading>Edit {entityToEdit}</Heading>
|
|
</div>
|
|
</FocusModal.Body>
|
|
</FocusModal.Content>
|
|
</FocusModal>
|
|
</>
|
|
)
|
|
}
|