From bc2929ef4fc7ed021c91d96b96498870ecf5e4e5 Mon Sep 17 00:00:00 2001 From: rahim Date: Tue, 24 Mar 2026 00:36:18 -0700 Subject: [PATCH] feat(packages): export media component building blocks (#1098) --- packages/core/src/core/index.ts | 1 + packages/core/src/dom/index.ts | 1 + packages/html/src/index.ts | 2 ++ packages/react/src/index.ts | 11 ++++++++++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/core/src/core/index.ts b/packages/core/src/core/index.ts index d83f7c66..d0dc03ba 100644 --- a/packages/core/src/core/index.ts +++ b/packages/core/src/core/index.ts @@ -1,3 +1,4 @@ +export * from './media/delegate'; export * from './media/proxy'; export * from './media/state'; export * from './ui/alert-dialog/alert-dialog-core'; diff --git a/packages/core/src/dom/index.ts b/packages/core/src/dom/index.ts index f2344cd3..c0e5d391 100644 --- a/packages/core/src/dom/index.ts +++ b/packages/core/src/dom/index.ts @@ -1,4 +1,5 @@ export * from './feature'; +export * from './media/proxy'; export * from './media/types'; export * from './store/features'; export * from './store/selectors'; diff --git a/packages/html/src/index.ts b/packages/html/src/index.ts index 6b7d1850..c3991b0b 100644 --- a/packages/html/src/index.ts +++ b/packages/html/src/index.ts @@ -1,4 +1,6 @@ // Core +export type { Delegate } from '@videojs/core'; +export { DelegateMixin } from '@videojs/core'; export * from '@videojs/core/dom'; // Store diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index df1235aa..f951885a 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,6 +1,8 @@ 'use client'; // Core +export type { Delegate } from '@videojs/core'; +export { DelegateMixin } from '@videojs/core'; export * from '@videojs/core/dom'; // Store @@ -17,10 +19,10 @@ export { useContainerAttach, useMedia, useMediaAttach, + useOptionalPlayer, usePlayer, usePlayerContext, } from './player/context'; - // Player API export { type CreatePlayerConfig, @@ -60,7 +62,14 @@ export { TimeSlider } from './ui/time-slider'; export { Tooltip, type TooltipContextValue, useTooltipContext } from './ui/tooltip'; export { VolumeSlider } from './ui/volume-slider'; +// Media utilities +export { attachMediaElement } from './utils/attach-media-element'; +export { mediaProps } from './utils/media-props'; // Utilities export { mergeProps } from './utils/merge-props'; export type { HTMLProps, RenderFunction, RenderProp, UIComponentProps } from './utils/types'; +export { composeRefs, useComposedRefs } from './utils/use-composed-refs'; +export { useDestroy } from './utils/use-destroy'; +export { useLatestRef } from './utils/use-latest-ref'; +export { useMediaInstance } from './utils/use-media-instance'; export { renderElement } from './utils/use-render';