# BaseElement _This is the theme plugin. It provides a theming system that allows for consistent styling across elements_ _with support for inheritance, named styles, and dynamic theme switching._ ## Functions |Method|Returns|Description| |---|---|---| |[BaseElement:applyTheme](#baseelement-applytheme-self-applytochildren)|BaseElement|Applies theme styles to the element| |[BaseElement:getTheme](#baseelement-gettheme-self)|table|Gets theme properties for the element| ## BaseElement:applyTheme(self, applyToChildren) Applies the current theme to this element ### Parameters * `self` `BaseElement` The element to apply theme to * `applyToChildren` `boolean` ? Whether to apply theme to child elements (default: true) ### Returns * `BaseElement` `self` The element instance ## BaseElement:getTheme(self) Gets the theme properties for this element ### Parameters * `self` `BaseElement` The element to get theme for ### Returns * `table` `styles` The theme properties # ThemeAPI _The Theme API provides methods for managing themes globally_ ## Functions |Method|Returns|Description| |---|---|---| |[ThemeAPI.setTheme](#themeapi-settheme-newtheme)|-|Sets a new theme| |[ThemeAPI.getTheme](#themeapi-gettheme)|table|Gets the current theme| |[ThemeAPI.loadTheme](#themeapi-loadtheme-path)|-|Loads theme from JSON file| ## ThemeAPI.setTheme(newTheme) Sets the current theme ### Parameters * `newTheme` `table` The theme configuration to set ## ThemeAPI.getTheme() Gets the current theme configuration ### Returns * `table` `theme` The current theme configuration ## ThemeAPI.loadTheme(path) Loads a theme from a JSON file ### Parameters * `path` `string` Path to the theme JSON file