@shijiu/jsview-vue 2.2.128 → 2.2.373

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 (325) hide show
  1. package/bin/browser/BrowserApic.vue.mjs +4 -15
  2. package/bin/browser/BrowserApic2.vue.mjs +4 -15
  3. package/bin/browser/BrowserApicLib.mjs +32 -26
  4. package/bin/browser/BrowserAudio.vue.mjs +2 -10
  5. package/bin/browser/BrowserJsvFragShaderView.vue.mjs +79 -0
  6. package/bin/browser/BrowserJsvLatex.vue.mjs +39 -16
  7. package/bin/browser/BrowserPreload.vue.mjs +1 -5
  8. package/bin/browser/BrowserQrcode.vue.mjs +1 -5
  9. package/bin/browser/BrowserSpray.vue.mjs +2 -12
  10. package/bin/browser/BrowserTextureAnim.vue.mjs +2 -12
  11. package/bin/export-sfc.mjs +3 -3
  12. package/bin/jsview-vue-common.mjs +3 -3
  13. package/bin/jsview-vue.mjs +4636 -2325
  14. package/bin/types/JsViewEngineWidget/CheckType.d.ts +4 -0
  15. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +37 -33
  16. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +4 -0
  17. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusManager.d.ts +21 -6
  18. package/bin/types/JsViewEngineWidget/MetroWidget/Const.d.ts +4 -0
  19. package/bin/types/JsViewEngineWidget/MetroWidget/Dispatcher.d.ts +14 -12
  20. package/bin/types/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +17 -6
  21. package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +283 -6
  22. package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +9 -3
  23. package/bin/types/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +4 -0
  24. package/bin/types/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +7 -0
  25. package/bin/types/JsViewEngineWidget/MetroWidget/Slide.d.ts +4 -0
  26. package/bin/types/JsViewEngineWidget/MetroWidget/SlotComponent.vue.d.ts +4 -0
  27. package/bin/types/JsViewEngineWidget/MetroWidget/VisibleInfo.d.ts +4 -0
  28. package/bin/types/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +4 -0
  29. package/bin/types/JsViewEngineWidget/RangeModel.d.ts +4 -0
  30. package/bin/types/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +4 -0
  31. package/bin/types/JsViewEngineWidget/TemplateParser/Fence.d.ts +4 -0
  32. package/bin/types/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +5 -0
  33. package/bin/types/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +4 -0
  34. package/bin/types/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +5 -1
  35. package/bin/types/JsViewEngineWidget/TemplateParser/index.d.ts +4 -0
  36. package/bin/types/JsViewEngineWidget/WidgetCommon.d.ts +4 -0
  37. package/bin/types/JsViewEngineWidget/index.d.ts +14 -1
  38. package/bin/types/JsViewPlugin/JsvAccount/JsvAccount.d.ts +4 -0
  39. package/bin/types/JsViewPlugin/JsvAudio/AudioProxy.d.ts +4 -0
  40. package/bin/types/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +4 -0
  41. package/bin/types/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +4 -0
  42. package/bin/types/JsViewPlugin/JsvAudio/CheckType.d.ts +4 -0
  43. package/bin/types/JsViewPlugin/JsvAudio/Events.d.ts +4 -0
  44. package/bin/types/JsViewPlugin/JsvAudio/JsvAudio.vue.d.ts +4 -0
  45. package/bin/types/JsViewPlugin/JsvAudio/JsvAudioBridgeProxy.d.ts +4 -0
  46. package/bin/types/JsViewPlugin/JsvAudio/JsvAudioProxy.vue.d.ts +4 -0
  47. package/bin/types/JsViewPlugin/JsvAudio/PluginLoader.d.ts +4 -0
  48. package/bin/types/JsViewPlugin/JsvAudio/ScreenLockManager.d.ts +4 -0
  49. package/bin/types/JsViewPlugin/JsvAudio/index.d.ts +4 -0
  50. package/bin/types/JsViewPlugin/JsvAudio/version.d.ts +5 -0
  51. package/bin/types/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +4 -0
  52. package/bin/types/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue.d.ts +4 -0
  53. package/bin/types/JsViewPlugin/JsvLatex/Color.d.ts +4 -0
  54. package/bin/types/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +24 -0
  55. package/bin/types/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +4 -0
  56. package/bin/types/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +4 -0
  57. package/bin/types/JsViewPlugin/JsvLatex/PluginLoader.d.ts +4 -0
  58. package/bin/types/JsViewPlugin/JsvLatex/index.d.ts +5 -0
  59. package/bin/types/JsViewPlugin/JsvLatex/version.d.ts +4 -0
  60. package/bin/types/JsViewPlugin/index.d.ts +4 -0
  61. package/bin/types/JsViewVueTools/ConstSymbol.d.ts +6 -2
  62. package/bin/types/JsViewVueTools/DebugContentShellJBridge.d.ts +4 -0
  63. package/bin/types/JsViewVueTools/DebugTool.d.ts +4 -0
  64. package/bin/types/JsViewVueTools/DefaultKeyMap.d.ts +4 -0
  65. package/bin/types/JsViewVueTools/FeatureActive.d.ts +14 -0
  66. package/bin/types/JsViewVueTools/ForgeConstDefine.d.ts +4 -0
  67. package/bin/types/JsViewVueTools/ForgeHandles.d.ts +7 -3
  68. package/bin/types/JsViewVueTools/JsvDemoTester.d.ts +4 -0
  69. package/bin/types/JsViewVueTools/JsvDynamicCssStyle.d.ts +20 -1
  70. package/bin/types/JsViewVueTools/JsvDynamicKeyFrames.d.ts +21 -2
  71. package/bin/types/JsViewVueTools/JsvFederationTools.d.ts +20 -0
  72. package/bin/types/JsViewVueTools/JsvHashHistory.d.ts +4 -0
  73. package/bin/types/JsViewVueTools/JsvImpactTracer.d.ts +8 -4
  74. package/bin/types/JsViewVueTools/JsvPerformance.d.ts +9 -0
  75. package/bin/types/JsViewVueTools/JsvPreDownloader.d.ts +55 -0
  76. package/bin/types/JsViewVueTools/JsvRefTaker.d.ts +28 -3
  77. package/bin/types/JsViewVueTools/JsvRuntimeBridge.d.ts +50 -0
  78. package/bin/types/JsViewVueTools/JsvStyleClass.d.ts +4 -0
  79. package/bin/types/JsViewVueTools/JsvStyleSheetsDeclarer.d.ts +21 -1
  80. package/bin/types/JsViewVueTools/JsvTextTools.d.ts +85 -27
  81. package/bin/types/JsViewVueTools/JsvTextureDefines.d.ts +4 -0
  82. package/bin/types/JsViewVueTools/JsvTextureLoadTool.d.ts +67 -0
  83. package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/CanvasTexture.d.ts +4 -0
  84. package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +4 -0
  85. package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +4 -0
  86. package/bin/types/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +4 -0
  87. package/bin/types/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +73 -3
  88. package/bin/types/JsViewVueTools/JsvTextureStore/Store.d.ts +4 -0
  89. package/bin/types/JsViewVueTools/JsvTextureStore/Texture.d.ts +4 -0
  90. package/bin/types/JsViewVueTools/NinePatchHelper.d.ts +5 -1
  91. package/bin/types/JsViewVueTools/TextureManagerTools.d.ts +11 -0
  92. package/bin/types/JsViewVueTools/TypeCheckAndSet.d.ts +4 -0
  93. package/bin/types/JsViewVueTools/index.d.ts +26 -11
  94. package/bin/types/JsViewVueWidget/JsvActorMove/ActorControlBase.d.ts +4 -0
  95. package/bin/types/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +38 -0
  96. package/bin/types/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.d.ts +4 -0
  97. package/bin/types/JsViewVueWidget/JsvActorMove/index.d.ts +4 -0
  98. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +5 -1
  99. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +28 -1
  100. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +4 -0
  101. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +5 -1
  102. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +29 -1
  103. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +4 -0
  104. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/ApicDataBase.d.ts +4 -0
  105. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/BrowserApicLib.d.ts +4 -0
  106. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/GifData.d.ts +4 -0
  107. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/NormalLoopTool.d.ts +4 -0
  108. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/PartLoopTool.d.ts +4 -0
  109. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/SingleLoopTool.d.ts +4 -0
  110. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/Viewer.d.ts +6 -1
  111. package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/WebpData.d.ts +4 -0
  112. package/bin/types/JsViewVueWidget/JsvApic/JsvCommonLoopToolBase.d.ts +4 -0
  113. package/bin/types/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue.d.ts +74 -0
  114. package/bin/types/JsViewVueWidget/JsvClipDiv/index.d.ts +5 -0
  115. package/bin/types/JsViewVueWidget/JsvConnectLine/ArcLineManager.d.ts +4 -0
  116. package/bin/types/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +21 -0
  117. package/bin/types/JsViewVueWidget/JsvConnectLine/index.d.ts +4 -0
  118. package/bin/types/JsViewVueWidget/JsvDragBox/JsvDragBox.vue.d.ts +109 -0
  119. package/bin/types/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue.d.ts +108 -0
  120. package/bin/types/JsViewVueWidget/JsvDriftScope/index.d.ts +5 -0
  121. package/bin/types/JsViewVueWidget/JsvEnableRenderBreak.vue.d.ts +4 -0
  122. package/bin/types/JsViewVueWidget/JsvFilterView.vue.d.ts +19 -0
  123. package/bin/types/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +34 -0
  124. package/bin/types/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +106 -0
  125. package/bin/types/JsViewVueWidget/JsvFlexCell/index.d.ts +6 -2
  126. package/bin/types/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue.d.ts +19 -0
  127. package/bin/types/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +60 -0
  128. package/bin/types/JsViewVueWidget/JsvFragShaderView/index.d.ts +6 -0
  129. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +47 -17
  130. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.d.ts +4 -0
  131. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.d.ts +4 -0
  132. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +25 -0
  133. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +22 -0
  134. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/NexusNode.d.ts +4 -0
  135. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +9 -5
  136. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +8 -2
  137. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +11 -7
  138. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SyncLinkManager.d.ts +22 -0
  139. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +6 -0
  140. package/bin/types/JsViewVueWidget/JsvGrid.vue.d.ts +73 -0
  141. package/bin/types/JsViewVueWidget/JsvHole.d.ts +17 -0
  142. package/bin/types/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +14 -34
  143. package/bin/types/JsViewVueWidget/JsvInput/EditViewOperator.d.ts +48 -0
  144. package/bin/types/JsViewVueWidget/JsvInput/EditVisibleArea.d.ts +27 -0
  145. package/bin/types/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +64 -209
  146. package/bin/types/JsViewVueWidget/JsvInput/SharedDefine.d.ts +17 -0
  147. package/bin/types/JsViewVueWidget/JsvInput/SystemTextTools.d.ts +14 -0
  148. package/bin/types/JsViewVueWidget/JsvInput/index.d.ts +4 -0
  149. package/bin/types/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +20 -0
  150. package/bin/types/JsViewVueWidget/JsvLine/LineManager.d.ts +4 -0
  151. package/bin/types/JsViewVueWidget/JsvLine/index.d.ts +4 -0
  152. package/bin/types/JsViewVueWidget/JsvMarquee.vue.d.ts +21 -0
  153. package/bin/types/JsViewVueWidget/JsvMaskClipDiv.vue.d.ts +20 -0
  154. package/bin/types/JsViewVueWidget/JsvMindMap/Constant.d.ts +4 -0
  155. package/bin/types/JsViewVueWidget/JsvMindMap/DataTree.d.ts +7 -1
  156. package/bin/types/JsViewVueWidget/JsvMindMap/Geometry.d.ts +4 -0
  157. package/bin/types/JsViewVueWidget/JsvMindMap/JsvMindMap.vue.d.ts +90 -0
  158. package/bin/types/JsViewVueWidget/JsvMindMap/index.d.ts +4 -0
  159. package/bin/types/JsViewVueWidget/JsvMindMap/rtree.d.ts +4 -0
  160. package/bin/types/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +24 -0
  161. package/bin/types/JsViewVueWidget/JsvNinePatch.vue.d.ts +31 -0
  162. package/bin/types/JsViewVueWidget/JsvPieChart.vue.d.ts +17 -0
  163. package/bin/types/JsViewVueWidget/JsvPosterDiv.vue.d.ts +17 -0
  164. package/bin/types/JsViewVueWidget/JsvPosterImage.vue.d.ts +18 -0
  165. package/bin/types/JsViewVueWidget/JsvPreload/BrowserPreload.vue.d.ts +4 -0
  166. package/bin/types/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +42 -0
  167. package/bin/types/JsViewVueWidget/JsvPreload/index.d.ts +4 -0
  168. package/bin/types/JsViewVueWidget/JsvProgressBar.vue.d.ts +19 -0
  169. package/bin/types/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue.d.ts +4 -0
  170. package/bin/types/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +25 -0
  171. package/bin/types/JsViewVueWidget/JsvQrcode/index.d.ts +4 -0
  172. package/bin/types/JsViewVueWidget/JsvRadarChart.vue.d.ts +24 -0
  173. package/bin/types/JsViewVueWidget/JsvRipple/Constant.d.ts +4 -0
  174. package/bin/types/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +45 -0
  175. package/bin/types/JsViewVueWidget/JsvRipple/index.d.ts +4 -0
  176. package/bin/types/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +18 -0
  177. package/bin/types/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +65 -1
  178. package/bin/types/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue.d.ts +157 -0
  179. package/bin/types/JsViewVueWidget/JsvScrollBox/ScrollInnerSymbol.d.ts +8 -0
  180. package/bin/types/JsViewVueWidget/JsvScrollBox/ScrollSymbol.d.ts +13 -4
  181. package/bin/types/JsViewVueWidget/JsvScrollBox/index.d.ts +6 -0
  182. package/bin/types/JsViewVueWidget/JsvSector.vue.d.ts +18 -0
  183. package/bin/types/JsViewVueWidget/JsvSoundPool.d.ts +42 -0
  184. package/bin/types/JsViewVueWidget/JsvSpray/BrowserSpray.vue.d.ts +4 -0
  185. package/bin/types/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +40 -0
  186. package/bin/types/JsViewVueWidget/JsvSpray/index.d.ts +4 -0
  187. package/bin/types/JsViewVueWidget/JsvSpriteAnim/FrameBuidler.d.ts +4 -0
  188. package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +52 -0
  189. package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +16 -0
  190. package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteTools.d.ts +4 -0
  191. package/bin/types/JsViewVueWidget/JsvSpriteAnim/SpriteController.d.ts +4 -0
  192. package/bin/types/JsViewVueWidget/JsvSpriteAnim/index.d.ts +4 -0
  193. package/bin/types/JsViewVueWidget/JsvSpriteAnim/sAnimationToken.d.ts +4 -0
  194. package/bin/types/JsViewVueWidget/JsvSwiper/JsvSwiper.vue.d.ts +39 -0
  195. package/bin/types/JsViewVueWidget/JsvSwiper/index.d.ts +4 -0
  196. package/bin/types/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue.d.ts +24 -0
  197. package/bin/types/JsViewVueWidget/JsvSwiper3D/index.d.ts +4 -0
  198. package/bin/types/JsViewVueWidget/JsvTextBox.vue.d.ts +26 -0
  199. package/bin/types/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue.d.ts +4 -0
  200. package/bin/types/JsViewVueWidget/JsvTextureAnim/CommonType.d.ts +4 -0
  201. package/bin/types/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +7 -2
  202. package/bin/types/JsViewVueWidget/JsvTextureAnim/index.d.ts +4 -0
  203. package/bin/types/JsViewVueWidget/JsvTouchModeSwitcher.vue.d.ts +100 -0
  204. package/bin/types/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +25 -0
  205. package/bin/types/JsViewVueWidget/JsvVisibleSensor/index.d.ts +4 -0
  206. package/bin/types/JsViewVueWidget/index.d.ts +9 -0
  207. package/bin/types/index.d.ts +4 -0
  208. package/index.d.ts +8 -0
  209. package/package.json +1 -1
  210. package/tools/config/rollup.config.mjs +1 -0
  211. package/tools/config/toolkit.mjs +81 -0
  212. package/tools/config/tsconfig.json +1 -0
  213. package/tools/config/vite.config.ts +24 -14
  214. package/tools/jsview-vue-build.mjs +66 -21
  215. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue +6 -2
  216. package/utils/JsViewEngineWidget/JsvFocus/{JsvFocusManager.js → JsvFocusManager.ts} +34 -15
  217. package/utils/JsViewEngineWidget/MetroWidget/Dispatcher.ts +20 -0
  218. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +30 -11
  219. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +54 -15
  220. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +509 -268
  221. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +11 -0
  222. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +8 -0
  223. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +20 -10
  224. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +33 -9
  225. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +2 -2
  226. package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +7 -0
  227. package/utils/JsViewEngineWidget/{index.js → index.ts} +1 -1
  228. package/utils/JsViewPlugin/JsvAudio/AudioProxy.js +21 -2
  229. package/utils/JsViewPlugin/JsvAudio/version.js +1 -1
  230. package/utils/JsViewPlugin/JsvAudio/version.mjs +1 -1
  231. package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +13 -3
  232. package/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue +27 -6
  233. package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +34 -28
  234. package/utils/JsViewPlugin/JsvLatex/index.js +22 -0
  235. package/utils/JsViewVueTools/ConstSymbol.ts +2 -2
  236. package/utils/JsViewVueTools/FeatureActive.ts +84 -0
  237. package/utils/JsViewVueTools/ForgeHandles.ts +7 -3
  238. package/utils/JsViewVueTools/JsvDynamicCssStyle.js +2 -0
  239. package/utils/JsViewVueTools/JsvDynamicKeyFrames.ts +2 -0
  240. package/utils/JsViewVueTools/JsvImpactTracer.js +2 -0
  241. package/utils/JsViewVueTools/JsvPreDownloader.ts +5 -4
  242. package/utils/JsViewVueTools/JsvRefTaker.js +1 -2
  243. package/utils/JsViewVueTools/JsvRuntimeBridge.js +67 -1
  244. package/utils/JsViewVueTools/JsvStyleClass.js +2 -0
  245. package/utils/JsViewVueTools/JsvStyleSheetsDeclarer.js +2 -0
  246. package/utils/JsViewVueTools/JsvTextTools.ts +223 -0
  247. package/utils/JsViewVueTools/JsvTextureLoadTool.ts +233 -0
  248. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +4 -1
  249. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +8 -4
  250. package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +1 -0
  251. package/utils/JsViewVueTools/TextureManagerTools.ts +17 -0
  252. package/utils/JsViewVueTools/index.js +22 -19
  253. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +2 -0
  254. package/utils/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue +2 -2
  255. package/utils/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue +13 -5
  256. package/utils/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue +2 -2
  257. package/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue +15 -4
  258. package/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/Viewer.js +8 -3
  259. package/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue +44 -0
  260. package/utils/JsViewVueWidget/JsvClipDiv/index.ts +1 -0
  261. package/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue +7 -1
  262. package/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue +219 -0
  263. package/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue +84 -0
  264. package/utils/JsViewVueWidget/JsvDriftScope/index.ts +1 -0
  265. package/utils/JsViewVueWidget/JsvFilterView.vue +2 -0
  266. package/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue +5 -2
  267. package/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue +145 -0
  268. package/utils/JsViewVueWidget/JsvFlexCell/index.js +2 -5
  269. package/utils/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue +75 -0
  270. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +293 -0
  271. package/utils/JsViewVueWidget/JsvFragShaderView/index.js +18 -0
  272. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +142 -63
  273. package/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue +9 -0
  274. package/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue +2 -0
  275. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +15 -6
  276. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +19 -7
  277. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +15 -11
  278. package/utils/JsViewVueWidget/JsvFreeMoveActor/SyncLinkManager.ts +120 -0
  279. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +5 -1
  280. package/utils/JsViewVueWidget/JsvGrid.vue +2 -0
  281. package/utils/JsViewVueWidget/JsvHole.js +2 -0
  282. package/utils/JsViewVueWidget/JsvInput/Cursor.vue +49 -45
  283. package/utils/JsViewVueWidget/JsvInput/EditViewOperator.ts +320 -0
  284. package/utils/JsViewVueWidget/JsvInput/EditVisibleArea.ts +222 -0
  285. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +281 -681
  286. package/utils/JsViewVueWidget/JsvInput/SharedDefine.ts +17 -0
  287. package/utils/JsViewVueWidget/JsvInput/SystemTextTools.ts +47 -0
  288. package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +2 -0
  289. package/utils/JsViewVueWidget/JsvMarquee.vue +2 -0
  290. package/utils/JsViewVueWidget/JsvMaskClipDiv.vue +2 -0
  291. package/utils/JsViewVueWidget/JsvMindMap/DataTree.ts +14 -1
  292. package/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue +277 -117
  293. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +91 -68
  294. package/utils/JsViewVueWidget/JsvNinePatch.vue +18 -1
  295. package/utils/JsViewVueWidget/JsvPieChart.vue +2 -0
  296. package/utils/JsViewVueWidget/JsvPosterDiv.vue +2 -0
  297. package/utils/JsViewVueWidget/JsvPosterImage.vue +2 -0
  298. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +2 -0
  299. package/utils/JsViewVueWidget/JsvProgressBar.vue +2 -0
  300. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +10 -11
  301. package/utils/JsViewVueWidget/JsvRadarChart.vue +2 -0
  302. package/utils/JsViewVueWidget/JsvRipple/Constant.js +2 -2
  303. package/utils/JsViewVueWidget/JsvRipple/JsvRipple.vue +3 -1
  304. package/utils/JsViewVueWidget/JsvScaleTextBox.vue +2 -0
  305. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +266 -48
  306. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue +477 -0
  307. package/utils/JsViewVueWidget/JsvScrollBox/ScrollInnerSymbol.ts +9 -0
  308. package/utils/JsViewVueWidget/JsvScrollBox/ScrollSymbol.ts +13 -4
  309. package/utils/JsViewVueWidget/JsvScrollBox/index.ts +3 -0
  310. package/utils/JsViewVueWidget/JsvSector.vue +2 -0
  311. package/utils/JsViewVueWidget/JsvSoundPool.js +2 -0
  312. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +30 -13
  313. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +2 -0
  314. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue +2 -0
  315. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +2 -0
  316. package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +2 -0
  317. package/utils/JsViewVueWidget/JsvTextBox.vue +2 -4
  318. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +44 -41
  319. package/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue +101 -0
  320. package/utils/JsViewVueWidget/JsvVideo.vue +2 -2
  321. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +2 -0
  322. package/utils/JsViewVueWidget/index.js +5 -0
  323. package/utils/JsViewEngineWidget/MetroWidget/Dispatcher.js +0 -19
  324. package/utils/JsViewVueTools/JsvTextTools.js +0 -89
  325. package/utils/JsViewVueWidget/JsvScrollBox/index.js +0 -2
@@ -1,3 +1,29 @@
1
+ /**
2
+ + @file {@link file://./../../../utils/JsViewVueWidget/JsvTextBox.vue}
3
+ */
4
+
5
+ /**
6
+ * @file
7
+ *
8
+ * JsvTextBox:Vue高阶组件,用于文字绘制要精细调整的场景,
9
+ * 注意: 其中Jsv打头的属性为内部属性,不要在组件外直接使用,规避后续调整时进行变名等调整导致使用不了。
10
+ * props说明:
11
+ * verticalAlign {string} 垂直对齐方式 (必需) top、middle、bottom
12
+ * style {object} 样式(必需)
13
+ * enableLatex {bool} 是否启用Latex文字描画模式
14
+ * textDirection {string} 文字方向,主要考虑阿拉伯语的方向场景
15
+ * syncDraw {string} 文字较长时,是强制同步绘制还是自动的进入异步绘制,可选"auto","sync","async"
16
+ * 其中"async"为强制包含短文字的场景也异步绘制
17
+ * latex语法样例
18
+ * 1. 颜色: "测试\\textcolor{#FF0000}{红色}文字"
19
+ * 2. 加粗: "测试\\textb{加粗}文字"
20
+ * 3. 斜体: "测试\\texti{斜体}文字"
21
+ * 4. 下划线: "测试\\textdecoration{underline}{下划线}文字"
22
+ * 5. 删除线: "测试\\textdecoration{line-through}{删除线}文字"
23
+ * latex混合样式样例
24
+ * "测试\\textcolor{#FF0000}{红色并且\\textb{加粗}}文字"
25
+ */
26
+
1
27
  declare const _default: {
2
28
  new (...args: any[]): {
3
29
  $: import("vue").ComponentInternalInstance;
@@ -1,3 +1,7 @@
1
+ /**
2
+ + @file {@link file://./../../../../utils/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue}
3
+ */
4
+
1
5
  declare const _default: import("vue").DefineComponent<{
2
6
  src: StringConstructor;
3
7
  top: NumberConstructor;
@@ -1,2 +1,6 @@
1
+ /**
2
+ + @file {@link file://./../../../../utils/JsViewVueWidget/JsvTextureAnim/CommonType.js}
3
+ */
4
+
1
5
  export const DECORATE_BORDER_RADIUS: "BroderRaidus";
2
6
  export const DECORATE_NINEPATCH_ALPHA_MIX: "NinePatchAlphaMix";
@@ -1,3 +1,7 @@
1
+ /**
2
+ + @file {@link file://./../../../../utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue}
3
+ */
4
+
1
5
  declare const _default: import("vue").DefineComponent<{
2
6
  src: StringConstructor;
3
7
  top: NumberConstructor;
@@ -31,7 +35,7 @@ declare const _default: import("vue").DefineComponent<{
31
35
  type: ObjectConstructor;
32
36
  };
33
37
  }, {
34
- forgeAnimation: null;
38
+ runningState: number;
35
39
  innerViewId: number;
36
40
  }, any, {}, {
37
41
  _createForgeView(view_texture: any, decorate_setting: any): any;
@@ -51,8 +55,9 @@ declare const _default: import("vue").DefineComponent<{
51
55
  _createLayoutViewWithDecorate(view_texture: any, decorate_setting: any): any;
52
56
  _createNinePatchAlphaMixView(view_texture: any, decorate_setting: any): any;
53
57
  _createBorderRadius(view_texture: any, decorate_setting: any): any;
54
- _onAnimationEnd(): void;
58
+ _onAnimationEnd(normal_end: any): void;
55
59
  _updateTexCoord(): void;
60
+ _buildAnimation(): any;
56
61
  start(): void;
57
62
  getTransition(): string;
58
63
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -1,3 +1,7 @@
1
+ /**
2
+ + @file {@link file://./../../../../utils/JsViewVueWidget/JsvTextureAnim/index.js}
3
+ */
4
+
1
5
  export * from "./CommonType";
2
6
  export default _JsvTextureAnim;
3
7
  declare let _JsvTextureAnim: any;
@@ -0,0 +1,100 @@
1
+ /**
2
+ + @file {@link file://./../../../utils/JsViewVueWidget/JsvTouchModeSwitcher.vue}
3
+ */
4
+
5
+ /**
6
+ * @file
7
+ *
8
+ * 【模块 export 内容】
9
+ * JsvTouchModeSwitcher:Vue高阶组件,监听交互模式的变更
10
+ * props说明:
11
+ * width {number} 宽
12
+ * height {number} 高
13
+ * initMode {number} 初始模式, 1:按键, 2:触控, 默认为1
14
+ * methods:
15
+ * registerCallback: (callback: (mode: number) => void) => void
16
+ 注册回调
17
+ * unregisterCallback: (callback: (mode: number) => void) => void
18
+ 注销回调
19
+ * getInteractiveMode: () => number
20
+ 获取当前的交互模式. 1:按键, 2:触控
21
+ * 注意:
22
+ * 在MetroWidget的item中,如需监听交互模式变动, 为了避免过多回调, 一般在onFocus中注册, 在onBlur中注销
23
+ *
24
+ */
25
+
26
+ declare const _default: {
27
+ new (...args: any[]): {
28
+ $: import("vue").ComponentInternalInstance;
29
+ $data: {};
30
+ $props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
31
+ $attrs: {
32
+ [x: string]: unknown;
33
+ };
34
+ $refs: {
35
+ [x: string]: unknown;
36
+ };
37
+ $slots: Readonly<{
38
+ [name: string]: import("vue").Slot | undefined;
39
+ }>;
40
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
41
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
42
+ $emit: (event: string, ...args: any[]) => void;
43
+ $el: any;
44
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {
45
+ registerCallback: (callback: any) => void;
46
+ unregisterCallback: (callback: any) => void;
47
+ getInteractiveMode: () => number;
48
+ $props: {
49
+ readonly initMode?: number | undefined;
50
+ readonly height?: number | undefined;
51
+ readonly width?: number | undefined;
52
+ };
53
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & {
54
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
55
+ created?: ((() => void) | (() => void)[]) | undefined;
56
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
57
+ mounted?: ((() => void) | (() => void)[]) | undefined;
58
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
59
+ updated?: ((() => void) | (() => void)[]) | undefined;
60
+ activated?: ((() => void) | (() => void)[]) | undefined;
61
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
62
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
63
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
64
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
65
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
66
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
67
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
68
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
69
+ };
70
+ $forceUpdate: () => void;
71
+ $nextTick: typeof import("vue").nextTick;
72
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
73
+ } & Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").ShallowUnwrapRef<{
74
+ registerCallback: (callback: any) => void;
75
+ unregisterCallback: (callback: any) => void;
76
+ getInteractiveMode: () => number;
77
+ $props: {
78
+ readonly initMode?: number | undefined;
79
+ readonly height?: number | undefined;
80
+ readonly width?: number | undefined;
81
+ };
82
+ }> & {} & import("vue").ComponentCustomProperties & {};
83
+ __isFragment?: undefined;
84
+ __isTeleport?: undefined;
85
+ __isSuspense?: undefined;
86
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {
87
+ registerCallback: (callback: any) => void;
88
+ unregisterCallback: (callback: any) => void;
89
+ getInteractiveMode: () => number;
90
+ $props: {
91
+ readonly initMode?: number | undefined;
92
+ readonly height?: number | undefined;
93
+ readonly width?: number | undefined;
94
+ };
95
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
96
+ $slots: {
97
+ default: (_: {}) => any;
98
+ };
99
+ });
100
+ export default _default;
@@ -1,3 +1,28 @@
1
+ /**
2
+ + @file {@link file://./../../../../utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue}
3
+ */
4
+
5
+ /**
6
+ * @file
7
+ *
8
+ * 【模块 export 内容】
9
+ * JsvVisibleSensor: 可视区域监控器
10
+ * props说明:
11
+ * horizonShown {number} (可选, 可响应式, 默认1.0完全露出)横轴百分比区域完全显示时(左边或右边完全露出,仅中间段判断会失效),
12
+ * 横轴切换到显示状态,否则为不可视状态
13
+ * verticalShown {number} (可选, 可响应式)纵轴百分比区域完全显示时(上边或下边完全露出,仅中间段判断会失效),
14
+ * 纵轴切换到显示状态,否则为不可视状态
15
+ * left {number} (可选, 可响应式)可视检测区域的left
16
+ * top {number} (可选, 可响应式)可视检测区域的top
17
+ * width {number} (可选, 可响应式)可视检测区域的width
18
+ * height {number} (可选, 可响应式)可视检测区域的height
19
+ *
20
+ * container {div reference} (可选, 可响应式)子区域参照,若为null,则认为检测可视区域为全屏幕
21
+ *
22
+ * callback {function} (必须, 可响应式)可视变化时的回调处理, 参数
23
+ * (old_horizantal_visible, new_horizantal_visible, old_vertical_visible, new_vertical_visible)
24
+ */
25
+
1
26
  declare const _default: {
2
27
  new (...args: any[]): {
3
28
  $: import("vue").ComponentInternalInstance;
@@ -1,3 +1,7 @@
1
+ /**
2
+ + @file {@link file://./../../../../utils/JsViewVueWidget/JsvVisibleSensor/index.js}
3
+ */
4
+
1
5
  declare const _default: {
2
6
  new (...args: any[]): {
3
7
  $: import("vue").ComponentInternalInstance;
@@ -1,7 +1,13 @@
1
+ /**
2
+ + @file {@link file://./../../../utils/JsViewVueWidget/index.js}
3
+ */
4
+
1
5
  export * from "./JsvFreeMoveActor";
2
6
  export * from "./JsvFlexCell";
3
7
  export * from "./JsvSpriteAnim";
4
8
  export * from "./JsvScrollBox";
9
+ export * from "./JsvClipDiv";
10
+ export * from "./JsvDriftScope";
5
11
  export { default as JsvApic } from "./JsvApic/JsvApic";
6
12
  export { default as JsvApic2 } from "./JsvApic/JsvApic2";
7
13
  export { default as JsvQrcode } from "./JsvQrcode";
@@ -27,6 +33,9 @@ export { default as JsvConnectLine } from "./JsvConnectLine";
27
33
  export { default as JsvProgressBar } from "./JsvProgressBar.vue";
28
34
  export { default as JsvEnableRenderBreak } from "./JsvEnableRenderBreak.vue";
29
35
  export { JsvMindMap } from "./JsvMindMap";
36
+ export { default as JsvFragShaderView } from "./JsvFragShaderView";
37
+ export { default as JsvTouchModeSwitcher } from "./JsvTouchModeSwitcher.vue";
38
+ export { default as JsvDragBox } from "./JsvDragBox/JsvDragBox.vue";
30
39
  import JsvNativeSharedDiv from "./JsvNativeSharedDiv.vue";
31
40
  export { JsvNativeSharedDiv as JsvTransparentDiv, JsvNativeSharedDiv };
32
41
  export { default as JsvActorMove, JsvActorMoveControl } from "./JsvActorMove";
@@ -1,3 +1,7 @@
1
+ /**
2
+ + @file {@link file://./../../utils/index.js}
3
+ */
4
+
1
5
  export * from "./JsViewEngineWidget";
2
6
  export * from "./JsViewPlugin";
3
7
  export * from "./JsViewVueTools";
package/index.d.ts CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * @todo 添加jsview-vue/utils组件列表
3
+ */
4
+
5
+ export {
6
+ MetroWidget
7
+ } from "./bin/types/index";
8
+
1
9
  // 二选一 "./bin" 用于执行打包的js,"./utils" 用于调试
2
10
  export * from "./bin/types/index";
3
11
  // export * from "./utils";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shijiu/jsview-vue",
3
- "version": "2.2.128",
3
+ "version": "2.2.373",
4
4
  "license": "MIT",
5
5
  "repository": "system/jsview-framework",
6
6
  "author": "mengxk",
@@ -7,6 +7,7 @@ export default {
7
7
  '@shijiu/jsview',
8
8
  '@shijiu/jsview/dom/*',
9
9
  '@shijiu/jsview/dom/jsv-forge-define',
10
+ '@shijiu/jsview/dom/jsv-forge-define.mjs',
10
11
  'plugin-vue:export-helper',
11
12
  'qr.js',
12
13
  'vue',
@@ -0,0 +1,81 @@
1
+ import path from 'node:path';
2
+ import url from 'node:url';
3
+
4
+ function getFileComments(content, isVue, filePath)
5
+ {
6
+ const keyword = '@file';
7
+
8
+ const contentLines = content.split('\n');
9
+ let fileCommentLines = [];
10
+ for (let idx = 0; idx < contentLines.length; idx++) {
11
+ const line = contentLines[idx];
12
+ const trimLine = line.trim();
13
+ // 空行 和 import, js文件会把import放在注释上面
14
+ if(!trimLine || trimLine.startsWith('import')) {
15
+ continue;
16
+
17
+ // 检查 /* comments */ 和 <!-- comments -->
18
+ } else if (trimLine.startsWith('/*')
19
+ || trimLine.startsWith('<!--')) {
20
+ const endFlag = trimLine.startsWith('/*') ? '*/' : '-->'
21
+ let multiCommentLines = [];
22
+ for(idx; idx < contentLines.length; idx++) {
23
+ const multiline = contentLines[idx];
24
+ multiCommentLines.push(multiline);
25
+ if(multiline.includes(endFlag)) {
26
+ multiCommentLines.push(''); // 添加一个空行
27
+ break;
28
+ }
29
+ }
30
+ if(multiCommentLines.join().includes(keyword)) {
31
+ fileCommentLines.push(...multiCommentLines);
32
+ }
33
+
34
+ // 检查 //
35
+ } else if (trimLine.startsWith('//')) {
36
+ if(line.includes(keyword)) {
37
+ fileCommentLines.push(line);
38
+ }
39
+
40
+ // 检查 vue 文件的 <script> 中的注释
41
+ } else if (isVue && trimLine.startsWith('<script')) {
42
+
43
+ // 出现代码,退出循环
44
+ } else {
45
+ break;
46
+ }
47
+ }
48
+
49
+ return fileCommentLines.join('\n').trim();
50
+ }
51
+
52
+ /**************************************************
53
+ * jsview-framework/@shijiu/jsview-vue
54
+ * ├── bin
55
+ * │   └── types
56
+ * ├── tools
57
+ * │   └── config
58
+ * └── utls
59
+ *************************************************/
60
+ function getProjectPaths()
61
+ {
62
+ const currJsFilePath = url.fileURLToPath(import.meta.url)
63
+ const jsviewVueDir = path.resolve(currJsFilePath, '../../../'); // jsview-framework/@shijiu/jsview-vue
64
+ const jsviewVueBinDir = path.resolve(jsviewVueDir, 'bin');
65
+ const jsviewVueBinTypesDir = path.resolve(jsviewVueBinDir, 'types');
66
+ const jsviewVueModulesCacheDir = path.resolve(jsviewVueDir, 'node_modules', '.cache');
67
+ const jsviewVueUtilsDir = path.resolve(jsviewVueDir, 'utils');
68
+
69
+ return {
70
+ jsviewVueDir,
71
+ jsviewVueBinDir,
72
+ jsviewVueBinTypesDir,
73
+ jsviewVueModulesCacheDir,
74
+ jsviewVueUtilsDir,
75
+ }
76
+ }
77
+
78
+ export {
79
+ getFileComments,
80
+ getProjectPaths,
81
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "allowJs": true,
4
+ // "checkJs": true,
4
5
  "declaration": true,
5
6
  "declarationDir": "../../bin/types",
6
7
  "emitDeclarationOnly": true,
@@ -2,14 +2,18 @@ import { defineConfig } from 'vite'
2
2
  import vue from '@vitejs/plugin-vue'
3
3
  import fs from 'node:fs'
4
4
  import path from 'node:path'
5
+ import {
6
+ getFileComments,
7
+ getProjectPaths
8
+ } from './toolkit.mjs'
5
9
 
6
- const projectDir = process.cwd();
10
+ const options = getProjectPaths();
7
11
 
8
12
  // https://vitejs.dev/config/
9
13
  export default defineConfig({
10
14
  build: {
11
15
  lib: {
12
- entry: path.resolve(projectDir, 'utils/index.js'),
16
+ entry: path.resolve(options.jsviewVueUtilsDir, 'index.js'),
13
17
  formats: ["es"],
14
18
  },
15
19
  minify: false,
@@ -25,11 +29,11 @@ export default defineConfig({
25
29
  ],
26
30
  output: {
27
31
  banner: (chunkInfo) => getBanner(chunkInfo),
28
- dir: path.resolve(projectDir, 'node_modules', '.cache'),
32
+ dir: options.jsviewVueModulesCacheDir,
29
33
  entryFileNames: '[name].mjs',
30
34
  format: 'esm',
31
35
  preserveModules: true,
32
- preserveModulesRoot: projectDir,
36
+ preserveModulesRoot: options.jsviewVueDir,
33
37
  sourcemap: false,
34
38
  },
35
39
  treeshake: false,
@@ -41,20 +45,26 @@ export default defineConfig({
41
45
  })
42
46
 
43
47
  function getBanner(chunkInfo) {
44
- let filePath = chunkInfo.facadeModuleId
45
- filePath = filePath.replace(/^\x00/, '') // '\0plugin-vue:export-helper',
46
- const modulePath = path.relative(projectDir, filePath)
48
+ let filePath = chunkInfo.facadeModuleId;
49
+ filePath = filePath.replace(/^\x00/, ''); // '\0plugin-vue:export-helper',
50
+ const modulePath = path.relative(options.jsviewVueUtilsDir, filePath);
51
+ const moduleDir = path.dirname(modulePath);
52
+ const dtsDir = path.resolve(options.jsviewVueBinTypesDir, moduleDir);
47
53
  let banner = `
48
- //!
49
- //! ${modulePath};
50
- //!
54
+ /*!
55
+ + @file {@link file://./${path.relative(dtsDir, filePath)}}
56
+ */
51
57
  `;
52
58
 
53
59
  if(filePath.endsWith('.vue')) {
54
- const regex = /<script.*?<\/script>|<style.*?<\/style>|<template.*?<\/template>/gs
55
- const content = fs.readFileSync(filePath, 'utf-8')
56
- const topLevelComments = content.replace(regex, '');
57
- banner += `/*! ${topLevelComments} */`;
60
+ const content = fs.readFileSync(filePath, 'utf-8');
61
+
62
+ let fileComments = getFileComments(content, true, filePath);
63
+ fileComments = fileComments.replaceAll('/**', '/*!');
64
+ fileComments = fileComments.replaceAll('<!--', '/*!');
65
+ fileComments = fileComments.replaceAll('-->', '*/');
66
+
67
+ banner += fileComments;
58
68
  }
59
69
 
60
70
  return banner;
@@ -3,14 +3,51 @@
3
3
 
4
4
  import fs from 'node:fs';
5
5
  import path from 'node:path';
6
- import url from 'node:url';
7
6
  import {
8
7
  checkNodeVersion,
9
8
  execCommand,
10
9
  getNpmRegistry,
10
+ Logger,
11
11
  parseArguments,
12
12
  } from '../../../@shijiu/jsview/tools/jsview-common.mjs';
13
13
 
14
+ import {
15
+ getFileComments,
16
+ getProjectPaths,
17
+ } from './config/toolkit.mjs'
18
+
19
+ function checkTopLevelCommentsRecursive(relativeDir, baseDir, cacheDir)
20
+ {
21
+ const fileNameList = fs.readdirSync(path.resolve(baseDir, relativeDir));
22
+ for(const fileName of fileNameList) {
23
+ const filePath = path.resolve(baseDir, relativeDir, fileName);
24
+ const stat = fs.statSync(filePath);
25
+ if(stat.isDirectory()) {
26
+ const relativeName = path.join(relativeDir, fileName);
27
+ checkTopLevelCommentsRecursive(relativeName, baseDir, cacheDir);
28
+ } else {
29
+ if(fileName.endsWith('.d.ts') == false) {
30
+ continue;
31
+ }
32
+
33
+ const refName = fileName.replace('.d.ts', '.mjs');
34
+ const refPath = path.resolve(cacheDir, relativeDir, refName);
35
+ if(fs.existsSync(refPath) == false) {
36
+ Logger.Tip('Ignore to check top-level comments: ' + filePath);
37
+ continue;
38
+ }
39
+ const refContent = fs.readFileSync(refPath, 'utf-8');
40
+ let fileComments = getFileComments(refContent, false, refPath);
41
+ fileComments = fileComments.replaceAll('/**!', '/**')
42
+ fileComments = fileComments.replaceAll('/*!', '/**')
43
+
44
+ let content = fs.readFileSync(filePath, 'utf-8');
45
+ content = `${fileComments }\n\n${content}`;
46
+ fs.writeFileSync(filePath, content, 'utf-8');
47
+ }
48
+ }
49
+ }
50
+
14
51
  function formatBannerRecursive(dir)
15
52
  {
16
53
  const fileNameList = fs.readdirSync(dir);
@@ -32,13 +69,11 @@ async function main(argv)
32
69
  {
33
70
  checkNodeVersion();
34
71
 
35
- const currJsFilePath = url.fileURLToPath(import.meta.url)
36
- const jsviewVueDir = path.resolve(currJsFilePath, '../../') // jsview-framework/@shijiu/jsview-vue
37
- const jsviewVueBinDir = path.resolve(jsviewVueDir, 'bin') // jsview-framework/@shijiu/jsview-vue/bin
72
+ const options = getProjectPaths();
38
73
 
39
74
  const noSavePkgList = [
40
75
  // jsview
41
- `${jsviewVueDir}/../jsview`,
76
+ `${options.jsviewVueDir}/../jsview`,
42
77
  'gifuct-js@2.1.2',
43
78
  'postcss-js@4.0.0',
44
79
 
@@ -58,42 +93,52 @@ async function main(argv)
58
93
  const noSavePackages = noSavePkgList.toString().replaceAll(',', ' ');
59
94
  const version = process.env['JSVIEW_VUE_VERSION'];
60
95
 
61
- const npmInstalledFlag = path.resolve(jsviewVueDir, 'node_modules', '.cache', '.npm-installed');
96
+ const cacheDir = path.resolve(options.jsviewVueDir, 'node_modules', '.cache');
97
+ const npmInstalledFlag = path.resolve(cacheDir, '.npm-installed');
62
98
  let batchCommand = []
63
99
 
64
100
  if(!argv.withoutNpmInstall || fs.existsSync(npmInstalledFlag) == false) {
65
101
  const registry = getNpmRegistry();
66
- fs.rmSync(`${jsviewVueDir}/node_modules`, { recursive: true, force: true });
102
+ fs.rmSync(`${options.jsviewVueDir}/node_modules`, { recursive: true, force: true });
67
103
  batchCommand = [
68
104
  `npm install --registry=${registry}`,
69
105
  `npm install --registry=${registry} --force --no-save ${noSavePackages}`,
70
- `node ${jsviewVueDir}/node_modules/@shijiu/jsview/tools/jsview-post-install.mjs --framework=vue`,
106
+ `node ${options.jsviewVueDir}/node_modules/@shijiu/jsview/tools/jsview-post-install.mjs --framework=vue`,
71
107
  ];
72
108
  }
73
109
  batchCommand = [
74
110
  ...batchCommand,
75
- `JSVIEW_DISABLE_MANUALCHUNKS=true ${jsviewVueDir}/node_modules/.bin/vite build --config ${jsviewVueDir}/tools/config/vite.config.ts`,
76
- `${version ? 'JSVIEW_VUE_VERSION='+version : ''} ${jsviewVueDir}/node_modules/.bin/rollup --config ${jsviewVueDir}/tools/config/rollup.config.mjs`,
111
+ `JSVIEW_DISABLE_MANUALCHUNKS=true ${options.jsviewVueDir}/node_modules/.bin/vite build --config ${options.jsviewVueDir}/tools/config/vite.config.ts`,
112
+ `${version ? 'JSVIEW_VUE_VERSION='+version : ''} ${options.jsviewVueDir}/node_modules/.bin/rollup --config ${options.jsviewVueDir}/tools/config/rollup.config.mjs`,
77
113
  ];
78
114
  if(!argv.withoutTsDeclare) {
79
- fs.rmSync(jsviewVueBinDir, { recursive: true, force: true });
80
-
81
- batchCommand = [
82
- ...batchCommand,
83
- `${jsviewVueDir}/node_modules/.bin/vue-tsc --project ${jsviewVueDir}/tools/config/tsconfig.json`,
84
- ];
115
+ fs.rmSync(options.jsviewVueBinDir, { recursive: true, force: true });
85
116
  }
86
117
  for(const command of batchCommand) {
87
- execCommand(`cd ${jsviewVueDir} && ${command}`);
118
+ execCommand(`cd ${options.jsviewVueDir} && ${command}`);
88
119
  }
120
+ Logger.Info('Formatting banner ...');
121
+ formatBannerRecursive(options.jsviewVueBinDir);
89
122
 
90
- formatBannerRecursive(jsviewVueBinDir);
123
+ if(!argv.withoutTsDeclare) {
124
+ batchCommand = [
125
+ `${options.jsviewVueDir}/node_modules/.bin/vue-tsc --project ${options.jsviewVueDir}/tools/config/tsconfig.json`,
126
+ ];
127
+ fs.rmSync(options.jsviewVueBinTypesDir, { recursive: true, force: true });
128
+ for(const command of batchCommand) {
129
+ execCommand(`cd ${options.jsviewVueDir} && ${command}`);
130
+ }
131
+
132
+ Logger.Info('Checking top-level comments ...');
133
+ const refUtilsDir = path.resolve(cacheDir, 'utils');
134
+ checkTopLevelCommentsRecursive('.', options.jsviewVueBinTypesDir, refUtilsDir);
135
+ }
91
136
 
92
137
  fs.mkdirSync(path.dirname(npmInstalledFlag), {recursive: true});
93
138
  fs.writeFileSync(npmInstalledFlag, '');
94
139
  if(!argv.withoutNpmInstall) {
95
- fs.rmSync(`${jsviewVueDir}/node_modules`, { recursive: true, force: true });
96
- fs.rmSync(`${jsviewVueDir}/package-lock.json`, { recursive: true, force: true });
140
+ fs.rmSync(`${options.jsviewVueDir}/node_modules`, { recursive: true, force: true });
141
+ fs.rmSync(`${options.jsviewVueDir}/package-lock.json`, { recursive: true, force: true });
97
142
  }
98
143
 
99
144
  console.info('Done...');
@@ -106,4 +151,4 @@ const optionalUsages = {
106
151
  '-n | --without-npm-install': 'Ignore to run npm install.',
107
152
  };
108
153
  const argv = parseArguments(requiredUsages, optionalUsages, false);
109
- main(argv);
154
+ main(argv);
@@ -1,4 +1,6 @@
1
1
  <!--
2
+ * @file
3
+ *
2
4
  * props:
3
5
  * onKeyUp: 按键抬起回调
4
6
  * @params keyEvent
@@ -41,9 +43,11 @@ import {
41
43
  import { HUB_NS_PROVIDE_NAME } from "./JsvFocusHub";
42
44
 
43
45
  const props = defineProps({
46
+ style: Object,
44
47
  name: String,
45
48
  namespace: String,
46
- autoFocus: String,
49
+ autoFocus: String | Boolean,
50
+ focusable: Boolean | undefined,
47
51
  onAction: Object,
48
52
  onDispatchKeyUp: Function,
49
53
  onDispatchKeyDown: Function,
@@ -238,7 +242,7 @@ defineExpose(exportObject);
238
242
  </script>
239
243
 
240
244
  <template>
241
- <fdiv ref="fDivRef" :fname="name" :new-namespace="namespace">
245
+ <fdiv ref="fDivRef" :fname="name" :new-namespace="namespace" :style="style" :data-jsv-focusable="focusable ?? !namespace">
242
246
  <slot></slot>
243
247
  </fdiv>
244
248
  </template>