@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
50 lines (49 loc) • 2.91 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { Root as RootCore, OverlaySlotsProvider } from "@1771technologies/lytenyte-core/internal";
import { forwardRef, memo, useEffect, useMemo } from "react";
import { hasAValidLicense, licenseState } from "../license.js";
import { AnnotationRowSectionTop } from "../components/annotations/annotation-row-sections.js";
import { AnnotationRowSectionCenter } from "../components/annotations/annotation-row-sections.js";
import { AnnotationRowSectionBottom } from "../components/annotations/annotation-row-sections.js";
import { AnnotationHeaderOverlay } from "../components/annotations/annotation-header-overlay.js";
const RootWrapper = (props, forwarded) => {
const { annotations, ...rest } = props;
const overlaySlots = useMemo(() => {
if (!annotations || annotations.length === 0)
return {};
return {
rowsTop: _jsx(AnnotationRowSectionTop, { annotations: annotations }),
rowsCenter: _jsx(AnnotationRowSectionCenter, { annotations: annotations }),
rowsBottom: _jsx(AnnotationRowSectionBottom, { annotations: annotations }),
header: _jsx(AnnotationHeaderOverlay, { annotations: annotations }),
};
}, [annotations]);
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();
}, []);
return (_jsx(OverlaySlotsProvider, { value: overlaySlots, children: _jsx(RootCore, { ref: forwarded, ...rest }) }));
};
export const Root = memo(forwardRef(RootWrapper));