@shijiu/jsview-vue 2.3.151-test.0 → 3.0.0-test.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/bin/browser/BrowserAudio.mjs +200 -0
  2. package/bin/browser/BrowserJsvLatex.mjs +61 -0
  3. package/bin/export-sfc.mjs +8 -9
  4. package/bin/jsview-vue-common.mjs +9 -35
  5. package/bin/jsview-vue.mjs +22246 -23643
  6. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +9 -71
  7. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +18 -2
  8. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Const.d.ts +4 -1
  9. package/bin/types/utils/JsViewEngineWidget/MetroWidget/DebugFrame.vue.d.ts +10 -7
  10. package/bin/types/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +19 -178
  11. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +19 -178
  12. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +24 -3
  13. package/bin/types/utils/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +7 -1
  14. package/bin/types/utils/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +25 -5
  15. package/bin/types/utils/JsViewEngineWidget/MetroWidget/SlotComponent.vue.d.ts +9 -47
  16. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TaskManager.d.ts +2 -1
  17. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Utils.d.ts +2 -0
  18. package/bin/types/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +1 -1
  19. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue.d.ts +40 -0
  20. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.d.ts +24 -0
  21. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.d.ts +19 -0
  22. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.d.ts +42 -0
  23. package/bin/types/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +2 -1
  24. package/bin/types/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +2 -1
  25. package/bin/types/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +6 -4
  26. package/bin/types/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +9 -7
  27. package/bin/types/utils/JsViewEngineWidget/WidgetCommon.d.ts +17 -7
  28. package/bin/types/utils/JsViewEngineWidget/index.d.ts +3 -1
  29. package/bin/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +140 -7
  30. package/bin/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +12 -11
  31. package/bin/types/utils/JsViewPlugin/JsvAudio/Events.d.ts +10 -10
  32. package/bin/types/utils/JsViewPlugin/JsvAudio/JsvAudio.vue.d.ts +204 -17
  33. package/bin/types/utils/JsViewPlugin/JsvAudio/JsvAudioProxy.vue.d.ts +2 -1
  34. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.mts +11 -11
  35. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.ts +11 -11
  36. package/bin/types/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +0 -1
  37. package/bin/types/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue.d.ts +75 -12
  38. package/bin/types/utils/JsViewPlugin/JsvLatex/GetVersion.d.ts +14 -0
  39. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +88 -13
  40. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +1 -0
  41. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +5 -1
  42. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.mts +39 -12
  43. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMedia.d.ts +120 -17
  44. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.d.ts +62 -0
  45. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue.d.ts +108 -29
  46. package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue.d.ts → JsvPlayerBrowser-0.9.vue.d.ts} +8 -7
  47. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser-wasm.vue.d.ts +614 -0
  48. package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue.d.ts → JsvPlayerBrowser.vue.d.ts} +36 -34
  49. package/bin/types/utils/JsViewPlugin/JsvPlayer/index-0.9.d.ts +89 -30
  50. package/bin/types/utils/JsViewPlugin/JsvPlayer/index.d.ts +89 -30
  51. package/bin/types/utils/JsViewPlugin/JsvPlayer/version.d.mts +11 -11
  52. package/bin/types/utils/JsViewVueTools/BlobApi.d.ts +38 -0
  53. package/bin/types/utils/JsViewVueTools/DebugTool.d.ts +1 -1
  54. package/bin/types/utils/JsViewVueTools/DefaultKeyMap.d.ts +7 -7
  55. package/bin/types/utils/JsViewVueTools/FeatureActive.d.ts +1 -0
  56. package/bin/types/utils/JsViewVueTools/JsvInteractionMode.d.ts +6 -0
  57. package/bin/types/utils/JsViewVueTools/JsvRuntimeBridge.d.ts +3 -3
  58. package/bin/types/utils/JsViewVueTools/JsvTextTools.d.ts +1 -0
  59. package/bin/types/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.d.ts +43 -0
  60. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +1 -0
  61. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.d.ts +54 -0
  62. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +13 -0
  63. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +2 -0
  64. package/bin/types/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +76 -26
  65. package/bin/types/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.d.ts +49 -0
  66. package/bin/types/utils/JsViewVueTools/JsvTextureStore/index.d.ts +2 -0
  67. package/bin/types/utils/JsViewVueTools/index.d.ts +4 -1
  68. package/bin/types/utils/JsViewVueWidget/Jsv3dDiv.vue.d.ts +10 -98
  69. package/bin/types/utils/JsViewVueWidget/Jsv3dStage.vue.d.ts +10 -114
  70. package/bin/types/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +20 -61
  71. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +44 -13
  72. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +12 -11
  73. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +5 -5
  74. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +16 -10
  75. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +21 -17
  76. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +19 -16
  77. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvCommonLoopToolBase.d.ts +7 -7
  78. package/bin/types/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue.d.ts +12 -66
  79. package/bin/types/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +73 -12
  80. package/bin/types/utils/JsViewVueWidget/JsvDashPath.vue.d.ts +59 -10
  81. package/bin/types/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue.d.ts +41 -81
  82. package/bin/types/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue.d.ts +17 -100
  83. package/bin/types/utils/JsViewVueWidget/JsvEnableRenderBreak.vue.d.ts +13 -50
  84. package/bin/types/utils/JsViewVueWidget/JsvFilterView.vue.d.ts +50 -70
  85. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +32 -68
  86. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue.d.ts +57 -74
  87. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +41 -71
  88. package/bin/types/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +83 -14
  89. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +151 -18
  90. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +79 -83
  91. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvFreeMoveActor.vue.d.ts +70 -0
  92. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +20 -0
  93. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +108 -5
  94. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +88 -3
  95. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +6 -1
  96. package/bin/types/utils/JsViewVueWidget/JsvGrid.vue.d.ts +19 -18
  97. package/bin/types/utils/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +34 -11
  98. package/bin/types/utils/JsViewVueWidget/JsvInput/EditViewOperator.d.ts +4 -1
  99. package/bin/types/utils/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +193 -6
  100. package/bin/types/utils/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +54 -11
  101. package/bin/types/utils/JsViewVueWidget/JsvMarquee.vue.d.ts +89 -11
  102. package/bin/types/utils/JsViewVueWidget/JsvMaskClipDiv.vue.d.ts +9 -8
  103. package/bin/types/utils/JsViewVueWidget/JsvMindMap/Geometry.d.ts +2 -2
  104. package/bin/types/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue.d.ts +170 -138
  105. package/bin/types/utils/JsViewVueWidget/JsvMindMap/rtree.d.ts +5 -5
  106. package/bin/types/utils/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +48 -72
  107. package/bin/types/utils/JsViewVueWidget/JsvNinePatch.vue.d.ts +139 -20
  108. package/bin/types/utils/JsViewVueWidget/JsvPieChart.vue.d.ts +56 -8
  109. package/bin/types/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +20 -11
  110. package/bin/types/utils/JsViewVueWidget/JsvProgressBar.vue.d.ts +63 -11
  111. package/bin/types/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +8 -7
  112. package/bin/types/utils/JsViewVueWidget/JsvRadarChart.vue.d.ts +95 -12
  113. package/bin/types/utils/JsViewVueWidget/JsvRipple/Constant.d.ts +2 -2
  114. package/bin/types/utils/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +51 -78
  115. package/bin/types/utils/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +5 -4
  116. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +84 -193
  117. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue.d.ts +23 -148
  118. package/bin/types/utils/JsViewVueWidget/JsvSector.vue.d.ts +56 -9
  119. package/bin/types/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue.d.ts +22 -67
  120. package/bin/types/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +44 -10
  121. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +47 -14
  122. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +26 -67
  123. package/bin/types/utils/JsViewVueWidget/JsvSwiper/Indicator.vue.d.ts +7 -6
  124. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue.d.ts +147 -109
  125. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue.d.ts +173 -16
  126. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue.d.ts +216 -139
  127. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue.d.ts +7 -6
  128. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue.d.ts +101 -96
  129. package/bin/types/utils/JsViewVueWidget/JsvTextBox.vue.d.ts +89 -74
  130. package/bin/types/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +21 -20
  131. package/bin/types/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue.d.ts +43 -70
  132. package/bin/types/utils/JsViewVueWidget/JsvVideo.vue.d.ts +6 -5
  133. package/bin/types/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +62 -82
  134. package/bin/types/utils/JsViewVueWidget/JsvVisibleSensor/index.d.ts +95 -74
  135. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue.d.ts +51 -0
  136. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue.d.ts +105 -0
  137. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue.d.ts +51 -0
  138. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue.d.ts +105 -0
  139. package/bin/types/utils/JsViewVueWidget/index.d.ts +5 -3
  140. package/package.json +2 -2
  141. package/tools/jsview-vue-build.mjs +13 -9
  142. package/tsconfig.json +2 -2
  143. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue +32 -16
  144. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.ts +24 -2
  145. package/utils/JsViewEngineWidget/MetroWidget/Const.ts +5 -0
  146. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +183 -89
  147. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +269 -122
  148. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +989 -357
  149. package/utils/JsViewEngineWidget/MetroWidget/PageUpdater.ts +41 -23
  150. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +138 -41
  151. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +1 -0
  152. package/utils/JsViewEngineWidget/MetroWidget/Utils.ts +6 -0
  153. package/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.ts +2 -1
  154. package/utils/JsViewEngineWidget/RectUtils.js +1 -1
  155. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue +50 -0
  156. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.ts +260 -0
  157. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.ts +32 -0
  158. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.ts +236 -0
  159. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +342 -174
  160. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +101 -27
  161. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +12 -5
  162. package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +109 -41
  163. package/utils/JsViewEngineWidget/WidgetCommon.ts +17 -7
  164. package/utils/JsViewEngineWidget/index.ts +7 -2
  165. package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +46 -46
  166. package/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue +54 -41
  167. package/utils/JsViewPlugin/JsvLatex/GetVersion.js +65 -0
  168. package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +54 -12
  169. package/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.js +10 -0
  170. package/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue +15 -2
  171. package/utils/JsViewPlugin/JsvLatex/PluginLoader.js +63 -31
  172. package/utils/JsViewPlugin/JsvLatex/version.mjs +26 -13
  173. package/utils/JsViewPlugin/JsvPlayer/GetVersion.js +2 -1
  174. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +402 -23
  175. package/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.js +100 -0
  176. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +363 -468
  177. package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue → JsvPlayerBrowser-wasm.vue} +60 -10
  178. package/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser.vue +511 -0
  179. package/utils/JsViewPlugin/JsvPlayer/index-0.9.js +52 -10
  180. package/utils/JsViewPlugin/JsvPlayer/index.js +58 -9
  181. package/utils/JsViewPlugin/JsvPlayer/package.json +8 -0
  182. package/utils/JsViewVueTools/BlobApi.ts +55 -0
  183. package/utils/JsViewVueTools/FeatureActive.ts +3 -0
  184. package/utils/JsViewVueTools/ForgeHandles.ts +3 -0
  185. package/utils/JsViewVueTools/JsvInteractionMode.js +16 -0
  186. package/utils/JsViewVueTools/JsvPreDownloader.ts +2 -2
  187. package/utils/JsViewVueTools/JsvRuntimeBridge.js +25 -18
  188. package/utils/JsViewVueTools/JsvTextTools.ts +9 -1
  189. package/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.ts +180 -0
  190. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.ts +1 -0
  191. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.ts +304 -0
  192. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.ts +38 -0
  193. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +16 -1
  194. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +154 -69
  195. package/utils/JsViewVueTools/JsvTextureStore/Store.ts +1 -1
  196. package/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.ts +92 -0
  197. package/utils/JsViewVueTools/JsvTextureStore/index.js +2 -0
  198. package/utils/JsViewVueTools/index.js +3 -1
  199. package/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue +111 -86
  200. package/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue +1 -1
  201. package/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue +11 -2
  202. package/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue +1 -1
  203. package/utils/JsViewVueWidget/JsvEnableRenderBreak.vue +6 -0
  204. package/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue +11 -5
  205. package/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue +3 -1
  206. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +23 -11
  207. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +242 -25
  208. package/utils/JsViewVueWidget/JsvFreeMoveActor/{FreeMoveActor.vue → JsvFreeMoveActor.vue} +1 -1
  209. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +11 -5
  210. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +118 -6
  211. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +56 -14
  212. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +2 -1
  213. package/utils/JsViewVueWidget/JsvInput/EditViewOperator.ts +11 -2
  214. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +30 -2
  215. package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +24 -7
  216. package/utils/JsViewVueWidget/JsvMarquee.vue +1 -1
  217. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +12 -10
  218. package/utils/JsViewVueWidget/JsvNinePatch.vue +13 -8
  219. package/utils/JsViewVueWidget/JsvPieChart.vue +93 -70
  220. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +32 -29
  221. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +2 -1
  222. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +25 -3
  223. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue +0 -3
  224. package/utils/JsViewVueWidget/JsvSector.vue +66 -28
  225. package/utils/JsViewVueWidget/JsvTextBox.vue +30 -1
  226. package/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue +56 -14
  227. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +8 -6
  228. package/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue +54 -0
  229. package/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue +88 -0
  230. package/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue +177 -0
  231. package/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue +267 -0
  232. package/utils/JsViewVueWidget/index.js +6 -2
  233. package/bin/browser/BrowserAudio.vue.mjs +0 -258
  234. package/bin/browser/BrowserJsvLatex.vue.mjs +0 -145
  235. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.ts +0 -10
  236. package/bin/types/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.d.ts +0 -7
  237. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +0 -78
  238. package/bin/types/utils/JsViewVueWidget/JsvPosterDiv.vue.d.ts +0 -63
  239. package/bin/types/utils/JsViewVueWidget/JsvPosterImage.vue.d.ts +0 -78
  240. package/utils/JsViewPlugin/JsvLatex/version.js +0 -24
  241. package/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.ts +0 -36
  242. package/utils/JsViewVueWidget/JsvPosterDiv.vue +0 -56
  243. package/utils/JsViewVueWidget/JsvPosterImage.vue +0 -105
  244. /package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue → JsvPlayerBrowser-0.9.vue} +0 -0
@@ -75,19 +75,23 @@ async function main(argv)
75
75
  // jsview
76
76
  `${options.jsviewVueDir}/../jsview`,
77
77
  'gifuct-js@2.1.2',
78
- 'postcss-js@4.0.0',
78
+ 'postcss-js@5.1.0',
79
79
 
80
80
  // vue + vite
81
- 'vue@3.2.45',
82
- 'vue-router@4.1.6',
83
- '@babel/types',
84
- '@vitejs/plugin-vue@4.0.0',
85
- 'typescript@4.9.3',
86
- 'vite@4.0.0',
87
- 'vue-tsc@1.0.11',
81
+ // '@babel/types',
82
+ '@vitejs/plugin-vue@6.0.6',
83
+ "@vue/compiler-sfc@3.6.0-beta.10",
84
+ 'typescript@6.0.3',
85
+ 'vite@8.0.9',
86
+ 'vue@3.6.0-beta.10',
87
+ 'vue-router@5.0.6',
88
+ 'vue-tsc@3.2.7',
88
89
 
89
90
  // jsview-vue dep
90
- 'sass@1.58.1',
91
+ 'sass@1.99.0',
92
+
93
+ // build tools
94
+ 'rollup@4.60.3',
91
95
  ];
92
96
 
93
97
  const noSavePackages = noSavePkgList.toString().replaceAll(',', ' ');
package/tsconfig.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "declarationDir": "bin/types",
7
7
  "emitDeclarationOnly": true,
8
8
  "module": "es2022",
9
- "moduleResolution": "node",
9
+ "moduleResolution": "bundler",
10
10
  "strict": true,
11
11
  "target": "es2022",
12
12
  "composite": true,
@@ -15,7 +15,7 @@
15
15
  "resolveJsonModule": true,
16
16
  "isolatedModules": true,
17
17
  "esModuleInterop": true,
18
- "lib": ["esnext", "dom"],
18
+ "lib": ["ES2022", "dom"],
19
19
  "skipLibCheck": true,
20
20
  "experimentalDecorators": true,
21
21
  "tsBuildInfoFile": "node_modules/.cache/tsconfig.tsbuildinfo"
@@ -114,6 +114,21 @@ const returnFocusToParent = (ev) => {
114
114
  toRaw(fDivRef.value)?.FocusNodeRef.ReturnFocusToParent(ev);
115
115
  };
116
116
 
117
+ const rebuildParentRelation = () => {
118
+ let self = toRaw(fDivRef.value);
119
+ let parent = self.parentNode;
120
+ if (!self.FocusNodeRef.GetParentPage()) {
121
+ while (parent) {
122
+ if (parent.tagName !== "FDIV") {
123
+ parent = parent.parentNode;
124
+ continue;
125
+ }
126
+ self.FocusNodeRef.setParent(parent.FocusNodeRef);
127
+ break;
128
+ }
129
+ }
130
+ };
131
+
117
132
  const exportObject = {
118
133
  getFullName,
119
134
  requestFocus,
@@ -159,22 +174,9 @@ const _mountToFocusSystem = () => {
159
174
  if (actionCallback.onCustomEvent) {
160
175
  focusNode.setOnCustomEvent(_onCustomEvent);
161
176
  }
162
- // 建立父子关系链
163
- let self = toRaw(fDivRef.value);
164
- let parent = self.parentNode;
165
- while (parent) {
166
- if (self.FocusNodeRef.GetParentPage()) {
167
- break;
168
- }
169
177
 
170
- if (parent.tagName !== "FDIV") {
171
- parent = parent.parentNode;
172
- continue;
173
- }
174
-
175
- self.FocusNodeRef.setParent(parent.FocusNodeRef);
176
- break;
177
- }
178
+ // 基于vue是从子到父触发mount/active回调的特性,在此回调时找到其直接父节点来建立父子关系
179
+ rebuildParentRelation();
178
180
  };
179
181
 
180
182
  const _onDispatchKeyDown = (ev) => {
@@ -234,7 +236,13 @@ onActivated(() => {
234
236
  requestFocus(props.autoFocus !== "exact");
235
237
  }
236
238
  } else {
237
- // 首次mounted后会调用onActivated, 考虑避免重复添加
239
+ // 首次mounted后会调用onActivated, 考虑避免重复添加, 不会重新做 _mountToFocusSystem
240
+
241
+ // 但对于在deactive状态下挂载新的JsvFocusBlock组件的场景,
242
+ // 在mount时触发了_mountToFocusSystem, 但此时deactive节点并不在root div上,
243
+ // 即使做过 _mountToFocusSystem 后,父子关系仍然不全
244
+ // 所以需要在onActivated中再重新检查父子关系
245
+ rebuildParentRelation();
238
246
  }
239
247
  });
240
248
 
@@ -244,11 +252,19 @@ onDeactivated(() => {
244
252
  return;
245
253
  }
246
254
 
255
+ const is_focused = focusNodeRef?.["IsFocus"]();
256
+
247
257
  focusNodeRef?.onUnMount(true);
248
258
  if (focusNodeRef?.jsvVueComponent) {
249
259
  focusNodeRef.jsvVueComponent = undefined;
250
260
  }
251
261
  focusNodeRef = null;
262
+
263
+ if (is_focused) {
264
+ // 根据从deactive从子到父的特性, 再次可以同顺序调用blur
265
+ // 因为deactive节点是仍然存在的节点, 但已经从FocusTree拿掉了, 所以需要进行blur通知
266
+ actionCallback?.onBlur?.(exportObject);
267
+ }
252
268
  });
253
269
 
254
270
  defineExpose(exportObject);
@@ -11,6 +11,18 @@ class JsvFocusHubApi {
11
11
  return this._FocusHub;
12
12
  }
13
13
 
14
+ /**
15
+ * getFocusCallToken
16
+ *
17
+ * 获取当前焦点切换SetFocus被调用的序列号, 每次setFocus调用时会递增
18
+ * 便于框架中一些自动setFocus行为识别出是否回调中App开发端已经进行了SetFocus操作, 避免重复setFocus
19
+ *
20
+ * @return {number} 当前焦点切换的序列号
21
+ */
22
+ public getFocusCallToken(): number {
23
+ return this._FocusHub.getFocusCallToken();
24
+ }
25
+
14
26
  /**
15
27
  * setFocus
16
28
  *
@@ -55,8 +67,7 @@ class JsvFocusHubApi {
55
67
  /**
56
68
  * getLastFocus
57
69
  *
58
- * 获得切到到当前焦点前的上一个焦点的name(注意, 不带NameSpace),
59
- * 注意:如果上一次的焦点已经不在dom树时, 返回null
70
+ * 获得切到到当前焦点前的上一个焦点链中离root最远的节点的焦点的name(注意, 不带NameSpace),
60
71
  *
61
72
  * @return {string} 焦点的focusName
62
73
  */
@@ -64,6 +75,17 @@ class JsvFocusHubApi {
64
75
  return this._FocusHub.getLastFocus();
65
76
  }
66
77
 
78
+ /**
79
+ * getLastFocusNear
80
+ *
81
+ * 获得切到到当前焦点前的上一个焦点链中离root最近的节点的焦点的name(注意, 不带NameSpace),
82
+ *
83
+ * @return {string} 焦点的focusName
84
+ */
85
+ public getLastFocusNear(): string {
86
+ return this._FocusHub.getLastFocusNear();
87
+ }
88
+
67
89
  /**
68
90
  * getDeactivedPageFocus
69
91
  *
@@ -25,7 +25,12 @@ const METRO_WIDGET = {
25
25
  }
26
26
  };
27
27
 
28
+ const ONEDGE_TYPE = {
29
+ SPATIAL_NAV: "spatialNav",
30
+ }
31
+
28
32
  export {
29
33
  METRO_WIDGET,
30
34
  METRO_WIDGET as METRO_WIDGET_CONST,
35
+ ONEDGE_TYPE,
31
36
  }
@@ -2,8 +2,16 @@
2
2
  * @file 只显示单列/行的MetroWidget
3
3
  -->
4
4
  <script setup>
5
- import { ref, shallowRef, computed, reactive, onMounted, onBeforeUnmount } from "vue";
5
+ import {
6
+ ref,
7
+ shallowRef,
8
+ computed,
9
+ reactive,
10
+ onMounted,
11
+ onBeforeUnmount,
12
+ } from "vue";
6
13
  import { setup } from "./MetroWidgetSetup";
14
+ import SlotComponent from "./SlotComponent.vue";
7
15
  import {
8
16
  VERTICAL,
9
17
  HORIZONTAL,
@@ -14,6 +22,7 @@ import {
14
22
  import { ForgeConst } from "../../JsViewVueTools/ForgeConstDefine.ts";
15
23
  import DebugFrame from "./DebugFrame.vue";
16
24
  import { createCanvasText } from "./DebugTools.ts";
25
+ import { KEY_MODE, TOUCH_MODE, JsvInteractionMode } from "../../JsViewVueTools/JsvInteractionMode";
17
26
 
18
27
  const props = defineProps({
19
28
  padding: {
@@ -40,7 +49,7 @@ const props = defineProps({
40
49
  required: true,
41
50
  },
42
51
  onEdge: {
43
- type: Function,
52
+ type: [Function, String],
44
53
  default: null,
45
54
  },
46
55
  onFocus: {
@@ -51,6 +60,10 @@ const props = defineProps({
51
60
  type: Function,
52
61
  default: null,
53
62
  },
63
+ onTouchFocus: {
64
+ type: Function,
65
+ default: null,
66
+ },
54
67
  loadAll: {
55
68
  type: Boolean,
56
69
  default: false,
@@ -131,6 +144,9 @@ const props = defineProps({
131
144
  onScroll: {
132
145
  type: Function,
133
146
  },
147
+ syncOnScroll: {
148
+ type: Function,
149
+ },
134
150
  focusMoveType: {
135
151
  type: Number,
136
152
  default: 0,
@@ -157,6 +173,22 @@ const props = defineProps({
157
173
  type: Boolean,
158
174
  default: false,
159
175
  },
176
+ renderAcc: {
177
+ type: Boolean,
178
+ default: false,
179
+ },
180
+ mouseFlag: {
181
+ type: Number,
182
+ default: 0,
183
+ },
184
+ fullDisplayMode: {
185
+ type: Boolean,
186
+ default: false,
187
+ },
188
+ onSizeChange: {
189
+ type: Function,
190
+ default: null,
191
+ },
160
192
  });
161
193
 
162
194
  const renderBreakKey = props.enableItemRenderBreak ? RENDER_ITEM_BREAK_KEY : "";
@@ -168,6 +200,7 @@ const slideDivLeft = ref(0);
168
200
  const slideDivTop = ref(0);
169
201
  const focusNode = shallowRef(null);
170
202
  const pageUpdateToken = ref(0);
203
+ const rootDiv = shallowRef(null);
171
204
 
172
205
  const touchDiv = shallowRef(null);
173
206
  const touchDivSize = reactive({
@@ -176,8 +209,21 @@ const touchDivSize = reactive({
176
209
  });
177
210
 
178
211
  const normalizedPlaceHolder = computed(() => {
212
+ let logoInfo = null;
213
+ if (
214
+ typeof props.placeHolderSetting.logoUrl == "string" &&
215
+ typeof props.placeHolderSetting.logoWidth == "number" &&
216
+ typeof props.placeHolderSetting.logoHeight == "number"
217
+ ) {
218
+ logoInfo = {
219
+ url: props.placeHolderSetting.logoUrl,
220
+ width: props.placeHolderSetting.logoWidth,
221
+ height: props.placeHolderSetting.logoHeight,
222
+ };
223
+ }
179
224
  return {
180
225
  gap: props.placeHolderSetting.gap ?? 0,
226
+ logoInfo: logoInfo,
181
227
  borderRadius: props.placeHolderSetting.borderRadius ?? 0,
182
228
  backgroundColor: props.placeHolderSetting.backgroundColor,
183
229
  focusBackgroundColor:
@@ -199,6 +245,8 @@ const {
199
245
  onTouchRelease,
200
246
  currentFocusIndex,
201
247
  onDispatchKeyDown,
248
+ isFocus,
249
+ rootNativeViewId,
202
250
  } = setup(
203
251
  props,
204
252
  itemRender,
@@ -211,6 +259,7 @@ const {
211
259
  pageUpdateToken,
212
260
  touchDiv,
213
261
  touchDivSize,
262
+ rootDiv,
214
263
  "list"
215
264
  );
216
265
 
@@ -222,7 +271,6 @@ if (props.enableDebug) {
222
271
  debugFrameSourceReleaseHandler = sourceInfo.releaseHandler;
223
272
  }
224
273
 
225
-
226
274
  onMounted(() => {
227
275
  if (onTouchRelease) {
228
276
  touchDiv.value.jsvSetTapListener(
@@ -244,123 +292,169 @@ onBeforeUnmount(() => {
244
292
  }
245
293
  });
246
294
 
295
+ const innerDisableClip = computed(() => {
296
+ return props.disableClip || props.fullDisplayMode;
297
+ });
298
+
247
299
  defineExpose(exportObject);
248
300
  </script>
249
301
 
250
302
  <template>
251
303
  <div
304
+ ref="rootDiv"
252
305
  :style="{
253
306
  left: left,
254
307
  top: top,
255
308
  width: width,
256
309
  height: height,
257
- overflow: disableClip ? null : 'hidden',
310
+ overflow: innerDisableClip ? null : 'hidden',
258
311
  }"
259
312
  >
260
313
  <div
261
314
  :style="{
262
- left: widgetRectInfo.padding.left,
263
- top: widgetRectInfo.padding.top,
315
+ width: width,
316
+ height: height,
264
317
  }"
318
+ :data-jsv-vw-innerview="rootNativeViewId"
265
319
  >
266
320
  <div
267
- id="slideDiv"
268
- key="slideDiv"
269
- ref="slideDiv"
270
321
  :style="{
271
- left: slideDivLeft,
272
- top: slideDivTop,
322
+ left: widgetRectInfo.padding.left,
323
+ top: widgetRectInfo.padding.top,
273
324
  }"
274
325
  >
275
326
  <div
276
- ref="touchDiv"
327
+ id="slideDiv"
328
+ key="slideDiv"
329
+ ref="slideDiv"
277
330
  :style="{
278
- width: touchDivSize.width,
279
- height: touchDivSize.height,
331
+ left: slideDivLeft,
332
+ top: slideDivTop,
280
333
  }"
281
334
  >
282
- <div>
283
- <slot name="background"></slot>
284
- </div>
285
- <div ref="locateDiv">
286
- <jsv-focus-block
287
- ref="focusNode"
288
- :name="name"
289
- :onAction="{
290
- onFocus: focusBlockOnFocus,
291
- onBlur: focusBlockOnBlur,
292
- onKeyDown: focusBlockOnKeyDown,
293
- onKeyUp: focusBlockOnKeyUp,
294
- onCustomEvent: focusBlockOnCustomEvent,
295
- onDispatchKeyDown,
296
- }"
297
- >
298
- <div
299
- v-for="(item, index) in renderData"
300
- :key="
301
- pageUpdateToken +
302
- '_' +
303
- item.index +
304
- '-' +
305
- item.renderKey.value
306
- "
307
- :ref="item.divRef"
308
- data-jsv-vw-test-rect="1"
309
- :style="{
310
- left: item.templateInfo.left,
311
- top: item.templateInfo.top,
312
- width: item.templateInfo.width,
313
- height: item.templateInfo.height,
314
- zIndex: item.renderStyle.zIndex,
335
+ <div
336
+ ref="touchDiv"
337
+ :style="{
338
+ width: touchDivSize.width,
339
+ height: touchDivSize.height,
340
+ }"
341
+ >
342
+ <div>
343
+ <slot name="background"></slot>
344
+ </div>
345
+ <div ref="locateDiv">
346
+ <jsv-focus-block
347
+ ref="focusNode"
348
+ :name="name"
349
+ :onAction="{
350
+ onFocus: focusBlockOnFocus,
351
+ onBlur: focusBlockOnBlur,
352
+ onKeyDown: focusBlockOnKeyDown,
353
+ onKeyUp: focusBlockOnKeyUp,
354
+ onCustomEvent: focusBlockOnCustomEvent,
355
+ onDispatchKeyDown,
315
356
  }"
316
- @click="item.onTap.value"
317
357
  >
318
- <DebugFrame
319
- v-if="enableDebug"
320
- :width="item.templateInfo.width"
321
- :height="item.templateInfo.height"
322
- :sourceId="debugFrameSourceId"
323
- ></DebugFrame>
324
358
  <div
325
- v-if="
326
- !enableItemRenderBreak || item.mounted.value || itemRender
327
- "
328
- :key="renderBreakKey"
329
- :ref="item.slotRef"
330
- :id="`${name}_${index}`"
331
- >
332
- <slot
333
- name="renderItem"
334
- :data="item.customerData"
335
- :onEdge="_onFocusableItemEdge"
336
- :onAction="item.registerObj"
337
- :query="item.query"
338
- :onItemEdge="_onFocusableItemEdge"
339
- ></slot>
340
- </div>
341
- <div
342
- v-if="
343
- enableItemRenderBreak &&
344
- placeHolderSetting &&
345
- !item.mounted.value &&
346
- item.itemConfig.showSkeleton
359
+ v-for="(item, index) in renderData"
360
+ :key="
361
+ pageUpdateToken +
362
+ '_' +
363
+ item.index +
364
+ '-' +
365
+ item.renderKey.value
347
366
  "
367
+ :ref="item.divRef"
368
+ data-jsv-vw-test-rect="1"
348
369
  :style="{
349
- width: item.renderStyle.width - normalizedPlaceHolder.gap,
350
- height: item.renderStyle.height - normalizedPlaceHolder.gap,
351
- backgroundColor:
352
- currentFocusIndex == item.index
353
- ? normalizedPlaceHolder.focusBackgroundColor
354
- : normalizedPlaceHolder.backgroundColor,
355
- borderRadius: normalizedPlaceHolder.borderRadius,
370
+ left: item.templateInfo.left,
371
+ top: item.templateInfo.top,
372
+ width: item.templateInfo.width,
373
+ height: item.templateInfo.height,
374
+ zIndex: item.renderStyle.zIndex,
356
375
  }"
357
- ></div>
358
- </div>
359
- </jsv-focus-block>
376
+ @click="item.onTap.value"
377
+ >
378
+ <DebugFrame
379
+ v-if="enableDebug"
380
+ :width="item.templateInfo.width"
381
+ :height="item.templateInfo.height"
382
+ :sourceId="debugFrameSourceId"
383
+ ></DebugFrame>
384
+ <div
385
+ :style="{
386
+ width: item.templateInfo.width,
387
+ height: item.templateInfo.height,
388
+ }"
389
+ :data-jsv-vw-innerview="item.rootNativeViewId"
390
+ >
391
+ <div
392
+ v-if="
393
+ !item.renderBreak.value ||
394
+ item.mounted.value ||
395
+ itemRender
396
+ "
397
+ :key="renderBreakKey"
398
+ :ref="item.slotRef"
399
+ :id="`${name}_${index}`"
400
+ :__metrowidget-index="item.index"
401
+ >
402
+ <slot
403
+ name="renderItem"
404
+ :data="item.customerData"
405
+ :onEdge="_onFocusableItemEdge"
406
+ :onAction="item.registerObj"
407
+ :query="item.query"
408
+ :onItemEdge="_onFocusableItemEdge"
409
+ ></slot>
410
+ </div>
411
+ <div
412
+ v-if="
413
+ item.renderBreak.value
414
+ && placeHolderSetting
415
+ && !item.mounted.value
416
+ && item.itemConfig.showSkeleton
417
+ && item.placeHolderLayout
418
+ "
419
+ :style="{
420
+ left: item.placeHolderLayout.left,
421
+ top: item.placeHolderLayout.top,
422
+ width: item.placeHolderLayout.width,
423
+ height: item.placeHolderLayout.height,
424
+ backgroundColor:
425
+ isFocus &&
426
+ currentFocusIndex == item.index &&
427
+ JsvInteractionMode == KEY_MODE
428
+ ? normalizedPlaceHolder.focusBackgroundColor
429
+ : normalizedPlaceHolder.backgroundColor,
430
+ borderRadius: normalizedPlaceHolder.borderRadius,
431
+ }"
432
+ >
433
+ <img
434
+ v-if="normalizedPlaceHolder.logoInfo"
435
+ :src="`url(${normalizedPlaceHolder.logoInfo.url})`"
436
+ :style="{
437
+ left:
438
+ (item.placeHolderLayout.width -
439
+ item.placeHolderLayout.logoWidth) /
440
+ 2,
441
+ top:
442
+ (item.placeHolderLayout.height -
443
+ item.placeHolderLayout.logoHeight) /
444
+ 2,
445
+ width: item.placeHolderLayout.logoWidth,
446
+ height: item.placeHolderLayout.logoHeight,
447
+ }"
448
+ />
449
+ </div>
450
+ </div>
451
+ </div>
452
+ </jsv-focus-block>
453
+ </div>
454
+ </div>
455
+ <div>
456
+ <slot name="foreground"></slot>
360
457
  </div>
361
- </div>
362
- <div>
363
- <slot name="foreground"></slot>
364
458
  </div>
365
459
  </div>
366
460
  </div>