@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/core.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { getOwner, createComponent, createRoot as root, createRenderEffect as effect, createMemo as memo, sharedConfig, untrack, mergeProps } from "solid-js";
|
package/dist/src/core.js
DELETED
package/dist/src/core.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EACL,QAAQ,EACR,eAAe,EACf,UAAU,IAAI,IAAI,EAClB,kBAAkB,IAAI,MAAM,EAC5B,UAAU,IAAI,IAAI,EAClB,YAAY,EACZ,OAAO,EACP,UAAU,EACX,MAAM,UAAU,CAAC"}
|
package/dist/src/jsx-runtime.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../../src/jsx-runtime.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type JSX } from 'solid-js';
|
|
2
|
-
import { type NodeProps } from '@lightningtv/solid';
|
|
3
|
-
type InfiniteProps<T extends readonly any[]> = Omit<NodeProps, 'children'> & {
|
|
4
|
-
each: T | undefined | null | false;
|
|
5
|
-
fallback?: JSX.Element;
|
|
6
|
-
upCount: number;
|
|
7
|
-
delay?: number;
|
|
8
|
-
sync?: boolean;
|
|
9
|
-
eagerLoad?: boolean;
|
|
10
|
-
selected?: number;
|
|
11
|
-
children: (item: T[number], index: number) => JSX.Element;
|
|
12
|
-
};
|
|
13
|
-
export declare function InfiniteRow<T extends readonly any[]>(props: InfiniteProps<T>): JSX.Element;
|
|
14
|
-
export declare function InfiniteColumn<T extends readonly any[]>(props: InfiniteProps<T>): JSX.Element;
|
|
15
|
-
export {};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { createEffect, createMemo, createSignal, Show, untrack, } from 'solid-js';
|
|
2
|
-
import { Dynamic, scheduleTask } from '@lightningtv/solid';
|
|
3
|
-
import { Row, Column } from '@lightningtv/solid/primitives';
|
|
4
|
-
import { List } from '@solid-primitives/list';
|
|
5
|
-
function createInfinite(component, props) {
|
|
6
|
-
// Need at least one item so it can be focused
|
|
7
|
-
const [offset, setOffset] = createSignal(1);
|
|
8
|
-
let timeoutId = null;
|
|
9
|
-
createEffect(() => setOffset(props.selected || 1));
|
|
10
|
-
if (props.sync) {
|
|
11
|
-
setOffset(props.upCount);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
createEffect(() => {
|
|
15
|
-
if (props.each) {
|
|
16
|
-
let count = untrack(offset);
|
|
17
|
-
const loadItems = () => {
|
|
18
|
-
if (count < props.upCount) {
|
|
19
|
-
setOffset(count + 1);
|
|
20
|
-
timeoutId = setTimeout(loadItems, 16); // ~60fps
|
|
21
|
-
count++;
|
|
22
|
-
}
|
|
23
|
-
else if (props.eagerLoad) {
|
|
24
|
-
const maxOffset = props.each ? props.each.length : 0;
|
|
25
|
-
if (offset() > maxOffset)
|
|
26
|
-
return;
|
|
27
|
-
setOffset((prev) => Math.min(prev + 1, maxOffset));
|
|
28
|
-
scheduleTask(loadItems);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
loadItems();
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
const items = createMemo(() => (Array.isArray(props.each) ? props.each.slice(0, offset()) : []));
|
|
36
|
-
const updateOffset = () => {
|
|
37
|
-
const maxOffset = props.each ? props.each.length : 0;
|
|
38
|
-
if (offset() > maxOffset)
|
|
39
|
-
return;
|
|
40
|
-
if (timeoutId)
|
|
41
|
-
clearTimeout(timeoutId);
|
|
42
|
-
timeoutId = setTimeout(() => {
|
|
43
|
-
setOffset((prev) => Math.min(prev + 1, maxOffset));
|
|
44
|
-
timeoutId = null;
|
|
45
|
-
}, props.delay ?? 0);
|
|
46
|
-
};
|
|
47
|
-
return (<Show when={items()} fallback={props.fallback}>
|
|
48
|
-
<Dynamic component={component} {...props} display="block" onSelectedChanged={updateOffset}>
|
|
49
|
-
<List each={items()} children={props.children}/>
|
|
50
|
-
</Dynamic>
|
|
51
|
-
</Show>);
|
|
52
|
-
}
|
|
53
|
-
export function InfiniteRow(props) {
|
|
54
|
-
return createInfinite(Row, props);
|
|
55
|
-
}
|
|
56
|
-
export function InfiniteColumn(props) {
|
|
57
|
-
return createInfinite(Column, props);
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=Infinite.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Infinite.jsx","sourceRoot":"","sources":["../../../src/primitives/Infinite.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type JSX, type ValidComponent } from 'solid-js';
|
|
2
|
-
import { type ElementNode } from '@lightningtv/solid';
|
|
3
|
-
export declare function LazyUp<T extends readonly any[], U extends JSX.Element>(props: T & ElementNode & {
|
|
4
|
-
each: T | undefined | null | false;
|
|
5
|
-
fallback?: JSX.Element;
|
|
6
|
-
container?: JSX.Element;
|
|
7
|
-
component?: ValidComponent;
|
|
8
|
-
direction?: 'row' | 'column';
|
|
9
|
-
upCount: number;
|
|
10
|
-
children: (item: T[number], index: number) => U;
|
|
11
|
-
}): JSX.Element;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Index, createEffect, createMemo, createSignal, splitProps, Show, } from 'solid-js';
|
|
2
|
-
import { Dynamic } from '@lightningtv/solid';
|
|
3
|
-
export function LazyUp(props) {
|
|
4
|
-
const [p, others] = splitProps(props, [
|
|
5
|
-
'component',
|
|
6
|
-
'each',
|
|
7
|
-
'fallback',
|
|
8
|
-
'children',
|
|
9
|
-
]);
|
|
10
|
-
const [offset, setOffset] = createSignal(0);
|
|
11
|
-
createEffect(() => {
|
|
12
|
-
setOffset(props.selected || 0);
|
|
13
|
-
});
|
|
14
|
-
const items = createMemo(() => {
|
|
15
|
-
if (p.each) {
|
|
16
|
-
return p.each.slice(0, props.upCount + offset());
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
console.log('LazyUp is deprecated. Please use LazyRow or LazyColumn instead.');
|
|
20
|
-
const isRow = createMemo(() => {
|
|
21
|
-
return (others.direction !== undefined && others.direction === 'row' ||
|
|
22
|
-
others.style?.flexDirection === 'row' ||
|
|
23
|
-
others.flexDirection === 'row');
|
|
24
|
-
});
|
|
25
|
-
const keyHandlers = createMemo(() => {
|
|
26
|
-
const updateOffset = () => {
|
|
27
|
-
setOffset((prev) => p.each && Math.min(prev + 1, p.each.length - props.upCount));
|
|
28
|
-
};
|
|
29
|
-
return isRow() ? { onRight: updateOffset } : { onDown: updateOffset };
|
|
30
|
-
});
|
|
31
|
-
return (<Show when={items()}>
|
|
32
|
-
{/* @ts-ignore */}
|
|
33
|
-
<Dynamic component={p.component} {...others} {...keyHandlers()}>
|
|
34
|
-
<Index each={items()} fallback={p.fallback} children={p.children}/>
|
|
35
|
-
</Dynamic>
|
|
36
|
-
</Show>);
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=LazyUp.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LazyUp.jsx","sourceRoot":"","sources":["../../../src/primitives/LazyUp.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,IAAI,GAGL,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAoB,MAAM,oBAAoB,CAAC;AAE/D,MAAM,UAAU,MAAM,CACpB,KASG;IAEH,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE;QACpC,WAAW;QACX,MAAM;QACN,UAAU;QACV,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAE5C,YAAY,CAAC,GAAG,EAAE;QAChB,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAE/E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,OAAO,CACL,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK;YAC5D,MAAM,CAAC,KAAK,EAAE,aAAa,KAAK,KAAK;YACrC,MAAM,CAAC,aAAa,KAAK,KAAK,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;QAClC,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,SAAS,CACP,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CACtE,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAClB;MAAA,CAAC,gBAAgB,CACjB;MAAA,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAC7D;QAAA,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EACnE;MAAA,EAAE,OAAO,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as s from 'solid-js';
|
|
2
|
-
import * as lng from '@lightningtv/solid';
|
|
3
|
-
import * as lngp from '@lightningtv/solid/primitives';
|
|
4
|
-
export type VirtualListProps<T> = lng.NewOmit<lngp.RowProps, 'children'> & {
|
|
5
|
-
each: readonly T[] | undefined | null | false;
|
|
6
|
-
displaySize: number;
|
|
7
|
-
bufferSize?: number;
|
|
8
|
-
fallback?: s.JSX.Element;
|
|
9
|
-
children: (item: s.Accessor<T>, index: s.Accessor<number>) => s.JSX.Element;
|
|
10
|
-
};
|
|
11
|
-
export declare function VirtualList<T>(props: VirtualListProps<T>): s.JSX.Element;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import * as s from 'solid-js';
|
|
2
|
-
import * as lng from '@lightningtv/solid';
|
|
3
|
-
import * as lngp from '@lightningtv/solid/primitives';
|
|
4
|
-
import { List } from '@solid-primitives/list';
|
|
5
|
-
import * as utils from '../utils.js';
|
|
6
|
-
const rowOnLeft = lngp.handleNavigation('left');
|
|
7
|
-
const rowOnRight = lngp.handleNavigation('right');
|
|
8
|
-
const rowScroll = lngp.withScrolling(true);
|
|
9
|
-
const rowStyles = {
|
|
10
|
-
display: 'flex',
|
|
11
|
-
gap: 30,
|
|
12
|
-
transition: {
|
|
13
|
-
x: {
|
|
14
|
-
duration: 250,
|
|
15
|
-
easing: 'ease-out',
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
function scrollToIndex(index) {
|
|
20
|
-
this.selected = index;
|
|
21
|
-
rowScroll(index, this);
|
|
22
|
-
this.setFocus();
|
|
23
|
-
}
|
|
24
|
-
export function VirtualList(props) {
|
|
25
|
-
const [cursor, setCursor] = s.createSignal(props.selected ?? 0);
|
|
26
|
-
const bufferSize = () => props.bufferSize ?? 2;
|
|
27
|
-
const items = s.createMemo(() => props.each || []);
|
|
28
|
-
const start = () => utils.clamp(cursor() - bufferSize(), 0, Math.max(0, items().length - props.displaySize - bufferSize()));
|
|
29
|
-
const end = () => Math.min(items().length, cursor() + props.displaySize + bufferSize());
|
|
30
|
-
const [slice, setSlice] = s.createSignal(items().slice(start(), end()));
|
|
31
|
-
s.createEffect(s.on([() => props.selected, items], ([selected]) => {
|
|
32
|
-
if (!viewRef || !selected)
|
|
33
|
-
return;
|
|
34
|
-
const item = items()[selected];
|
|
35
|
-
let active = viewRef.children.find(x => x.item === item);
|
|
36
|
-
const lastSelected = viewRef.selected;
|
|
37
|
-
if (active instanceof lng.ElementNode) {
|
|
38
|
-
viewRef.selected = viewRef.children.indexOf(active);
|
|
39
|
-
chainedOnSelectedChanged.call(viewRef, viewRef.selected, viewRef, active, lastSelected);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
setCursor(selected);
|
|
43
|
-
setSlice(items().slice(start(), end()));
|
|
44
|
-
queueMicrotask(() => {
|
|
45
|
-
viewRef.updateLayout();
|
|
46
|
-
active = viewRef.children.find(x => x.item === item);
|
|
47
|
-
if (active instanceof lng.ElementNode) {
|
|
48
|
-
viewRef.selected = viewRef.children.indexOf(active);
|
|
49
|
-
chainedOnSelectedChanged.call(viewRef, viewRef.selected, viewRef, active, lastSelected);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}));
|
|
54
|
-
s.createEffect(s.on(items, () => {
|
|
55
|
-
if (!viewRef)
|
|
56
|
-
return;
|
|
57
|
-
setSlice(items().slice(start(), end()));
|
|
58
|
-
}, { defer: true }));
|
|
59
|
-
const onSelectedChanged = function (_idx, elm, active, _lastIdx) {
|
|
60
|
-
let idx = _idx;
|
|
61
|
-
let lastIdx = _lastIdx;
|
|
62
|
-
if (idx === lastIdx)
|
|
63
|
-
return;
|
|
64
|
-
const prevChildX = this.x + active.x;
|
|
65
|
-
const prevStart = start();
|
|
66
|
-
// Update the displayed slice of items
|
|
67
|
-
setCursor(prevStart + idx);
|
|
68
|
-
setSlice(items().slice(start(), end()));
|
|
69
|
-
// this.selected is relative to the slice
|
|
70
|
-
// and it doesn't get corrected automatically after children change
|
|
71
|
-
const idxCorrection = prevStart - start();
|
|
72
|
-
if (lastIdx)
|
|
73
|
-
lastIdx += idxCorrection;
|
|
74
|
-
idx += idxCorrection;
|
|
75
|
-
this.selected += idxCorrection;
|
|
76
|
-
// Microtask & this.updateLayout() to make sure the child position is recalculated
|
|
77
|
-
queueMicrotask(() => {
|
|
78
|
-
this.updateLayout();
|
|
79
|
-
// Correct this.x for changes to children, bypass animation
|
|
80
|
-
this.lng.x = prevChildX - active.x;
|
|
81
|
-
// smoothly scroll to new selected element
|
|
82
|
-
rowScroll(idx, elm, active, lastIdx);
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
const chainedOnSelectedChanged = lngp.chainFunctions(props.onSelectedChanged, onSelectedChanged);
|
|
86
|
-
let viewRef;
|
|
87
|
-
return <>
|
|
88
|
-
<view {...props} scroll='always' // only supporting always scroll at the moment
|
|
89
|
-
ref={lngp.chainRefs(el => { viewRef = el; }, props.ref)} selected={props.selected || 0} cursor={cursor()} onLeft={/* @once */lngp.chainFunctions(props.onLeft, rowOnLeft)} onRight={/* @once */lngp.chainFunctions(props.onRight, rowOnRight)} forwardFocus={/* @once */lngp.navigableForwardFocus} scrollToIndex={scrollToIndex} onCreate={/* @once */props.selected ? lngp.chainFunctions(props.onCreate, rowScroll) : props.onCreate}
|
|
90
|
-
/* lngp.NavigableElement.onSelectedChanged is used by lngp.handleNavigation */
|
|
91
|
-
onSelectedChanged={chainedOnSelectedChanged} style={/* @once */lng.combineStyles(props.style, rowStyles)}>
|
|
92
|
-
<List each={slice()}>{props.children}</List>
|
|
93
|
-
</view>
|
|
94
|
-
</>;
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=VirtualList.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualList.jsx","sourceRoot":"","sources":["../../../src/primitives/VirtualList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as s from 'solid-js';
|
|
2
|
-
import * as lng from '@lightningtv/solid';
|
|
3
|
-
import * as lngp from '@lightningtv/solid/primitives';
|
|
4
|
-
export type VirtualRowProps<T> = lng.NewOmit<lngp.RowProps, 'children'> & {
|
|
5
|
-
each: readonly T[] | undefined | null | false;
|
|
6
|
-
displaySize: number;
|
|
7
|
-
bufferSize?: number;
|
|
8
|
-
onEndReached?: () => void;
|
|
9
|
-
onEndReachedThreshold?: number;
|
|
10
|
-
fallback?: s.JSX.Element;
|
|
11
|
-
children: (item: s.Accessor<T>, index: s.Accessor<number>) => s.JSX.Element;
|
|
12
|
-
};
|
|
13
|
-
export declare function VirtualRow<T>(props: VirtualRowProps<T>): s.JSX.Element;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import * as s from 'solid-js';
|
|
2
|
-
import * as lng from '@lightningtv/solid';
|
|
3
|
-
import * as lngp from '@lightningtv/solid/primitives';
|
|
4
|
-
import { List } from '@solid-primitives/list';
|
|
5
|
-
import * as utils from '../utils.js';
|
|
6
|
-
const rowOnLeft = lngp.handleNavigation('left');
|
|
7
|
-
const rowOnRight = lngp.handleNavigation('right');
|
|
8
|
-
const rowScroll = lngp.withScrolling(true);
|
|
9
|
-
const rowStyles = {
|
|
10
|
-
display: 'flex',
|
|
11
|
-
gap: 30,
|
|
12
|
-
transition: {
|
|
13
|
-
x: {
|
|
14
|
-
duration: 250,
|
|
15
|
-
easing: 'ease-out',
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
function scrollToIndex(index) {
|
|
20
|
-
this.selected = index;
|
|
21
|
-
rowScroll(index, this);
|
|
22
|
-
this.setFocus();
|
|
23
|
-
}
|
|
24
|
-
export function VirtualRow(props) {
|
|
25
|
-
const [cursor, setCursor] = s.createSignal(props.selected ?? 0);
|
|
26
|
-
const bufferSize = () => props.bufferSize ?? 2;
|
|
27
|
-
const items = s.createMemo(() => props.each || []);
|
|
28
|
-
const start = () => utils.clamp(cursor() - bufferSize(), 0, Math.max(0, items().length - props.displaySize - bufferSize()));
|
|
29
|
-
const end = () => Math.min(items().length, cursor() + props.displaySize + bufferSize());
|
|
30
|
-
const [slice, setSlice] = s.createSignal(items().slice(start(), end()));
|
|
31
|
-
s.createEffect(s.on([() => props.selected, items], ([selected]) => {
|
|
32
|
-
if (!viewRef || !selected)
|
|
33
|
-
return;
|
|
34
|
-
const item = items()[selected];
|
|
35
|
-
let active = viewRef.children.find(x => x.item === item);
|
|
36
|
-
const lastSelected = viewRef.selected;
|
|
37
|
-
if (active instanceof lng.ElementNode) {
|
|
38
|
-
viewRef.selected = viewRef.children.indexOf(active);
|
|
39
|
-
chainedOnSelectedChanged.call(viewRef, viewRef.selected, viewRef, active, lastSelected);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
setCursor(selected);
|
|
43
|
-
setSlice(items().slice(start(), end()));
|
|
44
|
-
queueMicrotask(() => {
|
|
45
|
-
viewRef.updateLayout();
|
|
46
|
-
active = viewRef.children.find(x => x.item === item);
|
|
47
|
-
if (active instanceof lng.ElementNode) {
|
|
48
|
-
viewRef.selected = viewRef.children.indexOf(active);
|
|
49
|
-
chainedOnSelectedChanged.call(viewRef, viewRef.selected, viewRef, active, lastSelected);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}));
|
|
54
|
-
s.createEffect(s.on(items, () => {
|
|
55
|
-
if (!viewRef)
|
|
56
|
-
return;
|
|
57
|
-
setSlice(items().slice(start(), end()));
|
|
58
|
-
}, { defer: true }));
|
|
59
|
-
const onSelectedChanged = function (_idx, elm, active, _lastIdx) {
|
|
60
|
-
let idx = _idx;
|
|
61
|
-
let lastIdx = _lastIdx;
|
|
62
|
-
if (idx === lastIdx)
|
|
63
|
-
return;
|
|
64
|
-
const prevChildX = this.x + active.x;
|
|
65
|
-
const prevStart = start();
|
|
66
|
-
// Update the displayed slice of items
|
|
67
|
-
setCursor(prevStart + idx);
|
|
68
|
-
setSlice(items().slice(start(), end()));
|
|
69
|
-
// this.selected is relative to the slice
|
|
70
|
-
// and it doesn't get corrected automatically after children change
|
|
71
|
-
const idxCorrection = prevStart - start();
|
|
72
|
-
if (lastIdx)
|
|
73
|
-
lastIdx += idxCorrection;
|
|
74
|
-
idx += idxCorrection;
|
|
75
|
-
this.selected += idxCorrection;
|
|
76
|
-
if (props.onEndReachedThreshold !== undefined && cursor() >= items().length - props.onEndReachedThreshold) {
|
|
77
|
-
props.onEndReached?.();
|
|
78
|
-
}
|
|
79
|
-
// Microtask & this.updateLayout() to make sure the child position is recalculated
|
|
80
|
-
queueMicrotask(() => {
|
|
81
|
-
this.updateLayout();
|
|
82
|
-
// Correct this.x for changes to children, bypass animation
|
|
83
|
-
this.lng.x = prevChildX - active.x;
|
|
84
|
-
// smoothly scroll to new selected element
|
|
85
|
-
rowScroll(idx, elm, active, lastIdx);
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
const chainedOnSelectedChanged = lngp.chainFunctions(props.onSelectedChanged, onSelectedChanged);
|
|
89
|
-
let viewRef;
|
|
90
|
-
return <view {...props} scroll='always' // only supporting always scroll at the moment
|
|
91
|
-
ref={lngp.chainRefs(el => { viewRef = el; }, props.ref)} selected={props.selected || 0} cursor={cursor()} onLeft={/* @once */lngp.chainFunctions(props.onLeft, rowOnLeft)} onRight={/* @once */lngp.chainFunctions(props.onRight, rowOnRight)} forwardFocus={/* @once */lngp.navigableForwardFocus} scrollToIndex={scrollToIndex} onCreate={/* @once */props.selected ? lngp.chainFunctions(props.onCreate, rowScroll) : props.onCreate}
|
|
92
|
-
/* lngp.NavigableElement.onSelectedChanged is used by lngp.handleNavigation */
|
|
93
|
-
onSelectedChanged={chainedOnSelectedChanged} style={/* @once */lng.combineStyles(props.style, rowStyles)}>
|
|
94
|
-
<List each={slice()}>{props.children}</List>
|
|
95
|
-
</view>;
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=VirtualRow.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualRow.jsx","sourceRoot":"","sources":["../../../src/primitives/VirtualRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type TextureMap } from '@lightningtv/core';
|
|
2
|
-
export interface SpriteDef {
|
|
3
|
-
name: string;
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
}
|
|
9
|
-
export declare function createSpriteMap(src: string, subTextures: SpriteDef[]): Record<string, InstanceType<TextureMap['SubTexture']>>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { renderer } from '@lightningtv/core';
|
|
2
|
-
export function createSpriteMap(src, subTextures) {
|
|
3
|
-
const spriteMapTexture = renderer.createTexture('ImageTexture', {
|
|
4
|
-
src,
|
|
5
|
-
});
|
|
6
|
-
return subTextures.reduce((acc, t) => {
|
|
7
|
-
const { x, y, width, height } = t;
|
|
8
|
-
acc[t.name] = renderer.createTexture('SubTexture', {
|
|
9
|
-
texture: spriteMapTexture,
|
|
10
|
-
x,
|
|
11
|
-
y,
|
|
12
|
-
width,
|
|
13
|
-
height,
|
|
14
|
-
});
|
|
15
|
-
return acc;
|
|
16
|
-
}, {});
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=sprite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../src/primitives/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAU9D,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,WAAwB;IAExB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE;QAC9D,GAAG;KACJ,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,MAAM,CAEvB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACX,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE;YACjD,OAAO,EAAE,gBAAgB;YACzB,CAAC;YACD,CAAC;YACD,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Focus Stack Utility
|
|
3
|
-
*
|
|
4
|
-
* This utility manages a stack of focused elements, allowing for easy restoration
|
|
5
|
-
* of the previous focus state when navigating through a UI.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* ```ts
|
|
9
|
-
* const { storeFocus, restoreFocus } = useFocusStack();
|
|
10
|
-
* storeFocus(element); // Store the currently focused element
|
|
11
|
-
* const success = restoreFocus(); // Restore the last stored focus and return success status
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* Functions:
|
|
15
|
-
* - `storeFocus(element: ElementNode, prevElement?: ElementNode)`: Stores the provided element in the focus stack.
|
|
16
|
-
* - `restoreFocus()`: Restores focus to the last stored element and removes it from the stack. Returns `true` if successful, `false` otherwise.
|
|
17
|
-
*/
|
|
18
|
-
import { JSX } from 'solid-js';
|
|
19
|
-
interface FocusStackProviderProps {
|
|
20
|
-
children: JSX.Element;
|
|
21
|
-
}
|
|
22
|
-
export declare function FocusStackProvider(props: FocusStackProviderProps): {};
|
|
23
|
-
export declare function useFocusStack(): FocusStackContextType;
|
|
24
|
-
export {};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Focus Stack Utility
|
|
3
|
-
*
|
|
4
|
-
* This utility manages a stack of focused elements, allowing for easy restoration
|
|
5
|
-
* of the previous focus state when navigating through a UI.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* ```ts
|
|
9
|
-
* const { storeFocus, restoreFocus } = useFocusStack();
|
|
10
|
-
* storeFocus(element); // Store the currently focused element
|
|
11
|
-
* const success = restoreFocus(); // Restore the last stored focus and return success status
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* Functions:
|
|
15
|
-
* - `storeFocus(element: ElementNode, prevElement?: ElementNode)`: Stores the provided element in the focus stack.
|
|
16
|
-
* - `restoreFocus()`: Restores focus to the last stored element and removes it from the stack. Returns `true` if successful, `false` otherwise.
|
|
17
|
-
*/
|
|
18
|
-
import { createSignal, createContext, useContext, untrack } from 'solid-js';
|
|
19
|
-
import { activeElement } from '@lightningtv/solid';
|
|
20
|
-
const FocusStackContext = createContext();
|
|
21
|
-
export function FocusStackProvider(props) {
|
|
22
|
-
const [_focusStack, setFocusStack] = createSignal([]);
|
|
23
|
-
function storeFocus(element, prevElement) {
|
|
24
|
-
if (element && untrack(activeElement) !== element) {
|
|
25
|
-
setFocusStack((stack) => [...stack, element]);
|
|
26
|
-
}
|
|
27
|
-
else if (prevElement) {
|
|
28
|
-
setFocusStack((stack) => [...stack, prevElement]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function restoreFocus() {
|
|
32
|
-
let wasFocused = false;
|
|
33
|
-
setFocusStack((stack) => {
|
|
34
|
-
const prevElement = stack.pop();
|
|
35
|
-
if (prevElement && typeof prevElement.setFocus === 'function') {
|
|
36
|
-
prevElement.setFocus();
|
|
37
|
-
wasFocused = true;
|
|
38
|
-
}
|
|
39
|
-
return [...stack];
|
|
40
|
-
});
|
|
41
|
-
return wasFocused;
|
|
42
|
-
}
|
|
43
|
-
return value = {};
|
|
44
|
-
{
|
|
45
|
-
storeFocus, restoreFocus;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
>
|
|
49
|
-
{ props, : .children }
|
|
50
|
-
< /FocusStackContext.Provider>;
|
|
51
|
-
;
|
|
52
|
-
export function useFocusStack() {
|
|
53
|
-
const context = useContext(FocusStackContext);
|
|
54
|
-
if (!context) {
|
|
55
|
-
throw new Error("useFocusStack must be used within a FocusStackProvider");
|
|
56
|
-
}
|
|
57
|
-
return context;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=createFocusStack.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createFocusStack.js","sourceRoot":"","sources":["../../../../src/primitives/utils/createFocusStack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAO,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,aAAa,EAAoB,MAAM,oBAAoB,CAAC;AAErE,MAAM,iBAAiB,GAAG,aAAa,EAGnC,CAAC;AAML,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,YAAY,CAAgB,EAAE,CAAC,CAAC;IAErE,SAAS,UAAU,CAAC,OAAoB,EAAE,WAAyB;QACjE,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,CAAC;YAClD,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,SAAS,YAAY;QACnB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YACtB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,WAAW,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC9D,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAC8B,KAAK,GAAC,EAAC,CAAA;IAAA,CAAC;QAAC,UAAU,EAAE,YAAY,CAAA;IAAC,CAAC;AAAA,CAAC;AAAA;IAC9D,EAAC,KAAK,EAAA,EAAA,CAAC,QAAQ,EAAC;MACjB,4BAA4B,CAAA;AAC9B,CAAC;AAGJ,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2024 Comcast Cable Communications Management, LLC
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
* you may not use this file except in compliance with the License.
|
|
5
|
-
* You may obtain a copy of the License at
|
|
6
|
-
*
|
|
7
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
*
|
|
9
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
* See the License for the specific language governing permissions and
|
|
13
|
-
* limitations under the License.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
16
|
-
*/
|
|
17
|
-
export function scrollToIndex(componentRef, selectedIndex) {
|
|
18
|
-
if (!componentRef ||
|
|
19
|
-
componentRef.selected === undefined ||
|
|
20
|
-
componentRef.children.length === 0 ||
|
|
21
|
-
componentRef.children.length <= selectedIndex ||
|
|
22
|
-
componentRef.selected === selectedIndex) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
componentRef.selected = selectedIndex;
|
|
26
|
-
if (componentRef.flexDirection === 'row') {
|
|
27
|
-
componentRef.x = -Number(componentRef.children[selectedIndex].x);
|
|
28
|
-
}
|
|
29
|
-
else if (componentRef.flexDirection === 'column') {
|
|
30
|
-
componentRef.y = -Number(componentRef.children[selectedIndex].y);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=scrollToIndex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scrollToIndex.js","sourceRoot":"","sources":["../../../../src/primitives/utils/scrollToIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,UAAU,aAAa,CAAC,YAAyB,EAAE,aAAqB;IAC5E,IACE,CAAC,YAAY;QACb,YAAY,CAAC,QAAQ,KAAK,SAAS;QACnC,YAAY,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAClC,YAAY,CAAC,QAAQ,CAAC,MAAM,IAAI,aAAa;QAC7C,YAAY,CAAC,QAAQ,KAAK,aAAa,EACvC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,QAAQ,GAAG,aAAa,CAAC;IAEtC,IAAI,YAAY,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QACzC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,YAAY,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACnD,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export * from 'solid-js/web';
|
|
2
|
-
import { type NodeProps, type TextProps, type RendererMain, type RendererMainSettings } from '@lightningtv/core';
|
|
3
|
-
import { type JSXElement, type ValidComponent } from 'solid-js';
|
|
4
|
-
export declare const rootNode: import("@lightningtv/core").ElementNode;
|
|
5
|
-
export declare function createRenderer(rendererOptions?: RendererMainSettings, node?: HTMLElement | string): {
|
|
6
|
-
renderer: RendererMain;
|
|
7
|
-
rootNode: import("@lightningtv/core").ElementNode;
|
|
8
|
-
render: (code: () => JSXElement) => () => void;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* renders an arbitrary custom or native component and passes the other props
|
|
12
|
-
* ```typescript
|
|
13
|
-
* <Dynamic component={multiline() ? 'textarea' : 'input'} value={value()} />
|
|
14
|
-
* ```
|
|
15
|
-
* @description https://www.solidjs.com/docs/latest/api#dynamic
|
|
16
|
-
*/
|
|
17
|
-
export declare function Dynamic<T>(props: T & {
|
|
18
|
-
component?: ValidComponent;
|
|
19
|
-
}): JSXElement;
|
|
20
|
-
export declare const View: (props: NodeProps) => JSXElement;
|
|
21
|
-
export declare const Text: (props: TextProps) => JSXElement;
|