@lightningtv/core
Advanced tools
Comparing version 1.3.6 to 1.3.7
@@ -73,4 +73,4 @@ import { Config } from './config.js'; | ||
} | ||
const fallbackFunction = (isHold ? elm.onKeyHold : elm.onKeyPress); | ||
if (fallbackFunction?.call(elm, e, elm, finalFocusElm) === true) { | ||
const fallbackFunction = isHold ? elm.onKeyHold : elm.onKeyPress; | ||
if (fallbackFunction?.call(elm, e, mappedEvent, elm, finalFocusElm) === true) { | ||
break; | ||
@@ -77,0 +77,0 @@ } |
@@ -41,7 +41,23 @@ import { type IAnimationController, type AnimationSettings, type Dimensions, type FadeOutEffectProps, type GlitchEffectProps, type GrayscaleEffectProps, type INode, type ITextNodeProps, type LinearGradientEffectProps, type NodeFailedPayload, type NodeLoadedPayload, type RadialGradientEffectProps, type RadialProgressEffectProps, INodeProps } from '@lightningjs/renderer'; | ||
}; | ||
export interface IntrinsicNodeCommonProps { | ||
export interface IntrinsicFocusProps { | ||
autofocus?: boolean; | ||
forwardFocus?: number | ((this: ElementNode, elm: ElementNode) => boolean | void); | ||
plinko?: boolean; | ||
wrap?: boolean; | ||
onFocus?: (currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onFocusChanged?: (hasFocus: boolean, currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onBlur?: (currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onKeyPress?: (this: ElementNode, e: KeyboardEvent, mappedKeyEvent: string | undefined, handlerElm: ElementNode, currentFocusedElm: ElementNode) => KeyHandlerReturn; | ||
onKeyHold?: (this: ElementNode, e: KeyboardEvent, mappedKeyEvent: string | undefined, handlerElm: ElementNode, currentFocusedElm: ElementNode) => KeyHandlerReturn; | ||
onSelectedChanged?: (container: ElementNode, activeElm: ElementNode, selectedIndex: number, lastSelectedIndex: number | undefined) => void; | ||
} | ||
export interface IntrinsicNodeCommonProps extends IntrinsicFocusProps { | ||
animationSettings?: Partial<AnimationSettings>; | ||
autofocus?: boolean; | ||
forwardStates?: boolean; | ||
id?: string; | ||
ref?: ElementNode | ((node: ElementNode) => void) | undefined; | ||
selected?: number; | ||
skipFocus?: boolean; | ||
states?: NodeStates; | ||
text?: string; | ||
onCreate?: (target: ElementNode) => void; | ||
@@ -54,15 +70,2 @@ onLoad?: (target: INode, nodeLoadedPayload: NodeLoadedPayload) => void; | ||
onAnimationFinished?: (controller: IAnimationController, propKey: string, endValue: number) => void; | ||
forwardFocus?: number | ((this: ElementNode, elm: ElementNode) => boolean | void); | ||
ref?: ElementNode | ((node: ElementNode) => void) | undefined; | ||
selected?: number; | ||
skipFocus?: boolean; | ||
states?: NodeStates; | ||
text?: string; | ||
onFocus?: (currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onFocusChanged?: (hasFocus: boolean, currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onBlur?: (currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onKeyPress?: (this: ElementNode, e: KeyboardEvent, mappedKeyEvent: string | undefined, handlerElm: ElementNode, currentFocusedElm: ElementNode) => KeyHandlerReturn; | ||
onSelectedChanged?: (container: ElementNode, activeElm: ElementNode, selectedIndex: number | undefined, lastSelectedIndex: number | undefined) => void; | ||
wrap?: boolean; | ||
plinko?: boolean; | ||
} | ||
@@ -69,0 +72,0 @@ export interface IntrinsicNodeStyleCommonProps { |
{ | ||
"name": "@lightningtv/core", | ||
"version": "1.3.6", | ||
"version": "1.3.7", | ||
"description": "Lightning TV Core for Universal Renderers", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -7,3 +7,2 @@ import { Config } from './config.js'; | ||
KeyHoldOptions, | ||
KeyHandler, | ||
KeyMap, | ||
@@ -93,5 +92,4 @@ EventHandlers, | ||
if (mappedEvent) { | ||
const onKeyHandler = elm[ | ||
`on${mappedEvent}` as keyof EventHandlers<KeyMap> | ||
] as KeyHandler | undefined; | ||
const onKeyHandler = | ||
elm[`on${mappedEvent}` as keyof EventHandlers<KeyMap>]; | ||
if (onKeyHandler?.call(elm, e, elm, finalFocusElm) === true) { | ||
@@ -103,6 +101,6 @@ break; | ||
} | ||
const fallbackFunction = (isHold ? elm.onKeyHold : elm.onKeyPress) as | ||
| KeyHandler | ||
| undefined; | ||
if (fallbackFunction?.call(elm, e, elm, finalFocusElm) === true) { | ||
const fallbackFunction = isHold ? elm.onKeyHold : elm.onKeyPress; | ||
if ( | ||
fallbackFunction?.call(elm, e, mappedEvent, elm, finalFocusElm) === true | ||
) { | ||
break; | ||
@@ -109,0 +107,0 @@ } |
@@ -64,40 +64,10 @@ import { | ||
export interface IntrinsicNodeCommonProps { | ||
animationSettings?: Partial<AnimationSettings>; | ||
export interface IntrinsicFocusProps { | ||
autofocus?: boolean; | ||
forwardStates?: boolean; | ||
id?: string; | ||
onCreate?: (target: ElementNode) => void; | ||
onLoad?: (target: INode, nodeLoadedPayload: NodeLoadedPayload) => void; | ||
onFail?: (target: INode, nodeFailedPayload: NodeFailedPayload) => void; | ||
onBeforeLayout?: ( | ||
this: ElementNode, | ||
target: ElementNode, | ||
child?: ElementNode, | ||
dimensions?: Dimensions, | ||
) => boolean | void; | ||
onLayout?: ( | ||
this: ElementNode, | ||
target: ElementNode, | ||
child?: ElementNode, | ||
dimensions?: Dimensions, | ||
) => void; | ||
onAnimationStarted?: ( | ||
controller: IAnimationController, | ||
propKey: string, | ||
endValue: number, | ||
) => void; | ||
onAnimationFinished?: ( | ||
controller: IAnimationController, | ||
propKey: string, | ||
endValue: number, | ||
) => void; | ||
forwardFocus?: | ||
| number | ||
| ((this: ElementNode, elm: ElementNode) => boolean | void); | ||
ref?: ElementNode | ((node: ElementNode) => void) | undefined; | ||
selected?: number; | ||
skipFocus?: boolean; | ||
states?: NodeStates; | ||
text?: string; | ||
plinko?: boolean; | ||
wrap?: boolean; | ||
// Events | ||
onFocus?: ( | ||
@@ -123,12 +93,54 @@ currentFocusedElm: ElementNode | undefined, | ||
) => KeyHandlerReturn; | ||
onKeyHold?: ( | ||
this: ElementNode, | ||
e: KeyboardEvent, | ||
mappedKeyEvent: string | undefined, | ||
handlerElm: ElementNode, | ||
currentFocusedElm: ElementNode, | ||
) => KeyHandlerReturn; | ||
onSelectedChanged?: ( | ||
container: ElementNode, | ||
activeElm: ElementNode, | ||
selectedIndex: number | undefined, | ||
selectedIndex: number, | ||
lastSelectedIndex: number | undefined, | ||
) => void; | ||
wrap?: boolean; | ||
plinko?: boolean; | ||
} | ||
export interface IntrinsicNodeCommonProps extends IntrinsicFocusProps { | ||
animationSettings?: Partial<AnimationSettings>; | ||
forwardStates?: boolean; | ||
id?: string; | ||
ref?: ElementNode | ((node: ElementNode) => void) | undefined; | ||
selected?: number; | ||
skipFocus?: boolean; | ||
states?: NodeStates; | ||
text?: string; | ||
// Events | ||
onCreate?: (target: ElementNode) => void; | ||
onLoad?: (target: INode, nodeLoadedPayload: NodeLoadedPayload) => void; | ||
onFail?: (target: INode, nodeFailedPayload: NodeFailedPayload) => void; | ||
onBeforeLayout?: ( | ||
this: ElementNode, | ||
target: ElementNode, | ||
child?: ElementNode, | ||
dimensions?: Dimensions, | ||
) => boolean | void; | ||
onLayout?: ( | ||
this: ElementNode, | ||
target: ElementNode, | ||
child?: ElementNode, | ||
dimensions?: Dimensions, | ||
) => void; | ||
onAnimationStarted?: ( | ||
controller: IAnimationController, | ||
propKey: string, | ||
endValue: number, | ||
) => void; | ||
onAnimationFinished?: ( | ||
controller: IAnimationController, | ||
propKey: string, | ||
endValue: number, | ||
) => void; | ||
} | ||
export interface IntrinsicNodeStyleCommonProps { | ||
@@ -135,0 +147,0 @@ alignItems?: 'flexStart' | 'flexEnd' | 'center'; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
200704
3150