@stackflow/plugin-basic-ui
Render the UI within the activity using the global stack state. It provides cupertino and android themes by default.
Installation
npm install @stackflow/plugin-basic-uiUsage
Provides components in the form of application app bars.
stackflow.config.ts
import { defineConfig } from "@stackflow/config";
export const config = defineConfig({
activities: [
{
name: "MyHome",
route: "/",
},
{
name: "MyArticle",
route: "/articles/:articleId",
},
],
});stackflow.ts
import { stackflow } from "@stackflow/react";
import { basicUIPlugin } from "@stackflow/plugin-basic-ui";
import { config } from "./stackflow.config";
import { MyHome } from "./MyHome";
import { MyArticle } from "./MyArticle";
const { Stack } = stackflow({
config,
components: {
MyHome,
MyArticle,
},
plugins: [
// ...
basicUIPlugin({
theme: "cupertino",
}),
],
});basicUIPlugin Options
| Option | Type | Description |
|---|---|---|
| theme | cupertino | android | Set the theme. |
| rootClassName | string(optional) | Set the root class name. |
| appBar | AppBar(optional) | Set the app bar. |
AppScreen
import { AppScreen } from "@stackflow/plugin-basic-ui";
const Something = () => {
return (
<AppScreen appBar={{ title: "Home" }}>
<div>Hello, World</div>
</AppScreen>
);
};appBar
| Option | Type | Description |
|---|---|---|
| backButton | { renderIcon?: () => ReactNode; ariaLabel?: string; onClick?: (e) => void } | { render?: () => ReactNode } | Set the back button. |
| closeButton | { renderIcon?: () => ReactNode; ariaLabel?: string; onClick?: (e) => void } | { render?: () => ReactNode } | Set the close button. |
It also provides modal and bottom sheet components.
Modal
import { Modal } from "@stackflow/plugin-basic-ui";
const Something = () => {
return (
<Modal>
<div>Hello, World</div>
</Modal>
);
};BottomSheet
import { BottomSheet } from "@stackflow/plugin-basic-ui";
const Something = () => {
return (
<BottomSheet>
<div>Hello, World</div>
</BottomSheet>
);
};