zimporter-html 1.0.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.
Files changed (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +82 -0
  3. package/dist/ParticleConverter.d.ts +26 -0
  4. package/dist/ParticleConverter.d.ts.map +1 -0
  5. package/dist/ParticleConverter.js +129 -0
  6. package/dist/ParticleConverter.js.map +1 -0
  7. package/dist/SceneData.d.ts +189 -0
  8. package/dist/SceneData.d.ts.map +1 -0
  9. package/dist/SceneData.js +16 -0
  10. package/dist/SceneData.js.map +1 -0
  11. package/dist/ZButton.d.ts +37 -0
  12. package/dist/ZButton.d.ts.map +1 -0
  13. package/dist/ZButton.js +258 -0
  14. package/dist/ZButton.js.map +1 -0
  15. package/dist/ZContainer.d.ts +154 -0
  16. package/dist/ZContainer.d.ts.map +1 -0
  17. package/dist/ZContainer.js +540 -0
  18. package/dist/ZContainer.js.map +1 -0
  19. package/dist/ZCuePointsManager.d.ts +8 -0
  20. package/dist/ZCuePointsManager.d.ts.map +1 -0
  21. package/dist/ZCuePointsManager.js +26 -0
  22. package/dist/ZCuePointsManager.js.map +1 -0
  23. package/dist/ZNineSlice.d.ts +23 -0
  24. package/dist/ZNineSlice.d.ts.map +1 -0
  25. package/dist/ZNineSlice.js +72 -0
  26. package/dist/ZNineSlice.js.map +1 -0
  27. package/dist/ZPool.d.ts +16 -0
  28. package/dist/ZPool.d.ts.map +1 -0
  29. package/dist/ZPool.js +54 -0
  30. package/dist/ZPool.js.map +1 -0
  31. package/dist/ZResizeables.d.ts +8 -0
  32. package/dist/ZResizeables.d.ts.map +1 -0
  33. package/dist/ZResizeables.js +16 -0
  34. package/dist/ZResizeables.js.map +1 -0
  35. package/dist/ZScene.d.ts +82 -0
  36. package/dist/ZScene.d.ts.map +1 -0
  37. package/dist/ZScene.js +663 -0
  38. package/dist/ZScene.js.map +1 -0
  39. package/dist/ZSceneStack.d.ts +19 -0
  40. package/dist/ZSceneStack.d.ts.map +1 -0
  41. package/dist/ZSceneStack.js +47 -0
  42. package/dist/ZSceneStack.js.map +1 -0
  43. package/dist/ZScroll.d.ts +72 -0
  44. package/dist/ZScroll.d.ts.map +1 -0
  45. package/dist/ZScroll.js +276 -0
  46. package/dist/ZScroll.js.map +1 -0
  47. package/dist/ZSlider.d.ts +45 -0
  48. package/dist/ZSlider.d.ts.map +1 -0
  49. package/dist/ZSlider.js +176 -0
  50. package/dist/ZSlider.js.map +1 -0
  51. package/dist/ZSpine.d.ts +54 -0
  52. package/dist/ZSpine.d.ts.map +1 -0
  53. package/dist/ZSpine.js +166 -0
  54. package/dist/ZSpine.js.map +1 -0
  55. package/dist/ZState.d.ts +15 -0
  56. package/dist/ZState.d.ts.map +1 -0
  57. package/dist/ZState.js +50 -0
  58. package/dist/ZState.js.map +1 -0
  59. package/dist/ZTextInput.d.ts +24 -0
  60. package/dist/ZTextInput.d.ts.map +1 -0
  61. package/dist/ZTextInput.js +109 -0
  62. package/dist/ZTextInput.js.map +1 -0
  63. package/dist/ZTimeline.d.ts +30 -0
  64. package/dist/ZTimeline.d.ts.map +1 -0
  65. package/dist/ZTimeline.js +123 -0
  66. package/dist/ZTimeline.js.map +1 -0
  67. package/dist/ZToggle.d.ts +19 -0
  68. package/dist/ZToggle.d.ts.map +1 -0
  69. package/dist/ZToggle.js +56 -0
  70. package/dist/ZToggle.js.map +1 -0
  71. package/dist/ZUpdatables.d.ts +24 -0
  72. package/dist/ZUpdatables.d.ts.map +1 -0
  73. package/dist/ZUpdatables.js +50 -0
  74. package/dist/ZUpdatables.js.map +1 -0
  75. package/dist/index.d.ts +18 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +18 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/zimporter-html.min.js +2 -0
  80. package/dist/zimporter-html.min.js.map +1 -0
  81. package/package.json +35 -0
@@ -0,0 +1,258 @@
1
+ import { ZContainer } from './ZContainer';
2
+ // ─────────────────────────────────────────────────────────────────────────────
3
+ // Standalone listener helpers (same API as the PIXI version)
4
+ // ─────────────────────────────────────────────────────────────────────────────
5
+ export const RemoveClickListener = (container) => {
6
+ container.removeAllListeners('mouseup');
7
+ container.removeAllListeners('touchend');
8
+ container.removeAllListeners('touchendoutside');
9
+ container.removeAllListeners('mouseupoutside');
10
+ container.removeAllListeners('mousedown');
11
+ container.removeAllListeners('touchstart');
12
+ };
13
+ export const AttachClickListener = (container, pressCallback, longPressCallback) => {
14
+ container.interactive = true;
15
+ container.el.style.pointerEvents = 'auto';
16
+ if (pressCallback)
17
+ container.pressCallback = pressCallback;
18
+ if (longPressCallback)
19
+ container.longPressCallback = longPressCallback;
20
+ const LONG_PRESS_DURATION = 500;
21
+ const MAX_DRAG_DISTANCE = 20;
22
+ let longPressTimer = null;
23
+ let longPressFired = false;
24
+ let startPos = null;
25
+ const getPos = (e) => {
26
+ if (e.global)
27
+ return e.global;
28
+ if (e.clientX !== undefined)
29
+ return { x: e.clientX, y: e.clientY };
30
+ return { x: 0, y: 0 };
31
+ };
32
+ const onDown = (e) => {
33
+ longPressFired = false;
34
+ startPos = getPos(e);
35
+ longPressTimer = setTimeout(() => {
36
+ longPressFired = true;
37
+ container.longPressCallback?.();
38
+ }, LONG_PRESS_DURATION);
39
+ container.on('mouseup', onUp);
40
+ container.on('touchend', onUp);
41
+ container.on('touchendoutside', onUp);
42
+ container.on('mouseupoutside', onUp);
43
+ };
44
+ const onUp = (e) => {
45
+ if (longPressTimer) {
46
+ clearTimeout(longPressTimer);
47
+ longPressTimer = null;
48
+ }
49
+ const endPos = getPos(e);
50
+ let isDrag = false;
51
+ if (startPos) {
52
+ const dx = endPos.x - startPos.x;
53
+ const dy = endPos.y - startPos.y;
54
+ if (Math.sqrt(dx * dx + dy * dy) > MAX_DRAG_DISTANCE)
55
+ isDrag = true;
56
+ }
57
+ startPos = null;
58
+ if (!longPressFired && !isDrag) {
59
+ container.pressCallback?.();
60
+ }
61
+ container.off('mouseup', onUp);
62
+ container.off('touchend', onUp);
63
+ container.off('touchendoutside', onUp);
64
+ container.off('mouseupoutside', onUp);
65
+ };
66
+ container.on('mousedown', onDown);
67
+ container.on('touchstart', onDown);
68
+ };
69
+ export const AddHoverListener = (container, hoverCallback, outCallback) => {
70
+ container.on('mouseover', hoverCallback);
71
+ container.on('mouseout', outCallback);
72
+ };
73
+ export const RemoveHoverListener = (container) => {
74
+ container.removeAllListeners('mouseover');
75
+ container.removeAllListeners('mouseout');
76
+ };
77
+ export class ZButton extends ZContainer {
78
+ topLabelContainer;
79
+ topLabelContainer2;
80
+ overState;
81
+ overLabelContainer;
82
+ overLabelContainer2;
83
+ downState;
84
+ downLabelContainer;
85
+ downLabelContainer2;
86
+ upState;
87
+ upLabelContainer;
88
+ upLabelContainer2;
89
+ disabledState;
90
+ disabledLabelContainer;
91
+ disabledLabelContainer2;
92
+ pressCallback;
93
+ longPressCallback;
94
+ labelState = 'none';
95
+ getType() { return 'ZButton'; }
96
+ init(_labelStr = '') {
97
+ super.init();
98
+ this.interactive = true;
99
+ this.interactiveChildren = true;
100
+ this.el.style.pointerEvents = 'auto';
101
+ if (this.overState) {
102
+ this.overLabelContainer = this.overState.getChildByName('labelContainer');
103
+ this.overLabelContainer2 = this.overState.getChildByName('labelContainer2');
104
+ }
105
+ if (this.disabledState) {
106
+ this.disabledLabelContainer = this.disabledState.getChildByName('labelContainer');
107
+ this.disabledLabelContainer2 = this.disabledState.getChildByName('labelContainer2');
108
+ }
109
+ if (this.downState) {
110
+ this.downLabelContainer = this.downState.getChildByName('labelContainer');
111
+ this.downLabelContainer2 = this.downState.getChildByName('labelContainer2');
112
+ }
113
+ if (this.upState) {
114
+ this.upLabelContainer = this.upState.getChildByName('labelContainer');
115
+ this.upLabelContainer2 = this.upState.getChildByName('labelContainer2');
116
+ }
117
+ this.topLabelContainer = this.labelContainer;
118
+ this.topLabelContainer2 = this.labelContainer2;
119
+ if (this.topLabelContainer) {
120
+ this.labelState = 'single';
121
+ if (this.upState)
122
+ this.el.appendChild(this.upState.el);
123
+ this.el.appendChild(this.topLabelContainer.el);
124
+ }
125
+ else if (this.overState && this.disabledState && this.downState && this.upState) {
126
+ if (this.overLabelContainer && this.disabledLabelContainer && this.downLabelContainer && this.upLabelContainer) {
127
+ this.labelState = 'multi';
128
+ this.el.appendChild(this.upState.el);
129
+ if (this.upLabelContainer)
130
+ this.upState.addChild(this.upLabelContainer);
131
+ if (this.upLabelContainer2)
132
+ this.upState.addChild(this.upLabelContainer2);
133
+ }
134
+ }
135
+ this.enable();
136
+ }
137
+ setLabel(name) {
138
+ if (this.labelState === 'single') {
139
+ this.getAll('labelContainer').forEach(l => { l.visible = true; l.setText(name); });
140
+ }
141
+ else if (this.labelState === 'multi') {
142
+ [
143
+ ...(this.overState ? this.overState.getAll('labelContainer') : []),
144
+ ...(this.disabledState ? this.disabledState.getAll('labelContainer') : []),
145
+ ...(this.downState ? this.downState.getAll('labelContainer') : []),
146
+ ...(this.upState ? this.upState.getAll('labelContainer') : []),
147
+ ].forEach(l => { l.visible = true; l.setText(name); });
148
+ }
149
+ }
150
+ setLabel2(name) {
151
+ if (this.labelState === 'single') {
152
+ this.getAll('labelContainer2').forEach(l => { l.visible = true; l.setText(name); });
153
+ }
154
+ else if (this.labelState === 'multi') {
155
+ [
156
+ ...(this.overState ? this.overState.getAll('labelContainer2') : []),
157
+ ...(this.disabledState ? this.disabledState.getAll('labelContainer2') : []),
158
+ ...(this.downState ? this.downState.getAll('labelContainer2') : []),
159
+ ...(this.upState ? this.upState.getAll('labelContainer2') : []),
160
+ ].forEach(l => { l.visible = true; l.setText(name); });
161
+ }
162
+ }
163
+ setFixedTextSize(fixed) {
164
+ this.getAll('labelContainer').forEach(c => c.setFixedBoxSize(fixed));
165
+ this.getAll('labelContainer2').forEach(c => c.setFixedBoxSize(fixed));
166
+ }
167
+ makeSingleLine() {
168
+ this.getAll('labelContainer2').forEach(l => l.visible = false);
169
+ this.getAll('labelContainer').forEach(l => {
170
+ const parent = l.parent;
171
+ if (parent)
172
+ l.y = 0; // centered; adjust if you know height
173
+ });
174
+ }
175
+ getLabel() {
176
+ if (this.labelState === 'single' && this.topLabelContainer) {
177
+ return this.topLabelContainer.getTextField();
178
+ }
179
+ else if (this.labelState === 'multi' && this.upLabelContainer) {
180
+ return this.upLabelContainer.getTextField();
181
+ }
182
+ return null;
183
+ }
184
+ // ── Visual states ─────────────────────────────────────────────────────────
185
+ _showState(state) {
186
+ [this.upState, this.downState, this.overState, this.disabledState].forEach(s => {
187
+ if (s)
188
+ s.setVisible(false);
189
+ });
190
+ if (state)
191
+ state.setVisible(true);
192
+ }
193
+ enable() {
194
+ this.el.style.pointerEvents = 'auto';
195
+ this._showState(this.upState);
196
+ if (!this._interactionsAttached) {
197
+ this._attachInteractions();
198
+ this._interactionsAttached = true;
199
+ }
200
+ }
201
+ disable() {
202
+ this.el.style.pointerEvents = 'none';
203
+ this._showState(this.disabledState || this.upState);
204
+ }
205
+ _interactionsAttached = false;
206
+ _attachInteractions() {
207
+ this.el.style.cursor = 'pointer';
208
+ // ── Hover ─────────────────────────────────────────────────────────────
209
+ this.el.addEventListener('mouseenter', () => {
210
+ if (this.overState)
211
+ this._showState(this.overState);
212
+ });
213
+ this.el.addEventListener('mouseleave', () => {
214
+ if (this.upState)
215
+ this._showState(this.upState);
216
+ });
217
+ // ── Press with drag-guard — intentionally does NOT go through
218
+ // AttachClickListener, which would overwrite this.pressCallback. ────
219
+ const LONG_PRESS_MS = 500;
220
+ const MAX_DRAG_PX = 20;
221
+ let startX = 0, startY = 0;
222
+ let longTimer = null;
223
+ let longFired = false;
224
+ const onDown = (e) => {
225
+ startX = e.clientX;
226
+ startY = e.clientY;
227
+ longFired = false;
228
+ if (this.downState)
229
+ this._showState(this.downState);
230
+ longTimer = setTimeout(() => {
231
+ longFired = true;
232
+ this.longPressCallback?.();
233
+ }, LONG_PRESS_MS);
234
+ this.el.addEventListener('pointerup', onUp, { once: true });
235
+ this.el.addEventListener('pointercancel', onCancel, { once: true });
236
+ };
237
+ const onUp = (e) => {
238
+ if (longTimer) {
239
+ clearTimeout(longTimer);
240
+ longTimer = null;
241
+ }
242
+ this._showState(this.upState);
243
+ const dx = e.clientX - startX, dy = e.clientY - startY;
244
+ if (!longFired && Math.sqrt(dx * dx + dy * dy) <= MAX_DRAG_PX) {
245
+ this.pressCallback?.();
246
+ }
247
+ };
248
+ const onCancel = () => {
249
+ if (longTimer) {
250
+ clearTimeout(longTimer);
251
+ longTimer = null;
252
+ }
253
+ this._showState(this.upState);
254
+ };
255
+ this.el.addEventListener('pointerdown', onDown);
256
+ }
257
+ }
258
+ //# sourceMappingURL=ZButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZButton.js","sourceRoot":"","sources":["../src/ZButton.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import { InstanceData, OrientationData } from './SceneData';
2
+ /**
3
+ * HTML div–based display object that mirrors the ZContainer interface from
4
+ * the PIXI and Phaser versions of zImporter.
5
+ *
6
+ * Each ZContainer owns a single HTMLDivElement (`el`).
7
+ * The element is `position:absolute; left:0; top:0; width:0; height:0; overflow:visible`
8
+ * so that children are positioned relative to its (0,0) origin and the
9
+ * CSS transform maps 1-to-1 to PIXI's transform model:
10
+ *
11
+ * T(x, y) · R(rotation) · S(scaleX, scaleY) · T(-pivotX, -pivotY)
12
+ *
13
+ * This is identical to how PIXI.Container resolves world coordinates.
14
+ */
15
+ export declare class ZContainer {
16
+ /** The root div element for this container. */
17
+ readonly el: HTMLDivElement;
18
+ /** Current CSS-pixel X offset of the stage from the viewport edge. */
19
+ static stageOffsetX: number;
20
+ /** Current CSS-pixel Y offset of the stage from the viewport edge. */
21
+ static stageOffsetY: number;
22
+ /** Current uniform CSS scale applied to the stage element. */
23
+ static stageScale: number;
24
+ portrait: OrientationData;
25
+ landscape: OrientationData;
26
+ currentTransform: OrientationData;
27
+ resizeable: boolean;
28
+ private _name;
29
+ get name(): string;
30
+ set name(value: string);
31
+ _fitToScreen: boolean;
32
+ originalTextWidth?: number;
33
+ originalTextHeight?: number;
34
+ originalFontSize?: number;
35
+ fixedBoxSize?: boolean;
36
+ _props?: any;
37
+ private _x;
38
+ private _y;
39
+ private _rotation;
40
+ private _scaleX;
41
+ private _scaleY;
42
+ private _pivotX;
43
+ private _pivotY;
44
+ private _alpha;
45
+ private _visible;
46
+ interactive: boolean;
47
+ interactiveChildren: boolean;
48
+ /** Typed child list (mirrors PIXI's children array). */
49
+ children: ZContainer[];
50
+ parent: ZContainer | null;
51
+ constructor();
52
+ addChild(child: ZContainer): ZContainer;
53
+ removeChild(child: ZContainer): ZContainer;
54
+ removeChildren(): void;
55
+ getChildByName(name: string): ZContainer | null;
56
+ getChildAt(index: number): ZContainer;
57
+ get(childName: string): ZContainer | null;
58
+ getAll(childName: string): ZContainer[];
59
+ getAllOfType(type: string): ZContainer[];
60
+ get x(): number;
61
+ set x(value: number);
62
+ get y(): number;
63
+ set y(value: number);
64
+ get rotation(): number;
65
+ set rotation(value: number);
66
+ get scaleX(): number;
67
+ set scaleX(value: number);
68
+ get scaleY(): number;
69
+ set scaleY(value: number);
70
+ get pivotX(): number;
71
+ set pivotX(value: number);
72
+ get pivotY(): number;
73
+ set pivotY(value: number);
74
+ get alpha(): number;
75
+ set alpha(value: number);
76
+ get visible(): boolean;
77
+ set visible(value: boolean);
78
+ /**
79
+ * PIXI-compatible scale object. Setting `.x` / `.y` delegates to the
80
+ * `scaleX` / `scaleY` setters so that ZScene can write
81
+ * `stage.scale.x = s` exactly as in the PIXI version.
82
+ *
83
+ * Initialised in the constructor so `this` is captured correctly.
84
+ */
85
+ readonly scale: {
86
+ x: number;
87
+ y: number;
88
+ };
89
+ /**
90
+ * Writes the CSS transform that replicates PIXI's:
91
+ * T(x,y) · R(rotation) · S(scaleX,scaleY) · T(-pivotX,-pivotY)
92
+ */
93
+ private _applyTransform;
94
+ setInstanceData(data: InstanceData, orientation: string): void;
95
+ /**
96
+ * Stretches this container to visually cover the entire browser viewport.
97
+ * Mirrors PIXI's `executeFitToScreen` — positions the container at the
98
+ * viewport's top-left (expressed in stage / scene-unit coords) and scales
99
+ * the first child image element to fill the viewport dimensions.
100
+ *
101
+ * @param viewportW - Current browser viewport width in CSS pixels.
102
+ * @param viewportH - Current browser viewport height in CSS pixels.
103
+ * @param stageOffsetX - CSS-pixel X offset of the scaled stage from the viewport edge.
104
+ * @param stageOffsetY - CSS-pixel Y offset of the scaled stage from the viewport edge.
105
+ * @param stageScale - Uniform CSS scale applied to the stage.
106
+ */
107
+ executeFitToScreen(viewportW: number, viewportH: number, stageOffsetX: number, stageOffsetY: number, stageScale: number): void;
108
+ applyTransform(): void;
109
+ private _applyAnchor;
110
+ /**
111
+ * Public entry point for ZScene to re-run the anchor computation after all
112
+ * containers in the resize map have been updated to the new orientation.
113
+ * This guarantees that ancestor `_x / _y` values are current when chain
114
+ * inversion runs.
115
+ */
116
+ reapplyAnchor(): void;
117
+ private _doApplyAnchor;
118
+ resize(width: number, height: number, orientation: 'portrait' | 'landscape'): void;
119
+ isAnchored(): boolean;
120
+ setAlpha(value: number): void;
121
+ getAlpha(): number;
122
+ setVisible(value: boolean): void;
123
+ getVisible(): boolean;
124
+ getProps(): any;
125
+ getType(): string;
126
+ setFixedBoxSize(value: boolean): void;
127
+ /**
128
+ * Finds the first text element (a `<span class="z-text">`) among children.
129
+ * Mirrors PIXI's `getTextField()`.
130
+ */
131
+ getTextField(): HTMLElement | null;
132
+ setText(text: string): void;
133
+ setTextStyle(data: Partial<CSSStyleDeclaration>): void;
134
+ getTextStyle(): CSSStyleDeclaration | null;
135
+ private _resizeText;
136
+ /** Called once all children have been added. Captures original text dimensions. */
137
+ init(): void;
138
+ set cursor(value: string);
139
+ get cursor(): string;
140
+ private _listeners;
141
+ on(event: string, listener: Function): this;
142
+ off(event: string, listener: Function): this;
143
+ removeAllListeners(event?: string): this;
144
+ emit(event: string, ...args: any[]): void;
145
+ /**
146
+ * Maps the PIXI event names used by ZButton to their DOM equivalents
147
+ * and attaches a single delegating DOM listener.
148
+ */
149
+ private _domListeners;
150
+ private _syncDOMListeners;
151
+ private static _pixiToDom;
152
+ private static _wrapEvent;
153
+ }
154
+ //# sourceMappingURL=ZContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZContainer.d.ts","sourceRoot":"","sources":["../src/ZContainer.ts"],"names":[],"mappings":"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"}