@kbss-cvut/s-forms 0.8.1-beta-554e251.0 → 0.8.1-beta-acddd85.0
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/components/Answer.d.ts +2 -0
- package/dist/components/HintIcon.d.ts +24 -0
- package/dist/components/MediaContent.d.ts +2 -1
- package/dist/components/Question.d.ts +2 -0
- package/dist/components/QuestionStatic.d.ts +4 -3
- package/dist/components/answer/select/SelectAnswer.d.ts +15 -0
- package/dist/components/answer/select/SelectDefault.d.ts +29 -0
- package/dist/components/answer/select/SelectFeedbackBadge.d.ts +11 -0
- package/dist/components/answer/select/SelectWithFeedback.d.ts +22 -0
- package/dist/components/answer/select/select.feedback.d.ts +2 -0
- package/dist/components/answer/select/select.utils.d.ts +3 -0
- package/dist/components/answer/{TypeaheadAnswer.d.ts → typehead/TypeaheadAnswer.d.ts} +1 -1
- package/dist/components/answer/typehead/TypeaheadWithFeedback.d.ts +14 -0
- package/dist/components/answer/typehead/TypeheadDefault.d.ts +2 -0
- package/dist/components/answer/typehead/typeahead.renderers.d.ts +9 -0
- package/dist/components/answer/typehead/typeahead.utils.d.ts +2 -0
- package/dist/components/media/MediaAssetViewer.d.ts +11 -0
- package/dist/components/media/MediaFullScreenContainer.d.ts +6 -0
- package/dist/components/media/annotation/AnnotationOverlay.d.ts +7 -0
- package/dist/components/media/annotation/AnnotationRenderer.d.ts +23 -0
- package/dist/components/media/annotation/PolylineAnnotation.d.ts +13 -0
- package/dist/components/media/annotation/TextAnnotation.d.ts +17 -0
- package/dist/components/media/annotation/engine/annotationVisibility.d.ts +1 -0
- package/dist/components/media/annotation/engine/buildRenderModel.d.ts +1 -0
- package/dist/components/media/annotation/engine/useAnnotationsEngine.d.ts +6 -0
- package/dist/components/media/hooks/useFullscreen.d.ts +4 -0
- package/dist/components/media/hooks/useMediaSurface.d.ts +4 -0
- package/dist/components/media/image/ImageOverlay.d.ts +21 -0
- package/dist/components/media/image/ImageViewer.d.ts +10 -0
- package/dist/components/media/video/VideoJS.d.ts +37 -0
- package/dist/components/media/video/VideoViewer.d.ts +16 -0
- package/dist/components/media/video/enhancePlayer.d.ts +2 -0
- package/dist/components/media/video/hooks/enhancePlayer.d.ts +2 -0
- package/dist/components/media/video/hooks/useVideoPlayer.d.ts +9 -0
- package/dist/constants/Constants.d.ts +40 -0
- package/dist/s-forms.cjs +1 -1
- package/dist/s-forms.cjs.map +1 -1
- package/dist/s-forms.css +1 -1
- package/dist/s-forms.css.map +1 -1
- package/dist/s-forms.js +1 -1
- package/dist/s-forms.js.map +1 -1
- package/dist/s-forms.modern.js +1 -1
- package/dist/s-forms.modern.js.map +1 -1
- package/dist/s-forms.umd.js +1 -1
- package/dist/s-forms.umd.js.map +1 -1
- package/dist/stories/HintIcon.stories.d.ts +4 -0
- package/dist/stories/Question.stories.d.ts +1 -0
- package/dist/styles/icons/CheckIcon.d.ts +12 -0
- package/dist/styles/icons/CrossIcon.d.ts +12 -0
- package/dist/styles/icons/HintBulb.d.ts +6 -0
- package/dist/util/FormUtils.d.ts +4 -0
- package/dist/util/MediaAssetViewerUtils.d.ts +53 -0
- package/dist/util/Utils.d.ts +6 -0
- package/package.json +8 -2
- package/dist/components/answer/SelectAnswer.d.ts +0 -29
|
@@ -8,6 +8,8 @@ declare namespace Answer {
|
|
|
8
8
|
let onCommentChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
9
9
|
let index: PropTypes.Requireable<number>;
|
|
10
10
|
let icons: PropTypes.Requireable<object>;
|
|
11
|
+
let hintRevealed: PropTypes.Requireable<boolean>;
|
|
12
|
+
let onHintReveal: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
13
|
}
|
|
12
14
|
}
|
|
13
15
|
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export default HintIcon;
|
|
2
|
+
declare function HintIcon(props: any): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare namespace HintIcon {
|
|
4
|
+
namespace propTypes {
|
|
5
|
+
let text: PropTypes.Requireable<string>;
|
|
6
|
+
let iconClassContainer: PropTypes.Requireable<string>;
|
|
7
|
+
let iconClass: PropTypes.Requireable<string>;
|
|
8
|
+
let overlayPlacement: PropTypes.Requireable<string>;
|
|
9
|
+
let absolutePosition: PropTypes.Requireable<boolean>;
|
|
10
|
+
let onHintClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
|
+
let revealed: PropTypes.Requireable<boolean>;
|
|
12
|
+
}
|
|
13
|
+
namespace defaultProps {
|
|
14
|
+
let iconClassContainer_1: string;
|
|
15
|
+
export { iconClassContainer_1 as iconClassContainer };
|
|
16
|
+
let iconClass_1: string;
|
|
17
|
+
export { iconClass_1 as iconClass };
|
|
18
|
+
let absolutePosition_1: boolean;
|
|
19
|
+
export { absolutePosition_1 as absolutePosition };
|
|
20
|
+
let revealed_1: boolean;
|
|
21
|
+
export { revealed_1 as revealed };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
import PropTypes from "prop-types";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
interface Props {
|
|
2
2
|
question: object;
|
|
3
|
+
displayAnnotations?: boolean;
|
|
3
4
|
}
|
|
4
|
-
declare const MediaContent: ({ question }: Props) => import("react/jsx-runtime").JSX.Element
|
|
5
|
+
declare const MediaContent: ({ question, displayAnnotations }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export default MediaContent;
|
|
@@ -8,9 +8,11 @@ declare class Question extends React.Component<any, any, any> {
|
|
|
8
8
|
validator: {};
|
|
9
9
|
expanded: boolean;
|
|
10
10
|
showIcon: boolean;
|
|
11
|
+
hintRevealed: boolean;
|
|
11
12
|
};
|
|
12
13
|
componentDidMount(): void;
|
|
13
14
|
componentDidUpdate(): null | undefined;
|
|
15
|
+
handleHintReveal: (state: any) => void;
|
|
14
16
|
handleAnswerChange: (answerIndex: any, change: any) => void;
|
|
15
17
|
handleSubQuestionChange: (subQuestionIndex: any, change: any) => void;
|
|
16
18
|
handleCommentChange: (commentIndex: any, change: any) => void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export default class QuestionStatic {
|
|
2
|
-
static renderIcons(question: any, options: any, onCommentChange: any, showIcon: any, intl: any): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
static renderIcons(question: any, options: any, onCommentChange: any, showIcon: any, intl: any, hintRevealed: any, onHintReveal: any): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
static renderQuestionHelp(question: any, options: any, onCommentChange: any, showIcon: any, intl: any): import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
4
4
|
static renderQuestionComments: (question: any, options: any, onCommentChange: any, showIcon: any, intl: any) => import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
5
5
|
static renderQuestionLink(question: any, options: any, onCommentChange: any, showIcon: any, intl: any): import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
6
|
-
static
|
|
6
|
+
static renderQuestionHint(question: any, options: any, onCommentChange: any, showIcon: any, intl: any, hintRevealed: any, onHintReveal: any): import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
7
|
+
static getIconComponentFromName(iconName: any, question: any, options: any, onCommentChange: any, showIcon: any, intl: any, hintRevealed: any, onHintReveal: any): import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
7
8
|
static getIconFromIconList: (iconList: any, iconName: any) => any;
|
|
8
|
-
static getIconComponent(icon: any, question: any, options: any, onCommentChange: any, showIcon: any, intl: any): import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
9
|
+
static getIconComponent(icon: any, question: any, options: any, onCommentChange: any, showIcon: any, intl: any, hintRevealed: any, onHintReveal: any): import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
9
10
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default SelectAnswer;
|
|
2
|
+
declare function SelectAnswer(props: any): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare namespace SelectAnswer {
|
|
4
|
+
namespace propTypes {
|
|
5
|
+
let question: PropTypes.Validator<object>;
|
|
6
|
+
let label: PropTypes.Validator<object>;
|
|
7
|
+
let title: PropTypes.Requireable<string>;
|
|
8
|
+
let value: PropTypes.Requireable<string>;
|
|
9
|
+
let onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
10
|
+
let validation: PropTypes.Requireable<object>;
|
|
11
|
+
let hintRevealed: PropTypes.Requireable<boolean>;
|
|
12
|
+
let onRevealHint: PropTypes.Requireable<(...args: any[]) => any>;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export default SelectDefault;
|
|
2
|
+
declare function SelectDefault({ question, label, title, value, validation, onChange, }: {
|
|
3
|
+
question: any;
|
|
4
|
+
label: any;
|
|
5
|
+
title: any;
|
|
6
|
+
value: any;
|
|
7
|
+
validation: any;
|
|
8
|
+
onChange: any;
|
|
9
|
+
}): React.DetailedReactHTMLElement<{
|
|
10
|
+
type: string;
|
|
11
|
+
label: any;
|
|
12
|
+
value: any;
|
|
13
|
+
title: any;
|
|
14
|
+
validation: any;
|
|
15
|
+
onChange: (e: any) => any;
|
|
16
|
+
disabled: any;
|
|
17
|
+
}, HTMLElement>;
|
|
18
|
+
declare namespace SelectDefault {
|
|
19
|
+
namespace propTypes {
|
|
20
|
+
let question: PropTypes.Validator<object>;
|
|
21
|
+
let label: PropTypes.Validator<object>;
|
|
22
|
+
let title: PropTypes.Requireable<string>;
|
|
23
|
+
let value: PropTypes.Requireable<string>;
|
|
24
|
+
let onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
25
|
+
let validation: PropTypes.Requireable<object>;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
import React from "react";
|
|
29
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export default SelectFeedbackBadge;
|
|
2
|
+
declare function SelectFeedbackBadge({ status }: {
|
|
3
|
+
status: any;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
5
|
+
declare namespace SelectFeedbackBadge {
|
|
6
|
+
let displayName: string;
|
|
7
|
+
namespace propTypes {
|
|
8
|
+
let status: PropTypes.Requireable<string | null>;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default SelectWithFeedback;
|
|
2
|
+
declare function SelectWithFeedback({ question, label, title, value, validation, onChange, hintRevealed, }: {
|
|
3
|
+
question: any;
|
|
4
|
+
label: any;
|
|
5
|
+
title: any;
|
|
6
|
+
value: any;
|
|
7
|
+
validation: any;
|
|
8
|
+
onChange: any;
|
|
9
|
+
hintRevealed: any;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare namespace SelectWithFeedback {
|
|
12
|
+
namespace propTypes {
|
|
13
|
+
let question: PropTypes.Validator<object>;
|
|
14
|
+
let label: PropTypes.Validator<object>;
|
|
15
|
+
let title: PropTypes.Requireable<string>;
|
|
16
|
+
let value: PropTypes.Requireable<string>;
|
|
17
|
+
let onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
18
|
+
let validation: PropTypes.Requireable<object>;
|
|
19
|
+
let hintRevealed: PropTypes.Requireable<boolean>;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
import PropTypes from "prop-types";
|
|
@@ -5,10 +5,10 @@ declare namespace TypeaheadAnswer {
|
|
|
5
5
|
let question: PropTypes.Validator<object>;
|
|
6
6
|
let answer: PropTypes.Validator<object>;
|
|
7
7
|
let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
|
|
8
|
-
let title: PropTypes.Requireable<string>;
|
|
9
8
|
let value: PropTypes.Requireable<string>;
|
|
10
9
|
let onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
11
10
|
let validation: PropTypes.Requireable<object>;
|
|
11
|
+
let hintRevealed: PropTypes.Requireable<boolean>;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default TypeaheadWithFeedback;
|
|
2
|
+
declare function TypeaheadWithFeedback(props: any): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare namespace TypeaheadWithFeedback {
|
|
4
|
+
namespace propTypes {
|
|
5
|
+
let question: PropTypes.Validator<object>;
|
|
6
|
+
let answer: PropTypes.Validator<object>;
|
|
7
|
+
let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
|
|
8
|
+
let value: PropTypes.Requireable<string>;
|
|
9
|
+
let onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
10
|
+
let validation: PropTypes.Requireable<object>;
|
|
11
|
+
let hintRevealed: PropTypes.Validator<boolean>;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function buildControlStyle(validation: any, feedback: any): {
|
|
2
|
+
control: (provided: any) => any;
|
|
3
|
+
};
|
|
4
|
+
export function createOptionRenderer({ hintRevealed, correctValue, currentValue }: {
|
|
5
|
+
hintRevealed: any;
|
|
6
|
+
correctValue: any;
|
|
7
|
+
currentValue: any;
|
|
8
|
+
}): (optionProps: any) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export function valueRendererWithFeedback(feedback: any, children: any): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export default MediaAssetViewer;
|
|
2
|
+
/**
|
|
3
|
+
* Orchestrates the rendering of media assets based on their type and manages fullscreen state.
|
|
4
|
+
* Defaults to an iframe viewer for unsupported types.
|
|
5
|
+
*/
|
|
6
|
+
declare function MediaAssetViewer({ src, annotations, allowFullScreen, showAnnotations, }: {
|
|
7
|
+
src: any;
|
|
8
|
+
annotations?: any[] | undefined;
|
|
9
|
+
allowFullScreen: any;
|
|
10
|
+
showAnnotations?: boolean | undefined;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export default AnnotationOverlay;
|
|
2
|
+
declare function AnnotationOverlay({ annotations, surface, currentTime, showAnnotations, }: {
|
|
3
|
+
annotations?: any[] | undefined;
|
|
4
|
+
surface: any;
|
|
5
|
+
currentTime: any;
|
|
6
|
+
showAnnotations: any;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default AnnotationRenderer;
|
|
2
|
+
/**
|
|
3
|
+
* Renders time-based visual annotations as an SVG overlay on top of a media asset.
|
|
4
|
+
*
|
|
5
|
+
* The component is purely presentational and does not manage interaction or state.
|
|
6
|
+
* It filters annotations by playback time, denormalizes geometry into viewport
|
|
7
|
+
* pixel space, and delegates rendering to annotation-specific components.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
*
|
|
11
|
+
* @param {number} mediaAssetViewportWidth - Width of the media asset viewport in pixels.
|
|
12
|
+
* @param {number} mediaAssetViewportHeight - Height of the media asset viewport in pixels.
|
|
13
|
+
* @param {Array<Object>} annotations - List of annotations using normalized coordinates (0–1).
|
|
14
|
+
* @param {number|null} playerCurrentTime - Current playback time in seconds; if null, all annotations are rendered.
|
|
15
|
+
*
|
|
16
|
+
* @returns {JSX.Element} SVG overlay containing rendered annotations.
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* - Accepts annotations defined in a normalized coordinate system (0–1)
|
|
20
|
+
* - Default styles are resolved via Constants to ensure consistency
|
|
21
|
+
* - Supports polyline and text annotation types
|
|
22
|
+
*/
|
|
23
|
+
declare function AnnotationRenderer({ mediaAssetViewportWidth, mediaAssetViewportHeight, annotations, playerCurrentTime, }: number): JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default PolylineAnnotation;
|
|
2
|
+
/**
|
|
3
|
+
* Stateless SVG component responsible for rendering a single polyline annotation.
|
|
4
|
+
* Receives fully resolved geometry and styling from the parent renderer and
|
|
5
|
+
* performs no normalization, transformation, or time-based logic.
|
|
6
|
+
*/
|
|
7
|
+
declare function PolylineAnnotation({ points, stroke, strokeWidth, fill, opacity }: {
|
|
8
|
+
points: any;
|
|
9
|
+
stroke: any;
|
|
10
|
+
strokeWidth: any;
|
|
11
|
+
fill: any;
|
|
12
|
+
opacity: any;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default TextAnnotation;
|
|
2
|
+
/**
|
|
3
|
+
* Stateless SVG component responsible for rendering a single text annotation.
|
|
4
|
+
* Receives fully resolved position, styling, and content from the parent renderer.
|
|
5
|
+
* This component performs no normalization, scaling, or time-based logic.
|
|
6
|
+
*/
|
|
7
|
+
declare function TextAnnotation({ text, fontFamily, fontWeight, opacity, fontSize, x, y, color, lineHeight, }: {
|
|
8
|
+
text: any;
|
|
9
|
+
fontFamily?: string | undefined;
|
|
10
|
+
fontWeight?: number | undefined;
|
|
11
|
+
opacity?: number | undefined;
|
|
12
|
+
fontSize: any;
|
|
13
|
+
x: any;
|
|
14
|
+
y: any;
|
|
15
|
+
color?: string | undefined;
|
|
16
|
+
lineHeight?: number | undefined;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function isAnnotationVisible(annotation: any, currentTime: any): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function buildRenderModel(annotation: any, width: any, height: any): any;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default ImageOverlay;
|
|
2
|
+
/**
|
|
3
|
+
* Displays an image in a full-screen modal overlay and renders annotations on top of it.
|
|
4
|
+
*
|
|
5
|
+
* The component is responsible only for layout and sizing. Annotation filtering,
|
|
6
|
+
* geometry handling, and rendering are delegated to AnnotationRenderer.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
*
|
|
10
|
+
* @param {Object} props
|
|
11
|
+
* @param {string} props.src - Source URL of the image to display.
|
|
12
|
+
* @param {Array<Object>} props.annotations - List of annotations associated with the image.
|
|
13
|
+
* @param {Function} props.onClose - Callback invoked when the overlay is dismissed.
|
|
14
|
+
*
|
|
15
|
+
* @returns {JSX.Element} Full-screen image overlay with annotations.
|
|
16
|
+
*/
|
|
17
|
+
declare function ImageOverlay({ src, annotations, onClose }: {
|
|
18
|
+
src: string;
|
|
19
|
+
annotations: Array<Object>;
|
|
20
|
+
onClose: Function;
|
|
21
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default ImageViewer;
|
|
2
|
+
/**
|
|
3
|
+
* Viewer for displaying images with annotations.
|
|
4
|
+
*/
|
|
5
|
+
declare function ImageViewer({ src, annotations, onFullScreen, showAnnotations }: {
|
|
6
|
+
src: any;
|
|
7
|
+
annotations: any;
|
|
8
|
+
onFullScreen: any;
|
|
9
|
+
showAnnotations: any;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export default VideoJS;
|
|
2
|
+
/**
|
|
3
|
+
* VideoJS
|
|
4
|
+
*
|
|
5
|
+
* React wrapper component for initializing and managing a Video.js player
|
|
6
|
+
* instance.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
*
|
|
10
|
+
* @param {Object} props
|
|
11
|
+
* @param {string} props.type - MIME type of the video source (e.g. "application/x-mpegURL").
|
|
12
|
+
* @param {string} props.src - Source URL of the video stream.
|
|
13
|
+
* @param {boolean} [props.autoplay=false] - Whether playback should start automatically.
|
|
14
|
+
* @param {boolean} [props.muted=true] - Whether the video should start muted.
|
|
15
|
+
* @param {boolean} [props.controls=true] - Whether player controls should be visible.
|
|
16
|
+
* @param {boolean} [props.allowFullScreen=false] - Enables custom fullscreen handling.
|
|
17
|
+
* @param {boolean} [props.responsive=true] - Enables responsive resizing.
|
|
18
|
+
* @param {string} [props.aspectRatio="16:9"] - Aspect ratio used for fluid layout.
|
|
19
|
+
* @param {Function} [props.onReady] - Callback invoked when the player is ready.
|
|
20
|
+
* @param {Function} [props.onFullScreen] - Optional callback for custom fullscreen handling.
|
|
21
|
+
*
|
|
22
|
+
* @returns {JSX.Element} Video.js player container.
|
|
23
|
+
*
|
|
24
|
+
* @see https://videojs.org/guides/react/
|
|
25
|
+
*/
|
|
26
|
+
declare function VideoJS({ type, src, autoplay, muted, controls, allowFullScreen, responsive, aspectRatio, onReady, onFullScreen, }: {
|
|
27
|
+
type: string;
|
|
28
|
+
src: string;
|
|
29
|
+
autoplay?: boolean | undefined;
|
|
30
|
+
muted?: boolean | undefined;
|
|
31
|
+
controls?: boolean | undefined;
|
|
32
|
+
allowFullScreen?: boolean | undefined;
|
|
33
|
+
responsive?: boolean | undefined;
|
|
34
|
+
aspectRatio?: string | undefined;
|
|
35
|
+
onReady?: Function | undefined;
|
|
36
|
+
onFullScreen?: Function | undefined;
|
|
37
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default VideoViewer;
|
|
2
|
+
/**
|
|
3
|
+
* Viewer for displaying video with annotations.
|
|
4
|
+
*/
|
|
5
|
+
declare function VideoViewer({ type, src, autoplay, muted, controls, responsive, aspectRatio, annotations, showAnnotations, onFullScreen, }: {
|
|
6
|
+
type: any;
|
|
7
|
+
src: any;
|
|
8
|
+
autoplay?: boolean | undefined;
|
|
9
|
+
muted?: boolean | undefined;
|
|
10
|
+
controls?: boolean | undefined;
|
|
11
|
+
responsive?: boolean | undefined;
|
|
12
|
+
aspectRatio?: string | undefined;
|
|
13
|
+
annotations?: any[] | undefined;
|
|
14
|
+
showAnnotations: any;
|
|
15
|
+
onFullScreen: any;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function useVideoPlayer({ videoRef, options, onReady, onFullScreen, onTimeUpdate, showAnnotations, annotations, }: {
|
|
2
|
+
videoRef: any;
|
|
3
|
+
options: any;
|
|
4
|
+
onReady: any;
|
|
5
|
+
onFullScreen: any;
|
|
6
|
+
onTimeUpdate: any;
|
|
7
|
+
showAnnotations: any;
|
|
8
|
+
annotations?: any[] | undefined;
|
|
9
|
+
}): import("react").MutableRefObject<null>;
|
|
@@ -75,6 +75,7 @@ export default class Constants {
|
|
|
75
75
|
static HAS_TESTED_FORM: string;
|
|
76
76
|
static HAS_UNIT: string;
|
|
77
77
|
static HAS_VALID_ANSWER: string;
|
|
78
|
+
static HAS_CORRECT_ANSWER: string;
|
|
78
79
|
static IS_RELEVANT_IF: string;
|
|
79
80
|
static ACCEPTS_VALIDATION_VALUE: string;
|
|
80
81
|
static HAS_VALIDATION_MESSAGE: string;
|
|
@@ -86,6 +87,9 @@ export default class Constants {
|
|
|
86
87
|
static HAS_PRECEDING_QUESTION: string;
|
|
87
88
|
static HAS_PRECEDING_VALUE: string;
|
|
88
89
|
static HAS_MEDIA_CONTENT: string;
|
|
90
|
+
static ASSET: string;
|
|
91
|
+
static HAS_SOURCE: string;
|
|
92
|
+
static HAS_ANNOTATION: string;
|
|
89
93
|
static CONDITION: string;
|
|
90
94
|
static OR_CONDITION: string;
|
|
91
95
|
static HAS_SUB_CONDITION: string;
|
|
@@ -114,6 +118,7 @@ export default class Constants {
|
|
|
114
118
|
QUESTION_COMMENTS: string;
|
|
115
119
|
QUESTION_HELP: string;
|
|
116
120
|
QUESTION_LINK: string;
|
|
121
|
+
QUESTION_HINT: string;
|
|
117
122
|
};
|
|
118
123
|
static ICON_BEHAVIOR: {
|
|
119
124
|
ENABLE: string;
|
|
@@ -125,6 +130,41 @@ export default class Constants {
|
|
|
125
130
|
id: string;
|
|
126
131
|
behavior: string;
|
|
127
132
|
}[];
|
|
133
|
+
enableOptionQuestionFeedback: boolean;
|
|
134
|
+
};
|
|
135
|
+
static ANNOTATION: {
|
|
136
|
+
HAS_ANNOTATION_TYPE: string;
|
|
137
|
+
HAS_START_TIME: string;
|
|
138
|
+
HAS_END_TIME: string;
|
|
139
|
+
HAS_GEOMETRY_POINTS: string;
|
|
140
|
+
HAS_OPACITY: string;
|
|
141
|
+
HAS_COLOR: string;
|
|
142
|
+
};
|
|
143
|
+
static POLYLINE_ANNOTATION: {
|
|
144
|
+
IMPLICIT_TYPE_LABEL: string;
|
|
145
|
+
HAS_STROKE_WIDTH: string;
|
|
146
|
+
HAS_FILL_COLOR: string;
|
|
147
|
+
DEFAULT_POLYLINE_ANNOTATION_STYLE: {
|
|
148
|
+
color: string;
|
|
149
|
+
strokeWidth: number;
|
|
150
|
+
fillColor: string;
|
|
151
|
+
opacity: number;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
static TEXT_ANNOTATION: {
|
|
155
|
+
IMPLICIT_TYPE_LABEL: string;
|
|
156
|
+
HAS_FONT_SIZE: string;
|
|
157
|
+
HAS_FONT_WEIGHT: string;
|
|
158
|
+
HAS_TEXT: string;
|
|
159
|
+
DEFAULT_TEXT_ANNOTATION_STYLE: {
|
|
160
|
+
text: string;
|
|
161
|
+
color: string;
|
|
162
|
+
fontSizeInNormalizedPx: number;
|
|
163
|
+
fontWeight: string;
|
|
164
|
+
fontFamily: string;
|
|
165
|
+
fontColor: string;
|
|
166
|
+
opacity: number;
|
|
167
|
+
};
|
|
128
168
|
};
|
|
129
169
|
static LANG: {
|
|
130
170
|
cs: {
|