@shijiu/jsview-vue 0.9.502 → 0.9.590

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 (215) hide show
  1. package/dom/bin/jsview-browser-debug-dom.min.js +1 -1
  2. package/dom/bin/jsview-dom.min.js +1 -1
  3. package/dom/target_core_revision.js +4 -3
  4. package/index.js +10 -0
  5. package/package.json +8 -1
  6. package/patches/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +16 -5
  7. package/samples/AnimPicture/App.vue +89 -106
  8. package/samples/Basic/App.vue +65 -68
  9. package/samples/Basic/components/ContentBlock.vue +31 -36
  10. package/samples/Basic/components/anim/AnimGroup.vue +61 -75
  11. package/samples/Basic/components/anim/AnimKeyframeBasic.vue +54 -43
  12. package/samples/Basic/components/anim/AnimKeyframeComposite.vue +25 -31
  13. package/samples/Basic/components/anim/AnimTransition.vue +142 -105
  14. package/samples/Basic/components/div/DivBackground.vue +38 -16
  15. package/samples/Basic/components/div/DivClip.vue +143 -78
  16. package/samples/Basic/components/div/DivCssScoped.vue +10 -10
  17. package/samples/Basic/components/div/DivCssVar.vue +40 -42
  18. package/samples/Basic/components/div/DivGroup1.vue +45 -39
  19. package/samples/Basic/components/div/DivGroup2.vue +56 -45
  20. package/samples/Basic/components/div/DivLayout.vue +34 -5
  21. package/samples/Basic/components/div/DivRadius.vue +51 -42
  22. package/samples/Basic/components/div/DivTransform.vue +21 -16
  23. package/samples/Basic/components/panel/Panel1.vue +46 -44
  24. package/samples/Basic/components/panel/Panel2.vue +22 -26
  25. package/samples/Basic/components/panel/TitleBar.vue +12 -12
  26. package/samples/Basic/components/text/TextAlign.vue +54 -44
  27. package/samples/Basic/components/text/TextEmoji.vue +16 -20
  28. package/samples/Basic/components/text/TextFontStyle.vue +77 -53
  29. package/samples/Basic/components/text/TextGroup1.vue +46 -38
  30. package/samples/Basic/components/text/TextGroup2.vue +25 -28
  31. package/samples/Basic/components/text/TextOverflow.vue +76 -57
  32. package/samples/BasicFocusControl/App.vue +22 -43
  33. package/samples/BasicFocusControl/components/BaseBlock.vue +42 -43
  34. package/samples/BasicFocusControl/components/MainArea.vue +55 -70
  35. package/samples/BasicFocusControl/components/MainAreaLeftBlock.vue +11 -15
  36. package/samples/BasicFocusControl/components/MainAreaRightBlock.vue +21 -24
  37. package/samples/BasicFocusControl/components/SideBar.vue +32 -47
  38. package/samples/BasicFocusControl/components/SideBarBlock.vue +20 -23
  39. package/samples/ColorSpace/App.vue +15 -24
  40. package/samples/DemoHomepage/App.vue +7 -11
  41. package/samples/DemoHomepage/components/BodyFrame.vue +19 -9
  42. package/samples/DemoHomepage/components/TabFrame.vue +7 -8
  43. package/samples/DemoHomepage/router.js +32 -33
  44. package/samples/DemoHomepage/views/Homepage.vue +24 -8
  45. package/samples/FilterDemo/AnimatePic.vue +58 -0
  46. package/samples/FilterDemo/App.vue +99 -61
  47. package/samples/FilterDemo/VideoLayer.vue +62 -0
  48. package/samples/FlipCard/App.vue +32 -41
  49. package/samples/FlipCard/FlipCard.vue +48 -54
  50. package/samples/GridDemo/App.vue +109 -77
  51. package/samples/GridDemo/ButtonBlock.vue +50 -49
  52. package/samples/GridDemo/FocusItem.vue +19 -38
  53. package/samples/GridDemo/Item.vue +46 -54
  54. package/samples/HashHistory/App.vue +63 -79
  55. package/samples/HashHistory/components/HorizontalButtonList.vue +72 -95
  56. package/samples/HashHistory/components/Item.vue +42 -56
  57. package/samples/HashHistory/router.js +23 -12
  58. package/samples/HashHistory/views/MainPage.vue +35 -46
  59. package/samples/HashHistory/views/SubPage.vue +34 -47
  60. package/samples/Input/App.vue +2 -3
  61. package/samples/Input/FullKeyboard.vue +2 -6
  62. package/samples/Input/InputPanel.vue +2 -3
  63. package/samples/Input/KeyboardItem.vue +1 -1
  64. package/samples/LongImage/App.vue +11 -27
  65. package/samples/LongImage/Button.vue +50 -145
  66. package/samples/LongImage/ButtonItem.vue +44 -0
  67. package/samples/LongImage/LongImageScroll.vue +71 -106
  68. package/samples/LongImage/Scroll.vue +7 -9
  69. package/samples/LongText/App.vue +13 -28
  70. package/samples/LongText/Button.vue +43 -145
  71. package/samples/LongText/ButtonItem.vue +44 -0
  72. package/samples/LongText/LongTextScroll.vue +68 -101
  73. package/samples/LongText/Scroll.vue +7 -9
  74. package/samples/Marquee/App.vue +34 -37
  75. package/samples/MaskClip/App.vue +17 -30
  76. package/samples/MetroWidgetDemos/Advanced/App.vue +211 -0
  77. package/samples/MetroWidgetDemos/Advanced/ButtonItem.vue +90 -0
  78. package/samples/MetroWidgetDemos/Item.vue +67 -0
  79. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/App.vue +80 -104
  80. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/Item.vue +7 -0
  81. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/bg.jpg +0 -0
  82. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_content.png +0 -0
  83. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_left.png +0 -0
  84. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_mid.png +0 -0
  85. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_right.png +0 -0
  86. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/focus_border.png +0 -0
  87. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/holder_logo.png +0 -0
  88. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/jrbm.png +0 -0
  89. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/line_left.png +0 -0
  90. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/line_mid.png +0 -0
  91. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/line_right.png +0 -0
  92. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/loading.png +0 -0
  93. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/logo.png +0 -0
  94. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/mcjx.png +0 -0
  95. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/tao.png +0 -0
  96. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/tmall.png +0 -0
  97. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/border.png +0 -0
  98. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/components/ContentItem.vue +60 -86
  99. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/components/MyTab.vue +0 -0
  100. package/samples/MetroWidgetDemos/PerformanceTest/data.js +45 -0
  101. package/samples/MetroWidgetDemos/PingPong/App.vue +135 -0
  102. package/samples/MetroWidgetDemos/PingPong/AppPage.vue +58 -0
  103. package/samples/MetroWidgetDemos/PingPong/AppTab.vue +69 -0
  104. package/samples/MetroWidgetDemos/PingPong/Item.vue +92 -0
  105. package/samples/MetroWidgetDemos/PingPong/ViewSwiper.vue +214 -0
  106. package/samples/MetroWidgetDemos/Simple/App.vue +194 -0
  107. package/samples/MetroWidgetDemos/WidgetItem.vue +89 -0
  108. package/samples/MetroWidgetDemos/data.js +204 -0
  109. package/samples/NinePatchDemo/App.vue +114 -115
  110. package/samples/NinePatchDemo/Item.vue +7 -8
  111. package/samples/Preload/App.vue +61 -63
  112. package/samples/Preload/Item.vue +21 -29
  113. package/samples/QrcodeDemo/App.vue +24 -29
  114. package/samples/SoundPool/App.vue +77 -106
  115. package/samples/SprayView/App.vue +10 -8
  116. package/samples/SpriteImage/App.vue +1 -2
  117. package/samples/TextBox/App.vue +86 -101
  118. package/samples/TextBox/RenderCenter.vue +1 -1
  119. package/samples/TextBox/RenderLeft.vue +1 -1
  120. package/samples/TextBox/RenderOneLine.vue +1 -1
  121. package/samples/TextBox/RenderRight.vue +1 -1
  122. package/samples/TextShadowDemo/App.vue +1 -2
  123. package/samples/TextureAnimation/App.vue +16 -13
  124. package/samples/TextureSize/App.vue +15 -25
  125. package/samples/ThrowMoveDemo/AccelerateDemo.vue +2 -4
  126. package/samples/ThrowMoveDemo/LRParabolicDemo.vue +2 -3
  127. package/samples/ThrowMoveDemo/TargetDemo.vue +3 -4
  128. package/samples/ThrowMoveDemo/UDParabolicDemo.vue +2 -3
  129. package/samples/TouchSample/App.vue +2 -3
  130. package/samples/TouchSample/Item.vue +15 -13
  131. package/samples/TouchSample/MetroWidgetHorizontal.vue +2 -2
  132. package/samples/TouchSample/MetroWidgetVertical.vue +1 -1
  133. package/samples/TouchSample/TouchContainerHorizontal.vue +4 -3
  134. package/samples/TouchSample/TouchContainerVertical.vue +3 -2
  135. package/samples/TransitPage/App.vue +20 -32
  136. package/samples/VideoDemo/App.vue +65 -81
  137. package/samples/VideoDemo/components/Button.vue +41 -52
  138. package/samples/VideoDemo/components/Controllor.vue +171 -169
  139. package/samples/VideoDemo/components/VideoFrame.vue +87 -99
  140. package/samples/VisibleSensorDemo/App.vue +167 -0
  141. package/scripts/jsview-jsmap-serve.js +42 -0
  142. package/scripts/jsview-post-install.js +1 -1
  143. package/tsconfig.json +3 -0
  144. package/utils/JsViewEngineWidget/JsvFocusBlock.vue +204 -193
  145. package/utils/JsViewEngineWidget/JsvFocusManager.js +30 -17
  146. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +1555 -1656
  147. package/utils/JsViewEngineWidget/MetroWidget/PageUpdater.js +136 -0
  148. package/utils/JsViewEngineWidget/MetroWidget/ToolFunctions.js +18 -0
  149. package/utils/JsViewEngineWidget/TemplateParser.js +111 -1
  150. package/utils/JsViewEngineWidget/WidgetCommon.js +8 -2
  151. package/utils/JsViewEngineWidget/index.js +4 -4
  152. package/utils/JsViewPlugin/JsvPlayer/GetVersion.js +1 -1
  153. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +264 -54
  154. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +5 -1
  155. package/utils/JsViewPlugin/JsvPlayer/version.js +5 -5
  156. package/utils/JsViewVueTools/JsvRefTaker.js +35 -0
  157. package/utils/JsViewVueTools/index.js +19 -0
  158. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserQrcode.vue +8 -4
  159. package/utils/JsViewVueWidget/JsvFilterView.vue +59 -51
  160. package/utils/JsViewVueWidget/JsvGrid.vue +139 -41
  161. package/utils/JsViewVueWidget/JsvMaskClipDiv.vue +3 -1
  162. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +8 -17
  163. package/utils/JsViewVueWidget/JsvNinePatch.vue +1 -1
  164. package/utils/JsViewVueWidget/JsvPosterDiv.vue +37 -7
  165. package/utils/JsViewVueWidget/JsvPosterImage.vue +34 -13
  166. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +2 -12
  167. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +1 -1
  168. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +13 -10
  169. package/utils/JsViewVueWidget/JsvSpriteAnim/index.js +2 -3
  170. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +25 -21
  171. package/utils/JsViewVueWidget/JsvTransparentDiv.vue +7 -8
  172. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +141 -0
  173. package/utils/JsViewVueWidget/JsvVisibleSensor/index.js +9 -0
  174. package/utils/JsViewVueWidget/index.js +42 -0
  175. package/samples/AdvanceMetroWidget/App.vue +0 -123
  176. package/samples/AdvanceMetroWidget/Frame.vue +0 -102
  177. package/samples/AdvanceMetroWidget/Item.vue +0 -63
  178. package/samples/AdvanceMetroWidget/data.js +0 -137
  179. package/samples/ClassNameDemo/App.vue +0 -119
  180. package/samples/ClassNameDemo/components/ContentItem.vue +0 -253
  181. package/samples/ClassNameDemo/components/LoadingView.vue +0 -43
  182. package/samples/ClassNameDemo/components/TitleView.vue +0 -24
  183. package/samples/ClassNameDemo/data.js +0 -24
  184. package/samples/FlowMultiWidget/App.vue +0 -91
  185. package/samples/FlowMultiWidget/assets/nine_patch_focus.png +0 -0
  186. package/samples/FlowMultiWidget/components/Block.vue +0 -107
  187. package/samples/FlowMultiWidget/components/FlowPage.vue +0 -60
  188. package/samples/FlowMultiWidget/components/Item.vue +0 -103
  189. package/samples/FlowMultiWidget/components/MenuItem.vue +0 -72
  190. package/samples/FlowMultiWidget/components/MyMenu.vue +0 -90
  191. package/samples/FlowMultiWidget/data.js +0 -446
  192. package/samples/HashHistory/views/BasePage.vue +0 -19
  193. package/samples/HashHistory/views/SubPageFirst.vue +0 -10
  194. package/samples/HashHistory/views/SubPageSecond.vue +0 -10
  195. package/samples/SimpleWidgetDemo/assets/bg.jpg +0 -0
  196. package/samples/SimpleWidgetDemo/assets/coupon_content.png +0 -0
  197. package/samples/SimpleWidgetDemo/assets/coupon_left.png +0 -0
  198. package/samples/SimpleWidgetDemo/assets/coupon_mid.png +0 -0
  199. package/samples/SimpleWidgetDemo/assets/coupon_right.png +0 -0
  200. package/samples/SimpleWidgetDemo/assets/focus_border.png +0 -0
  201. package/samples/SimpleWidgetDemo/assets/holder_logo.png +0 -0
  202. package/samples/SimpleWidgetDemo/assets/jrbm.png +0 -0
  203. package/samples/SimpleWidgetDemo/assets/line_left.png +0 -0
  204. package/samples/SimpleWidgetDemo/assets/line_mid.png +0 -0
  205. package/samples/SimpleWidgetDemo/assets/line_right.png +0 -0
  206. package/samples/SimpleWidgetDemo/assets/loading.png +0 -0
  207. package/samples/SimpleWidgetDemo/assets/logo.png +0 -0
  208. package/samples/SimpleWidgetDemo/assets/mcjx.png +0 -0
  209. package/samples/SimpleWidgetDemo/assets/tao.png +0 -0
  210. package/samples/SimpleWidgetDemo/assets/tmall.png +0 -0
  211. package/samples/SimpleWidgetDemo/data.js +0 -124
  212. package/utils/JsViewEngineWidget/MetroWidget/ContentView.vue +0 -63
  213. package/utils/JsViewEngineWidget/MetroWidget/DivWrapper.vue +0 -51
  214. package/utils/JsViewEngineWidget/MetroWidget/ItemView.vue +0 -213
  215. package/utils/JsViewEngineWidget/MetroWidget/RootView.vue +0 -154
@@ -1,56 +1,65 @@
1
+ <script setup>
2
+ import iconImgPath from "../../assets/icon.png";
3
+ const blockSize = {
4
+ width: 65,
5
+ height: 65,
6
+ };
7
+ const gap = 5;
8
+ </script>
9
+
1
10
  <template>
2
- <div id='layout-root'>
3
- <div class="content-font" :style="{
4
- width: blockSize.width, height: blockSize.height,
11
+ <div id="layout-root">
12
+ <div
13
+ class="content-font"
14
+ :style="{
15
+ width: blockSize.width,
16
+ height: blockSize.height,
5
17
  backgroundColor: 'rgba(255, 255, 0, 1)',
6
- borderRadius: '10px' }">
7
- 各角相同
18
+ borderRadius: '10px',
19
+ }"
20
+ >
21
+ 各角相同
8
22
  </div>
9
- <div class="content-font" :style="{
10
- left: blockSize.width+gap,
11
- width: blockSize.width, height: blockSize.height,
23
+ <div
24
+ class="content-font"
25
+ :style="{
26
+ left: blockSize.width + gap,
27
+ width: blockSize.width,
28
+ height: blockSize.height,
12
29
  backgroundColor: 'rgba(255, 255, 0, 1)',
13
- borderRadius: '0 10px 20px 30px'}">
14
- 各角不同
30
+ borderRadius: '0 10px 20px 30px',
31
+ }"
32
+ >
33
+ 各角不同
15
34
  </div>
16
- <div class="content-font" :style="{
17
- top: blockSize.height+gap,
18
- width: blockSize.width, height: blockSize.height,
35
+ <div
36
+ class="content-font"
37
+ :style="{
38
+ top: blockSize.height + gap,
39
+ width: blockSize.width,
40
+ height: blockSize.height,
19
41
  backgroundImage: `url(${iconImgPath})`,
20
- borderRadius: '10px'}">
21
- 各角相同
42
+ borderRadius: '10px',
43
+ }"
44
+ >
45
+ 各角相同
22
46
  </div>
23
- <div class="content-font" :style="{
24
- left: blockSize.width+gap, top: blockSize.height+gap,
25
- width: blockSize.width, height: blockSize.height,
47
+ <div
48
+ class="content-font"
49
+ :style="{
50
+ left: blockSize.width + gap,
51
+ top: blockSize.height + gap,
52
+ width: blockSize.width,
53
+ height: blockSize.height,
26
54
  backgroundImage: `url(${iconImgPath})`,
27
- borderRadius: '0 10px 20px 30px'}">
28
- 各角不同
55
+ borderRadius: '0 10px 20px 30px',
56
+ }"
57
+ >
58
+ 各角不同
29
59
  </div>
30
- </div>
60
+ </div>
31
61
  </template>
32
62
 
33
- <script>
34
- import iconImgPath from '../../assets/icon.png';
35
-
36
- export default {
37
- computed: {
38
- iconImgPath() {
39
- return iconImgPath
40
- },
41
- blockSize() {
42
- return {
43
- width: 65,
44
- height: 65,
45
- }
46
- },
47
- gap() {
48
- return 5;
49
- }
50
- }
51
- }
52
- </script>
53
-
54
63
  <style>
55
64
  @import "../FontStyle.css";
56
65
  </style>
@@ -1,27 +1,32 @@
1
- <template>
2
- <div id='layout-root'>
3
- <div class="content-font" :style="{
4
- left: 10, top: 10,
5
- width: blockSize.width, height: blockSize.height,
6
- backgroundColor: 'rgba(255, 255, 0, 1)',
7
- transform: 'rotate3d(0, 0, 1, 30deg)' }">
8
- rotate3d
9
- </div>
10
- </div>
11
- </template>
12
-
13
1
  <script setup>
14
- /* eslint-disable no-unused-vars */
15
- import iconImgPath from '../../assets/icon.png';
2
+ import iconImgPath from "../../assets/icon.png";
16
3
 
17
4
  const blockSize = {
18
- width: 65,
19
- height: 65,
5
+ width: 65,
6
+ height: 65,
20
7
  };
21
8
 
22
9
  const gap = 5;
23
10
  </script>
24
11
 
12
+ <template>
13
+ <div id="layout-root">
14
+ <div
15
+ class="content-font"
16
+ :style="{
17
+ left: 10,
18
+ top: 10,
19
+ width: blockSize.width,
20
+ height: blockSize.height,
21
+ backgroundColor: 'rgba(255, 255, 0, 1)',
22
+ transform: 'rotate3d(0, 0, 1, 30deg)',
23
+ }"
24
+ >
25
+ rotate3d
26
+ </div>
27
+ </div>
28
+ </template>
29
+
25
30
  <style>
26
31
  @import "../FontStyle.css";
27
32
  </style>
@@ -1,52 +1,54 @@
1
- <script>
2
- import TitleBar from './TitleBar';
3
- import DivGroup1 from '../div/DivGroup1';
4
- import DivGroup2 from '../div/DivGroup2';
5
- import TextGroup1 from '../text/TextGroup1';
6
- import TextGroup2 from '../text/TextGroup2';
7
- import AnimGroup from '../anim/AnimGroup';
1
+ <script setup>
2
+ import TitleBar from "./TitleBar";
3
+ import DivGroup1 from "../div/DivGroup1";
4
+ import DivGroup2 from "../div/DivGroup2";
5
+ import TextGroup1 from "../text/TextGroup1";
6
+ import TextGroup2 from "../text/TextGroup2";
7
+ import AnimGroup from "../anim/AnimGroup";
8
8
 
9
- export default {
10
- props: {
11
- panelClass: String,
12
- itemSides: Object,
13
- },
14
- components: {
15
- TitleBar,
16
- DivGroup1, DivGroup2,
17
- TextGroup1, TextGroup2,
18
- AnimGroup
19
- },
20
- computed: {
21
- titleData() {
22
- return [
23
- 'div标签1',
24
- 'div标签2',
25
- 'div文本1',
26
- 'div文本2',
27
- 'div动画',
28
- ];
29
- }
30
- }
31
- }
9
+ const props = defineProps({
10
+ panelClass: String,
11
+ itemSides: Object,
12
+ });
13
+
14
+ const titleData = ["div标签1", "div标签2", "div文本1", "div文本2", "div动画"];
32
15
  </script>
33
16
 
34
17
  <template>
35
- <div :class="panelClass">
36
- <TitleBar :class="panelClass" :itemSides=itemSides :titleData=titleData />
37
- <div :class="panelClass" :style="{top:20}">
38
- <DivGroup1 :style="{left: itemSides.width*0}"
39
- :contentClass="panelClass" :itemSides=itemSides />
40
- <DivGroup2 :style="{left: itemSides.width*1}"
41
- :contentClass="panelClass" :itemSides=itemSides />
42
- <TextGroup1 :style="{left: itemSides.width*2}"
43
- :contentClass="panelClass" :itemSides=itemSides />
44
- <TextGroup2 :style="{left: itemSides.width*3}"
45
- :contentClass="panelClass" :itemSides=itemSides />
46
- <AnimGroup :style="{left: itemSides.width*4}"
47
- :contentClass="panelClass" :itemSides=itemSides />
18
+ <div :class="panelClass">
19
+ <TitleBar
20
+ :class="panelClass"
21
+ :itemSides="itemSides"
22
+ :titleData="titleData"
23
+ />
24
+ <div :class="panelClass" :style="{ top: 20 }">
25
+ <DivGroup1
26
+ :style="{ left: itemSides.width * 0 }"
27
+ :contentClass="panelClass"
28
+ :itemSides="itemSides"
29
+ />
30
+ <DivGroup2
31
+ :style="{ left: itemSides.width * 1 }"
32
+ :contentClass="panelClass"
33
+ :itemSides="itemSides"
34
+ />
35
+ <TextGroup1
36
+ :style="{ left: itemSides.width * 2 }"
37
+ :contentClass="panelClass"
38
+ :itemSides="itemSides"
39
+ />
40
+ <TextGroup2
41
+ :style="{ left: itemSides.width * 3 }"
42
+ :contentClass="panelClass"
43
+ :itemSides="itemSides"
44
+ />
45
+ <AnimGroup
46
+ :style="{ left: itemSides.width * 4 }"
47
+ :contentClass="panelClass"
48
+ :itemSides="itemSides"
49
+ />
50
+ </div>
48
51
  </div>
49
- </div>
50
52
  </template>
51
53
 
52
54
  <style>
@@ -1,34 +1,30 @@
1
- <script>
2
- import TitleBar from './TitleBar';
3
- import ImageGroup from '../img/ImageGroup';
1
+ <script setup>
2
+ import TitleBar from "./TitleBar";
3
+ import ImageGroup from "../img/ImageGroup";
4
4
 
5
- export default {
6
- props: {
7
- panelClass: String,
8
- itemSides: Object,
9
- },
10
- components: {
11
- TitleBar,
12
- ImageGroup
13
- },
14
- computed: {
15
- titleData() {
16
- return [
17
- 'img标签',
18
- ];
19
- }
20
- }
21
- }
5
+ const props = defineProps({
6
+ panelClass: String,
7
+ itemSides: Object,
8
+ });
9
+
10
+ const titleData = ["img标签"];
22
11
  </script>
23
12
 
24
13
  <template>
25
- <div :class="panelClass">
26
- <TitleBar :class="panelClass" :itemSides=itemSides :titleData=titleData />
27
- <div :class="panelClass" :style="{top:20}">
28
- <ImageGroup :style="{left: itemSides.width*0}"
29
- :contentClass="panelClass" :itemSides=itemSides />
14
+ <div :class="panelClass">
15
+ <TitleBar
16
+ :class="panelClass"
17
+ :itemSides="itemSides"
18
+ :titleData="titleData"
19
+ />
20
+ <div :class="panelClass" :style="{ top: 20 }">
21
+ <ImageGroup
22
+ :style="{ left: itemSides.width * 0 }"
23
+ :contentClass="panelClass"
24
+ :itemSides="itemSides"
25
+ />
26
+ </div>
30
27
  </div>
31
- </div>
32
28
  </template>
33
29
 
34
30
  <style>
@@ -1,22 +1,23 @@
1
+ <script setup>
2
+ const props = defineProps({
3
+ itemSides: Object,
4
+ titleData: Array,
5
+ });
6
+ </script>
7
+
1
8
  <template>
2
9
  <div>
3
- <template v-for="(title, index) in titleData" :key="index" >
4
- <div class='title-font item-style' :style="{...itemSides, left: itemSides.width * index}">
10
+ <template v-for="(title, index) in titleData" :key="index">
11
+ <div
12
+ class="title-font item-style"
13
+ :style="{ ...itemSides, left: itemSides.width * index }"
14
+ >
5
15
  {{ title }}
6
16
  </div>
7
17
  </template>
8
18
  </div>
9
19
  </template>
10
20
 
11
- <script>
12
- export default {
13
- props: {
14
- itemSides: Object,
15
- titleData: Array
16
- }
17
- }
18
- </script>
19
-
20
21
  <style>
21
22
  @import "../FontStyle.css";
22
23
  </style>
@@ -25,5 +26,4 @@ export default {
25
26
  .item-style {
26
27
  text-align: center;
27
28
  }
28
-
29
29
  </style>
@@ -1,56 +1,66 @@
1
+ <script setup>
2
+ const blockSize = {
3
+ width: 90,
4
+ height: 40,
5
+ };
6
+ const blockStyle = {
7
+ width: blockSize.width,
8
+ height: blockSize.height,
9
+ backgroundColor: "rgba(255, 255, 0, 0.5)",
10
+ color: "rgba(255, 0, 0, 1)",
11
+ };
12
+ </script>
13
+
1
14
  <template>
2
- <div id='layout-root'>
3
- <div class="content-font" :style="{ ...blockStyle,
4
- width: blockSize.width*1.5}">
5
- 左上(默认)
15
+ <div id="layout-root">
16
+ <div
17
+ class="content-font"
18
+ :style="{ ...blockStyle, width: blockSize.width * 1.5 }"
19
+ >
20
+ 左上(默认)
6
21
  </div>
7
- <div class="content-font" :style="{ ...blockStyle,
8
- top: blockSize.height+5,
9
- textAlign: 'center' }">
10
- 中上
22
+ <div
23
+ class="content-font"
24
+ :style="{ ...blockStyle, top: blockSize.height + 5, textAlign: 'center' }"
25
+ >
26
+ 中上
11
27
  </div>
12
- <div class="content-font" :style="{ ...blockStyle,
13
- left: blockSize.width+5, top: blockSize.height+5,
14
- textAlign: 'right' }">
15
- 右上
28
+ <div
29
+ class="content-font"
30
+ :style="{
31
+ ...blockStyle,
32
+ left: blockSize.width + 5,
33
+ top: blockSize.height + 5,
34
+ textAlign: 'right',
35
+ }"
36
+ >
37
+ 右上
16
38
  </div>
17
- <div class="content-font" :style="{ ...blockStyle,
18
- top: (blockSize.height+5)*2,
19
- lineHeight: blockSize.height}">
20
- 垂直中
39
+ <div
40
+ class="content-font"
41
+ :style="{
42
+ ...blockStyle,
43
+ top: (blockSize.height + 5) * 2,
44
+ lineHeight: blockSize.height,
45
+ }"
46
+ >
47
+ 垂直中
21
48
  </div>
22
- <div class="content-font" :style="{ ...blockStyle,
23
- left: blockSize.width+5, top: (blockSize.height+5)*2,
49
+ <div
50
+ class="content-font"
51
+ :style="{
52
+ ...blockStyle,
53
+ left: blockSize.width + 5,
54
+ top: (blockSize.height + 5) * 2,
24
55
  lineHeight: blockSize.height,
25
- textAlign: 'center' }">
26
- 正中
56
+ textAlign: 'center',
57
+ }"
58
+ >
59
+ 正中
27
60
  </div>
28
- </div>
61
+ </div>
29
62
  </template>
30
63
 
31
- <script>
32
- export default {
33
- computed: {
34
- blockSize() {
35
- return {
36
- width: 90,
37
- height: 40,
38
- }
39
- },
40
- blockStyle() {
41
- return {
42
- width: this.blockSize.width,
43
- height: this.blockSize.height,
44
- backgroundColor: 'rgba(255, 255, 0, 0.5)',
45
- color: 'rgba(255, 0, 0, 1)',
46
- }
47
- }
48
- }
49
- }
50
-
51
- /* eslint-disable no-unused-vars */
52
- </script>
53
-
54
64
  <style>
55
65
  @import "../FontStyle.css";
56
66
  </style>
@@ -1,30 +1,26 @@
1
1
  <template>
2
- <div id='layout-root'>
2
+ <div id="layout-root">
3
3
  <div
4
- :style="{
5
- width: 300, height: 100,
6
- fontSize: 20,
7
- JsvTextEmoji: true
8
- }"
4
+ :style="{
5
+ width: 300,
6
+ height: 100,
7
+ fontSize: 20,
8
+ }"
9
+ jsv_text_emoji="true"
9
10
  >
10
- style: 😀笑🇨🇳中国\n👨‍👩‍👧‍👦家庭
11
+ {{ `style: 😀笑🇨🇳中国\n👨‍👩‍👧‍👦家庭` }}
11
12
  </div>
12
- <div
13
- class="emoji"
14
- >
15
- class: 😀笑🇨🇳中国\n👨‍👩‍👧‍👦家庭
13
+ <div class="emoji" jsv_text_emoji="true">
14
+ {{ `class: 😀笑🇨🇳中国\n👨‍👩‍👧‍👦家庭` }}
16
15
  </div>
17
- </div>
16
+ </div>
18
17
  </template>
19
18
 
20
- <script>
21
- </script>
22
-
23
19
  <style>
24
- .emoji{
25
- top: 100;
26
- width: 300;
27
- height: 100;
28
- font-size: 20;
20
+ .emoji {
21
+ top: 100;
22
+ width: 300;
23
+ height: 100;
24
+ font-size: 20;
29
25
  }
30
26
  </style>
@@ -1,65 +1,89 @@
1
+ <script setup>
2
+ const gap = 5;
3
+ const blockStyle = {
4
+ width: 70,
5
+ height: 20,
6
+ };
7
+ </script>
8
+
1
9
  <template>
2
- <div id='layout-root'>
10
+ <div id="layout-root">
3
11
  <div>
4
- <div class="content-font" :style="{ ...blockStyle }">[字体]</div>
5
- <div class="content-font" :style="{ ...blockStyle, top: 25,
6
- fontFamily: '宋体' }">
7
- abc宋体
8
- </div>
9
- <div class="content-font" :style="{ ...blockStyle, top: 25, left: blockStyle.width+gap,
10
- fontFamily: '黑体' }">
11
- abc黑体
12
- </div>
13
- <div :style="{ top: 25, left: (blockStyle.width+gap)*2-10,
14
- width: blockStyle.width+30, height: 28,
15
- fontFamily: '黑体', fontSize: '24px',
16
- WebkitTextStroke: '1px rgba(255,255,0,1.0)'}">
17
- abc描边
18
- </div>
12
+ <div class="content-font" :style="{ ...blockStyle }">[字体]</div>
13
+ <div
14
+ class="content-font"
15
+ :style="{ ...blockStyle, top: 25, fontFamily: '宋体' }"
16
+ >
17
+ abc宋体
18
+ </div>
19
+ <div
20
+ class="content-font"
21
+ :style="{
22
+ ...blockStyle,
23
+ top: 25,
24
+ left: blockStyle.width + gap,
25
+ fontFamily: '黑体',
26
+ }"
27
+ >
28
+ abc黑体
29
+ </div>
30
+ <div
31
+ :style="{
32
+ top: 25,
33
+ left: (blockStyle.width + gap) * 2 - 10,
34
+ width: blockStyle.width + 30,
35
+ height: 28,
36
+ fontFamily: '黑体',
37
+ fontSize: '24px',
38
+ WebkitTextStroke: '1px rgba(255,255,0,1.0)',
39
+ }"
40
+ >
41
+ abc描边
42
+ </div>
19
43
 
20
- <div class="content-font" :style="{ ...blockStyle, top: 50,
21
- fontWeight: 'bold' }">
22
- abc粗体
23
- </div>
24
- <div class="content-font" :style="{ ...blockStyle, top: 50, left: blockStyle.width+gap,
25
- fontStyle: 'italic' }">
26
- abc斜体
27
- </div>
44
+ <div
45
+ class="content-font"
46
+ :style="{ ...blockStyle, top: 50, fontWeight: 'bold' }"
47
+ >
48
+ abc粗体
49
+ </div>
50
+ <div
51
+ class="content-font"
52
+ :style="{
53
+ ...blockStyle,
54
+ top: 50,
55
+ left: blockStyle.width + gap,
56
+ fontStyle: 'italic',
57
+ }"
58
+ >
59
+ abc斜体
60
+ </div>
28
61
  </div>
29
62
 
30
63
  <div :style="{ top: 75 }">
31
- <div class="content-font" :style="{ ...blockStyle }">[其他]</div>
32
- <div :style="{ top: 25, width: 130, height: 35,
33
- fontSize: '30px' }">
34
- abc字号
35
- </div>
36
- <div :style="{ top: 25, left: 110,
37
- width: 130, height: 35,
38
- color: 'rgba(255, 0, 0, 1)', fontFamily: 'sans-serif',
39
- fontSize: '30px', fontStyle: 'italic', fontWeight: 'bold' }">
40
- abc综合
41
- </div>
64
+ <div class="content-font" :style="{ ...blockStyle }">[其他]</div>
65
+ <div :style="{ top: 25, width: 130, height: 35, fontSize: '30px' }">
66
+ abc字号
67
+ </div>
68
+ <div
69
+ :style="{
70
+ top: 25,
71
+ left: 110,
72
+ width: 130,
73
+ height: 35,
74
+ color: 'rgba(255, 0, 0, 1)',
75
+ fontFamily: 'sans-serif',
76
+ fontSize: '30px',
77
+ fontStyle: 'italic',
78
+ fontWeight: 'bold',
79
+ }"
80
+ >
81
+ abc综合
82
+ </div>
42
83
  </div>
43
- </div>
84
+ </div>
44
85
  </template>
45
86
 
46
- <script>
47
- export default {
48
- computed: {
49
- gap() {
50
- return 5;
51
- },
52
-
53
- blockStyle() {
54
- return {
55
- width: 70,
56
- height: 20
57
- }
58
- }
59
- }
60
- }
61
- </script>
62
-
63
87
  <style>
64
88
  @import "../FontStyle.css";
65
89
  </style>