From eccc2f2f3d856eefb2cc7c07b94e1c4cefd4d7d0 Mon Sep 17 00:00:00 2001 From: Junior Garcia Date: Thu, 18 Apr 2024 16:19:48 -0300 Subject: [PATCH] fix(core): export * from not supported on client components (#2789) * fix(core): export * from not supported on client components * fix(core): named exports implemented in several packages * chore(root): changeset description --- .changeset/sharp-planes-reply.md | 9 +++++ packages/core/react/tsup.config.ts | 1 - packages/core/system/src/index.ts | 35 +++++++++++++++-- .../aria-utils/src/collections/index.ts | 10 +++-- packages/utilities/aria-utils/src/index.ts | 19 ++++++++-- .../aria-utils/src/overlays/index.ts | 14 +++++-- packages/utilities/framer-utils/src/index.ts | 13 ++++++- packages/utilities/react-utils/src/index.ts | 38 ++++++++++++++++--- 8 files changed, 118 insertions(+), 21 deletions(-) create mode 100644 .changeset/sharp-planes-reply.md diff --git a/.changeset/sharp-planes-reply.md b/.changeset/sharp-planes-reply.md new file mode 100644 index 000000000..a271f0b74 --- /dev/null +++ b/.changeset/sharp-planes-reply.md @@ -0,0 +1,9 @@ +--- +"@nextui-org/react": patch +"@nextui-org/system": patch +"@nextui-org/aria-utils": patch +"@nextui-org/framer-utils": patch +"@nextui-org/react-utils": patch +--- + +Fix #2749 Introduced named exports for several UI-related packages to enhance modularity and usability in Next.js projects. diff --git a/packages/core/react/tsup.config.ts b/packages/core/react/tsup.config.ts index 4ac849569..0ddb926e3 100644 --- a/packages/core/react/tsup.config.ts +++ b/packages/core/react/tsup.config.ts @@ -5,5 +5,4 @@ export default defineConfig({ target: "es2019", entry: ["src/index.ts", "!src/scripts"], format: ["cjs", "esm"], - banner: {js: '"use client";'}, }); diff --git a/packages/core/system/src/index.ts b/packages/core/system/src/index.ts index 2990a1df1..55e95baad 100644 --- a/packages/core/system/src/index.ts +++ b/packages/core/system/src/index.ts @@ -1,6 +1,35 @@ -export * from "./provider"; -export * from "./provider-context"; +export type { + As, + DOMElement, + DOMElements, + CapitalizedDOMElements, + DOMAttributes, + OmitCommonProps, + RightJoinProps, + MergeWithAs, + InternalForwardRefRenderFunction, + PropsOf, + Merge, + HTMLNextUIProps, + PropGetter, + ExtendVariantProps, + ExtendVariantWithSlotsProps, + ExtendVariants, +} from "@nextui-org/system-rsc"; -export * from "@nextui-org/system-rsc"; +export { + cn, + forwardRef, + toIterator, + mapPropsVariants, + mapPropsVariantsWithCommon, + isNextUIEl, + extendVariants, +} from "@nextui-org/system-rsc"; export type {SupportedCalendars} from "./types"; +export type {NextUIProviderProps} from "./provider"; +export type {ProviderContextProps} from "./provider-context"; + +export {NextUIProvider} from "./provider"; +export {ProviderContext, useProviderContext} from "./provider-context"; diff --git a/packages/utilities/aria-utils/src/collections/index.ts b/packages/utilities/aria-utils/src/collections/index.ts index a07d1b04a..3e623cac9 100644 --- a/packages/utilities/aria-utils/src/collections/index.ts +++ b/packages/utilities/aria-utils/src/collections/index.ts @@ -1,3 +1,7 @@ -export * from "./item"; -export * from "./section"; -export * from "./types"; +export type {ItemProps} from "./item"; +export {BaseItem} from "./item"; + +export type {SectionProps} from "./section"; +export {BaseSection} from "./section"; + +export type {CollectionProps, PartialNode} from "./types"; diff --git a/packages/utilities/aria-utils/src/index.ts b/packages/utilities/aria-utils/src/index.ts index 924e62c95..8e70c1b18 100644 --- a/packages/utilities/aria-utils/src/index.ts +++ b/packages/utilities/aria-utils/src/index.ts @@ -1,4 +1,15 @@ -export * from "./collections"; -export * from "./utils"; -export * from "./type-utils"; -export * from "./overlays"; +export type {NodeWithProps} from "./type-utils"; +export type {ItemProps, SectionProps, CollectionProps, PartialNode} from "./collections"; +export type {OverlayPlacement, OverlayOptions} from "./overlays"; + +export {BaseItem, BaseSection} from "./collections"; +export {isNonContiguousSelectionModifier, isCtrlKeyPressed} from "./utils"; + +export { + ariaHideOutside, + getTransformOrigins, + toReactAriaPlacement, + toOverlayPlacement, + getShouldUseAxisPlacement, + getArrowPlacement, +} from "./overlays"; diff --git a/packages/utilities/aria-utils/src/overlays/index.ts b/packages/utilities/aria-utils/src/overlays/index.ts index 1decc5688..ccf839f2d 100644 --- a/packages/utilities/aria-utils/src/overlays/index.ts +++ b/packages/utilities/aria-utils/src/overlays/index.ts @@ -1,3 +1,11 @@ -export * from "./types"; -export * from "./utils"; -export * from "./ariaHideOutside"; +export type {OverlayPlacement, OverlayOptions} from "./types"; + +export { + getTransformOrigins, + toReactAriaPlacement, + toOverlayPlacement, + getShouldUseAxisPlacement, + getArrowPlacement, +} from "./utils"; + +export {ariaHideOutside} from "./ariaHideOutside"; diff --git a/packages/utilities/framer-utils/src/index.ts b/packages/utilities/framer-utils/src/index.ts index 28a5d95ba..9c43029e7 100644 --- a/packages/utilities/framer-utils/src/index.ts +++ b/packages/utilities/framer-utils/src/index.ts @@ -1,2 +1,11 @@ -export * from "./transition-utils"; -export * from "./resizable-panel"; +export type { + TransitionConfig, + TransitionEndConfig, + TransitionProperties, + Variants, +} from "./transition-utils"; + +export {TRANSITION_EASINGS, TRANSITION_DEFAULTS, TRANSITION_VARIANTS} from "./transition-utils"; + +export type {ResizablePanelProps} from "./resizable-panel"; +export {ResizablePanel} from "./resizable-panel"; diff --git a/packages/utilities/react-utils/src/index.ts b/packages/utilities/react-utils/src/index.ts index e42852bce..d866bfaa4 100644 --- a/packages/utilities/react-utils/src/index.ts +++ b/packages/utilities/react-utils/src/index.ts @@ -1,6 +1,34 @@ -export * from "./context"; -export * from "./refs"; -export * from "./dom"; -export * from "./dimensions"; +export type {CreateContextOptions, CreateContextReturn} from "./context"; +export type {ReactRef} from "./refs"; +export type {ShapeType} from "./dimensions"; +export type {UserAgentBrowser, UserAgentOS, ContextValue, UserAgentDeviceType} from "./dom"; -export * from "@nextui-org/react-rsc-utils"; +export {createContext} from "./context"; +export {assignRef, mergeRefs} from "./refs"; +export { + isBrowser, + canUseDOM, + getUserAgentBrowser, + getUserAgentOS, + detectOS, + detectDeviceType, + detectBrowser, + detectTouch, + createDOMRef, + createFocusableRef, + useDOMRef, + useFocusableRef, + useSyncRef, + areRectsIntersecting, +} from "./dom"; + +export {getCSSStyleVal, getRealShape} from "./dimensions"; + +export { + DOMPropNames, + DOMEventNames, + getValidChildren, + pickChildren, + renderFn, + filterDOMProps, +} from "@nextui-org/react-rsc-utils";