UNPKG

@wordpress/interactivity

Version:

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

76 lines (67 loc) 1.69 kB
if ( globalThis.SCRIPT_DEBUG ) { await import( 'preact/debug' ); } /** * External dependencies */ import { h, cloneElement, render } from 'preact'; import { batch } from '@preact/signals'; /** * Internal dependencies */ import registerDirectives, { routerRegions } from './directives'; import { init, getRegionRootFragment, initialVdom } from './init'; import { toVdom } from './vdom'; import { directive } from './hooks'; import { getNamespace } from './namespaces'; import { parseServerData, populateServerData } from './store'; import { proxifyState } from './proxies'; import { deepReadOnly, navigationSignal } from './utils'; export { store, getConfig, getServerState, type AsyncAction, type TypeYield, } from './store'; export { getContext, getServerContext, getElement } from './scopes'; export { withScope, useWatch, useInit, useEffect, useLayoutEffect, useCallback, useMemo, splitTask, withSyncEvent, } from './utils'; export { useState, useRef } from 'preact/hooks'; const requiredConsent = 'I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.'; export const privateApis = ( lock: 'I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.' ): any => { if ( lock === requiredConsent ) { return { getRegionRootFragment, initialVdom, toVdom, directive, getNamespace, h, cloneElement, render, proxifyState, parseServerData, populateServerData, batch, routerRegions, deepReadOnly, navigationSignal, }; } throw new Error( 'Forbidden access.' ); }; registerDirectives(); init();