@lightningtv/solid 3.0.0-20 → 3.0.0-22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/activeElement.d.ts +1 -1
- package/dist/src/core/animation.d.ts +35 -0
- package/dist/src/core/animation.js +119 -0
- package/dist/src/core/animation.js.map +1 -0
- package/dist/src/core/config.d.ts +47 -0
- package/dist/src/core/config.js +23 -0
- package/dist/src/core/config.js.map +1 -0
- package/dist/src/core/dom-renderer/domRenderer.d.ts +137 -0
- package/dist/src/core/dom-renderer/domRenderer.js +1545 -0
- package/dist/src/core/dom-renderer/domRenderer.js.map +1 -0
- package/dist/src/core/dom-renderer/domRendererTypes.d.ts +117 -0
- package/dist/src/core/dom-renderer/domRendererTypes.js +2 -0
- package/dist/src/core/dom-renderer/domRendererTypes.js.map +1 -0
- package/dist/src/core/dom-renderer/domRendererUtils.d.ts +16 -0
- package/dist/src/core/dom-renderer/domRendererUtils.js +132 -0
- package/dist/src/core/dom-renderer/domRendererUtils.js.map +1 -0
- package/dist/src/core/domRenderer.d.ts +117 -0
- package/dist/src/core/domRenderer.js +1160 -0
- package/dist/src/core/domRenderer.js.map +1 -0
- package/dist/src/core/elementNode.d.ts +463 -0
- package/dist/src/core/elementNode.js +830 -0
- package/dist/src/core/elementNode.js.map +1 -0
- package/dist/src/core/flex.d.ts +2 -0
- package/dist/src/core/flex.js +243 -0
- package/dist/src/core/flex.js.map +1 -0
- package/dist/src/core/focusKeyTypes.d.ts +42 -0
- package/dist/src/core/focusKeyTypes.js +2 -0
- package/dist/src/core/focusKeyTypes.js.map +1 -0
- package/dist/src/core/focusManager.d.ts +13 -0
- package/dist/src/core/focusManager.js +276 -0
- package/dist/src/core/focusManager.js.map +1 -0
- package/dist/src/core/index.d.ts +12 -0
- package/dist/src/core/index.js +12 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/intrinsicTypes.d.ts +90 -0
- package/dist/src/core/intrinsicTypes.js +2 -0
- package/dist/src/core/intrinsicTypes.js.map +1 -0
- package/dist/src/core/lightningInit.d.ts +89 -0
- package/dist/src/core/lightningInit.js +26 -0
- package/dist/src/core/lightningInit.js.map +1 -0
- package/dist/src/core/nodeTypes.d.ts +6 -0
- package/dist/src/core/nodeTypes.js +6 -0
- package/dist/src/core/nodeTypes.js.map +1 -0
- package/dist/src/core/shaders.d.ts +51 -0
- package/dist/src/core/shaders.js +446 -0
- package/dist/src/core/shaders.js.map +1 -0
- package/dist/src/core/states.d.ts +12 -0
- package/dist/src/core/states.js +84 -0
- package/dist/src/core/states.js.map +1 -0
- package/dist/src/core/timings.d.ts +36 -0
- package/dist/src/core/timings.js +199 -0
- package/dist/src/core/timings.js.map +1 -0
- package/dist/src/core/utils.d.ts +39 -0
- package/dist/src/core/utils.js +164 -0
- package/dist/src/core/utils.js.map +1 -0
- package/dist/src/devtools/index.d.ts +1 -1
- package/dist/src/devtools/index.js +1 -1
- package/dist/src/devtools/index.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/primitives/FPSCounter.jsx +14 -1
- package/dist/src/primitives/FPSCounter.jsx.map +1 -1
- package/dist/src/primitives/Lazy.d.ts +1 -1
- package/dist/src/primitives/Lazy.jsx +5 -2
- package/dist/src/primitives/Lazy.jsx.map +1 -1
- package/dist/src/primitives/Row.jsx.map +1 -1
- package/dist/src/primitives/Virtual.jsx +2 -2
- package/dist/src/primitives/Virtual.jsx.map +1 -1
- package/dist/src/primitives/VirtualGrid.jsx +26 -5
- package/dist/src/primitives/VirtualGrid.jsx.map +1 -1
- package/dist/src/primitives/index.d.ts +1 -1
- package/dist/src/primitives/types.d.ts +2 -2
- package/dist/src/primitives/useFocusManager.d.ts +2 -2
- package/dist/src/primitives/useFocusManager.js +2 -2
- package/dist/src/primitives/useFocusManager.js.map +1 -1
- package/dist/src/primitives/useMouse.d.ts +2 -9
- package/dist/src/primitives/useMouse.js +30 -12
- package/dist/src/primitives/useMouse.js.map +1 -1
- package/dist/src/primitives/utils/createSpriteMap.d.ts +1 -1
- package/dist/src/primitives/utils/createSpriteMap.js +3 -3
- package/dist/src/primitives/utils/createSpriteMap.js.map +1 -1
- package/dist/src/primitives/utils/handleNavigation.d.ts +2 -8
- package/dist/src/primitives/utils/handleNavigation.js +5 -5
- package/dist/src/primitives/utils/handleNavigation.js.map +1 -1
- package/dist/src/primitives/utils/withScrolling.d.ts +8 -3
- package/dist/src/primitives/utils/withScrolling.js +43 -3
- package/dist/src/primitives/utils/withScrolling.js.map +1 -1
- package/dist/src/render.d.ts +5 -5
- package/dist/src/render.js +1 -1
- package/dist/src/render.js.map +1 -1
- package/dist/src/solidOpts.d.ts +1 -8
- package/dist/src/solidOpts.js +1 -1
- package/dist/src/solidOpts.js.map +1 -1
- package/dist/src/types.d.ts +1 -13
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/jsx-runtime.d.ts +1 -1
- package/package.json +8 -12
- package/src/activeElement.ts +1 -1
- package/src/core/animation.ts +185 -0
- package/src/core/config.ts +77 -0
- package/src/core/domRenderer.ts +1308 -0
- package/src/core/elementNode.ts +1449 -0
- package/src/core/flex.ts +284 -0
- package/src/core/focusKeyTypes.ts +87 -0
- package/src/core/focusManager.ts +369 -0
- package/src/core/index.ts +13 -0
- package/src/core/intrinsicTypes.ts +199 -0
- package/src/core/lightningInit.ts +147 -0
- package/src/core/nodeTypes.ts +6 -0
- package/src/core/shaders.ts +567 -0
- package/src/core/states.ts +91 -0
- package/src/core/utils.ts +222 -0
- package/src/devtools/index.ts +1 -1
- package/src/index.ts +3 -3
- package/src/primitives/FPSCounter.tsx +15 -1
- package/src/primitives/Lazy.tsx +8 -2
- package/src/primitives/Row.tsx +3 -3
- package/src/primitives/Virtual.tsx +2 -2
- package/src/primitives/VirtualGrid.tsx +26 -5
- package/src/primitives/index.ts +1 -1
- package/src/primitives/types.ts +2 -2
- package/src/primitives/useFocusManager.ts +3 -3
- package/src/primitives/useMouse.ts +48 -26
- package/src/primitives/utils/createSpriteMap.ts +3 -3
- package/src/primitives/utils/handleNavigation.ts +6 -13
- package/src/primitives/utils/withScrolling.ts +47 -5
- package/src/render.ts +1 -1
- package/src/solidOpts.ts +1 -9
- package/src/types.ts +1 -15
- package/src/utils.ts +1 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as lng from '@lightningjs/renderer';
|
|
2
|
+
import { DOMRendererMain } from './domRenderer.js';
|
|
3
|
+
import { DOM_RENDERING } from './config.js';
|
|
4
|
+
import {
|
|
5
|
+
ShaderBorderPrefixedProps,
|
|
6
|
+
ShaderHolePunchProps,
|
|
7
|
+
ShaderLinearGradientProps,
|
|
8
|
+
ShaderRadialGradientProps,
|
|
9
|
+
ShaderRoundedProps,
|
|
10
|
+
ShaderShadowPrefixedProps,
|
|
11
|
+
} from './shaders.js';
|
|
12
|
+
|
|
13
|
+
export type SdfFontType = 'ssdf' | 'msdf';
|
|
14
|
+
|
|
15
|
+
/** Based on {@link lng.CoreRenderer} */
|
|
16
|
+
export interface IRendererCoreRenderer {
|
|
17
|
+
mode: 'canvas' | 'webgl' | undefined;
|
|
18
|
+
}
|
|
19
|
+
/** Based on {@link lng.TrFontManager} */
|
|
20
|
+
export interface IRendererFontManager {
|
|
21
|
+
addFontFace: (...a: any[]) => void;
|
|
22
|
+
}
|
|
23
|
+
/** Based on {@link lng.Stage} */
|
|
24
|
+
export interface IRendererStage {
|
|
25
|
+
root: IRendererNode;
|
|
26
|
+
renderer: IRendererCoreRenderer;
|
|
27
|
+
shManager: IRendererShaderManager;
|
|
28
|
+
animationManager: {
|
|
29
|
+
registerAnimation: (anim: any) => void;
|
|
30
|
+
unregisterAnimation: (anim: any) => void;
|
|
31
|
+
};
|
|
32
|
+
loadFont(kind: string, props: any): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Based on {@link lng.CoreShaderManager} */
|
|
36
|
+
export interface IRendererShaderManager {
|
|
37
|
+
registerShaderType: (name: string, shader: any) => void;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Based on {@link lng.CoreShaderNode} */
|
|
41
|
+
export interface IRendererShader {
|
|
42
|
+
shaderType: IRendererShaderType;
|
|
43
|
+
props?: IRendererShaderProps;
|
|
44
|
+
program?: {};
|
|
45
|
+
}
|
|
46
|
+
/** Based on {@link lng.CoreShaderType} */
|
|
47
|
+
export interface IRendererShaderType {}
|
|
48
|
+
export type IRendererShaderProps = Partial<ShaderBorderPrefixedProps> &
|
|
49
|
+
Partial<ShaderShadowPrefixedProps> &
|
|
50
|
+
Partial<ShaderRoundedProps> &
|
|
51
|
+
Partial<ShaderHolePunchProps> &
|
|
52
|
+
Partial<ShaderRadialGradientProps> &
|
|
53
|
+
Partial<ShaderLinearGradientProps>;
|
|
54
|
+
|
|
55
|
+
/** Based on {@link lng.Texture} */
|
|
56
|
+
export interface IRendererTexture {
|
|
57
|
+
props: IRendererTextureProps;
|
|
58
|
+
type: lng.TextureType;
|
|
59
|
+
}
|
|
60
|
+
export interface IRendererTextureProps {}
|
|
61
|
+
|
|
62
|
+
export interface IEventEmitter {
|
|
63
|
+
on: (e: string, cb: (...a: any[]) => void) => void;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface IRendererNodeShaded extends IEventEmitter {
|
|
67
|
+
stage: IRendererStage;
|
|
68
|
+
id: number;
|
|
69
|
+
animate: (
|
|
70
|
+
props: Partial<lng.INodeAnimateProps<any>>,
|
|
71
|
+
settings: Partial<lng.AnimationSettings>,
|
|
72
|
+
) => lng.IAnimationController;
|
|
73
|
+
get absX(): number;
|
|
74
|
+
get absY(): number;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Based on {@link lng.INodeProps} */
|
|
78
|
+
export interface IRendererNodeProps
|
|
79
|
+
extends Omit<lng.INodeProps<lng.CoreShaderNode>, 'shader' | 'parent'> {
|
|
80
|
+
shader: IRendererShader | null;
|
|
81
|
+
parent: IRendererNode | null;
|
|
82
|
+
}
|
|
83
|
+
/** Based on {@link lng.INode} */
|
|
84
|
+
export interface IRendererNode extends IRendererNodeShaded, IRendererNodeProps {
|
|
85
|
+
div?: HTMLElement;
|
|
86
|
+
props: IRendererNodeProps;
|
|
87
|
+
renderState: lng.CoreNodeRenderState;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** Based on {@link lng.ITextNodeProps} */
|
|
91
|
+
export interface IRendererTextNodeProps
|
|
92
|
+
extends Omit<lng.ITextNodeProps, 'shader' | 'parent'> {
|
|
93
|
+
shader: IRendererShader | null;
|
|
94
|
+
parent: IRendererNode | null;
|
|
95
|
+
fontWeight?: string;
|
|
96
|
+
}
|
|
97
|
+
/** Based on {@link lng.ITextNode} */
|
|
98
|
+
export interface IRendererTextNode
|
|
99
|
+
extends IRendererNodeShaded,
|
|
100
|
+
IRendererTextNodeProps {
|
|
101
|
+
div?: HTMLElement;
|
|
102
|
+
props: IRendererTextNodeProps;
|
|
103
|
+
renderState: lng.CoreNodeRenderState;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/** Based on {@link lng.RendererMain} */
|
|
107
|
+
export interface IRendererMain extends IEventEmitter {
|
|
108
|
+
stage: IRendererStage;
|
|
109
|
+
root: IRendererNode;
|
|
110
|
+
createTextNode(props: Partial<IRendererTextNodeProps>): IRendererTextNode;
|
|
111
|
+
createNode(props: Partial<IRendererNodeProps>): IRendererNode;
|
|
112
|
+
createShader(kind: string, props: IRendererShaderProps): IRendererShader;
|
|
113
|
+
createTexture(
|
|
114
|
+
kind: keyof lng.TextureMap,
|
|
115
|
+
props: IRendererTextureProps,
|
|
116
|
+
): IRendererTexture;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export let renderer: IRendererMain;
|
|
120
|
+
|
|
121
|
+
export const getRenderer = () => renderer;
|
|
122
|
+
|
|
123
|
+
export function startLightningRenderer(
|
|
124
|
+
options: lng.RendererMainSettings,
|
|
125
|
+
rootId: string | HTMLElement = 'app',
|
|
126
|
+
) {
|
|
127
|
+
renderer = DOM_RENDERING
|
|
128
|
+
? new DOMRendererMain(options, rootId)
|
|
129
|
+
: (new lng.RendererMain(options, rootId) as any as IRendererMain);
|
|
130
|
+
return renderer;
|
|
131
|
+
}
|
|
132
|
+
export function loadFonts(fonts: any[]) {
|
|
133
|
+
for (const font of fonts) {
|
|
134
|
+
// WebGL — SDF
|
|
135
|
+
if (
|
|
136
|
+
renderer.stage.renderer.mode === 'webgl' &&
|
|
137
|
+
'type' in font &&
|
|
138
|
+
(font.type === 'msdf' || font.type === 'ssdf')
|
|
139
|
+
) {
|
|
140
|
+
renderer.stage.loadFont('sdf', font);
|
|
141
|
+
}
|
|
142
|
+
// Canvas — Web
|
|
143
|
+
else if ('fontUrl' in font && renderer.stage.renderer.mode !== 'webgl') {
|
|
144
|
+
renderer.stage.loadFont('canvas', font);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|