@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
38 lines (37 loc) • 2.21 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect } from "react";
import { DialogDriver } from "./dialog-driver.js";
import { PopoverDriver } from "./popover-driver.js";
import { CellSelectionDriver } from "../cell-selection/cell-selection-driver.js";
import { hasAValidLicense, licenseState } from "../license.js";
import { Root as RootCore } from "@1771technologies/lytenyte-core/yinternal";
export function Root({ children, grid, ...props }) {
useEffect(() => {
if (hasAValidLicense)
return;
const existing = document.getElementById("lng1771-watermark");
if (existing)
return;
const invalidLicenseWatermark = document.createElement("div");
invalidLicenseWatermark.style.position = "fixed";
invalidLicenseWatermark.style.bottom = "0px";
invalidLicenseWatermark.style.insetInlineEnd = "0px";
invalidLicenseWatermark.style.background = "rgb(255, 167, 167)";
invalidLicenseWatermark.style.color = "black";
invalidLicenseWatermark.style.fontSize = "1.2rem";
invalidLicenseWatermark.style.fontWeight = "bold";
invalidLicenseWatermark.style.border = "1px solid black";
invalidLicenseWatermark.style.padding = "16px";
if (licenseState === "expired")
invalidLicenseWatermark.innerHTML = `LyteNyte Grid: License key expired. Your license covers earlier versions only.`;
else if (licenseState === "invalid")
invalidLicenseWatermark.innerHTML = `LyteNyte Grid: Invalid license key. Please verify the key and try again.`;
else
invalidLicenseWatermark.innerHTML = `LyteNyte Grid PRO is being used for evaluation.
<a href="https://1771Technologies.com/pricing">Click here</a> to secure your license.`;
document.body.appendChild(invalidLicenseWatermark);
return () => invalidLicenseWatermark.remove();
}, []);
const cellSelectionMode = grid.state.cellSelectionMode.useValue();
return (_jsxs(RootCore, { ...props, grid: grid, children: [_jsx(DialogDriver, {}), _jsx(PopoverDriver, {}), cellSelectionMode !== "none" && _jsx(CellSelectionDriver, {}), children] }));
}