diff --git a/examples/react-demo/package.json b/examples/react-demo/package.json index 1b33062a..7a38dee5 100644 --- a/examples/react-demo/package.json +++ b/examples/react-demo/package.json @@ -11,14 +11,14 @@ }, "dependencies": { "@vjs-10/react": "workspace:*", - "react": "^19.1.1", - "react-dom": "^19.1.1", + "react": "^18.0.0", + "react-dom": "^18.0.0", "tailwindcss": "^4.1.13" }, "devDependencies": { "@tailwindcss/vite": "^4.1.0", - "@types/react": "^19.1.13", - "@types/react-dom": "^19.1.9", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", "@vitejs/plugin-react": "^5.0.3", "typescript": "^5.9.2", "vite": "^7.1.6" diff --git a/package.json b/package.json index 867c4307..10bb8fe5 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,8 @@ "eslint-plugin-react-refresh": "^0.4.21", "lint-staged": "^16.2.0", "prettier": "^3.6.2", - "react": "^18.3.1", + "react": "^18.0.0", + "react-dom": "^18.0.0", "simple-git-hooks": "^2.13.1", "turbo": "^2.5.8", "typescript": "^5.9.2" diff --git a/packages/react/react/package.json b/packages/react/react/package.json index 736422e5..164f4a84 100644 --- a/packages/react/react/package.json +++ b/packages/react/react/package.json @@ -43,8 +43,8 @@ "react": ">=16.8.0" }, "devDependencies": { - "@types/react": "^19.0.0", - "react": "^19.0.0", + "@types/react": "^18.0.0", + "react": "^18.0.0", "tsdown": "^0.15.4", "typescript": "^5.9.2" }, diff --git a/packages/react/react/src/components/Popover.tsx b/packages/react/react/src/components/Popover.tsx index 4617b875..6272f20b 100644 --- a/packages/react/react/src/components/Popover.tsx +++ b/packages/react/react/src/components/Popover.tsx @@ -1,7 +1,7 @@ import type { Placement } from '@floating-ui/react'; import type { ReactNode } from 'react'; -import React, { createContext, useContext, useState } from 'react'; +import React, { createContext, useContext, useEffect, useState } from 'react'; import { autoUpdate, @@ -117,7 +117,7 @@ function PopoverPositioner({ side = 'top', sideOffset = 5, children }: PopoverPo const { open, refs, floatingStyles, updatePositioning } = usePopoverContext(); // Update positioning when props change - React.useEffect(() => { + useEffect(() => { updatePositioning(side, sideOffset); }, [side, sideOffset, updatePositioning]); diff --git a/packages/react/react/src/components/Video.tsx b/packages/react/react/src/components/Video.tsx index c5b34fd8..562824cf 100644 --- a/packages/react/react/src/components/Video.tsx +++ b/packages/react/react/src/components/Video.tsx @@ -10,7 +10,7 @@ import type { VideoHTMLAttributes, } from 'react'; -import { useImperativeHandle, useRef } from 'react'; +import { forwardRef, useImperativeHandle, useRef } from 'react'; import { createMediaStateOwner } from '@vjs-10/media'; import { useMediaRef } from '@vjs-10/react-media-store'; @@ -52,7 +52,7 @@ const useMediaStateOwner = (ref: Ref, createMediaStateOwner: CreateMediaSta const DefaultVideoComponent: ElementType< Omit, HTMLVideoElement>, 'ref'> & { ref: Ref } -> = ({ children, ref, ...props }) => { +> = forwardRef(({ children, ...props }, ref) => { const { updateMediaElement } = useMediaStateOwner(ref, createMediaStateOwner); return (