@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.
Files changed (181) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/LICENSE +21 -0
  3. package/README.md +304 -0
  4. package/dist/createAnyoPlayer.d.ts +3 -0
  5. package/dist/createAnyoPlayer.d.ts.map +1 -0
  6. package/dist/createAnyoPlayer.js +5 -0
  7. package/dist/createAnyoPlayer.js.map +1 -0
  8. package/dist/element-define.d.ts +2 -0
  9. package/dist/element-define.d.ts.map +1 -0
  10. package/dist/element-define.js +4 -0
  11. package/dist/element-define.js.map +1 -0
  12. package/dist/element.d.ts +66 -0
  13. package/dist/element.d.ts.map +1 -0
  14. package/dist/element.js +363 -0
  15. package/dist/element.js.map +1 -0
  16. package/dist/errors.d.ts +11 -0
  17. package/dist/errors.d.ts.map +1 -0
  18. package/dist/errors.js +21 -0
  19. package/dist/errors.js.map +1 -0
  20. package/dist/index.d.ts +13 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +10 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/inputBindings.d.ts +3 -0
  25. package/dist/inputBindings.d.ts.map +1 -0
  26. package/dist/inputBindings.js +3 -0
  27. package/dist/inputBindings.js.map +1 -0
  28. package/dist/internal/AccessibilityController.d.ts +50 -0
  29. package/dist/internal/AccessibilityController.d.ts.map +1 -0
  30. package/dist/internal/AccessibilityController.js +212 -0
  31. package/dist/internal/AccessibilityController.js.map +1 -0
  32. package/dist/internal/AnyoPlayerCore.d.ts +357 -0
  33. package/dist/internal/AnyoPlayerCore.d.ts.map +1 -0
  34. package/dist/internal/AnyoPlayerCore.js +3880 -0
  35. package/dist/internal/AnyoPlayerCore.js.map +1 -0
  36. package/dist/internal/AudioController.d.ts +37 -0
  37. package/dist/internal/AudioController.d.ts.map +1 -0
  38. package/dist/internal/AudioController.js +167 -0
  39. package/dist/internal/AudioController.js.map +1 -0
  40. package/dist/internal/CaptionController.d.ts +16 -0
  41. package/dist/internal/CaptionController.d.ts.map +1 -0
  42. package/dist/internal/CaptionController.js +83 -0
  43. package/dist/internal/CaptionController.js.map +1 -0
  44. package/dist/internal/ContainerHost.d.ts +17 -0
  45. package/dist/internal/ContainerHost.d.ts.map +1 -0
  46. package/dist/internal/ContainerHost.js +110 -0
  47. package/dist/internal/ContainerHost.js.map +1 -0
  48. package/dist/internal/DesktopInputController.d.ts +80 -0
  49. package/dist/internal/DesktopInputController.d.ts.map +1 -0
  50. package/dist/internal/DesktopInputController.js +367 -0
  51. package/dist/internal/DesktopInputController.js.map +1 -0
  52. package/dist/internal/EmbeddingController.d.ts +33 -0
  53. package/dist/internal/EmbeddingController.d.ts.map +1 -0
  54. package/dist/internal/EmbeddingController.js +161 -0
  55. package/dist/internal/EmbeddingController.js.map +1 -0
  56. package/dist/internal/EventHub.d.ts +7 -0
  57. package/dist/internal/EventHub.d.ts.map +1 -0
  58. package/dist/internal/EventHub.js +27 -0
  59. package/dist/internal/EventHub.js.map +1 -0
  60. package/dist/internal/FrameworkAdapterController.d.ts +46 -0
  61. package/dist/internal/FrameworkAdapterController.d.ts.map +1 -0
  62. package/dist/internal/FrameworkAdapterController.js +165 -0
  63. package/dist/internal/FrameworkAdapterController.js.map +1 -0
  64. package/dist/internal/FullscreenController.d.ts +29 -0
  65. package/dist/internal/FullscreenController.d.ts.map +1 -0
  66. package/dist/internal/FullscreenController.js +122 -0
  67. package/dist/internal/FullscreenController.js.map +1 -0
  68. package/dist/internal/GamepadController.d.ts +54 -0
  69. package/dist/internal/GamepadController.d.ts.map +1 -0
  70. package/dist/internal/GamepadController.js +276 -0
  71. package/dist/internal/GamepadController.js.map +1 -0
  72. package/dist/internal/InputBindingsController.d.ts +34 -0
  73. package/dist/internal/InputBindingsController.d.ts.map +1 -0
  74. package/dist/internal/InputBindingsController.js +223 -0
  75. package/dist/internal/InputBindingsController.js.map +1 -0
  76. package/dist/internal/InteractionPresentationController.d.ts +38 -0
  77. package/dist/internal/InteractionPresentationController.d.ts.map +1 -0
  78. package/dist/internal/InteractionPresentationController.js +208 -0
  79. package/dist/internal/InteractionPresentationController.js.map +1 -0
  80. package/dist/internal/MapController.d.ts +16 -0
  81. package/dist/internal/MapController.d.ts.map +1 -0
  82. package/dist/internal/MapController.js +68 -0
  83. package/dist/internal/MapController.js.map +1 -0
  84. package/dist/internal/PerformanceController.d.ts +94 -0
  85. package/dist/internal/PerformanceController.d.ts.map +1 -0
  86. package/dist/internal/PerformanceController.js +455 -0
  87. package/dist/internal/PerformanceController.js.map +1 -0
  88. package/dist/internal/PlayerCameraController.d.ts +79 -0
  89. package/dist/internal/PlayerCameraController.d.ts.map +1 -0
  90. package/dist/internal/PlayerCameraController.js +551 -0
  91. package/dist/internal/PlayerCameraController.js.map +1 -0
  92. package/dist/internal/ResponsiveController.d.ts +37 -0
  93. package/dist/internal/ResponsiveController.d.ts.map +1 -0
  94. package/dist/internal/ResponsiveController.js +143 -0
  95. package/dist/internal/ResponsiveController.js.map +1 -0
  96. package/dist/internal/RuntimeFactory.d.ts +42 -0
  97. package/dist/internal/RuntimeFactory.d.ts.map +1 -0
  98. package/dist/internal/RuntimeFactory.js +93 -0
  99. package/dist/internal/RuntimeFactory.js.map +1 -0
  100. package/dist/internal/ScreenshotController.d.ts +8 -0
  101. package/dist/internal/ScreenshotController.d.ts.map +1 -0
  102. package/dist/internal/ScreenshotController.js +47 -0
  103. package/dist/internal/ScreenshotController.js.map +1 -0
  104. package/dist/internal/SessionController.d.ts +44 -0
  105. package/dist/internal/SessionController.d.ts.map +1 -0
  106. package/dist/internal/SessionController.js +411 -0
  107. package/dist/internal/SessionController.js.map +1 -0
  108. package/dist/internal/SourceResolver.d.ts +31 -0
  109. package/dist/internal/SourceResolver.d.ts.map +1 -0
  110. package/dist/internal/SourceResolver.js +362 -0
  111. package/dist/internal/SourceResolver.js.map +1 -0
  112. package/dist/internal/StateMachine.d.ts +10 -0
  113. package/dist/internal/StateMachine.d.ts.map +1 -0
  114. package/dist/internal/StateMachine.js +35 -0
  115. package/dist/internal/StateMachine.js.map +1 -0
  116. package/dist/internal/StyleController.d.ts +14 -0
  117. package/dist/internal/StyleController.d.ts.map +1 -0
  118. package/dist/internal/StyleController.js +116 -0
  119. package/dist/internal/StyleController.js.map +1 -0
  120. package/dist/internal/TelemetryController.d.ts +28 -0
  121. package/dist/internal/TelemetryController.d.ts.map +1 -0
  122. package/dist/internal/TelemetryController.js +113 -0
  123. package/dist/internal/TelemetryController.js.map +1 -0
  124. package/dist/internal/TouchInputController.d.ts +73 -0
  125. package/dist/internal/TouchInputController.d.ts.map +1 -0
  126. package/dist/internal/TouchInputController.js +379 -0
  127. package/dist/internal/TouchInputController.js.map +1 -0
  128. package/dist/internal/VfxController.d.ts +11 -0
  129. package/dist/internal/VfxController.d.ts.map +1 -0
  130. package/dist/internal/VfxController.js +23 -0
  131. package/dist/internal/VfxController.js.map +1 -0
  132. package/dist/internal/ViewPreferenceController.d.ts +40 -0
  133. package/dist/internal/ViewPreferenceController.d.ts.map +1 -0
  134. package/dist/internal/ViewPreferenceController.js +132 -0
  135. package/dist/internal/ViewPreferenceController.js.map +1 -0
  136. package/dist/internal/VisibilityController.d.ts +26 -0
  137. package/dist/internal/VisibilityController.d.ts.map +1 -0
  138. package/dist/internal/VisibilityController.js +62 -0
  139. package/dist/internal/VisibilityController.js.map +1 -0
  140. package/dist/internal/XRController.d.ts +42 -0
  141. package/dist/internal/XRController.d.ts.map +1 -0
  142. package/dist/internal/XRController.js +169 -0
  143. package/dist/internal/XRController.js.map +1 -0
  144. package/dist/internal/sourceUrls.d.ts +6 -0
  145. package/dist/internal/sourceUrls.d.ts.map +1 -0
  146. package/dist/internal/sourceUrls.js +79 -0
  147. package/dist/internal/sourceUrls.js.map +1 -0
  148. package/dist/react.d.ts +44 -0
  149. package/dist/react.d.ts.map +1 -0
  150. package/dist/react.js +115 -0
  151. package/dist/react.js.map +1 -0
  152. package/dist/session.d.ts +3 -0
  153. package/dist/session.d.ts.map +1 -0
  154. package/dist/session.js +3 -0
  155. package/dist/session.js.map +1 -0
  156. package/dist/styleText.d.ts +2 -0
  157. package/dist/styleText.d.ts.map +1 -0
  158. package/dist/styleText.js +2 -0
  159. package/dist/styleText.js.map +1 -0
  160. package/dist/styles.css +573 -0
  161. package/dist/types.d.ts +1476 -0
  162. package/dist/types.d.ts.map +1 -0
  163. package/dist/types.js +2 -0
  164. package/dist/types.js.map +1 -0
  165. package/dist/ui/PlayerUI.d.ts +193 -0
  166. package/dist/ui/PlayerUI.d.ts.map +1 -0
  167. package/dist/ui/PlayerUI.js +1201 -0
  168. package/dist/ui/PlayerUI.js.map +1 -0
  169. package/dist/vue.d.ts +97 -0
  170. package/dist/vue.d.ts.map +1 -0
  171. package/dist/vue.js +126 -0
  172. package/dist/vue.js.map +1 -0
  173. package/dist/worldCache.d.ts +16 -0
  174. package/dist/worldCache.d.ts.map +1 -0
  175. package/dist/worldCache.js +46 -0
  176. package/dist/worldCache.js.map +1 -0
  177. package/dist/worldSources.d.ts +19 -0
  178. package/dist/worldSources.d.ts.map +1 -0
  179. package/dist/worldSources.js +51 -0
  180. package/dist/worldSources.js.map +1 -0
  181. package/package.json +114 -0
@@ -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,3 @@
1
+ export declare const ANYO_PLAYER_SESSION_FORMAT: "@blcklab/anyo-player/session";
2
+ export declare const ANYO_PLAYER_SESSION_VERSION: 1;
3
+ //# sourceMappingURL=session.d.ts.map
@@ -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"}
@@ -0,0 +1,3 @@
1
+ export const ANYO_PLAYER_SESSION_FORMAT = '@blcklab/anyo-player/session';
2
+ export const ANYO_PLAYER_SESSION_VERSION = 1;
3
+ //# sourceMappingURL=session.js.map
@@ -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"}