@videojs/react 10.0.0-alpha.6 → 10.0.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/default/index.js +11 -7
- package/dist/default/media/hls-video/index.js +4 -3
- package/dist/default/media/hls-video/index.js.map +1 -1
- package/dist/default/player/create-player.js +3 -2
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/presets/video/error-dialog.js +51 -0
- package/dist/default/presets/video/error-dialog.js.map +1 -0
- package/dist/default/presets/video/minimal-skin.css +18 -26
- package/dist/default/presets/video/minimal-skin.js +11 -30
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +10 -29
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +18 -25
- package/dist/default/presets/video/skin.js +11 -30
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +11 -30
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/video/default.tailwind.js +3 -3
- package/dist/default/skins/dist/default/video/default.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/video/minimal.tailwind.js +3 -3
- package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-close.js +31 -0
- package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-description.js +16 -0
- package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js +32 -0
- package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-root.js +59 -0
- package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-title.js +16 -0
- package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -0
- package/dist/default/ui/alert-dialog/context.js +16 -0
- package/dist/default/ui/alert-dialog/context.js.map +1 -0
- package/dist/default/ui/alert-dialog/index.js +4 -0
- package/dist/default/ui/alert-dialog/index.parts.js +19 -0
- package/dist/default/ui/alert-dialog/index.parts.js.map +1 -0
- package/dist/default/ui/captions-button/captions-button.js +10 -27
- package/dist/default/ui/captions-button/captions-button.js.map +1 -1
- package/dist/default/ui/create-context-part.js +7 -2
- package/dist/default/ui/create-context-part.js.map +1 -1
- package/dist/default/ui/hooks/use-slider.js +6 -17
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/default/ui/popover/popover-arrow.js +1 -1
- package/dist/default/ui/popover/popover-popup.js +4 -2
- package/dist/default/ui/popover/popover-popup.js.map +1 -1
- package/dist/default/ui/popover/popover-root.js +3 -2
- package/dist/default/ui/popover/popover-root.js.map +1 -1
- package/dist/default/ui/popover/popover-trigger.js +4 -5
- package/dist/default/ui/popover/popover-trigger.js.map +1 -1
- package/dist/default/ui/slider/index.parts.js +4 -0
- package/dist/default/ui/slider/index.parts.js.map +1 -1
- package/dist/default/ui/slider/slider-preview.js +40 -0
- package/dist/default/ui/slider/slider-preview.js.map +1 -0
- package/dist/default/ui/slider/slider-thumbnail.js +20 -0
- package/dist/default/ui/slider/slider-thumbnail.js.map +1 -0
- package/dist/default/ui/thumbnail/thumbnail.js +3 -5
- package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/default/ui/time-slider/index.parts.js +2 -0
- package/dist/default/ui/time-slider/index.parts.js.map +1 -1
- package/dist/default/ui/tooltip/context.js +16 -0
- package/dist/default/ui/tooltip/context.js.map +1 -0
- package/dist/default/ui/tooltip/group-context.js +15 -0
- package/dist/default/ui/tooltip/group-context.js.map +1 -0
- package/dist/default/ui/tooltip/index.js +4 -0
- package/dist/default/ui/tooltip/index.parts.js +19 -0
- package/dist/default/ui/tooltip/index.parts.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-arrow.js +17 -0
- package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-popup.js +97 -0
- package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-provider.js +28 -0
- package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-root.js +71 -0
- package/dist/default/ui/tooltip/tooltip-root.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-trigger.js +42 -0
- package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -0
- package/dist/default/ui/volume-slider/index.parts.js +2 -0
- package/dist/default/ui/volume-slider/index.parts.js.map +1 -1
- package/dist/default/ui/volume-slider/volume-slider-root.js +4 -4
- package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/default/utils/use-destroy.js +33 -0
- package/dist/default/utils/use-destroy.js.map +1 -0
- package/dist/dev/index.d.ts +15 -8
- package/dist/dev/index.js +11 -7
- package/dist/dev/media/hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/hls-video/index.js +4 -3
- package/dist/dev/media/hls-video/index.js.map +1 -1
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +3 -2
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/presets/video/error-dialog.js +51 -0
- package/dist/dev/presets/video/error-dialog.js.map +1 -0
- package/dist/dev/presets/video/minimal-skin.css +18 -26
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +11 -30
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.js +10 -29
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +18 -25
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +11 -30
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.js +11 -30
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/video/default.tailwind.js +3 -3
- package/dist/dev/skins/dist/default/video/default.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/video/minimal.tailwind.js +3 -3
- package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +14 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js +31 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +14 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js +16 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +14 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +32 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +24 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js +59 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +14 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js +16 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -0
- package/dist/dev/ui/alert-dialog/context.d.ts +15 -0
- package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/context.js +16 -0
- package/dist/dev/ui/alert-dialog/context.js.map +1 -0
- package/dist/dev/ui/alert-dialog/index.d.ts +3 -0
- package/dist/dev/ui/alert-dialog/index.js +4 -0
- package/dist/dev/ui/alert-dialog/index.parts.d.ts +13 -0
- package/dist/dev/ui/alert-dialog/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/index.parts.js +19 -0
- package/dist/dev/ui/alert-dialog/index.parts.js.map +1 -0
- package/dist/dev/ui/captions-button/captions-button.d.ts +6 -27
- package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button.js +10 -27
- package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
- package/dist/dev/ui/captions-button/index.d.ts +2 -2
- package/dist/dev/ui/create-context-part.js +7 -2
- package/dist/dev/ui/create-context-part.js.map +1 -1
- package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js +6 -17
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/ui/popover/popover-arrow.js +1 -1
- package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-popup.js +4 -2
- package/dist/dev/ui/popover/popover-popup.js.map +1 -1
- package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-root.js +3 -2
- package/dist/dev/ui/popover/popover-root.js.map +1 -1
- package/dist/dev/ui/popover/popover-trigger.js +4 -5
- package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
- package/dist/dev/ui/slider/index.parts.d.ts +3 -1
- package/dist/dev/ui/slider/index.parts.js +4 -0
- package/dist/dev/ui/slider/index.parts.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview.d.ts +18 -0
- package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-preview.js +40 -0
- package/dist/dev/ui/slider/slider-preview.js.map +1 -0
- package/dist/dev/ui/slider/slider-thumbnail.d.ts +14 -0
- package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-thumbnail.js +20 -0
- package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -0
- package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail.js +3 -5
- package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
- package/dist/dev/ui/time-slider/index.parts.d.ts +2 -1
- package/dist/dev/ui/time-slider/index.parts.js +2 -0
- package/dist/dev/ui/time-slider/index.parts.js.map +1 -1
- package/dist/dev/ui/tooltip/context.d.ts +17 -0
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/context.js +16 -0
- package/dist/dev/ui/tooltip/context.js.map +1 -0
- package/dist/dev/ui/tooltip/group-context.js +15 -0
- package/dist/dev/ui/tooltip/group-context.js.map +1 -0
- package/dist/dev/ui/tooltip/index.d.ts +3 -0
- package/dist/dev/ui/tooltip/index.js +4 -0
- package/dist/dev/ui/tooltip/index.parts.d.ts +13 -0
- package/dist/dev/ui/tooltip/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/index.parts.js +19 -0
- package/dist/dev/ui/tooltip/index.parts.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +15 -0
- package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-arrow.js +17 -0
- package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts +15 -0
- package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-popup.js +97 -0
- package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-provider.d.ts +19 -0
- package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-provider.js +28 -0
- package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-root.d.ts +30 -0
- package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-root.js +71 -0
- package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-trigger.d.ts +15 -0
- package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-trigger.js +42 -0
- package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -0
- package/dist/dev/ui/volume-slider/index.parts.d.ts +2 -1
- package/dist/dev/ui/volume-slider/index.parts.js +2 -0
- package/dist/dev/ui/volume-slider/index.parts.js.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-root.js +4 -4
- package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
- package/dist/dev/utils/use-destroy.js +33 -0
- package/dist/dev/utils/use-destroy.js.map +1 -0
- package/package.json +38 -11
- package/dist/default/ui/error-dialog/error-dialog.js +0 -54
- package/dist/default/ui/error-dialog/error-dialog.js.map +0 -1
- package/dist/default/ui/error-dialog/index.js +0 -3
- package/dist/dev/ui/error-dialog/error-dialog.d.ts +0 -35
- package/dist/dev/ui/error-dialog/error-dialog.d.ts.map +0 -1
- package/dist/dev/ui/error-dialog/error-dialog.js +0 -54
- package/dist/dev/ui/error-dialog/error-dialog.js.map +0 -1
- package/dist/dev/ui/error-dialog/index.d.ts +0 -2
- package/dist/dev/ui/error-dialog/index.js +0 -3
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { renderElement } from "../../utils/use-render.js";
|
|
4
|
-
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
5
|
-
|
|
6
|
-
//#region src/ui/error-dialog/error-dialog.tsx
|
|
7
|
-
/**
|
|
8
|
-
* Displays an error dialog when media playback encounters an error.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```tsx
|
|
12
|
-
* <ErrorDialog />
|
|
13
|
-
*
|
|
14
|
-
* <ErrorDialog
|
|
15
|
-
* render={(props, state) => (
|
|
16
|
-
* <div {...props}>Something went wrong</div>
|
|
17
|
-
* )}
|
|
18
|
-
* />
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
const ErrorDialog = forwardRef(function ErrorDialog(componentProps, forwardedRef) {
|
|
22
|
-
const { render, className, style, ...elementProps } = componentProps;
|
|
23
|
-
const dialogRef = useRef(null);
|
|
24
|
-
const [hasError, setHasError] = useState(false);
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
const handle = setTimeout(() => {}, 2e3);
|
|
27
|
-
return () => clearTimeout(handle);
|
|
28
|
-
}, []);
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
if (!hasError) return;
|
|
31
|
-
requestAnimationFrame(() => {
|
|
32
|
-
dialogRef.current?.focus();
|
|
33
|
-
});
|
|
34
|
-
}, [hasError]);
|
|
35
|
-
return renderElement("div", {
|
|
36
|
-
render,
|
|
37
|
-
className,
|
|
38
|
-
style
|
|
39
|
-
}, {
|
|
40
|
-
state: {
|
|
41
|
-
visible: hasError,
|
|
42
|
-
onDismiss: () => setHasError(false)
|
|
43
|
-
},
|
|
44
|
-
ref: [forwardedRef, dialogRef],
|
|
45
|
-
props: [{
|
|
46
|
-
role: "alertdialog",
|
|
47
|
-
tabIndex: -1
|
|
48
|
-
}, elementProps]
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
//#endregion
|
|
53
|
-
export { ErrorDialog };
|
|
54
|
-
//# sourceMappingURL=error-dialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-dialog.js","names":[],"sources":["../../../../src/ui/error-dialog/error-dialog.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\ntype ErrorDialogState = { visible: boolean; onDismiss: () => void };\n\nexport interface ErrorDialogProps extends UIComponentProps<'div', ErrorDialogState> {\n 'aria-labelledby': string;\n 'aria-describedby'?: string;\n dismiss?: () => void;\n}\n\nconst DEBUG = false;\n\n/**\n * Displays an error dialog when media playback encounters an error.\n *\n * @example\n * ```tsx\n * <ErrorDialog />\n *\n * <ErrorDialog\n * render={(props, state) => (\n * <div {...props}>Something went wrong</div>\n * )}\n * />\n * ```\n */\nexport const ErrorDialog = forwardRef(function ErrorDialog(\n componentProps: ErrorDialogProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const dialogRef = useRef<HTMLDivElement>(null);\n\n const [hasError, setHasError] = useState(false);\n\n // FIXME: This is just debugging code\n useEffect(() => {\n const handle = setTimeout(() => {\n if (!DEBUG) return;\n setHasError(true);\n }, 2000);\n\n return () => clearTimeout(handle);\n }, []);\n\n // Focus the dialog when it becomes visible to ensure it's announced by screen readers.\n // Wait a frame for the accessibility tree to update with the dialog before focusing.\n useEffect(() => {\n if (!hasError) return;\n requestAnimationFrame(() => {\n dialogRef.current?.focus();\n });\n }, [hasError]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state: {\n visible: hasError,\n onDismiss: () => setHasError(false),\n },\n ref: [forwardedRef, dialogRef],\n props: [\n {\n role: 'alertdialog',\n tabIndex: -1,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace ErrorDialog {\n export type Props = ErrorDialogProps;\n export type State = ErrorDialogState;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+BA,MAAa,cAAc,WAAW,SAAS,YAC7C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,YAAY,OAAuB,KAAK;CAE9C,MAAM,CAAC,UAAU,eAAe,SAAS,MAAM;AAG/C,iBAAgB;EACd,MAAM,SAAS,iBAAiB,IAG7B,IAAK;AAER,eAAa,aAAa,OAAO;IAChC,EAAE,CAAC;AAIN,iBAAgB;AACd,MAAI,CAAC,SAAU;AACf,8BAA4B;AAC1B,aAAU,SAAS,OAAO;IAC1B;IACD,CAAC,SAAS,CAAC;AAEd,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE,OAAO;GACL,SAAS;GACT,iBAAiB,YAAY,MAAM;GACpC;EACD,KAAK,CAAC,cAAc,UAAU;EAC9B,OAAO,CACL;GACE,MAAM;GACN,UAAU;GACX,EACD,aACD;EACF,CACF;EACD"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { UIComponentProps } from "../../utils/types.js";
|
|
2
|
-
import * as react from "react";
|
|
3
|
-
|
|
4
|
-
//#region src/ui/error-dialog/error-dialog.d.ts
|
|
5
|
-
type ErrorDialogState = {
|
|
6
|
-
visible: boolean;
|
|
7
|
-
onDismiss: () => void;
|
|
8
|
-
};
|
|
9
|
-
interface ErrorDialogProps extends UIComponentProps<'div', ErrorDialogState> {
|
|
10
|
-
'aria-labelledby': string;
|
|
11
|
-
'aria-describedby'?: string;
|
|
12
|
-
dismiss?: () => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Displays an error dialog when media playback encounters an error.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```tsx
|
|
19
|
-
* <ErrorDialog />
|
|
20
|
-
*
|
|
21
|
-
* <ErrorDialog
|
|
22
|
-
* render={(props, state) => (
|
|
23
|
-
* <div {...props}>Something went wrong</div>
|
|
24
|
-
* )}
|
|
25
|
-
* />
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
declare const ErrorDialog: react.ForwardRefExoticComponent<Omit<ErrorDialogProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
29
|
-
declare namespace ErrorDialog {
|
|
30
|
-
type Props = ErrorDialogProps;
|
|
31
|
-
type State = ErrorDialogState;
|
|
32
|
-
}
|
|
33
|
-
//#endregion
|
|
34
|
-
export { ErrorDialog, ErrorDialogProps };
|
|
35
|
-
//# sourceMappingURL=error-dialog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-dialog.d.ts","names":[],"sources":["../../../../src/ui/error-dialog/error-dialog.tsx"],"mappings":";;;;KAOK,gBAAA;EAAqB,OAAA;EAAkB,SAAA;AAAA;AAAA,UAE3B,gBAAA,SAAyB,gBAAA,QAAwB,gBAAA;EAChE,iBAAA;EACA,kBAAA;EACA,OAAA;AAAA;;;;;;;;;;;AAmBF;;;;cAAa,WAAA,EAAW,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,gBAAA,WAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAgDP,WAAA;EAAA,KACH,KAAA,GAAQ,gBAAA;EAAA,KACR,KAAA,GAAQ,gBAAA;AAAA"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { renderElement } from "../../utils/use-render.js";
|
|
4
|
-
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
5
|
-
|
|
6
|
-
//#region src/ui/error-dialog/error-dialog.tsx
|
|
7
|
-
/**
|
|
8
|
-
* Displays an error dialog when media playback encounters an error.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```tsx
|
|
12
|
-
* <ErrorDialog />
|
|
13
|
-
*
|
|
14
|
-
* <ErrorDialog
|
|
15
|
-
* render={(props, state) => (
|
|
16
|
-
* <div {...props}>Something went wrong</div>
|
|
17
|
-
* )}
|
|
18
|
-
* />
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
const ErrorDialog = forwardRef(function ErrorDialog(componentProps, forwardedRef) {
|
|
22
|
-
const { render, className, style, ...elementProps } = componentProps;
|
|
23
|
-
const dialogRef = useRef(null);
|
|
24
|
-
const [hasError, setHasError] = useState(false);
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
const handle = setTimeout(() => {}, 2e3);
|
|
27
|
-
return () => clearTimeout(handle);
|
|
28
|
-
}, []);
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
if (!hasError) return;
|
|
31
|
-
requestAnimationFrame(() => {
|
|
32
|
-
dialogRef.current?.focus();
|
|
33
|
-
});
|
|
34
|
-
}, [hasError]);
|
|
35
|
-
return renderElement("div", {
|
|
36
|
-
render,
|
|
37
|
-
className,
|
|
38
|
-
style
|
|
39
|
-
}, {
|
|
40
|
-
state: {
|
|
41
|
-
visible: hasError,
|
|
42
|
-
onDismiss: () => setHasError(false)
|
|
43
|
-
},
|
|
44
|
-
ref: [forwardedRef, dialogRef],
|
|
45
|
-
props: [{
|
|
46
|
-
role: "alertdialog",
|
|
47
|
-
tabIndex: -1
|
|
48
|
-
}, elementProps]
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
//#endregion
|
|
53
|
-
export { ErrorDialog };
|
|
54
|
-
//# sourceMappingURL=error-dialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-dialog.js","names":[],"sources":["../../../../src/ui/error-dialog/error-dialog.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\ntype ErrorDialogState = { visible: boolean; onDismiss: () => void };\n\nexport interface ErrorDialogProps extends UIComponentProps<'div', ErrorDialogState> {\n 'aria-labelledby': string;\n 'aria-describedby'?: string;\n dismiss?: () => void;\n}\n\nconst DEBUG = false;\n\n/**\n * Displays an error dialog when media playback encounters an error.\n *\n * @example\n * ```tsx\n * <ErrorDialog />\n *\n * <ErrorDialog\n * render={(props, state) => (\n * <div {...props}>Something went wrong</div>\n * )}\n * />\n * ```\n */\nexport const ErrorDialog = forwardRef(function ErrorDialog(\n componentProps: ErrorDialogProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const dialogRef = useRef<HTMLDivElement>(null);\n\n const [hasError, setHasError] = useState(false);\n\n // FIXME: This is just debugging code\n useEffect(() => {\n const handle = setTimeout(() => {\n if (!DEBUG) return;\n setHasError(true);\n }, 2000);\n\n return () => clearTimeout(handle);\n }, []);\n\n // Focus the dialog when it becomes visible to ensure it's announced by screen readers.\n // Wait a frame for the accessibility tree to update with the dialog before focusing.\n useEffect(() => {\n if (!hasError) return;\n requestAnimationFrame(() => {\n dialogRef.current?.focus();\n });\n }, [hasError]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state: {\n visible: hasError,\n onDismiss: () => setHasError(false),\n },\n ref: [forwardedRef, dialogRef],\n props: [\n {\n role: 'alertdialog',\n tabIndex: -1,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace ErrorDialog {\n export type Props = ErrorDialogProps;\n export type State = ErrorDialogState;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+BA,MAAa,cAAc,WAAW,SAAS,YAC7C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,YAAY,OAAuB,KAAK;CAE9C,MAAM,CAAC,UAAU,eAAe,SAAS,MAAM;AAG/C,iBAAgB;EACd,MAAM,SAAS,iBAAiB,IAG7B,IAAK;AAER,eAAa,aAAa,OAAO;IAChC,EAAE,CAAC;AAIN,iBAAgB;AACd,MAAI,CAAC,SAAU;AACf,8BAA4B;AAC1B,aAAU,SAAS,OAAO;IAC1B;IACD,CAAC,SAAS,CAAC;AAEd,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE,OAAO;GACL,SAAS;GACT,iBAAiB,YAAY,MAAM;GACpC;EACD,KAAK,CAAC,cAAc,UAAU;EAC9B,OAAO,CACL;GACE,MAAM;GACN,UAAU;GACX,EACD,aACD;EACF,CACF;EACD"}
|