@shijiu/jsview-vue 2.1.476-test.0 → 2.2.35

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 (194) hide show
  1. package/bin/browser/BrowserTextureAnim.vue.mjs +8 -1
  2. package/bin/jsview-vue.mjs +340 -127
  3. package/bin/types/JsViewEngineWidget/CheckType.d.ts +3 -0
  4. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +102 -0
  5. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +88 -0
  6. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusManager.d.ts +10 -0
  7. package/bin/types/JsViewEngineWidget/MetroWidget/Const.d.ts +16 -0
  8. package/bin/types/JsViewEngineWidget/MetroWidget/Dispatcher.d.ts +14 -0
  9. package/bin/types/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +158 -0
  10. package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +158 -0
  11. package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +46 -0
  12. package/bin/types/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +21 -0
  13. package/bin/types/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +46 -0
  14. package/bin/types/JsViewEngineWidget/MetroWidget/SlotComponent.vue.d.ts +48 -0
  15. package/bin/types/JsViewEngineWidget/MetroWidget/VisibleInfo.d.ts +16 -0
  16. package/bin/types/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +17 -0
  17. package/bin/types/JsViewEngineWidget/RangeModel.d.ts +162 -0
  18. package/bin/types/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +37 -0
  19. package/bin/types/JsViewEngineWidget/TemplateParser/Fence.d.ts +58 -0
  20. package/bin/types/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +15 -0
  21. package/bin/types/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +97 -0
  22. package/bin/types/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +22 -0
  23. package/bin/types/JsViewEngineWidget/TemplateParser/index.d.ts +4 -0
  24. package/bin/types/JsViewEngineWidget/WidgetCommon.d.ts +137 -0
  25. package/bin/types/JsViewEngineWidget/index.d.ts +6 -0
  26. package/bin/types/JsViewPlugin/JsvAccount/JsvAccount.d.ts +42 -0
  27. package/bin/types/JsViewPlugin/JsvAudio/AudioProxy.d.ts +2 -0
  28. package/bin/types/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +18 -0
  29. package/bin/types/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +208 -0
  30. package/bin/types/JsViewPlugin/JsvAudio/CheckType.d.ts +2 -0
  31. package/bin/types/JsViewPlugin/JsvAudio/Events.d.ts +13 -0
  32. package/bin/types/JsViewPlugin/JsvAudio/JsvAudio.vue.d.ts +18 -0
  33. package/bin/types/JsViewPlugin/JsvAudio/JsvAudioBridgeProxy.d.ts +8 -0
  34. package/bin/types/JsViewPlugin/JsvAudio/JsvAudioProxy.vue.d.ts +2 -0
  35. package/bin/types/JsViewPlugin/JsvAudio/PluginLoader.d.ts +1 -0
  36. package/bin/types/JsViewPlugin/JsvAudio/ScreenLockManager.d.ts +5 -0
  37. package/bin/types/JsViewPlugin/JsvAudio/index.d.ts +3 -0
  38. package/bin/types/JsViewPlugin/JsvAudio/version.d.ts +10 -0
  39. package/bin/types/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +1 -0
  40. package/bin/types/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue.d.ts +13 -0
  41. package/bin/types/JsViewPlugin/JsvLatex/Color.d.ts +1 -0
  42. package/bin/types/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +17 -0
  43. package/bin/types/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +3 -0
  44. package/bin/types/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +2 -0
  45. package/bin/types/JsViewPlugin/JsvLatex/PluginLoader.d.ts +1 -0
  46. package/bin/types/JsViewPlugin/JsvLatex/index.d.ts +3 -0
  47. package/bin/types/JsViewPlugin/JsvLatex/version.d.ts +10 -0
  48. package/bin/types/JsViewPlugin/index.d.ts +3 -0
  49. package/bin/types/JsViewVueTools/DebugContentShellJBridge.d.ts +6 -0
  50. package/bin/types/JsViewVueTools/DebugTool.d.ts +8 -0
  51. package/bin/types/JsViewVueTools/DefaultKeyMap.d.ts +10 -0
  52. package/bin/types/JsViewVueTools/ForgeHandles.d.ts +6 -0
  53. package/bin/types/JsViewVueTools/JsvDemoTester.d.ts +2 -0
  54. package/bin/types/JsViewVueTools/JsvDynamicCssStyle.d.ts +14 -0
  55. package/bin/types/JsViewVueTools/JsvDynamicKeyFrames.d.ts +21 -0
  56. package/bin/types/JsViewVueTools/JsvHashHistory.d.ts +16 -0
  57. package/bin/types/JsViewVueTools/JsvImpactTracer.d.ts +40 -0
  58. package/bin/types/JsViewVueTools/JsvRefTaker.d.ts +27 -0
  59. package/bin/types/JsViewVueTools/JsvRuntimeBridge.d.ts +223 -0
  60. package/bin/types/JsViewVueTools/JsvStyleClass.d.ts +31 -0
  61. package/bin/types/JsViewVueTools/JsvStyleSheetsDeclarer.d.ts +15 -0
  62. package/bin/types/JsViewVueTools/JsvTextTools.d.ts +37 -0
  63. package/bin/types/JsViewVueTools/JsvTextureDefines.d.ts +6 -0
  64. package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/CanvasTexture.d.ts +95 -0
  65. package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +15 -0
  66. package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +75 -0
  67. package/bin/types/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +24 -0
  68. package/bin/types/JsViewVueTools/JsvTextureStore/Store.d.ts +10 -0
  69. package/bin/types/JsViewVueTools/JsvTextureStore/Texture.d.ts +15 -0
  70. package/bin/types/JsViewVueTools/NinePatchHelper.d.ts +21 -0
  71. package/bin/types/JsViewVueTools/TypeCheckAndSet.d.ts +2 -0
  72. package/bin/types/JsViewVueTools/index.d.ts +14 -0
  73. package/bin/types/JsViewVueWidget/JsvActorMove/ActorControlBase.d.ts +31 -0
  74. package/bin/types/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +64 -0
  75. package/bin/types/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.d.ts +33 -0
  76. package/bin/types/JsViewVueWidget/JsvActorMove/index.d.ts +4 -0
  77. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +15 -0
  78. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +50 -0
  79. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +2 -0
  80. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +13 -0
  81. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +23 -0
  82. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +2 -0
  83. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/ApicDataBase.d.ts +13 -0
  84. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/BrowserApicLib.d.ts +3 -0
  85. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/GifData.d.ts +5 -0
  86. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/NormalLoopTool.d.ts +7 -0
  87. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/PartLoopTool.d.ts +12 -0
  88. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/SingleLoopTool.d.ts +5 -0
  89. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/Viewer.d.ts +19 -0
  90. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/WebpData.d.ts +5 -0
  91. package/bin/types/{jsview-vue-common.d.mts → JsViewVueWidget/JsvApic/JsvCommonLoopToolBase.d.ts} +12 -13
  92. package/bin/types/JsViewVueWidget/JsvConnectLine/ArcLineManager.d.ts +1 -0
  93. package/bin/types/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +13 -0
  94. package/bin/types/JsViewVueWidget/JsvConnectLine/index.d.ts +2 -0
  95. package/bin/types/JsViewVueWidget/JsvEnableRenderBreak.vue.d.ts +51 -0
  96. package/bin/types/JsViewVueWidget/JsvFilterView.vue.d.ts +72 -0
  97. package/bin/types/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +72 -0
  98. package/bin/types/JsViewVueWidget/JsvFlexCell/index.d.ts +2 -0
  99. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +72 -0
  100. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +84 -0
  101. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/NexusNode.d.ts +6 -0
  102. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +11 -0
  103. package/bin/types/JsViewVueWidget/JsvGrid.vue.d.ts +168 -0
  104. package/bin/types/JsViewVueWidget/JsvHole.d.ts +2 -0
  105. package/bin/types/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +36 -0
  106. package/bin/types/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +210 -0
  107. package/bin/types/JsViewVueWidget/JsvInput/index.d.ts +4 -0
  108. package/bin/types/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +12 -0
  109. package/bin/types/JsViewVueWidget/JsvLine/LineManager.d.ts +1 -0
  110. package/bin/types/JsViewVueWidget/JsvLine/index.d.ts +2 -0
  111. package/bin/types/JsViewVueWidget/JsvMarquee.vue.d.ts +12 -0
  112. package/bin/types/JsViewVueWidget/JsvMaskClipDiv.vue.d.ts +83 -0
  113. package/bin/types/JsViewVueWidget/JsvMindMap/CommonType.d.ts +1 -0
  114. package/bin/types/JsViewVueWidget/JsvMindMap/Constant.d.ts +9 -0
  115. package/bin/types/JsViewVueWidget/JsvMindMap/DataTree.d.ts +69 -0
  116. package/bin/types/JsViewVueWidget/JsvMindMap/Geometry.d.ts +68 -0
  117. package/bin/types/JsViewVueWidget/JsvMindMap/JsvMindMap.vue.d.ts +145 -0
  118. package/bin/types/JsViewVueWidget/JsvMindMap/index.d.ts +1 -0
  119. package/bin/types/JsViewVueWidget/JsvMindMap/rtree.d.ts +40 -0
  120. package/bin/types/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +31 -0
  121. package/bin/types/JsViewVueWidget/JsvNinePatch.vue.d.ts +18 -0
  122. package/bin/types/JsViewVueWidget/JsvPieChart.vue.d.ts +9 -0
  123. package/bin/types/JsViewVueWidget/JsvPosterDiv.vue.d.ts +60 -0
  124. package/bin/types/JsViewVueWidget/JsvPosterImage.vue.d.ts +75 -0
  125. package/bin/types/JsViewVueWidget/JsvPreload/BrowserPreload.vue.d.ts +10 -0
  126. package/bin/types/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +25 -0
  127. package/bin/types/JsViewVueWidget/JsvPreload/index.d.ts +17 -0
  128. package/bin/types/JsViewVueWidget/JsvProgressBar.vue.d.ts +12 -0
  129. package/bin/types/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue.d.ts +11 -0
  130. package/bin/types/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +60 -0
  131. package/bin/types/JsViewVueWidget/JsvQrcode/index.d.ts +2 -0
  132. package/bin/types/JsViewVueWidget/JsvRadarChart.vue.d.ts +13 -0
  133. package/bin/types/JsViewVueWidget/JsvRipple/Constant.d.ts +4 -0
  134. package/bin/types/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +84 -0
  135. package/bin/types/JsViewVueWidget/JsvRipple/index.d.ts +3 -0
  136. package/bin/types/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +10 -0
  137. package/bin/types/JsViewVueWidget/JsvSector.vue.d.ts +10 -0
  138. package/bin/types/JsViewVueWidget/JsvSoundPool.d.ts +84 -0
  139. package/bin/types/JsViewVueWidget/JsvSpray/BrowserSpray.vue.d.ts +25 -0
  140. package/bin/types/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +38 -0
  141. package/bin/types/JsViewVueWidget/JsvSpray/index.d.ts +2 -0
  142. package/bin/types/JsViewVueWidget/JsvSpriteAnim/FrameBuidler.d.ts +14 -0
  143. package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +18 -0
  144. package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +69 -0
  145. package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteTools.d.ts +11 -0
  146. package/bin/types/JsViewVueWidget/JsvSpriteAnim/SpriteController.d.ts +17 -0
  147. package/bin/types/JsViewVueWidget/JsvSpriteAnim/index.d.ts +5 -0
  148. package/bin/types/JsViewVueWidget/JsvSpriteAnim/sAnimationToken.d.ts +2 -0
  149. package/bin/types/JsViewVueWidget/JsvSwiper/JsvSwiper.vue.d.ts +209 -0
  150. package/bin/types/JsViewVueWidget/JsvSwiper/index.d.ts +2 -0
  151. package/bin/types/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue.d.ts +97 -0
  152. package/bin/types/JsViewVueWidget/JsvSwiper3D/index.d.ts +2 -0
  153. package/bin/types/JsViewVueWidget/JsvTextBox.vue.d.ts +75 -0
  154. package/bin/types/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue.d.ts +151 -0
  155. package/bin/types/JsViewVueWidget/JsvTextureAnim/CommonType.d.ts +2 -0
  156. package/bin/types/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +107 -0
  157. package/bin/types/JsViewVueWidget/JsvTextureAnim/index.d.ts +14 -0
  158. package/bin/types/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +84 -0
  159. package/bin/types/JsViewVueWidget/JsvVisibleSensor/index.d.ts +84 -0
  160. package/bin/types/JsViewVueWidget/index.d.ts +37 -0
  161. package/bin/types/index.d.ts +4 -0
  162. package/index.d.ts +1 -1
  163. package/package.json +1 -1
  164. package/tools/config/tsconfig.json +6 -6
  165. package/tools/jsview-vue-build.mjs +13 -4
  166. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +8 -4
  167. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +19 -5
  168. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +317 -151
  169. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +3 -3
  170. package/utils/JsViewEngineWidget/MetroWidget/VisibleInfo.ts +1 -1
  171. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +21 -21
  172. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +4 -4
  173. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +10 -10
  174. package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +6 -6
  175. package/utils/JsViewEngineWidget/WidgetCommon.ts +18 -2
  176. package/utils/JsViewVueTools/JsvRuntimeBridge.js +2 -6
  177. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +7 -3
  178. package/utils/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.ts +4 -2
  179. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +26 -0
  180. package/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue +1 -1
  181. package/utils/JsViewVueWidget/JsvMindMap/rtree.js +1 -1
  182. package/utils/JsViewVueWidget/JsvTextBox.vue +14 -2
  183. package/utils/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue +18 -3
  184. package/bin/types/browser/BrowserApic.vue.d.mts +0 -33
  185. package/bin/types/browser/BrowserApic2.vue.d.mts +0 -16
  186. package/bin/types/browser/BrowserApicLib.d.mts +0 -56
  187. package/bin/types/browser/BrowserAudio.vue.d.mts +0 -2
  188. package/bin/types/browser/BrowserJsvLatex.vue.d.mts +0 -55
  189. package/bin/types/browser/BrowserPreload.vue.d.mts +0 -14
  190. package/bin/types/browser/BrowserQrcode.vue.d.mts +0 -29
  191. package/bin/types/browser/BrowserSpray.vue.d.mts +0 -2
  192. package/bin/types/browser/BrowserTextureAnim.vue.d.mts +0 -2
  193. package/bin/types/export-sfc.d.mts +0 -2
  194. package/bin/types/jsview-vue.d.mts +0 -2511
@@ -1,4 +1,4 @@
1
- import { ref, computed, toRaw, reactive, nextTick, onMounted, onUpdated, onBeforeUnmount, onBeforeUpdate, openBlock, createElementBlock, renderSlot, shallowRef, resolveComponent, normalizeStyle, createElementVNode, unref, createVNode, withCtx, Fragment, renderList, createCommentVNode, inject, provide, onUnmounted, onActivated, onDeactivated, createBlock, defineAsyncComponent, normalizeProps, guardReactiveProps, watchEffect, mergeProps, toDisplayString, watch, shallowReactive, withDirectives, vShow } from 'vue';
1
+ import { ref, computed, toRaw, reactive, nextTick, onMounted, onUpdated, onBeforeUnmount, onBeforeUpdate, openBlock, createElementBlock, renderSlot, shallowRef, resolveComponent, normalizeStyle, createElementVNode, unref, mergeProps, toHandlers, createVNode, withCtx, Fragment, renderList, createCommentVNode, inject, provide, onUnmounted, onActivated, onDeactivated, createBlock, defineAsyncComponent, normalizeProps, guardReactiveProps, watchEffect, toDisplayString, watch, shallowReactive, withDirectives, vShow } from 'vue';
2
2
  import { Forge as Forge$1, ForgeExtension } from '@shijiu/jsview/dom/jsv-forge-define';
3
3
  import { createWebHashHistory, createMemoryHistory } from 'vue-router';
4
4
  import { Forge as Forge$2 } from '@shijiu/jsview/dom/jsv-forge-define.mjs';
@@ -132,6 +132,8 @@ class SeamlessSlide extends SlideSetting {
132
132
  constructor({
133
133
  startPercent = 0.2,
134
134
  endPercent = 0.8,
135
+ headRange = void 0,
136
+ tailRange = void 0,
135
137
  speed = defaultSpeed,
136
138
  duration = null,
137
139
  easing = defaultEasing,
@@ -141,6 +143,17 @@ class SeamlessSlide extends SlideSetting {
141
143
  super(SlideSetting.Type.SEAMLESS, speed, duration, easing, boundaryProtect);
142
144
  this.StartPercent = startPercent;
143
145
  this.EndPercent = endPercent;
146
+ if (typeof headRange !== "undefined") {
147
+ this.StartPercent = headRange;
148
+ }
149
+ if (typeof tailRange !== "undefined") {
150
+ this.EndPercent = tailRange;
151
+ }
152
+ if (this.StartPercent < 0 || this.StartPercent > 1 || this.EndPercent < 0 || this.EndPercent > 1) {
153
+ console.error(`SeamlessSlideSetting error: invalide value, startPercent(${this.StartPercent}) and endPercent(${this.EndPercent}) must between 0 and 1.`);
154
+ this.StartPercent = 0.2;
155
+ this.EndPercent = 0.8;
156
+ }
144
157
  this.FixFirstPage = fixFirstPage;
145
158
  }
146
159
  }
@@ -2367,7 +2380,7 @@ class RenderItem {
2367
2380
  }
2368
2381
  }
2369
2382
  onTap = computed(() => {
2370
- return this.enableTap ? { click: this.onClick.bind(this) } : {};
2383
+ return this.enableTap ? this.onClick.bind(this) : null;
2371
2384
  });
2372
2385
  onClick() {
2373
2386
  if (this.mounted.value) {
@@ -2417,7 +2430,10 @@ class RenderItem {
2417
2430
  class VisibleInfo {
2418
2431
  _start = 0;
2419
2432
  range = 0;
2420
- padding;
2433
+ padding = {
2434
+ start: 0,
2435
+ end: 0
2436
+ };
2421
2437
  _startMax = 0;
2422
2438
  set start(value) {
2423
2439
  this._start = value;
@@ -2658,6 +2674,14 @@ class ConditionPackBuilder {
2658
2674
  }
2659
2675
  return this._BuildPack(ConditionSetBuilder.OnNextTick(tickGap, this._CommonInfo));
2660
2676
  }
2677
+ /** 指定的swapcount前才能执行 */
2678
+ onSwapCount() {
2679
+ if (!this._CheckCommonInfo()) {
2680
+ return null;
2681
+ }
2682
+ this._CommonInfoValid = false;
2683
+ return this._BuildPack(ConditionSetBuilder.onSwapCount(0, this._CommonInfo));
2684
+ }
2661
2685
  onDragStart() {
2662
2686
  if (!this._CheckCommonInfo()) {
2663
2687
  return null;
@@ -2714,6 +2738,20 @@ class ConditionPackBuilder {
2714
2738
  this._CommonInfoValid = false;
2715
2739
  return this._BuildPack(ConditionSetBuilder.OnFlingCancel(this._CommonInfo, this._ContorlSlefNexus.token));
2716
2740
  }
2741
+ onFlingDrop() {
2742
+ if (!this._CheckCommonInfo()) {
2743
+ return null;
2744
+ }
2745
+ this._CommonInfoValid = false;
2746
+ return this._BuildPack(ConditionSetBuilder.OnFlingDrop(this._CommonInfo, this._ContorlSlefNexus.token));
2747
+ }
2748
+ touchCount(count) {
2749
+ if (!this._CheckCommonInfo()) {
2750
+ return null;
2751
+ }
2752
+ this._CommonInfoValid = false;
2753
+ return this._BuildPack(ConditionSetBuilder.TouchCount(this._CommonInfo, count));
2754
+ }
2717
2755
  _CheckCommonInfo() {
2718
2756
  if (!this._CommonInfoValid) {
2719
2757
  console.error("Error: must call from new conditoin()");
@@ -3200,7 +3238,7 @@ class CallbackManager {
3200
3238
  }
3201
3239
  }
3202
3240
  }
3203
- invokeCallback(id, actorState) {
3241
+ invokeCallback(id, actorState, customDataStr, nexusCustomDataStr) {
3204
3242
  let callbackObj = this._CallbackMap.get(id);
3205
3243
  if (callbackObj) {
3206
3244
  if (callbackObj.once) {
@@ -3209,7 +3247,7 @@ class CallbackManager {
3209
3247
  callbackObj.times++;
3210
3248
  }
3211
3249
  try {
3212
- callbackObj.funcRef?.(actorState);
3250
+ callbackObj.funcRef?.(actorState, customDataStr, nexusCustomDataStr);
3213
3251
  } catch (e) {
3214
3252
  console.error("Error: callback error", e);
3215
3253
  }
@@ -3256,6 +3294,9 @@ class ActorControl {
3256
3294
  this._SharedQuickActionPackBuilder = new ActorPackBuilder(this._Callbacks, this._SelfNexusRecv);
3257
3295
  this._StatePackBuilder = new StatePackBuilder();
3258
3296
  }
3297
+ // debugGetAnimId() {
3298
+ // return this._BindAnim?.AnimNativeId;
3299
+ // }
3259
3300
  bindForgeView(bindView, instantActive) {
3260
3301
  this._BindView = bindView;
3261
3302
  if (instantActive) {
@@ -3346,7 +3387,7 @@ class ActorControl {
3346
3387
  if (renderBreakId != 0) {
3347
3388
  FinishRenderBreak(renderBreakId);
3348
3389
  }
3349
- this._Callbacks.invokeCallback(echoRet["eTkn"], retJsonObject);
3390
+ this._Callbacks.invokeCallback(echoRet["eTkn"], retJsonObject, echoRet["cds"], echoRet["ncds"]);
3350
3391
  }
3351
3392
  }
3352
3393
  }
@@ -3546,6 +3587,16 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
3546
3587
  DRAG: 2,
3547
3588
  FLING: 3
3548
3589
  };
3590
+ let innerKeepTraceRange = 0;
3591
+ if (typeof props.keepTraceRange > 0) {
3592
+ innerKeepTraceRange = props.keepTraceRange;
3593
+ } else {
3594
+ if (props.touchFlag > 0) {
3595
+ innerKeepTraceRange = 3;
3596
+ } else {
3597
+ innerKeepTraceRange = 0;
3598
+ }
3599
+ }
3549
3600
  const modeForExport = ref(FOCUS_MODE);
3550
3601
  const mode = {
3551
3602
  _mode: FOCUS_MODE,
@@ -3609,6 +3660,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
3609
3660
  let visibleInfo = new VisibleInfo();
3610
3661
  let preSlideDirection = 0;
3611
3662
  let alreadyCallItemFocus = false;
3663
+ let innerSlideSetting = props.slideSetting;
3612
3664
  const currentFocusIndex = ref(0);
3613
3665
  const DEFAULT_ANIMATION_DURATION = 200;
3614
3666
  const isItemVisible = (item) => {
@@ -3708,8 +3760,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
3708
3760
  easing: "",
3709
3761
  onStart: null,
3710
3762
  onEnd: null,
3711
- speed: props.slideSetting.Speed,
3712
- duration: props.slideSetting.Duration
3763
+ speed: innerSlideSetting.Speed,
3764
+ duration: innerSlideSetting.Duration
3713
3765
  };
3714
3766
  }
3715
3767
  }
@@ -3728,11 +3780,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
3728
3780
  taskManager.run(() => {
3729
3781
  updateHandler = pageUpdater.update(
3730
3782
  metroTemplate,
3731
- visibleInfo.startWithPadding - props.keepTraceRange * pageRange,
3732
- Math.min(
3733
- visibleInfo.startMax + visibleInfo.range + visibleInfo.padding.end - 1,
3734
- visibleInfo.endWithPadding + props.keepTraceRange * pageRange
3735
- ),
3783
+ visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
3784
+ visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
3736
3785
  focusId,
3737
3786
  mergeTmp,
3738
3787
  permanentItemList
@@ -3860,7 +3909,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
3860
3909
  );
3861
3910
  };
3862
3911
  const _slideTo = (target, animObj, updateParam = { mergeTmp: false }) => {
3863
- if (slideLock) {
3912
+ if (slideLock || target == visibleInfo.start) {
3864
3913
  return;
3865
3914
  }
3866
3915
  ;
@@ -3979,6 +4028,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
3979
4028
  if (id == focusId) {
3980
4029
  return;
3981
4030
  }
4031
+ tryCancelDelayLoad();
3982
4032
  templateItemAdder.tryAddItemById(id);
3983
4033
  let next_focus_item = getItemById(id);
3984
4034
  if (next_focus_item) {
@@ -4059,15 +4109,16 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4059
4109
  enterFocusRect = rect;
4060
4110
  };
4061
4111
  const slideTo = (position, doAnim) => {
4112
+ tryCancelDelayLoad();
4062
4113
  templateItemAdder.tryAddItemByPosition(position);
4063
4114
  if (typeof position !== "undefined" && position != null) {
4064
4115
  let animObj = null;
4065
4116
  if (doAnim) {
4066
4117
  animObj = {
4067
- easing: props.slideSetting.Easing,
4118
+ easing: innerSlideSetting.Easing,
4068
4119
  onStart: null,
4069
- speed: props.slideSetting.Speed,
4070
- duration: props.slideSetting.Duration
4120
+ speed: innerSlideSetting.Speed,
4121
+ duration: innerSlideSetting.Duration
4071
4122
  };
4072
4123
  }
4073
4124
  _slideTo(position, animObj);
@@ -4093,6 +4144,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4093
4144
  }
4094
4145
  };
4095
4146
  const slideToDiv = (div, doAnim) => {
4147
+ tryCancelDelayLoad();
4096
4148
  if (div) {
4097
4149
  const item_layout = div.jsvGetRelativePosition(toRaw(locateDiv.value));
4098
4150
  const direction = 1;
@@ -4112,8 +4164,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4112
4164
  _slideTo(cur_slide, doAnim ? {
4113
4165
  easing: "",
4114
4166
  onStart: null,
4115
- speed: props.slideSetting.Speed,
4116
- duration: props.slideSetting.Duration,
4167
+ speed: innerSlideSetting.Speed,
4168
+ duration: innerSlideSetting.Duration,
4117
4169
  onEnd: null
4118
4170
  } : null);
4119
4171
  }
@@ -4186,11 +4238,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4186
4238
  }
4187
4239
  const updater = pageUpdater.update(
4188
4240
  metroTemplate,
4189
- visibleInfo.startWithPadding - props.keepTraceRange * pageRange,
4190
- Math.min(
4191
- visibleInfo.startMax + visibleInfo.range + visibleInfo.padding.end - 1,
4192
- visibleInfo.endWithPadding + props.keepTraceRange * pageRange
4193
- ),
4241
+ visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
4242
+ visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
4194
4243
  focusId,
4195
4244
  false,
4196
4245
  permanentItemList
@@ -4198,6 +4247,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4198
4247
  updater.apply();
4199
4248
  onItemFocus(getItemById(focusId), null);
4200
4249
  slideToItem(id2Index(focusId), false);
4250
+ updateTouchBoxCondition();
4201
4251
  };
4202
4252
  const getVisibleItems = () => {
4203
4253
  const [visibleStart, visibleEnd] = metroTemplate.getVisibleItemList(
@@ -4212,6 +4262,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4212
4262
  };
4213
4263
  };
4214
4264
  const moveFocus = (direction) => {
4265
+ tryCancelDelayLoad();
4215
4266
  if (direction == "left" || direction == 37 || direction == EdgeDirection.left) {
4216
4267
  _moveToNext(-1, 0);
4217
4268
  } else if (direction == "right" || direction == 39 || direction == EdgeDirection.right) {
@@ -4242,27 +4293,35 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4242
4293
  const unlockSlide = () => {
4243
4294
  slideLock = false;
4244
4295
  };
4296
+ const setSlideSetting = (setting) => {
4297
+ if (!setting) {
4298
+ innerSlideSetting = props.slideSetting;
4299
+ } else {
4300
+ innerSlideSetting = setting;
4301
+ }
4302
+ };
4245
4303
  const exportObject = {
4246
4304
  lockSlide,
4247
4305
  unlockSlide,
4248
4306
  lock,
4249
4307
  unlock,
4308
+ refreshData,
4309
+ moveFocus,
4250
4310
  slideTo,
4311
+ slideToItem,
4312
+ slideToDiv,
4251
4313
  setFocusId,
4252
4314
  setFocusByUid,
4253
- getFocusBlockRef,
4254
4315
  setEnterFocusId,
4255
4316
  setEnterFocusRect,
4256
- slideToItem,
4257
- slideToDiv,
4258
- refreshData,
4317
+ setZIndex,
4318
+ getFocusBlockRef,
4259
4319
  getVisibleItems,
4260
- moveFocus,
4261
4320
  getCustomerDataSize,
4262
- setZIndex,
4263
4321
  getCurrentFocusIndex,
4264
4322
  getCurMode,
4265
- getTemplatePosition
4323
+ getTemplatePosition,
4324
+ setSlideSetting
4266
4325
  };
4267
4326
  const _calculateNearestItemByRect = (visibleSet, enter_rect_info) => {
4268
4327
  let edge_direction = enter_rect_info.direction;
@@ -4408,6 +4467,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4408
4467
  if (onKeyDownLock) {
4409
4468
  return true;
4410
4469
  }
4470
+ tryCancelDelayLoad();
4411
4471
  if (mode.getMode() == TOUCH_MODE) {
4412
4472
  if (mode.duringTouch()) {
4413
4473
  return true;
@@ -4449,6 +4509,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4449
4509
  metroTemplate.getTailItemIndex()
4450
4510
  )?.templateInfo;
4451
4511
  if (lastTemplateInfo) {
4512
+ let preTouchW = touchDivSize.width;
4513
+ let preTouchH = touchDivSize.height;
4452
4514
  if (vertical) {
4453
4515
  touchDivSize.width = props.width;
4454
4516
  touchDivSize.height = lastTemplateInfo.top + lastTemplateInfo.height - 1;
@@ -4456,7 +4518,9 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4456
4518
  touchDivSize.width = lastTemplateInfo.left + lastTemplateInfo.width - 1;
4457
4519
  touchDivSize.height = props.height;
4458
4520
  }
4459
- resetDragRect(touchDivSize.width, touchDivSize.height);
4521
+ if (preTouchW !== touchDivSize.width || preTouchH !== touchDivSize.height) {
4522
+ updateTouchBoxCondition();
4523
+ }
4460
4524
  }
4461
4525
  };
4462
4526
  const _onTemplateItemAdd = (customerData, templateItem, measuresObj) => {
@@ -4578,8 +4642,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4578
4642
  {
4579
4643
  easing: "",
4580
4644
  onStart: null,
4581
- speed: props.slideSetting.Speed,
4582
- duration: props.slideSetting.Duration
4645
+ speed: innerSlideSetting.Speed,
4646
+ duration: innerSlideSetting.Duration
4583
4647
  },
4584
4648
  {
4585
4649
  mergeTmp: true
@@ -4668,27 +4732,31 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4668
4732
  }
4669
4733
  onItemBlur(preFocusItem);
4670
4734
  onItemFocus(next_focus_item, preEdgeRect);
4671
- let cur_visible_start2 = _calculateVisibleStart(next_focus_item.templateInfo, vertical ? vertical_direction : horizontal_direction);
4672
- if (visibleInfo.start !== cur_visible_start2) {
4673
- if (next_focus_item.itemConfig.itemSlide == METRO_WIDGET.ITEM_SLIDE.ACT_ITEM_FOCUS) {
4735
+ if (next_focus_item.itemConfig.itemSlide == METRO_WIDGET.ITEM_SLIDE.ACT_ITEM_FOCUS) {
4736
+ let cur_visible_start2 = _calculateVisibleStart(
4737
+ next_focus_item.templateInfo,
4738
+ vertical ? vertical_direction : horizontal_direction,
4739
+ preFocusItem.templateInfo
4740
+ );
4741
+ if (visibleInfo.start !== cur_visible_start2) {
4674
4742
  let animObj = {
4675
4743
  easing: "",
4676
4744
  onStart: null,
4677
- speed: props.slideSetting.Speed,
4678
- duration: props.slideSetting.Duration
4745
+ speed: innerSlideSetting.Speed,
4746
+ duration: innerSlideSetting.Duration
4679
4747
  };
4680
4748
  _slideTo(cur_visible_start2, animObj, { mergeTmp: false });
4681
- } else {
4682
- const updater = pageUpdater.update(
4683
- metroTemplate,
4684
- cur_visible_start2,
4685
- cur_visible_start2 + visibleInfo.range + visibleInfo.padding.end - 1,
4686
- next_focus_item.id,
4687
- false,
4688
- permanentItemList
4689
- );
4690
- updater.applyTmp();
4691
4749
  }
4750
+ } else {
4751
+ const updater = pageUpdater.update(
4752
+ metroTemplate,
4753
+ visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
4754
+ visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
4755
+ next_focus_item.id,
4756
+ false,
4757
+ permanentItemList
4758
+ );
4759
+ updater.applyTmp();
4692
4760
  }
4693
4761
  } else {
4694
4762
  let x_off_set = vertical ? 0 : visibleInfo.start;
@@ -4736,32 +4804,44 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4736
4804
  const normalizeVisibleStart = (origin, targetItem = null) => {
4737
4805
  let pos_key = vertical ? "top" : "left";
4738
4806
  let size_key = vertical ? "height" : "width";
4739
- let visible_start = origin;
4740
- if ((props.slideSetting.BoundaryProtect & SlideSetting.START_PROTECT) > 0) {
4741
- let boundary = 0;
4742
- const headTemplateInfo = getItemByIndex(0).templateInfo;
4743
- if (targetItem && (!headTemplateInfo.focusable || targetItem.index == headTemplateInfo.index) && targetItem[pos_key] + targetItem[size_key] <= visibleInfo.range) {
4744
- boundary = headTemplateInfo[size_key];
4807
+ let visibleStart = origin;
4808
+ if ((innerSlideSetting.BoundaryProtect & SlideSetting.START_PROTECT) > 0) {
4809
+ if (visibleInfo.start >= 0) {
4810
+ let boundary = 0;
4811
+ const headTemplateInfo = getItemByIndex(0).templateInfo;
4812
+ if (targetItem && (!headTemplateInfo.focusable || targetItem.index == headTemplateInfo.index) && targetItem[pos_key] + targetItem[size_key] <= visibleInfo.range) {
4813
+ boundary = headTemplateInfo[size_key];
4814
+ }
4815
+ visibleStart = visibleStart < boundary ? 0 : visibleStart;
4816
+ } else {
4817
+ visibleStart = visibleStart < visibleInfo.start ? visibleInfo.start : visibleStart;
4745
4818
  }
4746
- visible_start = visible_start < boundary ? 0 : visible_start;
4747
4819
  }
4748
- if ((props.slideSetting.BoundaryProtect & SlideSetting.END_PROTECT) > 0) {
4820
+ if ((innerSlideSetting.BoundaryProtect & SlideSetting.END_PROTECT) > 0) {
4749
4821
  let lastTemplateInfo = getItemByIndex(metroTemplate.getTailItemIndex()).templateInfo;
4750
- let last_visible_start = lastTemplateInfo[pos_key] + lastTemplateInfo[size_key] - visibleInfo.range;
4751
- last_visible_start = last_visible_start < 0 ? 0 : last_visible_start;
4752
- let boundary = last_visible_start;
4753
- if (targetItem && (!lastTemplateInfo.focusable || targetItem.index == lastTemplateInfo.index) && targetItem[pos_key] - last_visible_start >= 0) {
4754
- boundary = lastTemplateInfo[pos_key] - visibleInfo.range;
4822
+ const lastEnd = lastTemplateInfo[pos_key] + lastTemplateInfo[size_key];
4823
+ const lastVisibleStart = Math.max(lastEnd - visibleInfo.range, 0);
4824
+ if (visibleInfo.end <= lastEnd) {
4825
+ let boundary = lastVisibleStart;
4826
+ if (targetItem && (!lastTemplateInfo.focusable || targetItem.index == lastTemplateInfo.index) && targetItem[pos_key] - lastVisibleStart >= 0) {
4827
+ boundary = lastTemplateInfo[pos_key] - visibleInfo.range;
4828
+ }
4829
+ visibleStart = visibleStart > boundary ? lastVisibleStart : visibleStart;
4830
+ } else {
4831
+ visibleStart = visibleStart > visibleInfo.start ? visibleInfo.start : visibleStart;
4755
4832
  }
4756
- visible_start = visible_start > boundary ? last_visible_start : visible_start;
4757
4833
  }
4758
- return visible_start;
4834
+ return visibleStart;
4759
4835
  };
4760
- const _calculateVisibleStart = (targetTemplateInfo, direction) => {
4836
+ let preTemplateInfo = null;
4837
+ const _calculateVisibleStart = (targetTemplateInfo, direction, preInfo = null) => {
4761
4838
  if (!targetTemplateInfo) {
4762
4839
  console.error("MetroWidget: _calculateVisibleStart target item is null");
4763
4840
  return 0;
4764
4841
  }
4842
+ if (preInfo) {
4843
+ preTemplateInfo = preInfo;
4844
+ }
4765
4845
  preSlideDirection = direction;
4766
4846
  preAnchorItemIndex = targetTemplateInfo.index;
4767
4847
  let pos_key = vertical ? "top" : "left";
@@ -4769,9 +4849,9 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4769
4849
  let center_key = vertical ? "centerYPos" : "centerXPos";
4770
4850
  let new_visible_start = visibleInfo.start;
4771
4851
  let needCalculate = true;
4772
- switch (props.slideSetting.Type) {
4852
+ switch (innerSlideSetting.Type) {
4773
4853
  case SlideSetting.Type.FIX_POSITION:
4774
- if (props.slideSetting.FixFirstPage) {
4854
+ if (innerSlideSetting.FixFirstPage) {
4775
4855
  if (targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - 1 < visibleInfo.range) {
4776
4856
  new_visible_start = 0;
4777
4857
  needCalculate = false;
@@ -4779,7 +4859,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4779
4859
  }
4780
4860
  if (needCalculate) {
4781
4861
  new_visible_start = Math.ceil(
4782
- targetTemplateInfo[center_key] - visibleInfo.range * props.slideSetting.FixPercent
4862
+ targetTemplateInfo[center_key] - visibleInfo.range * innerSlideSetting.FixPercent
4783
4863
  );
4784
4864
  }
4785
4865
  break;
@@ -4793,40 +4873,77 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4793
4873
  }
4794
4874
  break;
4795
4875
  case SlideSetting.Type.SEAMLESS:
4796
- if (props.slideSetting.FixFirstPage) {
4876
+ if (innerSlideSetting.FixFirstPage) {
4797
4877
  if (targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - 1 < visibleInfo.range) {
4798
4878
  new_visible_start = 0;
4799
4879
  needCalculate = false;
4800
4880
  }
4801
4881
  }
4802
4882
  if (needCalculate) {
4803
- if (targetTemplateInfo[size_key] >= visibleInfo.range * (props.slideSetting.EndPercent - props.slideSetting.StartPercent)) {
4804
- new_visible_start = targetTemplateInfo[center_key] - visibleInfo.range * 0.5;
4883
+ const rect0Start = visibleInfo.start;
4884
+ const rect0End = visibleInfo.start + visibleInfo.range * innerSlideSetting.StartPercent;
4885
+ const rect1Start = visibleInfo.start + visibleInfo.range * innerSlideSetting.EndPercent;
4886
+ const rect1End = visibleInfo.end;
4887
+ const itemStart = targetTemplateInfo[pos_key];
4888
+ const itemEnd = targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - 1;
4889
+ let targetStart;
4890
+ let targetEnd;
4891
+ if (preTemplateInfo != null) {
4892
+ targetStart = preTemplateInfo[pos_key];
4893
+ targetEnd = preTemplateInfo[pos_key] + preTemplateInfo[size_key] - 1;
4805
4894
  } else {
4806
- if (direction > 0) {
4807
- if (targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] > visibleInfo.start + visibleInfo.range * props.slideSetting.EndPercent) {
4808
- new_visible_start = targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - visibleInfo.range * props.slideSetting.EndPercent;
4809
- }
4810
- } else if (direction < 0) {
4811
- if (targetTemplateInfo[pos_key] < visibleInfo.start + visibleInfo.range * props.slideSetting.StartPercent) {
4812
- new_visible_start = targetTemplateInfo[pos_key] - visibleInfo.range * props.slideSetting.StartPercent;
4895
+ targetStart = rect0End;
4896
+ targetEnd = rect1Start;
4897
+ }
4898
+ let rect0Result = void 0;
4899
+ let rect1Result = void 0;
4900
+ if (itemStart < rect0End) {
4901
+ if (targetStart < rect0Start) {
4902
+ rect0Result = itemStart;
4903
+ } else {
4904
+ if (direction <= 0) {
4905
+ let pre;
4906
+ if (targetStart < rect0End) {
4907
+ pre = targetStart;
4908
+ } else {
4909
+ pre = rect0End;
4910
+ }
4911
+ rect0Result = visibleInfo.start + (itemStart - pre);
4813
4912
  }
4913
+ }
4914
+ }
4915
+ if (itemEnd > rect1Start) {
4916
+ if (targetEnd > rect1End) {
4917
+ rect1Result = itemEnd - visibleInfo.range;
4814
4918
  } else {
4815
- if (targetTemplateInfo[pos_key] < visibleInfo.start) {
4816
- new_visible_start = targetTemplateInfo[pos_key] - visibleInfo.range * props.slideSetting.StartPercent;
4817
- } else if (targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] > visibleInfo.end) {
4818
- new_visible_start = targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - visibleInfo.range * props.slideSetting.EndPercent;
4919
+ let pre;
4920
+ if (targetEnd > rect1Start) {
4921
+ pre = targetEnd;
4922
+ } else {
4923
+ pre = rect1Start;
4924
+ }
4925
+ if (direction >= 0) {
4926
+ rect1Result = visibleInfo.start + (itemEnd - pre);
4819
4927
  }
4820
4928
  }
4929
+ } else {
4930
+ }
4931
+ if (typeof rect0Result !== "undefined" && typeof rect1Result !== "undefined") {
4932
+ new_visible_start = rect0Result;
4933
+ } else if (typeof rect0Result !== "undefined") {
4934
+ new_visible_start = rect0Result;
4935
+ } else if (typeof rect1Result !== "undefined") {
4936
+ new_visible_start = rect1Result;
4821
4937
  }
4822
4938
  }
4823
4939
  break;
4824
4940
  default:
4825
4941
  console.error(
4826
4942
  "MetroWidget: undefined slide type",
4827
- props.slideSetting.Type
4943
+ innerSlideSetting.Type
4828
4944
  );
4829
4945
  }
4946
+ preTemplateInfo = targetTemplateInfo;
4830
4947
  new_visible_start = normalizeVisibleStart(new_visible_start, targetTemplateInfo);
4831
4948
  return Math.round(new_visible_start);
4832
4949
  };
@@ -4922,6 +5039,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4922
5039
  const touchLoadItemRect = visibleInfo.range;
4923
5040
  const reachAnchorGroup = 2;
4924
5041
  const wallConditionGroup = 1;
5042
+ const touchCountGroup = 3;
4925
5043
  let divPos = -1;
4926
5044
  let frameCount = -1;
4927
5045
  const getVisibleStart = (moveInfo) => {
@@ -4934,7 +5052,18 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4934
5052
  return -(divPos + Math.round(moveInfo.xPos));
4935
5053
  }
4936
5054
  };
4937
- const mergeTouchSlideToSlideDiv = () => {
5055
+ const getTouchCount = (nexusCustomData) => {
5056
+ let touchCount = -1;
5057
+ if (nexusCustomData) {
5058
+ try {
5059
+ touchCount = JSON.parse(nexusCustomData).tc;
5060
+ } catch (e) {
5061
+ touchCount = -1;
5062
+ }
5063
+ }
5064
+ return touchCount;
5065
+ };
5066
+ const mergeTouchSlideToSlideDiv = (touchCount) => {
4938
5067
  if (vertical) {
4939
5068
  slideDivTop.value = -visibleInfo.start;
4940
5069
  } else {
@@ -4945,10 +5074,23 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4945
5074
  actorController.state().removeConditionByGroup(wallConditionGroup),
4946
5075
  actorController.condition(wallConditionGroup, true).boxPosition(walls.left, walls.top, walls.right, walls.bottom).then([actorController.state().setHitWallOverflow()]),
4947
5076
  //TODO 通过prop设置哪个方向overflow
4948
- actorController.action().teleportTo(0, 0)
5077
+ actorController.condition(touchCountGroup, false).touchCount(touchCount).then([
5078
+ actorController.action().teleportTo(0, 0)
5079
+ ])
5080
+ ]);
5081
+ actorController.run([
5082
+ actorController.condition().onNextTick().then([
5083
+ actorController.state().removeConditionByGroup(touchCountGroup)
5084
+ ])
4949
5085
  ]);
4950
5086
  };
4951
- const onTouchDown = (data) => {
5087
+ const onTouchDown = (data, customData, nexusCustomData) => {
5088
+ touchRecorder.reset();
5089
+ let touchCount = getTouchCount(nexusCustomData);
5090
+ touchRecorder.setTouchCount(touchCount);
5091
+ if (mode.getMode() == FOCUS_MODE) {
5092
+ updateTouchBoxCondition();
5093
+ }
4952
5094
  mode.touchStart();
4953
5095
  mode.flingEnd();
4954
5096
  const t = 100;
@@ -4966,8 +5108,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4966
5108
  templateItemAdder.tryAddItemByPosition(visibleInfo.end + visibleInfo.range);
4967
5109
  const updater = pageUpdater.update(
4968
5110
  metroTemplate,
4969
- visibleInfo.startWithPadding - visibleInfo.range,
4970
- visibleInfo.endWithPadding + visibleInfo.range,
5111
+ visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
5112
+ visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
4971
5113
  0,
4972
5114
  false,
4973
5115
  permanentItemList
@@ -4996,39 +5138,49 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
4996
5138
  if (mode.getTouchState() == TouchState.TAP) {
4997
5139
  updateRenderItems(false, false);
4998
5140
  mode.touchEnd();
5141
+ } else {
5142
+ if (touchRecorder.moved && !mode.duringFling()) {
5143
+ mergeTouchSlideToSlideDiv(touchRecorder.touchCount);
5144
+ updateRenderItems(false, false);
5145
+ mode.touchEnd();
5146
+ }
4999
5147
  }
5000
5148
  };
5001
- const onDragStart = (data) => {
5149
+ const exportOnTouchRelease = props.touchFlag > 0 ? onTouchRelease : void 0;
5150
+ const onDragStart = (data, customData, nexusCustomData) => {
5151
+ touchRecorder.move();
5002
5152
  mode.dragStart();
5003
5153
  visibleInfo.start = getVisibleStart(data);
5004
5154
  };
5005
- const onDragEnd = (data) => {
5155
+ const onDragEnd = (data, customData, nexusCustomData) => {
5006
5156
  visibleInfo.start = getVisibleStart(data);
5007
5157
  actorController.run([
5008
5158
  actorController.state().removeConditionByGroup(reachAnchorGroup)
5009
5159
  ]);
5010
- mergeTouchSlideToSlideDiv();
5011
- updateRenderItems(false, false);
5012
- mode.touchEnd();
5013
5160
  };
5014
- const onFlingStart = (data) => {
5161
+ const onFlingStart = (data, customData, nexusCustomData) => {
5162
+ touchRecorder.move();
5015
5163
  mode.flingStart();
5016
5164
  visibleInfo.start = getVisibleStart(data);
5017
5165
  updateRenderItems(true, true);
5018
5166
  };
5019
- const onFlingProgress = (data) => {
5167
+ const onFlingProgress = (data, customData, nexusCustomData) => {
5020
5168
  visibleInfo.start = getVisibleStart(data);
5021
5169
  updateRenderItems(true, true);
5022
5170
  };
5023
- const onFlingEnd = (data) => {
5171
+ const onFlingEnd = (data, customData, nexusCustomData) => {
5024
5172
  visibleInfo.start = getVisibleStart(data);
5025
5173
  if (mode.duringFling()) {
5026
- mergeTouchSlideToSlideDiv();
5174
+ let touchCount = getTouchCount(nexusCustomData);
5175
+ mergeTouchSlideToSlideDiv(touchCount);
5027
5176
  updateRenderItems(false, false);
5028
5177
  mode.flingEnd();
5029
5178
  mode.touchEnd();
5030
5179
  }
5031
5180
  };
5181
+ const onFlingDrop = (data, customData, nexusCustomData) => {
5182
+ visibleInfo.start = getVisibleStart(data);
5183
+ };
5032
5184
  const getTouchWall = () => {
5033
5185
  const boxSize = metroTemplate.getBoundingBoxSize();
5034
5186
  let wall = {
@@ -5040,9 +5192,15 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5040
5192
  if (vertical) {
5041
5193
  wall.top = -boxSize.height + props.height - slideDivTop.value;
5042
5194
  wall.bottom = -slideDivTop.value;
5195
+ if (wall.top > wall.bottom) {
5196
+ wall.top = wall.bottom;
5197
+ }
5043
5198
  } else {
5044
5199
  wall.left = -boxSize.width + props.width - slideDivLeft.value;
5045
5200
  wall.right = -slideDivLeft.value;
5201
+ if (wall.left > wall.right) {
5202
+ wall.left = wall.right;
5203
+ }
5046
5204
  }
5047
5205
  return wall;
5048
5206
  };
@@ -5050,15 +5208,15 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5050
5208
  templateItemAdder.tryAddItemByPosition(visibleInfo.start + visibleInfo.range);
5051
5209
  const updater = pageUpdater.update(
5052
5210
  metroTemplate,
5053
- expand ? visibleInfo.start - visibleInfo.range : visibleInfo.startWithPadding,
5054
- expand ? visibleInfo.start + 2 * visibleInfo.range : visibleInfo.endWithPadding,
5211
+ visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
5212
+ visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
5055
5213
  0,
5056
5214
  true,
5057
5215
  permanentItemList
5058
5216
  );
5059
5217
  applyTmp ? updater.applyTmp() : updater.apply();
5060
5218
  };
5061
- const resetDragRect = () => {
5219
+ const updateTouchBoxCondition = () => {
5062
5220
  if (actorController != null) {
5063
5221
  const walls = getTouchWall();
5064
5222
  actorController.run([
@@ -5068,6 +5226,20 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5068
5226
  ]);
5069
5227
  }
5070
5228
  };
5229
+ const touchRecorder = {
5230
+ moved: false,
5231
+ touchCount: -1,
5232
+ reset: function() {
5233
+ this.moved = false;
5234
+ this.touchCount = -1;
5235
+ },
5236
+ move: function() {
5237
+ this.moved = true;
5238
+ },
5239
+ setTouchCount: function(count) {
5240
+ this.touchCount = count;
5241
+ }
5242
+ };
5071
5243
  const initTouch = () => {
5072
5244
  actorController = new ActorControl();
5073
5245
  const divView = touchDiv.value.jsvGetProxyView();
@@ -5076,20 +5248,18 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5076
5248
  const walls = getTouchWall();
5077
5249
  actorController.run([
5078
5250
  actorController.condition(void 0, true).onTouchDown().then([onTouchDown]),
5079
- // actorController
5080
- // .condition(undefined, true)
5081
- // .onDragStart()
5082
- // .then([onDragStart]),
5251
+ actorController.condition(void 0, true).onDragStart().then([onDragStart]),
5083
5252
  actorController.condition(void 0, true).onDragEnd().then([onDragEnd]),
5084
5253
  actorController.condition(void 0, true).onFlingStart().then([onFlingStart]),
5085
5254
  actorController.condition(void 0, true).onFlingProgress().then([onFlingProgress]),
5086
5255
  actorController.condition(void 0, true).onFlingEnd().then([onFlingEnd]),
5256
+ actorController.condition(void 0, true).onFlingDrop().then([onFlingDrop]),
5087
5257
  actorController.condition(void 0, true).onTouchRelease().then([actorController.state().touchLockSwitch(false, vertical ? 1 : 2)]),
5088
5258
  actorController.condition(wallConditionGroup, true).boxPosition(walls.left, walls.top, walls.right, walls.bottom).then([actorController.state().setHitWallOverflow()])
5089
5259
  //TODO 通过prop设置哪个方向overflow
5090
5260
  ]);
5091
5261
  };
5092
- pageUpdater = new PageUpdater(_updatePage);
5262
+ pageUpdater = new PageUpdater(_updatePage, props.name);
5093
5263
  visibleInfo.range = vertical ? widgetRectInfo.contentHeight : widgetRectInfo.contentWidth;
5094
5264
  visibleInfo.padding = vertical ? { start: widgetRectInfo.padding.top, end: widgetRectInfo.padding.bottom } : { start: widgetRectInfo.padding.left, end: widgetRectInfo.padding.right };
5095
5265
  if (props.provideData) {
@@ -5119,7 +5289,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5119
5289
  if (item) {
5120
5290
  init_focus_id = props.initFocusId;
5121
5291
  if (item.itemConfig.itemSlide == METRO_WIDGET.ITEM_SLIDE.ACT_ITEM_FOCUS) {
5122
- cur_visible_start = _calculateVisibleStart(item.templateInfo, 1);
5292
+ cur_visible_start = _calculateVisibleStart(item.templateInfo, 0);
5123
5293
  }
5124
5294
  }
5125
5295
  }
@@ -5134,6 +5304,20 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5134
5304
  permanentItemList
5135
5305
  );
5136
5306
  initUpdater.apply();
5307
+ const delayLoadHandler = setTimeout(() => {
5308
+ const updateHandler = pageUpdater.update(
5309
+ metroTemplate,
5310
+ visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
5311
+ visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
5312
+ focusId,
5313
+ false,
5314
+ permanentItemList
5315
+ );
5316
+ updateHandler.apply();
5317
+ }, 200);
5318
+ const tryCancelDelayLoad = () => {
5319
+ clearTimeout(delayLoadHandler);
5320
+ };
5137
5321
  onMounted(() => {
5138
5322
  _changeFocusId(focusId, false);
5139
5323
  mounted = true;
@@ -5155,6 +5339,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5155
5339
  onUpdated(() => {
5156
5340
  });
5157
5341
  onBeforeUnmount(() => {
5342
+ tryCancelDelayLoad();
5158
5343
  mounted = false;
5159
5344
  });
5160
5345
  return {
@@ -5167,7 +5352,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
5167
5352
  exportObject,
5168
5353
  setZIndex,
5169
5354
  onTouchDown,
5170
- onTouchRelease,
5355
+ onTouchRelease: exportOnTouchRelease,
5171
5356
  currentFocusIndex,
5172
5357
  modeForExport
5173
5358
  };
@@ -5273,6 +5458,7 @@ const _sfc_main$H = {
5273
5458
  zIndex {int | object}: item的zIndex, 为object时可以分别设置{focus: 0, normal: 0}, 为number时则同时设置获焦和不获焦的zIndex,
5274
5459
  uid {string}: item的uid, 可以通过uid来设置焦点
5275
5460
  permanent {boolean}: 出去与是否保留
5461
+ enableTap {boolean}: 是否接受触控tap
5276
5462
  }
5277
5463
  *
5278
5464
  * onFocus {function} 控件获取焦点的回调
@@ -5283,6 +5469,10 @@ const _sfc_main$H = {
5283
5469
  "rect": 到达边缘时的区域{x: 0, y: 0, width: 0,height: 0}
5284
5470
  }
5285
5471
  onScroll {function} 滚动时的回调 (visibleStart, visibleRange, totalSize) => {}
5472
+ (TBD:
5473
+ 当前版本暂时不支持触控过程的实时回调,
5474
+ 由于回调js会严重拖慢性能,所以也不会设计实时回调,
5475
+ 关于边缘的拖动进度展示,将来会有额外组件支撑)
5286
5476
  visibleStart: 可视区域的起点
5287
5477
  visibleRange: 可视区域大小(不含padding)
5288
5478
  totalSize: 所有item的总长
@@ -5292,6 +5482,7 @@ const _sfc_main$H = {
5292
5482
  * flingPageWidth {}
5293
5483
  * flingPageEdge {}
5294
5484
  * disableClip {boolean} 取消显示范围的clipView
5485
+ * touchFlag {int} 触控的开关, 0:关闭, 1:打开. 打开后支持drag, fling; item的tap则由measuresObject的enableTap控制
5295
5486
 
5296
5487
  * methods:
5297
5488
  getFocusBlockRef 获取此MetroWidget的 jsv-focus-block句柄,可以使用requestFocus完成获焦
@@ -5378,6 +5569,9 @@ const _sfc_main$H = {
5378
5569
  @description 锁定滚动
5379
5570
  unlockSlide
5380
5571
  @description 取消锁定
5572
+ setSlideSetting
5573
+ @description 设置slideSetting
5574
+ @params { SlideSetting | null } setting 滚动设置, 为null时使用props.slideSetting
5381
5575
 
5382
5576
  slots:
5383
5577
  renderItem: 该slot用于描画每个单元格
@@ -5554,7 +5748,7 @@ const _sfc_main$G = {
5554
5748
  },
5555
5749
  keepTraceRange: {
5556
5750
  type: Number,
5557
- default: 0
5751
+ default: -1
5558
5752
  },
5559
5753
  onScroll: {
5560
5754
  type: Function
@@ -5628,6 +5822,10 @@ const _sfc_main$G = {
5628
5822
  touchDivSize,
5629
5823
  "common"
5630
5824
  );
5825
+ let touchDivVOn = {};
5826
+ if (onTouchRelease) {
5827
+ touchDivVOn["jsv-touchend"] = onTouchRelease;
5828
+ }
5631
5829
  expose(exportObject);
5632
5830
  return (_ctx, _cache) => {
5633
5831
  const _component_jsv_focus_block = resolveComponent("jsv-focus-block");
@@ -5656,15 +5854,14 @@ const _sfc_main$G = {
5656
5854
  top: slideDivTop.value
5657
5855
  })
5658
5856
  }, [
5659
- createElementVNode("div", {
5857
+ createElementVNode("div", mergeProps({
5660
5858
  ref_key: "touchDiv",
5661
5859
  ref: touchDiv,
5662
- style: normalizeStyle({
5860
+ style: {
5663
5861
  width: touchDivSize.width,
5664
5862
  height: touchDivSize.height
5665
- }),
5666
- onJsvTouchend: _cache[0] || (_cache[0] = (...args) => unref(onTouchRelease) && unref(onTouchRelease)(...args))
5667
- }, [
5863
+ }
5864
+ }, toHandlers(unref(touchDivVOn), true)), [
5668
5865
  createElementVNode("div", null, [
5669
5866
  renderSlot(_ctx.$slots, "background")
5670
5867
  ]),
@@ -5689,6 +5886,7 @@ const _sfc_main$G = {
5689
5886
  key: pageUpdateToken.value + "_" + item.index,
5690
5887
  ref_for: true,
5691
5888
  ref: item.divRef,
5889
+ "data-jsv-vw-test-rect": "1",
5692
5890
  style: normalizeStyle({
5693
5891
  left: item.templateInfo.left,
5694
5892
  top: item.templateInfo.top,
@@ -5732,7 +5930,7 @@ const _sfc_main$G = {
5732
5930
  _: 3
5733
5931
  }, 8, ["name", "onAction"])
5734
5932
  ], 512)
5735
- ], 36),
5933
+ ], 16),
5736
5934
  createElementVNode("div", null, [
5737
5935
  renderSlot(_ctx.$slots, "foreground")
5738
5936
  ])
@@ -5866,7 +6064,7 @@ const _sfc_main$F = {
5866
6064
  },
5867
6065
  keepTraceRange: {
5868
6066
  type: Number,
5869
- default: 0
6067
+ default: -1
5870
6068
  },
5871
6069
  onScroll: {
5872
6070
  type: Function
@@ -5939,6 +6137,10 @@ const _sfc_main$F = {
5939
6137
  touchDivSize,
5940
6138
  "list"
5941
6139
  );
6140
+ let touchDivVOn = {};
6141
+ if (onTouchRelease) {
6142
+ touchDivVOn["jsv-touchend"] = onTouchRelease;
6143
+ }
5942
6144
  expose(exportObject);
5943
6145
  return (_ctx, _cache) => {
5944
6146
  const _component_jsv_focus_block = resolveComponent("jsv-focus-block");
@@ -5967,15 +6169,14 @@ const _sfc_main$F = {
5967
6169
  top: slideDivTop.value
5968
6170
  })
5969
6171
  }, [
5970
- createElementVNode("div", {
6172
+ createElementVNode("div", mergeProps({
5971
6173
  ref_key: "touchDiv",
5972
6174
  ref: touchDiv,
5973
- style: normalizeStyle({
6175
+ style: {
5974
6176
  width: touchDivSize.width,
5975
6177
  height: touchDivSize.height
5976
- }),
5977
- onJsvTouchend: _cache[0] || (_cache[0] = (...args) => unref(onTouchRelease) && unref(onTouchRelease)(...args))
5978
- }, [
6178
+ }
6179
+ }, toHandlers(unref(touchDivVOn), true)), [
5979
6180
  createElementVNode("div", null, [
5980
6181
  renderSlot(_ctx.$slots, "background")
5981
6182
  ]),
@@ -6000,6 +6201,7 @@ const _sfc_main$F = {
6000
6201
  key: pageUpdateToken.value + "_" + item.index,
6001
6202
  ref_for: true,
6002
6203
  ref: item.divRef,
6204
+ "data-jsv-vw-test-rect": "1",
6003
6205
  style: normalizeStyle({
6004
6206
  left: item.templateInfo.left,
6005
6207
  top: item.templateInfo.top,
@@ -6038,7 +6240,7 @@ const _sfc_main$F = {
6038
6240
  _: 3
6039
6241
  }, 8, ["name", "onAction"])
6040
6242
  ], 512)
6041
- ], 36),
6243
+ ], 16),
6042
6244
  createElementVNode("div", null, [
6043
6245
  renderSlot(_ctx.$slots, "foreground")
6044
6246
  ])
@@ -8416,7 +8618,7 @@ function preDownloadSdk(core_version) {
8416
8618
  return direct_call("preDownloadSdk", core_version);
8417
8619
  }
8418
8620
  // 显示声明,可以提高执行速度和利用上编辑器的成员名提示功能
8419
- const bridge = {
8621
+ const jJsvRuntimeBridge = {
8420
8622
  getMac,
8421
8623
  getWireMac,
8422
8624
  getWifiMac,
@@ -16586,6 +16788,16 @@ const _sfc_main$9 = {
16586
16788
  return "center";
16587
16789
  }
16588
16790
  });
16791
+ const textWidth = computed(() => {
16792
+ let w = props.style?.width;
16793
+ if (typeof w == "undefined") {
16794
+ w = 0;
16795
+ }
16796
+ return w;
16797
+ });
16798
+ const jsvTextLatexValue = computed(() => {
16799
+ return props.enableLatex ? 1 : 0;
16800
+ });
16589
16801
  return (_ctx, _cache) => {
16590
16802
  return openBlock(), createBlock(unref(_sfc_main$w), {
16591
16803
  style: normalizeStyle({
@@ -16597,8 +16809,8 @@ const _sfc_main$9 = {
16597
16809
  default: withCtx(() => [
16598
16810
  createElementVNode("div", {
16599
16811
  style: normalizeStyle({
16600
- width: props.style.width,
16601
- JsvTextLatex: __props.enableLatex ? 1 : 0,
16812
+ width: unref(textWidth),
16813
+ JsvTextLatex: unref(jsvTextLatexValue),
16602
16814
  JsvTextLineAlign: __props.lineAlign,
16603
16815
  JsvTextInnerDirection: __props.textDirection
16604
16816
  })
@@ -18560,13 +18772,14 @@ function swap(arr, i, j) {
18560
18772
  function defaultCompare(a, b) {
18561
18773
  return a < b ? -1 : a > b ? 1 : 0;
18562
18774
  }
18563
- var RBush = function RBush2(maxEntries) {
18775
+ function RBush(maxEntries) {
18564
18776
  if (maxEntries === void 0)
18565
18777
  maxEntries = 9;
18566
18778
  this._maxEntries = Math.max(4, maxEntries);
18567
18779
  this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));
18568
18780
  this.clear();
18569
- };
18781
+ }
18782
+ ;
18570
18783
  RBush.prototype.all = function all() {
18571
18784
  return this._all(this.data, []);
18572
18785
  };
@@ -19573,4 +19786,4 @@ const _sfc_main = {
19573
19786
  // utils/index.js;
19574
19787
  //
19575
19788
 
19576
- export { BaseDispatcher, DECORATE_BORDER_RADIUS, DECORATE_NINEPATCH_ALPHA_MIX, DebugObjectRefer, DebugTools, DebugWrap81ErrorStack, DebugWrap81WarnStack, DefaultKeyCodeMap, EdgeDirection, FixPositionSlide, FocusMoveType, FreeMoveDef, FreeMoveFunc, HORIZONTAL, InputType, instance as JSBridge, JsvAccount, _sfc_main$z as JsvActorMove, JsvActorMoveControl, _JsvApic$1 as JsvApic, _JsvApic2$1 as JsvApic2, _sfc_main$C as JsvAudio, _sfc_main$3 as JsvConnectLine, _sfc_main$1 as JsvEnableRenderBreak, _sfc_main$x as JsvEnvBlocker, JsvFederationTools, _sfc_main$i as JsvFilterView, _sfc_main$w as JsvFlexDiv, _sfc_main$E as JsvFocusBlock, _sfc_main$y as JsvFreeMoveActor, JsvGrid, JsvTransparentDiv as JsvHole, JsvInput, _sfc_main$A as JsvLatex, JsvLine, _sfc_main$f as JsvMarquee, JsvMaskClipDiv, _sfc_main as JsvMindMap, JsvTransparentDiv as JsvNativeSharedDiv, _sfc_main$d as JsvNinePatch, JsvPerformance, _sfc_main$4 as JsvPieChart, _sfc_main$c as JsvPosterDiv, _sfc_main$b as JsvPosterImage, exportObj as JsvPreDownloader, JsvPreload, _sfc_main$2 as JsvProgressBar, _JsvQrcode$1 as JsvQrcode, _sfc_main$8 as JsvRadarChart, _sfc_main$7 as JsvRipple, JsvRippleShape, JsvScaleTextBox, _sfc_main$5 as JsvSector, JsvSoundPool, _JsvSpray$1 as JsvSpray, JsvSpriteAnim, _sfc_main$n as JsvSpriteLoader, JsvSpriteAnim as JsvSpriteStatic, JsvSpriteTools, JsvStyleClass, JsvStyleSheetsDeclarer, JsvSwiper, _sfc_main$k as JsvSwiper3D, _sfc_main$9 as JsvTextBox, JsvTextStyleClass, _JsvTextureAnim$1 as JsvTextureAnim, sJsvTextureConst as JsvTextureConst, sTextureStoreApi as JsvTextureStoreApi, JsvTransparentDiv, JsvVisibleSensor, LineType, _sfc_main$F as ListWidget, LoopType, METRO_WIDGET, METRO_WIDGET as METRO_WIDGET_CONST, _sfc_main$G as MetroWidget, PageType, RENDER_ITEM_BREAK_KEY, Dispatcher as SWidgetDispatcher, SeamlessSlide, _sfc_main$G as SimpleWidget, SlideSetting, SlideStyle, SpriteController, TexAlignAnchor, TextTools, TextureInstantType, VERTICAL, WholePageSlide, buildDownloadInfo, buildPreloadInfo, combinedStyles, createImpactAutoFroze, createImpactCallback, createImpactTracer, disableNativeViewListener, enableNativeViewListener, getCssStyleGroup, getKeyFramesGroup, getMeasureObj, getPositionRelativeToView, getTextWidth, globalLoadJsvAudioPlugin, globalLoadJsvLatexPlugin, bridge as jJsvRuntimeBridge, jsvCreateFocusManager, jsvCreateHashHistory, numberCheckSet, toHtmlBorderSet, toNinePatchForgeViewSet, updateImpactAutoFroze, urlCheckSet, useFocusHub };
19789
+ export { BaseDispatcher, DECORATE_BORDER_RADIUS, DECORATE_NINEPATCH_ALPHA_MIX, DebugObjectRefer, DebugTools, DebugWrap81ErrorStack, DebugWrap81WarnStack, DefaultKeyCodeMap, EdgeDirection, FixPositionSlide, FocusMoveType, FreeMoveDef, FreeMoveFunc, HORIZONTAL, InputType, instance as JSBridge, JsvAccount, _sfc_main$z as JsvActorMove, JsvActorMoveControl, _JsvApic$1 as JsvApic, _JsvApic2$1 as JsvApic2, _sfc_main$C as JsvAudio, _sfc_main$3 as JsvConnectLine, _sfc_main$1 as JsvEnableRenderBreak, _sfc_main$x as JsvEnvBlocker, JsvFederationTools, _sfc_main$i as JsvFilterView, _sfc_main$w as JsvFlexDiv, _sfc_main$E as JsvFocusBlock, _sfc_main$y as JsvFreeMoveActor, JsvGrid, JsvTransparentDiv as JsvHole, JsvInput, _sfc_main$A as JsvLatex, JsvLine, _sfc_main$f as JsvMarquee, JsvMaskClipDiv, _sfc_main as JsvMindMap, JsvTransparentDiv as JsvNativeSharedDiv, _sfc_main$d as JsvNinePatch, JsvPerformance, _sfc_main$4 as JsvPieChart, _sfc_main$c as JsvPosterDiv, _sfc_main$b as JsvPosterImage, exportObj as JsvPreDownloader, JsvPreload, _sfc_main$2 as JsvProgressBar, _JsvQrcode$1 as JsvQrcode, _sfc_main$8 as JsvRadarChart, _sfc_main$7 as JsvRipple, JsvRippleShape, JsvScaleTextBox, _sfc_main$5 as JsvSector, JsvSoundPool, _JsvSpray$1 as JsvSpray, JsvSpriteAnim, _sfc_main$n as JsvSpriteLoader, JsvSpriteAnim as JsvSpriteStatic, JsvSpriteTools, JsvStyleClass, JsvStyleSheetsDeclarer, JsvSwiper, _sfc_main$k as JsvSwiper3D, _sfc_main$9 as JsvTextBox, JsvTextStyleClass, _JsvTextureAnim$1 as JsvTextureAnim, sJsvTextureConst as JsvTextureConst, sTextureStoreApi as JsvTextureStoreApi, JsvTransparentDiv, JsvVisibleSensor, LineType, _sfc_main$F as ListWidget, LoopType, METRO_WIDGET, METRO_WIDGET as METRO_WIDGET_CONST, _sfc_main$G as MetroWidget, PageType, RENDER_ITEM_BREAK_KEY, Dispatcher as SWidgetDispatcher, SeamlessSlide, _sfc_main$G as SimpleWidget, SlideSetting, SlideStyle, SpriteController, TexAlignAnchor, TextTools, TextureInstantType, VERTICAL, WholePageSlide, buildDownloadInfo, buildPreloadInfo, combinedStyles, createImpactAutoFroze, createImpactCallback, createImpactTracer, disableNativeViewListener, enableNativeViewListener, getCssStyleGroup, getKeyFramesGroup, getMeasureObj, getPositionRelativeToView, getTextWidth, globalLoadJsvAudioPlugin, globalLoadJsvLatexPlugin, jJsvRuntimeBridge, jsvCreateFocusManager, jsvCreateHashHistory, numberCheckSet, toHtmlBorderSet, toNinePatchForgeViewSet, updateImpactAutoFroze, urlCheckSet, useFocusHub };