@lightningtv/solid 3.0.0-18 → 3.0.0-19

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/README.md CHANGED
@@ -6,6 +6,12 @@
6
6
 
7
7
  Is a UI framework for [LightningJS 3 Renderer](https://lightningjs.io/) built with [SolidJS](https://www.solidjs.com/) Universal Renderer. It allows you to declaratively construct lightning nodes with reactive primitives, with incredible performance.
8
8
 
9
+ ## Used by companies worldwide
10
+
11
+ <div style="display: flex; align-items: center; gap: 20px;">
12
+ <img src="docs/companylogos/Angel.png" alt="Angel Studios" width="200" /> &nbsp; <img src="docs/companylogos/bell-fibe-tv.png" alt="Bell Fibe TV" width="80" />
13
+ </div>
14
+
9
15
  ## Need Support?
10
16
 
11
17
  [ConnectedTV Dev](https://lightningtv.dev/)
@@ -0,0 +1,8 @@
1
+ import { type Component } from 'solid-js';
2
+ import { type NodeProps } from '@lightningtv/solid';
3
+ export interface ImageProps extends NodeProps {
4
+ src: string;
5
+ placeholder?: string;
6
+ fallback?: string;
7
+ }
8
+ export declare const Image: Component<ImageProps>;
@@ -0,0 +1,24 @@
1
+ import { createRenderEffect, createSignal } from 'solid-js';
2
+ import { renderer } from '@lightningtv/solid';
3
+ export const Image = (props) => {
4
+ const [texture, setTexture] = createSignal(null);
5
+ const [src, setSrc] = createSignal(props.placeholder || null);
6
+ createRenderEffect(() => {
7
+ const srcTexture = renderer.createTexture('ImageTexture', props);
8
+ if (props.fallback) {
9
+ srcTexture.once('failed', () => {
10
+ if (props.fallback === props.placeholder) {
11
+ return;
12
+ }
13
+ setSrc(props.fallback);
14
+ });
15
+ }
16
+ srcTexture.getTextureData().then(resp => {
17
+ // if texture fails to load, this is still called after the failed handler
18
+ if (resp.data)
19
+ setTexture(srcTexture);
20
+ });
21
+ });
22
+ return (<view {...props} src={src()} color={props.color || 0xffffffff} texture={texture()}/>);
23
+ };
24
+ //# sourceMappingURL=Image.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image.jsx","sourceRoot":"","sources":["../../../src/primitives/Image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAoC,MAAM,oBAAoB,CAAC;AAQhF,MAAM,CAAC,MAAM,KAAK,GAA0B,CAAC,KAAK,EAAE,EAAE;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,YAAY,CAAM,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,YAAY,CAAgB,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IAE7E,kBAAkB,CAAC,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAiB,CAAC;QAEjF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAC7B,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;oBACzC,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,UAAU,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtC,0EAA0E;YAC1E,IAAI,IAAI,CAAC,IAAI;gBACX,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAG,CACtF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,17 +1,30 @@
1
+ import { RouteProps } from "@solidjs/router";
1
2
  import * as s from 'solid-js';
3
+ import { ElementNode } from "@lightningtv/solid";
2
4
  export interface KeepAliveElement {
3
5
  id: string;
4
6
  owner: s.Owner | null;
5
- children?: s.JSX.Element;
7
+ children: s.JSX.Element;
6
8
  routeSignal?: s.Signal<unknown>;
7
9
  dispose: () => void;
8
10
  }
9
- export declare const storeElement: (element: KeepAliveElement) => KeepAliveElement | undefined;
10
- export declare const removeElement: (id: string) => void;
11
+ export declare const storeKeepAlive: (element: KeepAliveElement) => KeepAliveElement | undefined;
12
+ export declare const removeKeepAlive: (id: string) => void;
11
13
  interface KeepAliveProps {
12
14
  id: string;
15
+ shouldDispose?: (key: string) => boolean;
16
+ onRemove?: ElementNode['onRemove'];
17
+ onRender?: ElementNode['onRender'];
18
+ transition?: ElementNode['transition'];
13
19
  }
14
- export declare const KeepAliveWrapper: (Component: any) => (props: s.ParentProps<KeepAliveProps>) => () => s.JSX.Element;
15
- export declare const KeepAlive: (props: s.ParentProps<KeepAliveProps>) => () => s.JSX.Element;
16
- export declare const KeepAliveRoute: (props: any) => s.JSX.Element;
20
+ export declare const KeepAlive: (props: s.ParentProps<KeepAliveProps>) => s.JSX.Element;
21
+ export declare const KeepAliveRoute: <S extends string>(props: RouteProps<S> & {
22
+ id?: string;
23
+ path: string;
24
+ component: s.Component<RouteProps<S>>;
25
+ shouldDispose?: (key: string) => boolean;
26
+ onRemove?: ElementNode["onRemove"];
27
+ onRender?: ElementNode["onRender"];
28
+ transition?: ElementNode["transition"];
29
+ }) => s.JSX.Element;
17
30
  export {};
@@ -1,15 +1,15 @@
1
1
  import { Route } from "@solidjs/router";
2
2
  import * as s from 'solid-js';
3
3
  const keepAliveElements = new Map();
4
- export const storeElement = (element) => {
4
+ export const storeKeepAlive = (element) => {
5
5
  if (keepAliveElements.has(element.id)) {
6
6
  console.warn(`[KeepAlive] Element with id "${element.id}" already in cache. Recreating.`);
7
- removeElement(element.id);
7
+ return element;
8
8
  }
9
9
  keepAliveElements.set(element.id, element);
10
10
  return element;
11
11
  };
12
- export const removeElement = (id) => {
12
+ export const removeKeepAlive = (id) => {
13
13
  const element = keepAliveElements.get(id);
14
14
  if (element) {
15
15
  element.dispose();
@@ -17,91 +17,61 @@ export const removeElement = (id) => {
17
17
  }
18
18
  };
19
19
  function wrapChildren(props) {
20
- return (<view preserve onRemove={(elm) => (elm.alpha = 0)} onRender={(elm) => {
21
- elm.alpha = 1;
22
- elm.children[0]?.setFocus();
23
- }} forwardFocus={0} transition={{ alpha: true }} {...props}/>);
20
+ const onRemove = props.onRemove || ((elm) => { elm.alpha = 0; });
21
+ const onRender = props.onRender || ((elm) => { elm.alpha = 1; });
22
+ const transition = props.transition || { alpha: true };
23
+ return (<view preserve onRemove={onRemove} onRender={onRender} forwardFocus={0} transition={transition} {...props}/>);
24
24
  }
25
- export const KeepAliveWrapper = (Component) => {
26
- return (props) => {
27
- const existing = keepAliveElements.get(props.id);
28
- if (!existing) {
29
- s.createRoot((dispose) => {
30
- storeElement({
31
- id: props.id,
32
- owner: s.getOwner(),
33
- children: (<view preserve onRemove={(elm) => (elm.alpha = 0)} onRender={(elm) => {
34
- elm.alpha = 1;
35
- elm.children[0]?.setFocus();
36
- }} forwardFocus={0} transition={{ alpha: true }}><Component {...props}/></view>),
37
- dispose,
38
- });
39
- });
40
- }
41
- if (existing && !existing.children) {
42
- existing.children = s.runWithOwner(existing.owner, () => wrapChildren(props));
43
- }
44
- return () => {
45
- const current = keepAliveElements.get(props.id);
46
- return current?.owner
47
- ? s.runWithOwner(current.owner, () => current.children)
48
- : null;
49
- };
50
- };
51
- };
52
25
  export const KeepAlive = (props) => {
53
- const existing = keepAliveElements.get(props.id);
26
+ let existing = keepAliveElements.get(props.id);
27
+ if (existing && props.shouldDispose?.(props.id)) {
28
+ existing.dispose();
29
+ keepAliveElements.delete(props.id);
30
+ existing = undefined;
31
+ }
54
32
  if (!existing) {
55
- s.createRoot((dispose) => {
56
- storeElement({
33
+ return s.createRoot((dispose) => {
34
+ const children = wrapChildren(props);
35
+ storeKeepAlive({
57
36
  id: props.id,
58
37
  owner: s.getOwner(),
59
- children: wrapChildren(props),
38
+ children,
60
39
  dispose,
61
40
  });
41
+ return children;
62
42
  });
63
43
  }
64
- if (existing && !existing.children) {
44
+ else if (existing && !existing.children) {
65
45
  existing.children = s.runWithOwner(existing.owner, () => wrapChildren(props));
66
46
  }
67
- return () => {
68
- const current = keepAliveElements.get(props.id);
69
- return current?.owner
70
- ? s.runWithOwner(current.owner, () => current.children)
71
- : null;
72
- };
47
+ return existing.children;
73
48
  };
74
49
  export const KeepAliveRoute = (props) => {
75
50
  const key = props.id || props.path;
76
51
  const preload = props.preload ? (preloadProps) => {
77
- const existing = keepAliveElements.get(props.id);
52
+ let existing = keepAliveElements.get(key);
53
+ if (existing && props.shouldDispose?.(key)) {
54
+ existing.dispose();
55
+ keepAliveElements.delete(key);
56
+ existing = undefined;
57
+ }
78
58
  if (!existing) {
79
- s.createRoot((dispose) => {
80
- storeElement({
59
+ return s.createRoot((dispose) => {
60
+ storeKeepAlive({
81
61
  id: key,
82
62
  owner: s.getOwner(),
83
63
  dispose,
84
- routeSignal: s.createSignal(),
64
+ children: null,
85
65
  });
66
+ return props.preload(preloadProps);
86
67
  });
87
68
  }
88
- const current = keepAliveElements.get(key);
89
- if (current) {
90
- const [routeProps, setRouteProps] = current.routeSignal;
91
- if (routeProps()) {
92
- setRouteProps(preloadProps);
93
- return;
94
- }
95
- setRouteProps(preloadProps);
96
- return current?.owner ?
97
- s.runWithOwner(current.owner, () => {
98
- return props.preload(routeProps);
99
- })
100
- : null;
69
+ else if (existing.children) {
70
+ existing.children?.setFocus();
101
71
  }
102
72
  } : undefined;
103
- return (<Route {...props} preload={preload} component={(childProps) => <KeepAlive id={key}>
104
- {props.component(childProps)}
105
- </KeepAlive>}/>);
73
+ return (<Route {...props} preload={preload} component={(childProps) => <KeepAlive id={key} onRemove={props.onRemove} onRender={props.onRender} transition={props.transition}>
74
+ {props.component(childProps)}
75
+ </KeepAlive>}/>);
106
76
  };
107
77
  //# sourceMappingURL=KeepAlive.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeepAlive.jsx","sourceRoot":"","sources":["../../../src/primitives/KeepAlive.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeepAlive.jsx","sourceRoot":"","sources":["../../../src/primitives/KeepAlive.tsx"],"names":[],"mappings":"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"}
@@ -289,8 +289,10 @@ function createVirtual(component, props, keyHandlers) {
289
289
  if (itemCount() === 0)
290
290
  return;
291
291
  lastNavTime = performance.now();
292
- viewRef.lng[axis] = originalPosition;
293
- targetPosition = originalPosition;
292
+ if (originalPosition !== undefined) {
293
+ viewRef.lng[axis] = originalPosition;
294
+ targetPosition = originalPosition;
295
+ }
294
296
  updateSelected([utils.clamp(index, 0, itemCount() - 1)]);
295
297
  });
296
298
  }
@@ -379,7 +381,7 @@ function createVirtual(component, props, keyHandlers) {
379
381
  // offset just for wrap so we keep one item before
380
382
  queueMicrotask(() => {
381
383
  const childSize = computeSize(slice().selected);
382
- viewRef.lng[axis] = viewRef.lng[axis] + (childSize * -1);
384
+ viewRef.lng[axis] = (viewRef.lng[axis] || 0) + (childSize * -1);
383
385
  // Original Position is offset to support scrollToIndex
384
386
  originalPosition = viewRef.lng[axis];
385
387
  targetPosition = viewRef.lng[axis];
@@ -1 +1 @@
1
- {"version":3,"file":"Virtual.jsx","sourceRoot":"","sources":["../../../src/primitives/Virtual.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Virtual.jsx","sourceRoot":"","sources":["../../../src/primitives/Virtual.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  * - `restoreFocus()`: Restores focus to the last stored element and removes it from the stack. Returns `true` if successful, `false` otherwise.
18
18
  * - `clearFocusStack()`: Empties the focus stack.
19
19
  */
20
- import { JSX } from 'solid-js';
20
+ import * as s from 'solid-js';
21
21
  import { type ElementNode } from '@lightningtv/solid';
22
22
  interface FocusStackContextType {
23
23
  storeFocus: (element: ElementNode, prevElement?: ElementNode) => void;
@@ -25,7 +25,7 @@ interface FocusStackContextType {
25
25
  clearFocusStack: () => void;
26
26
  }
27
27
  export declare function FocusStackProvider(props: {
28
- children: JSX.Element;
29
- }): JSX.Element;
30
- export declare function useFocusStack(): FocusStackContextType;
28
+ children: s.JSX.Element;
29
+ }): s.JSX.Element;
30
+ export declare function useFocusStack(autoClear?: boolean): FocusStackContextType;
31
31
  export {};
@@ -17,12 +17,15 @@
17
17
  * - `restoreFocus()`: Restores focus to the last stored element and removes it from the stack. Returns `true` if successful, `false` otherwise.
18
18
  * - `clearFocusStack()`: Empties the focus stack.
19
19
  */
20
- import { createSignal, createContext, useContext } from 'solid-js';
21
- const FocusStackContext = createContext(undefined);
20
+ import * as s from 'solid-js';
21
+ const FocusStackContext = s.createContext(undefined);
22
22
  export function FocusStackProvider(props) {
23
- const [_focusStack, setFocusStack] = createSignal([]);
23
+ const [_focusStack, setFocusStack] = s.createSignal([]);
24
24
  function storeFocus(element, prevElement) {
25
- setFocusStack((stack) => [...stack, prevElement || element]);
25
+ const elm = prevElement || element;
26
+ if (elm) {
27
+ setFocusStack(stack => [...stack, elm]);
28
+ }
26
29
  }
27
30
  function restoreFocus() {
28
31
  let wasFocused = false;
@@ -43,11 +46,17 @@ export function FocusStackProvider(props) {
43
46
  {props.children}
44
47
  </FocusStackContext.Provider>);
45
48
  }
46
- export function useFocusStack() {
47
- const context = useContext(FocusStackContext);
49
+ export function useFocusStack(autoClear = true) {
50
+ const context = s.useContext(FocusStackContext);
48
51
  if (!context) {
49
52
  throw new Error("useFocusStack must be used within a FocusStackProvider");
50
53
  }
54
+ if (autoClear) {
55
+ s.onCleanup(() => {
56
+ // delay clearing the focus stack so restoreFocus can happen first.
57
+ setTimeout(() => context.clearFocusStack(), 5);
58
+ });
59
+ }
51
60
  return context;
52
61
  }
53
62
  //# sourceMappingURL=createFocusStack.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"createFocusStack.jsx","sourceRoot":"","sources":["../../../src/primitives/createFocusStack.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAO,MAAM,UAAU,CAAC;AASxE,MAAM,iBAAiB,GAAG,aAAa,CAAoC,SAAS,CAAC,CAAC;AAEtF,MAAM,UAAU,kBAAkB,CAAC,KAA+B;IAChE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,YAAY,CAAgB,EAAE,CAAC,CAAC;IAErE,SAAS,UAAU,CAAC,OAAoB,EAAE,WAAyB;QACjE,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC;IAC/D,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,SAAS,eAAe;QACtB,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CACL,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAC/E;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,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
+ {"version":3,"file":"createFocusStack.jsx","sourceRoot":"","sources":["../../../src/primitives/createFocusStack.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAS9B,MAAM,iBAAiB,GAAG,CAAC,CAAC,aAAa,CAAoC,SAAS,CAAC,CAAC;AAExF,MAAM,UAAU,kBAAkB,CAAC,KAAiC;IAClE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,CAAgB,EAAE,CAAC,CAAC;IAEvE,SAAS,UAAU,CAAC,OAAoB,EAAE,WAAyB;QACjE,MAAM,GAAG,GAAG,WAAW,IAAI,OAAO,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC;YACR,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,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,SAAS,eAAe;QACtB,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CACL,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAC/E;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAS,GAAG,IAAI;IAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;YACf,mEAAmE;YACnE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -4,6 +4,7 @@ export * from './createInfiniteItems.js';
4
4
  export * from './useMouse.js';
5
5
  export * from './portal.jsx';
6
6
  export * from './Lazy.jsx';
7
+ export * from './Image.jsx';
7
8
  export * from './Visible.jsx';
8
9
  export * from './router.js';
9
10
  export * from './Column.jsx';
@@ -16,7 +17,7 @@ export * from './Suspense.jsx';
16
17
  export * from './Marquee.jsx';
17
18
  export * from './createFocusStack.jsx';
18
19
  export * from './useHold.js';
19
- export { withScrolling, scrollColumn, scrollRow, } from './utils/withScrolling.js';
20
+ export * from './KeepAlive.jsx';
20
21
  export * from './VirtualGrid.jsx';
21
22
  export * from './Virtual.jsx';
22
23
  export * from './utils/withScrolling.js';
@@ -4,6 +4,7 @@ export * from './createInfiniteItems.js';
4
4
  export * from './useMouse.js';
5
5
  export * from './portal.jsx';
6
6
  export * from './Lazy.jsx';
7
+ export * from './Image.jsx';
7
8
  export * from './Visible.jsx';
8
9
  export * from './router.js';
9
10
  export * from './Column.jsx';
@@ -16,7 +17,7 @@ export * from './Suspense.jsx';
16
17
  export * from './Marquee.jsx';
17
18
  export * from './createFocusStack.jsx';
18
19
  export * from './useHold.js';
19
- export { withScrolling, scrollColumn, scrollRow, } from './utils/withScrolling.js';
20
+ export * from './KeepAlive.jsx';
20
21
  export * from './VirtualGrid.jsx';
21
22
  export * from './Virtual.jsx';
22
23
  export * from './utils/withScrolling.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,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"}
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,aAAa,CAAC;AAC5B,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,cAAc,iBAAiB,CAAC;AAChC,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"}
@@ -1,2 +1,8 @@
1
1
  import { ElementNode } from '@lightningtv/solid';
2
+ declare module '@lightningtv/core' {
3
+ interface ElementNode {
4
+ /** function to be called on mouse click */
5
+ onMouseClick?: (this: ElementNode, event: MouseEvent, active: ElementNode) => void;
6
+ }
7
+ }
2
8
  export declare function useMouse(myApp?: ElementNode, throttleBy?: number): void;
@@ -1,4 +1,4 @@
1
- import { ElementNode, activeElement, isElementNode, isTextNode, rootNode, Config, } from '@lightningtv/solid';
1
+ import { ElementNode, activeElement, isElementNode, isTextNode, rootNode, Config, isFunc, } from '@lightningtv/solid';
2
2
  import { makeEventListener } from '@solid-primitives/event-listener';
3
3
  import { useMousePosition } from '@solid-primitives/mouse';
4
4
  import { createScheduled, throttle } from '@solid-primitives/scheduled';
@@ -15,6 +15,7 @@ function createKeyboardEvent(key, keyCode, eventName = 'keydown') {
15
15
  bubbles: true,
16
16
  });
17
17
  }
18
+ let scrollTimeout;
18
19
  const handleScroll = throttle((e) => {
19
20
  const deltaY = e.deltaY;
20
21
  if (deltaY < 0) {
@@ -23,15 +24,37 @@ const handleScroll = throttle((e) => {
23
24
  else if (deltaY > 0) {
24
25
  document.body.dispatchEvent(createKeyboardEvent('ArrowDown', 40));
25
26
  }
27
+ // clear the last timeout if the user is still scrolling
28
+ clearTimeout(scrollTimeout);
29
+ // after 250ms of no scroll events, we send a keyup event to stop the scrolling
30
+ scrollTimeout = setTimeout(() => {
31
+ document.body.dispatchEvent(createKeyboardEvent('ArrowUp', 38, 'keyup'));
32
+ document.body.dispatchEvent(createKeyboardEvent('ArrowDown', 40, 'keyup'));
33
+ }, 250);
26
34
  }, 250);
27
35
  const handleClick = (e) => {
28
36
  const active = activeElement();
29
37
  const precision = Config.rendererOptions?.deviceLogicalPixelRatio || 1;
30
38
  if (active instanceof ElementNode &&
31
- testCollision(e.clientX, e.clientY, active.lng.absX || 0 * precision, active.lng.absY || 0 * precision, active.width || 0 * precision, active.height || 0 * precision)) {
39
+ testCollision(e.clientX, e.clientY, (active.lng.absX || 0) * precision, (active.lng.absY || 0) * precision, (active.width || 0) * precision, (active.height || 0) * precision)) {
40
+ if (isFunc(active.onMouseClick)) {
41
+ active.onMouseClick.call(active, e, active);
42
+ return;
43
+ }
32
44
  document.dispatchEvent(createKeyboardEvent('Enter', 13));
33
45
  setTimeout(() => document.body.dispatchEvent(createKeyboardEvent('Enter', 13, 'keyup')), 1);
34
46
  }
47
+ else {
48
+ let parent = active?.parent;
49
+ while (parent) {
50
+ if (isFunc(parent.onMouseClick) &&
51
+ testCollision(e.clientX, e.clientY, (parent.lng.absX || 0) * precision, (parent.lng.absY || 0) * precision, (parent.width || 0) * precision, (parent.height || 0) * precision)) {
52
+ parent.onMouseClick.call(parent, e, active);
53
+ return;
54
+ }
55
+ parent = parent.parent;
56
+ }
57
+ }
35
58
  };
36
59
  function testCollision(px, py, cx, cy, cw = 0, ch = 0) {
37
60
  return px >= cx && px <= cx + cw && py >= cy && py <= cy + ch;
@@ -48,7 +71,7 @@ function getChildrenByPosition(node, x, y) {
48
71
  if (isElementNode(currentNode) &&
49
72
  currentNode.alpha !== 0 &&
50
73
  !currentNode.skipFocus &&
51
- testCollision(x, y, currentNode.lng.absX || 0 * precision, currentNode.lng.absY || 0 * precision, (currentNode.width || 0) * precision, (currentNode.height || 0) * precision)) {
74
+ testCollision(x, y, (currentNode.lng.absX || 0) * precision, (currentNode.lng.absY || 0) * precision, (currentNode.width || 0) * precision, (currentNode.height || 0) * precision)) {
52
75
  currentLevelNodes.push(currentNode);
53
76
  }
54
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useMouse.js","sourceRoot":"","sources":["../../../src/primitives/useMouse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMouse.js","sourceRoot":"","sources":["../../../src/primitives/useMouse.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,8 @@ export function withScrolling(isRow) {
34
34
  if (componentRef.parent.clipping) {
35
35
  const p = componentRef.parent;
36
36
  componentRef.endOffset =
37
- screenSize - ((isRow ? p.absX : p.absY) || 0) - p[dimension];
37
+ componentRef.endOffset ??
38
+ screenSize - ((isRow ? p.absX : p.absY) || 0) - p[dimension];
38
39
  }
39
40
  componentRef._screenOffset =
40
41
  componentRef.offset ??
@@ -72,7 +73,7 @@ export function withScrolling(isRow) {
72
73
  const maxOffset = Math.min(screenSize -
73
74
  containerSize -
74
75
  screenOffset -
75
- (componentRef.endOffset || 2 * gap), offset);
76
+ (componentRef.endOffset ?? 2 * gap), offset);
76
77
  // Determine the next element based on whether incrementing or decrementing
77
78
  const nextIndex = isIncrementing ? selected + 1 : selected - 1;
78
79
  const nextElement = componentRef.children[nextIndex] || null;