@lightningtv/solid 3.0.0-25 → 3.0.0-27
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/jsx-runtime.d.ts +14 -0
- package/dist/src/core/config.d.ts +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/src/core/config.ts +2 -2
- package/dist/src/client.d.ts +0 -1
- package/dist/src/client.js +0 -2
- package/dist/src/client.js.map +0 -1
- package/dist/src/core/dom-renderer/domRenderer.d.ts +0 -137
- package/dist/src/core/dom-renderer/domRenderer.js +0 -1545
- package/dist/src/core/dom-renderer/domRenderer.js.map +0 -1
- package/dist/src/core/dom-renderer/domRendererTypes.d.ts +0 -117
- package/dist/src/core/dom-renderer/domRendererTypes.js +0 -2
- package/dist/src/core/dom-renderer/domRendererTypes.js.map +0 -1
- package/dist/src/core/dom-renderer/domRendererUtils.d.ts +0 -16
- package/dist/src/core/dom-renderer/domRendererUtils.js +0 -132
- package/dist/src/core/dom-renderer/domRendererUtils.js.map +0 -1
- package/dist/src/core/timings.d.ts +0 -36
- package/dist/src/core/timings.js +0 -199
- package/dist/src/core/timings.js.map +0 -1
- package/dist/src/core.d.ts +0 -1
- package/dist/src/core.js +0 -3
- package/dist/src/core.js.map +0 -1
- package/dist/src/jsx-runtime.d.ts +0 -10
- package/dist/src/jsx-runtime.js +0 -2
- package/dist/src/jsx-runtime.js.map +0 -1
- package/dist/src/primitives/Infinite.d.ts +0 -15
- package/dist/src/primitives/Infinite.jsx +0 -59
- package/dist/src/primitives/Infinite.jsx.map +0 -1
- package/dist/src/primitives/LazyUp.d.ts +0 -11
- package/dist/src/primitives/LazyUp.jsx +0 -38
- package/dist/src/primitives/LazyUp.jsx.map +0 -1
- package/dist/src/primitives/VirtualList.d.ts +0 -11
- package/dist/src/primitives/VirtualList.jsx +0 -96
- package/dist/src/primitives/VirtualList.jsx.map +0 -1
- package/dist/src/primitives/VirtualRow.d.ts +0 -13
- package/dist/src/primitives/VirtualRow.jsx +0 -97
- package/dist/src/primitives/VirtualRow.jsx.map +0 -1
- package/dist/src/primitives/sprite.d.ts +0 -9
- package/dist/src/primitives/sprite.js +0 -18
- package/dist/src/primitives/sprite.js.map +0 -1
- package/dist/src/primitives/utils/createFocusStack.d.ts +0 -24
- package/dist/src/primitives/utils/createFocusStack.js +0 -59
- package/dist/src/primitives/utils/createFocusStack.js.map +0 -1
- package/dist/src/primitives/utils/scrollToIndex.d.ts +0 -2
- package/dist/src/primitives/utils/scrollToIndex.js +0 -33
- package/dist/src/primitives/utils/scrollToIndex.js.map +0 -1
- package/dist/src/renderClient.d.ts +0 -21
- package/dist/src/renderClient.js +0 -64
- package/dist/src/renderClient.js.map +0 -1
- package/dist/src/shaders/LinearGradient.d.ts +0 -3
- package/dist/src/shaders/LinearGradient.js +0 -108
- package/dist/src/shaders/LinearGradient.js.map +0 -1
- package/dist/src/shaders/templates/LinearGradientTemplate.d.ts +0 -9
- package/dist/src/shaders/templates/LinearGradientTemplate.js +0 -23
- package/dist/src/shaders/templates/LinearGradientTemplate.js.map +0 -1
- package/dist/src/universal.d.ts +0 -25
- package/dist/src/universal.js +0 -232
- package/dist/src/universal.js.map +0 -1
package/dist/src/renderClient.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { render as solidRenderer, spread } from 'solid-js/web';
|
|
2
|
-
export * from 'solid-js/web';
|
|
3
|
-
import { Config, startLightningRenderer, } from '@lightningtv/core';
|
|
4
|
-
import nodeOpts from './solidOpts.js';
|
|
5
|
-
import { splitProps, createMemo, untrack, } from 'solid-js';
|
|
6
|
-
import { setActiveElement } from './activeElement.js';
|
|
7
|
-
let renderer;
|
|
8
|
-
export const rootNode = nodeOpts.createElement('App');
|
|
9
|
-
const render = function (code) {
|
|
10
|
-
// @ts-expect-error - code is jsx element and not SolidElement yet
|
|
11
|
-
return solidRenderer(code, rootNode);
|
|
12
|
-
};
|
|
13
|
-
export function createRenderer(rendererOptions, node) {
|
|
14
|
-
const options = rendererOptions || Config.rendererOptions;
|
|
15
|
-
renderer = startLightningRenderer(options, node || 'app');
|
|
16
|
-
//Prevent this from happening automatically
|
|
17
|
-
Config.setActiveElement = setActiveElement;
|
|
18
|
-
rootNode.lng = renderer.root;
|
|
19
|
-
rootNode.rendered = true;
|
|
20
|
-
return {
|
|
21
|
-
renderer,
|
|
22
|
-
rootNode,
|
|
23
|
-
render,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* renders an arbitrary custom or native component and passes the other props
|
|
28
|
-
* ```typescript
|
|
29
|
-
* <Dynamic component={multiline() ? 'textarea' : 'input'} value={value()} />
|
|
30
|
-
* ```
|
|
31
|
-
* @description https://www.solidjs.com/docs/latest/api#dynamic
|
|
32
|
-
*/
|
|
33
|
-
export function Dynamic(props) {
|
|
34
|
-
const [p, others] = splitProps(props, ['component']);
|
|
35
|
-
const cached = createMemo(() => p.component);
|
|
36
|
-
return createMemo(() => {
|
|
37
|
-
const component = cached();
|
|
38
|
-
switch (typeof component) {
|
|
39
|
-
case 'function':
|
|
40
|
-
return untrack(() => component(others));
|
|
41
|
-
case 'string': {
|
|
42
|
-
const el = nodeOpts.createElement(component);
|
|
43
|
-
spread(el, others);
|
|
44
|
-
return el;
|
|
45
|
-
}
|
|
46
|
-
default:
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
// Dont use JSX as it creates circular dependencies and causes trouble with the playground.
|
|
52
|
-
export const View = (props) => {
|
|
53
|
-
const el = nodeOpts.createElement('node');
|
|
54
|
-
el.nodeName = 'node';
|
|
55
|
-
spread(el, props, false);
|
|
56
|
-
return el;
|
|
57
|
-
};
|
|
58
|
-
export const Text = (props) => {
|
|
59
|
-
const el = nodeOpts.createElement('text');
|
|
60
|
-
el.nodeName = 'text';
|
|
61
|
-
spread(el, props, false);
|
|
62
|
-
return el;
|
|
63
|
-
};
|
|
64
|
-
//# sourceMappingURL=renderClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderClient.js","sourceRoot":"","sources":["../../src/renderClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,cAAc,CAAC;AAE7B,OAAO,EACL,MAAM,EAGN,sBAAsB,GAGvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,UAAU,EACV,UAAU,EACV,OAAO,GAGR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,IAAI,QAAsB,CAAC;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEtD,MAAM,MAAM,GAAG,UAAU,IAAsB;IAC7C,kEAAkE;IAClE,OAAO,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAC5B,eAAsC,EACtC,IAA2B;IAE3B,MAAM,OAAO,GACX,eAAe,IAAK,MAAM,CAAC,eAAwC,CAAC;IAEtE,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC;IAC1D,2CAA2C;IAC3C,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAK,CAAC;IAC9B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,KAEC;IAED,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE7C,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAC3B,QAAQ,OAAO,SAAS,EAAE,CAAC;YACzB,KAAK,UAAU;gBACb,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAE1C,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC7C,MAAM,CAAC,EAAwB,EAAE,MAAM,CAAC,CAAC;gBACzC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED;gBACE,MAAM;QACV,CAAC;IACH,CAAC,CAA0B,CAAC;AAC9B,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,EAAE;IACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,EAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,EAA2B,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,EAAE;IACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,EAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,EAA2B,CAAC;AACrC,CAAC,CAAC"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { getNormalizedRgbaComponents } from './utils.js';
|
|
2
|
-
import { LinearGradientTemplate, } from './templates/LinearGradientTemplate.js';
|
|
3
|
-
export const LinearGradient = {
|
|
4
|
-
props: LinearGradientTemplate.props,
|
|
5
|
-
update(node) {
|
|
6
|
-
const props = this.props;
|
|
7
|
-
const angle = props.angle - (Math.PI / 180) * 90;
|
|
8
|
-
this.uniform1fv('u_stops', new Float32Array(props.stops));
|
|
9
|
-
const colors = [];
|
|
10
|
-
for (let i = 0; i < props.colors.length; i++) {
|
|
11
|
-
const c = props.colors[i];
|
|
12
|
-
if (c !== undefined) {
|
|
13
|
-
const norm = getNormalizedRgbaComponents(c);
|
|
14
|
-
colors.push(norm[0], norm[1], norm[2], norm[3]);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
this.uniform4fv('u_colors', new Float32Array(colors));
|
|
18
|
-
const w = node.w;
|
|
19
|
-
const h = node.h;
|
|
20
|
-
const cosA = Math.cos(angle);
|
|
21
|
-
const sinA = Math.sin(angle);
|
|
22
|
-
// Calculate line distance (length of gradient line to cover the rectangle)
|
|
23
|
-
const lineDist = Math.abs(w * cosA) + Math.abs(h * sinA);
|
|
24
|
-
const cx = w * 0.5;
|
|
25
|
-
const cy = h * 0.5;
|
|
26
|
-
// Calculate Start Point (f)
|
|
27
|
-
// calcPoint(lineDist * 0.5, angle)
|
|
28
|
-
const fx = lineDist * 0.5 * cosA + cx;
|
|
29
|
-
const fy = lineDist * 0.5 * sinA + cy;
|
|
30
|
-
// Calculate End Point (t)
|
|
31
|
-
// calcPoint(lineDist * 0.5, angle + PI) => -cos, -sin
|
|
32
|
-
const tx = lineDist * 0.5 * -cosA + cx;
|
|
33
|
-
const ty = lineDist * 0.5 * -sinA + cy;
|
|
34
|
-
// Gradient Vector
|
|
35
|
-
const gx = tx - fx;
|
|
36
|
-
const gy = ty - fy;
|
|
37
|
-
// Magnitude Squared
|
|
38
|
-
const magSq = gx * gx + gy * gy;
|
|
39
|
-
this.uniform2f('u_gradStart', fx, fy);
|
|
40
|
-
this.uniform2f('u_gradVec', gx, gy);
|
|
41
|
-
this.uniform1f('u_magSq', magSq);
|
|
42
|
-
},
|
|
43
|
-
getCacheMarkers(props) {
|
|
44
|
-
return `colors:${props.colors.length}`;
|
|
45
|
-
},
|
|
46
|
-
fragment(renderer, props) {
|
|
47
|
-
return `
|
|
48
|
-
# ifdef GL_FRAGMENT_PRECISION_HIGH
|
|
49
|
-
precision highp float;
|
|
50
|
-
# else
|
|
51
|
-
precision mediump float;
|
|
52
|
-
# endif
|
|
53
|
-
|
|
54
|
-
#define MAX_STOPS ${props.colors.length}
|
|
55
|
-
#define LAST_STOP ${props.colors.length - 1}
|
|
56
|
-
|
|
57
|
-
uniform float u_alpha;
|
|
58
|
-
uniform vec2 u_dimensions;
|
|
59
|
-
|
|
60
|
-
uniform sampler2D u_texture;
|
|
61
|
-
|
|
62
|
-
// Pre-calculated Geometry
|
|
63
|
-
uniform vec2 u_gradStart;
|
|
64
|
-
uniform vec2 u_gradVec;
|
|
65
|
-
uniform float u_magSq;
|
|
66
|
-
|
|
67
|
-
uniform float u_stops[MAX_STOPS];
|
|
68
|
-
uniform vec4 u_colors[MAX_STOPS];
|
|
69
|
-
|
|
70
|
-
varying vec4 v_color;
|
|
71
|
-
varying vec2 v_textureCoords;
|
|
72
|
-
|
|
73
|
-
vec4 getGradientColor(float dist) {
|
|
74
|
-
dist = clamp(dist, 0.0, 1.0);
|
|
75
|
-
|
|
76
|
-
if(dist <= u_stops[0]) {
|
|
77
|
-
return u_colors[0];
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if(dist >= u_stops[LAST_STOP]) {
|
|
81
|
-
return u_colors[LAST_STOP];
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
for(int i = 0; i < LAST_STOP; i++) {
|
|
85
|
-
float left = u_stops[i];
|
|
86
|
-
float right = u_stops[i + 1];
|
|
87
|
-
if(dist >= left && dist <= right) {
|
|
88
|
-
float lDist = smoothstep(left, right, dist);
|
|
89
|
-
return mix(u_colors[i], u_colors[i + 1], lDist);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return u_colors[LAST_STOP];
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
void main() {
|
|
96
|
-
vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
|
|
97
|
-
|
|
98
|
-
vec2 pixelPos = v_textureCoords * u_dimensions;
|
|
99
|
-
float dist = dot(pixelPos - u_gradStart, u_gradVec) / u_magSq;
|
|
100
|
-
|
|
101
|
-
vec4 colorOut = getGradientColor(dist);
|
|
102
|
-
vec3 blendedRGB = mix(color.rgb, colorOut.rgb, clamp(colorOut.a, 0.0, 1.0));
|
|
103
|
-
gl_FragColor = vec4(blendedRGB, color.a);
|
|
104
|
-
}
|
|
105
|
-
`;
|
|
106
|
-
},
|
|
107
|
-
};
|
|
108
|
-
//# sourceMappingURL=LinearGradient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../src/shaders/LinearGradient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export const LinearGradientTemplate = {
|
|
2
|
-
props: {
|
|
3
|
-
angle: {
|
|
4
|
-
default: 0,
|
|
5
|
-
resolve(value) {
|
|
6
|
-
return value;
|
|
7
|
-
},
|
|
8
|
-
},
|
|
9
|
-
stops: {
|
|
10
|
-
default: [0, 1],
|
|
11
|
-
resolve(value) {
|
|
12
|
-
return value;
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
colors: {
|
|
16
|
-
default: [0xff0000ff, 0x00ff00ff],
|
|
17
|
-
resolve(value) {
|
|
18
|
-
return value;
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=LinearGradientTemplate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradientTemplate.js","sourceRoot":"","sources":["../../../../src/shaders/templates/LinearGradientTemplate.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE;QACL,KAAK,EAAE;YACL,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,KAAa;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACf,OAAO,CAAC,KAAe;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;YACjC,OAAO,CAAC,KAAe;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;SACF;KACkC;CACtC,CAAC"}
|
package/dist/src/universal.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type * as su from 'solid-js/universal/types/universal.js';
|
|
2
|
-
import * as lng from '@lightningtv/core';
|
|
3
|
-
import { SolidNode } from './types.js';
|
|
4
|
-
declare module '@lightningtv/core' {
|
|
5
|
-
interface ElementNode {
|
|
6
|
-
/** @internal for managing series of insertions and deletions */
|
|
7
|
-
_queueDelete?: number;
|
|
8
|
-
preserve?: boolean;
|
|
9
|
-
_childrenChunks?: NodeChildren[] | string[][];
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
type NodeChildren = (lng.ElementNode | lng.ElementText)[];
|
|
13
|
-
export declare const insert: su.Renderer<SolidNode>['insert'];
|
|
14
|
-
export declare const insertNode: su.Renderer<SolidNode>['insertNode'];
|
|
15
|
-
export declare const spread: su.Renderer<SolidNode>['spread'];
|
|
16
|
-
export declare const setProp: su.Renderer<SolidNode>['setProp'];
|
|
17
|
-
export declare const createElement: su.Renderer<SolidNode>['createElement'];
|
|
18
|
-
export declare const createTextNode: su.Renderer<SolidNode>['createTextNode'];
|
|
19
|
-
export declare const render: su.Renderer<SolidNode>['render'];
|
|
20
|
-
export declare const mergeProps: su.Renderer<SolidNode>['mergeProps'];
|
|
21
|
-
export declare const effect: su.Renderer<SolidNode>['effect'];
|
|
22
|
-
export declare const memo: su.Renderer<SolidNode>['memo'];
|
|
23
|
-
export declare const createComponent: su.Renderer<SolidNode>['createComponent'];
|
|
24
|
-
export declare const use: su.Renderer<SolidNode>['use'];
|
|
25
|
-
export {};
|
package/dist/src/universal.js
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import * as s from 'solid-js';
|
|
2
|
-
import * as lng from '@lightningtv/core';
|
|
3
|
-
Object.defineProperty(lng.ElementNode.prototype, 'preserve', {
|
|
4
|
-
get() {
|
|
5
|
-
return this._queueDelete === 0;
|
|
6
|
-
},
|
|
7
|
-
set(v) {
|
|
8
|
-
this._queueDelete = v ? 0 : undefined;
|
|
9
|
-
},
|
|
10
|
-
});
|
|
11
|
-
let elementDeleteQueue = [];
|
|
12
|
-
function flushDeleteQueue() {
|
|
13
|
-
for (let el of elementDeleteQueue) {
|
|
14
|
-
if (Number(el._queueDelete) < 0) {
|
|
15
|
-
el.destroy();
|
|
16
|
-
}
|
|
17
|
-
el._queueDelete = undefined;
|
|
18
|
-
}
|
|
19
|
-
elementDeleteQueue.length = 0;
|
|
20
|
-
}
|
|
21
|
-
function pushDeleteQueue(node, n) {
|
|
22
|
-
if (node._queueDelete === undefined) {
|
|
23
|
-
node._queueDelete = n;
|
|
24
|
-
if (elementDeleteQueue.push(node) === 1) {
|
|
25
|
-
queueMicrotask(flushDeleteQueue);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
node._queueDelete += n;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function resolveNodeJSXChildren(jsx, out = []) {
|
|
33
|
-
while (typeof jsx === 'function')
|
|
34
|
-
jsx = jsx();
|
|
35
|
-
if (Array.isArray(jsx)) {
|
|
36
|
-
for (let i = 0; i < jsx.length; i++) {
|
|
37
|
-
resolveNodeJSXChildren(jsx[i], out);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else if (jsx instanceof lng.ElementNode) {
|
|
41
|
-
out.push(jsx);
|
|
42
|
-
}
|
|
43
|
-
return out;
|
|
44
|
-
}
|
|
45
|
-
function resolveTextJSXChildren(jsx, out = []) {
|
|
46
|
-
while (typeof jsx === 'function')
|
|
47
|
-
jsx = jsx();
|
|
48
|
-
if (Array.isArray(jsx)) {
|
|
49
|
-
for (let i = 0; i < jsx.length; i++) {
|
|
50
|
-
resolveTextJSXChildren(jsx[i], out);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else if (typeof jsx === 'string' || typeof jsx === 'number') {
|
|
54
|
-
out.push(jsx.toString());
|
|
55
|
-
}
|
|
56
|
-
return out;
|
|
57
|
-
}
|
|
58
|
-
function commitChunks(el) {
|
|
59
|
-
if (lng.isElementText(el)) {
|
|
60
|
-
let text = '';
|
|
61
|
-
for (let chunk of el._childrenChunks) {
|
|
62
|
-
text += chunk.join('');
|
|
63
|
-
}
|
|
64
|
-
el.text = text;
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
el.children = el._childrenChunks.flat();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
function commitChild(parent, child) {
|
|
71
|
-
let prevParent = child.parent;
|
|
72
|
-
child.parent = parent;
|
|
73
|
-
if (parent.rendered)
|
|
74
|
-
child.render(true);
|
|
75
|
-
if (prevParent)
|
|
76
|
-
pushDeleteQueue(child, 1);
|
|
77
|
-
}
|
|
78
|
-
function insertChunk(el, before) {
|
|
79
|
-
let chunks = (el._childrenChunks ??= []);
|
|
80
|
-
let chunk = [];
|
|
81
|
-
if (before != null) {
|
|
82
|
-
for (let i = 0; i < chunks.length; i++) {
|
|
83
|
-
if (before === chunks[i][0]) {
|
|
84
|
-
chunks.splice(i, 0, chunk);
|
|
85
|
-
return chunk;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
chunks.push(chunk);
|
|
90
|
-
return chunk;
|
|
91
|
-
}
|
|
92
|
-
// Core renderer functions - adapted from solid-js/universal
|
|
93
|
-
export const insert = (parent, accessor, before) => {
|
|
94
|
-
/* <text> */
|
|
95
|
-
if (lng.isElementText(parent)) {
|
|
96
|
-
let chunk = insertChunk(parent, before);
|
|
97
|
-
/* dynamic chunk */
|
|
98
|
-
if (typeof accessor === 'function') {
|
|
99
|
-
s.createRenderEffect(() => {
|
|
100
|
-
chunk.length = 0;
|
|
101
|
-
resolveTextJSXChildren(accessor(), chunk);
|
|
102
|
-
commitChunks(parent);
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
/* constant chunk */
|
|
107
|
-
resolveTextJSXChildren(accessor, chunk);
|
|
108
|
-
commitChunks(parent);
|
|
109
|
-
}
|
|
110
|
-
return chunk[0] || '';
|
|
111
|
-
}
|
|
112
|
-
// <view>
|
|
113
|
-
else {
|
|
114
|
-
let el = parent;
|
|
115
|
-
let chunk = insertChunk(el, before);
|
|
116
|
-
/* dynamic chunk */
|
|
117
|
-
if (typeof accessor === 'function') {
|
|
118
|
-
s.createRenderEffect(() => {
|
|
119
|
-
let prev = chunk.slice();
|
|
120
|
-
for (let i = 0; i < prev.length; i++) {
|
|
121
|
-
prev[i].parent = undefined; // commitChild will set the parent again
|
|
122
|
-
}
|
|
123
|
-
chunk.length = 0;
|
|
124
|
-
resolveNodeJSXChildren(accessor(), chunk);
|
|
125
|
-
commitChunks(el);
|
|
126
|
-
for (let i = 0; i < chunk.length; i++) {
|
|
127
|
-
commitChild(el, chunk[i]);
|
|
128
|
-
}
|
|
129
|
-
/* Handle removed children */
|
|
130
|
-
for (let i = 0; i < prev.length; i++) {
|
|
131
|
-
let c = prev[i];
|
|
132
|
-
if (c.parent !== el) {
|
|
133
|
-
c.onRemove?.(c);
|
|
134
|
-
if (el.requiresLayout()) {
|
|
135
|
-
lng.addToLayoutQueue(el);
|
|
136
|
-
}
|
|
137
|
-
pushDeleteQueue(c, -1);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
/* constant chunk */
|
|
144
|
-
resolveNodeJSXChildren(accessor, chunk);
|
|
145
|
-
commitChunks(el);
|
|
146
|
-
for (let i = 0; i < chunk.length; i++) {
|
|
147
|
-
commitChild(el, chunk[i]);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return chunk[0];
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
export const insertNode = (parent, node, before) => {
|
|
154
|
-
// <text>
|
|
155
|
-
if (lng.isElementText(parent)) {
|
|
156
|
-
let chunk = insertChunk(parent, before);
|
|
157
|
-
resolveTextJSXChildren(node, chunk);
|
|
158
|
-
commitChunks(parent);
|
|
159
|
-
}
|
|
160
|
-
// <view>
|
|
161
|
-
else {
|
|
162
|
-
let el = parent;
|
|
163
|
-
let chunk = insertChunk(el, before);
|
|
164
|
-
chunk.push(node);
|
|
165
|
-
commitChunks(el);
|
|
166
|
-
commitChild(el, node);
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
export const spread = (node, accessor, skipChildren) => {
|
|
170
|
-
/* Ref */
|
|
171
|
-
if (typeof accessor === 'function') {
|
|
172
|
-
s.createRenderEffect(() => {
|
|
173
|
-
let { ref } = accessor();
|
|
174
|
-
if (ref)
|
|
175
|
-
ref(node);
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
else if (typeof accessor.ref === 'function') {
|
|
179
|
-
accessor.ref(node);
|
|
180
|
-
}
|
|
181
|
-
/* Children */
|
|
182
|
-
if (!skipChildren) {
|
|
183
|
-
if (typeof accessor === 'function') {
|
|
184
|
-
insert(node, () => accessor().children);
|
|
185
|
-
}
|
|
186
|
-
else if ('children' in accessor) {
|
|
187
|
-
insert(node, () => accessor.children);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
/* Rest */
|
|
191
|
-
let prevProps = {};
|
|
192
|
-
s.createRenderEffect(() => {
|
|
193
|
-
let props = typeof accessor === 'function' ? accessor() : accessor;
|
|
194
|
-
for (let prop in props) {
|
|
195
|
-
if (prop === 'children' || prop === 'ref')
|
|
196
|
-
continue;
|
|
197
|
-
let value = props[prop];
|
|
198
|
-
if (value === prevProps[prop])
|
|
199
|
-
continue;
|
|
200
|
-
node[prop] = value;
|
|
201
|
-
prevProps[prop] = value;
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
|
-
export const setProp = (node, name, value) => {
|
|
206
|
-
return (node[name] = value);
|
|
207
|
-
};
|
|
208
|
-
// Lightning TV specific renderer functions
|
|
209
|
-
export const createElement = (name) => {
|
|
210
|
-
return new lng.ElementNode(name);
|
|
211
|
-
};
|
|
212
|
-
export const createTextNode = (text) => {
|
|
213
|
-
// A text node is just a string - not the <text> node
|
|
214
|
-
// return { _type: lng.NodeType.Text, text };
|
|
215
|
-
return text;
|
|
216
|
-
};
|
|
217
|
-
export const render = (code, element) => {
|
|
218
|
-
let disposer;
|
|
219
|
-
s.createRoot((dispose) => {
|
|
220
|
-
disposer = dispose;
|
|
221
|
-
insert(element, code());
|
|
222
|
-
});
|
|
223
|
-
return disposer;
|
|
224
|
-
};
|
|
225
|
-
export const mergeProps = s.mergeProps;
|
|
226
|
-
export const effect = s.createRenderEffect;
|
|
227
|
-
export const memo = s.createMemo;
|
|
228
|
-
export const createComponent = s.createComponent;
|
|
229
|
-
export const use = (fn, element, arg) => {
|
|
230
|
-
return s.untrack(() => fn(element, arg));
|
|
231
|
-
};
|
|
232
|
-
//# sourceMappingURL=universal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/universal.ts"],"names":[],"mappings":"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"}
|