diff --git a/src/Former/Former.types.ts b/src/Former/Former.types.ts index 3546333..c5107f2 100644 --- a/src/Former/Former.types.ts +++ b/src/Former/Former.types.ts @@ -23,8 +23,8 @@ export interface FormerProps { id?: string; keepOpen?: boolean; layout?: { + buttonArea?: "bottom" | "none" | "top"; buttonAreaGroupProps?: GroupProps; - buttonOnTop?: boolean; closeButtonProps?: ButtonProps; closeButtonTitle?: React.ReactNode; renderBottom?: FormerSectionRender; diff --git a/src/Former/FormerLayoutBottom.tsx b/src/Former/FormerLayoutBottom.tsx index 63dd6e9..c07aa7d 100644 --- a/src/Former/FormerLayoutBottom.tsx +++ b/src/Former/FormerLayoutBottom.tsx @@ -2,8 +2,8 @@ import { useFormerStore } from './Former.store'; import { FormerButtonArea } from './FormerButtonArea'; export const FormerLayoutBottom = () => { - const { buttonOnTop, getState, opened, renderBottom } = useFormerStore((state) => ({ - buttonOnTop: state.layout?.buttonOnTop, + const { buttonArea, getState, opened, renderBottom } = useFormerStore((state) => ({ + buttonArea: state.layout?.buttonArea, getState: state.getState, opened: state.opened, renderBottom: state.layout?.renderBottom, @@ -19,5 +19,5 @@ export const FormerLayoutBottom = () => { ); } - return buttonOnTop ? <> : ; + return buttonArea === "bottom" ? : <>; }; diff --git a/src/Former/FormerLayoutTop.tsx b/src/Former/FormerLayoutTop.tsx index 45cc71c..5bc3369 100644 --- a/src/Former/FormerLayoutTop.tsx +++ b/src/Former/FormerLayoutTop.tsx @@ -2,8 +2,8 @@ import { useFormerStore } from './Former.store'; import { FormerButtonArea } from './FormerButtonArea'; export const FormerLayoutTop = () => { - const { buttonOnTop, getState, opened, renderTop } = useFormerStore((state) => ({ - buttonOnTop: state.layout?.buttonOnTop, + const { buttonArea, getState, opened, renderTop } = useFormerStore((state) => ({ + buttonArea: state.layout?.buttonArea, getState: state.getState, opened: state.opened, renderTop: state.layout?.renderTop, @@ -18,5 +18,5 @@ export const FormerLayoutTop = () => { getState ); } - return buttonOnTop ? : <>; + return buttonArea === "top" ? : <>; }; diff --git a/src/Former/stories/example.tsx b/src/Former/stories/example.tsx index 38b9997..f8b5308 100644 --- a/src/Former/stories/example.tsx +++ b/src/Former/stories/example.tsx @@ -35,8 +35,8 @@ export const FormTest = () => { url: '', }); const [layout, setLayout] = useState({ + buttonArea: "bottom", buttonAreaGroupProps: { justify: 'center' }, - buttonOnTop: false, title: 'Custom Former Title', } as FormerProps['layout']); @@ -63,11 +63,13 @@ export const FormTest = () => { label="Disable HTML Form" onChange={(event) => setDisableHTML(event.currentTarget.checked)} /> - setLayout({ ...layout, buttonOnTop: event.currentTarget.checked })} +