exodeui 6.3.14 → 6.3.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/index.js +32 -30
- package/dist/index.mjs +3276 -2306
- package/dist/src/engine.d.ts +23 -0
- package/dist/src/types.d.ts +45 -3
- package/dist/src/utils/text.d.ts +3 -0
- package/package.json +1 -1
package/dist/src/engine.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare class ExodeUIEngine {
|
|
|
17
17
|
private maskCtx;
|
|
18
18
|
private lumaBuffer;
|
|
19
19
|
private lumaCtx;
|
|
20
|
+
private _noiseTileCanvas;
|
|
20
21
|
private layout;
|
|
21
22
|
private onTrigger?;
|
|
22
23
|
private onInputUpdate?;
|
|
@@ -47,6 +48,9 @@ export declare class ExodeUIEngine {
|
|
|
47
48
|
private _totalScroll;
|
|
48
49
|
private draggingBehaviors;
|
|
49
50
|
private isMouseDown;
|
|
51
|
+
private _layoutAnimCache;
|
|
52
|
+
private _springChainState;
|
|
53
|
+
private _emitterPools;
|
|
50
54
|
private objectVelocities;
|
|
51
55
|
private currentTime;
|
|
52
56
|
private frameCount;
|
|
@@ -180,6 +184,17 @@ export declare class ExodeUIEngine {
|
|
|
180
184
|
private applyAbsoluteTransform;
|
|
181
185
|
private applyObjectTransform;
|
|
182
186
|
private applyArtEffectOverlay;
|
|
187
|
+
/** Helper: shift the hue of a hex/hsl color by degrees, return as hsla */
|
|
188
|
+
private _shiftHue;
|
|
189
|
+
/**
|
|
190
|
+
* Simulate CSS `backdrop-filter: blur()` + glass overlay on Canvas2D.
|
|
191
|
+
* Since real backdrop-filter is not available in canvas, we:
|
|
192
|
+
* 1. Sample the canvas pixels behind this object's bounding box
|
|
193
|
+
* 2. Draw them into an offscreen canvas and apply a blur filter
|
|
194
|
+
* 3. Clip to the object shape and paint the blurred backdrop
|
|
195
|
+
* 4. Apply the overlay color tint, sheen highlight, noise grain, and glass border
|
|
196
|
+
*/
|
|
197
|
+
private applyBackgroundBlurGlass;
|
|
183
198
|
private applyPath;
|
|
184
199
|
private _tracePath;
|
|
185
200
|
private renderInputBox;
|
|
@@ -188,6 +203,11 @@ export declare class ExodeUIEngine {
|
|
|
188
203
|
private renderButton;
|
|
189
204
|
private renderToggleButton;
|
|
190
205
|
private renderToggle;
|
|
206
|
+
private renderCheckbox;
|
|
207
|
+
private renderRadioGroup;
|
|
208
|
+
private renderBarChart;
|
|
209
|
+
private renderPieChart;
|
|
210
|
+
private getRadioGroupItemIndexAtPointer;
|
|
191
211
|
private renderLineGraph;
|
|
192
212
|
private _catmullRom;
|
|
193
213
|
private normalizeOpacity;
|
|
@@ -200,6 +220,9 @@ export declare class ExodeUIEngine {
|
|
|
200
220
|
private drawListViewRect;
|
|
201
221
|
private solveBehaviors;
|
|
202
222
|
private applyBehaviorSensor;
|
|
223
|
+
private getObjectProperty;
|
|
224
|
+
private setObjectProperty;
|
|
225
|
+
private applyEasing;
|
|
203
226
|
private lerp;
|
|
204
227
|
private deepMerge;
|
|
205
228
|
private renderFittedImage;
|
package/dist/src/types.d.ts
CHANGED
|
@@ -249,6 +249,7 @@ export type Geometry = {
|
|
|
249
249
|
textDecoration?: 'none' | 'underline' | 'line-through';
|
|
250
250
|
textCase?: 'none' | 'uppercase' | 'lowercase' | 'capitalize';
|
|
251
251
|
paragraphSpacing?: number;
|
|
252
|
+
paragraphIndent?: number;
|
|
252
253
|
textInputId?: string;
|
|
253
254
|
segments?: {
|
|
254
255
|
text: string;
|
|
@@ -277,6 +278,38 @@ export type Geometry = {
|
|
|
277
278
|
isEnabled: boolean;
|
|
278
279
|
};
|
|
279
280
|
fontStyle?: 'normal' | 'italic';
|
|
281
|
+
isPointText?: boolean;
|
|
282
|
+
autoHeight?: boolean;
|
|
283
|
+
padding?: {
|
|
284
|
+
top?: number;
|
|
285
|
+
right?: number;
|
|
286
|
+
bottom?: number;
|
|
287
|
+
left?: number;
|
|
288
|
+
};
|
|
289
|
+
smallCaps?: boolean;
|
|
290
|
+
baselineShift?: number;
|
|
291
|
+
hyphenation?: boolean;
|
|
292
|
+
composer?: 'single-line' | 'every-line';
|
|
293
|
+
balanceRaggedLines?: boolean;
|
|
294
|
+
kerning?: 'auto' | 'optical' | 'manual' | 'none';
|
|
295
|
+
kerningValue?: number;
|
|
296
|
+
justifyMinWordSpacing?: number;
|
|
297
|
+
justifyMaxWordSpacing?: number;
|
|
298
|
+
justifyMinLetterSpacing?: number;
|
|
299
|
+
justifyMaxLetterSpacing?: number;
|
|
300
|
+
paragraphRule?: {
|
|
301
|
+
top?: {
|
|
302
|
+
width: number;
|
|
303
|
+
color: string;
|
|
304
|
+
offset: number;
|
|
305
|
+
};
|
|
306
|
+
bottom?: {
|
|
307
|
+
width: number;
|
|
308
|
+
color: string;
|
|
309
|
+
offset: number;
|
|
310
|
+
};
|
|
311
|
+
};
|
|
312
|
+
pathFlip?: boolean;
|
|
280
313
|
} | {
|
|
281
314
|
type: 'Triangle';
|
|
282
315
|
width: number;
|
|
@@ -415,7 +448,13 @@ export declare enum BehaviorType {
|
|
|
415
448
|
Lens = "Lens",
|
|
416
449
|
Gravity = "Gravity",
|
|
417
450
|
Velocity = "Velocity",
|
|
418
|
-
Shear = "Shear"
|
|
451
|
+
Shear = "Shear",
|
|
452
|
+
LayoutAnimation = "LayoutAnimation",
|
|
453
|
+
SpringChain = "SpringChain",
|
|
454
|
+
ParticleEmitter = "ParticleEmitter",
|
|
455
|
+
StateReactive = "StateReactive",
|
|
456
|
+
Fold = "Fold",
|
|
457
|
+
Crumple = "Crumple"
|
|
419
458
|
}
|
|
420
459
|
export declare enum BehaviorSensor {
|
|
421
460
|
Scale = "Scale",
|
|
@@ -515,7 +554,7 @@ export interface Constraint {
|
|
|
515
554
|
mass?: number;
|
|
516
555
|
}
|
|
517
556
|
export interface ShapeObject {
|
|
518
|
-
type: 'Shape' | 'Group' | 'Component' | 'Frame' | 'Button' | 'Bone' | 'Toggle' | 'Slider' | 'Dropdown' | 'ListView';
|
|
557
|
+
type: 'Shape' | 'Group' | 'Component' | 'Frame' | 'Button' | 'Bone' | 'Toggle' | 'Slider' | 'Dropdown' | 'ListView' | 'Checkbox' | 'RadioGroup' | 'BarChart' | 'PieChart';
|
|
519
558
|
id: string;
|
|
520
559
|
name: string;
|
|
521
560
|
transform: Transform;
|
|
@@ -718,7 +757,10 @@ export declare enum LogicOp {
|
|
|
718
757
|
IS_MOUSE_DOWN = "IS_MOUSE_DOWN",
|
|
719
758
|
EFFECTOR = "EFFECTOR",
|
|
720
759
|
MONITOR = "MONITOR",
|
|
721
|
-
DELAY = "DELAY"
|
|
760
|
+
DELAY = "DELAY",
|
|
761
|
+
SPRING_PULL = "SPRING_PULL",
|
|
762
|
+
SPRING_SETTLE = "SPRING_SETTLE",
|
|
763
|
+
EMIT = "EMIT"
|
|
722
764
|
}
|
|
723
765
|
export interface LogicNode {
|
|
724
766
|
id: string;
|
package/dist/src/utils/text.d.ts
CHANGED
|
@@ -12,6 +12,9 @@ export interface TextMeasurementOptions {
|
|
|
12
12
|
textCase?: 'uppercase' | 'lowercase' | 'capitalize' | 'none';
|
|
13
13
|
segments?: any[];
|
|
14
14
|
enableSegments?: boolean;
|
|
15
|
+
hyphenation?: boolean;
|
|
16
|
+
composer?: 'single-line' | 'every-line';
|
|
17
|
+
balanceRaggedLines?: boolean;
|
|
15
18
|
}
|
|
16
19
|
export declare function measureText(options: TextMeasurementOptions): {
|
|
17
20
|
width: number;
|