@lightningtv/solid 3.0.0-17 → 3.0.0-18
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/primitives/Column.jsx +8 -7
- package/dist/src/primitives/Column.jsx.map +1 -1
- package/dist/src/primitives/KeepAlive.d.ts +4 -3
- package/dist/src/primitives/KeepAlive.jsx +70 -9
- package/dist/src/primitives/KeepAlive.jsx.map +1 -1
- package/dist/src/primitives/Lazy.d.ts +6 -7
- package/dist/src/primitives/Lazy.jsx +23 -20
- package/dist/src/primitives/Lazy.jsx.map +1 -1
- package/dist/src/primitives/Row.jsx +8 -7
- package/dist/src/primitives/Row.jsx.map +1 -1
- package/dist/src/primitives/Virtual.d.ts +18 -0
- package/dist/src/primitives/Virtual.jsx +426 -0
- package/dist/src/primitives/Virtual.jsx.map +1 -0
- package/dist/src/primitives/VirtualGrid.d.ts +13 -0
- package/dist/src/primitives/VirtualGrid.jsx +139 -0
- package/dist/src/primitives/VirtualGrid.jsx.map +1 -0
- package/dist/src/primitives/VirtualList.d.ts +11 -0
- package/dist/src/primitives/VirtualList.jsx +96 -0
- package/dist/src/primitives/VirtualList.jsx.map +1 -0
- package/dist/src/primitives/VirtualRow.d.ts +13 -0
- package/dist/src/primitives/VirtualRow.jsx +97 -0
- package/dist/src/primitives/VirtualRow.jsx.map +1 -0
- package/dist/src/primitives/Visible.d.ts +0 -1
- package/dist/src/primitives/Visible.jsx +1 -1
- package/dist/src/primitives/Visible.jsx.map +1 -1
- package/dist/src/primitives/index.d.ts +4 -1
- package/dist/src/primitives/index.js +4 -1
- package/dist/src/primitives/index.js.map +1 -1
- package/dist/src/primitives/types.d.ts +1 -0
- package/dist/src/primitives/utils/handleNavigation.d.ts +0 -1
- package/dist/src/primitives/utils/handleNavigation.js +7 -5
- package/dist/src/primitives/utils/handleNavigation.js.map +1 -1
- package/dist/src/primitives/utils/withScrolling.d.ts +5 -1
- package/dist/src/primitives/utils/withScrolling.js +8 -3
- package/dist/src/primitives/utils/withScrolling.js.map +1 -1
- package/dist/src/render.d.ts +2 -1
- package/dist/src/render.js +4 -0
- package/dist/src/render.js.map +1 -1
- package/dist/src/universal.d.ts +25 -0
- package/dist/src/universal.js +232 -0
- package/dist/src/universal.js.map +1 -0
- package/dist/src/utils.d.ts +2 -0
- package/dist/src/utils.js +8 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/src/primitives/Column.tsx +10 -9
- package/src/primitives/Lazy.tsx +34 -38
- package/src/primitives/Row.tsx +11 -9
- package/src/primitives/Virtual.tsx +469 -0
- package/src/primitives/VirtualGrid.tsx +199 -0
- package/src/primitives/Visible.tsx +1 -2
- package/src/primitives/index.ts +8 -1
- package/src/primitives/types.ts +1 -0
- package/src/primitives/utils/handleNavigation.ts +8 -5
- package/src/primitives/utils/withScrolling.ts +20 -13
- package/src/render.ts +5 -0
- package/src/utils.ts +10 -0
|
@@ -0,0 +1,96 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualList.jsx","sourceRoot":"","sources":["../../../src/primitives/VirtualList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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;
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualRow.jsx","sourceRoot":"","sources":["../../../src/primitives/VirtualRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visible.jsx","sourceRoot":"","sources":["../../../src/primitives/Visible.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,QAAQ,EACR,UAAU,EAGV,OAAO,EACP,SAAS,EACT,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,OAAO,CAAI,
|
|
1
|
+
{"version":3,"file":"Visible.jsx","sourceRoot":"","sources":["../../../src/primitives/Visible.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,QAAQ,EACR,UAAU,EAGV,OAAO,EACP,SAAS,EACT,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,OAAO,CAAI,KAI1B;IACC,IAAI,KAAiC,CAAC;IACtC,IAAI,QAAkC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,SAAS,GAAG,UAAU,CAC1B,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAChB,SAAS,EACT,GAAG;QACD,CAAC,CAAC;YACE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,IAAI,EAAE,WAAW;SAClB;QACH,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACxD,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAG9B,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,OAAO,EAAC,CAAC;YACX,QAAQ,EAAE,EAAE,CAAC;YACb,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,GAAG,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpB,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACrC,IAAI,SAAS,YAAY,WAAW,EAAE,CAAC;gBACrC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC,CAA2B,CAAC;AAC/B,CAAC;AAAA,CAAC"}
|
|
@@ -16,7 +16,10 @@ export * from './Suspense.jsx';
|
|
|
16
16
|
export * from './Marquee.jsx';
|
|
17
17
|
export * from './createFocusStack.jsx';
|
|
18
18
|
export * from './useHold.js';
|
|
19
|
-
export { withScrolling } from './utils/withScrolling.js';
|
|
19
|
+
export { withScrolling, scrollColumn, scrollRow, } from './utils/withScrolling.js';
|
|
20
|
+
export * from './VirtualGrid.jsx';
|
|
21
|
+
export * from './Virtual.jsx';
|
|
22
|
+
export * from './utils/withScrolling.js';
|
|
20
23
|
export { type AnyFunction, chainFunctions, chainRefs, } from './utils/chainFunctions.js';
|
|
21
24
|
export * from './utils/handleNavigation.js';
|
|
22
25
|
export { createSpriteMap, type SpriteDef } from './utils/createSpriteMap.js';
|
|
@@ -16,7 +16,10 @@ export * from './Suspense.jsx';
|
|
|
16
16
|
export * from './Marquee.jsx';
|
|
17
17
|
export * from './createFocusStack.jsx';
|
|
18
18
|
export * from './useHold.js';
|
|
19
|
-
export { withScrolling } from './utils/withScrolling.js';
|
|
19
|
+
export { withScrolling, scrollColumn, scrollRow, } from './utils/withScrolling.js';
|
|
20
|
+
export * from './VirtualGrid.jsx';
|
|
21
|
+
export * from './Virtual.jsx';
|
|
22
|
+
export * from './utils/withScrolling.js';
|
|
20
23
|
export { chainFunctions, chainRefs, } from './utils/chainFunctions.js';
|
|
21
24
|
export * from './utils/handleNavigation.js';
|
|
22
25
|
export { createSpriteMap } from './utils/createSpriteMap.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,GACV,MAAM,0BAA0B,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAEL,cAAc,EACd,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAkB,MAAM,4BAA4B,CAAC"}
|
|
@@ -33,6 +33,7 @@ export interface NavigableProps extends NodeProps {
|
|
|
33
33
|
}
|
|
34
34
|
export interface NavigableElement extends ElementNode, NavigableProps {
|
|
35
35
|
selected: number;
|
|
36
|
+
scrollToIndex: (this: NavigableElement, index: number) => void;
|
|
36
37
|
}
|
|
37
38
|
export interface NavigableStyleProperties {
|
|
38
39
|
/**
|
|
@@ -22,7 +22,6 @@ export declare function onGridFocus(_?: lngp.OnSelectedChanged): lng.ForwardFocu
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
export declare const navigableForwardFocus: lng.ForwardFocusHandler;
|
|
25
|
-
/** @deprecated Use {@link navigableHandleNavigation} instead */
|
|
26
25
|
export declare function handleNavigation(direction: 'up' | 'right' | 'down' | 'left'): lng.KeyHandler;
|
|
27
26
|
/**
|
|
28
27
|
* Handles navigation key events for navigable elements, \
|
|
@@ -12,7 +12,7 @@ function findFirstFocusableChildIdx(el, from = 0, delta = 1) {
|
|
|
12
12
|
else
|
|
13
13
|
break;
|
|
14
14
|
}
|
|
15
|
-
if (!el.children[i]
|
|
15
|
+
if (!el.children[i]?.skipFocus) {
|
|
16
16
|
return i;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -26,10 +26,11 @@ function selectChild(el, index) {
|
|
|
26
26
|
}
|
|
27
27
|
const lastSelected = el.selected;
|
|
28
28
|
el.selected = index;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
el.onSelectedChanged?.(index, el, child, lastSelected);
|
|
29
|
+
if (!lng.isFocused(child)) {
|
|
30
|
+
child.setFocus();
|
|
32
31
|
}
|
|
32
|
+
// Always call onSelectedChanged on first focus for clients
|
|
33
|
+
el.onSelectedChanged?.(index, el, child, lastSelected);
|
|
33
34
|
return true;
|
|
34
35
|
}
|
|
35
36
|
/** @deprecated Use {@link navigableForwardFocus} instead */
|
|
@@ -67,9 +68,10 @@ export const navigableForwardFocus = function () {
|
|
|
67
68
|
let selected = navigable.selected;
|
|
68
69
|
selected = idxInArray(selected, this.children) ? selected : 0;
|
|
69
70
|
selected = findFirstFocusableChildIdx(navigable, selected);
|
|
71
|
+
// update selected as firstfocusable maybe different if first element has skipFocus
|
|
72
|
+
navigable.selected = selected;
|
|
70
73
|
return selectChild(navigable, selected);
|
|
71
74
|
};
|
|
72
|
-
/** @deprecated Use {@link navigableHandleNavigation} instead */
|
|
73
75
|
export function handleNavigation(direction) {
|
|
74
76
|
return function () {
|
|
75
77
|
return moveSelection(this, direction === 'up' || direction === 'left' ? -1 : 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleNavigation.js","sourceRoot":"","sources":["../../../../src/primitives/utils/handleNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAU1C,SAAS,UAAU,CAAC,GAAW,EAAE,GAAmB;IAClD,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;AACtC,CAAC;AAED,SAAS,0BAA0B,CACjC,EAAyB,EACzB,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,CAAC;IAET,KAAK,IAAI,CAAC,GAAG,IAAI,GAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBACZ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpD,CAAC;;gBAAM,MAAM;QACf,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"handleNavigation.js","sourceRoot":"","sources":["../../../../src/primitives/utils/handleNavigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ElementNode, ElementText } from '@lightningtv/core';
|
|
2
|
+
export type Scroller = (selected: number | ElementNode, component?: ElementNode, selectedElement?: ElementNode | ElementText, lastSelected?: number) => void;
|
|
2
3
|
export interface ScrollableElement extends ElementNode {
|
|
3
4
|
scrollIndex?: number;
|
|
4
5
|
scroll?: 'always' | 'none' | 'edge' | 'auto' | 'center';
|
|
@@ -10,4 +11,7 @@ export interface ScrollableElement extends ElementNode {
|
|
|
10
11
|
_screenOffset?: number;
|
|
11
12
|
_initialPosition?: number;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
/** Use {@link scrollRow} or {@link scrollColumn} */
|
|
15
|
+
export declare function withScrolling(isRow: boolean): Scroller;
|
|
16
|
+
export declare const scrollRow: Scroller;
|
|
17
|
+
export declare const scrollColumn: Scroller;
|
|
@@ -8,6 +8,7 @@ const isNotShown = (node) => {
|
|
|
8
8
|
Edge starts scrolling when it reaches the edge of the viewport.
|
|
9
9
|
Always scroll moves the list every time
|
|
10
10
|
*/
|
|
11
|
+
/** Use {@link scrollRow} or {@link scrollColumn} */
|
|
11
12
|
export function withScrolling(isRow) {
|
|
12
13
|
const dimension = isRow ? 'width' : 'height';
|
|
13
14
|
const axis = isRow ? 'x' : 'y';
|
|
@@ -19,13 +20,14 @@ export function withScrolling(isRow) {
|
|
|
19
20
|
}
|
|
20
21
|
if (!componentRef ||
|
|
21
22
|
componentRef.scroll === 'none' ||
|
|
23
|
+
selected === lastSelected ||
|
|
22
24
|
!componentRef.children.length)
|
|
23
25
|
return;
|
|
24
26
|
if (componentRef._initialPosition === undefined) {
|
|
25
27
|
componentRef._initialPosition = componentRef[axis];
|
|
26
28
|
}
|
|
27
29
|
const lng = componentRef.lng;
|
|
28
|
-
const screenSize = isRow ? lng.stage.root.
|
|
30
|
+
const screenSize = isRow ? lng.stage.root.w : lng.stage.root.h;
|
|
29
31
|
// Determine if movement is incremental or decremental
|
|
30
32
|
const isIncrementing = lastSelected === undefined || lastSelected - 1 !== selected;
|
|
31
33
|
if (componentRef._screenOffset === undefined) {
|
|
@@ -49,7 +51,7 @@ export function withScrolling(isRow) {
|
|
|
49
51
|
: 'auto');
|
|
50
52
|
// Allows manual position control
|
|
51
53
|
const targetPosition = componentRef._targetPosition ?? componentRef[axis];
|
|
52
|
-
const rootPosition = isIncrementing
|
|
54
|
+
const rootPosition = isIncrementing
|
|
53
55
|
? Math.min(targetPosition, componentRef[axis])
|
|
54
56
|
: Math.max(targetPosition, componentRef[axis]);
|
|
55
57
|
componentRef.offset = componentRef.offset ?? rootPosition;
|
|
@@ -108,7 +110,8 @@ export function withScrolling(isRow) {
|
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
else if (isIncrementing) {
|
|
111
|
-
nextPosition = -selectedPosition + offset;
|
|
113
|
+
//nextPosition = -selectedPosition + offset;
|
|
114
|
+
nextPosition = rootPosition - selectedSize - gap;
|
|
112
115
|
}
|
|
113
116
|
else {
|
|
114
117
|
nextPosition = rootPosition + selectedSize + gap;
|
|
@@ -137,4 +140,6 @@ export function withScrolling(isRow) {
|
|
|
137
140
|
}
|
|
138
141
|
};
|
|
139
142
|
}
|
|
143
|
+
export const scrollRow = /* @__PURE__ */ withScrolling(true);
|
|
144
|
+
export const scrollColumn = /* @__PURE__ */ withScrolling(false);
|
|
140
145
|
//# sourceMappingURL=withScrolling.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withScrolling.js","sourceRoot":"","sources":["../../../../src/primitives/utils/withScrolling.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"withScrolling.js","sourceRoot":"","sources":["../../../../src/primitives/utils/withScrolling.ts"],"names":[],"mappings":"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"}
|
package/dist/src/render.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare function createRenderer(rendererOptions?: RendererMainSettings, n
|
|
|
7
7
|
rootNode: import("@lightningtv/core").ElementNode;
|
|
8
8
|
render: (code: () => JSXElement) => () => void;
|
|
9
9
|
};
|
|
10
|
-
export declare const effect: <T>(fn: (prev?: T) => T, init?: T) => void, memo: <T>(fn: () => T, equal: boolean) => () => T, createComponent: <T>(Comp: (props: T) => SolidNode, props: T) => SolidNode, createElement: (tag: string) => SolidNode, createTextNode: (value: string) => SolidNode, insertNode: (parent: SolidNode, node: SolidNode, anchor?: SolidNode | undefined) => void, insert: <T>(parent: any, accessor: T | (() => T), marker?: any | null) => SolidNode, spread: <T>(node: any, accessor: (() => T) | T, skipChildren?:
|
|
10
|
+
export declare const effect: <T>(fn: (prev?: T) => T, init?: T) => void, memo: <T>(fn: () => T, equal: boolean) => () => T, createComponent: <T>(Comp: (props: T) => SolidNode, props: T) => SolidNode, createElement: (tag: string) => SolidNode, createTextNode: (value: string) => SolidNode, insertNode: (parent: SolidNode, node: SolidNode, anchor?: SolidNode | undefined) => void, insert: <T>(parent: any, accessor: T | (() => T), marker?: any | null, initial?: any) => SolidNode, spread: <T>(node: any, accessor: (() => T) | T, skipChildren?: boolean) => void, setProp: <T>(node: SolidNode, name: string, value: T, prev?: T | undefined) => T, mergeProps: (...sources: unknown[]) => unknown, use: <A, T>(fn: (element: SolidNode, arg: A) => T, element: SolidNode, arg: A) => T;
|
|
11
11
|
type Task = () => void;
|
|
12
12
|
export declare function setTasksEnabled(enabled: boolean): void;
|
|
13
13
|
export declare function clearTasks(): void;
|
|
@@ -24,4 +24,5 @@ export declare function Dynamic<T extends Record<string, any>>(props: T & {
|
|
|
24
24
|
}): JSXElement;
|
|
25
25
|
export declare const View: (props: NodeProps) => JSXElement;
|
|
26
26
|
export declare const Text: (props: TextProps) => JSXElement;
|
|
27
|
+
export declare function registerDefaultShader(name: string, shader: any): void;
|
|
27
28
|
export {};
|
package/dist/src/render.js
CHANGED
|
@@ -100,4 +100,8 @@ export const Text = (props) => {
|
|
|
100
100
|
spread(el, props, false);
|
|
101
101
|
return el;
|
|
102
102
|
};
|
|
103
|
+
export function registerDefaultShader(name, shader) {
|
|
104
|
+
// noop for v2
|
|
105
|
+
// renderer.stage.shManager.registerShaderType('rounded', Rounded);
|
|
106
|
+
}
|
|
103
107
|
//# sourceMappingURL=render.js.map
|
package/dist/src/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EACL,MAAM,EAGN,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,OAAO,EAEP,UAAU,GAEX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,aAAa,GAAG,mBAAmB,CAAY,QAAQ,CAAC,CAAC;AAE/D,IAAI,QAAQ,CAAC;AACb,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEtD,MAAM,MAAM,GAAG,UAAU,IAAsB;IAC7C,kEAAkE;IAClE,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9C,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,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACvB,YAAY,GAAG,IAAI,CAAC;QACpB,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,EACX,MAAM,EACN,IAAI,EACJ,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,GAAG,GACJ,GAAG,aAAa,CAAC;AAGlB,MAAM,SAAS,GAAW,EAAE,CAAC;AAC7B,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,UAAU,CAAC,GAAG,EAAE;IACd,kBAAkB,CAAC,GAAG,EAAE;QACtB,yEAAyE;QACzE,oCAAoC;QACpC,aAAa,EAAE,CAAC;QAChB,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAc,EACd,WAA2B,KAAK;IAEhC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,YAAY,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,YAAY,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,EAAE,CAAC;gBACP,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,KAA0D;IAE1D,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,aAAa,CAAC,SAAS,CAAC,CAAC;gBACpC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACnB,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,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,OAAO,EAA2B,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,EAAE;IACvC,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,OAAO,EAA2B,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAAW;IAC7D,cAAc;IACd,mEAAmE;AACrE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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 {};
|