@shijiu/jsview 1.9.719

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 (148) hide show
  1. package/dom/bin/jsview-browser-debug-dom.min.js +1 -0
  2. package/dom/bin/jsview-dom.min.js +1 -0
  3. package/dom/bin/jsview-engine-js-browser.min.js +1 -0
  4. package/dom/bin/jsview-forge-define.min.js +1 -0
  5. package/dom/browser-root-style.css +21 -0
  6. package/dom/jsv-browser-debug-dom.js +8 -0
  7. package/dom/jsv-dom.js +6 -0
  8. package/dom/jsv-engine-js-browser.js +6 -0
  9. package/dom/jsv-forge-define.js +6 -0
  10. package/dom/jsview-dom/README.md +5 -0
  11. package/dom/jsview-dom/package-lock.json-perfect +3898 -0
  12. package/dom/jsview-dom/package.json +23 -0
  13. package/dom/jsview-dom/rollup/browser-debug-dom.rollup.config.js +15 -0
  14. package/dom/jsview-dom/rollup/dom.rollup.config.js +14 -0
  15. package/dom/jsview-dom/rollup/engine-js-browser.rollup.config.js +14 -0
  16. package/dom/jsview-dom/rollup/forge-define.rollup.config.js +14 -0
  17. package/dom/jsview-dom/scripts/release_dist.sh +36 -0
  18. package/dom/jsview-dom/src/dom-browser-hook/HookDocument.js +118 -0
  19. package/dom/jsview-dom/src/dom-browser-hook/OriginDocument.js +19 -0
  20. package/dom/jsview-dom/src/dom-browser-hook/StyleFormatCheck.js +559 -0
  21. package/dom/jsview-dom/src/dom-browser-hook/index.js +6 -0
  22. package/dom/jsview-dom/src/dom-wrapper/ForgeExtension.js +226 -0
  23. package/dom/jsview-dom/src/dom-wrapper/JsViewForgeApp.js +85 -0
  24. package/dom/jsview-dom/src/dom-wrapper/JsViewProxy.js +51 -0
  25. package/dom/jsview-dom/src/dom-wrapper/event/AnimationEvent.js +7 -0
  26. package/dom/jsview-dom/src/dom-wrapper/event/Event.js +12 -0
  27. package/dom/jsview-dom/src/dom-wrapper/event/FocusEvent.js +9 -0
  28. package/dom/jsview-dom/src/dom-wrapper/event/KeyboardEvent.js +43 -0
  29. package/dom/jsview-dom/src/dom-wrapper/event/LoadEvent.js +8 -0
  30. package/dom/jsview-dom/src/dom-wrapper/index.js +16 -0
  31. package/dom/jsview-dom/src/dom-wrapper/node/AnchorElement.js +24 -0
  32. package/dom/jsview-dom/src/dom-wrapper/node/AudioElement.js +60 -0
  33. package/dom/jsview-dom/src/dom-wrapper/node/Comment.js +10 -0
  34. package/dom/jsview-dom/src/dom-wrapper/node/DivElement.js +498 -0
  35. package/dom/jsview-dom/src/dom-wrapper/node/Document.js +274 -0
  36. package/dom/jsview-dom/src/dom-wrapper/node/Element.js +852 -0
  37. package/dom/jsview-dom/src/dom-wrapper/node/FDivElement.js +48 -0
  38. package/dom/jsview-dom/src/dom-wrapper/node/HeadElement.js +47 -0
  39. package/dom/jsview-dom/src/dom-wrapper/node/ImageElement.js +203 -0
  40. package/dom/jsview-dom/src/dom-wrapper/node/JsvAudioTrackElement.js +22 -0
  41. package/dom/jsview-dom/src/dom-wrapper/node/JsvElement.js +40 -0
  42. package/dom/jsview-dom/src/dom-wrapper/node/LinkElement.js +48 -0
  43. package/dom/jsview-dom/src/dom-wrapper/node/MediaElement.js +230 -0
  44. package/dom/jsview-dom/src/dom-wrapper/node/Node.js +178 -0
  45. package/dom/jsview-dom/src/dom-wrapper/node/SVGElement.js +9 -0
  46. package/dom/jsview-dom/src/dom-wrapper/node/ScriptElement.js +45 -0
  47. package/dom/jsview-dom/src/dom-wrapper/node/StyleElement.js +33 -0
  48. package/dom/jsview-dom/src/dom-wrapper/node/StyleElementCache.js +41 -0
  49. package/dom/jsview-dom/src/dom-wrapper/node/Text.js +22 -0
  50. package/dom/jsview-dom/src/dom-wrapper/node/UnknownElement.js +4 -0
  51. package/dom/jsview-dom/src/dom-wrapper/node/VideoElement.js +237 -0
  52. package/dom/jsview-dom/src/dom-wrapper/style/BorderImage.js +25 -0
  53. package/dom/jsview-dom/src/dom-wrapper/style/Inset.js +26 -0
  54. package/dom/jsview-dom/src/dom-wrapper/style/JsvStyleVariable.js +65 -0
  55. package/dom/jsview-dom/src/dom-wrapper/style/KeyframeRule.js +11 -0
  56. package/dom/jsview-dom/src/dom-wrapper/style/StyleDeclaration.js +609 -0
  57. package/dom/jsview-dom/src/dom-wrapper/style/StyleSheet.js +51 -0
  58. package/dom/jsview-dom/src/dom-wrapper/style/StyleValue.js +385 -0
  59. package/dom/jsview-dom/src/dom-wrapper/style/TextStylePackMap.js +43 -0
  60. package/dom/jsview-dom/src/dom-wrapper/style/URL.js +144 -0
  61. package/dom/jsview-dom/src/dom-wrapper/utils/EventHandler.js +42 -0
  62. package/dom/jsview-dom/src/dom-wrapper/utils/FDivRoot.js +86 -0
  63. package/dom/jsview-dom/src/dom-wrapper/utils/JsvLazySyncCache.js +64 -0
  64. package/dom/jsview-dom/src/dom-wrapper/utils/Log.js +42 -0
  65. package/dom/jsview-dom/src/dom-wrapper/utils/MutationObserver.js +32 -0
  66. package/dom/jsview-dom/src/dom-wrapper/utils/focusableNode.js +715 -0
  67. package/dom/jsview-dom/src/engine-js/ForgeDefine.js +8 -0
  68. package/dom/jsview-dom/src/engine-js/ForgeExtensionDefine.js +14 -0
  69. package/dom/jsview-dom/src/engine-js/browser/PlatformUtils.js +100 -0
  70. package/dom/jsview-dom/src/engine-js/browser/animation_base.js +313 -0
  71. package/dom/jsview-dom/src/engine-js/browser/animation_keyframe.js +64 -0
  72. package/dom/jsview-dom/src/engine-js/browser/animation_progress.js +287 -0
  73. package/dom/jsview-dom/src/engine-js/browser/animation_proxy.js +906 -0
  74. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/demux.js +143 -0
  75. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/gifDecoder.js +12 -0
  76. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/libwebp-0.6.0.min.js +160 -0
  77. package/dom/jsview-dom/src/engine-js/browser/console_log.js +25 -0
  78. package/dom/jsview-dom/src/engine-js/browser/dynamic_key_frames.js +95 -0
  79. package/dom/jsview-dom/src/engine-js/browser/easing.js +114 -0
  80. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/element_transform.js +122 -0
  81. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/gjk.js +450 -0
  82. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/mat.js +102 -0
  83. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/range_model.js +296 -0
  84. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/test_collide.js +10 -0
  85. package/dom/jsview-dom/src/engine-js/browser/index.js +38 -0
  86. package/dom/jsview-dom/src/engine-js/browser/latex_parse.js +336 -0
  87. package/dom/jsview-dom/src/engine-js/browser/layout_params.js +113 -0
  88. package/dom/jsview-dom/src/engine-js/browser/layout_view.js +3545 -0
  89. package/dom/jsview-dom/src/engine-js/browser/layout_view_debug.js +15 -0
  90. package/dom/jsview-dom/src/engine-js/browser/media.js +379 -0
  91. package/dom/jsview-dom/src/engine-js/browser/page_base.js +941 -0
  92. package/dom/jsview-dom/src/engine-js/browser/particle_view.js +526 -0
  93. package/dom/jsview-dom/src/engine-js/browser/platform_timer.js +61 -0
  94. package/dom/jsview-dom/src/engine-js/browser/react_utils.js +5 -0
  95. package/dom/jsview-dom/src/engine-js/browser/rect_utils.js +91 -0
  96. package/dom/jsview-dom/src/engine-js/browser/render_bridge.js +128 -0
  97. package/dom/jsview-dom/src/engine-js/browser/render_texture_proxy.js +155 -0
  98. package/dom/jsview-dom/src/engine-js/browser/renderer_deprecated.js +75 -0
  99. package/dom/jsview-dom/src/engine-js/browser/sound_pool.js +139 -0
  100. package/dom/jsview-dom/src/engine-js/browser/steps_animation.js +192 -0
  101. package/dom/jsview-dom/src/engine-js/browser/text_style_cache.js +454 -0
  102. package/dom/jsview-dom/src/engine-js/browser/text_utils.js +299 -0
  103. package/dom/jsview-dom/src/engine-js/browser/text_view.js +428 -0
  104. package/dom/jsview-dom/src/engine-js/browser/texture_manager.js +1060 -0
  105. package/dom/jsview-dom/src/engine-js/browser/url.js +69 -0
  106. package/dom/jsview-dom/src/engine-js/browser/velocity.js +40 -0
  107. package/dom/jsview-dom/src/engine-js/browser/view_sensor/autofroze_sensor.js +77 -0
  108. package/dom/jsview-dom/src/engine-js/browser/view_sensor/drag_impact_sensor.js +67 -0
  109. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor.js +98 -0
  110. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_callback.js +21 -0
  111. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_manager.js +24 -0
  112. package/dom/jsview-dom/src/engine-js/browser/view_sensor/index.js +9 -0
  113. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor.js +268 -0
  114. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor_manager.js +84 -0
  115. package/dom/jsview-dom/src/engine-js/browser/view_sensor/visible_sensor.js +213 -0
  116. package/dom/jsview-dom/src/engine-js/browser/view_store.js +41 -0
  117. package/dom/jsview-dom/src/engine-js/index.js +2 -0
  118. package/dom/jsview-dom/src/engine-js/native/README.md +1 -0
  119. package/dom/target_core_revision.mjs +15 -0
  120. package/index.js +0 -0
  121. package/loader/header_script_loader.js +134 -0
  122. package/loader/jsview-main.js +42 -0
  123. package/loader/jsview.config.default.js +37 -0
  124. package/loader/jsview.default.config.js +37 -0
  125. package/loader/loader.js +183 -0
  126. package/loader/loader_webkit.js +40 -0
  127. package/package.json +31 -0
  128. package/patches/node_modules/@vitejs/plugin-react/dist/index.cjs +520 -0
  129. package/patches/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js +17609 -0
  130. package/patches/node_modules/@vue/compiler-sfc/dist/jsview-css-to-js.js +335 -0
  131. package/patches/node_modules/@vue/compiler-sfc/dist/jsview-style-format.js +446 -0
  132. package/patches/node_modules/@vue/compiler-sfc/dist/jsview-style-types.js +91 -0
  133. package/patches/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +8038 -0
  134. package/patches/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js +1700 -0
  135. package/patches/node_modules/postcss-js/objectifier.js +90 -0
  136. package/patches/node_modules/vite/dist/node/chunks/dep-0fc8e132.js +63175 -0
  137. package/patches/node_modules/vite/dist/node/jsview-react.vite.config.js +7 -0
  138. package/patches/node_modules/vite/dist/node/jsview-vue.vite.config.js +7 -0
  139. package/patches/node_modules/vite/dist/node/jsview.vite.config.js +56 -0
  140. package/patches/node_modules/vue-router/dist/vue-router.mjs +3595 -0
  141. package/tools/common.js +58 -0
  142. package/tools/jsview-jsmap-serve.js +105 -0
  143. package/tools/jsview-post-build.js +184 -0
  144. package/tools/jsview-post-install-react.js +13 -0
  145. package/tools/jsview-post-install-vue.js +16 -0
  146. package/tools/jsview-post-install.js +116 -0
  147. package/tools/jsview-run-android.js +67 -0
  148. package/tsconfig.json +34 -0
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "jsview-dom",
3
+ "version": "1.9.719",
4
+ "description": "JsView DOM wrapper library used to get jsview support",
5
+ "scripts": {
6
+ "build-dom": "rollup -c rollup/dom.rollup.config.js -o dist/jsview-dom.min.js",
7
+ "build-browser-dom": "rollup -c rollup/browser-debug-dom.rollup.config.js -o dist/jsview-browser-debug-dom.min.js",
8
+ "build-forge-define": "rollup -c rollup/forge-define.rollup.config.js -o dist/jsview-forge-define.min.js",
9
+ "build-engine-js-browser": "rollup -c rollup/engine-js-browser.rollup.config.js -o dist/jsview-engine-js-browser.min.js",
10
+ "build": "npm run build-dom && npm run build-browser-dom && npm run build-forge-define && npm run build-engine-js-browser",
11
+ "test": "echo \"Error: no test specified\" && exit 1"
12
+ },
13
+ "keywords": [],
14
+ "author": "Donglin.lu <donglin.lu@qcast.cn>",
15
+ "license": "ISC",
16
+ "devDependencies": {
17
+ "rollup": "2.47.0",
18
+ "rollup-plugin-terser": "7.0.2"
19
+ },
20
+ "dependencies": {
21
+ "gifuct-js": "2.1.1"
22
+ }
23
+ }
@@ -0,0 +1,15 @@
1
+ // rollup.config.js
2
+ import { terser } from 'rollup-plugin-terser'
3
+
4
+ const config = {
5
+ input: 'src/dom-browser-hook/index.js',
6
+ output: {
7
+ format: 'esm',
8
+ name: 'jsviewbrowserdebugdom',
9
+ },
10
+ plugins: [
11
+ terser()
12
+ ],
13
+ inlineDynamicImports: true,
14
+ }
15
+ export default config
@@ -0,0 +1,14 @@
1
+ // rollup.config.js
2
+ import { terser } from 'rollup-plugin-terser'
3
+
4
+ const config = {
5
+ input: 'src/dom-wrapper/index.js',
6
+ output: {
7
+ format: 'esm',
8
+ name: 'jsviewdom',
9
+ },
10
+ plugins: [
11
+ terser(),
12
+ ],
13
+ }
14
+ export default config
@@ -0,0 +1,14 @@
1
+ // rollup.config.js
2
+ import { terser } from 'rollup-plugin-terser'
3
+
4
+ const config = {
5
+ input: 'src/engine-js/browser/index.js',
6
+ output: {
7
+ format: 'esm',
8
+ name: 'enginejsbrowser',
9
+ },
10
+ plugins: [
11
+ terser()
12
+ ],
13
+ }
14
+ export default config
@@ -0,0 +1,14 @@
1
+ // rollup.config.js
2
+ import { terser } from 'rollup-plugin-terser'
3
+
4
+ const config = {
5
+ input: 'src/engine-js/index.js',
6
+ output: {
7
+ format: 'esm',
8
+ name: 'forgedefine',
9
+ },
10
+ plugins: [
11
+ terser()
12
+ ],
13
+ }
14
+ export default config
@@ -0,0 +1,36 @@
1
+ #!/bin/bash
2
+
3
+ set -o errexit
4
+ set -o nounset
5
+
6
+ loginfo()
7
+ {
8
+ echo -e "\033[1;32m [+]: $@ \033[00m";
9
+ }
10
+
11
+ SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd);
12
+ PROJECT_DIR=$(dirname "$SCRIPT_DIR");
13
+ cd $PROJECT_DIR;
14
+
15
+ # 清理上次编译的结果dist
16
+ loginfo "clear dist"
17
+ rm -rf dist
18
+
19
+ # 进行编译
20
+ loginfo "building..."
21
+ npm run-script build
22
+
23
+ # 有条件的,改成yarn
24
+ #yarn build
25
+
26
+ # 打包编译结果,并进行更名
27
+ loginfo "packing..."
28
+ cd dist
29
+ jq 'del(.devDependencies) | del(.scripts)' ../package.json > package.json
30
+ npm pack
31
+ #mv jsview-dom-1.0.0.tgz jsview-dom-package.tgz
32
+ cd -
33
+
34
+ loginfo "DONE"
35
+
36
+
@@ -0,0 +1,118 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import Forge from "../engine-js/ForgeDefine"
3
+ import { Document, ForgeExtension, JsvLazySyncCache, Log} from "../dom-wrapper/index"
4
+ import StyleFormatCheck from "./StyleFormatCheck"
5
+
6
+ async function hookOriginDocument() {
7
+ // console.log("Hook Document ...");
8
+
9
+ const { Document, ForgeExtension, JsvLazySyncCache, Log } = await import("../dom-wrapper/index");
10
+
11
+ const hookDoc = new Document();
12
+
13
+ window.myHook = hookDoc;
14
+
15
+ window.document.head.appendChild = hookDoc.head.appendChild.bind(hookDoc.head);
16
+ window.document.head.removeChild = hookDoc.head.removeChild.bind(hookDoc.head);
17
+ window.document.createElement = hookDoc.createElement.bind(hookDoc);
18
+ window.document.createTextNode = hookDoc.createTextNode.bind(hookDoc);
19
+ window.document.createComment = hookDoc.createComment.bind(hookDoc);
20
+ window.document.getElementById = hookDoc.getElementById.bind(hookDoc);
21
+ window.document.getElementsByTagName = hookDoc.getElementsByTagName.bind(hookDoc);
22
+ window.document.querySelector = hookDoc.querySelector.bind(hookDoc);
23
+ window.document.createEvent = hookDoc.createEvent.bind(hookDoc);
24
+ window.document.dispatchEvent = hookDoc.dispatchEvent.bind(hookDoc);
25
+ window.document.jsvInitFDivRoot = hookDoc.jsvInitFDivRoot.bind(hookDoc);
26
+ window.document.jsvGetFDivRoot = hookDoc.jsvGetFDivRoot.bind(hookDoc);
27
+ window.document.jsvAppendStyleSheet = function (styleSheet) {
28
+ // Log.D("jsvAppendStyleSheet", styleSheet)
29
+ let style = window.originDocument.createElement('style');
30
+ style.type = 'text/css';
31
+ style.innerHTML = styleSheet.jsvTextContent;
32
+ let head = this.getElementsByTagName("Head")[0];
33
+ head.appendChild(style);
34
+ }
35
+ window.document.jsvGetKeyFrames = function (name, scopedAttributes) {
36
+ // 遗留的旧搜索办法
37
+ let keyframes = "";
38
+ // 获取所有的style
39
+ var ss = document.styleSheets;
40
+ for (let i = 0; i < ss.length; ++i) {
41
+ const item = ss[i];
42
+ if (item.cssRules) {
43
+ for (let j = 0; j < item.cssRules.length; ++j) {
44
+ let cssrule = item.cssRules[j];
45
+ if (cssrule && cssrule.name === name) {
46
+ keyframes = cssrule.cssText;
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ }
52
+
53
+ if (!keyframes) {
54
+ // Vue3的style中写keyframes
55
+ const styleSheets = window.JsvCode.Dom.StyleSheets;
56
+ for (const scoped of scopedAttributes) { // 先搜索scoped
57
+ const key = `${name}-${scoped.replace('data-v-', '')}`
58
+ keyframes = styleSheets[key];
59
+ if (keyframes) {
60
+ document.jsvAppendStyleSheet({ jsvTextContent: keyframes });
61
+ break;
62
+ }
63
+ }
64
+ if (!keyframes) { // 搜索不带scoped的keyframes
65
+ keyframes = styleSheets[name];
66
+ if (keyframes) {
67
+ document.jsvAppendStyleSheet({ jsvTextContent: keyframes });
68
+ }
69
+ }
70
+ }
71
+
72
+ if (keyframes) {
73
+ if (document.jsvCheckStyleFormat) {
74
+ document.jsvCheckStyleFormat("keyframes", keyframes);
75
+ }
76
+ }
77
+ return keyframes;
78
+ }
79
+
80
+ let ua = window.navigator.userAgent.toLowerCase();
81
+ window.jsvInAndroidWebView = (ua.indexOf("android") >= 0);
82
+
83
+ if (!window.jsvInAndroidWebView) {
84
+ // PC浏览器中有语法检查
85
+ window.document.jsvCheckStyleFormat = function (name, value) {
86
+ if (name.startsWith('--')) { // CSS变量
87
+ return;
88
+ }
89
+
90
+ let style_item = StyleFormatCheck.get(name);
91
+ if (style_item) {
92
+ if (style_item.check && !!value/* value非null, "", undefined时才做校验 */) {
93
+ style_item.check(name, value);
94
+ }
95
+ } else {
96
+ console.error(name + " property is not support.");
97
+ }
98
+ }
99
+ } else {
100
+ // Android浏览器中,去除语法检查以提升性能
101
+ window.document.jsvCheckStyleFormat = null;
102
+ }
103
+
104
+ ForgeExtension.TextureManager = new Forge.TextureManager();
105
+ ForgeExtension.RootView = new Forge.RootView();
106
+ hookDoc.jsvUpdateRootElement(ForgeExtension.RootView);
107
+
108
+ Forge.sRenderBridge.AddWillSwapListener("forgeSwap", () => {
109
+ JsvLazySyncCache.SyncAllCachedProperty();
110
+ ForgeExtension.ClearUnusedTexSize();
111
+ });
112
+
113
+ window.jsvIsBrowserDebug = true;
114
+ }
115
+
116
+ export {
117
+ hookOriginDocument
118
+ }
@@ -0,0 +1,19 @@
1
+ // console.log("Define originDocument ...");
2
+
3
+ function backupOriginDocument() {
4
+ window.originDocument = {};
5
+ window.originDocument.headAppendChild = window.document.head.appendChild.bind(window.document.head);
6
+ window.originDocument.headRemoveChild = window.document.head.removeChild.bind(window.document.head);
7
+ window.originDocument.createElement = window.document.createElement.bind(window.document);
8
+ window.originDocument.createTextNode = window.document.createTextNode.bind(window.document);
9
+ window.originDocument.createComment = window.document.createComment.bind(window.document);
10
+ window.originDocument.getElementById = window.document.getElementById.bind(window.document);
11
+ window.originDocument.getElementsByTagName = window.document.getElementsByTagName.bind(window.document);
12
+ window.originDocument.querySelector = window.document.querySelector.bind(window.document);
13
+ window.originDocument.createEvent = window.document.createEvent.bind(window.document);
14
+ window.originDocument.dispatchEvent = window.document.dispatchEvent.bind(window.document);
15
+ }
16
+
17
+ export {
18
+ backupOriginDocument
19
+ }