@trap_stevo/legendarybuilderproreact-ui
Version:
The legendary UI & utility API that makes your application a legendary application. ~ Created by Steven Compton
52 lines • 2.67 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
import React, { useState } from "react";
function HUDEnchantmentAmbience(hudEnchantmentAmbienceConfigurationSettings) {
var _hudEnchantmentAmbien = hudEnchantmentAmbienceConfigurationSettings.enchantmentColor,
enchantmentColor = _hudEnchantmentAmbien === void 0 ? "rgba(26, 188, 156, 0.6)" : _hudEnchantmentAmbien,
_hudEnchantmentAmbien2 = hudEnchantmentAmbienceConfigurationSettings.configurationSettings,
configurationSettings = _hudEnchantmentAmbien2 === void 0 ? {} : _hudEnchantmentAmbien2,
children = hudEnchantmentAmbienceConfigurationSettings.children;
var _useState = useState({}),
_useState2 = _slicedToArray(_useState, 2),
hoverStyles = _useState2[0],
setHoverStyles = _useState2[1];
var enchantmentStyles = _objectSpread({
position: "absolute",
transition: "background 0.3s",
borderRadius: "inherit",
pointerEvents: "none",
content: '""',
height: "100%",
width: "100%",
left: 0,
top: 0
}, hoverStyles);
var mergedStyles = _objectSpread({
position: "relative",
overflow: "hidden",
border: "2px solid #333"
}, configurationSettings);
var handleMouseMove = function handleMouseMove(e) {
var rect = e.currentTarget.getBoundingClientRect();
var x = e.clientX - rect.left;
var y = e.clientY - rect.top;
setHoverStyles({
background: "radial-gradient(circle at ".concat(x, "px ").concat(y, "px, ").concat(enchantmentColor, ", transparent 70%)")
});
};
var handleMouseLeave = function handleMouseLeave() {
setHoverStyles({});
};
return /*#__PURE__*/React.createElement("div", {
style: mergedStyles,
onMouseLeave: handleMouseLeave,
onMouseMove: handleMouseMove
}, /*#__PURE__*/React.createElement("div", {
style: enchantmentStyles
}), children);
}
;
export default HUDEnchantmentAmbience;