action-view
Version:
action-view
49 lines (39 loc) • 1.18 kB
Markdown
and pass it into the `ActionView` component.
- **Flexible onClick handlers:**
Each action supports synchronous or asynchronous `onClick` handlers, enabling API calls, animations, or other side effects.
- **Customizable layout:**
Control the orientation with the `layout` prop. Options: `"vertical"` or `"horizontal"`.
- **Overflow control:**
Use the `maxVisible` prop to specify how many buttons are shown before the rest overflow into a dropdown menu.
```tsx
import { ActionView } from "action-view";
import type { ClickAction } from "action-view";
const actions: ClickAction[] = [
{
label: "Edit",
onClick: async () => {
console.log("Edit clicked");
await new Promise((res) => setTimeout(res, 500)); // async example
},
type: "primary",
},
{
label: "Delete",
onClick: () => {
console.log("Delete clicked");
},
danger: true,
},
];
function Example() {
return (
<ActionView
actions={actions}
maxVisible={2} // Show only 2 buttons, rest in overflow dropdown
/>
);
}
```
Define an array of action configurations **outside** your React component