UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

35 lines 1.62 kB
import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; import { upperFirst } from "@lincode/utils"; import createObject from "../../api/serializer/createObject"; import GameGraph from "../../visualScripting/GameGraph"; import { setGameGraph } from "../../states/useGameGraph"; import dragToCreate, { setDragImage } from "../utils/dragToCreate"; import ComponentIconImage from "./ComponentIconImage"; import DummyIK from "../../display/DummyIK"; import { setDummyIK } from "../../states/useDummyIK"; const setDraggingItem = dragToCreate((val) => { const result = createObject(val); if (result instanceof GameGraph) setGameGraph(result); else if (result instanceof DummyIK) setDummyIK(result); return result; }); const ComponentIcon = ({ name, iconName = name, onDragStart, onDragEnd }) => { return (_jsxs("div", { draggable: true, onDragStart: (e) => { setDraggingItem(name); setDragImage(e); onDragStart?.(name); }, onDragEnd: () => { setDraggingItem(undefined); onDragEnd?.(); }, className: "lingo3d-flexcenter lingo3d-flexcol", style: { width: "50%", paddingTop: 20, paddingBottom: 20 }, children: [_jsx(ComponentIconImage, { iconName: iconName }), _jsx("div", { style: { marginTop: 6, opacity: 0.75, overflow: "hidden", textOverflow: "ellipsis", maxWidth: "100%" }, children: upperFirst(name) })] })); }; export default ComponentIcon; //# sourceMappingURL=ComponentIcon.js.map