--[[ The is a wrapper for the style provider for apps. props: style : table - Includes the name of the theme and font being used. { themeName : string - The name of the theme being used. fontName : string - The name of the font being used. } ]] local CorePackages = game:GetService("CorePackages") local ArgCheck = require(CorePackages.ArgCheck) local Roact = require(CorePackages.Roact) local UIBlox = require(CorePackages.UIBlox) local StyleProvider = UIBlox.Style.Provider local StylePalette = require(script.Parent.StylePalette) local AppStyleProvider = Roact.Component:extend("AppStyleProvider") function AppStyleProvider:render() local style = self.props.style ArgCheck.isNotNil(style, "style prop for AppStyleProvider") local themeName = style.themeName local fontName = style.fontName local stylePalette = StylePalette.new() stylePalette:updateTheme(themeName) stylePalette:updateFont(fontName) local appStyle = stylePalette:currentStyle() return Roact.createElement(StyleProvider,{ style = appStyle, }, self.props[Roact.Children]) end return AppStyleProvider