@blcklab/anyo-player 0.5.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/CHANGELOG.md +19 -0
- package/LICENSE +21 -0
- package/README.md +304 -0
- package/dist/createAnyoPlayer.d.ts +3 -0
- package/dist/createAnyoPlayer.d.ts.map +1 -0
- package/dist/createAnyoPlayer.js +5 -0
- package/dist/createAnyoPlayer.js.map +1 -0
- package/dist/element-define.d.ts +2 -0
- package/dist/element-define.d.ts.map +1 -0
- package/dist/element-define.js +4 -0
- package/dist/element-define.js.map +1 -0
- package/dist/element.d.ts +66 -0
- package/dist/element.d.ts.map +1 -0
- package/dist/element.js +363 -0
- package/dist/element.js.map +1 -0
- package/dist/errors.d.ts +11 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +21 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/inputBindings.d.ts +3 -0
- package/dist/inputBindings.d.ts.map +1 -0
- package/dist/inputBindings.js +3 -0
- package/dist/inputBindings.js.map +1 -0
- package/dist/internal/AccessibilityController.d.ts +50 -0
- package/dist/internal/AccessibilityController.d.ts.map +1 -0
- package/dist/internal/AccessibilityController.js +212 -0
- package/dist/internal/AccessibilityController.js.map +1 -0
- package/dist/internal/AnyoPlayerCore.d.ts +357 -0
- package/dist/internal/AnyoPlayerCore.d.ts.map +1 -0
- package/dist/internal/AnyoPlayerCore.js +3880 -0
- package/dist/internal/AnyoPlayerCore.js.map +1 -0
- package/dist/internal/AudioController.d.ts +37 -0
- package/dist/internal/AudioController.d.ts.map +1 -0
- package/dist/internal/AudioController.js +167 -0
- package/dist/internal/AudioController.js.map +1 -0
- package/dist/internal/CaptionController.d.ts +16 -0
- package/dist/internal/CaptionController.d.ts.map +1 -0
- package/dist/internal/CaptionController.js +83 -0
- package/dist/internal/CaptionController.js.map +1 -0
- package/dist/internal/ContainerHost.d.ts +17 -0
- package/dist/internal/ContainerHost.d.ts.map +1 -0
- package/dist/internal/ContainerHost.js +110 -0
- package/dist/internal/ContainerHost.js.map +1 -0
- package/dist/internal/DesktopInputController.d.ts +80 -0
- package/dist/internal/DesktopInputController.d.ts.map +1 -0
- package/dist/internal/DesktopInputController.js +367 -0
- package/dist/internal/DesktopInputController.js.map +1 -0
- package/dist/internal/EmbeddingController.d.ts +33 -0
- package/dist/internal/EmbeddingController.d.ts.map +1 -0
- package/dist/internal/EmbeddingController.js +161 -0
- package/dist/internal/EmbeddingController.js.map +1 -0
- package/dist/internal/EventHub.d.ts +7 -0
- package/dist/internal/EventHub.d.ts.map +1 -0
- package/dist/internal/EventHub.js +27 -0
- package/dist/internal/EventHub.js.map +1 -0
- package/dist/internal/FrameworkAdapterController.d.ts +46 -0
- package/dist/internal/FrameworkAdapterController.d.ts.map +1 -0
- package/dist/internal/FrameworkAdapterController.js +165 -0
- package/dist/internal/FrameworkAdapterController.js.map +1 -0
- package/dist/internal/FullscreenController.d.ts +29 -0
- package/dist/internal/FullscreenController.d.ts.map +1 -0
- package/dist/internal/FullscreenController.js +122 -0
- package/dist/internal/FullscreenController.js.map +1 -0
- package/dist/internal/GamepadController.d.ts +54 -0
- package/dist/internal/GamepadController.d.ts.map +1 -0
- package/dist/internal/GamepadController.js +276 -0
- package/dist/internal/GamepadController.js.map +1 -0
- package/dist/internal/InputBindingsController.d.ts +34 -0
- package/dist/internal/InputBindingsController.d.ts.map +1 -0
- package/dist/internal/InputBindingsController.js +223 -0
- package/dist/internal/InputBindingsController.js.map +1 -0
- package/dist/internal/InteractionPresentationController.d.ts +38 -0
- package/dist/internal/InteractionPresentationController.d.ts.map +1 -0
- package/dist/internal/InteractionPresentationController.js +208 -0
- package/dist/internal/InteractionPresentationController.js.map +1 -0
- package/dist/internal/MapController.d.ts +16 -0
- package/dist/internal/MapController.d.ts.map +1 -0
- package/dist/internal/MapController.js +68 -0
- package/dist/internal/MapController.js.map +1 -0
- package/dist/internal/PerformanceController.d.ts +94 -0
- package/dist/internal/PerformanceController.d.ts.map +1 -0
- package/dist/internal/PerformanceController.js +455 -0
- package/dist/internal/PerformanceController.js.map +1 -0
- package/dist/internal/PlayerCameraController.d.ts +79 -0
- package/dist/internal/PlayerCameraController.d.ts.map +1 -0
- package/dist/internal/PlayerCameraController.js +551 -0
- package/dist/internal/PlayerCameraController.js.map +1 -0
- package/dist/internal/ResponsiveController.d.ts +37 -0
- package/dist/internal/ResponsiveController.d.ts.map +1 -0
- package/dist/internal/ResponsiveController.js +143 -0
- package/dist/internal/ResponsiveController.js.map +1 -0
- package/dist/internal/RuntimeFactory.d.ts +42 -0
- package/dist/internal/RuntimeFactory.d.ts.map +1 -0
- package/dist/internal/RuntimeFactory.js +93 -0
- package/dist/internal/RuntimeFactory.js.map +1 -0
- package/dist/internal/ScreenshotController.d.ts +8 -0
- package/dist/internal/ScreenshotController.d.ts.map +1 -0
- package/dist/internal/ScreenshotController.js +47 -0
- package/dist/internal/ScreenshotController.js.map +1 -0
- package/dist/internal/SessionController.d.ts +44 -0
- package/dist/internal/SessionController.d.ts.map +1 -0
- package/dist/internal/SessionController.js +411 -0
- package/dist/internal/SessionController.js.map +1 -0
- package/dist/internal/SourceResolver.d.ts +31 -0
- package/dist/internal/SourceResolver.d.ts.map +1 -0
- package/dist/internal/SourceResolver.js +362 -0
- package/dist/internal/SourceResolver.js.map +1 -0
- package/dist/internal/StateMachine.d.ts +10 -0
- package/dist/internal/StateMachine.d.ts.map +1 -0
- package/dist/internal/StateMachine.js +35 -0
- package/dist/internal/StateMachine.js.map +1 -0
- package/dist/internal/StyleController.d.ts +14 -0
- package/dist/internal/StyleController.d.ts.map +1 -0
- package/dist/internal/StyleController.js +116 -0
- package/dist/internal/StyleController.js.map +1 -0
- package/dist/internal/TelemetryController.d.ts +28 -0
- package/dist/internal/TelemetryController.d.ts.map +1 -0
- package/dist/internal/TelemetryController.js +113 -0
- package/dist/internal/TelemetryController.js.map +1 -0
- package/dist/internal/TouchInputController.d.ts +73 -0
- package/dist/internal/TouchInputController.d.ts.map +1 -0
- package/dist/internal/TouchInputController.js +379 -0
- package/dist/internal/TouchInputController.js.map +1 -0
- package/dist/internal/VfxController.d.ts +11 -0
- package/dist/internal/VfxController.d.ts.map +1 -0
- package/dist/internal/VfxController.js +23 -0
- package/dist/internal/VfxController.js.map +1 -0
- package/dist/internal/ViewPreferenceController.d.ts +40 -0
- package/dist/internal/ViewPreferenceController.d.ts.map +1 -0
- package/dist/internal/ViewPreferenceController.js +132 -0
- package/dist/internal/ViewPreferenceController.js.map +1 -0
- package/dist/internal/VisibilityController.d.ts +26 -0
- package/dist/internal/VisibilityController.d.ts.map +1 -0
- package/dist/internal/VisibilityController.js +62 -0
- package/dist/internal/VisibilityController.js.map +1 -0
- package/dist/internal/XRController.d.ts +42 -0
- package/dist/internal/XRController.d.ts.map +1 -0
- package/dist/internal/XRController.js +169 -0
- package/dist/internal/XRController.js.map +1 -0
- package/dist/internal/sourceUrls.d.ts +6 -0
- package/dist/internal/sourceUrls.d.ts.map +1 -0
- package/dist/internal/sourceUrls.js +79 -0
- package/dist/internal/sourceUrls.js.map +1 -0
- package/dist/react.d.ts +44 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +115 -0
- package/dist/react.js.map +1 -0
- package/dist/session.d.ts +3 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +3 -0
- package/dist/session.js.map +1 -0
- package/dist/styleText.d.ts +2 -0
- package/dist/styleText.d.ts.map +1 -0
- package/dist/styleText.js +2 -0
- package/dist/styleText.js.map +1 -0
- package/dist/styles.css +573 -0
- package/dist/types.d.ts +1476 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/PlayerUI.d.ts +193 -0
- package/dist/ui/PlayerUI.d.ts.map +1 -0
- package/dist/ui/PlayerUI.js +1201 -0
- package/dist/ui/PlayerUI.js.map +1 -0
- package/dist/vue.d.ts +97 -0
- package/dist/vue.d.ts.map +1 -0
- package/dist/vue.js +126 -0
- package/dist/vue.js.map +1 -0
- package/dist/worldCache.d.ts +16 -0
- package/dist/worldCache.d.ts.map +1 -0
- package/dist/worldCache.js +46 -0
- package/dist/worldCache.js.map +1 -0
- package/dist/worldSources.d.ts +19 -0
- package/dist/worldSources.d.ts.map +1 -0
- package/dist/worldSources.js +51 -0
- package/dist/worldSources.js.map +1 -0
- package/package.json +114 -0
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { HTMLAttributes, MutableRefObject } from 'react';
|
|
2
|
+
import type { AnyoPlayerError } from './errors.js';
|
|
3
|
+
import type { AnyoPlayerAdapterOptions, FrameworkAdapterCallbacks } from './internal/FrameworkAdapterController.js';
|
|
4
|
+
import type { AnyoPlayer as AnyoPlayerCore, AnyoPlayerEventMap, AnyoPlayerSource } from './types.js';
|
|
5
|
+
export type { AnyoPlayerAdapterOptions as AnyoPlayerReactOptions, } from './internal/FrameworkAdapterController.js';
|
|
6
|
+
export interface UseAnyoPlayerReactOptions extends FrameworkAdapterCallbacks {
|
|
7
|
+
source?: AnyoPlayerSource | null;
|
|
8
|
+
options?: AnyoPlayerAdapterOptions;
|
|
9
|
+
}
|
|
10
|
+
export interface UseAnyoPlayerReactResult {
|
|
11
|
+
containerRef: (element: HTMLElement | null) => void;
|
|
12
|
+
playerRef: MutableRefObject<AnyoPlayerCore | null>;
|
|
13
|
+
load(source?: AnyoPlayerSource): Promise<void>;
|
|
14
|
+
activate(): Promise<void>;
|
|
15
|
+
replaceWorld(source: AnyoPlayerSource): Promise<void>;
|
|
16
|
+
disposeAsync(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export interface AnyoPlayerReactHandle {
|
|
19
|
+
readonly player: AnyoPlayerCore | null;
|
|
20
|
+
load(source?: AnyoPlayerSource): Promise<void>;
|
|
21
|
+
activate(): Promise<void>;
|
|
22
|
+
replaceWorld(source: AnyoPlayerSource): Promise<void>;
|
|
23
|
+
disposeAsync(): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
export interface AnyoPlayerReactProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onError' | 'onReady'> {
|
|
26
|
+
source?: AnyoPlayerSource | null;
|
|
27
|
+
options?: AnyoPlayerAdapterOptions;
|
|
28
|
+
onPlayerChange?: (player: AnyoPlayerCore | null) => void;
|
|
29
|
+
onReady?: (event: AnyoPlayerEventMap['ready']) => void;
|
|
30
|
+
onError?: (error: AnyoPlayerError) => void;
|
|
31
|
+
onStateChange?: (event: AnyoPlayerEventMap['statechange']) => void;
|
|
32
|
+
onPhaseChange?: (event: AnyoPlayerEventMap['phasechange']) => void;
|
|
33
|
+
onWorldReplaced?: (event: AnyoPlayerEventMap['worldreplaced']) => void;
|
|
34
|
+
onThemeChange?: (event: AnyoPlayerEventMap['themechange']) => void;
|
|
35
|
+
onDisposed?: () => void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Low-level React hook for mounting the framework-neutral Player into a host
|
|
39
|
+
* ref. The mount effect is microtask-deferred so React Strict Mode's
|
|
40
|
+
* development effect replay does not create a throwaway renderer generation.
|
|
41
|
+
*/
|
|
42
|
+
export declare function useAnyoPlayer(config?: UseAnyoPlayerReactOptions): UseAnyoPlayerReactResult;
|
|
43
|
+
export declare const AnyoPlayer: import("react").ForwardRefExoticComponent<AnyoPlayerReactProps & import("react").RefAttributes<AnyoPlayerReactHandle>>;
|
|
44
|
+
//# sourceMappingURL=react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAEjB,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,0CAA0C,CAAA;AACjD,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAC5B,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,wBAAwB,IAAI,sBAAsB,GACnD,MAAM,0CAA0C,CAAA;AAEjD,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,EAAE,wBAAwB,CAAA;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IACnD,SAAS,EAAE,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAClD,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IACtC,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,GAAG,SAAS,GAAG,SAAS,CACnC;IACC,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAA;IACxD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IACtD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IAClE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IAClE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IACtE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IAClE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB;AAmCD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,GAAE,yBAA8B,GACrC,wBAAwB,CA0D1B;AAkDD,eAAO,MAAM,UAAU,wHAAkC,CAAA"}
|
package/dist/react.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { createElement, forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState, } from 'react';
|
|
2
|
+
import { FrameworkAdapterController, } from './internal/FrameworkAdapterController.js';
|
|
3
|
+
function useCallbackRefs(config) {
|
|
4
|
+
const refs = {
|
|
5
|
+
playerchange: useRef(config.playerchange),
|
|
6
|
+
ready: useRef(config.ready),
|
|
7
|
+
error: useRef(config.error),
|
|
8
|
+
statechange: useRef(config.statechange),
|
|
9
|
+
phasechange: useRef(config.phasechange),
|
|
10
|
+
worldreplaced: useRef(config.worldreplaced),
|
|
11
|
+
themechange: useRef(config.themechange),
|
|
12
|
+
disposed: useRef(config.disposed),
|
|
13
|
+
};
|
|
14
|
+
refs.playerchange.current = config.playerchange;
|
|
15
|
+
refs.ready.current = config.ready;
|
|
16
|
+
refs.error.current = config.error;
|
|
17
|
+
refs.statechange.current = config.statechange;
|
|
18
|
+
refs.phasechange.current = config.phasechange;
|
|
19
|
+
refs.worldreplaced.current = config.worldreplaced;
|
|
20
|
+
refs.themechange.current = config.themechange;
|
|
21
|
+
refs.disposed.current = config.disposed;
|
|
22
|
+
return refs;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Low-level React hook for mounting the framework-neutral Player into a host
|
|
26
|
+
* ref. The mount effect is microtask-deferred so React Strict Mode's
|
|
27
|
+
* development effect replay does not create a throwaway renderer generation.
|
|
28
|
+
*/
|
|
29
|
+
export function useAnyoPlayer(config = {}) {
|
|
30
|
+
const [container, setContainer] = useState(null);
|
|
31
|
+
const playerRef = useRef(null);
|
|
32
|
+
const sourceRef = useRef(config.source ?? null);
|
|
33
|
+
const optionsRef = useRef(config.options ?? {});
|
|
34
|
+
const callbacks = useCallbackRefs(config);
|
|
35
|
+
sourceRef.current = config.source ?? null;
|
|
36
|
+
optionsRef.current = config.options ?? {};
|
|
37
|
+
const controllerRef = useRef(null);
|
|
38
|
+
if (!controllerRef.current) {
|
|
39
|
+
controllerRef.current = new FrameworkAdapterController({
|
|
40
|
+
playerchange: value => {
|
|
41
|
+
playerRef.current = value;
|
|
42
|
+
callbacks.playerchange.current?.(value);
|
|
43
|
+
},
|
|
44
|
+
ready: event => callbacks.ready.current?.(event),
|
|
45
|
+
error: error => callbacks.error.current?.(error),
|
|
46
|
+
statechange: event => callbacks.statechange.current?.(event),
|
|
47
|
+
phasechange: event => callbacks.phasechange.current?.(event),
|
|
48
|
+
worldreplaced: event => callbacks.worldreplaced.current?.(event),
|
|
49
|
+
themechange: event => callbacks.themechange.current?.(event),
|
|
50
|
+
disposed: () => callbacks.disposed.current?.(),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const controller = controllerRef.current;
|
|
54
|
+
const containerRef = useCallback((element) => {
|
|
55
|
+
setContainer(element);
|
|
56
|
+
}, []);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
if (!container)
|
|
59
|
+
return;
|
|
60
|
+
let canceled = false;
|
|
61
|
+
queueMicrotask(() => {
|
|
62
|
+
if (canceled)
|
|
63
|
+
return;
|
|
64
|
+
void controller.mount(container, sourceRef.current, optionsRef.current)
|
|
65
|
+
.catch(() => undefined);
|
|
66
|
+
});
|
|
67
|
+
return () => {
|
|
68
|
+
canceled = true;
|
|
69
|
+
void controller.disposeAsync();
|
|
70
|
+
};
|
|
71
|
+
}, [container, controller]);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
void controller.setSource(config.source).catch(() => undefined);
|
|
74
|
+
}, [config.source, controller]);
|
|
75
|
+
return {
|
|
76
|
+
containerRef,
|
|
77
|
+
playerRef,
|
|
78
|
+
load: source => controller.load(source),
|
|
79
|
+
activate: () => controller.activate(),
|
|
80
|
+
replaceWorld: source => controller.replaceWorld(source),
|
|
81
|
+
disposeAsync: () => controller.disposeAsync(),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function AnyoPlayerComponent(props, ref) {
|
|
85
|
+
const { source = null, options = {}, onPlayerChange, onReady, onError, onStateChange, onPhaseChange, onWorldReplaced, onThemeChange, onDisposed, ...hostProps } = props;
|
|
86
|
+
const api = useAnyoPlayer({
|
|
87
|
+
source,
|
|
88
|
+
options,
|
|
89
|
+
...(onPlayerChange ? { playerchange: onPlayerChange } : {}),
|
|
90
|
+
...(onReady ? { ready: onReady } : {}),
|
|
91
|
+
...(onError ? { error: onError } : {}),
|
|
92
|
+
...(onStateChange ? { statechange: onStateChange } : {}),
|
|
93
|
+
...(onPhaseChange ? { phasechange: onPhaseChange } : {}),
|
|
94
|
+
...(onWorldReplaced ? { worldreplaced: onWorldReplaced } : {}),
|
|
95
|
+
...(onThemeChange ? { themechange: onThemeChange } : {}),
|
|
96
|
+
...(onDisposed ? { disposed: onDisposed } : {}),
|
|
97
|
+
});
|
|
98
|
+
useImperativeHandle(ref, () => ({
|
|
99
|
+
get player() {
|
|
100
|
+
return api.playerRef.current;
|
|
101
|
+
},
|
|
102
|
+
load: api.load,
|
|
103
|
+
activate: api.activate,
|
|
104
|
+
replaceWorld: api.replaceWorld,
|
|
105
|
+
disposeAsync: api.disposeAsync,
|
|
106
|
+
}), [api]);
|
|
107
|
+
return createElement('div', {
|
|
108
|
+
...hostProps,
|
|
109
|
+
ref: api.containerRef,
|
|
110
|
+
'data-anyo-player-react': '',
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
export const AnyoPlayer = forwardRef(AnyoPlayerComponent);
|
|
114
|
+
AnyoPlayer.displayName = 'AnyoPlayer';
|
|
115
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,EAAG,8BAAuC,CAAA;AACjF,eAAO,MAAM,2BAA2B,EAAG,CAAU,CAAA"}
|
package/dist/session.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,8BAAuC,CAAA;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAU,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const ANYO_PLAYER_CSS_TEXT: ".anyo-player {\n --anyo-player-ui-background: rgba(12, 15, 20, 0.88);\n --anyo-player-ui-surface: rgba(24, 28, 35, 0.94);\n --anyo-player-ui-text: #f7f8fa;\n --anyo-player-ui-muted: #b7bec9;\n --anyo-player-ui-border: rgba(255, 255, 255, 0.12);\n --anyo-player-ui-accent: #f7f8fa;\n --anyo-player-ui-accent-text: #111318;\n --anyo-player-ui-warning: #f6c85f;\n --anyo-player-ui-error: #ff8f8f;\n --anyo-player-ui-panel-radius: 14px;\n --anyo-player-ui-control-radius: 9px;\n --anyo-player-ui-font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n --anyo-player-ui-backdrop-blur: 14px;\n position: relative;\n overflow: hidden;\n contain: layout paint style;\n background: #111318;\n}\n\n.anyo-player__canvas {\n display: block;\n width: 100%;\n height: 100%;\n outline: none;\n touch-action: none;\n}\n\n.anyo-player__ui,\n.anyo-player__ui * {\n box-sizing: border-box;\n}\n\n.anyo-player__ui[hidden],\n.anyo-player__ui [hidden] {\n display: none !important;\n}\n\n.anyo-player__slot {\n display: contents;\n}\n\n.anyo-player__ui[data-anyo-player-adapter-mode=\"replace\"] [data-anyo-player-default-ui] {\n display: none !important;\n}\n\n.anyo-player__ui {\n position: absolute;\n inset: 0;\n z-index: 2;\n display: grid;\n place-items: center;\n padding: 20px;\n pointer-events: none;\n color: var(--anyo-player-ui-text);\n font: 500 14px/1.45 var(--anyo-player-ui-font-family);\n}\n\n.anyo-player__panel {\n width: min(360px, 100%);\n padding: 20px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: var(--anyo-player-ui-panel-radius);\n background: var(--anyo-player-ui-background);\n box-shadow: 0 18px 48px rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(var(--anyo-player-ui-backdrop-blur));\n text-align: center;\n}\n\n.anyo-player__title,\n.anyo-player__message,\n.anyo-player__progress-details,\n.anyo-player__diagnostic-message {\n margin: 0;\n}\n\n.anyo-player__title {\n font-size: 16px;\n font-weight: 700;\n letter-spacing: -0.01em;\n}\n\n.anyo-player__message {\n margin-top: 7px;\n color: var(--anyo-player-ui-muted);\n}\n\n.anyo-player__progress {\n width: 100%;\n height: 5px;\n margin-top: 16px;\n overflow: hidden;\n border-radius: 999px;\n background: rgba(255, 255, 255, 0.13);\n}\n\n.anyo-player__progress-fill {\n width: 0;\n height: 100%;\n border-radius: inherit;\n background: var(--anyo-player-ui-accent);\n transition: width 160ms ease-out;\n}\n\n.anyo-player__progress-details {\n margin-top: 9px;\n color: var(--anyo-player-ui-muted);\n font-size: 12px;\n}\n\n.anyo-player__diagnostic {\n position: absolute;\n top: 16px;\n left: 50%;\n width: min(520px, calc(100% - 32px));\n transform: translateX(-50%);\n padding: 10px 13px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 10px;\n background: var(--anyo-player-ui-surface);\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);\n text-align: center;\n}\n\n.anyo-player__diagnostic[data-severity=\"warning\"] {\n border-color: color-mix(in srgb, var(--anyo-player-ui-warning) 55%, transparent);\n}\n\n.anyo-player__diagnostic[data-severity=\"error\"] {\n border-color: color-mix(in srgb, var(--anyo-player-ui-error) 55%, transparent);\n}\n\n.anyo-player__panel--error {\n pointer-events: auto;\n}\n\n.anyo-player__button {\n min-height: 38px;\n margin-top: 16px;\n padding: 8px 16px;\n border: 0;\n border-radius: var(--anyo-player-ui-control-radius);\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n font: inherit;\n font-weight: 700;\n cursor: pointer;\n}\n\n.anyo-player__button:hover:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.anyo-player__button:focus-visible {\n outline: 2px solid var(--anyo-player-ui-text);\n outline-offset: 3px;\n}\n\n.anyo-player__button:disabled {\n cursor: wait;\n opacity: 0.55;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .anyo-player__progress-fill,\n .anyo-player__reticle {\n transition: none;\n }\n}\n\n.anyo-player__panel--enter {\n pointer-events: auto;\n}\n\n.anyo-player__panel--enter .anyo-player__button {\n min-width: 112px;\n}\n\n.anyo-player__canvas:focus-visible {\n outline: 2px solid var(--anyo-player-ui-accent);\n outline-offset: -2px;\n}\n\n.anyo-player__panel--paused {\n pointer-events: auto;\n}\n\n.anyo-player__pause-actions {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 8px;\n margin-top: 14px;\n}\n\n.anyo-player__pause-action {\n min-width: 104px;\n margin-top: 0;\n}\n\n.anyo-player__controls {\n position: absolute;\n right: 16px;\n bottom: 16px;\n display: flex;\n gap: 8px;\n pointer-events: auto;\n}\n\n.anyo-player__control {\n min-height: 36px;\n padding: 7px 12px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: var(--anyo-player-ui-control-radius);\n background: var(--anyo-player-ui-surface);\n color: var(--anyo-player-ui-text);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);\n backdrop-filter: blur(12px);\n font: inherit;\n font-weight: 650;\n cursor: pointer;\n}\n\n.anyo-player__control:hover:not(:disabled) {\n background: color-mix(in srgb, var(--anyo-player-ui-surface) 84%, white);\n}\n\n.anyo-player__control:focus-visible {\n outline: 2px solid var(--anyo-player-ui-text);\n outline-offset: 3px;\n}\n\n.anyo-player__control:disabled {\n cursor: wait;\n opacity: 0.55;\n}\n\n@media (max-width: 520px) {\n .anyo-player__pause-actions {\n display: grid;\n width: min(100%, 280px);\n grid-template-columns: 1fr;\n }\n\n .anyo-player__pause-action {\n width: 100%;\n }\n\n .anyo-player__controls {\n right: 10px;\n bottom: 10px;\n }\n\n .anyo-player__control {\n min-height: 40px;\n padding-inline: 11px;\n }\n}\n\n.anyo-player__reticle {\n position: absolute;\n left: 50%;\n top: 50%;\n width: 18px;\n height: 18px;\n transform: translate(-50%, -50%);\n pointer-events: none;\n opacity: 0.72;\n transition: opacity 120ms ease, transform 120ms ease;\n}\n\n.anyo-player__reticle::before,\n.anyo-player__reticle::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n border-radius: 999px;\n background: var(--anyo-player-ui-text);\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.55);\n transform: translate(-50%, -50%);\n}\n\n.anyo-player__reticle::before {\n width: 2px;\n height: 14px;\n}\n\n.anyo-player__reticle::after {\n width: 14px;\n height: 2px;\n}\n\n.anyo-player__reticle[data-active=\"true\"] {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.18);\n}\n\n.anyo-player__reticle[data-active=\"true\"]::before,\n.anyo-player__reticle[data-active=\"true\"]::after {\n background: var(--anyo-player-ui-accent);\n}\n\n.anyo-player__interaction-prompt {\n position: absolute;\n left: 50%;\n bottom: 72px;\n width: max-content;\n max-width: min(420px, calc(100% - 32px));\n transform: translateX(-50%);\n padding: 10px 13px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 12px;\n background: var(--anyo-player-ui-surface);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);\n backdrop-filter: blur(12px);\n display: flex;\n flex-direction: column;\n pointer-events: auto;\n text-align: left;\n}\n\n.anyo-player__interaction-prompt-title,\n.anyo-player__interaction-prompt-message,\n.anyo-player__interaction-prompt-description {\n margin: 0;\n}\n\n.anyo-player__interaction-prompt-title {\n order: -1;\n margin-bottom: 2px;\n color: var(--anyo-player-ui-muted);\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n}\n\n.anyo-player__interaction-prompt-message {\n color: var(--anyo-player-ui-text);\n font-size: 13px;\n font-weight: 700;\n}\n\n.anyo-player__interaction-prompt-description {\n margin-top: 3px;\n color: var(--anyo-player-ui-muted);\n font-size: 12px;\n font-weight: 500;\n}\n\n.anyo-player__interaction-prompt-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n margin-top: 7px;\n}\n\n.anyo-player__interaction-prompt-hint {\n color: var(--anyo-player-ui-muted);\n font-size: 11px;\n font-weight: 650;\n}\n\n.anyo-player__interaction-action {\n min-height: 30px;\n padding: 5px 10px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 8px;\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n font: inherit;\n font-size: 12px;\n font-weight: 750;\n cursor: pointer;\n}\n\n.anyo-player__interaction-action:focus-visible {\n outline: 2px solid var(--anyo-player-ui-text);\n outline-offset: 2px;\n}\n\n.anyo-player__interaction-action:disabled {\n cursor: wait;\n opacity: 0.55;\n}\n\n.anyo-player__touch,\n.anyo-player__touch * {\n box-sizing: border-box;\n}\n\n.anyo-player__touch[hidden],\n.anyo-player__touch [hidden] {\n display: none !important;\n}\n\n.anyo-player__touch {\n position: absolute;\n inset: 0;\n z-index: 1;\n pointer-events: none;\n user-select: none;\n -webkit-user-select: none;\n}\n\n.anyo-player__touch-move {\n position: absolute;\n left: max(18px, env(safe-area-inset-left));\n bottom: max(18px, env(safe-area-inset-bottom));\n width: calc(var(--anyo-player-touch-radius, 54px) * 2);\n height: calc(var(--anyo-player-touch-radius, 54px) * 2);\n display: grid;\n place-items: center;\n border-radius: 50%;\n pointer-events: auto;\n touch-action: none;\n}\n\n.anyo-player__touch-base {\n width: 100%;\n height: 100%;\n display: grid;\n place-items: center;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 50%;\n background: rgba(12, 15, 20, 0.42);\n box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 8px 24px rgba(0, 0, 0, 0.18);\n backdrop-filter: blur(10px);\n}\n\n.anyo-player__touch-thumb {\n width: 46%;\n height: 46%;\n border-radius: 50%;\n background: rgba(247, 248, 250, 0.9);\n box-shadow: 0 5px 16px rgba(0, 0, 0, 0.28);\n transform: translate(0, 0);\n will-change: transform;\n}\n\n.anyo-player__touch-run,\n.anyo-player__touch-jump {\n position: absolute;\n right: max(20px, env(safe-area-inset-right));\n bottom: max(26px, env(safe-area-inset-bottom));\n min-width: 58px;\n min-height: 58px;\n padding: 8px 12px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 50%;\n background: rgba(12, 15, 20, 0.62);\n color: var(--anyo-player-ui-text);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);\n backdrop-filter: blur(10px);\n pointer-events: auto;\n touch-action: none;\n font: 700 12px/1 system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n}\n\n.anyo-player__touch-jump {\n right: max(92px, calc(env(safe-area-inset-right) + 92px));\n}\n\n.anyo-player__touch-run[aria-pressed=\"true\"] {\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n}\n\n@media (max-width: 520px) {\n .anyo-player__interaction-prompt {\n bottom: 86px;\n }\n}\n\n.anyo-player__xr-status {\n position: absolute;\n top: 16px;\n right: 16px;\n max-width: min(360px, calc(100% - 32px));\n padding: 9px 12px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 10px;\n background: var(--anyo-player-ui-surface);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);\n backdrop-filter: blur(12px);\n pointer-events: none;\n}\n\n.anyo-player__xr-status[data-severity=\"error\"] {\n border-color: color-mix(in srgb, var(--anyo-player-ui-error) 55%, transparent);\n}\n\n.anyo-player__xr-status-message {\n margin: 0;\n color: var(--anyo-player-ui-text);\n font-size: 12px;\n font-weight: 650;\n}\n\n.anyo-player__control--vr[aria-pressed=\"true\"] {\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n}\n\n@media (max-width: 520px) {\n .anyo-player__xr-status {\n top: 10px;\n right: 10px;\n max-width: calc(100% - 20px);\n }\n}\n\n.anyo-player__sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__ui *,\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__ui *::before,\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__ui *::after {\n animation-duration: 0.001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: 0.001ms !important;\n}\n\n.anyo-player__poster {\n position: absolute;\n inset: 0;\n z-index: 2;\n overflow: hidden;\n background: #090b11;\n pointer-events: none;\n}\n\n.anyo-player__poster[hidden] {\n display: none;\n}\n\n.anyo-player__poster-image {\n width: 100%;\n height: 100%;\n display: block;\n user-select: none;\n}\n\n\n.anyo-player__canvas {\n transition: opacity 160ms ease;\n}\n\n.anyo-player--world-transition .anyo-player__canvas {\n opacity: 0.16;\n}\n\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__canvas {\n transition-duration: 0.001ms !important;\n}\n\n.anyo-player__map-attribution{position:absolute;left:10px;bottom:8px;z-index:9;max-width:min(80%,520px);padding:5px 8px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:6px;background:color-mix(in srgb,#07100d 82%,transparent);color:#d9e6df;font:500 11px/1.3 system-ui,sans-serif;pointer-events:none;backdrop-filter:blur(8px)}\n\n.anyo-player__caption{position:absolute;left:50%;bottom:clamp(32px,7vh,72px);z-index:12;max-width:min(86%,780px);transform:translateX(-50%);padding:10px 16px;border:1px solid color-mix(in srgb,#fff 18%,transparent);border-radius:8px;background:color-mix(in srgb,#05080d 84%,transparent);color:#fff;text-align:center;font:600 clamp(14px,1.7vw,20px)/1.45 system-ui,sans-serif;letter-spacing:.01em;text-shadow:0 1px 2px #000;box-shadow:0 8px 28px #0006;pointer-events:none;backdrop-filter:blur(10px)}\n.anyo-player__caption-speaker{color:#ffdca8;font-weight:750}\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__caption{transition:none}\n";
|
|
2
|
+
//# sourceMappingURL=styleText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleText.d.ts","sourceRoot":"","sources":["../src/styleText.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,25bAAo6b,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const ANYO_PLAYER_CSS_TEXT = ".anyo-player {\n --anyo-player-ui-background: rgba(12, 15, 20, 0.88);\n --anyo-player-ui-surface: rgba(24, 28, 35, 0.94);\n --anyo-player-ui-text: #f7f8fa;\n --anyo-player-ui-muted: #b7bec9;\n --anyo-player-ui-border: rgba(255, 255, 255, 0.12);\n --anyo-player-ui-accent: #f7f8fa;\n --anyo-player-ui-accent-text: #111318;\n --anyo-player-ui-warning: #f6c85f;\n --anyo-player-ui-error: #ff8f8f;\n --anyo-player-ui-panel-radius: 14px;\n --anyo-player-ui-control-radius: 9px;\n --anyo-player-ui-font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n --anyo-player-ui-backdrop-blur: 14px;\n position: relative;\n overflow: hidden;\n contain: layout paint style;\n background: #111318;\n}\n\n.anyo-player__canvas {\n display: block;\n width: 100%;\n height: 100%;\n outline: none;\n touch-action: none;\n}\n\n.anyo-player__ui,\n.anyo-player__ui * {\n box-sizing: border-box;\n}\n\n.anyo-player__ui[hidden],\n.anyo-player__ui [hidden] {\n display: none !important;\n}\n\n.anyo-player__slot {\n display: contents;\n}\n\n.anyo-player__ui[data-anyo-player-adapter-mode=\"replace\"] [data-anyo-player-default-ui] {\n display: none !important;\n}\n\n.anyo-player__ui {\n position: absolute;\n inset: 0;\n z-index: 2;\n display: grid;\n place-items: center;\n padding: 20px;\n pointer-events: none;\n color: var(--anyo-player-ui-text);\n font: 500 14px/1.45 var(--anyo-player-ui-font-family);\n}\n\n.anyo-player__panel {\n width: min(360px, 100%);\n padding: 20px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: var(--anyo-player-ui-panel-radius);\n background: var(--anyo-player-ui-background);\n box-shadow: 0 18px 48px rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(var(--anyo-player-ui-backdrop-blur));\n text-align: center;\n}\n\n.anyo-player__title,\n.anyo-player__message,\n.anyo-player__progress-details,\n.anyo-player__diagnostic-message {\n margin: 0;\n}\n\n.anyo-player__title {\n font-size: 16px;\n font-weight: 700;\n letter-spacing: -0.01em;\n}\n\n.anyo-player__message {\n margin-top: 7px;\n color: var(--anyo-player-ui-muted);\n}\n\n.anyo-player__progress {\n width: 100%;\n height: 5px;\n margin-top: 16px;\n overflow: hidden;\n border-radius: 999px;\n background: rgba(255, 255, 255, 0.13);\n}\n\n.anyo-player__progress-fill {\n width: 0;\n height: 100%;\n border-radius: inherit;\n background: var(--anyo-player-ui-accent);\n transition: width 160ms ease-out;\n}\n\n.anyo-player__progress-details {\n margin-top: 9px;\n color: var(--anyo-player-ui-muted);\n font-size: 12px;\n}\n\n.anyo-player__diagnostic {\n position: absolute;\n top: 16px;\n left: 50%;\n width: min(520px, calc(100% - 32px));\n transform: translateX(-50%);\n padding: 10px 13px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 10px;\n background: var(--anyo-player-ui-surface);\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);\n text-align: center;\n}\n\n.anyo-player__diagnostic[data-severity=\"warning\"] {\n border-color: color-mix(in srgb, var(--anyo-player-ui-warning) 55%, transparent);\n}\n\n.anyo-player__diagnostic[data-severity=\"error\"] {\n border-color: color-mix(in srgb, var(--anyo-player-ui-error) 55%, transparent);\n}\n\n.anyo-player__panel--error {\n pointer-events: auto;\n}\n\n.anyo-player__button {\n min-height: 38px;\n margin-top: 16px;\n padding: 8px 16px;\n border: 0;\n border-radius: var(--anyo-player-ui-control-radius);\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n font: inherit;\n font-weight: 700;\n cursor: pointer;\n}\n\n.anyo-player__button:hover:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.anyo-player__button:focus-visible {\n outline: 2px solid var(--anyo-player-ui-text);\n outline-offset: 3px;\n}\n\n.anyo-player__button:disabled {\n cursor: wait;\n opacity: 0.55;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .anyo-player__progress-fill,\n .anyo-player__reticle {\n transition: none;\n }\n}\n\n.anyo-player__panel--enter {\n pointer-events: auto;\n}\n\n.anyo-player__panel--enter .anyo-player__button {\n min-width: 112px;\n}\n\n.anyo-player__canvas:focus-visible {\n outline: 2px solid var(--anyo-player-ui-accent);\n outline-offset: -2px;\n}\n\n.anyo-player__panel--paused {\n pointer-events: auto;\n}\n\n.anyo-player__pause-actions {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 8px;\n margin-top: 14px;\n}\n\n.anyo-player__pause-action {\n min-width: 104px;\n margin-top: 0;\n}\n\n.anyo-player__controls {\n position: absolute;\n right: 16px;\n bottom: 16px;\n display: flex;\n gap: 8px;\n pointer-events: auto;\n}\n\n.anyo-player__control {\n min-height: 36px;\n padding: 7px 12px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: var(--anyo-player-ui-control-radius);\n background: var(--anyo-player-ui-surface);\n color: var(--anyo-player-ui-text);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);\n backdrop-filter: blur(12px);\n font: inherit;\n font-weight: 650;\n cursor: pointer;\n}\n\n.anyo-player__control:hover:not(:disabled) {\n background: color-mix(in srgb, var(--anyo-player-ui-surface) 84%, white);\n}\n\n.anyo-player__control:focus-visible {\n outline: 2px solid var(--anyo-player-ui-text);\n outline-offset: 3px;\n}\n\n.anyo-player__control:disabled {\n cursor: wait;\n opacity: 0.55;\n}\n\n@media (max-width: 520px) {\n .anyo-player__pause-actions {\n display: grid;\n width: min(100%, 280px);\n grid-template-columns: 1fr;\n }\n\n .anyo-player__pause-action {\n width: 100%;\n }\n\n .anyo-player__controls {\n right: 10px;\n bottom: 10px;\n }\n\n .anyo-player__control {\n min-height: 40px;\n padding-inline: 11px;\n }\n}\n\n.anyo-player__reticle {\n position: absolute;\n left: 50%;\n top: 50%;\n width: 18px;\n height: 18px;\n transform: translate(-50%, -50%);\n pointer-events: none;\n opacity: 0.72;\n transition: opacity 120ms ease, transform 120ms ease;\n}\n\n.anyo-player__reticle::before,\n.anyo-player__reticle::after {\n content: \"\";\n position: absolute;\n left: 50%;\n top: 50%;\n border-radius: 999px;\n background: var(--anyo-player-ui-text);\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.55);\n transform: translate(-50%, -50%);\n}\n\n.anyo-player__reticle::before {\n width: 2px;\n height: 14px;\n}\n\n.anyo-player__reticle::after {\n width: 14px;\n height: 2px;\n}\n\n.anyo-player__reticle[data-active=\"true\"] {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.18);\n}\n\n.anyo-player__reticle[data-active=\"true\"]::before,\n.anyo-player__reticle[data-active=\"true\"]::after {\n background: var(--anyo-player-ui-accent);\n}\n\n.anyo-player__interaction-prompt {\n position: absolute;\n left: 50%;\n bottom: 72px;\n width: max-content;\n max-width: min(420px, calc(100% - 32px));\n transform: translateX(-50%);\n padding: 10px 13px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 12px;\n background: var(--anyo-player-ui-surface);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);\n backdrop-filter: blur(12px);\n display: flex;\n flex-direction: column;\n pointer-events: auto;\n text-align: left;\n}\n\n.anyo-player__interaction-prompt-title,\n.anyo-player__interaction-prompt-message,\n.anyo-player__interaction-prompt-description {\n margin: 0;\n}\n\n.anyo-player__interaction-prompt-title {\n order: -1;\n margin-bottom: 2px;\n color: var(--anyo-player-ui-muted);\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n}\n\n.anyo-player__interaction-prompt-message {\n color: var(--anyo-player-ui-text);\n font-size: 13px;\n font-weight: 700;\n}\n\n.anyo-player__interaction-prompt-description {\n margin-top: 3px;\n color: var(--anyo-player-ui-muted);\n font-size: 12px;\n font-weight: 500;\n}\n\n.anyo-player__interaction-prompt-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n margin-top: 7px;\n}\n\n.anyo-player__interaction-prompt-hint {\n color: var(--anyo-player-ui-muted);\n font-size: 11px;\n font-weight: 650;\n}\n\n.anyo-player__interaction-action {\n min-height: 30px;\n padding: 5px 10px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 8px;\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n font: inherit;\n font-size: 12px;\n font-weight: 750;\n cursor: pointer;\n}\n\n.anyo-player__interaction-action:focus-visible {\n outline: 2px solid var(--anyo-player-ui-text);\n outline-offset: 2px;\n}\n\n.anyo-player__interaction-action:disabled {\n cursor: wait;\n opacity: 0.55;\n}\n\n.anyo-player__touch,\n.anyo-player__touch * {\n box-sizing: border-box;\n}\n\n.anyo-player__touch[hidden],\n.anyo-player__touch [hidden] {\n display: none !important;\n}\n\n.anyo-player__touch {\n position: absolute;\n inset: 0;\n z-index: 1;\n pointer-events: none;\n user-select: none;\n -webkit-user-select: none;\n}\n\n.anyo-player__touch-move {\n position: absolute;\n left: max(18px, env(safe-area-inset-left));\n bottom: max(18px, env(safe-area-inset-bottom));\n width: calc(var(--anyo-player-touch-radius, 54px) * 2);\n height: calc(var(--anyo-player-touch-radius, 54px) * 2);\n display: grid;\n place-items: center;\n border-radius: 50%;\n pointer-events: auto;\n touch-action: none;\n}\n\n.anyo-player__touch-base {\n width: 100%;\n height: 100%;\n display: grid;\n place-items: center;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 50%;\n background: rgba(12, 15, 20, 0.42);\n box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 8px 24px rgba(0, 0, 0, 0.18);\n backdrop-filter: blur(10px);\n}\n\n.anyo-player__touch-thumb {\n width: 46%;\n height: 46%;\n border-radius: 50%;\n background: rgba(247, 248, 250, 0.9);\n box-shadow: 0 5px 16px rgba(0, 0, 0, 0.28);\n transform: translate(0, 0);\n will-change: transform;\n}\n\n.anyo-player__touch-run,\n.anyo-player__touch-jump {\n position: absolute;\n right: max(20px, env(safe-area-inset-right));\n bottom: max(26px, env(safe-area-inset-bottom));\n min-width: 58px;\n min-height: 58px;\n padding: 8px 12px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 50%;\n background: rgba(12, 15, 20, 0.62);\n color: var(--anyo-player-ui-text);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);\n backdrop-filter: blur(10px);\n pointer-events: auto;\n touch-action: none;\n font: 700 12px/1 system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n}\n\n.anyo-player__touch-jump {\n right: max(92px, calc(env(safe-area-inset-right) + 92px));\n}\n\n.anyo-player__touch-run[aria-pressed=\"true\"] {\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n}\n\n@media (max-width: 520px) {\n .anyo-player__interaction-prompt {\n bottom: 86px;\n }\n}\n\n.anyo-player__xr-status {\n position: absolute;\n top: 16px;\n right: 16px;\n max-width: min(360px, calc(100% - 32px));\n padding: 9px 12px;\n border: 1px solid var(--anyo-player-ui-border);\n border-radius: 10px;\n background: var(--anyo-player-ui-surface);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);\n backdrop-filter: blur(12px);\n pointer-events: none;\n}\n\n.anyo-player__xr-status[data-severity=\"error\"] {\n border-color: color-mix(in srgb, var(--anyo-player-ui-error) 55%, transparent);\n}\n\n.anyo-player__xr-status-message {\n margin: 0;\n color: var(--anyo-player-ui-text);\n font-size: 12px;\n font-weight: 650;\n}\n\n.anyo-player__control--vr[aria-pressed=\"true\"] {\n background: var(--anyo-player-ui-accent);\n color: var(--anyo-player-ui-accent-text);\n}\n\n@media (max-width: 520px) {\n .anyo-player__xr-status {\n top: 10px;\n right: 10px;\n max-width: calc(100% - 20px);\n }\n}\n\n.anyo-player__sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__ui *,\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__ui *::before,\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__ui *::after {\n animation-duration: 0.001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: 0.001ms !important;\n}\n\n.anyo-player__poster {\n position: absolute;\n inset: 0;\n z-index: 2;\n overflow: hidden;\n background: #090b11;\n pointer-events: none;\n}\n\n.anyo-player__poster[hidden] {\n display: none;\n}\n\n.anyo-player__poster-image {\n width: 100%;\n height: 100%;\n display: block;\n user-select: none;\n}\n\n\n.anyo-player__canvas {\n transition: opacity 160ms ease;\n}\n\n.anyo-player--world-transition .anyo-player__canvas {\n opacity: 0.16;\n}\n\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__canvas {\n transition-duration: 0.001ms !important;\n}\n\n.anyo-player__map-attribution{position:absolute;left:10px;bottom:8px;z-index:9;max-width:min(80%,520px);padding:5px 8px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:6px;background:color-mix(in srgb,#07100d 82%,transparent);color:#d9e6df;font:500 11px/1.3 system-ui,sans-serif;pointer-events:none;backdrop-filter:blur(8px)}\n\n.anyo-player__caption{position:absolute;left:50%;bottom:clamp(32px,7vh,72px);z-index:12;max-width:min(86%,780px);transform:translateX(-50%);padding:10px 16px;border:1px solid color-mix(in srgb,#fff 18%,transparent);border-radius:8px;background:color-mix(in srgb,#05080d 84%,transparent);color:#fff;text-align:center;font:600 clamp(14px,1.7vw,20px)/1.45 system-ui,sans-serif;letter-spacing:.01em;text-shadow:0 1px 2px #000;box-shadow:0 8px 28px #0006;pointer-events:none;backdrop-filter:blur(10px)}\n.anyo-player__caption-speaker{color:#ffdca8;font-weight:750}\n.anyo-player[data-anyo-player-reduced-motion=\"true\"] .anyo-player__caption{transition:none}\n";
|
|
2
|
+
//# sourceMappingURL=styleText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleText.js","sourceRoot":"","sources":["../src/styleText.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,25bAAo6b,CAAA"}
|