@lightningtv/solid 3.0.0-2 → 3.0.0-21
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/LICENSE +1 -1
- package/README.md +6 -0
- package/dist/src/activeElement.d.ts +1 -1
- package/dist/src/core/animation.d.ts +35 -0
- package/dist/src/core/animation.js +120 -0
- package/dist/src/core/animation.js.map +1 -0
- package/dist/src/core/config.d.ts +47 -0
- package/dist/src/core/config.js +23 -0
- package/dist/src/core/config.js.map +1 -0
- package/dist/src/core/domRenderer.d.ts +117 -0
- package/dist/src/core/domRenderer.js +1160 -0
- package/dist/src/core/domRenderer.js.map +1 -0
- package/dist/src/core/elementNode.d.ts +209 -0
- package/dist/src/core/elementNode.js +829 -0
- package/dist/src/core/elementNode.js.map +1 -0
- package/dist/src/core/flex.d.ts +2 -0
- package/dist/src/core/flex.js +243 -0
- package/dist/src/core/flex.js.map +1 -0
- package/dist/src/core/focusKeyTypes.d.ts +42 -0
- package/dist/src/core/focusKeyTypes.js +2 -0
- package/dist/src/core/focusKeyTypes.js.map +1 -0
- package/dist/src/core/focusManager.d.ts +13 -0
- package/dist/src/core/focusManager.js +269 -0
- package/dist/src/core/focusManager.js.map +1 -0
- package/dist/src/core/index.d.ts +12 -0
- package/dist/src/core/index.js +12 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/intrinsicTypes.d.ts +90 -0
- package/dist/src/core/intrinsicTypes.js +2 -0
- package/dist/src/core/intrinsicTypes.js.map +1 -0
- package/dist/src/core/lightningInit.d.ts +89 -0
- package/dist/src/core/lightningInit.js +26 -0
- package/dist/src/core/lightningInit.js.map +1 -0
- package/dist/src/core/nodeTypes.d.ts +6 -0
- package/dist/src/core/nodeTypes.js +6 -0
- package/dist/src/core/nodeTypes.js.map +1 -0
- package/dist/src/core/shaders.d.ts +51 -0
- package/dist/src/core/shaders.js +446 -0
- package/dist/src/core/shaders.js.map +1 -0
- package/dist/src/core/states.d.ts +12 -0
- package/dist/src/core/states.js +84 -0
- package/dist/src/core/states.js.map +1 -0
- package/dist/src/core/timings.d.ts +36 -0
- package/dist/src/core/timings.js +199 -0
- package/dist/src/core/timings.js.map +1 -0
- package/dist/src/core/utils.d.ts +39 -0
- package/dist/src/core/utils.js +164 -0
- package/dist/src/core/utils.js.map +1 -0
- package/dist/src/devtools/index.d.ts +1 -1
- package/dist/src/devtools/index.js +1 -1
- package/dist/src/devtools/index.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/jsx-runtime.d.ts +1 -3
- package/dist/src/primitives/Column.jsx +9 -10
- package/dist/src/primitives/Column.jsx.map +1 -1
- package/dist/src/primitives/FPSCounter.jsx +14 -1
- package/dist/src/primitives/FPSCounter.jsx.map +1 -1
- package/dist/src/primitives/Grid.d.ts +15 -6
- package/dist/src/primitives/Grid.jsx +35 -22
- package/dist/src/primitives/Grid.jsx.map +1 -1
- package/dist/src/primitives/Image.d.ts +8 -0
- package/dist/src/primitives/Image.jsx +24 -0
- package/dist/src/primitives/Image.jsx.map +1 -0
- package/dist/src/primitives/KeepAlive.d.ts +30 -0
- package/dist/src/primitives/KeepAlive.jsx +77 -0
- package/dist/src/primitives/KeepAlive.jsx.map +1 -0
- package/dist/src/primitives/Lazy.d.ts +8 -7
- package/dist/src/primitives/Lazy.jsx +52 -23
- package/dist/src/primitives/Lazy.jsx.map +1 -1
- package/dist/src/primitives/Marquee.d.ts +64 -0
- package/dist/src/primitives/Marquee.jsx +86 -0
- package/dist/src/primitives/Marquee.jsx.map +1 -0
- package/dist/src/primitives/Preserve.d.ts +4 -0
- package/dist/src/primitives/Preserve.jsx +11 -0
- package/dist/src/primitives/Preserve.jsx.map +1 -0
- package/dist/src/primitives/Row.jsx +9 -10
- package/dist/src/primitives/Row.jsx.map +1 -1
- package/dist/src/primitives/Suspense.d.ts +22 -0
- package/dist/src/primitives/Suspense.jsx +33 -0
- package/dist/src/primitives/Suspense.jsx.map +1 -0
- package/dist/src/primitives/Virtual.d.ts +18 -0
- package/dist/src/primitives/Virtual.jsx +434 -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 +160 -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/announcer/announcer.d.ts +2 -0
- package/dist/src/primitives/announcer/announcer.js +7 -5
- package/dist/src/primitives/announcer/announcer.js.map +1 -1
- package/dist/src/primitives/announcer/index.d.ts +5 -1
- package/dist/src/primitives/announcer/index.js +8 -2
- package/dist/src/primitives/announcer/index.js.map +1 -1
- package/dist/src/primitives/announcer/speech.d.ts +2 -2
- package/dist/src/primitives/announcer/speech.js +157 -28
- package/dist/src/primitives/announcer/speech.js.map +1 -1
- package/dist/src/primitives/createFocusStack.d.ts +4 -4
- package/dist/src/primitives/createFocusStack.jsx +15 -6
- package/dist/src/primitives/createFocusStack.jsx.map +1 -1
- package/dist/src/primitives/createTag.d.ts +8 -0
- package/dist/src/primitives/createTag.jsx +20 -0
- package/dist/src/primitives/createTag.jsx.map +1 -0
- package/dist/src/primitives/index.d.ts +14 -4
- package/dist/src/primitives/index.js +13 -3
- package/dist/src/primitives/index.js.map +1 -1
- package/dist/src/primitives/types.d.ts +5 -2
- package/dist/src/primitives/useFocusManager.d.ts +2 -2
- package/dist/src/primitives/useFocusManager.js +2 -2
- package/dist/src/primitives/useFocusManager.js.map +1 -1
- package/dist/src/primitives/useHold.d.ts +27 -0
- package/dist/src/primitives/useHold.js +54 -0
- package/dist/src/primitives/useHold.js.map +1 -0
- package/dist/src/primitives/useMouse.d.ts +18 -2
- package/dist/src/primitives/useMouse.js +171 -47
- package/dist/src/primitives/useMouse.js.map +1 -1
- package/dist/src/primitives/utils/chainFunctions.d.ts +30 -4
- package/dist/src/primitives/utils/chainFunctions.js +14 -3
- package/dist/src/primitives/utils/chainFunctions.js.map +1 -1
- package/dist/src/primitives/utils/createBlurredImage.d.ts +56 -0
- package/dist/src/primitives/utils/createBlurredImage.js +223 -0
- package/dist/src/primitives/utils/createBlurredImage.js.map +1 -0
- package/dist/src/primitives/utils/createSpriteMap.d.ts +2 -2
- package/dist/src/primitives/utils/createSpriteMap.js +1 -1
- package/dist/src/primitives/utils/createSpriteMap.js.map +1 -1
- package/dist/src/primitives/utils/handleNavigation.d.ts +79 -5
- package/dist/src/primitives/utils/handleNavigation.js +242 -69
- package/dist/src/primitives/utils/handleNavigation.js.map +1 -1
- package/dist/src/primitives/utils/withScrolling.d.ts +14 -2
- package/dist/src/primitives/utils/withScrolling.js +66 -7
- package/dist/src/primitives/utils/withScrolling.js.map +1 -1
- package/dist/src/render.d.ts +8 -7
- package/dist/src/render.js +5 -1
- package/dist/src/render.js.map +1 -1
- package/dist/src/solidOpts.d.ts +1 -7
- package/dist/src/solidOpts.js +32 -16
- package/dist/src/solidOpts.js.map +1 -1
- package/dist/src/types.d.ts +1 -13
- 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 +3 -1
- package/dist/src/utils.js +9 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/jsx-runtime.d.ts +2 -4
- package/package.json +17 -15
- package/src/activeElement.ts +1 -1
- package/src/core/animation.ts +183 -0
- package/src/core/config.ts +77 -0
- package/src/core/domRenderer.ts +1308 -0
- package/src/core/elementNode.ts +1198 -0
- package/src/core/flex.ts +284 -0
- package/src/core/focusKeyTypes.ts +87 -0
- package/src/core/focusManager.ts +359 -0
- package/src/core/index.ts +13 -0
- package/src/core/intrinsicTypes.ts +199 -0
- package/src/core/lightningInit.ts +147 -0
- package/src/core/nodeTypes.ts +6 -0
- package/src/core/shaders.ts +567 -0
- package/src/core/states.ts +91 -0
- package/src/core/timings.ts +261 -0
- package/src/core/utils.ts +222 -0
- package/src/devtools/index.ts +1 -1
- package/src/index.ts +3 -3
- package/src/primitives/Column.tsx +10 -12
- package/src/primitives/FPSCounter.tsx +15 -1
- package/src/primitives/Grid.tsx +57 -33
- package/src/primitives/Image.tsx +36 -0
- package/src/primitives/KeepAlive.tsx +124 -0
- package/src/primitives/Lazy.tsx +66 -37
- package/src/primitives/Marquee.tsx +149 -0
- package/src/primitives/Preserve.tsx +18 -0
- package/src/primitives/Row.tsx +13 -14
- package/src/primitives/Suspense.tsx +39 -0
- package/src/primitives/Virtual.tsx +478 -0
- package/src/primitives/VirtualGrid.tsx +220 -0
- package/src/primitives/Visible.tsx +1 -2
- package/src/primitives/announcer/announcer.ts +16 -10
- package/src/primitives/announcer/index.ts +12 -2
- package/src/primitives/announcer/speech.ts +188 -27
- package/src/primitives/createFocusStack.tsx +18 -7
- package/src/primitives/createTag.tsx +31 -0
- package/src/primitives/index.ts +18 -4
- package/src/primitives/types.ts +12 -2
- package/src/primitives/useFocusManager.ts +3 -3
- package/src/primitives/useHold.ts +69 -0
- package/src/primitives/useMouse.ts +306 -67
- package/src/primitives/utils/chainFunctions.ts +40 -9
- package/src/primitives/utils/createBlurredImage.ts +366 -0
- package/src/primitives/utils/createSpriteMap.ts +6 -4
- package/src/primitives/utils/handleNavigation.ts +300 -84
- package/src/primitives/utils/withScrolling.ts +91 -18
- package/src/render.ts +10 -8
- package/src/solidOpts.ts +31 -24
- package/src/types.ts +1 -15
- package/src/utils.ts +11 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
// import { getTimingFunction, mergeColorProgress } from '@lightningjs/renderer/utils';
|
|
2
|
+
import { getTimingFunction, mergeColorProgress } from './timings.js';
|
|
3
|
+
import {
|
|
4
|
+
type ElementNode,
|
|
5
|
+
LightningRendererNumberProps,
|
|
6
|
+
} from './elementNode.js';
|
|
7
|
+
import { type IRendererStage } from './lightningInit.js';
|
|
8
|
+
import { TimingFunction } from '@lightningjs/renderer';
|
|
9
|
+
import { isFunc } from './utils.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Simplified Animation Settings
|
|
13
|
+
*/
|
|
14
|
+
export interface SimpleAnimationSettings {
|
|
15
|
+
duration?: number;
|
|
16
|
+
delay?: number;
|
|
17
|
+
easing?: string | TimingFunction;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Properties of a Node used by the SimpleAnimation
|
|
22
|
+
* (Excludes shaderProps)
|
|
23
|
+
*/
|
|
24
|
+
export type SimpleAnimationProps =
|
|
25
|
+
(typeof LightningRendererNumberProps)[number];
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Configuration for a single node within a SimpleAnimation
|
|
29
|
+
*/
|
|
30
|
+
interface SimpleAnimationNodeConfig {
|
|
31
|
+
node: ElementNode;
|
|
32
|
+
duration: number;
|
|
33
|
+
delay: number;
|
|
34
|
+
easing: string | TimingFunction;
|
|
35
|
+
progress: number;
|
|
36
|
+
delayFor: number;
|
|
37
|
+
timingFunction: (t: number) => number | undefined;
|
|
38
|
+
propName: SimpleAnimationProps;
|
|
39
|
+
startValue: number;
|
|
40
|
+
targetValue: number;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export class SimpleAnimation {
|
|
44
|
+
private nodeConfigs: SimpleAnimationNodeConfig[] = [];
|
|
45
|
+
private isRegistered = false;
|
|
46
|
+
private stage: IRendererStage | undefined;
|
|
47
|
+
|
|
48
|
+
register(stage: IRendererStage) {
|
|
49
|
+
if (this.isRegistered) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.isRegistered = true;
|
|
53
|
+
this.stage = stage;
|
|
54
|
+
stage.animationManager.registerAnimation(this);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Adds a node and its animation properties to this animation instance.
|
|
59
|
+
* The animation's start values for the specified properties are captured
|
|
60
|
+
* from the node's current state when this method is called.
|
|
61
|
+
*
|
|
62
|
+
* @param node - The CoreNode to animate.
|
|
63
|
+
* @param props - The properties to animate and their target values. Only number properties are supported.
|
|
64
|
+
* @param settings - Animation settings for this specific node animation.
|
|
65
|
+
*/
|
|
66
|
+
add(
|
|
67
|
+
node: ElementNode,
|
|
68
|
+
key: SimpleAnimationProps,
|
|
69
|
+
value: number,
|
|
70
|
+
settings: SimpleAnimationSettings,
|
|
71
|
+
): void {
|
|
72
|
+
const existingConfig = this.nodeConfigs.find(
|
|
73
|
+
(config) => config.node === node && config.propName === key,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
const duration = settings.duration ?? 0;
|
|
77
|
+
const delay = settings.delay ?? 0;
|
|
78
|
+
const easing = settings.easing || 'linear';
|
|
79
|
+
const timingFunction = isFunc(easing) ? easing : getTimingFunction(easing);
|
|
80
|
+
const targetValue = value;
|
|
81
|
+
const startValue = node[key] as number;
|
|
82
|
+
|
|
83
|
+
if (existingConfig) {
|
|
84
|
+
existingConfig.duration = duration;
|
|
85
|
+
existingConfig.delay = delay;
|
|
86
|
+
existingConfig.easing = easing;
|
|
87
|
+
existingConfig.timingFunction = timingFunction;
|
|
88
|
+
existingConfig.targetValue = targetValue;
|
|
89
|
+
existingConfig.startValue = startValue;
|
|
90
|
+
existingConfig.progress = 0;
|
|
91
|
+
existingConfig.delayFor = delay;
|
|
92
|
+
} else {
|
|
93
|
+
this.nodeConfigs.push({
|
|
94
|
+
node,
|
|
95
|
+
duration,
|
|
96
|
+
delay,
|
|
97
|
+
easing,
|
|
98
|
+
progress: 0,
|
|
99
|
+
delayFor: delay,
|
|
100
|
+
timingFunction,
|
|
101
|
+
propName: key,
|
|
102
|
+
startValue,
|
|
103
|
+
targetValue,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
update(dt: number) {
|
|
109
|
+
// Iterate backward to safely remove finished animations
|
|
110
|
+
for (let i = this.nodeConfigs.length - 1; i >= 0; i--) {
|
|
111
|
+
const nodeConfig = this.nodeConfigs[i] as SimpleAnimationNodeConfig;
|
|
112
|
+
const {
|
|
113
|
+
node,
|
|
114
|
+
duration,
|
|
115
|
+
timingFunction,
|
|
116
|
+
propName,
|
|
117
|
+
startValue,
|
|
118
|
+
targetValue,
|
|
119
|
+
} = nodeConfig;
|
|
120
|
+
let remainingDt = dt;
|
|
121
|
+
|
|
122
|
+
// 1. Handle Delay
|
|
123
|
+
if (nodeConfig.delayFor > 0) {
|
|
124
|
+
nodeConfig.delayFor -= remainingDt;
|
|
125
|
+
if (nodeConfig.delayFor >= 0) {
|
|
126
|
+
// Still in delay phase for this node, skip applying values this frame
|
|
127
|
+
continue;
|
|
128
|
+
} else {
|
|
129
|
+
// Delay finished this frame, use the remaining time for animation
|
|
130
|
+
remainingDt = -nodeConfig.delayFor;
|
|
131
|
+
nodeConfig.delayFor = 0;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// 2. Update Progress (directly on nodeConfig.progress)
|
|
136
|
+
if (duration > 0) {
|
|
137
|
+
nodeConfig.progress += remainingDt / duration;
|
|
138
|
+
// Clamp progress between 0 and 1
|
|
139
|
+
nodeConfig.progress = Math.max(0, Math.min(1, nodeConfig.progress));
|
|
140
|
+
} else if (duration === 0 && nodeConfig.delayFor <= 0) {
|
|
141
|
+
// Duration is 0 and delay is finished or was 0. Animation completes instantly.
|
|
142
|
+
nodeConfig.progress = 1;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// 3. Calculate Eased Progress
|
|
146
|
+
const easedProgress =
|
|
147
|
+
timingFunction(nodeConfig.progress) || nodeConfig.progress;
|
|
148
|
+
|
|
149
|
+
// 4. Apply Animated Values to the Node
|
|
150
|
+
let interpolatedValue: number;
|
|
151
|
+
if (nodeConfig.progress === 1) {
|
|
152
|
+
interpolatedValue = targetValue;
|
|
153
|
+
} else {
|
|
154
|
+
if (propName.includes('color')) {
|
|
155
|
+
// Handle color interpolation
|
|
156
|
+
interpolatedValue = mergeColorProgress(
|
|
157
|
+
startValue,
|
|
158
|
+
targetValue,
|
|
159
|
+
easedProgress,
|
|
160
|
+
);
|
|
161
|
+
} else {
|
|
162
|
+
// Handle linear interpolation for other number properties
|
|
163
|
+
interpolatedValue =
|
|
164
|
+
startValue + (targetValue - startValue) * easedProgress;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// @typescript-eslint/no-explicit-any
|
|
168
|
+
(node.lng as any)[propName] = interpolatedValue; // Cast to any because the properties on CoreNode might have broader types.
|
|
169
|
+
|
|
170
|
+
// 5. Remove Node if Progress is 1
|
|
171
|
+
if (nodeConfig.progress === 1) {
|
|
172
|
+
this.nodeConfigs.splice(i, 1);
|
|
173
|
+
}
|
|
174
|
+
if (this.nodeConfigs.length === 0) {
|
|
175
|
+
this.stage?.animationManager.unregisterAnimation(this);
|
|
176
|
+
this.isRegistered = false;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export const simpleAnimation = new SimpleAnimation();
|
|
183
|
+
export default simpleAnimation;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { RendererMainSettings } from '@lightningjs/renderer';
|
|
2
|
+
import type {
|
|
3
|
+
TextProps,
|
|
4
|
+
AnimationSettings,
|
|
5
|
+
DollarString,
|
|
6
|
+
} from './intrinsicTypes.js';
|
|
7
|
+
import { type ElementNode } from './elementNode.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
STATIC LIGHTNING CONFIGURATION \
|
|
11
|
+
Replace the values below with in your build system, \
|
|
12
|
+
or set them in the global scope before importing lightning-core.
|
|
13
|
+
*/
|
|
14
|
+
declare global {
|
|
15
|
+
/** Whether the DOM renderer should be used instead of `@lightningjs/renderer` */
|
|
16
|
+
var LIGHTNING_DOM_RENDERING: boolean | undefined;
|
|
17
|
+
/** Whether element shaders should be disabled */
|
|
18
|
+
var LIGHTNING_DISABLE_SHADERS: boolean | undefined;
|
|
19
|
+
|
|
20
|
+
/** Could be set by vite or other bundler */
|
|
21
|
+
interface ImportMetaEnv {
|
|
22
|
+
DEV?: unknown;
|
|
23
|
+
}
|
|
24
|
+
interface ImportMeta {
|
|
25
|
+
env?: ImportMetaEnv;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const isDev = !!(import.meta.env && import.meta.env.DEV);
|
|
30
|
+
|
|
31
|
+
/** Whether the DOM renderer is used instead of `@lightningjs/renderer` */
|
|
32
|
+
export const DOM_RENDERING =
|
|
33
|
+
typeof LIGHTNING_DOM_RENDERING === 'boolean' && LIGHTNING_DOM_RENDERING;
|
|
34
|
+
|
|
35
|
+
/** Whether element shaders are enabled */
|
|
36
|
+
export const SHADERS_ENABLED = !(
|
|
37
|
+
typeof LIGHTNING_DISABLE_SHADERS === 'boolean' && LIGHTNING_DISABLE_SHADERS
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
RUNTIME LIGHTNING CONFIGURATION \
|
|
42
|
+
This configuration can be set at runtime, but it is recommended to set it
|
|
43
|
+
before running any Lightning modules to ensure consistent behavior across the application.
|
|
44
|
+
*/
|
|
45
|
+
export interface Config {
|
|
46
|
+
debug: boolean;
|
|
47
|
+
focusDebug: boolean;
|
|
48
|
+
keyDebug: boolean;
|
|
49
|
+
simpleAnimationsEnabled?: boolean;
|
|
50
|
+
animationSettings?: AnimationSettings;
|
|
51
|
+
animationsEnabled: boolean;
|
|
52
|
+
fontSettings: Partial<TextProps>;
|
|
53
|
+
rendererOptions?: Partial<RendererMainSettings>;
|
|
54
|
+
setActiveElement: (elm: ElementNode) => void;
|
|
55
|
+
focusStateKey: DollarString;
|
|
56
|
+
lockStyles?: boolean;
|
|
57
|
+
throttleInput?: number;
|
|
58
|
+
taskDelay?: number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export const Config: Config = {
|
|
62
|
+
debug: false,
|
|
63
|
+
focusDebug: false,
|
|
64
|
+
keyDebug: false,
|
|
65
|
+
animationsEnabled: true,
|
|
66
|
+
animationSettings: {
|
|
67
|
+
duration: 250,
|
|
68
|
+
easing: 'ease-in-out',
|
|
69
|
+
},
|
|
70
|
+
fontSettings: {
|
|
71
|
+
fontFamily: 'Ubuntu',
|
|
72
|
+
fontSize: 100,
|
|
73
|
+
},
|
|
74
|
+
setActiveElement: () => {},
|
|
75
|
+
focusStateKey: '$focus',
|
|
76
|
+
lockStyles: true,
|
|
77
|
+
};
|