Summary: Added `axis` property to scroll container, to make scroll work in one direction, and fill out the other one.
Reviewed By: cekkaewnumchai
Differential Revision: D24390943
fbshipit-source-id: 5767e753edfb947f43b3998e10d6cebf57f9b53b
Summary:
Restore sidebar functionality for Sandy plugins
Also needed to fix some circular dependency issues as fallout.
Reviewed By: cekkaewnumchai
Differential Revision: D24362215
fbshipit-source-id: 0a09ac35ba981322ae0793edc3aa79ffddf2ce73
Summary:
Render a plugin list
Will add tests once the entire feature is complete
Reviewed By: cekkaewnumchai
Differential Revision: D24079897
fbshipit-source-id: db7250ff612b67ab18dfcacdcb9c44dab596933d
Summary: This diff adds the device switcher, filling the switcher with apps and devices.
Reviewed By: cekkaewnumchai
Differential Revision: D24053787
fbshipit-source-id: 4f69835a12eec90a0e5704f71c8ceed5509f61ce
Summary: Added standardized dimensions for padding and gap, to encourage people to build layouts that look consistent, using for example `padv="small"`
Reviewed By: cekkaewnumchai
Differential Revision: D23961386
fbshipit-source-id: 33cd3b8974858e021a8b7d1b32f018fe3f007c63
Summary:
This diff introduces:
- ScrollContainer
- Make sure Ant Link components always open URLs externally, to avoid users needing to use electron api's
- Introduce a design systems page where people can find docs on how to organise sandy layout, and it also provides a convenient way to test layout mechanisms.
- Fixed several layout bugs found as a result of adding the design system page
In next diff:
- more convenience around organizing paddings
- making the design system accessible from the menu
Reviewed By: cekkaewnumchai
Differential Revision: D23930274
fbshipit-source-id: 4aab058d15b3391287e0e32513a5d83831448857
Summary:
This diff introduces the AppInspect pane.
I didn't get very fare, and it is markup only, but while at it made a bunch of other improvement in the component lib, so figured to prematurely submit to don't make the diffs too big.
Improvements
- Separated sidebar and Layout.X, as it was to much responsibility for one component, and made customization hard. Also caused state loss when switching between resizable and not.
- Setup a basic top level selection. Maybe will move it into redux in the future, but for now it suffices.
- Introduced Layout.Horizontal and `Layout.Vertical` as alternative to Ant design's space. The reason is that the latter can't stretching children, which we use quite frequently. (that is because they use wrappers to create spacing, but since we run on Electron, we can use CSS `gap` instead, which handles that much more elegantly).
- Fixed issue where gutter handle could disappear when dragging to far.
Reviewed By: cekkaewnumchai
Differential Revision: D23867265
fbshipit-source-id: e872b7f48b868e255f2c34d45e811b8ed93d0b00
Summary: This diff introduces the. main sections and restyled resizable panes according to the Figma design
Reviewed By: cekkaewnumchai
Differential Revision: D23758349
fbshipit-source-id: 7f09574f6b5fb54551141c13667c664e1769f09a
Summary:
Fixed the layout usage in QPL, the `horizontal` was correct, but the elements where swapped (the table was supposed to take all remaining size, and sidebar it's needed space, rather than the reverse).
Made this more explicit in the Layout component, by splitting it up in `Layout.(Top|Left|Right|Bottom)`, so that one has to make an explicit choice here, making it less error prone.
Reviewed By: passy
Differential Revision: D21572438
fbshipit-source-id: 29aa3462a3c96d048825be3157730e26182cb2fa
Summary:
This diff introduces a Layout component.
Layout is now quite randomly build up by using panels, sidebars, flex columns, flexrow and view components. They all have slight different scrolling, overflow, and grow behavior. Which causes issues with areas not being srcollable, double scrollbars or simply the wrong area scrolling. Too make things worse to design, many components by default display hidden content, and show scrollbars automatically rather than deliberately.
To work towards a consist, and especially simple layout model, over time I want to build a consistent outside-in layout model, where always parents reserve space for children, and children fill the available space and device it even further.
Note that this approaches better how 'applications' typically organize their layout, which is opposite from the classic 'document', where the contents is allowed to grow and is used to push things down / aside where they want. However, such a model fits an application with toolbars, sidebars and scroll regions badly, and currently those two philosophies are mixed throughout the application.
This component is a very small first step to organizing our layout consistently. By using a new component there is less risk to break existing layouts. The `Layout` component takes up all available space, both horizontally and vertically, and gives the first child what it needs based on its own size (typically, a toolbar or (resizable) sidebar), and all the remaining space to the second child. By default the space is distributed vertically, but it can also be distributed horizontally. It can provide scrollbars as well if needed so that the main content doesn't need to provide that by itself.
Examples:
```
<Layout scrollable>
<Toolbar />
<LargePicture />
</Layout>
<Layout horizontal>
<ResizableSidebar />
<SomeContentTable />
</Layout>
```
Reviewed By: jknoxville
Differential Revision: D21178245
fbshipit-source-id: c2d2f167d1572278e51a5b66e1cbf13c42c3b898