@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.
Files changed (225) hide show
  1. package/dist/default/index.js +11 -7
  2. package/dist/default/media/hls-video/index.js +4 -3
  3. package/dist/default/media/hls-video/index.js.map +1 -1
  4. package/dist/default/player/create-player.js +3 -2
  5. package/dist/default/player/create-player.js.map +1 -1
  6. package/dist/default/presets/video/error-dialog.js +51 -0
  7. package/dist/default/presets/video/error-dialog.js.map +1 -0
  8. package/dist/default/presets/video/minimal-skin.css +18 -26
  9. package/dist/default/presets/video/minimal-skin.js +11 -30
  10. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  11. package/dist/default/presets/video/minimal-skin.tailwind.js +10 -29
  12. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  13. package/dist/default/presets/video/skin.css +18 -25
  14. package/dist/default/presets/video/skin.js +11 -30
  15. package/dist/default/presets/video/skin.js.map +1 -1
  16. package/dist/default/presets/video/skin.tailwind.js +11 -30
  17. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  18. package/dist/default/skins/dist/default/video/default.tailwind.js +3 -3
  19. package/dist/default/skins/dist/default/video/default.tailwind.js.map +1 -1
  20. package/dist/default/skins/dist/default/video/minimal.tailwind.js +3 -3
  21. package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +1 -1
  22. package/dist/default/ui/alert-dialog/alert-dialog-close.js +31 -0
  23. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -0
  24. package/dist/default/ui/alert-dialog/alert-dialog-description.js +16 -0
  25. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -0
  26. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +32 -0
  27. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -0
  28. package/dist/default/ui/alert-dialog/alert-dialog-root.js +59 -0
  29. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -0
  30. package/dist/default/ui/alert-dialog/alert-dialog-title.js +16 -0
  31. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -0
  32. package/dist/default/ui/alert-dialog/context.js +16 -0
  33. package/dist/default/ui/alert-dialog/context.js.map +1 -0
  34. package/dist/default/ui/alert-dialog/index.js +4 -0
  35. package/dist/default/ui/alert-dialog/index.parts.js +19 -0
  36. package/dist/default/ui/alert-dialog/index.parts.js.map +1 -0
  37. package/dist/default/ui/captions-button/captions-button.js +10 -27
  38. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  39. package/dist/default/ui/create-context-part.js +7 -2
  40. package/dist/default/ui/create-context-part.js.map +1 -1
  41. package/dist/default/ui/hooks/use-slider.js +6 -17
  42. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  43. package/dist/default/ui/popover/popover-arrow.js +1 -1
  44. package/dist/default/ui/popover/popover-popup.js +4 -2
  45. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  46. package/dist/default/ui/popover/popover-root.js +3 -2
  47. package/dist/default/ui/popover/popover-root.js.map +1 -1
  48. package/dist/default/ui/popover/popover-trigger.js +4 -5
  49. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  50. package/dist/default/ui/slider/index.parts.js +4 -0
  51. package/dist/default/ui/slider/index.parts.js.map +1 -1
  52. package/dist/default/ui/slider/slider-preview.js +40 -0
  53. package/dist/default/ui/slider/slider-preview.js.map +1 -0
  54. package/dist/default/ui/slider/slider-thumbnail.js +20 -0
  55. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -0
  56. package/dist/default/ui/thumbnail/thumbnail.js +3 -5
  57. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  58. package/dist/default/ui/time-slider/index.parts.js +2 -0
  59. package/dist/default/ui/time-slider/index.parts.js.map +1 -1
  60. package/dist/default/ui/tooltip/context.js +16 -0
  61. package/dist/default/ui/tooltip/context.js.map +1 -0
  62. package/dist/default/ui/tooltip/group-context.js +15 -0
  63. package/dist/default/ui/tooltip/group-context.js.map +1 -0
  64. package/dist/default/ui/tooltip/index.js +4 -0
  65. package/dist/default/ui/tooltip/index.parts.js +19 -0
  66. package/dist/default/ui/tooltip/index.parts.js.map +1 -0
  67. package/dist/default/ui/tooltip/tooltip-arrow.js +17 -0
  68. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -0
  69. package/dist/default/ui/tooltip/tooltip-popup.js +97 -0
  70. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -0
  71. package/dist/default/ui/tooltip/tooltip-provider.js +28 -0
  72. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -0
  73. package/dist/default/ui/tooltip/tooltip-root.js +71 -0
  74. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -0
  75. package/dist/default/ui/tooltip/tooltip-trigger.js +42 -0
  76. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -0
  77. package/dist/default/ui/volume-slider/index.parts.js +2 -0
  78. package/dist/default/ui/volume-slider/index.parts.js.map +1 -1
  79. package/dist/default/ui/volume-slider/volume-slider-root.js +4 -4
  80. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  81. package/dist/default/utils/use-destroy.js +33 -0
  82. package/dist/default/utils/use-destroy.js.map +1 -0
  83. package/dist/dev/index.d.ts +15 -8
  84. package/dist/dev/index.js +11 -7
  85. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  86. package/dist/dev/media/hls-video/index.js +4 -3
  87. package/dist/dev/media/hls-video/index.js.map +1 -1
  88. package/dist/dev/player/create-player.d.ts.map +1 -1
  89. package/dist/dev/player/create-player.js +3 -2
  90. package/dist/dev/player/create-player.js.map +1 -1
  91. package/dist/dev/presets/video/error-dialog.js +51 -0
  92. package/dist/dev/presets/video/error-dialog.js.map +1 -0
  93. package/dist/dev/presets/video/minimal-skin.css +18 -26
  94. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  95. package/dist/dev/presets/video/minimal-skin.js +11 -30
  96. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  97. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  98. package/dist/dev/presets/video/minimal-skin.tailwind.js +10 -29
  99. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  100. package/dist/dev/presets/video/skin.css +18 -25
  101. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  102. package/dist/dev/presets/video/skin.js +11 -30
  103. package/dist/dev/presets/video/skin.js.map +1 -1
  104. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  105. package/dist/dev/presets/video/skin.tailwind.js +11 -30
  106. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  107. package/dist/dev/skins/dist/default/video/default.tailwind.js +3 -3
  108. package/dist/dev/skins/dist/default/video/default.tailwind.js.map +1 -1
  109. package/dist/dev/skins/dist/default/video/minimal.tailwind.js +3 -3
  110. package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +1 -1
  111. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +14 -0
  112. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -0
  113. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +31 -0
  114. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -0
  115. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +14 -0
  116. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -0
  117. package/dist/dev/ui/alert-dialog/alert-dialog-description.js +16 -0
  118. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -0
  119. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +14 -0
  120. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -0
  121. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +32 -0
  122. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -0
  123. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +24 -0
  124. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -0
  125. package/dist/dev/ui/alert-dialog/alert-dialog-root.js +59 -0
  126. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -0
  127. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +14 -0
  128. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -0
  129. package/dist/dev/ui/alert-dialog/alert-dialog-title.js +16 -0
  130. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -0
  131. package/dist/dev/ui/alert-dialog/context.d.ts +15 -0
  132. package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -0
  133. package/dist/dev/ui/alert-dialog/context.js +16 -0
  134. package/dist/dev/ui/alert-dialog/context.js.map +1 -0
  135. package/dist/dev/ui/alert-dialog/index.d.ts +3 -0
  136. package/dist/dev/ui/alert-dialog/index.js +4 -0
  137. package/dist/dev/ui/alert-dialog/index.parts.d.ts +13 -0
  138. package/dist/dev/ui/alert-dialog/index.parts.d.ts.map +1 -0
  139. package/dist/dev/ui/alert-dialog/index.parts.js +19 -0
  140. package/dist/dev/ui/alert-dialog/index.parts.js.map +1 -0
  141. package/dist/dev/ui/captions-button/captions-button.d.ts +6 -27
  142. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  143. package/dist/dev/ui/captions-button/captions-button.js +10 -27
  144. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  145. package/dist/dev/ui/captions-button/index.d.ts +2 -2
  146. package/dist/dev/ui/create-context-part.js +7 -2
  147. package/dist/dev/ui/create-context-part.js.map +1 -1
  148. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  149. package/dist/dev/ui/hooks/use-slider.js +6 -17
  150. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  151. package/dist/dev/ui/popover/popover-arrow.js +1 -1
  152. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  153. package/dist/dev/ui/popover/popover-popup.js +4 -2
  154. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  155. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  156. package/dist/dev/ui/popover/popover-root.js +3 -2
  157. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  158. package/dist/dev/ui/popover/popover-trigger.js +4 -5
  159. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  160. package/dist/dev/ui/slider/index.parts.d.ts +3 -1
  161. package/dist/dev/ui/slider/index.parts.js +4 -0
  162. package/dist/dev/ui/slider/index.parts.js.map +1 -1
  163. package/dist/dev/ui/slider/slider-preview.d.ts +18 -0
  164. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -0
  165. package/dist/dev/ui/slider/slider-preview.js +40 -0
  166. package/dist/dev/ui/slider/slider-preview.js.map +1 -0
  167. package/dist/dev/ui/slider/slider-thumbnail.d.ts +14 -0
  168. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -0
  169. package/dist/dev/ui/slider/slider-thumbnail.js +20 -0
  170. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -0
  171. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  172. package/dist/dev/ui/thumbnail/thumbnail.js +3 -5
  173. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  174. package/dist/dev/ui/time-slider/index.parts.d.ts +2 -1
  175. package/dist/dev/ui/time-slider/index.parts.js +2 -0
  176. package/dist/dev/ui/time-slider/index.parts.js.map +1 -1
  177. package/dist/dev/ui/tooltip/context.d.ts +17 -0
  178. package/dist/dev/ui/tooltip/context.d.ts.map +1 -0
  179. package/dist/dev/ui/tooltip/context.js +16 -0
  180. package/dist/dev/ui/tooltip/context.js.map +1 -0
  181. package/dist/dev/ui/tooltip/group-context.js +15 -0
  182. package/dist/dev/ui/tooltip/group-context.js.map +1 -0
  183. package/dist/dev/ui/tooltip/index.d.ts +3 -0
  184. package/dist/dev/ui/tooltip/index.js +4 -0
  185. package/dist/dev/ui/tooltip/index.parts.d.ts +13 -0
  186. package/dist/dev/ui/tooltip/index.parts.d.ts.map +1 -0
  187. package/dist/dev/ui/tooltip/index.parts.js +19 -0
  188. package/dist/dev/ui/tooltip/index.parts.js.map +1 -0
  189. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +15 -0
  190. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -0
  191. package/dist/dev/ui/tooltip/tooltip-arrow.js +17 -0
  192. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -0
  193. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +15 -0
  194. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -0
  195. package/dist/dev/ui/tooltip/tooltip-popup.js +97 -0
  196. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -0
  197. package/dist/dev/ui/tooltip/tooltip-provider.d.ts +19 -0
  198. package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -0
  199. package/dist/dev/ui/tooltip/tooltip-provider.js +28 -0
  200. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -0
  201. package/dist/dev/ui/tooltip/tooltip-root.d.ts +30 -0
  202. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -0
  203. package/dist/dev/ui/tooltip/tooltip-root.js +71 -0
  204. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -0
  205. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts +15 -0
  206. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -0
  207. package/dist/dev/ui/tooltip/tooltip-trigger.js +42 -0
  208. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -0
  209. package/dist/dev/ui/volume-slider/index.parts.d.ts +2 -1
  210. package/dist/dev/ui/volume-slider/index.parts.js +2 -0
  211. package/dist/dev/ui/volume-slider/index.parts.js.map +1 -1
  212. package/dist/dev/ui/volume-slider/volume-slider-root.js +4 -4
  213. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  214. package/dist/dev/utils/use-destroy.js +33 -0
  215. package/dist/dev/utils/use-destroy.js.map +1 -0
  216. package/package.json +38 -11
  217. package/dist/default/ui/error-dialog/error-dialog.js +0 -54
  218. package/dist/default/ui/error-dialog/error-dialog.js.map +0 -1
  219. package/dist/default/ui/error-dialog/index.js +0 -3
  220. package/dist/dev/ui/error-dialog/error-dialog.d.ts +0 -35
  221. package/dist/dev/ui/error-dialog/error-dialog.d.ts.map +0 -1
  222. package/dist/dev/ui/error-dialog/error-dialog.js +0 -54
  223. package/dist/dev/ui/error-dialog/error-dialog.js.map +0 -1
  224. package/dist/dev/ui/error-dialog/index.d.ts +0 -2
  225. 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,3 +0,0 @@
1
- import { ErrorDialog } from "./error-dialog.js";
2
-
3
- export { ErrorDialog };
@@ -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"}
@@ -1,2 +0,0 @@
1
- import { ErrorDialog, ErrorDialogProps } from "./error-dialog.js";
2
- export { ErrorDialog, ErrorDialogProps };
@@ -1,3 +0,0 @@
1
- import { ErrorDialog } from "./error-dialog.js";
2
-
3
- export { ErrorDialog };