@shijiu/jsview 1.9.730 → 1.9.747

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 (116) hide show
  1. package/dom/jsv-browser-debug-dom.js +1 -1
  2. package/dom/jsv-dom.js +1 -1
  3. package/dom/jsv-engine-js-browser.js +1 -1
  4. package/dom/jsv-forge-define.js +1 -1
  5. package/package.json +14 -17
  6. package/patches/node_modules/vite/dist/node/chunks/dep-0fc8e132.js +8 -1
  7. package/patches/node_modules/vite/dist/node/jsview.vite.config.js +12 -6
  8. package/dom/jsview-dom/README.md +0 -5
  9. package/dom/jsview-dom/package-lock.json-perfect +0 -3898
  10. package/dom/jsview-dom/package.json +0 -23
  11. package/dom/jsview-dom/rollup/browser-debug-dom.rollup.config.js +0 -15
  12. package/dom/jsview-dom/rollup/dom.rollup.config.js +0 -14
  13. package/dom/jsview-dom/rollup/engine-js-browser.rollup.config.js +0 -14
  14. package/dom/jsview-dom/rollup/forge-define.rollup.config.js +0 -14
  15. package/dom/jsview-dom/scripts/release_dist.sh +0 -36
  16. package/dom/jsview-dom/src/dom-browser-hook/HookDocument.js +0 -118
  17. package/dom/jsview-dom/src/dom-browser-hook/OriginDocument.js +0 -19
  18. package/dom/jsview-dom/src/dom-browser-hook/StyleFormatCheck.js +0 -559
  19. package/dom/jsview-dom/src/dom-browser-hook/index.js +0 -6
  20. package/dom/jsview-dom/src/dom-wrapper/ForgeExtension.js +0 -226
  21. package/dom/jsview-dom/src/dom-wrapper/JsViewForgeApp.js +0 -85
  22. package/dom/jsview-dom/src/dom-wrapper/JsViewProxy.js +0 -51
  23. package/dom/jsview-dom/src/dom-wrapper/event/AnimationEvent.js +0 -7
  24. package/dom/jsview-dom/src/dom-wrapper/event/Event.js +0 -12
  25. package/dom/jsview-dom/src/dom-wrapper/event/FocusEvent.js +0 -9
  26. package/dom/jsview-dom/src/dom-wrapper/event/KeyboardEvent.js +0 -43
  27. package/dom/jsview-dom/src/dom-wrapper/event/LoadEvent.js +0 -8
  28. package/dom/jsview-dom/src/dom-wrapper/index.js +0 -16
  29. package/dom/jsview-dom/src/dom-wrapper/node/AnchorElement.js +0 -24
  30. package/dom/jsview-dom/src/dom-wrapper/node/AudioElement.js +0 -60
  31. package/dom/jsview-dom/src/dom-wrapper/node/Comment.js +0 -10
  32. package/dom/jsview-dom/src/dom-wrapper/node/DivElement.js +0 -498
  33. package/dom/jsview-dom/src/dom-wrapper/node/Document.js +0 -274
  34. package/dom/jsview-dom/src/dom-wrapper/node/Element.js +0 -852
  35. package/dom/jsview-dom/src/dom-wrapper/node/FDivElement.js +0 -48
  36. package/dom/jsview-dom/src/dom-wrapper/node/HeadElement.js +0 -47
  37. package/dom/jsview-dom/src/dom-wrapper/node/ImageElement.js +0 -203
  38. package/dom/jsview-dom/src/dom-wrapper/node/JsvAudioTrackElement.js +0 -22
  39. package/dom/jsview-dom/src/dom-wrapper/node/JsvElement.js +0 -40
  40. package/dom/jsview-dom/src/dom-wrapper/node/LinkElement.js +0 -48
  41. package/dom/jsview-dom/src/dom-wrapper/node/MediaElement.js +0 -230
  42. package/dom/jsview-dom/src/dom-wrapper/node/Node.js +0 -178
  43. package/dom/jsview-dom/src/dom-wrapper/node/SVGElement.js +0 -9
  44. package/dom/jsview-dom/src/dom-wrapper/node/ScriptElement.js +0 -45
  45. package/dom/jsview-dom/src/dom-wrapper/node/StyleElement.js +0 -33
  46. package/dom/jsview-dom/src/dom-wrapper/node/StyleElementCache.js +0 -41
  47. package/dom/jsview-dom/src/dom-wrapper/node/Text.js +0 -22
  48. package/dom/jsview-dom/src/dom-wrapper/node/UnknownElement.js +0 -4
  49. package/dom/jsview-dom/src/dom-wrapper/node/VideoElement.js +0 -237
  50. package/dom/jsview-dom/src/dom-wrapper/style/BorderImage.js +0 -25
  51. package/dom/jsview-dom/src/dom-wrapper/style/Inset.js +0 -26
  52. package/dom/jsview-dom/src/dom-wrapper/style/JsvStyleVariable.js +0 -65
  53. package/dom/jsview-dom/src/dom-wrapper/style/KeyframeRule.js +0 -11
  54. package/dom/jsview-dom/src/dom-wrapper/style/StyleDeclaration.js +0 -609
  55. package/dom/jsview-dom/src/dom-wrapper/style/StyleSheet.js +0 -51
  56. package/dom/jsview-dom/src/dom-wrapper/style/StyleValue.js +0 -385
  57. package/dom/jsview-dom/src/dom-wrapper/style/TextStylePackMap.js +0 -43
  58. package/dom/jsview-dom/src/dom-wrapper/style/URL.js +0 -144
  59. package/dom/jsview-dom/src/dom-wrapper/utils/EventHandler.js +0 -42
  60. package/dom/jsview-dom/src/dom-wrapper/utils/FDivRoot.js +0 -86
  61. package/dom/jsview-dom/src/dom-wrapper/utils/JsvLazySyncCache.js +0 -64
  62. package/dom/jsview-dom/src/dom-wrapper/utils/Log.js +0 -42
  63. package/dom/jsview-dom/src/dom-wrapper/utils/MutationObserver.js +0 -32
  64. package/dom/jsview-dom/src/dom-wrapper/utils/focusableNode.js +0 -715
  65. package/dom/jsview-dom/src/engine-js/ForgeDefine.js +0 -8
  66. package/dom/jsview-dom/src/engine-js/ForgeExtensionDefine.js +0 -14
  67. package/dom/jsview-dom/src/engine-js/browser/PlatformUtils.js +0 -100
  68. package/dom/jsview-dom/src/engine-js/browser/animation_base.js +0 -313
  69. package/dom/jsview-dom/src/engine-js/browser/animation_keyframe.js +0 -64
  70. package/dom/jsview-dom/src/engine-js/browser/animation_progress.js +0 -287
  71. package/dom/jsview-dom/src/engine-js/browser/animation_proxy.js +0 -906
  72. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/demux.js +0 -143
  73. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/gifDecoder.js +0 -12
  74. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/libwebp-0.6.0.min.js +0 -160
  75. package/dom/jsview-dom/src/engine-js/browser/console_log.js +0 -25
  76. package/dom/jsview-dom/src/engine-js/browser/dynamic_key_frames.js +0 -95
  77. package/dom/jsview-dom/src/engine-js/browser/easing.js +0 -114
  78. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/element_transform.js +0 -122
  79. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/gjk.js +0 -450
  80. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/mat.js +0 -102
  81. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/range_model.js +0 -296
  82. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/test_collide.js +0 -10
  83. package/dom/jsview-dom/src/engine-js/browser/index.js +0 -38
  84. package/dom/jsview-dom/src/engine-js/browser/latex_parse.js +0 -336
  85. package/dom/jsview-dom/src/engine-js/browser/layout_params.js +0 -113
  86. package/dom/jsview-dom/src/engine-js/browser/layout_view.js +0 -3545
  87. package/dom/jsview-dom/src/engine-js/browser/layout_view_debug.js +0 -15
  88. package/dom/jsview-dom/src/engine-js/browser/media.js +0 -379
  89. package/dom/jsview-dom/src/engine-js/browser/page_base.js +0 -941
  90. package/dom/jsview-dom/src/engine-js/browser/particle_view.js +0 -526
  91. package/dom/jsview-dom/src/engine-js/browser/platform_timer.js +0 -61
  92. package/dom/jsview-dom/src/engine-js/browser/react_utils.js +0 -5
  93. package/dom/jsview-dom/src/engine-js/browser/rect_utils.js +0 -91
  94. package/dom/jsview-dom/src/engine-js/browser/render_bridge.js +0 -128
  95. package/dom/jsview-dom/src/engine-js/browser/render_texture_proxy.js +0 -155
  96. package/dom/jsview-dom/src/engine-js/browser/renderer_deprecated.js +0 -75
  97. package/dom/jsview-dom/src/engine-js/browser/sound_pool.js +0 -139
  98. package/dom/jsview-dom/src/engine-js/browser/steps_animation.js +0 -192
  99. package/dom/jsview-dom/src/engine-js/browser/text_style_cache.js +0 -454
  100. package/dom/jsview-dom/src/engine-js/browser/text_utils.js +0 -299
  101. package/dom/jsview-dom/src/engine-js/browser/text_view.js +0 -428
  102. package/dom/jsview-dom/src/engine-js/browser/texture_manager.js +0 -1060
  103. package/dom/jsview-dom/src/engine-js/browser/url.js +0 -69
  104. package/dom/jsview-dom/src/engine-js/browser/velocity.js +0 -40
  105. package/dom/jsview-dom/src/engine-js/browser/view_sensor/autofroze_sensor.js +0 -77
  106. package/dom/jsview-dom/src/engine-js/browser/view_sensor/drag_impact_sensor.js +0 -67
  107. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor.js +0 -98
  108. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_callback.js +0 -21
  109. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_manager.js +0 -24
  110. package/dom/jsview-dom/src/engine-js/browser/view_sensor/index.js +0 -9
  111. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor.js +0 -268
  112. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor_manager.js +0 -84
  113. package/dom/jsview-dom/src/engine-js/browser/view_sensor/visible_sensor.js +0 -213
  114. package/dom/jsview-dom/src/engine-js/browser/view_store.js +0 -41
  115. package/dom/jsview-dom/src/engine-js/index.js +0 -2
  116. package/dom/jsview-dom/src/engine-js/native/README.md +0 -1
@@ -1,287 +0,0 @@
1
- /* eslint-disable no-prototype-builtins */
2
- import { animationToStyle, getStaticFrameControl, convertTimingFunc } from "./animation_keyframe";
3
-
4
- const is_char = char_code => (char_code >= 65 && char_code <= 90) || (char_code >= 97 && char_code <= 122);
5
- const is_num = char_code => char_code >= 48 && char_code <= 57;
6
- const __parseTransform = (transform) => {
7
- if (!transform) { return null; }
8
- let func_name = "";
9
- let param = "";
10
- let param_list = [];
11
- let mode = 0; // 0 parse name; 1 parse params;
12
- for (let i = 0; i < transform.length; i++) {
13
- const char_code = transform.charCodeAt(i);
14
- if (mode === 0) {
15
- if (is_char(char_code) || is_num(char_code)) {
16
- func_name += transform[i];
17
- }
18
- } else {
19
- if (is_num(char_code) || char_code === 46 || char_code === 45 || char_code === 101) { // 科学计数
20
- param += transform[i];
21
- }
22
- }
23
-
24
- if (char_code === 40) { // (
25
- mode = 1;
26
- param = "";
27
- param_list = [];
28
- } else if (char_code === 41) { // )
29
- param_list.push(parseFloat(param));
30
- return {
31
- name: func_name,
32
- params: param_list
33
- };
34
- } else if (char_code === 44) { // ,
35
- param_list.push(parseFloat(param));
36
- param = "";
37
- }
38
- }
39
- console.error("transform error", transform);
40
- return null;
41
- };
42
-
43
- function _BuildTracer(layout_view) {
44
- const children = layout_view.Element.children;
45
- let found_tracer = null;
46
- // 寻找进度跟踪器,以免重复创建,浪费资源
47
- for (let i = 0; i < children.length; i++) {
48
- if (children[i].id === "_AnimateProgressTracer") {
49
- found_tracer = children[i];
50
- break;
51
- }
52
- }
53
-
54
- if (found_tracer === null) {
55
- // 若在此节点下没有进度跟踪器,则创建一个
56
- found_tracer = window.originDocument.createElement("div");
57
- found_tracer.id = "_AnimateProgressTracer";
58
- layout_view.Element.appendChild(found_tracer);
59
- }
60
-
61
- return found_tracer;
62
- }
63
-
64
- let sIdToken = 0;
65
-
66
- class AnimationProgress {
67
- constructor(layout_view) {
68
- this._TracerDiv = _BuildTracer(layout_view);
69
- this._IdToken = (sIdToken++);
70
- this._KeyFrameName = null;
71
- this._AdvanceTimer = null;
72
- this._AdvanceListener = null;
73
- if (!this._TracerDiv.hasOwnProperty("_ForgeProgressToken")) {
74
- this._TracerDiv._ForgeProgressToken = 0;
75
- }
76
-
77
- // 阻止事件上发到父节点
78
- this._OnEndListener = ((event) => {
79
- event.stopPropagation();
80
- });
81
-
82
- // TODO: 要支持Android WebView? WebkitAnimationEnd...
83
- this._TracerDiv.addEventListener("animationend", this._OnEndListener);
84
- }
85
-
86
- _ClearAdvanceTimer() {
87
- if (this._AdvanceTimer !== null) {
88
- clearInterval(this._AdvanceTimer);
89
- this._AdvanceTimer = null;
90
- }
91
- }
92
-
93
- _NotifyAdvance() {
94
- this._ClearAdvanceTimer();
95
- if (this._AdvanceListener !== null) {
96
- this._AdvanceTimer = setInterval(() => {
97
- const progress = this.GetProgress();
98
- this._AdvanceListener(progress);
99
- if (progress === 1) {
100
- this._ClearAdvanceTimer();
101
- }
102
- }, 100);
103
- }
104
- }
105
-
106
- Start(host_animation, starter_progress, advance_listener) {
107
- this._AdvanceListener = advance_listener;
108
-
109
- // 保证可用的Animation动画
110
- if (this._KeyFrameName) {
111
- console.error("Error: Asset!! should Stop before start");
112
- }
113
- this._TracerDiv._ForgeProgressToken = (this._TracerDiv._ForgeProgressToken + 1) % 2;
114
- this._KeyFrameName = this._BuildTraceKeyFrame(
115
- starter_progress,
116
- this._IdToken,
117
- this._TracerDiv._ForgeProgressToken);
118
- this._TracerDiv.style.animation = animationToStyle(host_animation, this._KeyFrameName);
119
- // TODO: 要支持Android WebView? WebkitAnimationEnd...
120
- this._TracerDiv.addEventListener("animationend", this._OnEndListener);
121
-
122
- this._NotifyAdvance();
123
- }
124
-
125
- // 停止进度跟进,并返回进度值
126
- Stop() {
127
- const progress = this.GetProgress();
128
- this._TracerDiv.style.animation = null;
129
-
130
- if (this._KeyFrameName) {
131
- this._RemoveTraceKeyFrame(this._KeyFrameName);
132
- this._KeyFrameName = null;
133
- }
134
-
135
- if (this._AdvanceListener) {
136
- this._ClearAdvanceTimer();
137
- this._AdvanceListener(progress);
138
- this._AdvanceListener = null;
139
- }
140
-
141
- return progress;
142
- }
143
-
144
- GetProgress() {
145
- const s = window.getComputedStyle(this._TracerDiv);
146
- if (s.transform.length === 0) {
147
- // 没有transform,以目前调查结果认为是动画结束
148
- } else if (s.transform.length > 0 && s.transform !== "none") {
149
- const trans_values = __parseTransform(s.transform);
150
- if (trans_values !== null) {
151
- return (trans_values.params[4] / 1000); // type is matrix...
152
- }
153
- console.error("Error:internal error");
154
- return 0;
155
- }
156
- // none的场合代表动画结束了
157
- return 1;
158
- }
159
-
160
- _BuildTraceKeyFrame(starter_progress/* 0~1 */, token, dynamic_count) {
161
- const keyframe_name = `_AnimateProgress_${token}_${dynamic_count}`;
162
- const keyframe_control = getStaticFrameControl();
163
- const animate_progress = `@keyframes ${keyframe_name}
164
- {0%{transform:translate3d(${Math.floor(starter_progress * 1000)}px,0,0)}
165
- 100%{transform:translate3d(1000px,0,0)}}`;
166
- keyframe_control.insertRule(animate_progress);
167
- return keyframe_name;
168
- }
169
-
170
- _RemoveTraceKeyFrame(name) {
171
- const keyframe_control = getStaticFrameControl();
172
- keyframe_control.removeRule(name);
173
- }
174
- }
175
-
176
- class AnimationGroupProgress {
177
- constructor(layout_view, steps_total) {
178
- this._TracerDiv = _BuildTracer(layout_view);
179
- this._IdToken = (sIdToken++);
180
- this._KeyFrameNameArray = null;
181
- this._StepsTotal = steps_total;
182
- this._RunAnimList = null;
183
-
184
- if (!this._TracerDiv.hasOwnProperty("_ForgeProgressToken")) {
185
- this._TracerDiv._ForgeProgressToken = 0;
186
- }
187
-
188
- // 阻止事件上发到父节点
189
- this._OnEndListener = ((event) => {
190
- event.stopPropagation();
191
- });
192
-
193
- // TODO: 要支持Android WebView? WebkitAnimationEnd...
194
- this._TracerDiv.addEventListener("animationend", this._OnEndListener);
195
- }
196
-
197
- Start(steps_settings/* [{easing:xxx, duration:xxxx},{}...] */) {
198
- // 保证可用的Animation动画
199
- if (this._KeyFrameName) {
200
- console.error("Error: Asset!! should Stop before start");
201
- }
202
-
203
- // 交替token,避免animation属性中KeyFrames名字不变导致不触发动画启动
204
- this._TracerDiv._ForgeProgressToken = (this._TracerDiv._ForgeProgressToken + 1) % 2;
205
- this._BuildTraceKeyFrameGroup(this._IdToken, this._TracerDiv._ForgeProgressToken);
206
-
207
- this._RunAnimList = this._ConvertToAnimationStyle(steps_settings);
208
- this._TracerDiv.style.animation = this._RunAnimList[0];
209
- }
210
-
211
- // 下个步骤的触发由KeyFrameGroupAnimation来完成
212
- TriggerNextStep(index) {
213
- this._TracerDiv.style.animation = this._RunAnimList[index];
214
- }
215
-
216
- // 停止进度跟进,并返回进度值
217
- Stop() {
218
- const progress = this.GetProgress();
219
- this._TracerDiv.style.animation = null;
220
-
221
- if (this._KeyFrameNameArray !== null) {
222
- this._RemoveTraceKeyFrameGroup();
223
- this._KeyFrameNameArray = null;
224
- }
225
-
226
- return progress;
227
- }
228
-
229
- GetProgress() {
230
- const s = window.getComputedStyle(this._TracerDiv);
231
- if (s.transform.length === 0) {
232
- // 没有transform,以目前调查结果认为是动画结束
233
- } else if (s.transform !== "none") {
234
- const trans_values = __parseTransform(s.transform);
235
- if (trans_values !== null) {
236
- const p = (trans_values.params[4] / (this._StepsTotal * 100)); // type is matrix...
237
- // console.log("Report progress=" + p + " v=" + trans_values.params);
238
- return p;
239
- }
240
- console.error("Error:internal error");
241
- return 0;
242
- }
243
- // none的场合代表动画结束了
244
- return 1;
245
- }
246
-
247
- _BuildTraceKeyFrameGroup(token, dynamic_count) {
248
- this._KeyFrameNameArray = new Array(this._StepsTotal);
249
- const keyframe_control = getStaticFrameControl();
250
- for (let i = 0; i < this._KeyFrameNameArray.length; i++) {
251
- const step_name = (i === this._KeyFrameNameArray.length - 1 ? "finalStep" : `${i}`);
252
- const keyframe_name = `_AnimateGroupProgress_${token}_${dynamic_count}_Cnt_${step_name}`;
253
- const animate_progress = `@keyframes ${keyframe_name}
254
- {0%{transform:translate3d(${100 * i}px,0,0)}
255
- 100%{transform:translate3d(${100 + 100 * i}px,0,0)}}`;
256
- keyframe_control.insertRule(animate_progress);
257
- this._KeyFrameNameArray[i] = keyframe_name;
258
- }
259
- }
260
-
261
- _RemoveTraceKeyFrameGroup() {
262
- const keyframe_control = getStaticFrameControl();
263
- this._KeyFrameNameArray.forEach((name) => {
264
- keyframe_control.removeRule(name);
265
- });
266
- }
267
-
268
- _ConvertToAnimationStyle(steps_settings) {
269
- const anim_list = [];
270
- for (let i = 0; i < steps_settings.length; i++) {
271
- let timing_func = "linear";
272
- const settings = steps_settings[i];
273
- if (settings.easing) {
274
- timing_func = convertTimingFunc(settings.easing);
275
- }
276
- anim_list.push(`${this._KeyFrameNameArray[i]} ${settings.duration / 1000}s ${timing_func}`);
277
- }
278
-
279
- return anim_list;
280
- }
281
- }
282
-
283
- export default AnimationProgress;
284
- export {
285
- AnimationGroupProgress,
286
- AnimationProgress
287
- };