{"id":"destruction-studios/roact","name":"roact","scope":"destruction-studios","platform":"roblox","description":"Mirrored from the Wally registry.","version":"1.4.0","latest":"1.4.0","versions":["1.4.0"],"license":"Apache-2.0","licenseRating":"safe","licenseCaveats":["Modified files must carry a notice of changes. If the package ships a NOTICE file, its attributions must be preserved."],"licenseVerified":true,"dependencies":{},"integrity":"f40a0712ffd02e90a23d1933705b2e55804e9d6a176bbeb05c414015ba9319f5","likes":0,"downloads":0,"install":"forest install destruction-studios/roact","url":"https://forest.dev/p/roblox/destruction-studios/roact","files":"https://api.forest.dev/ai/package/roblox/destruction-studios/roact/files","readme":"## Modified by Destruction-Studios\r\n>Added defaults to classes (taken from dphfox/Fusion) 5/18/2025\r\n\r\n\r\n> This repository is deprecated and no longer maintained.\r\n> \r\n> See [react-lua](https://github.com/Roblox/react-lua) for our currently maintained React in Lua library.\r\n\r\n<h1 align=\"center\">Roact</h1>\r\n<div align=\"center\">\r\n\t<a href=\"https://github.com/Roblox/roact/actions\"><img src=\"https://github.com/Roblox/roact/workflows/CI/badge.svg\" alt=\"GitHub Actions Build Status\" /></a>\r\n\t<a href=\"https://coveralls.io/github/Roblox/roact?branch=master\"><img src=\"https://coveralls.io/repos/github/Roblox/roact/badge.svg?branch=master\" alt=\"Coveralls Coverage\" /></a>\r\n\t<a href=\"https://roblox.github.io/roact\"><img src=\"https://img.shields.io/badge/docs-website-green.svg\" alt=\"Documentation\" /></a>\r\n</div>\r\n\r\n<div align=\"center\">\r\n\tA declarative UI library for Roblox Lua inspired by <a href=\"https://reactjs.org\">React</a>.\r\n</div>\r\n\r\n<div>&nbsp;</div>\r\n\r\n## Installation\r\n\r\n### Method 1: Model File (Roblox Studio)\r\n* Download the `rbxm` model file attached to the latest release from the [GitHub releases page](https://github.com/Roblox/Roact/releases).\r\n* Insert the model into Studio into a place like `ReplicatedStorage`\r\n\r\n### Method 2: Filesystem\r\n* Copy the `src` directory into your codebase\r\n* Rename the folder to `Roact`\r\n* Use a plugin like [Rojo](https://github.com/LPGhatguy/rojo) to sync the files into a place\r\n\r\n## [Documentation](https://roblox.github.io/roact)\r\nFor a detailed guide and examples, check out [the official Roact documentation](https://roblox.github.io/roact).\r\n\r\n```lua\r\nlocal LocalPlayer = game:GetService(\"Players\").LocalPlayer\r\n\r\nlocal Roact = require(Roact)\r\n\r\n-- Create our virtual tree describing a full-screen text label.\r\nlocal tree = Roact.createElement(\"ScreenGui\", {}, {\r\n\tLabel = Roact.createElement(\"TextLabel\", {\r\n\t\tText = \"Hello, world!\",\r\n\t\tSize = UDim2.new(1, 0, 1, 0),\r\n\t}),\r\n})\r\n\r\n-- Turn our virtual tree into real instances and put them in PlayerGui\r\nRoact.mount(tree, LocalPlayer.PlayerGui, \"HelloWorld\")\r\n```\r\n\r\n## License\r\nRoact is available under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) for details.","readmeTruncated":false}