diff --git a/.changeset/ninety-mails-yell.md b/.changeset/ninety-mails-yell.md new file mode 100644 index 0000000000..ab7d6e5c84 --- /dev/null +++ b/.changeset/ninety-mails-yell.md @@ -0,0 +1,6 @@ +--- +"@nextui-org/menu": patch +"@nextui-org/theme": patch +--- + +Fix should not export list item internal variables type diff --git a/apps/docs/components/docs/components/code-demo/react-live-demo.tsx b/apps/docs/components/docs/components/code-demo/react-live-demo.tsx index 48e74a5aaa..527728e6ef 100644 --- a/apps/docs/components/docs/components/code-demo/react-live-demo.tsx +++ b/apps/docs/components/docs/components/code-demo/react-live-demo.tsx @@ -5,6 +5,7 @@ import * as Components from "@nextui-org/react"; import * as intlDateUtils from "@internationalized/date"; import * as reactAriaI18n from "@react-aria/i18n"; import * as reactHookForm from "react-hook-form"; +import {SandpackFiles} from "@codesandbox/sandpack-react/types"; import {BgGridContainer} from "@/components/bg-grid-container"; import {GradientBox, GradientBoxProps} from "@/components/gradient-box"; @@ -12,7 +13,7 @@ import {CopyButton} from "@/components/copy-button"; export interface ReactLiveDemoProps { code: string; - files: string[]; + files: SandpackFiles; noInline?: boolean; height?: string | number; isCentered?: boolean; @@ -47,7 +48,7 @@ export const ReactLiveDemo: React.FC = ({
)} diff --git a/packages/components/listbox/src/use-listbox-item.ts b/packages/components/listbox/src/use-listbox-item.ts index 43be909f3c..9625f839ee 100644 --- a/packages/components/listbox/src/use-listbox-item.ts +++ b/packages/components/listbox/src/use-listbox-item.ts @@ -1,7 +1,7 @@ import type {ListboxItemBaseProps} from "./base/listbox-item-base"; import {useMemo, useRef, useCallback, Fragment} from "react"; -import {listboxItem} from "@nextui-org/theme"; +import {listboxItem, MenuItemVariantProps} from "@nextui-org/theme"; import { HTMLNextUIProps, mapPropsVariants, @@ -29,7 +29,10 @@ export type UseListboxItemProps = Props & export function useListboxItem(originalProps: UseListboxItemProps) { const globalContext = useProviderContext(); - const [props, variantProps] = mapPropsVariants(originalProps, listboxItem.variantKeys); + const [props, variantProps] = mapPropsVariants( + originalProps, + listboxItem.variantKeys as (keyof MenuItemVariantProps)[], + ); const { as, diff --git a/packages/components/menu/src/menu.tsx b/packages/components/menu/src/menu.tsx index bff90fb8d1..3a74d2e23c 100644 --- a/packages/components/menu/src/menu.tsx +++ b/packages/components/menu/src/menu.tsx @@ -74,10 +74,7 @@ function Menu(props: Props, ref: ForwardedRef = Omit< - Props, - "hasChildItems" | "hasTitleTextChild" | "hasDescriptionTextChild" -> & {ref?: Ref}; +export type MenuProps = Props & {ref?: Ref}; // forwardRef doesn't support generic parameters, so cast the result to the correct type export default forwardRef(Menu) as (props: MenuProps) => ReactElement; diff --git a/packages/components/menu/src/use-menu-item.ts b/packages/components/menu/src/use-menu-item.ts index 9ed4e31253..356b5522a5 100644 --- a/packages/components/menu/src/use-menu-item.ts +++ b/packages/components/menu/src/use-menu-item.ts @@ -2,7 +2,7 @@ import type {MenuItemBaseProps} from "./base/menu-item-base"; import type {Node} from "@react-types/shared"; import {useMemo, useRef, useCallback, Fragment} from "react"; -import {menuItem} from "@nextui-org/theme"; +import {menuItem, MenuItemVariantProps} from "@nextui-org/theme"; import { HTMLNextUIProps, mapPropsVariants, @@ -29,7 +29,10 @@ export type UseMenuItemProps = Props & export function useMenuItem(originalProps: UseMenuItemProps) { const globalContext = useProviderContext(); - const [props, variantProps] = mapPropsVariants(originalProps, menuItem.variantKeys); + const [props, variantProps] = mapPropsVariants( + originalProps, + menuItem.variantKeys as (keyof MenuItemVariantProps)[], + ); const { as, diff --git a/packages/core/theme/src/components/menu.ts b/packages/core/theme/src/components/menu.ts index 2e4fb7bb4b..1b19573c48 100644 --- a/packages/core/theme/src/components/menu.ts +++ b/packages/core/theme/src/components/menu.ts @@ -529,7 +529,10 @@ export type MenuVariantProps = VariantProps; export type MenuSlots = keyof ReturnType; export type MenuSectionVariantProps = VariantProps; export type MenuSectionSlots = keyof ReturnType; -export type MenuItemVariantProps = VariantProps; +export type MenuItemVariantProps = Omit< + VariantProps, + "hasDescriptionTextChild" | "hasTitleTextChild" +>; export type MenuItemSlots = keyof ReturnType; export {menu, menuItem, menuSection};