@qxs-bns/components 0.0.92 → 0.0.94
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/LICENSE +21 -0
- package/es/answer-container/answer-container.mjs +65 -0
- package/es/answer-container/answer-container.mjs.map +1 -0
- package/es/answer-container/clone.mjs +2 -0
- package/es/answer-container/clone.mjs.map +1 -0
- package/es/answer-container/normalize.mjs +2 -0
- package/es/answer-container/normalize.mjs.map +1 -0
- package/es/answer-container/runtime-blank-fill.mjs +39 -0
- package/es/answer-container/runtime-blank-fill.mjs.map +1 -0
- package/es/answer-container/runtime-choice.mjs +38 -0
- package/es/answer-container/runtime-choice.mjs.map +1 -0
- package/es/answer-container/runtime-question-base.mjs +43 -0
- package/es/answer-container/runtime-question-base.mjs.map +1 -0
- package/es/answer-container/runtime-scale.mjs +36 -0
- package/es/answer-container/runtime-scale.mjs.map +1 -0
- package/es/answer-container/runtime-text-fill.mjs +19 -0
- package/es/answer-container/runtime-text-fill.mjs.map +1 -0
- package/es/answer-container/styles.mjs +468 -0
- package/es/answer-container/styles.mjs.map +1 -0
- package/es/entry-answer-container.mjs +2 -0
- package/es/entry-answer-container.mjs.map +1 -0
- package/es/entry-video-player.mjs +2 -0
- package/es/entry-video-player.mjs.map +1 -0
- package/es/index.mjs +1 -1
- package/es/node_modules/.pnpm/xgplayer@3.0.26_core-js@3.45.0/node_modules/xgplayer/dist/index.min.css.mjs +2 -0
- package/es/node_modules/.pnpm/xgplayer@3.0.26_core-js@3.45.0/node_modules/xgplayer/dist/index.min.css.mjs.map +1 -0
- package/es/video-player.mjs +3 -0
- package/es/video-player.mjs.map +1 -0
- package/es/video-player.theme.mjs +111 -0
- package/es/video-player.theme.mjs.map +1 -0
- package/lib/answer-container/answer-container.cjs +65 -0
- package/lib/answer-container/answer-container.cjs.map +1 -0
- package/lib/answer-container/clone.cjs +2 -0
- package/lib/answer-container/clone.cjs.map +1 -0
- package/lib/answer-container/normalize.cjs +2 -0
- package/lib/answer-container/normalize.cjs.map +1 -0
- package/lib/answer-container/runtime-blank-fill.cjs +39 -0
- package/lib/answer-container/runtime-blank-fill.cjs.map +1 -0
- package/lib/answer-container/runtime-choice.cjs +38 -0
- package/lib/answer-container/runtime-choice.cjs.map +1 -0
- package/lib/answer-container/runtime-question-base.cjs +43 -0
- package/lib/answer-container/runtime-question-base.cjs.map +1 -0
- package/lib/answer-container/runtime-scale.cjs +36 -0
- package/lib/answer-container/runtime-scale.cjs.map +1 -0
- package/lib/answer-container/runtime-text-fill.cjs +19 -0
- package/lib/answer-container/runtime-text-fill.cjs.map +1 -0
- package/lib/answer-container/styles.cjs +468 -0
- package/lib/answer-container/styles.cjs.map +1 -0
- package/lib/entry-answer-container.cjs +2 -0
- package/lib/entry-answer-container.cjs.map +1 -0
- package/lib/entry-video-player.cjs +2 -0
- package/lib/entry-video-player.cjs.map +1 -0
- package/lib/index.cjs +1 -1
- package/lib/node_modules/.pnpm/xgplayer@3.0.26_core-js@3.45.0/node_modules/xgplayer/dist/index.min.css.cjs +2 -0
- package/lib/node_modules/.pnpm/xgplayer@3.0.26_core-js@3.45.0/node_modules/xgplayer/dist/index.min.css.cjs.map +1 -0
- package/lib/video-player.cjs +3 -0
- package/lib/video-player.cjs.map +1 -0
- package/lib/video-player.theme.cjs +111 -0
- package/lib/video-player.theme.cjs.map +1 -0
- package/package.json +14 -2
- package/types/answer-container/answer-container.d.ts +26 -0
- package/types/answer-container/clone.d.ts +1 -0
- package/types/answer-container/index.d.ts +12 -0
- package/types/answer-container/normalize.d.ts +3 -0
- package/types/answer-container/runtime-blank-fill.d.ts +35 -0
- package/types/answer-container/runtime-choice.d.ts +44 -0
- package/types/answer-container/runtime-question-base.d.ts +39 -0
- package/types/answer-container/runtime-scale.d.ts +36 -0
- package/types/answer-container/runtime-text-fill.d.ts +32 -0
- package/types/answer-container/styles.d.ts +1 -0
- package/types/answer-container/types.d.ts +40 -0
- package/types/entry-answer-container.d.ts +2 -0
- package/types/entry-video-player.d.ts +2 -0
- package/types/index.d.ts +2 -0
- package/types/video-player.d.ts +44 -0
- package/types/video-player.theme.d.ts +12 -0
- package/types/video-player.types.d.ts +49 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const videoPlayerTheme = "\n :host {\n display:block;width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;\n background:#101416;color:#f5f7f8;container-type:inline-size;\n font-family:\"PingFang SC\",\"Microsoft YaHei\",system-ui,sans-serif;\n letter-spacing:0;border-radius:var(--qxs-player-radius,12px);\n --player-accent:var(--qxs-player-accent,#e60000);\n }\n :host(:fullscreen) { border-radius:0; }\n .media { position:absolute;inset:0;width:100%;height:100%; }\n .xgplayer { font-family:inherit;background:#101416;color:#f5f7f8; }\n .xgplayer video { object-fit:contain; }\n .xgplayer .xgplayer-controls { min-height:48px;padding:0;background:transparent; }\n .xgplayer .xgplayer-controls::before {\n content:\"\";position:absolute;inset:auto 0 0;height:120px;pointer-events:none;z-index:-1;\n background:linear-gradient(180deg,transparent 0%,rgba(7,10,13,.38) 40%,rgba(7,10,13,.9) 100%);\n }\n .xgplayer .xg-inner-controls { display:flex;align-items:center;height:44px;bottom:3px;left:12px;right:12px; }\n .xgplayer .xg-left-grid,.xgplayer .xg-right-grid { display:flex;align-items:center;flex-wrap:nowrap;float:none;height:44px;min-width:0; }\n .xgplayer .xg-left-grid { flex:1; }\n .xgplayer .xg-right-grid { flex:none;flex-direction:row;gap:2px; }\n .xgplayer .xg-center-grid { top:-15px;padding:5px 0; }\n .xgplayer .xg-inner-controls xg-icon { flex:none;width:44px;height:44px;margin:0; }\n .xgplayer .xgplayer-icon { display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;color:#f5f7f8; }\n .xgplayer .xgplayer-icon svg { width:22px;height:22px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.24)); }\n .xgplayer .xgplayer-icon:hover { color:#fff; }\n .xgplayer .xg-inner-controls .xgplayer-time {\n width:auto;padding:0 6px;white-space:nowrap;font-family:inherit;\n font-size:12px;font-weight:500;line-height:44px;font-variant-numeric:tabular-nums;\n }\n .xgplayer .xgplayer-time span { height:100%;line-height:inherit; }\n .xgplayer .xgplayer-time .time-duration { color:rgba(245,247,248,.65); }\n .xgplayer .xgplayer-playbackrate { order:1; }\n .xgplayer .xgplayer-volume { order:2; }\n .xgplayer .xgplayer-fullscreen { order:3; }\n .xgplayer .xgplayer-icon.btn-text { top:0;transform:none; }\n .xgplayer .xgplayer-icon.btn-text span {\n display:block;min-width:0;width:44px;height:28px;margin:0;padding:0;\n border-radius:6px;background:rgba(255,255,255,.09);font-size:12px;font-weight:500;line-height:28px;\n }\n .xgplayer .xgplayer-progress-outer { height:3px;border-radius:4px; }\n .xgplayer .xgplayer-progress.active .xgplayer-progress-outer { height:4px;margin-bottom:0; }\n .xgplayer .xgplayer-progress-played,.xgplayer .xg-mini-progress xg-mini-progress-played,.xgplayer .xgplayer-drag { background:var(--player-accent); }\n .xgplayer .xgplayer-progress-inner { background:rgba(255,255,255,.2); }\n .xgplayer .xgplayer-progress-cache { background:rgba(255,255,255,.38); }\n .xgplayer .xgplayer-progress-btn,.xgplayer .xgplayer-progress-btn.active {\n width:10px;height:10px;border:0;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.15);\n }\n .xgplayer .xgplayer-progress-btn::before { width:6px;height:6px;background:#fff;box-shadow:none; }\n .xgplayer .xg-options-list {\n width:96px;max-height:min(244px,calc(56.25cqw - 65px));box-sizing:border-box;\n padding:4px;border:1px solid rgba(255,255,255,.12);border-radius:10px;\n background:rgba(20,25,29,.96);color:#f5f7f8;opacity:1;\n box-shadow:0 8px 28px rgba(0,0,0,.3);\n overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;\n scrollbar-color:rgba(255,255,255,.25) transparent;\n }\n .xgplayer .xg-options-list li {\n box-sizing:border-box;min-height:32px;line-height:32px;margin:0;padding:0;\n border-radius:6px;color:#dce1e5;font-size:13px;\n }\n .xgplayer .xg-options-list li:first-child,.xgplayer .xg-options-list li:last-child { margin:0; }\n .xgplayer .xg-options-list li:hover { background:rgba(255,255,255,.08);color:#fff; }\n .xgplayer .xg-options-list li.selected { background:rgba(255,255,255,.1);color:var(--player-accent);font-weight:600; }\n .xgplayer .xgplayer-slider { border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(20,25,29,.96); }\n .xgplayer .xgplayer-value-label { border-radius:8px 8px 0 0;background:rgba(20,25,29,.96); }\n .xgplayer .xg-tips { padding:5px 9px;border-radius:6px;background:rgba(20,25,29,.96);font-size:12px; }\n .xgplayer .xgplayer-start { width:64px;height:64px; }\n .xgplayer xg-start-inner {\n display:flex;align-items:center;justify-content:center;box-sizing:border-box;\n border:1px solid rgba(255,255,255,.26);border-radius:50%;\n background:rgba(13,19,23,.72);box-shadow:0 8px 32px rgba(0,0,0,.16);\n }\n .xgplayer .xgplayer-start svg { width:28px;height:28px;color:#fff; }\n .xgplayer.xgplayer-playing .xgplayer-start,.media[data-blocked] .xgplayer-start { display:none; }\n button.fallback {\n position:absolute;z-index:10000;left:50%;bottom:24px;transform:translateX(-50%);\n width:140px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:22px;\n background:#f5f7f8;color:#101416;font:600 14px/22px \"PingFang SC\",\"Microsoft YaHei\",system-ui,sans-serif;cursor:pointer;\n }\n button.fallback:focus-visible { outline:2px solid var(--player-accent);outline-offset:4px; }\n button[hidden] { display:none; }\n @container (max-width:360px) {\n .xgplayer .xg-inner-controls { left:6px;right:6px; }\n .xgplayer .xg-right-grid { gap:0; }\n .xgplayer .xg-inner-controls .xgplayer-time { padding:0 2px;font-size:11px; }\n .xgplayer .xgplayer-start { width:52px;height:52px; }\n }\n @container (max-width:300px) {\n .xgplayer .xgplayer-time .time-duration,.xgplayer .xgplayer-time .time-separator { display:none; }\n .xgplayer .xg-options-list.active {\n display:flex;width:222px;max-width:calc(100cqw - 4px);height:46px;max-height:none;\n padding:0;bottom:calc(100% + 4px);\n }\n .xgplayer .xg-options-list li { flex:1;min-width:0;min-height:44px;line-height:44px;font-size:11px; }\n .xgplayer .xgplayer-slider {\n height: min(92px, calc(56.25cqw - 64px));\n }\n .xgplayer .xgplayer-bar {\n height: calc(100% - 16px);\n }\n .xgplayer .xgplayer-drag {\n max-height: 100%;\n }\n }\n @media (prefers-reduced-motion:reduce) {\n .xgplayer .xgplayer-controls,.xgplayer .xgplayer-progress-inner { transition:none; }\n .xgplayer .xgplayer-start.interact xg-start-inner { animation:none; }\n }\n";
|
|
2
|
+
export declare const videoPlayerIcons: {
|
|
3
|
+
play: string;
|
|
4
|
+
pause: string;
|
|
5
|
+
startPlay: string;
|
|
6
|
+
startPause: string;
|
|
7
|
+
volumeSmall: string;
|
|
8
|
+
volumeLarge: string;
|
|
9
|
+
volumeMuted: string;
|
|
10
|
+
fullscreen: string;
|
|
11
|
+
exitFullscreen: string;
|
|
12
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export interface PlayerSource {
|
|
2
|
+
mode: 'live' | 'vod';
|
|
3
|
+
format: 'hls' | 'mp4';
|
|
4
|
+
url: string;
|
|
5
|
+
revision: number;
|
|
6
|
+
}
|
|
7
|
+
export interface PlayerOptions {
|
|
8
|
+
poster?: string;
|
|
9
|
+
autoplay?: boolean;
|
|
10
|
+
muted?: boolean;
|
|
11
|
+
controls?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface PlayerSnapshot {
|
|
14
|
+
revision: number;
|
|
15
|
+
positionMs: number | null;
|
|
16
|
+
durationMs: number | null;
|
|
17
|
+
rate: number;
|
|
18
|
+
}
|
|
19
|
+
export interface PlayerError {
|
|
20
|
+
kind: 'media' | 'network' | 'autoplay' | 'unsupported' | 'unknown';
|
|
21
|
+
code: string;
|
|
22
|
+
httpStatus?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface PlayerEventMap {
|
|
25
|
+
ready: PlayerSnapshot;
|
|
26
|
+
playing: PlayerSnapshot;
|
|
27
|
+
pause: PlayerSnapshot;
|
|
28
|
+
waiting: PlayerSnapshot;
|
|
29
|
+
ended: PlayerSnapshot;
|
|
30
|
+
timeupdate: PlayerSnapshot;
|
|
31
|
+
seeking: PlayerSnapshot & {
|
|
32
|
+
fromMs: number | null;
|
|
33
|
+
toMs: number | null;
|
|
34
|
+
};
|
|
35
|
+
seeked: PlayerSnapshot;
|
|
36
|
+
ratechange: PlayerSnapshot;
|
|
37
|
+
volumechange: {
|
|
38
|
+
revision: number;
|
|
39
|
+
muted: boolean;
|
|
40
|
+
volume: number;
|
|
41
|
+
};
|
|
42
|
+
fullscreenchange: {
|
|
43
|
+
revision: number;
|
|
44
|
+
fullscreen: boolean;
|
|
45
|
+
};
|
|
46
|
+
error: PlayerSnapshot & {
|
|
47
|
+
error: PlayerError;
|
|
48
|
+
};
|
|
49
|
+
}
|