UNPKG

lingo3d

Version:

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

30 lines 1.2 kB
import { jsx as _jsx } from "preact/jsx-runtime"; import { pull } from "@lincode/utils"; import { useLayoutEffect } from "preact/hooks"; export const selectTab = (selectedSignal, id) => { if (selectedSignal.value.at(-1) === id) return; pull(selectedSignal.value, id); selectedSignal.value = [...selectedSignal.value, id]; }; const Tab = ({ children, selected, selectedSignal, disabled, width, id = children }) => { useLayoutEffect(() => { selectedSignal && (selected || !selectedSignal.value.length) && id && selectTab(selectedSignal, id); }, [selected, id]); return (_jsx("div", { className: "lingo3d-bg lingo3d-flexcenter", style: { width, opacity: disabled ? 0.1 : 1, height: 20, padding: width ? undefined : 12, background: !selectedSignal || selectedSignal.value.at(-1) === id ? "rgba(255, 255, 255, 0.1)" : undefined }, onClick: disabled || !id ? undefined : selectedSignal && (() => selectTab(selectedSignal, id)), children: children })); }; export default Tab; //# sourceMappingURL=Tab.js.map