From 8ac11021da4840ff9c149feef695f9c2c2bffbf0 Mon Sep 17 00:00:00 2001 From: "qixian.cs" Date: Thu, 24 Jul 2025 17:17:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E9=92=A9=E5=AD=90=E5=92=8C=E5=B7=A5=E5=85=B7=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.ts | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 14eabae4..4a078c43 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,114 @@ +// Hooks exports export { default as useEvent } from './hooks/useEvent'; +export { default as useEffect } from './hooks/useEffect'; +export { default as useId } from './hooks/useId'; +export { resetUuid } from './hooks/useId'; +export { default as useLayoutEffect } from './hooks/useLayoutEffect'; +export { useLayoutUpdateEffect } from './hooks/useLayoutEffect'; +export { default as useMemo } from './hooks/useMemo'; export { default as useMergedState } from './hooks/useMergedState'; -export { supportNodeRef, supportRef, useComposeRef } from './ref'; +export { default as useMobile } from './hooks/useMobile'; +export { default as useState } from './hooks/useState'; +export { default as useSyncState } from './hooks/useSyncState'; + +// Hook types +export type { SetState } from './hooks/useState'; +export type { SetState as SyncSetState } from './hooks/useSyncState'; + +// Ref utilities +export { + supportNodeRef, + supportRef, + useComposeRef, + fillRef, + composeRef, + getNodeRef, +} from './ref'; + +// Utility functions export { default as get } from './utils/get'; export { default as set } from './utils/set'; +export { merge } from './utils/set'; export { default as warning } from './warning'; +export { default as omit } from './omit'; +export { default as KeyCode } from './KeyCode'; +export { default as isEqual } from './isEqual'; +export { default as isMobile } from './isMobile'; +export { default as raf } from './raf'; +export { default as proxyObject } from './proxyObject'; +export { default as setStyle } from './setStyle'; +export { default as pickAttrs } from './pickAttrs'; +export { default as composeProps } from './composeProps'; + +// Warning utilities +export { + preMessage, + warning as warningFunc, + note, + resetWarned, + call, + warningOnce, + noteOnce, +} from './warning'; +export type { preMessageFn } from './warning'; + +// Set utilities types +export type { Path } from './utils/set'; + +// SetStyle types +export type { SetStyleOptions } from './setStyle'; + +// PickAttrs types +export type { PickConfig } from './pickAttrs'; + +// Children utilities +export { default as toArray } from './Children/toArray'; +export type { Option as ToArrayOption } from './Children/toArray'; + +// DOM utilities +export { default as canUseDom } from './Dom/canUseDom'; +export { default as contains } from './Dom/contains'; +export { + injectCSS, + removeCSS, + clearContainerCache, + updateCSS, +} from './Dom/dynamicCSS'; +export { default as findDOMNode, isDOM, getDOM } from './Dom/findDOMNode'; +export { + getFocusNodeList, + saveLastFocusNode, + clearLastFocusNode, + backLastFocusNode, + limitTabRange, +} from './Dom/focus'; +export { default as isVisible } from './Dom/isVisible'; +export { default as ScrollLocker } from './Dom/scrollLocker'; +export { inShadow, getShadowRoot } from './Dom/shadow'; +export { isStyleSupport } from './Dom/styleChecker'; + +// DOM types +export type { ContainerType, Prepend, AppendType } from './Dom/dynamicCSS'; +export type { scrollLockOptions } from './Dom/scrollLocker'; + +// React utilities +export { default as isFragment } from './React/isFragment'; +export { render, unmount } from './React/render'; + +// Portal components +export { default as Portal } from './Portal'; +export { default as PortalWrapper, getOpenCount } from './PortalWrapper'; + +// Portal types +export type { PortalRef, PortalProps } from './Portal'; +export type { GetContainer, PortalWrapperProps } from './PortalWrapper'; + +// Scroll utilities +export { + default as getScrollBarSize, + getTargetScrollBarSize, +} from './getScrollBarSize'; + +// Test utilities +export { spyElementPrototypes, spyElementPrototype } from './test/domHook'; +export type { ElementClass, Property } from './test/domHook';