UNPKG

@croct/plug-react

Version:

React components and hooks to plug your React applications into Croct.

77 lines (76 loc) 2.63 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var ssr_polyfills_exports = {}; __export(ssr_polyfills_exports, { croct: () => croct, isSsr: () => isSsr }); module.exports = __toCommonJS(ssr_polyfills_exports); var import_plug = require("@croct/plug/plug"); function isSsr() { return globalThis.window?.document?.createElement === void 0; } const croct = !isSsr() ? function factory() { let timeoutId = null; let resolveCallback; let rejectCallback; return new Proxy(import_plug.GlobalPlug.GLOBAL, { get: function getProperty2(target, property) { switch (property) { case "plug": if (timeoutId !== null) { clearTimeout(timeoutId); timeoutId = null; rejectCallback?.(new Error("Unplug cancelled.")); } break; case "unplug": return () => { timeoutId = setTimeout(() => target.unplug().then(resolveCallback, rejectCallback), 100); return new Promise((resolve, reject) => { resolveCallback = resolve; rejectCallback = reject; }); }; } return target[property]; } }); }() : new Proxy(import_plug.GlobalPlug.GLOBAL, { get: function getProperty(_, property) { switch (property) { case "initialized": return false; case "plug": return () => { }; case "unplug": return () => Promise.resolve(); default: throw new Error( `Property croct.${String(property)} is not supported on server-side (SSR). Consider refactoring the logic as a side-effect (useEffect) or a client-side callback (onClick, onChange, etc). For help, see https://croct.help/sdk/react/client-logic-ssr` ); } } }); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { croct, isSsr });