@king-design/vue 3.7.0 → 3.8.0-beta.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/__tests__/__snapshots__/Vue Next Demos.md +399 -0
- package/components/bubble/bubble.d.ts +61 -0
- package/components/bubble/bubble.js +81 -0
- package/components/bubble/bubble.vdt.js +85 -0
- package/components/bubble/index.d.ts +1 -0
- package/components/bubble/index.js +1 -0
- package/components/bubble/index.spec.d.ts +1 -0
- package/components/bubble/index.spec.js +771 -0
- package/components/bubble/styles.d.ts +5 -0
- package/components/bubble/styles.js +53 -0
- package/components/bubble/useBubbleDisplay.d.ts +18 -0
- package/components/bubble/useBubbleDisplay.js +300 -0
- package/components/bubbleList/bubbleList.d.ts +87 -0
- package/components/bubbleList/bubbleList.js +75 -0
- package/components/bubbleList/bubbleList.vdt.js +143 -0
- package/components/bubbleList/index.d.ts +1 -0
- package/components/bubbleList/index.js +1 -0
- package/components/bubbleList/index.spec.d.ts +1 -0
- package/components/bubbleList/index.spec.js +1268 -0
- package/components/bubbleList/item.d.ts +16 -0
- package/components/bubbleList/item.js +27 -0
- package/components/bubbleList/item.vdt.js +36 -0
- package/components/bubbleList/styles.d.ts +5 -0
- package/components/bubbleList/styles.js +33 -0
- package/components/bubbleList/useBubbleList.d.ts +28 -0
- package/components/bubbleList/useBubbleList.js +455 -0
- package/components/checkbox/index.d.ts +3 -3
- package/components/fileCard/fileCard.d.ts +65 -0
- package/components/fileCard/fileCard.js +72 -0
- package/components/fileCard/fileCard.vdt.js +161 -0
- package/components/fileCard/fileCardAssets.d.ts +1 -0
- package/components/fileCard/fileCardAssets.js +54 -0
- package/components/fileCard/fileCardUtils.d.ts +14 -0
- package/components/fileCard/fileCardUtils.js +94 -0
- package/components/fileCard/index.d.ts +2 -0
- package/components/fileCard/index.js +2 -0
- package/components/fileCard/index.spec.d.ts +1 -0
- package/components/fileCard/index.spec.js +1096 -0
- package/components/fileCard/list.d.ts +29 -0
- package/components/fileCard/list.js +46 -0
- package/components/fileCard/list.vdt.js +71 -0
- package/components/fileCard/styles.d.ts +5 -0
- package/components/fileCard/styles.js +83 -0
- package/components/fileCard/useFileCard.d.ts +45 -0
- package/components/fileCard/useFileCard.js +330 -0
- package/components/fileCard/useFileCardList.d.ts +14 -0
- package/components/fileCard/useFileCardList.js +49 -0
- package/components/form/form.js +2 -1
- package/components/media/context.d.ts +6 -0
- package/components/media/context.js +2 -0
- package/components/media/group.d.ts +12 -0
- package/components/media/group.js +32 -0
- package/components/media/group.vdt.js +50 -0
- package/components/media/index.d.ts +2 -0
- package/components/media/index.js +2 -0
- package/components/media/index.spec.d.ts +1 -0
- package/components/media/index.spec.js +1691 -0
- package/components/media/media.d.ts +37 -0
- package/components/media/media.js +67 -0
- package/components/media/media.vdt.js +202 -0
- package/components/media/mediaAssets.d.ts +4 -0
- package/components/media/mediaAssets.js +9 -0
- package/components/media/mediaUtils.d.ts +6 -0
- package/components/media/mediaUtils.js +66 -0
- package/components/media/styles.d.ts +13 -0
- package/components/media/styles.js +52 -0
- package/components/media/types.d.ts +37 -0
- package/components/media/types.js +1 -0
- package/components/media/useMedia.d.ts +70 -0
- package/components/media/useMedia.js +471 -0
- package/components/media/useMediaGroup.d.ts +15 -0
- package/components/media/useMediaGroup.js +136 -0
- package/components/media/useMediaViewer.d.ts +14 -0
- package/components/media/useMediaViewer.js +129 -0
- package/components/media/viewer.d.ts +24 -0
- package/components/media/viewer.js +54 -0
- package/components/media/viewer.vdt.js +100 -0
- package/components/radio/index.d.ts +3 -3
- package/components/sender/icons.d.ts +3 -0
- package/components/sender/icons.js +17 -0
- package/components/sender/index.d.ts +1 -0
- package/components/sender/index.js +1 -0
- package/components/sender/index.spec.d.ts +1 -0
- package/components/sender/index.spec.js +1597 -0
- package/components/sender/sender.d.ts +104 -0
- package/components/sender/sender.js +111 -0
- package/components/sender/sender.vdt.js +230 -0
- package/components/sender/styles.d.ts +5 -0
- package/components/sender/styles.js +56 -0
- package/components/sender/useAutoResize.d.ts +4 -0
- package/components/sender/useAutoResize.js +99 -0
- package/components/sender/useSenderDrag.d.ts +6 -0
- package/components/sender/useSenderDrag.js +320 -0
- package/components/sender/useSenderInput.d.ts +16 -0
- package/components/sender/useSenderInput.js +101 -0
- package/components/sender/useSenderPaste.d.ts +5 -0
- package/components/sender/useSenderPaste.js +36 -0
- package/components/sender/useSenderUpload.d.ts +11 -0
- package/components/sender/useSenderUpload.js +395 -0
- package/components/skeleton/skeleton.d.ts +2 -1
- package/components/skeleton/skeleton.js +1 -1
- package/components/think/index.d.ts +1 -0
- package/components/think/index.js +1 -0
- package/components/think/index.spec.d.ts +1 -0
- package/components/think/index.spec.js +345 -0
- package/components/think/index.vdt.js +82 -0
- package/components/think/styles.d.ts +5 -0
- package/components/think/styles.js +25 -0
- package/components/think/think.d.ts +28 -0
- package/components/think/think.js +48 -0
- package/components/think/useThinkExpand.d.ts +10 -0
- package/components/think/useThinkExpand.js +56 -0
- package/components/types.d.ts +4 -2
- package/components/upload/ajaxUploader.d.ts +1 -0
- package/components/upload/ajaxUploader.js +6 -0
- package/components/xmarkdown/index.d.ts +2 -0
- package/components/xmarkdown/index.js +1 -0
- package/components/xmarkdown/index.spec.d.ts +1 -0
- package/components/xmarkdown/index.spec.js +1666 -0
- package/components/xmarkdown/markdown/codeBlockRenderer.d.ts +8 -0
- package/components/xmarkdown/markdown/codeBlockRenderer.js +52 -0
- package/components/xmarkdown/markdown/codeblock.d.ts +8 -0
- package/components/xmarkdown/markdown/codeblock.js +74 -0
- package/components/xmarkdown/markdown/highlight.d.ts +17 -0
- package/components/xmarkdown/markdown/highlight.js +83 -0
- package/components/xmarkdown/markdown/index.d.ts +14 -0
- package/components/xmarkdown/markdown/index.js +14 -0
- package/components/xmarkdown/markdown/mermaid.d.ts +8 -0
- package/components/xmarkdown/markdown/mermaid.js +104 -0
- package/components/xmarkdown/markdown/renderTree.d.ts +54 -0
- package/components/xmarkdown/markdown/renderTree.js +386 -0
- package/components/xmarkdown/markdown/renderer.d.ts +18 -0
- package/components/xmarkdown/markdown/renderer.js +461 -0
- package/components/xmarkdown/markdown/streaming.d.ts +24 -0
- package/components/xmarkdown/markdown/streaming.js +513 -0
- package/components/xmarkdown/markdown/types.d.ts +124 -0
- package/components/xmarkdown/markdown/types.js +6 -0
- package/components/xmarkdown/markdown/utils.d.ts +7 -0
- package/components/xmarkdown/markdown/utils.js +9 -0
- package/components/xmarkdown/markdown.d.ts +1 -0
- package/components/xmarkdown/markdown.js +1 -0
- package/components/xmarkdown/styles.d.ts +5 -0
- package/components/xmarkdown/styles.js +50 -0
- package/components/xmarkdown/useMermaid.d.ts +27 -0
- package/components/xmarkdown/useMermaid.js +745 -0
- package/components/xmarkdown/useXMarkdownContent.d.ts +14 -0
- package/components/xmarkdown/useXMarkdownContent.js +218 -0
- package/components/xmarkdown/useXMarkdownDisplay.d.ts +26 -0
- package/components/xmarkdown/useXMarkdownDisplay.js +569 -0
- package/components/xmarkdown/xmarkdown.d.ts +61 -0
- package/components/xmarkdown/xmarkdown.js +109 -0
- package/components/xmarkdown/xmarkdown.vdt.js +43 -0
- package/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/i18n/en-US.js +29 -1
- package/dist/i18n/en-US.js.map +1 -1
- package/dist/i18n/en-US.min.js +1 -1
- package/dist/index.js +100506 -37457
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1569 -1
- package/dist/kpc.css +4 -0
- package/dist/ksyun.css +4 -0
- package/i18n/en-US.d.ts +27 -0
- package/i18n/en-US.js +29 -1
- package/index.d.ts +9 -2
- package/index.js +9 -2
- package/package.json +8 -2
- package/styles/global.js +12 -6
- package/yarn-error.log +0 -1012
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Component, TypeDefs } from 'intact-vue-next';
|
|
2
|
+
import type { Events } from '../types';
|
|
3
|
+
import type { Container } from '../portal';
|
|
4
|
+
import type { TooltipProps } from '../tooltip';
|
|
5
|
+
import type { MediaBlocks, MediaNativeProps, MediaSizeValue, MediaStatus, MediaType, MediaValue, MediaViewerItem } from './types';
|
|
6
|
+
export type { MediaNativeProps, MediaBlocks, MediaMaskValue, MediaSize, MediaSizeValue, MediaStatus, MediaType, MediaValue, MediaViewerItem, ResolvedMediaType, } from './types';
|
|
7
|
+
export interface MediaProps {
|
|
8
|
+
name?: string;
|
|
9
|
+
type?: MediaType;
|
|
10
|
+
status?: MediaStatus;
|
|
11
|
+
src?: string;
|
|
12
|
+
poster?: string;
|
|
13
|
+
size?: MediaSizeValue;
|
|
14
|
+
width?: string | number;
|
|
15
|
+
height?: string | number;
|
|
16
|
+
showPreview?: boolean;
|
|
17
|
+
showNameTooltip?: boolean;
|
|
18
|
+
nameTooltipProps?: TooltipProps;
|
|
19
|
+
container?: Container;
|
|
20
|
+
imageProps?: MediaNativeProps;
|
|
21
|
+
videoProps?: MediaNativeProps;
|
|
22
|
+
audioProps?: MediaNativeProps;
|
|
23
|
+
}
|
|
24
|
+
export interface MediaEvents {
|
|
25
|
+
click: [MediaValue, MouseEvent];
|
|
26
|
+
preview: [MediaViewerItem, MouseEvent];
|
|
27
|
+
load: [MediaValue, Event];
|
|
28
|
+
loadError: [MediaValue, Event];
|
|
29
|
+
}
|
|
30
|
+
export declare class Media extends Component<MediaProps, MediaEvents, MediaBlocks> {
|
|
31
|
+
static template: string | import('intact-vue-next').Template<any>;
|
|
32
|
+
static typeDefs: Required<TypeDefs<MediaProps>>;
|
|
33
|
+
static defaults: () => Partial<MediaProps>;
|
|
34
|
+
static events: Events<MediaEvents>;
|
|
35
|
+
private config;
|
|
36
|
+
private media;
|
|
37
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import _inheritsLoose from "@babel/runtime-corejs3/helpers/inheritsLoose";
|
|
2
|
+
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/concat";
|
|
3
|
+
import { Component } from 'intact-vue-next';
|
|
4
|
+
import template from './media.vdt';
|
|
5
|
+
import { useConfigContext } from '../config';
|
|
6
|
+
import { useMedia } from './useMedia';
|
|
7
|
+
var typeDefs = {
|
|
8
|
+
name: String,
|
|
9
|
+
type: String,
|
|
10
|
+
status: ['default', 'loading', 'error', 'done'],
|
|
11
|
+
src: String,
|
|
12
|
+
poster: String,
|
|
13
|
+
size: ['mini', 'small', 'default', 'large', String, Number],
|
|
14
|
+
width: [String, Number],
|
|
15
|
+
height: [String, Number],
|
|
16
|
+
showPreview: Boolean,
|
|
17
|
+
showNameTooltip: Boolean,
|
|
18
|
+
nameTooltipProps: Object,
|
|
19
|
+
container: [String, Function],
|
|
20
|
+
imageProps: Object,
|
|
21
|
+
videoProps: Object,
|
|
22
|
+
audioProps: Object
|
|
23
|
+
};
|
|
24
|
+
var defaults = function defaults() {
|
|
25
|
+
return {
|
|
26
|
+
name: undefined,
|
|
27
|
+
type: undefined,
|
|
28
|
+
status: 'default',
|
|
29
|
+
src: undefined,
|
|
30
|
+
poster: undefined,
|
|
31
|
+
size: 'default',
|
|
32
|
+
width: undefined,
|
|
33
|
+
height: undefined,
|
|
34
|
+
showPreview: true,
|
|
35
|
+
showNameTooltip: false,
|
|
36
|
+
nameTooltipProps: undefined,
|
|
37
|
+
container: undefined,
|
|
38
|
+
imageProps: undefined,
|
|
39
|
+
videoProps: undefined,
|
|
40
|
+
audioProps: undefined
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
var events = {
|
|
44
|
+
click: true,
|
|
45
|
+
preview: true,
|
|
46
|
+
load: true,
|
|
47
|
+
loadError: true
|
|
48
|
+
};
|
|
49
|
+
export var Media = /*#__PURE__*/function (_Component) {
|
|
50
|
+
_inheritsLoose(Media, _Component);
|
|
51
|
+
function Media() {
|
|
52
|
+
var _context;
|
|
53
|
+
var _this;
|
|
54
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
55
|
+
args[_key] = arguments[_key];
|
|
56
|
+
}
|
|
57
|
+
_this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
|
|
58
|
+
_this.config = useConfigContext();
|
|
59
|
+
_this.media = useMedia();
|
|
60
|
+
return _this;
|
|
61
|
+
}
|
|
62
|
+
return Media;
|
|
63
|
+
}(Component);
|
|
64
|
+
Media.template = template;
|
|
65
|
+
Media.typeDefs = typeDefs;
|
|
66
|
+
Media.defaults = defaults;
|
|
67
|
+
Media.events = events;
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
2
|
+
import { createElementVNode as _$ce, className as _$cn, createVNode as _$cv, createUnknownComponentVNode as _$cc, extend as _$ex, EMPTY_OBJ as _$em } from 'intact-vue-next';
|
|
3
|
+
import { Icon } from '../icon';
|
|
4
|
+
import { Tooltip } from '../tooltip';
|
|
5
|
+
import { isInvalid, noop } from 'intact-shared';
|
|
6
|
+
import { getRestProps, addStyle, isEmptyString } from '../utils';
|
|
7
|
+
import { MediaViewer } from './viewer';
|
|
8
|
+
import { makeMediaStyles, makeMediaViewerStyles } from './styles';
|
|
9
|
+
var _$tmp0 = {
|
|
10
|
+
'tabindex': '-1'
|
|
11
|
+
};
|
|
12
|
+
export default function ($props, $blocks, $__proto__) {
|
|
13
|
+
var _extends2;
|
|
14
|
+
$blocks || ($blocks = {});
|
|
15
|
+
$props || ($props = {});
|
|
16
|
+
var $this = this;
|
|
17
|
+
var _this$media = this.media,
|
|
18
|
+
getRootClassNameObj = _this$media.getRootClassNameObj,
|
|
19
|
+
getRootStyle = _this$media.getRootStyle,
|
|
20
|
+
getFileName = _this$media.getFileName,
|
|
21
|
+
isLoading = _this$media.isLoading,
|
|
22
|
+
shouldShowImage = _this$media.shouldShowImage,
|
|
23
|
+
shouldShowVideo = _this$media.shouldShowVideo,
|
|
24
|
+
shouldShowAudioLoader = _this$media.shouldShowAudioLoader,
|
|
25
|
+
shouldShowAudioCard = _this$media.shouldShowAudioCard,
|
|
26
|
+
shouldShowErrorCard = _this$media.shouldShowErrorCard,
|
|
27
|
+
imageRef = _this$media.imageRef,
|
|
28
|
+
videoRef = _this$media.videoRef,
|
|
29
|
+
audioRef = _this$media.audioRef,
|
|
30
|
+
getImageProps = _this$media.getImageProps,
|
|
31
|
+
getVideoProps = _this$media.getVideoProps,
|
|
32
|
+
getVideoKey = _this$media.getVideoKey,
|
|
33
|
+
getAudioLoaderProps = _this$media.getAudioLoaderProps,
|
|
34
|
+
getAudioCardAssetSrc = _this$media.getAudioCardAssetSrc,
|
|
35
|
+
getErrorCardAssetSrc = _this$media.getErrorCardAssetSrc,
|
|
36
|
+
getMediaCardIconStyle = _this$media.getMediaCardIconStyle,
|
|
37
|
+
shouldShowLoadingIndicator = _this$media.shouldShowLoadingIndicator,
|
|
38
|
+
shouldShowPlaceholder = _this$media.shouldShowPlaceholder,
|
|
39
|
+
getPreviewIconClassName = _this$media.getPreviewIconClassName,
|
|
40
|
+
getPlaceholderIconClassName = _this$media.getPlaceholderIconClassName,
|
|
41
|
+
getPreviewTitle = _this$media.getPreviewTitle,
|
|
42
|
+
onClick = _this$media.onClick,
|
|
43
|
+
onPreview = _this$media.onPreview,
|
|
44
|
+
canPreview = _this$media.canPreview,
|
|
45
|
+
shouldShowVideoPlayTrigger = _this$media.shouldShowVideoPlayTrigger,
|
|
46
|
+
shouldShowMaskLayer = _this$media.shouldShowMaskLayer,
|
|
47
|
+
getViewerItem = _this$media.getViewerItem,
|
|
48
|
+
getMaskValue = _this$media.getMaskValue,
|
|
49
|
+
isStandalonePreviewRendered = _this$media.isStandalonePreviewRendered,
|
|
50
|
+
isStandalonePreviewVisible = _this$media.isStandalonePreviewVisible,
|
|
51
|
+
closeStandalonePreview = _this$media.closeStandalonePreview,
|
|
52
|
+
afterStandalonePreviewClose = _this$media.afterStandalonePreviewClose;
|
|
53
|
+
var _this$get = this.get(),
|
|
54
|
+
className = _this$get.className,
|
|
55
|
+
style = _this$get.style;
|
|
56
|
+
var k = this.config.k;
|
|
57
|
+
var isEmptySlot = function isEmptySlot(value) {
|
|
58
|
+
if (isInvalid(value) || isEmptyString(value)) return true;
|
|
59
|
+
if (Array.isArray(value)) return value.every(function (item) {
|
|
60
|
+
return isEmptySlot(item);
|
|
61
|
+
});
|
|
62
|
+
if (value && value.type === 1) return isEmptySlot(value.children);
|
|
63
|
+
return false;
|
|
64
|
+
};
|
|
65
|
+
var renderSlot = function renderSlot(name, params) {
|
|
66
|
+
return $blocks[name] ? $blocks[name](noop, params) : undefined;
|
|
67
|
+
};
|
|
68
|
+
var viewerItem = getViewerItem();
|
|
69
|
+
var maskValue = getMaskValue();
|
|
70
|
+
var loadingSlot = isLoading() ? renderSlot('loading', viewerItem) : undefined;
|
|
71
|
+
var errorSlot = this.media.isError() ? renderSlot('error', viewerItem) : undefined;
|
|
72
|
+
var maskSlot = shouldShowMaskLayer() ? renderSlot('mask', maskValue) : undefined;
|
|
73
|
+
var hasLoadingSlot = !isEmptySlot(loadingSlot);
|
|
74
|
+
var hasErrorSlot = !isEmptySlot(errorSlot);
|
|
75
|
+
var hasMaskSlot = !isEmptySlot(maskSlot);
|
|
76
|
+
var showCustomLoadingLayer = isLoading() && hasLoadingSlot;
|
|
77
|
+
var showCustomErrorLayer = this.media.isError() && hasErrorSlot;
|
|
78
|
+
var showCustomMaskLayer = hasMaskSlot && shouldShowMaskLayer();
|
|
79
|
+
var showCustomStateLayer = showCustomLoadingLayer || showCustomErrorLayer;
|
|
80
|
+
var showVideoPlayTrigger = shouldShowVideoPlayTrigger() && !showCustomStateLayer;
|
|
81
|
+
var shouldShowOverlay = canPreview() || showCustomMaskLayer || showVideoPlayTrigger;
|
|
82
|
+
var shouldShowDefaultPreviewTrigger = canPreview() || showVideoPlayTrigger;
|
|
83
|
+
var shouldShowPreviewTriggerInOverlay = canPreview() && !showVideoPlayTrigger;
|
|
84
|
+
var shouldShowStandalonePreviewTrigger = shouldShowDefaultPreviewTrigger && showVideoPlayTrigger;
|
|
85
|
+
var showNameTooltip = this.get('showNameTooltip');
|
|
86
|
+
var nameTooltipProps = _extends({
|
|
87
|
+
theme: 'light'
|
|
88
|
+
}, this.get('nameTooltipProps') || {});
|
|
89
|
+
var mediaName = getFileName();
|
|
90
|
+
var audioCard = _$ce(2, 'div', _$ce(2, 'img', null, 1, _$cn(k + "-media-card-icon " + k + "-media-audio-card-icon"), {
|
|
91
|
+
'src': getAudioCardAssetSrc(),
|
|
92
|
+
'alt': '',
|
|
93
|
+
'draggable': false,
|
|
94
|
+
'style': getMediaCardIconStyle()
|
|
95
|
+
}), 2, _$cn(k + "-media-audio-card"));
|
|
96
|
+
var errorCard = _$ce(2, 'div', _$ce(2, 'img', null, 1, _$cn(k + "-media-card-icon " + k + "-media-error-card-icon"), {
|
|
97
|
+
'src': getErrorCardAssetSrc(),
|
|
98
|
+
'alt': '',
|
|
99
|
+
'draggable': false,
|
|
100
|
+
'style': getMediaCardIconStyle()
|
|
101
|
+
}), 2, _$cn(k + "-media-error-card"));
|
|
102
|
+
var classNameObj = _extends({}, getRootClassNameObj(), (_extends2 = {}, _extends2[k + "-media-custom-loading"] = showCustomLoadingLayer, _extends2[k + "-media-custom-error"] = showCustomErrorLayer, _extends2[k + "-media-custom-mask"] = showCustomMaskLayer, _extends2[className] = className, _extends2[makeMediaStyles(k)] = true, _extends2));
|
|
103
|
+
return _$cv('div', _extends({
|
|
104
|
+
'className': _$cn(classNameObj),
|
|
105
|
+
'style': addStyle(style, getRootStyle()),
|
|
106
|
+
'title': showNameTooltip ? undefined : getFileName()
|
|
107
|
+
}, getRestProps(this), {
|
|
108
|
+
'ev-click': onClick
|
|
109
|
+
}), [_$ce(2, 'div', [shouldShowImage() ? _$cv('img', _extends({
|
|
110
|
+
'className': _$cn(k + "-media-image"),
|
|
111
|
+
'ref': imageRef
|
|
112
|
+
}, getImageProps())) : shouldShowVideo() ? _$cv('video', _extends({
|
|
113
|
+
'key': getVideoKey(),
|
|
114
|
+
'className': _$cn(k + "-media-video"),
|
|
115
|
+
'ref': videoRef
|
|
116
|
+
}, getVideoProps())) : undefined, shouldShowAudioLoader() ? _$cv('audio', _extends({
|
|
117
|
+
'className': _$cn(k + "-media-audio-loader"),
|
|
118
|
+
'ref': audioRef
|
|
119
|
+
}, getAudioLoaderProps())) : undefined, shouldShowErrorCard() && !showCustomErrorLayer ? errorCard : shouldShowAudioCard() && !showCustomStateLayer ? audioCard : shouldShowPlaceholder() && !showCustomLoadingLayer && !showCustomErrorLayer ? _$ce(2, 'div', _$cc(Icon, {
|
|
120
|
+
'className': _$cn(getPlaceholderIconClassName())
|
|
121
|
+
}), 2, _$cn(k + "-media-placeholder")) : undefined, shouldShowLoadingIndicator() && !showCustomLoadingLayer ? _$ce(2, 'div', _$ce(2, 'span', null, 1, _$cn(k + "-media-loading-spinner")), 2, _$cn(k + "-media-loading-indicator")) : undefined, showNameTooltip ? _$cc(Tooltip, _extends({
|
|
122
|
+
'className': _$cn(k + "-media-name-tooltip")
|
|
123
|
+
}, nameTooltipProps, {
|
|
124
|
+
'children': _$ce(2, 'div', null, 1, _$cn(k + "-media-name-tooltip-trigger"), _$tmp0),
|
|
125
|
+
'$blocks': function ($blocks) {
|
|
126
|
+
var _$blocks = {},
|
|
127
|
+
__$blocks = _$ex({}, $blocks);
|
|
128
|
+
return (_$blocks['content'] = function ($super) {
|
|
129
|
+
return _$ce(2, 'div', mediaName, 0, _$cn(k + "-media-name-tooltip-content"), {
|
|
130
|
+
'style': {
|
|
131
|
+
maxWidth: '160px',
|
|
132
|
+
whiteSpace: 'nowrap',
|
|
133
|
+
overflow: 'hidden',
|
|
134
|
+
textOverflow: 'ellipsis'
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}, __$blocks['content'] = function ($super, data) {
|
|
138
|
+
var block = $blocks['content'];
|
|
139
|
+
var callBlock = function callBlock() {
|
|
140
|
+
return _$blocks['content'].call($this, $super, data);
|
|
141
|
+
};
|
|
142
|
+
return block ? block.call($this, callBlock, data) : callBlock();
|
|
143
|
+
}), __$blocks;
|
|
144
|
+
}.call($this, _$em)
|
|
145
|
+
})) : undefined, showCustomStateLayer && showCustomLoadingLayer ? _$ce(2, 'div', loadingSlot, 0, _$cn(k + "-media-state-layer " + k + "-media-loading-layer")) : undefined, showCustomStateLayer && showCustomErrorLayer ? _$ce(2, 'div', errorSlot, 0, _$cn(k + "-media-state-layer " + k + "-media-error-layer")) : undefined, shouldShowOverlay ? _$ce(2, 'div', [showCustomMaskLayer ? maskSlot : undefined, shouldShowPreviewTriggerInOverlay && !showCustomMaskLayer ? _$ce(2, 'button', _$cc(Icon, {
|
|
146
|
+
'className': _$cn(k + "-media-preview-icon " + getPreviewIconClassName()),
|
|
147
|
+
'size': 'large'
|
|
148
|
+
}), 2, _$cn(k + "-media-preview-trigger"), {
|
|
149
|
+
'type': 'button',
|
|
150
|
+
'title': getPreviewTitle(),
|
|
151
|
+
'disabled': !canPreview(),
|
|
152
|
+
'ev-click': onPreview
|
|
153
|
+
}) : undefined], 0, _$cn(k + "-media-overlay")) : undefined, shouldShowStandalonePreviewTrigger && !showCustomMaskLayer ? showNameTooltip ? _$cc(Tooltip, _extends({
|
|
154
|
+
'className': _$cn(k + "-media-name-tooltip")
|
|
155
|
+
}, nameTooltipProps, {
|
|
156
|
+
'children': _$ce(2, 'button', _$cc(Icon, {
|
|
157
|
+
'className': _$cn(k + "-media-preview-icon " + getPreviewIconClassName()),
|
|
158
|
+
'size': 'large'
|
|
159
|
+
}), 2, _$cn(k + "-media-preview-trigger " + k + "-media-video-preview-trigger"), {
|
|
160
|
+
'type': 'button',
|
|
161
|
+
'title': getPreviewTitle(),
|
|
162
|
+
'disabled': !canPreview(),
|
|
163
|
+
'ev-click': onPreview
|
|
164
|
+
}),
|
|
165
|
+
'$blocks': function ($blocks) {
|
|
166
|
+
var _$blocks = {},
|
|
167
|
+
__$blocks = _$ex({}, $blocks);
|
|
168
|
+
return (_$blocks['content'] = function ($super) {
|
|
169
|
+
return _$ce(2, 'div', mediaName, 0, _$cn(k + "-media-name-tooltip-content"), {
|
|
170
|
+
'style': {
|
|
171
|
+
maxWidth: '160px',
|
|
172
|
+
whiteSpace: 'nowrap',
|
|
173
|
+
overflow: 'hidden',
|
|
174
|
+
textOverflow: 'ellipsis'
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}, __$blocks['content'] = function ($super, data) {
|
|
178
|
+
var block = $blocks['content'];
|
|
179
|
+
var callBlock = function callBlock() {
|
|
180
|
+
return _$blocks['content'].call($this, $super, data);
|
|
181
|
+
};
|
|
182
|
+
return block ? block.call($this, callBlock, data) : callBlock();
|
|
183
|
+
}), __$blocks;
|
|
184
|
+
}.call($this, _$em)
|
|
185
|
+
})) : _$ce(2, 'button', _$cc(Icon, {
|
|
186
|
+
'className': _$cn(k + "-media-preview-icon " + getPreviewIconClassName()),
|
|
187
|
+
'size': 'large'
|
|
188
|
+
}), 2, _$cn(k + "-media-preview-trigger " + k + "-media-video-preview-trigger"), {
|
|
189
|
+
'type': 'button',
|
|
190
|
+
'title': getPreviewTitle(),
|
|
191
|
+
'disabled': !canPreview(),
|
|
192
|
+
'ev-click': onPreview
|
|
193
|
+
}) : undefined], 0, _$cn(k + "-media-shell")), isStandalonePreviewRendered() ? _$cc(MediaViewer, {
|
|
194
|
+
'value': isStandalonePreviewVisible(),
|
|
195
|
+
'item': viewerItem,
|
|
196
|
+
'container': this.get('container'),
|
|
197
|
+
'onClose': closeStandalonePreview,
|
|
198
|
+
'onAfterClose': afterStandalonePreviewClose,
|
|
199
|
+
'className': _$cn(makeMediaViewerStyles(k))
|
|
200
|
+
}) : undefined]);
|
|
201
|
+
}
|
|
202
|
+
;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// 资源内联,避免框架包构建时依赖额外图片文件复制。
|
|
2
|
+
var mediaAudioCardSvg = ['<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">', '<g clip-path="url(#clip0_24923_23617)">', '<path d="M1.19995 2.4C1.19995 1.07452 2.27447 0 3.59995 0H14.4017L22.8 8.39355V21.6C22.8 22.9255 21.7254 24 20.4 24H3.59995C2.27447 24 1.19995 22.9255 1.19995 21.6V2.4Z" fill="url(#paint0_linear_24923_23617)"/>', '<path d="M15.7916 10.2829C15.1728 10.2829 14.5793 10.037 14.1417 9.59944C13.7041 9.16185 13.4583 8.56836 13.4583 7.94952H12.2916V13.6429C11.805 13.3177 11.2236 13.1645 10.64 13.2076C10.0563 13.2507 9.50381 13.4876 9.07021 13.8807C8.63661 14.2738 8.3468 14.8005 8.24683 15.3771C8.14687 15.9537 8.24247 16.5473 8.51845 17.0634C8.79444 17.5794 9.23497 17.9885 9.77007 18.2255C10.3052 18.4626 10.9041 18.514 11.4718 18.3716C12.0395 18.2293 12.5433 17.9013 12.9032 17.4398C13.2631 16.9783 13.4585 16.4098 13.4583 15.8245V10.5541C14.0993 11.1296 14.9301 11.4484 15.7916 11.4495V10.2829Z" fill="white"/>', '<g filter="url(#filter0_f_24923_23617)">', '<path d="M13.8 0L22.8 9H16.2C14.8746 9 13.8 7.92548 13.8 6.6V0Z" fill="#FA655E"/>', '</g>', '<path d="M14.3999 0L22.7999 8.4H16.7999C15.4744 8.4 14.3999 7.32548 14.3999 6V0Z" fill="#FEC6C2"/>', '</g>', '<defs>', '<filter id="filter0_f_24923_23617" x="10.8" y="-3" width="15" height="15" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">', '<feFlood flood-opacity="0" result="BackgroundImageFix"/>', '<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>', '<feGaussianBlur stdDeviation="1.5" result="effect1_foregroundBlur_24923_23617"/>', '</filter>', '<linearGradient id="paint0_linear_24923_23617" x1="1.19995" y1="0" x2="25.2" y2="24" gradientUnits="userSpaceOnUse">', '<stop stop-color="#FDA79C"/>', '<stop offset="1" stop-color="#FF8787"/>', '</linearGradient>', '<clipPath id="clip0_24923_23617">', '<rect width="24" height="24" fill="white"/>', '</clipPath>', '</defs>', '</svg>'].join('');
|
|
3
|
+
export var mediaAudioCardUrl = "data:image/svg+xml;charset=UTF-8," + encodeURIComponent(mediaAudioCardSvg);
|
|
4
|
+
var mediaImageCardErrorSvg = ['<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">', '<g clip-path="url(#clip0_25770_6783)">', '<path d="M1.6001 3.2C1.6001 1.43269 3.03279 0 4.8001 0H19.2024L30.4001 11.1914V28.8C30.4001 30.5673 28.9674 32 27.2001 32H4.8001C3.03279 32 1.6001 30.5673 1.6001 28.8V3.2Z" fill="url(#paint0_linear_25770_6783)"/>', '<path d="M8.24289 22.3474L11.1107 18.1323C11.1475 18.0783 11.1956 18.033 11.2518 17.9996C11.3079 17.9663 11.3707 17.9457 11.4357 17.9393C11.5007 17.9329 11.5664 17.9408 11.628 17.9626C11.6895 17.9844 11.7456 18.0194 11.7921 18.0652L13.6875 19.9222L17.8459 13.4042C17.8871 13.3395 17.9442 13.2865 18.0119 13.2504C18.0795 13.2142 18.1553 13.1961 18.232 13.1979C18.3086 13.1996 18.3835 13.2211 18.4495 13.2602C18.5154 13.2993 18.5701 13.3548 18.6084 13.4213L23.7752 22.3756C23.8144 22.4434 23.8351 22.5203 23.8351 22.5986C23.8352 22.6769 23.8146 22.7539 23.7754 22.8217C23.7362 22.8896 23.6799 22.9459 23.612 22.985C23.5441 23.0241 23.4672 23.0447 23.3888 23.0446H8.61173C8.53054 23.0447 8.45085 23.0227 8.38126 22.9809C8.31167 22.9391 8.25481 22.8791 8.21683 22.8074C8.17885 22.7356 8.16118 22.6548 8.16574 22.5738C8.1703 22.4927 8.19691 22.4145 8.2427 22.3474H8.24289Z" fill="white"/>', '<path d="M9.10168 12.8034C9.10168 13.3996 9.33855 13.9715 9.76017 14.3931C10.1818 14.8147 10.7536 15.0516 11.3499 15.0516C11.9462 15.0516 12.518 14.8147 12.9396 14.3931C13.3612 13.9715 13.5981 13.3996 13.5981 12.8034C13.5981 12.2071 13.3612 11.6353 12.9396 11.2137C12.518 10.792 11.9462 10.5552 11.3499 10.5552C10.7536 10.5552 10.1818 10.792 9.76017 11.2137C9.33855 11.6353 9.10168 12.2071 9.10168 12.8034Z" fill="white"/>', '<g filter="url(#filter0_f_25770_6783)">', '<path d="M18.4001 0L30.4001 12H21.6001C19.8328 12 18.4001 10.5673 18.4001 8.8V0Z" fill="#C9CAD6"/>', '</g>', '<path d="M19.2001 0L30.4001 11.2H22.4001C20.6328 11.2 19.2001 9.76731 19.2001 8V0Z" fill="#F2F2F3"/>', '</g>', '<defs>', '<filter id="filter0_f_25770_6783" x="14.4001" y="-4" width="20" height="20" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">', '<feFlood flood-opacity="0" result="BackgroundImageFix"/>', '<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>', '<feGaussianBlur stdDeviation="2" result="effect1_foregroundBlur_25770_6783"/>', '</filter>', '<linearGradient id="paint0_linear_25770_6783" x1="1.6001" y1="0" x2="33.6001" y2="32" gradientUnits="userSpaceOnUse">', '<stop stop-color="#ECECEC"/>', '<stop offset="1" stop-color="#D6DCE7"/>', '</linearGradient>', '<clipPath id="clip0_25770_6783">', '<rect width="32" height="32" fill="white"/>', '</clipPath>', '</defs>', '</svg>'].join('');
|
|
5
|
+
export var mediaImageCardErrorUrl = "data:image/svg+xml;charset=UTF-8," + encodeURIComponent(mediaImageCardErrorSvg);
|
|
6
|
+
var mediaVideoCardErrorSvg = ['<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">', '<g clip-path="url(#clip0_25770_6789)">', '<path d="M1.6001 3.2C1.6001 1.43269 3.03279 0 4.8001 0H19.2024L30.4001 11.1914V28.8C30.4001 30.5673 28.9674 32 27.2001 32H4.8001C3.03279 32 1.6001 30.5673 1.6001 28.8V3.2Z" fill="url(#paint0_linear_25770_6789)"/>', '<path d="M13.4815 12.9907C13.2152 12.8215 12.8669 13.0128 12.8669 13.3283V21.8719C12.8669 22.1874 13.2152 22.3787 13.4815 22.2095L20.2025 17.9377C20.4497 17.7805 20.4497 17.4197 20.2025 17.2625L13.4815 12.9907Z" fill="white"/>', '<g filter="url(#filter0_f_25770_6789)">', '<path d="M18.4001 0L30.4001 12H21.6001C19.8328 12 18.4001 10.5673 18.4001 8.8V0Z" fill="#C9CAD6"/>', '</g>', '<path d="M19.2001 0L30.4001 11.2H22.4001C20.6328 11.2 19.2001 9.76731 19.2001 8V0Z" fill="#F2F2F3"/>', '</g>', '<defs>', '<filter id="filter0_f_25770_6789" x="14.4001" y="-4" width="20" height="20" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">', '<feFlood flood-opacity="0" result="BackgroundImageFix"/>', '<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>', '<feGaussianBlur stdDeviation="2" result="effect1_foregroundBlur_25770_6789"/>', '</filter>', '<linearGradient id="paint0_linear_25770_6789" x1="1.6001" y1="0" x2="33.6001" y2="32" gradientUnits="userSpaceOnUse">', '<stop stop-color="#ECECEC"/>', '<stop offset="1" stop-color="#D6DCE7"/>', '</linearGradient>', '<clipPath id="clip0_25770_6789">', '<rect width="32" height="32" fill="white"/>', '</clipPath>', '</defs>', '</svg>'].join('');
|
|
7
|
+
export var mediaVideoCardErrorUrl = "data:image/svg+xml;charset=UTF-8," + encodeURIComponent(mediaVideoCardErrorSvg);
|
|
8
|
+
var mediaAudioCardErrorSvg = ['<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">', '<g clip-path="url(#clip0_25770_6777)">', '<path d="M1.6001 3.2C1.6001 1.43269 3.03279 0 4.8001 0H19.2024L30.4001 11.1914V28.8C30.4001 30.5673 28.9674 32 27.2001 32H4.8001C3.03279 32 1.6001 30.5673 1.6001 28.8V3.2Z" fill="url(#paint0_linear_25770_6777)"/>', '<path d="M21.0556 13.7107C20.2305 13.7107 19.4391 13.3829 18.8557 12.7995C18.2722 12.2161 17.9445 11.4247 17.9445 10.5996H16.3889V18.1907C15.7401 17.7572 14.965 17.5529 14.1868 17.6104C13.4086 17.6679 12.6719 17.9837 12.0937 18.5078C11.5156 19.0319 11.1292 19.7342 10.9959 20.503C10.8626 21.2719 10.9901 22.0633 11.3581 22.7514C11.726 23.4395 12.3134 23.9849 13.0269 24.301C13.7403 24.617 14.539 24.6856 15.2958 24.4958C16.0527 24.306 16.7245 23.8686 17.2044 23.2533C17.6843 22.638 17.9448 21.8799 17.9445 21.0996V14.0724C18.7992 14.8397 19.9069 15.2648 21.0556 15.2663V13.7107Z" fill="white"/>', '<g filter="url(#filter0_f_25770_6777)">', '<path d="M18.4001 0L30.4001 12H21.6001C19.8328 12 18.4001 10.5673 18.4001 8.8V0Z" fill="#C9CAD6"/>', '</g>', '<path d="M19.2001 0L30.4001 11.2H22.4001C20.6328 11.2 19.2001 9.76731 19.2001 8V0Z" fill="#F2F2F3"/>', '</g>', '<defs>', '<filter id="filter0_f_25770_6777" x="14.4001" y="-4" width="20" height="20" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">', '<feFlood flood-opacity="0" result="BackgroundImageFix"/>', '<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>', '<feGaussianBlur stdDeviation="2" result="effect1_foregroundBlur_25770_6777"/>', '</filter>', '<linearGradient id="paint0_linear_25770_6777" x1="1.6001" y1="0" x2="33.6001" y2="32" gradientUnits="userSpaceOnUse">', '<stop stop-color="#ECECEC"/>', '<stop offset="1" stop-color="#D6DCE7"/>', '</linearGradient>', '<clipPath id="clip0_25770_6777">', '<rect width="32" height="32" fill="white"/>', '</clipPath>', '</defs>', '</svg>'].join('');
|
|
9
|
+
export var mediaAudioCardErrorUrl = "data:image/svg+xml;charset=UTF-8," + encodeURIComponent(mediaAudioCardErrorSvg);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MediaSize, MediaSizeValue, MediaType, ResolvedMediaType } from './types';
|
|
2
|
+
export declare function getMediaDisplayName(name?: string, src?: string): string;
|
|
3
|
+
export declare function resolveMediaType(type?: MediaType, name?: string, src?: string): ResolvedMediaType;
|
|
4
|
+
export declare function isNamedMediaSize(size: MediaSizeValue | undefined): size is MediaSize;
|
|
5
|
+
export declare function normalizeMediaLength(value?: string | number): string | undefined;
|
|
6
|
+
export declare function parseMediaPixelLength(value?: string | number): number | undefined;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import _trimInstanceProperty from "@babel/runtime-corejs3/core-js/instance/trim";
|
|
2
|
+
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js/instance/includes";
|
|
3
|
+
import _startsWithInstanceProperty from "@babel/runtime-corejs3/core-js/instance/starts-with";
|
|
4
|
+
import _Number$isFinite from "@babel/runtime-corejs3/core-js/number/is-finite";
|
|
5
|
+
import { _$ } from '../../i18n';
|
|
6
|
+
var IMAGE_EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'svg', 'avif'];
|
|
7
|
+
var VIDEO_EXTENSIONS = ['mp4', 'mov', 'm4v', 'webm', 'mkv', 'avi'];
|
|
8
|
+
var AUDIO_EXTENSIONS = ['mp3', 'wav', 'ogg', 'm4a', 'aac', 'flac'];
|
|
9
|
+
function deriveNameFromSrc(src) {
|
|
10
|
+
if (!src) return '';
|
|
11
|
+
var withoutHash = src.split('#')[0];
|
|
12
|
+
var withoutQuery = withoutHash.split('?')[0];
|
|
13
|
+
var segments = withoutQuery.split('/');
|
|
14
|
+
return decodeURIComponent(segments[segments.length - 1] || '');
|
|
15
|
+
}
|
|
16
|
+
function guessExtension(type, displayName) {
|
|
17
|
+
var _context;
|
|
18
|
+
var rawType = _trimInstanceProperty(_context = (type || '').toLowerCase()).call(_context);
|
|
19
|
+
if (_includesInstanceProperty(rawType).call(rawType, '/')) {
|
|
20
|
+
var _rawType$split = rawType.split('/'),
|
|
21
|
+
ext = _rawType$split[1];
|
|
22
|
+
if (ext && ext !== '*') return ext;
|
|
23
|
+
}
|
|
24
|
+
if (rawType && rawType !== 'image' && rawType !== 'video' && rawType !== 'audio') {
|
|
25
|
+
return rawType.replace(/^\./, '');
|
|
26
|
+
}
|
|
27
|
+
var match = displayName.match(/\.([^.]+)$/);
|
|
28
|
+
return match ? match[1].toLowerCase() : '';
|
|
29
|
+
}
|
|
30
|
+
// 优先使用 name;没有 name 时从 src 提取文件名,再兜底为未命名。
|
|
31
|
+
export function getMediaDisplayName(name, src) {
|
|
32
|
+
return name || deriveNameFromSrc(src) || _$('未命名文件');
|
|
33
|
+
}
|
|
34
|
+
// 根据显式类型、MIME 或扩展名推断媒体类型,未知类型按图片展示。
|
|
35
|
+
export function resolveMediaType(type, name, src) {
|
|
36
|
+
var _context2;
|
|
37
|
+
var rawType = _trimInstanceProperty(_context2 = (type || '').toLowerCase()).call(_context2);
|
|
38
|
+
if (rawType === 'image' || _startsWithInstanceProperty(rawType).call(rawType, 'image/')) return 'image';
|
|
39
|
+
if (rawType === 'video' || _startsWithInstanceProperty(rawType).call(rawType, 'video/')) return 'video';
|
|
40
|
+
if (rawType === 'audio' || _startsWithInstanceProperty(rawType).call(rawType, 'audio/')) return 'audio';
|
|
41
|
+
var ext = guessExtension(type, getMediaDisplayName(name, src));
|
|
42
|
+
if (_includesInstanceProperty(IMAGE_EXTENSIONS).call(IMAGE_EXTENSIONS, ext)) return 'image';
|
|
43
|
+
if (_includesInstanceProperty(VIDEO_EXTENSIONS).call(VIDEO_EXTENSIONS, ext)) return 'video';
|
|
44
|
+
if (_includesInstanceProperty(AUDIO_EXTENSIONS).call(AUDIO_EXTENSIONS, ext)) return 'audio';
|
|
45
|
+
return 'image';
|
|
46
|
+
}
|
|
47
|
+
export function isNamedMediaSize(size) {
|
|
48
|
+
return size === 'mini' || size === 'small' || size === 'default' || size === 'large';
|
|
49
|
+
}
|
|
50
|
+
// 数字尺寸统一转成 px,字符串尺寸保持原样透传。
|
|
51
|
+
export function normalizeMediaLength(value) {
|
|
52
|
+
if (value === undefined || value === null || value === '') return undefined;
|
|
53
|
+
if (typeof value === 'number') return value + "px";
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
// 提取可计算的像素值,仅识别 number / 纯数字字符串 / px 字符串。
|
|
57
|
+
export function parseMediaPixelLength(value) {
|
|
58
|
+
if (value === undefined || value === null || value === '') return undefined;
|
|
59
|
+
if (typeof value === 'number') return _Number$isFinite(value) ? value : undefined;
|
|
60
|
+
if (typeof value !== 'string') return undefined;
|
|
61
|
+
var normalized = _trimInstanceProperty(value).call(value);
|
|
62
|
+
if (!normalized) return undefined;
|
|
63
|
+
if (/^-?\d+(\.\d+)?$/.test(normalized)) return Number(normalized);
|
|
64
|
+
var pxMatch = normalized.match(/^(-?\d+(?:\.\d+)?)px$/i);
|
|
65
|
+
return pxMatch ? Number(pxMatch[1]) : undefined;
|
|
66
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import '../../styles/global';
|
|
2
|
+
export declare const makeMediaStyles: {
|
|
3
|
+
(k: string): string;
|
|
4
|
+
clearCache(): {};
|
|
5
|
+
};
|
|
6
|
+
export declare const makeMediaGroupStyles: {
|
|
7
|
+
(k: string): string;
|
|
8
|
+
clearCache(): {};
|
|
9
|
+
};
|
|
10
|
+
export declare const makeMediaViewerStyles: {
|
|
11
|
+
(k: string): string;
|
|
12
|
+
clearCache(): {};
|
|
13
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { css } from '@emotion/css';
|
|
2
|
+
import { theme, setDefault } from '../../styles/theme';
|
|
3
|
+
import { deepDefaults, setAlpha } from '../../styles/utils';
|
|
4
|
+
import '../../styles/global';
|
|
5
|
+
import { cache } from '../utils';
|
|
6
|
+
var defaults = {
|
|
7
|
+
radius: '6px',
|
|
8
|
+
sizes: {
|
|
9
|
+
mini: '24px',
|
|
10
|
+
small: '32px',
|
|
11
|
+
default: '64px',
|
|
12
|
+
large: '96px'
|
|
13
|
+
},
|
|
14
|
+
placeholderBg: 'linear-gradient(180deg, #F5F7FA 0%, #ECEFF4 100%)',
|
|
15
|
+
placeholderColor: '#98A0AF',
|
|
16
|
+
audioCardBg: '#F3F4F6',
|
|
17
|
+
audioCardTextColor: '#3A3D52',
|
|
18
|
+
overlayBg: 'rgba(15, 23, 42, 0.42)',
|
|
19
|
+
errorTextColor: theme.color.danger,
|
|
20
|
+
loadingSpinnerColor: theme.color.primary,
|
|
21
|
+
loadingSkeletonBase: '#EEF1F5',
|
|
22
|
+
loadingSkeletonTo: '#F7F9FC',
|
|
23
|
+
groupGap: '12px',
|
|
24
|
+
viewerBg: 'rgba(0, 0, 0, 0.5)',
|
|
25
|
+
viewerHeaderColor: '#FFFFFF',
|
|
26
|
+
viewerSubColor: 'rgba(255, 255, 255, 0.72)',
|
|
27
|
+
viewerActionBg: 'rgba(255, 255, 255, 0.12)',
|
|
28
|
+
viewerActionHoverBg: 'rgba(255, 255, 255, 0.18)',
|
|
29
|
+
viewerActionDisabledBg: 'rgba(255, 255, 255, 0.06)',
|
|
30
|
+
viewerActionColor: '#FFFFFF',
|
|
31
|
+
viewerAudioBg: '#FFFFFF',
|
|
32
|
+
viewerAudioTitleColor: '#1F2937',
|
|
33
|
+
viewerAudioShadow: '0 18px 40px rgba(15, 23, 42, 0.22)'
|
|
34
|
+
};
|
|
35
|
+
var media;
|
|
36
|
+
setDefault(function () {
|
|
37
|
+
media = deepDefaults(theme, {
|
|
38
|
+
media: defaults
|
|
39
|
+
}).media;
|
|
40
|
+
makeMediaStyles == null || makeMediaStyles.clearCache();
|
|
41
|
+
makeMediaGroupStyles == null || makeMediaGroupStyles.clearCache();
|
|
42
|
+
makeMediaViewerStyles == null || makeMediaViewerStyles.clearCache();
|
|
43
|
+
});
|
|
44
|
+
export var makeMediaStyles = cache(function makeMediaStyles(k) {
|
|
45
|
+
return /*#__PURE__*/css("&.", k, "-media{position:relative;display:inline-flex;flex:0 0 auto;width:", media.sizes.default, ";height:", media.sizes.default, ";vertical-align:top;box-sizing:border-box;}&.", k, "-media.", k, "-media-mini{width:", media.sizes.mini, ";height:", media.sizes.mini, ";}&.", k, "-media.", k, "-media-small{width:", media.sizes.small, ";height:", media.sizes.small, ";}&.", k, "-media.", k, "-media-large{width:", media.sizes.large, ";height:", media.sizes.large, ";}.", k, "-media-shell{position:relative;width:100%;height:100%;overflow:hidden;border-radius:", media.radius, ";background:", media.placeholderBg, ";box-shadow:inset 0 0 0 1px ", setAlpha('#111827', 0.08), ";}&.", k, "-media-loading .", k, "-media-shell{background:linear-gradient(\n 90deg,\n ", media.loadingSkeletonBase, " 25%,\n ", media.loadingSkeletonTo, " 37%,\n ", media.loadingSkeletonBase, " 63%\n );background-size:400% 100%;animation:", k, "-media-loading-wave 1.4s ease infinite;box-shadow:none;}&.", k, "-media-error .", k, "-media-shell,&.", k, "-media-custom-error .", k, "-media-shell{box-shadow:none;}&.", k, "-media-loading .", k, "-media-shell::before{content:none;}@keyframes ", k, "-media-loading-wave{0%{background-position:100% 50%;}100%{background-position:0 50%;}}.", k, "-media-image,.", k, "-media-video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;background:#DCE1E9;}&.", k, "-media-loading .", k, "-media-image,&.", k, "-media-loading .", k, "-media-video{background:transparent;}.", k, "-media-audio-loader{display:none;}.", k, "-media-audio-card,.", k, "-media-error-card{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:", media.audioCardBg, ";box-sizing:border-box;}.", k, "-media-card-icon{display:block;width:32px;height:32px;flex:0 0 auto;}.", k, "-media-name-tooltip-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.", k, "-media-name-tooltip-trigger{position:absolute;inset:0;z-index:2;outline:none;}&.", k, "-media.", k, "-media-mini .", k, "-media-card-icon{width:24px;height:24px;}&.", k, "-media-loading .", k, "-media-audio-card,.", k, "-media-error-card{background:transparent;}.", k, "-media-placeholder{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:", media.placeholderBg, ";color:", media.placeholderColor, ";}.", k, "-media-placeholder .", k, "-icon{font-size:20px;}&.", k, "-media-loading .", k, "-media-placeholder{background:transparent;}&.", k, "-media-mini .", k, "-media-placeholder .", k, "-icon,&.", k, "-media-small .", k, "-media-placeholder .", k, "-icon{font-size:16px;}.", k, "-media-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:", media.overlayBg, ";opacity:0;pointer-events:none;transition:opacity ", theme.transition.middle, ";}.", k, "-media-preview-trigger,&.", k, "-media-custom-mask .", k, "-media-overlay{pointer-events:auto;}.", k, "-media-video-preview-trigger{position:absolute;inset:0;z-index:4;width:24px;height:24px;margin:auto;pointer-events:auto;}.", k, "-media-loading-indicator{position:absolute;top:3px;left:3px;z-index:3;display:flex;align-items:center;justify-content:center;width:14px;height:14px;pointer-events:none;}.", k, "-media-loading-spinner{width:12px;height:12px;border:1.5px solid ", setAlpha(media.loadingSpinnerColor, 0.22), ";border-top-color:", media.loadingSpinnerColor, ";border-radius:50%;box-sizing:border-box;animation:", k, "-media-loading-spinner 0.8s linear infinite;}@keyframes ", k, "-media-loading-spinner{100%{transform:rotate(360deg);}}.", k, "-media-state-layer{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;box-sizing:border-box;}.", k, "-media-preview-trigger{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0;border:none;border-radius:0;background:transparent;color:#FFFFFF;cursor:pointer;transition:opacity ", theme.transition.middle, ";}.", k, "-media-preview-trigger:focus{outline:none;}.", k, "-media-preview-trigger .", k, "-icon,.", k, "-media-preview-trigger.ion{font-size:18px;}&.", k, "-media-mini .", k, "-media-preview-trigger .", k, "-icon,&.", k, "-media-small .", k, "-media-preview-trigger .", k, "-icon,&.", k, "-media-mini .", k, "-media-preview-trigger.ion,&.", k, "-media-small .", k, "-media-preview-trigger.ion{font-size:14px;}&.", k, "-media-mini .", k, "-media-video-preview-trigger,&.", k, "-media-small .", k, "-media-video-preview-trigger{width:18px;height:18px;}.", k, "-media-preview-trigger:hover:not(:disabled){background:transparent;}.", k, "-media-preview-trigger:disabled{opacity:0.5;cursor:not-allowed;}&.", k, "-media-mini .", k, "-media-loading-spinner,&.", k, "-media-small .", k, "-media-loading-spinner{width:10px;height:10px;border-width:1px;}&.", k, "-media-mini .", k, "-media-loading-indicator,&.", k, "-media-small .", k, "-media-loading-indicator{top:4px;left:4px;width:10px;height:10px;}&.", k, "-media-previewable:hover .", k, "-media-overlay{opacity:1;}&.", k, "-media-custom-mask:hover .", k, "-media-overlay{opacity:1;}&.", k, "-media-video-play-visible:hover .", k, "-media-overlay{opacity:1;}.", k, "-media-preview-icon.", k, "-icon,.", k, "-media-preview-icon.ion{color:inherit;}");
|
|
46
|
+
});
|
|
47
|
+
export var makeMediaGroupStyles = cache(function makeMediaGroupStyles(k) {
|
|
48
|
+
return /*#__PURE__*/css("&.", k, "-media-group{display:inline-flex;flex-wrap:wrap;gap:", media.groupGap, ";align-items:flex-start;max-width:100%;}");
|
|
49
|
+
});
|
|
50
|
+
export var makeMediaViewerStyles = cache(function makeMediaViewerStyles(k) {
|
|
51
|
+
return /*#__PURE__*/css("&.", k, "-media-viewer{position:fixed;inset:0;z-index:", theme.maxZIndex, ";display:flex;align-items:center;justify-content:center;background:", media.viewerBg, ";backdrop-filter:blur(2px);}&.", k, "-media-viewer.k-fade-enter-active,&.", k, "-media-viewer.k-fade-leave-active{.", k, "-media-viewer-header,.", k, "-media-viewer-prev,.", k, "-media-viewer-next,.", k, "-media-viewer-stage{transition:transform ", theme.transition.large, ",opacity ", theme.transition.large, ";}}&.", k, "-media-viewer.k-fade-enter-from,&.", k, "-media-viewer.k-fade-leave-to{.", k, "-media-viewer-header{opacity:0;transform:translateY(-8px);}.", k, "-media-viewer-prev{opacity:0;transform:translate(-8px, -50%);}.", k, "-media-viewer-next{opacity:0;transform:translate(8px, -50%);}.", k, "-media-viewer-stage{opacity:0;transform:translateY(12px) scale(0.96);}}&.", k, "-media-viewer .", k, "-media-viewer-header{position:absolute;top:24px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:1;}&.", k, "-media-viewer .", k, "-media-viewer-heading{min-width:0;}&.", k, "-media-viewer .", k, "-media-viewer-title{color:", media.viewerHeaderColor, ";font-size:16px;line-height:24px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}&.", k, "-media-viewer .", k, "-media-viewer-counter{margin-top:4px;color:", media.viewerSubColor, ";font-size:12px;line-height:18px;}&.", k, "-media-viewer .", k, "-media-viewer-close,&.", k, "-media-viewer .", k, "-media-viewer-prev,&.", k, "-media-viewer .", k, "-media-viewer-next{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:", media.viewerActionBg, ";color:", media.viewerActionColor, ";line-height:1;cursor:pointer;transition:background ", theme.transition.middle, ",transform ", theme.transition.middle, ";}&.", k, "-media-viewer .", k, "-media-viewer-close:hover,&.", k, "-media-viewer .", k, "-media-viewer-prev:hover:not(:disabled),&.", k, "-media-viewer .", k, "-media-viewer-next:hover:not(:disabled){background:", media.viewerActionHoverBg, ";transform:scale(1.04);}&.", k, "-media-viewer .", k, "-media-viewer-prev:disabled,&.", k, "-media-viewer .", k, "-media-viewer-next:disabled{background:", media.viewerActionDisabledBg, ";opacity:0.45;cursor:not-allowed;}&.", k, "-media-viewer .", k, "-media-viewer-prev,&.", k, "-media-viewer .", k, "-media-viewer-next{position:absolute;top:50%;margin-top:-20px;z-index:1;}&.", k, "-media-viewer .", k, "-media-viewer-close .", k, "-icon{color:#FFFFFF;font-size:20px;}&.", k, "-media-viewer .", k, "-media-viewer-prev .", k, "-icon,&.", k, "-media-viewer .", k, "-media-viewer-next .", k, "-icon{color:#FFFFFF;font-size:20px;font-weight:600;}&.", k, "-media-viewer .", k, "-media-viewer-prev{left:24px;}&.", k, "-media-viewer .", k, "-media-viewer-next{right:24px;}&.", k, "-media-viewer .", k, "-media-viewer-stage{display:flex;align-items:center;justify-content:center;width:min(88vw, 1120px);max-width:100%;max-height:calc(100vh - 120px);padding:72px 80px;box-sizing:border-box;}&.", k, "-media-viewer .", k, "-media-viewer-image,&.", k, "-media-viewer .", k, "-media-viewer-video{display:block;max-width:100%;max-height:calc(100vh - 144px);object-fit:contain;}&.", k, "-media-viewer .", k, "-media-viewer-video{background:#000000;}&.", k, "-media-viewer .", k, "-media-viewer-audio{width:min(480px, 100%);padding:28px;border-radius:20px;background:", media.viewerAudioBg, ";box-shadow:", media.viewerAudioShadow, ";box-sizing:border-box;text-align:center;}&.", k, "-media-viewer .", k, "-media-viewer-audio-cover{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;margin-bottom:20px;border-radius:50%;background:", theme.color.bg, ";color:", theme.color.primary, ";}&.", k, "-media-viewer .", k, "-media-viewer-audio-cover-image{display:block;width:40px;height:40px;}&.", k, "-media-viewer .", k, "-media-viewer-audio-title{margin-bottom:16px;color:", media.viewerAudioTitleColor, ";font-size:16px;line-height:24px;font-weight:500;word-break:break-word;}&.", k, "-media-viewer .", k, "-media-viewer-audio-player{width:100%;}@media (max-width: 768px){&.", k, "-media-viewer .", k, "-media-viewer-header{top:16px;left:16px;right:16px;}&.", k, "-media-viewer .", k, "-media-viewer-stage{width:100%;padding:72px 16px 24px;}&.", k, "-media-viewer .", k, "-media-viewer-prev,&.", k, "-media-viewer .", k, "-media-viewer-next{bottom:24px;top:auto;margin-top:0;}&.", k, "-media-viewer .", k, "-media-viewer-prev{left:16px;}&.", k, "-media-viewer .", k, "-media-viewer-next{right:16px;}}");
|
|
52
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Media } from './media';
|
|
2
|
+
export type MediaType = 'image' | 'video' | 'audio' | string;
|
|
3
|
+
export type ResolvedMediaType = 'image' | 'video' | 'audio';
|
|
4
|
+
export type MediaSize = 'mini' | 'small' | 'default' | 'large';
|
|
5
|
+
export type MediaStatus = 'default' | 'loading' | 'error' | 'done';
|
|
6
|
+
export type MediaNativeProps = Record<string, any>;
|
|
7
|
+
export type MediaSizeValue = MediaSize | string | number;
|
|
8
|
+
export interface MediaValue {
|
|
9
|
+
name?: string;
|
|
10
|
+
type?: MediaType;
|
|
11
|
+
resolvedType: ResolvedMediaType;
|
|
12
|
+
status: MediaStatus;
|
|
13
|
+
src?: string;
|
|
14
|
+
poster?: string;
|
|
15
|
+
size: MediaSizeValue;
|
|
16
|
+
}
|
|
17
|
+
export interface MediaViewerItem extends MediaValue {
|
|
18
|
+
name: string;
|
|
19
|
+
}
|
|
20
|
+
export interface MediaMaskValue extends MediaValue {
|
|
21
|
+
canPreview: boolean;
|
|
22
|
+
preview: (event: any) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface MediaBlocks {
|
|
25
|
+
loading: MediaValue;
|
|
26
|
+
error: MediaValue;
|
|
27
|
+
mask: MediaMaskValue;
|
|
28
|
+
}
|
|
29
|
+
export interface MediaGroupItemApi {
|
|
30
|
+
canPreview: () => boolean;
|
|
31
|
+
getViewerItem: () => MediaViewerItem;
|
|
32
|
+
}
|
|
33
|
+
export interface MediaGroupContextValue {
|
|
34
|
+
register: (media: Media, api: MediaGroupItemApi) => void;
|
|
35
|
+
unregister: (media: Media) => void;
|
|
36
|
+
open: (media: Media) => void;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { MediaMaskValue, MediaStatus, MediaViewerItem, MediaValue } from './types';
|
|
2
|
+
export declare function useMedia(): {
|
|
3
|
+
getRootClassNameObj: () => {
|
|
4
|
+
[x: string]: boolean;
|
|
5
|
+
};
|
|
6
|
+
getRootStyle: () => Record<string, string | undefined>;
|
|
7
|
+
getFileName: () => string;
|
|
8
|
+
getValue: () => MediaValue;
|
|
9
|
+
getViewerItem: () => MediaViewerItem;
|
|
10
|
+
getMaskValue: () => MediaMaskValue;
|
|
11
|
+
getDisplayStatus: () => MediaStatus;
|
|
12
|
+
isLoading: () => boolean;
|
|
13
|
+
isError: () => boolean;
|
|
14
|
+
isDone: () => boolean;
|
|
15
|
+
shouldShowLoadingIndicator: () => boolean;
|
|
16
|
+
shouldShowImage: () => boolean;
|
|
17
|
+
shouldShowVideo: () => boolean;
|
|
18
|
+
shouldShowPlaceholder: () => boolean;
|
|
19
|
+
shouldShowAudioLoader: () => boolean;
|
|
20
|
+
shouldShowAudioCard: () => boolean;
|
|
21
|
+
shouldShowErrorCard: () => boolean;
|
|
22
|
+
imageRef: import('intact-vue-next').RefObject<HTMLImageElement>;
|
|
23
|
+
videoRef: import('intact-vue-next').RefObject<HTMLVideoElement>;
|
|
24
|
+
audioRef: import('intact-vue-next').RefObject<HTMLAudioElement>;
|
|
25
|
+
getImageProps: () => {
|
|
26
|
+
alt: string;
|
|
27
|
+
src: string;
|
|
28
|
+
draggable: boolean;
|
|
29
|
+
'ev-load': (e: Event) => void;
|
|
30
|
+
'ev-error': (e: Event) => void;
|
|
31
|
+
};
|
|
32
|
+
getVideoProps: () => {
|
|
33
|
+
src: string;
|
|
34
|
+
poster: string | undefined;
|
|
35
|
+
'ev-loadedmetadata': (e: Event) => void;
|
|
36
|
+
'ev-loadeddata': (e: Event) => void;
|
|
37
|
+
'ev-canplay': (e: Event) => void;
|
|
38
|
+
'ev-error': (e: Event) => void;
|
|
39
|
+
preload: string;
|
|
40
|
+
muted: boolean;
|
|
41
|
+
playsinline: boolean;
|
|
42
|
+
controls: boolean;
|
|
43
|
+
tabindex: number;
|
|
44
|
+
};
|
|
45
|
+
getVideoKey: () => string;
|
|
46
|
+
getAudioLoaderProps: () => {
|
|
47
|
+
src: string;
|
|
48
|
+
'ev-loadedmetadata': (e: Event) => void;
|
|
49
|
+
'ev-error': (e: Event) => void;
|
|
50
|
+
preload: string;
|
|
51
|
+
};
|
|
52
|
+
getAudioCardAssetSrc: () => string;
|
|
53
|
+
getErrorCardAssetSrc: () => string;
|
|
54
|
+
getMediaCardIconStyle: () => {
|
|
55
|
+
width: string;
|
|
56
|
+
height: string;
|
|
57
|
+
} | undefined;
|
|
58
|
+
getPreviewIconClassName: () => "ion-ios-eye-outline" | "ion-ios-play";
|
|
59
|
+
getPlaceholderIconClassName: () => "ion-videocamera" | "ion-ios-musical-note" | "ion-image";
|
|
60
|
+
getPreviewTitle: () => "播放视频" | "播放音频" | "查看图片";
|
|
61
|
+
onClick: (e: MouseEvent) => void;
|
|
62
|
+
onPreview: (e: any) => void;
|
|
63
|
+
canPreview: () => boolean;
|
|
64
|
+
shouldShowVideoPlayTrigger: () => boolean;
|
|
65
|
+
shouldShowMaskLayer: () => boolean;
|
|
66
|
+
isStandalonePreviewRendered: () => boolean;
|
|
67
|
+
isStandalonePreviewVisible: () => boolean;
|
|
68
|
+
closeStandalonePreview: () => void;
|
|
69
|
+
afterStandalonePreviewClose: () => void;
|
|
70
|
+
};
|