Files
SnowLuma/.pnpm-store/v11/files/6e/e06deb96d65319e701602d105234a985d46435bebacaa0e3d69587f7f04eab02017b206cb373e50f8e4f232e5681fef606bd2b457193e646c41bfd1f4963b9
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

80 lines
2.8 KiB
Plaintext

import { DOM_MEMO } from "../constants.js";
import { createContext } from "./context.js";
import { useContext } from "../context.js";
import { Children } from "../children.js";
import { isValidElement, reactAPICompatVersion, shallowEqual } from "../base.js";
import { createPortal, flushSync, render } from "./render.js";
import { createRef, forwardRef, startTransition, startViewTransition, use, useCallback, useDebugValue, useDeferredValue, useEffect, useId, useImperativeHandle, useInsertionEffect, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore, useTransition, useViewTransition } from "../hooks/index.js";
import { useActionState, useFormStatus, useOptimistic } from "./hooks/index.js";
import { Fragment, jsxDEV } from "./jsx-dev-runtime.js";
import "./jsx-runtime.js";
import { ErrorBoundary, Suspense } from "./components.js";
//#region src/jsx/dom/index.ts
/**
* @module
* This module provides APIs for `hono/jsx/dom`.
*/
const createElement = (tag, props, ...children) => {
const jsxProps = props ? { ...props } : {};
if (children.length) jsxProps.children = children.length === 1 ? children[0] : children;
let key = void 0;
if ("key" in jsxProps) {
key = jsxProps.key;
delete jsxProps.key;
}
return jsxDEV(tag, jsxProps, key);
};
const cloneElement = (element, props, ...children) => {
return jsxDEV(element.tag, {
...element.props,
...props,
children: children.length ? children : element.props.children
}, element.key);
};
const memo = (component, propsAreEqual = shallowEqual) => {
const wrapper = ((props) => component(props));
wrapper[DOM_MEMO] = propsAreEqual;
return wrapper;
};
var dom_default = {
version: reactAPICompatVersion,
useState,
useEffect,
useRef,
useCallback,
use,
startTransition,
useTransition,
useDeferredValue,
startViewTransition,
useViewTransition,
useMemo,
useLayoutEffect,
useInsertionEffect,
useReducer,
useId,
useDebugValue,
createRef,
forwardRef,
useImperativeHandle,
useSyncExternalStore,
useFormStatus,
useActionState,
useOptimistic,
Suspense,
ErrorBoundary,
createContext,
useContext,
memo,
isValidElement,
createElement,
cloneElement,
Children,
Fragment,
StrictMode: Fragment,
flushSync,
createPortal
};
//#endregion
export { Children, ErrorBoundary, Fragment, Fragment as StrictMode, Suspense, cloneElement, createContext, createElement, createElement as jsx, createPortal, createRef, dom_default as default, flushSync, forwardRef, isValidElement, memo, render, startTransition, startViewTransition, use, useActionState, useCallback, useContext, useDebugValue, useDeferredValue, useEffect, useFormStatus, useId, useImperativeHandle, useInsertionEffect, useLayoutEffect, useMemo, useOptimistic, useReducer, useRef, useState, useSyncExternalStore, useTransition, useViewTransition, reactAPICompatVersion as version };