ui

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// The padding of block-like components in px.
	BlockPadding = 30

	// The padding of block-like components in px when app width is <= 480px.
	BlockMobilePadding = 18

	// The content width of block-like components in px.
	BlockContentWidth = 580

	// The horizontal padding of base-like components in px.
	BaseHPadding = 36

	// The horizontal padding of base-like components in px when app width is <= 480px.
	BaseMobileHPadding = 12

	// The horizontal padding of base-like ad components in px.
	BaseAdHPadding = BaseHPadding / 2

	// The vertical padding of base-like components in px.
	BaseVPadding = 12

	// The default icon size in px.
	DefaultIconSize = 24

	// The default icon space.
	DefaultIconSpace = 6

	// The default width for flow items in px.
	DefaultFlowItemWidth = 372
)

Functions

This section is empty.

Types

type IAdsenseDisplay

type IAdsenseDisplay interface {
	app.UI

	// Sets the ID.
	ID(v string) IAdsenseDisplay

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IAdsenseDisplay

	// Sets the AdSense slot.
	Client(v string) IAdsenseDisplay

	// Sets the AdSense slot.
	Slot(v string) IAdsenseDisplay
}

IAdsenseDisplay is the interface that describes a responsive Adsense display unit.

Note that the Adsense script must be loaded in the app.Handler.RawHeaders.

func AdsenseDisplay

func AdsenseDisplay() IAdsenseDisplay

AdsenseDisplay creates a responsive Adsense display unit.

type IBase

type IBase interface {
	app.UI

	// Sets the ID.
	ID(v string) IBase

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IBase

	// The content.
	Content(v ...app.UI) IBase
}

IBase is the interface that describes a component that serves as a base for a content.

func Base

func Base() IBase

Base creates a base for content.

type IBlock

type IBlock interface {
	app.UI

	// Sets the ID.
	ID(v string) IBlock

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IBlock

	// Aligns content to the top.
	Top() IBlock

	// Aligns content to the middle.
	Middle() IBlock

	// Sets whether there is padding. Default is true.
	Padding(v bool) IBlock

	// The maximum content width. Default is 540px.
	MaxContentWidth(px int) IBlock

	// Sets the content.
	Content(v ...app.UI) IBlock
}

Block is the interface that describes a block of content.

func Block

func Block() IBlock

Block creates a block of content.

type IFlow

type IFlow interface {
	app.UI

	// Sets the ID.
	ID(v string) IFlow

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IFlow

	// Sets the width in px for the content items.
	// Default is 300px.
	ItemWidth(px int) IFlow

	// Sets the space between content elements in px.
	Spacing(px int) IFlow

	// Makes the items occupy all the available space when the content has only
	// one row.
	StretchItems() IFlow

	// Sets the content.
	Content(elems ...app.UI) IFlow
}

IFlow is the interface that describes a container that displays its items as a flow.

func Flow

func Flow() IFlow

Flow creates a container that displays its items as a flow.

type IFlyer

type IFlyer interface {
	app.UI

	// Sets the ID.
	ID(v string) IFlyer

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IFlyer

	// Sets the header height in px. Default is 90px.
	HeaderHeight(px int) IFlyer

	// Sets the premium ad height. Default is 250px
	PremiumHeight(px int) IFlyer

	// Sets the footer height in px. Default is 0.
	FooterHeight(px int) IFlyer

	// Sets the banner space located at the top.
	Banner(v ...app.UI) IFlyer

	// Sets the premium space located under the banner.
	Premium(v ...app.UI) IFlyer

	// Sets a bonus space located under the premium space and displayed when
	// there is enough space.
	Bonus(v ...app.UI) IFlyer
}

IFlyer is the interface that describes a base with ad spaces surrounded by placeholder header and footer.

func Flyer

func Flyer() IFlyer

Flyer creates a base with ad spaces surrounded by placeholder header and footer.

type IIcon

type IIcon interface {
	app.UI

	// Sets the ID.
	ID(v string) IIcon

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IIcon

	// Sets the style. Multiple styles can be defined by successive calls.
	Style(k, v string) IIcon

	// Sets the icon horizontal and vertical size in px.
	Size(px int) IIcon

	// Sets the SVG code or the source location.
	Src(v string) IIcon
}

IIcon is the interface that describes an icon.

func Icon

func Icon() IIcon

Icon creates an icon.

type ILink interface {
	app.UI

	// Sets the ID.
	ID(v string) ILink

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) ILink

	// Sets the style. Multiple styles can be defined by successive calls.
	Style(k, v string) ILink

	// Sets the icon SVG code or its source path.
	Icon(v string) ILink

	// Sets the icon size.
	IconSize(px int) ILink

	// Sets the space between the icon and the label.
	IconSpace(px int) ILink

	// Sets the content vertical padding.
	Padding(v int) ILink

	// Sets the label.
	Label(v string) ILink

	// Set the tooltip.
	Help(v string) ILink

	// Sets the href to go when the link is clicked
	Href(v string) ILink

	// Sets the event handler called when the link is clicked.
	OnClick(v app.EventHandler) ILink
}

ILink is the interface that describes a clickable link.

func Link() ILink

Link create a clickable link.

type ILoader

type ILoader interface {
	app.UI

	// Sets the ID.
	ID(v string) ILoader

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) ILoader

	// Sets the style. Multiple styles can be defined by successive calls.
	Style(k, v string) ILoader

	// Reports whether the loader is active.
	Loading(v bool) ILoader

	// Sets the size of the rotating circle in px. Default is 60px.
	Size(px int) ILoader

	// Sets the color of the rotating head. Default is white.
	Color(v string) ILoader

	// Sets the time it take to fully rotate. Default is 500ms.
	Speed(v time.Duration) ILoader

	// Sets the space between the loader and the label in px. Default is 18px.
	Spacing(px int) ILoader

	// Sets the label. Default is "Loading...".
	Label(v string) ILoader

	// Sets the error that occured during loading.
	Err(err error) ILoader

	// Sets the error icon.
	ErrIcon(v string) ILoader
}

func Loader

func Loader() ILoader

type IScroll

type IScroll interface {
	app.UI

	// Sets the ID.
	ID(v string) IScroll

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IScroll

	// Sets the header height in px. Default is 90px.
	HeaderHeight(px int) IScroll

	// Sets the header.
	Header(v ...app.UI) IScroll

	// Sets the content.
	Content(v ...app.UI) IScroll

	// Sets the footer height in px. Default is 0.
	FooterHeight(px int) IScroll

	// Sets the footer.
	Footer(v ...app.UI) IScroll
}

IScroll is the interface that describes a base with a scrollable content surrounded by a fixed header and footer.

func Scroll

func Scroll() IScroll

Scroll creates base with a scrollable content surrounded by a fixed header and footer.

type IShell

type IShell interface {
	app.UI

	// Sets the ID.
	ID(v string) IShell

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IShell

	// Sets the width in px for the menu and index panes.
	// Default is 270px.
	PaneWidth(px int) IShell

	// Sets the width in px for the ads pane.
	AdsWidth(px int) IShell

	// Customizes the hamburger menu button with the given element.
	// Default is ☰.
	HamburgerButton(v app.UI) IShell

	// Sets the hamburger menu content.
	HamburgerMenu(v ...app.UI) IShell

	// Sets the menu pane content.
	Menu(v ...app.UI) IShell

	// Sets the index pane content.
	Index(v ...app.UI) IShell

	// Sets the content.
	Content(v ...app.UI) IShell

	// Sets the ads pane.
	Ads(v ...app.UI) IShell
}

IShell is the interface that describes a layout that responsively displays a content with a menu pane, an index page, and a hamburger menu.

func Shell

func Shell() IShell

Shell returns a layout that responsively displays a content with a menu pane, an index pane, and a hamburger menu.

type IStack

type IStack interface {
	app.UI

	// Sets the ID.
	ID(v string) IStack

	// Sets the class. Multiple classes can be defined by successive calls.
	Class(v string) IStack

	// Sets the style. Multiple styles can be defined by successive calls.
	Style(k, v string) IStack

	// Left aligns the content on the left.
	Left() IStack

	// Center aligns the content on the horizontal center.
	Center() IStack

	// Right aligns the content on the right.
	Right() IStack

	// Top aligns the content on the top.
	Top() IStack

	// Middle aligns the content on the vertical center.
	Middle() IStack

	// Bottom aligns the content on the bottom.
	Bottom() IStack

	// Stretch stretches the content vertically.
	Stretch() IStack

	// Sets the content.
	Content(elems ...app.UI) IStack
}

IStack is the interface that describes a container that displays its items as stacked panels.

func Stack

func Stack() IStack

Stack creates a container that displays its items as stacked panels.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL