@shijiu/jsview-vue 2.2.35 → 2.2.201

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 (131) hide show
  1. package/bin/browser/BrowserApic.vue.mjs +4 -3
  2. package/bin/browser/BrowserApic2.vue.mjs +4 -3
  3. package/bin/browser/BrowserApicLib.mjs +10 -3
  4. package/bin/browser/BrowserJsvFragShaderView.vue.mjs +63 -0
  5. package/bin/browser/BrowserQrcode.vue.mjs +3 -1
  6. package/bin/browser/BrowserTextureAnim.vue.mjs +7 -6
  7. package/bin/jsview-vue.mjs +2990 -1146
  8. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusManager.d.ts +8 -6
  9. package/bin/types/JsViewEngineWidget/MetroWidget/Dispatcher.d.ts +10 -12
  10. package/bin/types/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +3 -3
  11. package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +3 -3
  12. package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +2 -2
  13. package/bin/types/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +3 -0
  14. package/bin/types/JsViewEngineWidget/MetroWidget/Slide.d.ts +21 -0
  15. package/bin/types/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +1 -0
  16. package/bin/types/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +2 -8
  17. package/bin/types/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +1 -1
  18. package/bin/types/JsViewEngineWidget/WidgetCommon.d.ts +9 -3
  19. package/bin/types/JsViewEngineWidget/index.d.ts +10 -1
  20. package/bin/types/JsViewVueTools/ConstSymbol.d.ts +2 -0
  21. package/bin/types/JsViewVueTools/ForgeConstDefine.d.ts +11 -0
  22. package/bin/types/JsViewVueTools/JsvFederationTools.d.ts +16 -0
  23. package/bin/types/JsViewVueTools/JsvPerformance.d.ts +5 -0
  24. package/bin/types/JsViewVueTools/JsvPreDownloader.d.ts +33 -0
  25. package/bin/types/JsViewVueTools/JsvRuntimeBridge.d.ts +113 -57
  26. package/bin/types/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +11 -0
  27. package/bin/types/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +45 -1
  28. package/bin/types/JsViewVueTools/JsvTextureStore/Texture.d.ts +8 -0
  29. package/bin/types/JsViewVueTools/index.d.ts +19 -11
  30. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +1 -1
  31. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +1 -1
  32. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +1 -1
  33. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +1 -1
  34. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/Viewer.d.ts +2 -1
  35. package/bin/types/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue.d.ts +70 -0
  36. package/bin/types/JsViewVueWidget/JsvClipDiv/index.d.ts +1 -0
  37. package/bin/types/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +1 -1
  38. package/bin/types/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue.d.ts +104 -0
  39. package/bin/types/JsViewVueWidget/JsvDriftScope/index.d.ts +1 -0
  40. package/bin/types/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue.d.ts +13 -0
  41. package/bin/types/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +13 -0
  42. package/bin/types/JsViewVueWidget/JsvFragShaderView/index.d.ts +2 -0
  43. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ActionRefObject.d.ts +4 -0
  44. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +91 -0
  45. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ActorState.d.ts +6 -0
  46. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.d.ts +11 -0
  47. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.d.ts +15 -0
  48. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +6 -0
  49. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +71 -0
  50. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +97 -0
  51. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +62 -0
  52. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SyncLinkManager.d.ts +18 -0
  53. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +4 -1
  54. package/bin/types/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +1 -1
  55. package/bin/types/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +66 -28
  56. package/bin/types/JsViewVueWidget/JsvNinePatch.vue.d.ts +2 -0
  57. package/bin/types/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +236 -0
  58. package/bin/types/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue.d.ts +153 -0
  59. package/bin/types/JsViewVueWidget/JsvScrollBox/ScrollInnerSymbol.d.ts +4 -0
  60. package/bin/types/JsViewVueWidget/JsvScrollBox/ScrollSymbol.d.ts +12 -0
  61. package/bin/types/JsViewVueWidget/JsvScrollBox/index.d.ts +3 -0
  62. package/bin/types/JsViewVueWidget/JsvTextBox.vue.d.ts +3 -3
  63. package/bin/types/JsViewVueWidget/index.d.ts +4 -0
  64. package/package.json +1 -1
  65. package/tools/config/rollup.config.mjs +1 -0
  66. package/utils/JsViewEngineWidget/JsvFocus/{JsvFocusManager.js → JsvFocusManager.ts} +12 -12
  67. package/utils/JsViewEngineWidget/MetroWidget/Dispatcher.ts +20 -0
  68. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +27 -10
  69. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +52 -11
  70. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +686 -480
  71. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +13 -1
  72. package/utils/JsViewEngineWidget/MetroWidget/Slide.ts +56 -0
  73. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +59 -10
  74. package/utils/JsViewEngineWidget/MetroWidget/TokenGenerator.ts +10 -0
  75. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +20 -10
  76. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +27 -3
  77. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +25 -35
  78. package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +7 -0
  79. package/utils/JsViewEngineWidget/WidgetCommon.ts +20 -7
  80. package/utils/JsViewEngineWidget/{index.js → index.ts} +1 -1
  81. package/utils/JsViewPlugin/JsvAudio/AudioProxy.js +21 -2
  82. package/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer.vue +13 -1
  83. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +470 -338
  84. package/utils/JsViewVueTools/ConstSymbol.ts +3 -0
  85. package/utils/JsViewVueTools/ForgeConstDefine.ts +11 -0
  86. package/utils/JsViewVueTools/JsvPreDownloader.ts +3 -3
  87. package/utils/JsViewVueTools/JsvRuntimeBridge.js +172 -50
  88. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +62 -0
  89. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +42 -8
  90. package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +15 -1
  91. package/utils/JsViewVueTools/index.js +19 -17
  92. package/utils/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue +8 -8
  93. package/utils/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue +3 -3
  94. package/utils/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue +7 -8
  95. package/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue +3 -3
  96. package/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/ApicDataBase.js +5 -1
  97. package/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/Viewer.js +8 -3
  98. package/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue +42 -0
  99. package/utils/JsViewVueWidget/JsvClipDiv/index.ts +1 -0
  100. package/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue +5 -1
  101. package/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue +82 -0
  102. package/utils/JsViewVueWidget/JsvDriftScope/index.ts +1 -0
  103. package/utils/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue +48 -0
  104. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +145 -0
  105. package/utils/JsViewVueWidget/JsvFragShaderView/index.js +18 -0
  106. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActionRefObject.ts +1 -1
  107. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +156 -55
  108. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorState.ts +4 -4
  109. package/utils/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.ts +6 -6
  110. package/utils/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.ts +1 -1
  111. package/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue +43 -9
  112. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +33 -0
  113. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +69 -8
  114. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +60 -0
  115. package/utils/JsViewVueWidget/JsvFreeMoveActor/SyncLinkManager.ts +120 -0
  116. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +7 -0
  117. package/utils/JsViewVueWidget/JsvMaskClipDiv.vue +6 -1
  118. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +121 -68
  119. package/utils/JsViewVueWidget/JsvNinePatch.vue +17 -2
  120. package/utils/JsViewVueWidget/JsvPosterImage.vue +22 -9
  121. package/utils/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue +6 -2
  122. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +518 -0
  123. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue +468 -0
  124. package/utils/JsViewVueWidget/JsvScrollBox/ScrollInnerSymbol.ts +9 -0
  125. package/utils/JsViewVueWidget/JsvScrollBox/ScrollSymbol.ts +24 -0
  126. package/utils/JsViewVueWidget/JsvScrollBox/index.ts +3 -0
  127. package/utils/JsViewVueWidget/JsvTextBox.vue +12 -4
  128. package/utils/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue +9 -6
  129. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +2 -0
  130. package/utils/JsViewVueWidget/index.js +4 -0
  131. package/utils/JsViewEngineWidget/MetroWidget/Dispatcher.js +0 -19
@@ -39,6 +39,7 @@ const _sfc_main = {
39
39
  },
40
40
  setup(__props, { expose }) {
41
41
  const props = __props;
42
+ const renderDocument = window.JsvCode.Dom.RenderDocument ? window.JsvCode.Dom.RenderDocument : window.JsvCode.Dom.BrowserDocument;
42
43
  const loadImage = (url) => {
43
44
  return new Promise((resolve, reject) => {
44
45
  let xhr = new XMLHttpRequest();
@@ -82,13 +83,13 @@ const _sfc_main = {
82
83
  const play = () => {
83
84
  viewer?.play(props.loopType, props.loopInfo);
84
85
  };
85
- const stop = () => {
86
- viewer?.stop();
86
+ const stop = (frameCount = -1) => {
87
+ viewer?.stop(frameCount);
87
88
  };
88
89
  onMounted(() => {
89
90
  let domLayoutView = canvasProxyRef.value.jsvGetProxyView();
90
91
  domLayoutView.RegisterOnProxyReady(() => {
91
- let canvas = window.originDocument.createElement("canvas");
92
+ let canvas = renderDocument.createElement("canvas");
92
93
  canvas.style.width = props.style.width + "px";
93
94
  canvas.style.height = props.style.height + "px";
94
95
  domLayoutView.HtmlGetElement().appendChild(canvas);
@@ -28,6 +28,7 @@ const _sfc_main = {
28
28
  setup(__props, { expose }) {
29
29
  const props = __props;
30
30
  let waitForPlayInfo = null;
31
+ const renderDocument = window.JsvCode.Dom.RenderDocument ? window.JsvCode.Dom.RenderDocument : window.JsvCode.Dom.BrowserDocument;
31
32
  const loadImage = (url) => {
32
33
  return new Promise((resolve, reject) => {
33
34
  let xhr = new XMLHttpRequest();
@@ -71,7 +72,7 @@ const _sfc_main = {
71
72
  onMounted(() => {
72
73
  let domLayoutView = canvasProxyRef.value.jsvGetProxyView();
73
74
  domLayoutView.RegisterOnProxyReady(() => {
74
- let canvas = window.originDocument.createElement("canvas");
75
+ let canvas = renderDocument.createElement("canvas");
75
76
  canvas.style.width = props.style.width + "px";
76
77
  canvas.style.height = props.style.height + "px";
77
78
  domLayoutView.HtmlGetElement().appendChild(canvas);
@@ -101,8 +102,8 @@ const _sfc_main = {
101
102
  waitForPlayInfo = args;
102
103
  viewer?.play(...args);
103
104
  },
104
- stop: () => {
105
- viewer?.stop();
105
+ stop: (frameCount = -1) => {
106
+ viewer?.stop(frameCount);
106
107
  }
107
108
  });
108
109
  return (_ctx, _cache) => {
@@ -148,6 +148,7 @@ class Viewer {
148
148
  this._Listener = listener;
149
149
  this._TimeoutId = -1;
150
150
  this._EndState = ApicEndState.LAST_FRAME;
151
+ this._CurrentIndex = -1;
151
152
  }
152
153
  _createLoopTool(loop_type, loop_info) {
153
154
  let loop_num = null;
@@ -178,8 +179,12 @@ class Viewer {
178
179
  }
179
180
  this._LoopTool.setApicInfo(this._ApicData.FrameCount, this._ApicData.LoopCount);
180
181
  }
181
- stop() {
182
+ stop(frameCount = -1) {
182
183
  clearTimeout(this._TimeoutId);
184
+ if (frameCount >= 0 && this._CurrentIndex !== frameCount) {
185
+ this._CurrentIndex = frameCount;
186
+ this.renderFrame(frameCount);
187
+ }
183
188
  if (this._Listener?.onend) {
184
189
  this._Listener.onend();
185
190
  }
@@ -203,7 +208,8 @@ class Viewer {
203
208
  }
204
209
  renderLoop() {
205
210
  if (this._LoopTool.hasNext()) {
206
- let duration = this.renderFrame(this._LoopTool.next());
211
+ this._CurrentIndex = this._LoopTool.next();
212
+ let duration = this.renderFrame(this._CurrentIndex);
207
213
  this._TimeoutId = setTimeout(() => {
208
214
  this.renderLoop();
209
215
  }, duration);
@@ -225,13 +231,14 @@ class Viewer {
225
231
  //
226
232
  // utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/ApicDataBase.js;
227
233
  //
234
+ const renderDocument = window.JsvCode.Dom.RenderDocument ? window.JsvCode.Dom.RenderDocument : window.JsvCode.Dom.BrowserDocument;
228
235
  class ApicDataBase {
229
236
  constructor(arrayBuffer) {
230
237
  this.LoopCount = 0;
231
238
  this.FrameCount = 0;
232
239
  this.Width = 0;
233
240
  this.Height = 0;
234
- this._Canvas = window.originDocument.createElement("canvas");
241
+ this._Canvas = renderDocument.createElement("canvas");
235
242
  this._Context = this._Canvas.getContext("2d");
236
243
  this._DecodedData = null;
237
244
  this.decode(arrayBuffer);
@@ -0,0 +1,63 @@
1
+ import { openBlock, createElementBlock, normalizeStyle } from 'vue';
2
+
3
+ //
4
+ // utils/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue;
5
+ //
6
+ /*
7
+
8
+ */
9
+ const _sfc_main = {
10
+ __name: "BrowserJsvFragShaderView",
11
+ props: {
12
+ style: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ duration: {
17
+ type: Number,
18
+ default: -1
19
+ },
20
+ autoplay: {
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ shaderStr: {
25
+ type: String,
26
+ required: true
27
+ },
28
+ // [{ name: string, value: number }]
29
+ uniforms: {
30
+ type: Array
31
+ },
32
+ // [{ name: string, type: number, resource: object/string }]
33
+ textures: {
34
+ type: Array
35
+ }
36
+ },
37
+ setup(__props, { expose }) {
38
+ const props = __props;
39
+ expose({
40
+ startAnim: () => {
41
+ },
42
+ stopAnim: () => {
43
+ }
44
+ });
45
+ return (_ctx, _cache) => {
46
+ return openBlock(), createElementBlock("div", {
47
+ style: normalizeStyle({
48
+ left: __props.style.left,
49
+ top: __props.style.top,
50
+ width: __props.style.width,
51
+ height: __props.style.height,
52
+ backgroundColor: "#00000077",
53
+ fontSize: 50,
54
+ color: "#ffffff",
55
+ textAlign: "center",
56
+ lineHeight: __props.style.height
57
+ })
58
+ }, " 浏览器端未支持JsvFragShaderView ", 4);
59
+ };
60
+ }
61
+ };
62
+
63
+ export { _sfc_main as default };
@@ -6,6 +6,7 @@ import QRCode from 'qr.js';
6
6
  //
7
7
  /*
8
8
 
9
+
9
10
  */
10
11
  const _sfc_main = {
11
12
  __name: "BrowserQrcode",
@@ -29,6 +30,7 @@ const _sfc_main = {
29
30
  },
30
31
  setup(__props) {
31
32
  const props = __props;
33
+ const renderDocument = window.JsvCode.Dom.RenderDocument ? window.JsvCode.Dom.RenderDocument : window.JsvCode.Dom.BrowserDocument;
32
34
  const convertStr = (str) => {
33
35
  let out = "";
34
36
  for (let i = 0; i < str.length; i++) {
@@ -136,7 +138,7 @@ const _sfc_main = {
136
138
  onMounted(() => {
137
139
  svgRoot.value.jsvGetProxyView().RegisterOnProxyReady(() => {
138
140
  const root = svgRoot.value.jsvGetProxyView().HtmlGetElement();
139
- const doc = window.originDocument;
141
+ const doc = renderDocument;
140
142
  const svg = doc.createElementNS("http://www.w3.org/2000/svg", "svg");
141
143
  svg.setAttribute("type", "qrcode");
142
144
  svg.setAttribute("shapeRendering", "crispEdges");
@@ -15,6 +15,7 @@ import { _ as _export_sfc } from '../export-sfc.mjs';
15
15
 
16
16
  */
17
17
  const forgeTextureManager = window.JsvCode.ForgeHandles.TextureManager;
18
+ const renderDocument = window.JsvCode.Dom.RenderDocument ? window.JsvCode.Dom.RenderDocument : window.JsvCode.Dom.BrowserDocument;
18
19
  const DECORATE_BORDER_RADIUS = "BroderRaidus";
19
20
  const DECORATE_NINEPATCH_ALPHA_MIX = "NinePatchAlphaMix";
20
21
  const TexAlignAnchor = {
@@ -243,11 +244,11 @@ const _sfc_main = {
243
244
  }
244
245
  },
245
246
  insertKeyframe(animDefine) {
246
- const index = document.styleSheets[0].cssRules.length;
247
- document.styleSheets[0].insertRule(animDefine, index);
247
+ const index = renderDocument.styleSheets[0].cssRules.length;
248
+ renderDocument.styleSheets[0].insertRule(animDefine, index);
248
249
  },
249
250
  removeKeyframe(animName) {
250
- const styleSheetRef = document.styleSheets[0];
251
+ const styleSheetRef = renderDocument.styleSheets[0];
251
252
  const cssRulesRef = styleSheetRef.cssRules;
252
253
  for (let i = cssRulesRef.length - 1; i >= 0; i--) {
253
254
  if (cssRulesRef[i].name === animName) {
@@ -263,16 +264,16 @@ const _sfc_main = {
263
264
  }
264
265
  this.$refs.root.jsvGetProxyView().RegisterOnProxyReady(() => {
265
266
  const root = this.$refs.root.jsvGetProxyView().HtmlGetElement();
266
- this.clipDiv = window.originDocument.createElement("div");
267
+ this.clipDiv = renderDocument.createElement("div");
267
268
  Object.assign(this.clipDiv.style, this.maskStyle);
268
269
  const textureLayout = this.textureLayout;
269
- this.animDiv = window.originDocument.createElement("div");
270
+ this.animDiv = renderDocument.createElement("div");
270
271
  Object.assign(this.animDiv.style, textureLayout);
271
272
  this.animDiv.onanimationend = () => {
272
273
  this.animDiv.style.animation = null;
273
274
  this.onAnimationEnd?.();
274
275
  };
275
- this.imgDiv = window.originDocument.createElement("div");
276
+ this.imgDiv = renderDocument.createElement("div");
276
277
  this.imgDiv.style.width = textureLayout.width;
277
278
  this.imgDiv.style.height = textureLayout.height;
278
279
  this.imgDiv.style.backgroundImage = `url(${this.src})`;