{"id":"miizzuu/react-dnd","name":"react-dnd","scope":"miizzuu","platform":"roblox","description":"An implementation of React-DnD for React-Lua","version":"0.1.3","latest":"0.1.3","versions":["0.1.0","0.1.1","0.1.2","0.1.3"],"license":"MIT","licenseRating":"safe","licenseCaveats":["License identified from the packaged LICENSE file; the manifest declared none."],"licenseVerified":true,"dependencies":{"duckarmor/freeze":{"version":"^0.1.4","alias":"Freeze"},"jsdotlua/react":{"version":"^17.0.2","alias":"React"},"roblox/rodux":{"version":"^4.0.0-rc.0","alias":"Rodux"}},"integrity":"f5a053549535ab760a8e414f498489230524914dd444395b825befd6f29b29ee","likes":0,"downloads":0,"install":"forest install miizzuu/react-dnd","url":"https://forest.dev/p/roblox/miizzuu/react-dnd","files":"https://api.forest.dev/ai/package/roblox/miizzuu/react-dnd/files","readme":"# React DnD\r\n\r\nAn implementation of [React DnD](https://github.com/react-dnd/react-dnd/) for [React-Lua](https://github.com/jsdotlua/react-lua).\r\n\r\n## Example\r\n\r\n```lua\r\nlocal function DragFrame()\r\n\tlocal ref = ReactDnd.useDrag({\r\n\t\tclass = \"frame\",\r\n\t\titem = { \"cool item\" },\r\n\t\tcanDrag = true,\r\n\t\tonDragStart = function()\r\n\t\t\tprint(\"Drag started!\")\r\n\t\tend,\r\n\t\tonDragEnd = function(didDrop, dropResult)\r\n\t\t\tprint(\"Drag ended!\", didDrop, dropResult)\r\n\t\tend,\r\n\t\t--ref = myRef\r\n\t})\r\n\r\n\treturn e(\"Frame\", {\r\n\t\tAnchorPoint = Vector2.new(0.5, 0.5),\r\n\t\tPosition = UDim2.fromScale(0.2, 0.5),\r\n\t\tSize = UDim2.fromOffset(200, 50),\r\n\t\tref = ref,\r\n\t})\r\nend\r\n\r\nlocal function DropFrame()\r\n\tlocal ref = ReactDnd.useDrop({\r\n\t\taccept = { \"frame\" },\r\n\t\tcanDrop = true,\r\n\t\tonHover = function(item, isHovering, canDrop)\r\n\t\t\tprint(\"Hover!\", item, isHovering, canDrop)\r\n\t\tend,\r\n\t\tonDrop = function(item)\r\n\t\t\tprint(\"Dropped!\", item)\r\n\t\t\treturn { \"amazing drop result\" }\r\n\t\tend,\r\n\t\t--ref = myRef\r\n\t})\r\n\r\n\treturn e(\"Frame\", {\r\n\t\tAnchorPoint = Vector2.new(0.5, 0.5),\r\n\t\tPosition = UDim2.fromScale(0.8, 0.5),\r\n\t\tSize = UDim2.fromOffset(200, 50),\r\n\t\tref = ref,\r\n\t})\r\nend\r\n\r\nlocal function Example()\r\n\treturn e(ReactDnd.DndProvider, {\r\n\t\t--createBackend = function(store) end\r\n\t}, {\r\n\t\tExample = e(\"ScreenGui\", {}, {\r\n\t\t\tDragFrame = e(DragFrame),\r\n\t\t\tDropFrame = e(DropFrame),\r\n\t\t}),\r\n\t})\r\nend\r\n```\r\n","readmeTruncated":false}