From 184a0f53ceccb58e1cd229e1b321f0b4347fcf19 Mon Sep 17 00:00:00 2001 From: Aleksej Komarov Date: Tue, 14 Apr 2020 04:35:45 +0300 Subject: [PATCH] Update the docs Update the docs Fix some bugs in README --- tgui/README.md | 896 +----------------- tgui/docs/component-reference.md | 981 ++++++++++++++++++++ tgui/docs/converting-old-tgui-interfaces.md | 32 +- tgui/docs/tutorial-and-examples.md | 264 ++++-- 4 files changed, 1216 insertions(+), 957 deletions(-) create mode 100644 tgui/docs/component-reference.md diff --git a/tgui/README.md b/tgui/README.md index 2a1ecdbb22e..5ddeb18fdda 100644 --- a/tgui/README.md +++ b/tgui/README.md @@ -151,897 +151,37 @@ together, and can reveal certain layout bugs which are not normally visible. - `/packages/tgui/interfaces` - Actual in-game interfaces. Interface takes data via the `state` prop and outputs an html-like stucture, which you can build using existing UI components. -- `/packages/tgui/routes.js` - This is where you want to register new -interfaces, otherwise they simply won't load. +- `/packages/tgui/layouts` - Root level UI components, that affect the final +look and feel of the browser window. They usually hold various window +elements, like the titlebar and resize handlers, and control the UI theme. +- `/packages/tgui/routes.js` - This is where tgui decides which interface to +pull and render. - `/packages/tgui/layout.js` - A root-level component, holding the window elements, like the titlebar, buttons, resize handlers. Calls `routes.js` to decide which component to render. - `/packages/tgui/styles/main.scss` - CSS entry point. +- `/packages/tgui/styles/functions.scss` - Useful SASS functions. +Stuff like `lighten`, `darken`, `luminance` are defined here. - `/packages/tgui/styles/atomic` - Atomic CSS classes. These are very simple, tiny, reusable CSS classes which you can use and combine to change appearance of your elements. Keep them small. - `/packages/tgui/styles/components` - CSS classes which are used -in UI components, and most of the stylesheets referenced here are located -in `/packages/tgui/components`. These stylesheets closely follow the +in UI components. These stylesheets closely follow the [BEM](https://en.bem.info/methodology/) methodology. -- `/packages/tgui/styles/functions.scss` - Useful SASS functions. -Stuff like `lighten`, `darken`, `luminance` are defined here. +- `/packages/tgui/styles/interfaces` - Custom stylesheets for your interfaces. +Add stylesheets here if you really need a fine control over your UI styles. +- `/packages/tgui/styles/layouts` - Layout-related styles. +- `/packages/tgui/styles/themes` - Contains all the various themes you can +use in tgui. Each theme must be registered in `webpack.config.js` file. ## Component Reference -> Notice: This documentation might be out of date, so always check the source -> code to see the most up-to-date information. - -These are the components which you can use for interface construction. -If you have trouble finding the exact prop you need on a component, -please note, that most of these components inherit from other basic -components, such as `Box`. This component in particular provides a lot -of styling options for all components, e.g. `color` and `opacity`, thus -it is used a lot in this framework. - -There are a few important semantics you need to know about: - -- Some elements support a `content` prop, which is a synonym to a -`children` prop. - - `content` is better used when your element is a self-closing tag - (like `