UNPKG

@wordpress/interactivity

Version:

Package that provides a standard and simple way to handle the frontend interactivity of Gutenberg blocks.

87 lines (86 loc) 2.02 kB
// packages/interactivity/src/index.ts import { h, cloneElement, render } from "preact"; import { batch, effect } from "@preact/signals"; import registerDirectives, { routerRegions } from "./directives.mjs"; import { initialVdom, hydrateRegions, getRegionRootFragment } from "./hydration.mjs"; import { toVdom } from "./vdom.mjs"; import { directive } from "./hooks.mjs"; import { getNamespace } from "./namespaces.mjs"; import { parseServerData, populateServerData } from "./store.mjs"; import { proxifyState } from "./proxies/index.mjs"; import { deepReadOnly, navigationSignal, onDOMReady, warn } from "./utils.mjs"; import { store, getConfig, getServerState } from "./store.mjs"; import { getContext, getServerContext, getElement } from "./scopes.mjs"; import { withScope, useWatch, useInit, useEffect, useLayoutEffect, useCallback, useMemo, splitTask, withSyncEvent } from "./utils.mjs"; import { useState, useRef } from "preact/hooks"; if (globalThis.SCRIPT_DEBUG) { await import("preact/debug"); } var watch = effect; var requiredConsent = "I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress."; var privateApis = (lock) => { if (lock === requiredConsent) { return { getRegionRootFragment, initialVdom, toVdom, directive, getNamespace, h, cloneElement, render, proxifyState, parseServerData, populateServerData, batch, routerRegions, deepReadOnly, navigationSignal, warn }; } throw new Error("Forbidden access."); }; populateServerData(parseServerData()); registerDirectives(); onDOMReady(hydrateRegions); export { getConfig, getContext, getElement, getServerContext, getServerState, privateApis, splitTask, store, useCallback, useEffect, useInit, useLayoutEffect, useMemo, useRef, useState, useWatch, watch, withScope, withSyncEvent }; //# sourceMappingURL=index.mjs.map