20CAKE20.JS
04-state

State

14

04-state/05-next-view.tsx

Next View

Example

Official Cake20 View example for next view.

export const data = {
  open: false,
};

export const refs = {
  panel: element<HTMLElement>(),
};

export const open = async () => {
  data.open = true;
  await nextView();
  refs.panel.focus();
};

export default () => (
  <main class="space-y-3">
    <Button onClick={open}>Open</Button>
    {data.open && (
      <section ref={refs.panel} tabindex={-1}>
        Notice
      </section>
    )}
  </main>
);