From ae858737fb145030659eac9dca34f59958ed75fc Mon Sep 17 00:00:00 2001 From: Tommaso Allevi Date: Sat, 5 Apr 2025 11:07:34 +0200 Subject: [PATCH 1/3] renderSync to render --- README.md | 4 +- examples/counter/src/Main.tsx | 2 +- .../counter/components/ApplyDeltaButton.tsx | 2 +- .../counter/components/SetCounterValue.tsx | 2 +- .../domains/counter/components/ShowValue.tsx | 2 +- examples/custom-element/src/Counter.tsx | 4 +- examples/e-commerce/src/Main.tsx | 2 +- .../e-commerce/src/components/CardList.tsx | 2 +- examples/e-commerce/src/components/Header.tsx | 2 +- .../src/domains/cart/components/AddToCart.tsx | 2 +- .../src/domains/cart/components/CartBadge.tsx | 2 +- .../cart/components/CartProductList.tsx | 10 +- .../domains/cart/components/CartTooltip.tsx | 2 +- .../components/ProductCategoryList.tsx | 4 +- .../product/components/ProductItem.tsx | 2 +- .../user/components/UserProfileBadge.tsx | 2 +- examples/e-commerce/src/pages/cart.tsx | 2 +- examples/e-commerce/src/pages/category.tsx | 6 +- examples/e-commerce/src/pages/checkout.tsx | 2 +- examples/e-commerce/src/pages/home.tsx | 8 +- examples/e-commerce/src/pages/login.tsx | 2 +- examples/e-commerce/src/pages/logout.tsx | 2 +- examples/e-commerce/src/pages/profile.tsx | 2 +- examples/e-commerce/src/router.tsx | 4 +- examples/empty/src/Main.tsx | 2 +- examples/random-quote/src/Main.tsx | 8 +- .../src/domains/quote/components/Quote.tsx | 2 +- .../quote/components/RefreshQuoteButton.tsx | 2 +- .../components/src/Alert/Alert.stories.tsx | 4 +- packages/components/src/Alert/index.tsx | 2 +- .../components/src/Badge/Badge.stories.tsx | 2 +- packages/components/src/Badge/index.tsx | 2 +- .../components/src/Button/Button.stories.tsx | 6 +- packages/components/src/Button/index.tsx | 2 +- packages/components/src/Card/Card.stories.tsx | 6 +- packages/components/src/Card/index.tsx | 8 +- .../src/ChatBubble/ChatBubble.stories.tsx | 4 +- packages/components/src/ChatBubble/index.tsx | 4 +- .../src/Checkbox/Checkbox.stories.tsx | 4 +- .../src/Divider/Divider.stories.tsx | 4 +- .../src/Dropdown/Dropdown.stories.tsx | 2 +- packages/components/src/Dropdown/index.tsx | 2 +- .../components/src/Footer/Footer.stories.tsx | 2 +- packages/components/src/Footer/index.tsx | 2 +- packages/components/src/Form/Form.stories.tsx | 8 +- packages/components/src/Form/index.tsx | 2 +- .../src/FormField/FormField.stories.tsx | 4 +- packages/components/src/FormField/index.tsx | 2 +- packages/components/src/Hero/Hero.stories.tsx | 2 +- packages/components/src/Hero/index.tsx | 4 +- packages/components/src/Link/Link.stories.tsx | 4 +- packages/components/src/Link/index.tsx | 2 +- .../src/Loading/Loading.stories.tsx | 4 +- packages/components/src/Menu/Menu.stories.tsx | 2 +- packages/components/src/Menu/index.tsx | 8 +- .../components/src/Modal/Modal.stories.tsx | 2 +- packages/components/src/Modal/index.tsx | 6 +- .../components/src/Navbar/Navbar.stories.tsx | 8 +- packages/components/src/Navbar/index.tsx | 8 +- .../components/src/Select/Select.stories.tsx | 2 +- packages/components/src/Select/index.tsx | 2 +- packages/components/src/Tabs/Tabs.stories.tsx | 4 +- packages/components/src/Tabs/index.tsx | 4 +- .../src/TextInput/TextInput.stories.tsx | 2 +- .../src/Typography/Heading.stories.tsx | 4 +- .../src/Typography/Prose.stories.tsx | 6 +- packages/components/src/Typography/index.tsx | 4 +- packages/components/stories/foo.tsx | 4 +- packages/seqflow/README.md | 4 +- packages/seqflow/src/component.ts | 19 +++- packages/seqflow/tests/inner/child.test.tsx | 32 +++---- packages/seqflow/tests/inner/dom.test.tsx | 8 +- .../seqflow/tests/inner/lifecycle.test.tsx | 6 +- packages/seqflow/tests/inner/onClick.test.tsx | 2 +- packages/seqflow/tests/inner/render.test.tsx | 94 +++++++++---------- .../tests/inner/unmount-checks.test.tsx | 18 ++-- packages/seqflow/tests/seqflowjs.test.tsx | 36 +++---- .../storybook/src/docs/sourceDecorator.ts | 3 +- packages/storybook/src/render.ts | 2 +- packages/website/src/Main.tsx | 2 +- .../website/src/components/ContentWithToc.tsx | 2 +- packages/website/src/components/Header.tsx | 2 +- packages/website/src/pages/Example.tsx | 2 +- packages/website/src/pages/GetStarted.tsx | 18 ++-- .../src/pages/GetStarted_1fetchData.md | 13 ++- .../src/pages/GetStarted_2splitComponents.md | 14 +-- .../src/pages/GetStarted_3refreshQuote.md | 36 +++---- .../src/pages/GetStarted_4configuration.md | 10 +- .../website/src/pages/GetStarted_6domain.md | 14 +-- packages/website/src/pages/Home.tsx | 30 +++--- packages/website/src/pages/Why.md | 10 +- packages/website/src/pages/Why.tsx | 2 +- packages/website/src/pages/blog/Blog.tsx | 4 +- 93 files changed, 315 insertions(+), 310 deletions(-) diff --git a/README.md b/README.md index 38cebec..f75307c 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ async function getRandomQuote(): Promise { export async function Main({}, { component }: Contexts) { // Render loading message - component.renderSync( + component.render(

Loading...

); @@ -35,7 +35,7 @@ export async function Main({}, { component }: Contexts) { const quote = await getRandomQuote(); // Replace loading message with quote - component.renderSync( + component.render(
{quote.content}
{quote.author}
diff --git a/examples/counter/src/Main.tsx b/examples/counter/src/Main.tsx index 4603087..2ab39a6 100644 --- a/examples/counter/src/Main.tsx +++ b/examples/counter/src/Main.tsx @@ -11,7 +11,7 @@ export async function Main( _: ComponentProps, { component }: Contexts, ) { - component.renderSync( + component.render( , { component, app }: Contexts, ) { - component.renderSync( + component.render( , @@ -72,7 +72,7 @@ export async function Counter( ) { component._el.classList.add(classes["counter-card"]); - component.renderSync( + component.render( ); + component.render(); } declare module "@seqflow/seqflow" { diff --git a/examples/e-commerce/src/components/CardList.tsx b/examples/e-commerce/src/components/CardList.tsx index 0f8d2e5..297e527 100644 --- a/examples/e-commerce/src/components/CardList.tsx +++ b/examples/e-commerce/src/components/CardList.tsx @@ -9,7 +9,7 @@ export async function CardList( }>, { component }: Contexts, ) { - component.renderSync( + component.render(
    {data.items.map((item) => (
  1. , { component, app }: Contexts, ) { - component.renderSync( + component.render( diff --git a/examples/e-commerce/src/domains/cart/components/AddToCart.tsx b/examples/e-commerce/src/domains/cart/components/AddToCart.tsx index 2b32a41..d588e13 100644 --- a/examples/e-commerce/src/domains/cart/components/AddToCart.tsx +++ b/examples/e-commerce/src/domains/cart/components/AddToCart.tsx @@ -11,7 +11,7 @@ export async function AddToCart( component._el.style.width = "100px"; - component.renderSync( + component.render( <> , diff --git a/packages/components/src/Alert/Alert.stories.tsx b/packages/components/src/Alert/Alert.stories.tsx index f700b6a..a52a974 100644 --- a/packages/components/src/Alert/Alert.stories.tsx +++ b/packages/components/src/Alert/Alert.stories.tsx @@ -8,7 +8,7 @@ async function AlertStory( props: ComponentProps, { component }: Contexts, ) { - component.renderSync(This is an alert); + component.render(This is an alert); } // biome-ignore lint/suspicious/noExplicitAny: storybook AlertStory.__storybook = (Alert as any).__storybook; @@ -25,7 +25,7 @@ export default { export const Empty = {}; export const AllAlert: StoryFn = async (_, { component }: Contexts) => { - component.renderSync( + component.render(
    { - component.renderSync( + component.render(
    The button text); + component.render(); } // biome-ignore lint/suspicious/noExplicitAny: storybook ButtonStory.__storybook = (Button as any).__storybook; @@ -43,7 +43,7 @@ export const DisableButton: StoryFn = { export const TrasitionButton: StoryFn = { component: async (_, { component }: Contexts) => { - component.renderSync(); + component.render(); }, play: async ({ canvasElement }) => { const canvas = within(canvasElement); @@ -74,7 +74,7 @@ export const TrasitionButton: StoryFn = { }; export const AllButtons: StoryFn = async (_, { component }: Contexts) => { - component.renderSync( + component.render(
    Card title @@ -32,7 +32,7 @@ export default { export const Empty = {}; export const Centered: StoryFn = async (_, { component }: Contexts) => { - component.renderSync( + component.render( Card title @@ -49,7 +49,7 @@ export const ActionOnTop: StoryFn = async ( _, { component }: Contexts, ) => { - component.renderSync( + component.render( diff --git a/packages/components/src/Card/index.tsx b/packages/components/src/Card/index.tsx index 4d8ceb0..db47b29 100644 --- a/packages/components/src/Card/index.tsx +++ b/packages/components/src/Card/index.tsx @@ -34,7 +34,7 @@ export async function Card( return; } - component.renderSync(children); + component.render(children); } export async function Body( @@ -49,7 +49,7 @@ export async function Body( return; } - component.renderSync(children); + component.render(children); } export interface TitlePropsType { @@ -68,7 +68,7 @@ export async function Title( return; } - component.renderSync(children); + component.render(children); } Title.tagName = () => "h2"; @@ -86,7 +86,7 @@ export async function Actions( return; } - component.renderSync(children); + component.render(children); } Card.Body = Body; diff --git a/packages/components/src/ChatBubble/ChatBubble.stories.tsx b/packages/components/src/ChatBubble/ChatBubble.stories.tsx index 198ad76..a310b2a 100644 --- a/packages/components/src/ChatBubble/ChatBubble.stories.tsx +++ b/packages/components/src/ChatBubble/ChatBubble.stories.tsx @@ -6,7 +6,7 @@ async function ChatBubbleStory( props: ChatBubbleProps, { component }: Contexts, ) { - component.renderSync( + component.render( <> @@ -59,5 +59,5 @@ export const AllColors: StoryFn = async ( ); } - component.renderSync(elements); + component.render(elements); }; diff --git a/packages/components/src/ChatBubble/index.tsx b/packages/components/src/ChatBubble/index.tsx index 6decd73..4d71c99 100644 --- a/packages/components/src/ChatBubble/index.tsx +++ b/packages/components/src/ChatBubble/index.tsx @@ -23,7 +23,7 @@ export async function ChatBubble( return; } - component.renderSync(children); + component.render(children); } export interface BubbleProps { @@ -59,6 +59,6 @@ async function Bubble( }); return; } - component.renderSync(children); + component.render(children); } ChatBubble.Bubble = Bubble; diff --git a/packages/components/src/Checkbox/Checkbox.stories.tsx b/packages/components/src/Checkbox/Checkbox.stories.tsx index c7c13da..3d9d6c3 100644 --- a/packages/components/src/Checkbox/Checkbox.stories.tsx +++ b/packages/components/src/Checkbox/Checkbox.stories.tsx @@ -14,7 +14,7 @@ export const AllColors: StoryFn = async ( _, { component }: Contexts, ) => { - component.renderSync( + component.render(
    @@ -29,7 +29,7 @@ export const AllColors: StoryFn = async ( }; export const AllSizes: StoryFn = async (_, { component }: Contexts) => { - component.renderSync( + component.render(
    diff --git a/packages/components/src/Divider/Divider.stories.tsx b/packages/components/src/Divider/Divider.stories.tsx index f3ad955..e9f3dda 100644 --- a/packages/components/src/Divider/Divider.stories.tsx +++ b/packages/components/src/Divider/Divider.stories.tsx @@ -14,7 +14,7 @@ export const WithoutText: StoryFn = async function OR( _: unknown, { component }: Contexts, ) { - component.renderSync( + component.render(
    content @@ -31,7 +31,7 @@ export const WithText: StoryFn = async function OR( _: unknown, { component }: Contexts, ) { - component.renderSync( + component.render(
    content diff --git a/packages/components/src/Dropdown/Dropdown.stories.tsx b/packages/components/src/Dropdown/Dropdown.stories.tsx index d353bbf..4950fc6 100644 --- a/packages/components/src/Dropdown/Dropdown.stories.tsx +++ b/packages/components/src/Dropdown/Dropdown.stories.tsx @@ -13,7 +13,7 @@ async function DropdownStory( { component }: Contexts, ) { component._el.classList.add(...["pt-48", "pl-48"]); - component.renderSync( + component.render( diff --git a/packages/components/src/Dropdown/index.tsx b/packages/components/src/Dropdown/index.tsx index 37f8226..7ffa57a 100644 --- a/packages/components/src/Dropdown/index.tsx +++ b/packages/components/src/Dropdown/index.tsx @@ -68,7 +68,7 @@ export async function Dropdown( btn.tabIndex = 0; } - component.renderSync( + component.render( <> {btn} {/**/} diff --git a/packages/components/src/Footer/Footer.stories.tsx b/packages/components/src/Footer/Footer.stories.tsx index 96114f8..e49d46e 100644 --- a/packages/components/src/Footer/Footer.stories.tsx +++ b/packages/components/src/Footer/Footer.stories.tsx @@ -5,7 +5,7 @@ async function FooterExample( props: ComponentProps, { component }: Contexts, ) { - component.renderSync( + component.render(
    ); - component.renderSync( + component.render( <> {top} {children} diff --git a/packages/components/src/Hero/Hero.stories.tsx b/packages/components/src/Hero/Hero.stories.tsx index 451ccf6..1f23db8 100644 --- a/packages/components/src/Hero/Hero.stories.tsx +++ b/packages/components/src/Hero/Hero.stories.tsx @@ -4,7 +4,7 @@ import { Button } from "../Button"; import { Heading } from "../Typography"; async function HeroStory(_: unknown, { component }: Contexts) { - component.renderSync( + component.render(
    diff --git a/packages/components/src/Hero/index.tsx b/packages/components/src/Hero/index.tsx index 63b1141..638850a 100644 --- a/packages/components/src/Hero/index.tsx +++ b/packages/components/src/Hero/index.tsx @@ -13,7 +13,7 @@ export async function Hero( return; } - component.renderSync(children); + component.render(children); } export async function HeroContent( @@ -29,7 +29,7 @@ export async function HeroContent( return; } - component.renderSync(children); + component.render(children); } Hero.Content = HeroContent; diff --git a/packages/components/src/Link/Link.stories.tsx b/packages/components/src/Link/Link.stories.tsx index 3231694..f77ca6a 100644 --- a/packages/components/src/Link/Link.stories.tsx +++ b/packages/components/src/Link/Link.stories.tsx @@ -5,7 +5,7 @@ async function LinkStory( { children, ...props }: ComponentProps, { component }: Contexts, ) { - component.renderSync(This is a link); + component.render(This is a link); } // biome-ignore lint/suspicious/noExplicitAny: storybook LinkStory.__storybook = (Link as any).__storybook; @@ -23,7 +23,7 @@ export const AllLinks = async function AllLinks( _: ComponentProps, { component }: Contexts, ) { - component.renderSync( + component.render(
    Link diff --git a/packages/components/src/Link/index.tsx b/packages/components/src/Link/index.tsx index 7d1d0c4..ccc4f81 100644 --- a/packages/components/src/Link/index.tsx +++ b/packages/components/src/Link/index.tsx @@ -122,6 +122,6 @@ export async function Link( el.href = href; el.setAttribute("href", href); - component.renderSync(children); + component.render(children); } Link.tagName = () => "a"; diff --git a/packages/components/src/Loading/Loading.stories.tsx b/packages/components/src/Loading/Loading.stories.tsx index a8861ce..7ca3a26 100644 --- a/packages/components/src/Loading/Loading.stories.tsx +++ b/packages/components/src/Loading/Loading.stories.tsx @@ -13,7 +13,7 @@ export default { export const Empty = {}; export const Types: StoryFn = async function OR(_, { component }: Contexts) { - component.renderSync( + component.render(
    , { component }: Contexts, ) { - component.renderSync( + component.render( Item 1 diff --git a/packages/components/src/Menu/index.tsx b/packages/components/src/Menu/index.tsx index 5196995..15071ea 100644 --- a/packages/components/src/Menu/index.tsx +++ b/packages/components/src/Menu/index.tsx @@ -36,7 +36,7 @@ export async function Menu( return; } - component.renderSync(children); + component.render(children); } Menu.tagName = () => "ul"; @@ -51,7 +51,7 @@ export async function MenuItem( return; } - component.renderSync(children); + component.render(children); } MenuItem.tagName = () => "li"; @@ -63,7 +63,7 @@ export async function SubMenu( { label, children }: ComponentProps, { component }: Contexts, ) { - component.renderSync( + component.render( <> "li"; diff --git a/packages/components/src/Modal/Modal.stories.tsx b/packages/components/src/Modal/Modal.stories.tsx index d6c9c49..84485bb 100644 --- a/packages/components/src/Modal/Modal.stories.tsx +++ b/packages/components/src/Modal/Modal.stories.tsx @@ -7,7 +7,7 @@ async function ModalStory( { children, ...props }: ComponentProps, { component }: Contexts, ) { - component.renderSync( + component.render( <>