Layout
Follows MDN doc CSS Layout.
Widgets 📦
Elvis Layout mainly contains Flex
and Grid
, btw, Elvis offerrs two basic widgets Container
and SizedBox
for simple usages.
Container
/* Container */
import { Container, Colors, Elvis, Alignments } from "calling-elvis";
// Generate a `Container`
const myContainer = Container(
Text("Where is my AJ-1?"), {
align: Alignments.Center,
color: Colors.Black(),
height: 42,
margin: 10,
padding: 10,
width: 42,
});
Elvis.call(myContainer);
The Alignments
enum is from Flex
, to be honest, Container
component is a part of Flex
family, but he is too brilliant to stay in Flex
family, Layout
calls him.
Declaraction:
function Container(child: Widget, { align: Alignments, color: Colors, height: number, // rem margin: number, // rem padding: number, // rem width: number, // rem }): Widget;
List
/* List */
import { Elvis, List, Text } from "calling-elvis";
// Generate a `List`
let myList = List([
Text("poor-orphan-1"),
Text("poor-orphan-2"),
Text("poor-orphan-3"),
]);
Elvis.call(myList);
(Sorry about that), List
is a set of poor orphan children, they don't have any style, just blowing in the wind.
Declaraction:
function List(widgets: Widget[]): Widget;
SizedBox
/* SizedBox */
import { Elvis, SizedBox, Text } from "calling-elvis";
// Generate a `SizedBox`
const mySizedBox = SizedBox(
Text("My SizedBox"), {
height: 42,
width: 42,
});
Elvis.call(mySizedBox);
SizedBox
just has width
and height
two arguments, we use this component to take some white space usually.
Declaraction:
function SizedBox(widget: Widget, { height: number, // rem width: number, // rem }): Widget;