airbnb / airbnb/react-sketchapp

Introduce `Page.Container` component

Open
#342 2 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
Dominant language
TypeScript
Stars
14.9k
Forks
797
PR merge metrics
No merged PRs in 30d

Description

Right now the `Page` component acts a flex container, allowing to render `Artboard`'s and `SymbolMaster`'s in either a column or a row.

I'd like however to have unlimited flexibility rendering Pages by composing `Flex` components. By having some sort of arbitrary `Flex` container, I could layout items on a `Page` in complex grids if necessary.

This would require us introducing a new Component that can be utilized to compute Yoga layout, but doesn't actually result in any backed rendering.

@mathieudutour - I know this goes against some of your comments in #291, but I'm not sure how else to achieve this.

**note:** it doesn't need to be called `Flex`.

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing Page component and the discussion in issue #291, then trace how Artboard and SymbolMaster children are laid out through Yoga. Define what the new container must expose for composing arbitrary layouts and verify that it affects layout without producing a rendered backing object.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.