@energy8platform/game-engine 0.20.0 → 0.22.0
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 +121 -0
- package/dist/animation.cjs.js +18 -3
- package/dist/animation.cjs.js.map +1 -1
- package/dist/animation.esm.js +18 -3
- package/dist/animation.esm.js.map +1 -1
- package/dist/core.cjs.js +18 -3
- package/dist/core.cjs.js.map +1 -1
- package/dist/core.esm.js +18 -3
- package/dist/core.esm.js.map +1 -1
- package/dist/host.cjs.js +18 -3
- package/dist/host.cjs.js.map +1 -1
- package/dist/host.d.ts +3 -5
- package/dist/host.esm.js +18 -3
- package/dist/host.esm.js.map +1 -1
- package/dist/index.cjs.js +18 -2535
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +3 -1020
- package/dist/index.esm.js +20 -2525
- package/dist/index.esm.js.map +1 -1
- package/dist/slot.cjs.js +1872 -61
- package/dist/slot.cjs.js.map +1 -1
- package/dist/slot.d.ts +555 -28
- package/dist/slot.esm.js +1857 -62
- package/dist/slot.esm.js.map +1 -1
- package/dist/vite.cjs.js +0 -5
- package/dist/vite.cjs.js.map +1 -1
- package/dist/vite.esm.js +0 -5
- package/dist/vite.esm.js.map +1 -1
- package/package.json +2 -35
- package/src/animation/Tween.ts +14 -3
- package/src/host/index.ts +0 -1
- package/src/host/types.ts +0 -3
- package/src/index.ts +0 -28
- package/src/slot/anim/easing-map.ts +16 -2
- package/src/slot/cascade/TumbleController.ts +230 -0
- package/src/slot/config/ReelSystemConfig.ts +559 -0
- package/src/slot/config/presets.ts +222 -0
- package/src/slot/features/extra.ts +189 -0
- package/src/slot/features/index.ts +44 -0
- package/src/slot/features/symbols.ts +183 -0
- package/src/slot/features/types.ts +136 -0
- package/src/slot/features/wilds.ts +151 -0
- package/src/slot/grid/ReelGrid.ts +93 -24
- package/src/slot/grid/SymbolCell.ts +45 -11
- package/src/slot/index.ts +61 -2
- package/src/slot/motion/AnticipationController.ts +96 -0
- package/src/slot/motion/SpinEngine.ts +384 -0
- package/src/slot/system/ReelSystem.ts +295 -0
- package/src/vite/index.ts +0 -5
- package/dist/react-jsx.cjs.js +0 -3
- package/dist/react-jsx.cjs.js.map +0 -1
- package/dist/react-jsx.d.ts +0 -602
- package/dist/react-jsx.esm.js +0 -2
- package/dist/react-jsx.esm.js.map +0 -1
- package/dist/react.cjs.js +0 -3787
- package/dist/react.cjs.js.map +0 -1
- package/dist/react.d.ts +0 -1467
- package/dist/react.esm.js +0 -3771
- package/dist/react.esm.js.map +0 -1
- package/dist/ui.cjs.js +0 -2999
- package/dist/ui.cjs.js.map +0 -1
- package/dist/ui.d.ts +0 -1116
- package/dist/ui.esm.js +0 -2983
- package/dist/ui.esm.js.map +0 -1
- package/src/react/EngineContext.ts +0 -26
- package/src/react/ReactScene.ts +0 -88
- package/src/react/applyProps.ts +0 -271
- package/src/react/catalogue.ts +0 -17
- package/src/react/createPixiRoot.ts +0 -31
- package/src/react/extendAll.ts +0 -74
- package/src/react/hooks.ts +0 -46
- package/src/react/index.ts +0 -29
- package/src/react/jsx-runtime.ts +0 -346
- package/src/react/reconciler.ts +0 -338
- package/src/slot/freeSpins/FreeSpinsSession.ts +0 -40
- package/src/state/StateMachine.ts +0 -231
- package/src/state/index.ts +0 -1
- package/src/ui/BalanceDisplay.ts +0 -159
- package/src/ui/Button.ts +0 -304
- package/src/ui/FlexContainer.ts +0 -775
- package/src/ui/Label.ts +0 -124
- package/src/ui/LabelValue.ts +0 -122
- package/src/ui/Layout.ts +0 -291
- package/src/ui/Modal.ts +0 -170
- package/src/ui/Panel.ts +0 -204
- package/src/ui/ProgressBar.ts +0 -170
- package/src/ui/ScrollContainer.ts +0 -478
- package/src/ui/Slider.ts +0 -241
- package/src/ui/Toast.ts +0 -150
- package/src/ui/Toggle.ts +0 -201
- package/src/ui/WinDisplay.ts +0 -145
- package/src/ui/index.ts +0 -33
- package/src/ui/view.ts +0 -28
package/dist/react-jsx.d.ts
DELETED
|
@@ -1,602 +0,0 @@
|
|
|
1
|
-
import { Texture, Container, TextStyle, ColorSource } from 'pixi.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Universal view input type for UI component visual slots.
|
|
5
|
-
*
|
|
6
|
-
* - `string` — texture name, resolved via `Sprite.from()`
|
|
7
|
-
* - `Texture` — wrapped in a `Sprite`
|
|
8
|
-
* - `Container` — used as-is (Sprite, Graphics, NineSliceSprite, AnimatedSprite, custom...)
|
|
9
|
-
*/
|
|
10
|
-
type ViewInput = string | Texture | Container;
|
|
11
|
-
|
|
12
|
-
type ButtonState = 'default' | 'hover' | 'pressed' | 'disabled';
|
|
13
|
-
interface ButtonConfig {
|
|
14
|
-
/** Custom view for default state (string texture name, Texture, or Container) */
|
|
15
|
-
defaultView?: ViewInput;
|
|
16
|
-
/** Custom view for hover state */
|
|
17
|
-
hoverView?: ViewInput;
|
|
18
|
-
/** Custom view for pressed state */
|
|
19
|
-
pressedView?: ViewInput;
|
|
20
|
-
/** Custom view for disabled state */
|
|
21
|
-
disabledView?: ViewInput;
|
|
22
|
-
/** Width (for Graphics-based button, ignored when custom views provided) */
|
|
23
|
-
width?: number;
|
|
24
|
-
/** Height (for Graphics-based button) */
|
|
25
|
-
height?: number;
|
|
26
|
-
/** Corner radius (for Graphics-based button) */
|
|
27
|
-
borderRadius?: number;
|
|
28
|
-
/** Colors for each state (for Graphics-based button) */
|
|
29
|
-
colors?: Partial<Record<ButtonState, number>>;
|
|
30
|
-
/** Scale on press */
|
|
31
|
-
pressScale?: number;
|
|
32
|
-
/** Scale animation duration (ms) */
|
|
33
|
-
animationDuration?: number;
|
|
34
|
-
/** Start disabled */
|
|
35
|
-
disabled?: boolean;
|
|
36
|
-
/** Button text (rendered on top of the view) */
|
|
37
|
-
text?: string;
|
|
38
|
-
/** Button text style */
|
|
39
|
-
textStyle?: Record<string, unknown>;
|
|
40
|
-
/** Press callback */
|
|
41
|
-
onPress?: () => void;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
interface LabelConfig {
|
|
45
|
-
text?: string;
|
|
46
|
-
style?: Partial<TextStyle>;
|
|
47
|
-
/** Maximum width — text will be scaled down to fit */
|
|
48
|
-
maxWidth?: number;
|
|
49
|
-
/** Auto-fit: scale text to fit maxWidth */
|
|
50
|
-
autoFit?: boolean;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
type FlexDirection = 'row' | 'column';
|
|
54
|
-
type JustifyContent = 'start' | 'center' | 'end' | 'space-between' | 'space-around';
|
|
55
|
-
type AlignItems = 'start' | 'center' | 'end' | 'stretch';
|
|
56
|
-
type AlignContent = 'start' | 'center' | 'end' | 'space-between' | 'stretch';
|
|
57
|
-
type AlignSelf = 'auto' | 'start' | 'center' | 'end' | 'stretch';
|
|
58
|
-
interface FlexContainerConfig {
|
|
59
|
-
/** Layout direction (default: 'row') */
|
|
60
|
-
direction?: FlexDirection;
|
|
61
|
-
/** Main-axis distribution (default: 'start') */
|
|
62
|
-
justifyContent?: JustifyContent;
|
|
63
|
-
/** Cross-axis alignment (default: 'start') */
|
|
64
|
-
alignItems?: AlignItems;
|
|
65
|
-
/** Gap between children in pixels (default: 0) */
|
|
66
|
-
gap?: number;
|
|
67
|
-
/** Padding [top, right, bottom, left] or single number (default: 0) */
|
|
68
|
-
padding?: number | [number, number, number, number];
|
|
69
|
-
/** Individual padding overrides (take priority over `padding`) */
|
|
70
|
-
paddingTop?: number;
|
|
71
|
-
paddingRight?: number;
|
|
72
|
-
paddingBottom?: number;
|
|
73
|
-
paddingLeft?: number;
|
|
74
|
-
/** Enable wrapping to next line (default: false) */
|
|
75
|
-
flexWrap?: boolean;
|
|
76
|
-
/** Distribution of lines along the cross axis when wrapping (default: 'start') */
|
|
77
|
-
alignContent?: AlignContent;
|
|
78
|
-
/** Maximum width before wrapping (only with flexWrap) */
|
|
79
|
-
maxWidth?: number;
|
|
80
|
-
/** Maximum height before wrapping (only with flexWrap + column) */
|
|
81
|
-
maxHeight?: number;
|
|
82
|
-
/** Explicit container width — number in pixels, or string percentage (e.g. "50%") resolved against parent */
|
|
83
|
-
width?: number | string;
|
|
84
|
-
/** Explicit container height — number in pixels, or string percentage (e.g. "50%") resolved against parent */
|
|
85
|
-
height?: number | string;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
type LabelValueAlign = 'start' | 'center' | 'end';
|
|
89
|
-
interface LabelValueConfig {
|
|
90
|
-
/** Caption text (top row, typically smaller/muted) */
|
|
91
|
-
label?: string;
|
|
92
|
-
/** Value text (bottom row, typically larger/prominent) */
|
|
93
|
-
value?: string;
|
|
94
|
-
/** Style for the caption Label */
|
|
95
|
-
labelStyle?: Partial<TextStyle>;
|
|
96
|
-
/** Style for the value Label */
|
|
97
|
-
valueStyle?: Partial<TextStyle>;
|
|
98
|
-
/** Gap in pixels between caption and value (default: 4) */
|
|
99
|
-
gap?: number;
|
|
100
|
-
/** Horizontal alignment of both rows (default: 'center') */
|
|
101
|
-
align?: LabelValueAlign;
|
|
102
|
-
/** Maximum width — value will be auto-scaled to fit when exceeded */
|
|
103
|
-
maxWidth?: number;
|
|
104
|
-
/** Optional padding (forwarded to the underlying FlexContainer) */
|
|
105
|
-
padding?: FlexContainerConfig['padding'];
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
interface PanelConfig {
|
|
109
|
-
/** Width */
|
|
110
|
-
width?: number;
|
|
111
|
-
/** Height */
|
|
112
|
-
height?: number;
|
|
113
|
-
/** Background color (for Graphics-based panel) */
|
|
114
|
-
backgroundColor?: number;
|
|
115
|
-
/** Background alpha */
|
|
116
|
-
backgroundAlpha?: number;
|
|
117
|
-
/** Corner radius */
|
|
118
|
-
borderRadius?: number;
|
|
119
|
-
/** Border color */
|
|
120
|
-
borderColor?: number;
|
|
121
|
-
/** Border width */
|
|
122
|
-
borderWidth?: number;
|
|
123
|
-
/** 9-slice texture (if provided, uses NineSliceSprite instead of Graphics) */
|
|
124
|
-
nineSliceTexture?: string | Texture;
|
|
125
|
-
/** 9-slice borders [left, top, right, bottom] */
|
|
126
|
-
nineSliceBorders?: [number, number, number, number];
|
|
127
|
-
/** Padding inside the panel */
|
|
128
|
-
padding?: number;
|
|
129
|
-
/** Flex layout config for content */
|
|
130
|
-
layout?: Partial<FlexContainerConfig>;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
interface ProgressBarConfig {
|
|
134
|
-
/** Width of the bar */
|
|
135
|
-
width?: number;
|
|
136
|
-
/** Height of the bar */
|
|
137
|
-
height?: number;
|
|
138
|
-
/** Corner radius (for Graphics-based bar) */
|
|
139
|
-
borderRadius?: number;
|
|
140
|
-
/** Fill color (for Graphics-based bar, ignored when fillView provided) */
|
|
141
|
-
fillColor?: number;
|
|
142
|
-
/** Track background color (for Graphics-based bar, ignored when trackView provided) */
|
|
143
|
-
trackColor?: number;
|
|
144
|
-
/** Border color */
|
|
145
|
-
borderColor?: number;
|
|
146
|
-
/** Border width */
|
|
147
|
-
borderWidth?: number;
|
|
148
|
-
/** Animated fill (smoothly interpolate) */
|
|
149
|
-
animated?: boolean;
|
|
150
|
-
/** Animation speed (0..1 per frame, default: 0.1) */
|
|
151
|
-
animationSpeed?: number;
|
|
152
|
-
/** Custom track background (string texture name, Texture, or Container) */
|
|
153
|
-
trackView?: ViewInput;
|
|
154
|
-
/** Custom fill bar (string texture name, Texture, or Container) */
|
|
155
|
-
fillView?: ViewInput;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
type ScrollDirection = 'vertical' | 'horizontal' | 'both';
|
|
159
|
-
interface ScrollContainerConfig {
|
|
160
|
-
/** Visible viewport width */
|
|
161
|
-
width: number;
|
|
162
|
-
/** Visible viewport height */
|
|
163
|
-
height: number;
|
|
164
|
-
/** Scroll direction (default: 'vertical') */
|
|
165
|
-
direction?: ScrollDirection;
|
|
166
|
-
/** Background color (undefined = transparent) */
|
|
167
|
-
backgroundColor?: ColorSource;
|
|
168
|
-
/** Border radius for the mask (default: 0) */
|
|
169
|
-
borderRadius?: number;
|
|
170
|
-
/** Gap between items (default: 0) */
|
|
171
|
-
elementsMargin?: number;
|
|
172
|
-
/** Padding */
|
|
173
|
-
padding?: number;
|
|
174
|
-
/** Disable easing/inertia */
|
|
175
|
-
disableEasing?: boolean;
|
|
176
|
-
/** Show scrollbar indicator (default: false) */
|
|
177
|
-
scrollbar?: boolean;
|
|
178
|
-
/** Custom scrollbar thumb view (string texture name, Texture, or Container) */
|
|
179
|
-
thumbView?: ViewInput;
|
|
180
|
-
/** Scrollbar width in px (default: 6) */
|
|
181
|
-
scrollbarWidth?: number;
|
|
182
|
-
/** Scrollbar padding from edge (default: 4) */
|
|
183
|
-
scrollbarPadding?: number;
|
|
184
|
-
/** Scrollbar color (when no thumbView, default: 0xaaaaaa) */
|
|
185
|
-
scrollbarColor?: number;
|
|
186
|
-
/** Scrollbar alpha (default: 0.5) */
|
|
187
|
-
scrollbarAlpha?: number;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
interface ModalConfig {
|
|
191
|
-
/** Overlay color */
|
|
192
|
-
overlayColor?: number;
|
|
193
|
-
/** Overlay alpha */
|
|
194
|
-
overlayAlpha?: number;
|
|
195
|
-
/** Close on overlay tap */
|
|
196
|
-
closeOnOverlay?: boolean;
|
|
197
|
-
/** Animation duration */
|
|
198
|
-
animationDuration?: number;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
interface ToastConfig {
|
|
202
|
-
/** Auto-dismiss after this many ms (0 = manual dismiss only) */
|
|
203
|
-
duration?: number;
|
|
204
|
-
/** Toast position from bottom */
|
|
205
|
-
bottomOffset?: number;
|
|
206
|
-
/** Custom background view (string texture name, Texture, or Container). Sized to fit text. */
|
|
207
|
-
backgroundView?: ViewInput;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
interface BalanceDisplayConfig {
|
|
211
|
-
/** Label prefix (e.g., "BALANCE") */
|
|
212
|
-
prefix?: string;
|
|
213
|
-
/** Text style overrides */
|
|
214
|
-
style?: Record<string, unknown>;
|
|
215
|
-
/** Currency code */
|
|
216
|
-
currency?: string;
|
|
217
|
-
/** Locale for number formatting */
|
|
218
|
-
locale?: string;
|
|
219
|
-
/** Max width */
|
|
220
|
-
maxWidth?: number;
|
|
221
|
-
/** Animate value changes */
|
|
222
|
-
animated?: boolean;
|
|
223
|
-
/** Animation duration in ms */
|
|
224
|
-
animationDuration?: number;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
interface WinDisplayConfig {
|
|
228
|
-
/** Text style overrides */
|
|
229
|
-
style?: Record<string, unknown>;
|
|
230
|
-
/** Currency code */
|
|
231
|
-
currency?: string;
|
|
232
|
-
/** Locale for number formatting */
|
|
233
|
-
locale?: string;
|
|
234
|
-
/** Countup duration in ms */
|
|
235
|
-
countupDuration?: number;
|
|
236
|
-
/** Scale pop animation on win */
|
|
237
|
-
popScale?: number;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
type LayoutDirection = 'horizontal' | 'vertical' | 'grid' | 'wrap';
|
|
241
|
-
type LayoutAlignment = 'start' | 'center' | 'end' | 'stretch';
|
|
242
|
-
type LayoutAnchor = 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
243
|
-
interface LayoutConfig {
|
|
244
|
-
/** Layout direction (default: 'vertical') */
|
|
245
|
-
direction?: LayoutDirection;
|
|
246
|
-
/** Gap between children in pixels (default: 0) */
|
|
247
|
-
gap?: number;
|
|
248
|
-
/** Padding inside the layout container [top, right, bottom, left] or a single number */
|
|
249
|
-
padding?: number | [number, number, number, number];
|
|
250
|
-
/** Alignment of children on the cross axis (default: 'start') */
|
|
251
|
-
alignment?: LayoutAlignment;
|
|
252
|
-
/** Anchor point determining where the layout is positioned relative to its coordinates */
|
|
253
|
-
anchor?: LayoutAnchor;
|
|
254
|
-
/** Number of columns (only for 'grid' direction) */
|
|
255
|
-
columns?: number;
|
|
256
|
-
/** Maximum width for 'wrap' direction before wrapping to next line */
|
|
257
|
-
maxWidth?: number;
|
|
258
|
-
/** Whether to auto-layout when children change (default: true) */
|
|
259
|
-
autoLayout?: boolean;
|
|
260
|
-
/** Breakpoints: map of max viewport widths to override configs */
|
|
261
|
-
breakpoints?: Record<number, Partial<LayoutConfig>>;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
interface SliderConfig {
|
|
265
|
-
/** Minimum value (default: 0) */
|
|
266
|
-
min?: number;
|
|
267
|
-
/** Maximum value (default: 1) */
|
|
268
|
-
max?: number;
|
|
269
|
-
/** Step increment (0 = continuous, default: 0) */
|
|
270
|
-
step?: number;
|
|
271
|
-
/** Initial value (default: min) */
|
|
272
|
-
value?: number;
|
|
273
|
-
/** Track width in pixels (default: 200) */
|
|
274
|
-
width?: number;
|
|
275
|
-
/** Track height in pixels (default: 8) */
|
|
276
|
-
height?: number;
|
|
277
|
-
/** Corner radius for Graphics-based track/fill (default: 4) */
|
|
278
|
-
borderRadius?: number;
|
|
279
|
-
/** Track background color (ignored when trackView provided) */
|
|
280
|
-
trackColor?: number;
|
|
281
|
-
/** Fill bar color (ignored when fillView provided) */
|
|
282
|
-
fillColor?: number;
|
|
283
|
-
/** Handle radius (for Graphics-based handle, default: 12) */
|
|
284
|
-
handleRadius?: number;
|
|
285
|
-
/** Handle color (for Graphics-based handle, ignored when handleView provided) */
|
|
286
|
-
handleColor?: number;
|
|
287
|
-
/** Custom track background view */
|
|
288
|
-
trackView?: ViewInput;
|
|
289
|
-
/** Custom fill bar view */
|
|
290
|
-
fillView?: ViewInput;
|
|
291
|
-
/** Custom handle view */
|
|
292
|
-
handleView?: ViewInput;
|
|
293
|
-
/** Called when value changes during drag */
|
|
294
|
-
onUpdate?: (value: number) => void;
|
|
295
|
-
/** Called when drag ends */
|
|
296
|
-
onChange?: (value: number) => void;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
interface ToggleConfig {
|
|
300
|
-
/** Initial state (default: false) */
|
|
301
|
-
value?: boolean;
|
|
302
|
-
/** Custom view for the ON state */
|
|
303
|
-
onView?: ViewInput;
|
|
304
|
-
/** Custom view for the OFF state */
|
|
305
|
-
offView?: ViewInput;
|
|
306
|
-
/** Width (for Graphics-based toggle, default: 52) */
|
|
307
|
-
width?: number;
|
|
308
|
-
/** Height (for Graphics-based toggle, default: 28) */
|
|
309
|
-
height?: number;
|
|
310
|
-
/** Track color when ON (ignored when custom views provided) */
|
|
311
|
-
onColor?: number;
|
|
312
|
-
/** Track color when OFF (ignored when custom views provided) */
|
|
313
|
-
offColor?: number;
|
|
314
|
-
/** Handle color (for Graphics-based toggle) */
|
|
315
|
-
handleColor?: number;
|
|
316
|
-
/** Handle radius (for Graphics-based toggle, default: auto) */
|
|
317
|
-
handleRadius?: number;
|
|
318
|
-
/** Animation duration in ms (default: 200) */
|
|
319
|
-
animationDuration?: number;
|
|
320
|
-
/** Called when value changes */
|
|
321
|
-
onChange?: (value: boolean) => void;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* JSX prop types for the PixiJS React reconciler.
|
|
326
|
-
*
|
|
327
|
-
* The engine auto-augments `react`'s module-scoped `JSX.IntrinsicElements`
|
|
328
|
-
* with every registered element (`<flexContainer>`, `<button>`, `<label>`,
|
|
329
|
-
* `<labelValue>`, etc). Because the augmentation is scoped to the `react`
|
|
330
|
-
* module (not the legacy global `JSX` namespace), it reliably wins over
|
|
331
|
-
* `@types/react`'s HTML defaults for colliding names like `<button>` / `<label>`.
|
|
332
|
-
*
|
|
333
|
-
* **Consumers don't need any shim.** Any import from `@energy8platform/game-engine/react`
|
|
334
|
-
* (e.g. `createPixiRoot`, `extendUIElements`, `ReactScene` — you're already
|
|
335
|
-
* importing these to boot the reconciler) pulls this module in and the JSX
|
|
336
|
-
* types activate automatically.
|
|
337
|
-
*
|
|
338
|
-
* If a project imports only from `/ui` or `/core` and never touches `/react`,
|
|
339
|
-
* add a one-line side-effect import to trigger the augmentation:
|
|
340
|
-
*
|
|
341
|
-
* ```ts
|
|
342
|
-
* // app/src/pixi-jsx.d.ts
|
|
343
|
-
* import '@energy8platform/game-engine/react-jsx';
|
|
344
|
-
* ```
|
|
345
|
-
*
|
|
346
|
-
* Dash-notation for nested config objects is supported:
|
|
347
|
-
* <button colors-default={0xff0000} colors-hover={0x00ff00} />
|
|
348
|
-
*/
|
|
349
|
-
|
|
350
|
-
interface PixiEventProps {
|
|
351
|
-
onClick?: (e: any) => void;
|
|
352
|
-
onPointerDown?: (e: any) => void;
|
|
353
|
-
onPointerUp?: (e: any) => void;
|
|
354
|
-
onPointerMove?: (e: any) => void;
|
|
355
|
-
onPointerOver?: (e: any) => void;
|
|
356
|
-
onPointerOut?: (e: any) => void;
|
|
357
|
-
onPointerEnter?: (e: any) => void;
|
|
358
|
-
onPointerLeave?: (e: any) => void;
|
|
359
|
-
onPointerCancel?: (e: any) => void;
|
|
360
|
-
onPointerTap?: (e: any) => void;
|
|
361
|
-
onPointerUpOutside?: (e: any) => void;
|
|
362
|
-
onMouseDown?: (e: any) => void;
|
|
363
|
-
onMouseUp?: (e: any) => void;
|
|
364
|
-
onMouseMove?: (e: any) => void;
|
|
365
|
-
onMouseOver?: (e: any) => void;
|
|
366
|
-
onMouseOut?: (e: any) => void;
|
|
367
|
-
onWheel?: (e: any) => void;
|
|
368
|
-
onTap?: (e: any) => void;
|
|
369
|
-
onRightClick?: (e: any) => void;
|
|
370
|
-
}
|
|
371
|
-
interface BaseProps extends PixiEventProps {
|
|
372
|
-
key?: React.Key;
|
|
373
|
-
ref?: React.Ref<any>;
|
|
374
|
-
children?: React.ReactNode;
|
|
375
|
-
x?: number;
|
|
376
|
-
y?: number;
|
|
377
|
-
width?: number;
|
|
378
|
-
height?: number;
|
|
379
|
-
alpha?: number;
|
|
380
|
-
visible?: boolean;
|
|
381
|
-
rotation?: number;
|
|
382
|
-
angle?: number;
|
|
383
|
-
zIndex?: number;
|
|
384
|
-
label?: string;
|
|
385
|
-
cursor?: string;
|
|
386
|
-
eventMode?: 'auto' | 'none' | 'passive' | 'static' | 'dynamic';
|
|
387
|
-
'scale-x'?: number;
|
|
388
|
-
'scale-y'?: number;
|
|
389
|
-
'pivot-x'?: number;
|
|
390
|
-
'pivot-y'?: number;
|
|
391
|
-
'position-x'?: number;
|
|
392
|
-
'position-y'?: number;
|
|
393
|
-
'anchor-x'?: number;
|
|
394
|
-
'anchor-y'?: number;
|
|
395
|
-
scale?: number | {
|
|
396
|
-
x: number;
|
|
397
|
-
y: number;
|
|
398
|
-
};
|
|
399
|
-
flexGrow?: number;
|
|
400
|
-
flexShrink?: number;
|
|
401
|
-
layoutWidth?: number | string;
|
|
402
|
-
layoutHeight?: number | string;
|
|
403
|
-
alignSelf?: AlignSelf;
|
|
404
|
-
flexExclude?: boolean;
|
|
405
|
-
top?: number;
|
|
406
|
-
right?: number;
|
|
407
|
-
bottom?: number;
|
|
408
|
-
left?: number;
|
|
409
|
-
/** X coordinate of the visual center within parent (px or `'50%'`). Overrides left/right. */
|
|
410
|
-
centerX?: number | string;
|
|
411
|
-
/** Y coordinate of the visual center within parent (px or `'50%'`). Overrides top/bottom. */
|
|
412
|
-
centerY?: number | string;
|
|
413
|
-
}
|
|
414
|
-
interface SpriteProps extends BaseProps {
|
|
415
|
-
texture?: string | Texture;
|
|
416
|
-
anchor?: number | {
|
|
417
|
-
x: number;
|
|
418
|
-
y: number;
|
|
419
|
-
};
|
|
420
|
-
tint?: number;
|
|
421
|
-
}
|
|
422
|
-
interface TextProps extends BaseProps {
|
|
423
|
-
text?: string;
|
|
424
|
-
style?: Partial<TextStyle>;
|
|
425
|
-
anchor?: number | {
|
|
426
|
-
x: number;
|
|
427
|
-
y: number;
|
|
428
|
-
};
|
|
429
|
-
'style-fontSize'?: number;
|
|
430
|
-
'style-fill'?: number | string;
|
|
431
|
-
'style-fontFamily'?: string;
|
|
432
|
-
'style-fontWeight'?: string;
|
|
433
|
-
'style-letterSpacing'?: number;
|
|
434
|
-
}
|
|
435
|
-
interface GraphicsProps extends BaseProps {
|
|
436
|
-
/** Draw function: receives the Graphics instance, called on mount and updates */
|
|
437
|
-
draw?: (g: any) => void;
|
|
438
|
-
/**
|
|
439
|
-
* Layout size hint (pixels). For Graphics, `width`/`height` do NOT apply a scale
|
|
440
|
-
* transform (unlike Container.width). They're forwarded to the parent
|
|
441
|
-
* FlexContainer as `layoutWidth`/`layoutHeight` so layout measures the element
|
|
442
|
-
* at the requested size while the actual geometry stays in the `draw` callback.
|
|
443
|
-
*/
|
|
444
|
-
width?: number;
|
|
445
|
-
height?: number;
|
|
446
|
-
}
|
|
447
|
-
interface AnimatedSpriteProps extends BaseProps {
|
|
448
|
-
textures?: Texture[];
|
|
449
|
-
animationSpeed?: number;
|
|
450
|
-
loop?: boolean;
|
|
451
|
-
playing?: boolean;
|
|
452
|
-
}
|
|
453
|
-
interface NineSliceSpriteProps extends BaseProps {
|
|
454
|
-
texture?: string | Texture;
|
|
455
|
-
leftWidth?: number;
|
|
456
|
-
topHeight?: number;
|
|
457
|
-
rightWidth?: number;
|
|
458
|
-
bottomHeight?: number;
|
|
459
|
-
}
|
|
460
|
-
interface TilingSpriteProps extends BaseProps {
|
|
461
|
-
texture?: string | Texture;
|
|
462
|
-
tilePosition?: {
|
|
463
|
-
x: number;
|
|
464
|
-
y: number;
|
|
465
|
-
};
|
|
466
|
-
}
|
|
467
|
-
interface ButtonComponentProps extends BaseProps, Omit<ButtonConfig, 'colors' | 'textStyle'> {
|
|
468
|
-
colors?: Partial<Record<ButtonState, number>>;
|
|
469
|
-
textStyle?: Record<string, unknown>;
|
|
470
|
-
defaultView?: ViewInput;
|
|
471
|
-
hoverView?: ViewInput;
|
|
472
|
-
pressedView?: ViewInput;
|
|
473
|
-
disabledView?: ViewInput;
|
|
474
|
-
'colors-default'?: number;
|
|
475
|
-
'colors-hover'?: number;
|
|
476
|
-
'colors-pressed'?: number;
|
|
477
|
-
'colors-disabled'?: number;
|
|
478
|
-
'textStyle-fontSize'?: number;
|
|
479
|
-
'textStyle-fill'?: number | string;
|
|
480
|
-
'textStyle-fontFamily'?: string;
|
|
481
|
-
'textStyle-fontWeight'?: string;
|
|
482
|
-
'textStyle-fontStyle'?: string;
|
|
483
|
-
'textStyle-letterSpacing'?: number;
|
|
484
|
-
onPress?: () => void;
|
|
485
|
-
}
|
|
486
|
-
interface LabelComponentProps extends BaseProps, Omit<LabelConfig, 'style'> {
|
|
487
|
-
style?: Partial<TextStyle>;
|
|
488
|
-
'style-fontSize'?: number;
|
|
489
|
-
'style-fill'?: number | string;
|
|
490
|
-
'style-fontFamily'?: string;
|
|
491
|
-
'style-fontWeight'?: string;
|
|
492
|
-
'style-letterSpacing'?: number;
|
|
493
|
-
}
|
|
494
|
-
interface LabelValueComponentProps extends Omit<BaseProps, 'width' | 'height' | 'label'>, Omit<LabelValueConfig, 'labelStyle' | 'valueStyle'> {
|
|
495
|
-
labelStyle?: Partial<TextStyle>;
|
|
496
|
-
valueStyle?: Partial<TextStyle>;
|
|
497
|
-
width?: number | string;
|
|
498
|
-
height?: number | string;
|
|
499
|
-
'labelStyle-fontSize'?: number;
|
|
500
|
-
'labelStyle-fill'?: number | string;
|
|
501
|
-
'labelStyle-fontFamily'?: string;
|
|
502
|
-
'labelStyle-fontWeight'?: string;
|
|
503
|
-
'valueStyle-fontSize'?: number;
|
|
504
|
-
'valueStyle-fill'?: number | string;
|
|
505
|
-
'valueStyle-fontFamily'?: string;
|
|
506
|
-
'valueStyle-fontWeight'?: string;
|
|
507
|
-
}
|
|
508
|
-
interface PanelComponentProps extends BaseProps, Omit<PanelConfig, 'layout'> {
|
|
509
|
-
layout?: Partial<FlexContainerConfig>;
|
|
510
|
-
}
|
|
511
|
-
interface FlexContainerComponentProps extends Omit<BaseProps, 'width' | 'height'>, FlexContainerConfig {
|
|
512
|
-
padding?: number | [number, number, number, number];
|
|
513
|
-
paddingTop?: number;
|
|
514
|
-
paddingRight?: number;
|
|
515
|
-
paddingBottom?: number;
|
|
516
|
-
paddingLeft?: number;
|
|
517
|
-
alignContent?: AlignContent;
|
|
518
|
-
width?: number | string;
|
|
519
|
-
height?: number | string;
|
|
520
|
-
}
|
|
521
|
-
interface ProgressBarComponentProps extends BaseProps, ProgressBarConfig {
|
|
522
|
-
progress?: number;
|
|
523
|
-
/** Custom track background (string texture name, Texture, or Container) */
|
|
524
|
-
trackView?: ViewInput;
|
|
525
|
-
/** Custom fill bar */
|
|
526
|
-
fillView?: ViewInput;
|
|
527
|
-
}
|
|
528
|
-
interface ScrollContainerComponentProps extends BaseProps, Omit<ScrollContainerConfig, 'width' | 'height'> {
|
|
529
|
-
width: number;
|
|
530
|
-
height: number;
|
|
531
|
-
/** Show scrollbar indicator */
|
|
532
|
-
scrollbar?: boolean;
|
|
533
|
-
/** Custom scrollbar thumb view */
|
|
534
|
-
thumbView?: ViewInput;
|
|
535
|
-
scrollbarWidth?: number;
|
|
536
|
-
scrollbarPadding?: number;
|
|
537
|
-
scrollbarColor?: number;
|
|
538
|
-
scrollbarAlpha?: number;
|
|
539
|
-
}
|
|
540
|
-
interface ModalComponentProps extends BaseProps, ModalConfig {
|
|
541
|
-
onClose?: () => void;
|
|
542
|
-
}
|
|
543
|
-
interface ToastComponentProps extends BaseProps, ToastConfig {
|
|
544
|
-
/** Custom background view */
|
|
545
|
-
backgroundView?: ViewInput;
|
|
546
|
-
}
|
|
547
|
-
interface BalanceDisplayComponentProps extends BaseProps, BalanceDisplayConfig {
|
|
548
|
-
/** Current balance value */
|
|
549
|
-
value?: number;
|
|
550
|
-
}
|
|
551
|
-
interface WinDisplayComponentProps extends BaseProps, WinDisplayConfig {
|
|
552
|
-
}
|
|
553
|
-
interface LayoutComponentProps extends BaseProps, LayoutConfig {
|
|
554
|
-
}
|
|
555
|
-
interface SliderComponentProps extends BaseProps, Omit<SliderConfig, 'width' | 'height'> {
|
|
556
|
-
width?: number;
|
|
557
|
-
height?: number;
|
|
558
|
-
onUpdate?: (value: number) => void;
|
|
559
|
-
onChange?: (value: number) => void;
|
|
560
|
-
}
|
|
561
|
-
interface ToggleComponentProps extends BaseProps, Omit<ToggleConfig, 'width' | 'height'> {
|
|
562
|
-
width?: number;
|
|
563
|
-
height?: number;
|
|
564
|
-
onView?: ViewInput;
|
|
565
|
-
offView?: ViewInput;
|
|
566
|
-
onChange?: (value: boolean) => void;
|
|
567
|
-
}
|
|
568
|
-
/**
|
|
569
|
-
* Complete element → prop-type map for all engine-registered JSX elements.
|
|
570
|
-
* Also consumable directly for typing custom wrappers around engine elements.
|
|
571
|
-
*/
|
|
572
|
-
interface EngineIntrinsicElements {
|
|
573
|
-
container: BaseProps;
|
|
574
|
-
sprite: SpriteProps;
|
|
575
|
-
text: TextProps;
|
|
576
|
-
graphics: GraphicsProps;
|
|
577
|
-
animatedSprite: AnimatedSpriteProps;
|
|
578
|
-
nineSliceSprite: NineSliceSpriteProps;
|
|
579
|
-
tilingSprite: TilingSpriteProps;
|
|
580
|
-
button: ButtonComponentProps;
|
|
581
|
-
label: LabelComponentProps;
|
|
582
|
-
labelValue: LabelValueComponentProps;
|
|
583
|
-
panel: PanelComponentProps;
|
|
584
|
-
flexContainer: FlexContainerComponentProps;
|
|
585
|
-
progressBar: ProgressBarComponentProps;
|
|
586
|
-
scrollContainer: ScrollContainerComponentProps;
|
|
587
|
-
modal: ModalComponentProps;
|
|
588
|
-
toast: ToastComponentProps;
|
|
589
|
-
balanceDisplay: BalanceDisplayComponentProps;
|
|
590
|
-
winDisplay: WinDisplayComponentProps;
|
|
591
|
-
layout: LayoutComponentProps;
|
|
592
|
-
slider: SliderComponentProps;
|
|
593
|
-
toggle: ToggleComponentProps;
|
|
594
|
-
}
|
|
595
|
-
declare module 'react' {
|
|
596
|
-
namespace JSX {
|
|
597
|
-
interface IntrinsicElements extends EngineIntrinsicElements {
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
export type { AnimatedSpriteProps, BalanceDisplayComponentProps, BaseProps, ButtonComponentProps, EngineIntrinsicElements, FlexContainerComponentProps, GraphicsProps, LabelComponentProps, LabelValueComponentProps, LayoutComponentProps, ModalComponentProps, NineSliceSpriteProps, PanelComponentProps, PixiEventProps, ProgressBarComponentProps, ScrollContainerComponentProps, SliderComponentProps, SpriteProps, TextProps, TilingSpriteProps, ToastComponentProps, ToggleComponentProps, WinDisplayComponentProps };
|
package/dist/react-jsx.esm.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-jsx.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|