yui/init.lua
Lorenzo Cogotti 958206f1f7 [*] Rework theme customization.
This commit allows more flexible and consistent theme overriding
rules for each Widget. There are 3 levels of customization.

1. Global theme (yui.theme) this is the default theme for every Ui
2. Ui theme, this overrides the global theme and provides a default
   for every Widget of the Ui
3. Widget theme, this overrides the Ui theme for a single widget

This commit also allows themes to specify a font field.
This replaces the sparse color, font and cornerRadius field often
provided by each Widget.
Widgets and Uis may also partially override a theme by specifying
only a few fields.
2022-10-25 19:06:57 +02:00

28 lines
832 B
Lua

--- Yui is Yet another User Interface library
--
-- @module yui
-- @copyright 2022, The DoubleFourteen Code Forge
-- @author Lorenzo Cogotti, Andrea Pasquini
--
-- This module exposes every module in Yui,
-- except the local @{yui.core} module and the
-- global @{yui.theme} (still accessible from @{yui.Ui}).
-- Refer to each module documentation.
local BASE = (...)..'.'
return {
Button = require(BASE..'button'),
Checkbox = require(BASE..'checkbox'),
Choice = require(BASE..'choice'),
Columns = require(BASE..'columns'),
Input = require(BASE..'input'),
Label = require(BASE..'label'),
Layout = require(BASE..'layout'),
Rows = require(BASE..'rows'),
Slider = require(BASE..'slider'),
Spacer = require(BASE..'spacer'),
Ui = require(BASE..'ui'),
Widget = require(BASE..'widget'),
}