From ce7cf9435a2ca1037e5c5f7200136aae5af82c48 Mon Sep 17 00:00:00 2001 From: "Hein (Warky)" Date: Wed, 28 Jan 2026 20:07:30 +0200 Subject: [PATCH] =?UTF-8?q?feat(Former):=20=E2=9C=A8=20update=20layout=20t?= =?UTF-8?q?o=20use=20buttonArea=20prop=20instead=20of=20buttonOnTop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Former/Former.types.ts | 2 +- src/Former/FormerLayoutBottom.tsx | 6 +++--- src/Former/FormerLayoutTop.tsx | 6 +++--- src/Former/stories/example.tsx | 12 +++++++----- 4 files changed, 14 insertions(+), 12 deletions(-) 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 })} +