@opentiny/vue-docs 2.2.19 → 2.2.21

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 (438) hide show
  1. package/demos/apis/action-menu.js +11 -0
  2. package/demos/apis/cascader.js +10 -0
  3. package/demos/apis/config-provider.js +1 -1
  4. package/demos/apis/date-picker.js +1 -1
  5. package/demos/apis/float-button.js +22 -22
  6. package/demos/apis/form.js +21 -0
  7. package/demos/apis/hui.js +49 -0
  8. package/demos/apis/image.js +32 -7
  9. package/demos/apis/mind-map.js +36 -41
  10. package/demos/apis/numeric.js +24 -0
  11. package/demos/apis/popeditor.js +1 -1
  12. package/demos/apis/roles.js +13 -0
  13. package/demos/apis/select.js +34 -0
  14. package/demos/apis/skeleton.js +10 -10
  15. package/demos/apis/statistic.js +144 -0
  16. package/demos/apis/tag.js +17 -7
  17. package/demos/apis/time-line.js +2 -1
  18. package/demos/mobile/app/alert/basic-usage.spec.ts +36 -0
  19. package/demos/mobile/app/alert/center.spec.ts +11 -0
  20. package/demos/mobile/app/alert/custom-close.spec.ts +45 -0
  21. package/demos/mobile/app/alert/custom-close.vue +6 -3
  22. package/demos/mobile/app/alert/icon.spec.ts +11 -0
  23. package/demos/mobile/app/alert/size.spec.ts +17 -0
  24. package/demos/mobile/app/alert/size.vue +1 -2
  25. package/demos/mobile/app/alert/slot-default.spec.ts +12 -0
  26. package/demos/mobile/app/alert/target.spec.ts +8 -0
  27. package/demos/mobile/app/alert/webdoc/alert.js +4 -4
  28. package/demos/mobile/app/input/basic-usage.spec.ts +25 -0
  29. package/demos/mobile/app/input/clearable.spec.ts +13 -0
  30. package/demos/mobile/app/input/counter.spec.ts +19 -0
  31. package/demos/mobile/app/input/counter.vue +1 -1
  32. package/demos/mobile/app/input/disabled.spec.ts +17 -0
  33. package/demos/mobile/app/input/events.spec.ts +24 -0
  34. package/demos/mobile/app/input/methods.spec.ts +23 -0
  35. package/demos/mobile/app/input/native-attributes.spec.ts +14 -0
  36. package/demos/mobile/app/input/native-attributes.vue +0 -5
  37. package/demos/mobile/app/input/prefix-suffix-icon.spec.ts +12 -0
  38. package/demos/mobile/app/input/show-password.spec.ts +16 -0
  39. package/demos/mobile/app/input/slots.spec.ts +32 -0
  40. package/demos/mobile/app/input/slots.vue +7 -7
  41. package/demos/mobile/app/input/textarea-rows-cols.spec.ts +11 -0
  42. package/demos/mobile/app/input/textarea-rows-cols.vue +3 -3
  43. package/demos/mobile/app/input/textarea-scalable.spec.ts +25 -0
  44. package/demos/mobile/app/input/textarea-scalable.vue +21 -10
  45. package/demos/mobile/app/input/type-select.spec.ts +20 -0
  46. package/demos/mobile/app/input/type.spec.ts +20 -0
  47. package/demos/mobile/app/input/validate-event.spec.ts +22 -0
  48. package/demos/mobile/app/input/webdoc/input.js +36 -36
  49. package/demos/mobile-first/app/numeric/empty-value-composition-api.vue +15 -0
  50. package/demos/mobile-first/app/numeric/empty-value.vue +24 -0
  51. package/demos/mobile-first/app/numeric/webdoc/numeric.js +14 -0
  52. package/demos/mobile-first/app/select/collapse-tags.vue +1 -1
  53. package/demos/mobile-first/app/select/webdoc/select.js +3 -2
  54. package/demos/pc/app/action-menu/card-mode-composition-api.vue +31 -0
  55. package/demos/pc/app/action-menu/card-mode.spec.ts +16 -0
  56. package/demos/pc/app/action-menu/card-mode.vue +39 -0
  57. package/demos/pc/app/action-menu/webdoc/action-menu.js +14 -0
  58. package/demos/pc/app/button/ghost-composition-api.vue +6 -6
  59. package/demos/pc/app/button/ghost.spec.ts +13 -6
  60. package/demos/pc/app/button/ghost.vue +6 -6
  61. package/demos/pc/app/calendar-view/calendar-event-composition-api.vue +5 -0
  62. package/demos/pc/app/calendar-view/calendar-event.spec.ts +5 -0
  63. package/demos/pc/app/calendar-view/calendar-event.vue +5 -1
  64. package/demos/pc/app/calendar-view/set-working-day-composition-api.vue +3 -0
  65. package/demos/pc/app/calendar-view/set-working-day.vue +3 -0
  66. package/demos/pc/app/calendar-view/webdoc/calendar-view.js +43 -20
  67. package/demos/pc/app/cascader/slot-composition-api.vue +226 -0
  68. package/demos/pc/app/cascader/slot.spec.ts +16 -0
  69. package/demos/pc/app/cascader/slot.vue +234 -0
  70. package/demos/pc/app/cascader/webdoc/cascader.js +18 -0
  71. package/demos/pc/app/chart/amap/amap.spec.ts +6 -0
  72. package/demos/pc/app/chart/amap/amap.spec.ts-snapshots/base-chromium-win32.png +0 -0
  73. package/demos/pc/app/chart/bar/bar.spec.ts +43 -0
  74. package/demos/pc/app/chart/bar/bar.spec.ts-snapshots/base-chromium-win32.png +0 -0
  75. package/demos/pc/app/chart/bar/bar.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  76. package/demos/pc/app/chart/bar/bar.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  77. package/demos/pc/app/chart/bar/bar.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  78. package/demos/pc/app/chart/bar/bar.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  79. package/demos/pc/app/chart/bar/bar.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  80. package/demos/pc/app/chart/bar/bar.spec.ts-snapshots/demo7-chromium-win32.png +0 -0
  81. package/demos/pc/app/chart/bmap/bmap.spec.ts +7 -0
  82. package/demos/pc/app/chart/bmap/bmap.spec.ts-snapshots/base-chromium-win32.png +0 -0
  83. package/demos/pc/app/chart/boxplot/boxplot.spec.ts +19 -0
  84. package/demos/pc/app/chart/boxplot/boxplot.spec.ts-snapshots/base-chromium-win32.png +0 -0
  85. package/demos/pc/app/chart/boxplot/boxplot.spec.ts-snapshots/multiple-chromium-win32.png +0 -0
  86. package/demos/pc/app/chart/boxplot/boxplot.spec.ts-snapshots/vertical-chromium-win32.png +0 -0
  87. package/demos/pc/app/chart/candle/candle.spec.ts +43 -0
  88. package/demos/pc/app/chart/candle/candle.spec.ts-snapshots/base-chromium-win32.png +0 -0
  89. package/demos/pc/app/chart/candle/candle.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  90. package/demos/pc/app/chart/candle/candle.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  91. package/demos/pc/app/chart/candle/candle.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  92. package/demos/pc/app/chart/candle/candle.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  93. package/demos/pc/app/chart/candle/candle.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  94. package/demos/pc/app/chart/candle/candle.spec.ts-snapshots/demo7-chromium-win32.png +0 -0
  95. package/demos/pc/app/chart/funnel/funnel.spec.ts +43 -0
  96. package/demos/pc/app/chart/funnel/funnel.spec.ts-snapshots/base-chromium-win32.png +0 -0
  97. package/demos/pc/app/chart/funnel/funnel.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  98. package/demos/pc/app/chart/funnel/funnel.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  99. package/demos/pc/app/chart/funnel/funnel.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  100. package/demos/pc/app/chart/funnel/funnel.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  101. package/demos/pc/app/chart/funnel/funnel.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  102. package/demos/pc/app/chart/funnel/funnel.spec.ts-snapshots/demo7-chromium-win32.png +0 -0
  103. package/demos/pc/app/chart/gauge/gauge.spec.ts +37 -0
  104. package/demos/pc/app/chart/gauge/gauge.spec.ts-snapshots/base-chromium-win32.png +0 -0
  105. package/demos/pc/app/chart/gauge/gauge.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  106. package/demos/pc/app/chart/gauge/gauge.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  107. package/demos/pc/app/chart/gauge/gauge.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  108. package/demos/pc/app/chart/gauge/gauge.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  109. package/demos/pc/app/chart/gauge/gauge.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  110. package/demos/pc/app/chart/graph/graph.spec.ts +19 -0
  111. package/demos/pc/app/chart/graph/graph.spec.ts-snapshots/base-chromium-win32.png +0 -0
  112. package/demos/pc/app/chart/graph/graph.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  113. package/demos/pc/app/chart/graph/graph.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  114. package/demos/pc/app/chart/heatmap/heatmap.spec.ts +31 -0
  115. package/demos/pc/app/chart/heatmap/heatmap.spec.ts-snapshots/base-chromium-win32.png +0 -0
  116. package/demos/pc/app/chart/heatmap/heatmap.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  117. package/demos/pc/app/chart/heatmap/heatmap.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  118. package/demos/pc/app/chart/heatmap/heatmap.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  119. package/demos/pc/app/chart/heatmap/heatmap.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  120. package/demos/pc/app/chart/histogram/histogram.spec.ts +49 -0
  121. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/base-chromium-win32.png +0 -0
  122. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  123. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  124. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  125. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  126. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  127. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/demo7-chromium-win32.png +0 -0
  128. package/demos/pc/app/chart/histogram/histogram.spec.ts-snapshots/demo8-chromium-win32.png +0 -0
  129. package/demos/pc/app/chart/line/line.spec.ts +55 -0
  130. package/demos/pc/app/chart/line/line.spec.ts-snapshots/base-chromium-win32.png +0 -0
  131. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  132. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  133. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  134. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  135. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  136. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo7-chromium-win32.png +0 -0
  137. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo8-chromium-win32.png +0 -0
  138. package/demos/pc/app/chart/line/line.spec.ts-snapshots/demo9-chromium-win32.png +0 -0
  139. package/demos/pc/app/chart/liquidfill/liquidfill.spec.ts +7 -0
  140. package/demos/pc/app/chart/liquidfill/liquidfill.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  141. package/demos/pc/app/chart/map/base-composition-api.vue +7 -2
  142. package/demos/pc/app/chart/map/base.vue +3 -2
  143. package/demos/pc/app/chart/map/map.spec.ts +7 -0
  144. package/demos/pc/app/chart/map/map.spec.ts-snapshots/base-chromium-win32.png +0 -0
  145. package/demos/pc/app/chart/pie/pie.spec.ts +43 -0
  146. package/demos/pc/app/chart/pie/pie.spec.ts-snapshots/base-chromium-win32.png +0 -0
  147. package/demos/pc/app/chart/pie/pie.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  148. package/demos/pc/app/chart/pie/pie.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  149. package/demos/pc/app/chart/pie/pie.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  150. package/demos/pc/app/chart/pie/pie.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  151. package/demos/pc/app/chart/pie/pie.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  152. package/demos/pc/app/chart/pie/pie.spec.ts-snapshots/demo7-chromium-win32.png +0 -0
  153. package/demos/pc/app/chart/process/base-composition-api.vue +29 -0
  154. package/demos/pc/app/chart/process/base.vue +37 -0
  155. package/demos/pc/app/chart/process/demo2-composition-api.vue +32 -0
  156. package/demos/pc/app/chart/process/demo2.vue +40 -0
  157. package/demos/pc/app/chart/process/demo3-composition-api.vue +71 -0
  158. package/demos/pc/app/chart/process/demo3.vue +79 -0
  159. package/demos/pc/app/chart/process/demo4-composition-api.vue +29 -0
  160. package/demos/pc/app/chart/process/demo4.vue +37 -0
  161. package/demos/pc/app/chart/process/demo5-composition-api.vue +28 -0
  162. package/demos/pc/app/chart/process/demo5.vue +36 -0
  163. package/demos/pc/app/chart/process/demo6-composition-api.vue +44 -0
  164. package/demos/pc/app/chart/process/demo6.vue +52 -0
  165. package/demos/pc/app/chart/radar/radar.spec.ts +19 -0
  166. package/demos/pc/app/chart/radar/radar.spec.ts-snapshots/base-chromium-win32.png +0 -0
  167. package/demos/pc/app/chart/radar/radar.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  168. package/demos/pc/app/chart/radar/radar.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  169. package/demos/pc/app/chart/ring/ring.spec.ts +43 -0
  170. package/demos/pc/app/chart/ring/ring.spec.ts-snapshots/base-chromium-win32.png +0 -0
  171. package/demos/pc/app/chart/ring/ring.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  172. package/demos/pc/app/chart/ring/ring.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  173. package/demos/pc/app/chart/ring/ring.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  174. package/demos/pc/app/chart/ring/ring.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  175. package/demos/pc/app/chart/ring/ring.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  176. package/demos/pc/app/chart/ring/ring.spec.ts-snapshots/ring-title-chromium-win32.png +0 -0
  177. package/demos/pc/app/chart/sankey/sankey.spec.ts +13 -0
  178. package/demos/pc/app/chart/sankey/sankey.spec.ts-snapshots/base-chromium-win32.png +0 -0
  179. package/demos/pc/app/chart/sankey/sankey.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  180. package/demos/pc/app/chart/scatter/scatter.spec.ts +49 -0
  181. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/base-chromium-win32.png +0 -0
  182. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  183. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  184. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  185. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  186. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/demo6-chromium-win32.png +0 -0
  187. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/demo7-chromium-win32.png +0 -0
  188. package/demos/pc/app/chart/scatter/scatter.spec.ts-snapshots/demo8-chromium-win32.png +0 -0
  189. package/demos/pc/app/chart/sunburst/sunburst.spec.ts +19 -0
  190. package/demos/pc/app/chart/sunburst/sunburst.spec.ts-snapshots/base-chromium-win32.png +0 -0
  191. package/demos/pc/app/chart/sunburst/sunburst.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  192. package/demos/pc/app/chart/sunburst/sunburst.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  193. package/demos/pc/app/chart/tree/tree.spec.ts +31 -0
  194. package/demos/pc/app/chart/tree/tree.spec.ts-snapshots/base-chromium-win32.png +0 -0
  195. package/demos/pc/app/chart/tree/tree.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  196. package/demos/pc/app/chart/tree/tree.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  197. package/demos/pc/app/chart/tree/tree.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  198. package/demos/pc/app/chart/tree/tree.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  199. package/demos/pc/app/chart/waterfall/waterfall.spec.ts +31 -0
  200. package/demos/pc/app/chart/waterfall/waterfall.spec.ts-snapshots/base-chromium-win32.png +0 -0
  201. package/demos/pc/app/chart/waterfall/waterfall.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  202. package/demos/pc/app/chart/waterfall/waterfall.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  203. package/demos/pc/app/chart/waterfall/waterfall.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  204. package/demos/pc/app/chart/waterfall/waterfall.spec.ts-snapshots/demo5-chromium-win32.png +0 -0
  205. package/demos/pc/app/chart/webdoc/chart-process.cn.md +7 -0
  206. package/demos/pc/app/chart/webdoc/chart-process.en.md +7 -0
  207. package/demos/pc/app/chart/webdoc/chart-process.js +55 -0
  208. package/demos/pc/app/chart/webdoc/chart-process.json.cn.md +7 -0
  209. package/demos/pc/app/chart/webdoc/chart-process.json.en.md +7 -0
  210. package/demos/pc/app/chart/wordcloud/wordcloud.spec.ts +25 -0
  211. package/demos/pc/app/chart/wordcloud/wordcloud.spec.ts-snapshots/base-chromium-win32.png +0 -0
  212. package/demos/pc/app/chart/wordcloud/wordcloud.spec.ts-snapshots/demo2-chromium-win32.png +0 -0
  213. package/demos/pc/app/chart/wordcloud/wordcloud.spec.ts-snapshots/demo3-chromium-win32.png +0 -0
  214. package/demos/pc/app/chart/wordcloud/wordcloud.spec.ts-snapshots/demo4-chromium-win32.png +0 -0
  215. package/demos/pc/app/company/custom-service.spec.ts +2 -1
  216. package/demos/pc/app/country/custom-service.spec.js +1 -1
  217. package/demos/pc/app/date-picker/basic-usage-composition-api.vue +2 -0
  218. package/demos/pc/app/date-picker/basic-usage.vue +2 -0
  219. package/demos/pc/app/date-picker/default-value.spec.ts +2 -2
  220. package/demos/pc/app/date-picker/events.spec.ts +3 -3
  221. package/demos/pc/app/date-picker/format.spec.ts +2 -2
  222. package/demos/pc/app/dropdown/options.spec.ts +3 -0
  223. package/demos/pc/app/dropdown/trigger.spec.ts +2 -2
  224. package/demos/pc/app/file-upload/http-request-composition-api.vue +5 -3
  225. package/demos/pc/app/file-upload/http-request.vue +4 -2
  226. package/demos/pc/app/float-button/backTop.spec.ts +14 -0
  227. package/demos/pc/app/float-button/basic-usage.spec.ts +34 -0
  228. package/demos/pc/app/float-button/icon.spec.ts +10 -0
  229. package/demos/pc/app/float-button/jump.spec.ts +8 -0
  230. package/demos/pc/app/float-button/reset-time.spec.ts +18 -0
  231. package/demos/pc/app/float-button/trigger.spec.ts +16 -0
  232. package/demos/pc/app/form/error-slot-composition-api.vue +62 -0
  233. package/demos/pc/app/form/error-slot.spec.ts +15 -0
  234. package/demos/pc/app/form/error-slot.vue +71 -0
  235. package/demos/pc/app/form/extra-tip-composition-api.vue +48 -0
  236. package/demos/pc/app/form/extra-tip.spec.ts +15 -0
  237. package/demos/pc/app/form/extra-tip.vue +57 -0
  238. package/demos/pc/app/form/webdoc/form.js +34 -4
  239. package/demos/pc/app/grid/filter/simple-date-filter.spec.ts +2 -1
  240. package/demos/pc/app/grid/fixed/group-header-fixed-composition-api.vue +212 -0
  241. package/demos/pc/app/grid/fixed/group-header-fixed.vue +232 -0
  242. package/demos/pc/app/grid/large-data/column-anchor-clear-active-composition-api.vue +190 -0
  243. package/demos/pc/app/grid/large-data/column-anchor-clear-active.vue +199 -0
  244. package/demos/pc/app/grid/large-data/column-anchor-composition-api.vue +124 -0
  245. package/demos/pc/app/grid/large-data/scroll-to.spec.js +1 -1
  246. package/demos/pc/app/grid/renderer/inner-renderer-rate-composition-api.vue +50 -0
  247. package/demos/pc/app/grid/renderer/inner-renderer-rate.spec.js +12 -0
  248. package/demos/pc/app/grid/renderer/inner-renderer-rate.vue +60 -0
  249. package/demos/pc/app/grid/size/grid-size.spec.js +2 -2
  250. package/demos/pc/app/grid/tree-table/set-tree-expansion-composition-api.vue +2 -2
  251. package/demos/pc/app/grid/tree-table/set-tree-expansion.vue +2 -2
  252. package/demos/pc/app/grid/tree-table/tree-grid-index-composition-api.vue +2 -2
  253. package/demos/pc/app/grid/tree-table/tree-grid-index.spec.js +16 -4
  254. package/demos/pc/app/grid/tree-table/tree-grid-index.vue +2 -2
  255. package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update-composition-api.vue +7 -2
  256. package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update.spec.js +6 -2
  257. package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update.vue +5 -2
  258. package/demos/pc/app/grid/webdoc/grid-custom-style.js +1 -1
  259. package/demos/pc/app/grid/webdoc/grid-editor.js +1 -1
  260. package/demos/pc/app/grid/webdoc/grid-fixed.js +11 -0
  261. package/demos/pc/app/grid/webdoc/grid-large-data.js +24 -0
  262. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -0
  263. package/demos/pc/app/grid/webdoc/grid-toolbar.js +1 -1
  264. package/demos/pc/app/image/count-slot-composition-api.vue +32 -0
  265. package/demos/pc/app/image/count-slot.spec.ts +16 -0
  266. package/demos/pc/app/image/count-slot.vue +40 -0
  267. package/demos/pc/app/image/index-change-composition-api.vue +29 -0
  268. package/demos/pc/app/image/index-change.spec.ts +16 -0
  269. package/demos/pc/app/image/index-change.vue +37 -0
  270. package/demos/pc/app/image/keep-style-composition-api.vue +24 -0
  271. package/demos/pc/app/image/keep-style.spec.ts +56 -0
  272. package/demos/pc/app/image/keep-style.vue +32 -0
  273. package/demos/pc/app/image/preview-composition-api.vue +1 -1
  274. package/demos/pc/app/image/preview.vue +1 -1
  275. package/demos/pc/app/image/webdoc/image.js +73 -11
  276. package/demos/pc/app/mind-map/basic-usage-composition-api.vue +4 -4
  277. package/demos/pc/app/mind-map/basic-usage.vue +4 -4
  278. package/demos/pc/app/mind-map/event-composition-api.vue +13 -45
  279. package/demos/pc/app/mind-map/event.spec.ts +11 -8
  280. package/demos/pc/app/mind-map/event.vue +27 -57
  281. package/demos/pc/app/mind-map/export-data-composition-api.vue +7 -9
  282. package/demos/pc/app/mind-map/export-data.vue +13 -13
  283. package/demos/pc/app/mind-map/webdoc/mind-map.js +38 -10
  284. package/demos/pc/app/numeric/controls-composition-api.vue +10 -4
  285. package/demos/pc/app/numeric/controls.vue +10 -4
  286. package/demos/pc/app/numeric/empty-value-composition-api.vue +15 -0
  287. package/demos/pc/app/numeric/empty-value.spec.ts +15 -0
  288. package/demos/pc/app/numeric/empty-value.vue +24 -0
  289. package/demos/pc/app/numeric/mouse-wheel.spec.ts +1 -1
  290. package/demos/pc/app/numeric/precision-composition-api.vue +10 -4
  291. package/demos/pc/app/numeric/precision.vue +10 -4
  292. package/demos/pc/app/numeric/string-mode-composition-api.vue +10 -0
  293. package/demos/pc/app/numeric/string-mode.spec.ts +17 -0
  294. package/demos/pc/app/numeric/string-mode.vue +19 -0
  295. package/demos/pc/app/numeric/webdoc/numeric.js +52 -26
  296. package/demos/pc/app/popconfirm/trigger.spec.ts +8 -6
  297. package/demos/pc/app/popconfirm/type.spec.ts +6 -5
  298. package/demos/pc/app/popeditor/condition-layout-composition-api.vue +3 -2
  299. package/demos/pc/app/popeditor/condition-layout.vue +3 -2
  300. package/demos/pc/app/popeditor/slot-footer-composition-api.vue +2 -2
  301. package/demos/pc/app/popeditor/slot-footer.vue +2 -2
  302. package/demos/pc/app/popeditor/webdoc/popeditor.js +11 -12
  303. package/demos/pc/app/radio/dynamic-disable-composition-api.vue +7 -4
  304. package/demos/pc/app/radio/dynamic-disable.vue +8 -5
  305. package/demos/pc/app/roles/base-composition-api.vue +2 -2
  306. package/demos/pc/app/roles/base.vue +2 -2
  307. package/demos/pc/app/select/collapse-tags-composition-api.vue +7 -1
  308. package/demos/pc/app/select/collapse-tags.spec.ts +50 -29
  309. package/demos/pc/app/select/collapse-tags.vue +10 -3
  310. package/demos/pc/app/select/copy-multi.spec.ts +1 -0
  311. package/demos/pc/app/select/copy-single.spec.ts +1 -0
  312. package/demos/pc/app/select/disabled-composition-api.vue +2 -2
  313. package/demos/pc/app/select/disabled.spec.ts +3 -3
  314. package/demos/pc/app/select/disabled.vue +2 -2
  315. package/demos/pc/app/select/events-composition-api.vue +0 -1
  316. package/demos/pc/app/select/events.spec.ts +3 -4
  317. package/demos/pc/app/select/events.vue +0 -1
  318. package/demos/pc/app/select/multiple.vue +1 -1
  319. package/demos/pc/app/select/nest-grid-remote-composition-api.vue +120 -0
  320. package/demos/pc/app/select/nest-grid-remote.spec.ts +135 -0
  321. package/demos/pc/app/select/nest-grid-remote.vue +136 -0
  322. package/demos/pc/app/select/size.spec.ts +4 -2
  323. package/demos/pc/app/select/webdoc/select.js +10 -24
  324. package/demos/pc/app/skeleton/animation-composition-api.vue +25 -0
  325. package/demos/pc/app/skeleton/animation.spec.ts +19 -0
  326. package/demos/pc/app/skeleton/animation.vue +36 -0
  327. package/demos/pc/app/skeleton/custom-layout-composition-api.vue +19 -3
  328. package/demos/pc/app/skeleton/custom-layout.spec.ts +4 -7
  329. package/demos/pc/app/skeleton/custom-layout.vue +19 -3
  330. package/demos/pc/app/skeleton/custom-paragraph-width-composition-api.vue +1 -1
  331. package/demos/pc/app/skeleton/custom-paragraph-width.spec.ts +1 -1
  332. package/demos/pc/app/skeleton/custom-paragraph-width.vue +1 -1
  333. package/demos/pc/app/skeleton/custom-rows.spec.ts +1 -1
  334. package/demos/pc/app/skeleton/fine-grained-mode-composition-api.vue +5 -22
  335. package/demos/pc/app/skeleton/fine-grained-mode.spec.ts +4 -40
  336. package/demos/pc/app/skeleton/fine-grained-mode.vue +6 -23
  337. package/demos/pc/app/skeleton/loading-completed-composition-api.vue +3 -13
  338. package/demos/pc/app/skeleton/loading-completed.spec.ts +1 -12
  339. package/demos/pc/app/skeleton/loading-completed.vue +4 -10
  340. package/demos/pc/app/skeleton/size-composition-api.vue +16 -0
  341. package/demos/pc/app/skeleton/size.spec.ts +14 -0
  342. package/demos/pc/app/skeleton/size.vue +23 -0
  343. package/demos/pc/app/skeleton/webdoc/skeleton.js +42 -21
  344. package/demos/pc/app/statistic/basic-usage-composition-api.vue +26 -0
  345. package/demos/pc/app/statistic/basic-usage.spec.ts +20 -0
  346. package/demos/pc/app/statistic/basic-usage.vue +38 -0
  347. package/demos/pc/app/statistic/statistic-slot-composition-api.vue +39 -0
  348. package/demos/pc/app/statistic/statistic-slot.spec.ts +13 -0
  349. package/demos/pc/app/statistic/statistic-slot.vue +51 -0
  350. package/demos/pc/app/statistic/statistic-style-composition-api.vue +29 -0
  351. package/demos/pc/app/statistic/statistic-style.spec.ts +7 -0
  352. package/demos/pc/app/statistic/statistic-style.vue +41 -0
  353. package/demos/pc/app/statistic/webdoc/statistic.cn.md +7 -0
  354. package/demos/pc/app/statistic/webdoc/statistic.en.md +7 -0
  355. package/demos/pc/app/statistic/webdoc/statistic.js +46 -0
  356. package/demos/pc/app/tabs/tabs-events-close.spec.ts +1 -1
  357. package/demos/pc/app/tag/color3-composition-api.vue +19 -1
  358. package/demos/pc/app/tag/color3.spec.ts +7 -11
  359. package/demos/pc/app/tag/color3.vue +19 -1
  360. package/demos/pc/app/tag/webdoc/tag.js +4 -4
  361. package/demos/pc/app/time-line/custom-field-composition-api.vue +4 -1
  362. package/demos/pc/app/time-line/custom-field.spec.ts +1 -0
  363. package/demos/pc/app/time-line/custom-field.vue +4 -1
  364. package/demos/pc/app/time-line/custom-icon-composition-api.vue +21 -0
  365. package/demos/pc/app/time-line/custom-icon.spec.ts +14 -0
  366. package/demos/pc/app/time-line/custom-icon.vue +34 -0
  367. package/demos/pc/app/time-line/status-composition-api.vue +24 -3
  368. package/demos/pc/app/time-line/status.spec.ts +53 -11
  369. package/demos/pc/app/time-line/status.vue +14 -3
  370. package/demos/pc/app/time-line/webdoc/time-line.js +57 -44
  371. package/demos/pc/app/time-picker/default-value.spec.ts +6 -4
  372. package/demos/pc/app/time-picker/disabled.spec.ts +2 -7
  373. package/demos/pc/app/time-picker/editable.spec.ts +4 -1
  374. package/demos/pc/app/time-picker/format.spec.ts +6 -8
  375. package/demos/pc/app/time-picker/is-range.spec.ts +1 -1
  376. package/demos/pc/app/time-picker/picker-options.spec.ts +16 -14
  377. package/demos/pc/app/tree-menu/lazy-load-composition-api.vue +1 -1
  378. package/demos/pc/app/tree-menu/lazy-load.vue +1 -1
  379. package/demos/pc/menus.js +73 -68
  380. package/demos/pc/webdoc/aui-adapter-en.md +207 -0
  381. package/demos/pc/webdoc/aui-adapter.md +207 -0
  382. package/demos/pc/webdoc/changelog.md +67 -3
  383. package/demos/saas/menus.js +2 -3
  384. package/index.html +1 -1
  385. package/package.json +11 -11
  386. package/src/tools/useApiMode.js +1 -1
  387. package/src/tools/useTheme.js +2 -1
  388. package/src/views/components/components.vue +17 -6
  389. package/src/views/layout/layout.vue +3 -4
  390. package/src/views/overview.vue +9 -5
  391. package/demos/apis/credit-card-form.js +0 -98
  392. package/demos/apis/detail-page.js +0 -126
  393. package/demos/apis/slide-bar.js +0 -104
  394. package/demos/pc/app/credit-card-form/background-image-composition-api.vue +0 -17
  395. package/demos/pc/app/credit-card-form/background-image.vue +0 -25
  396. package/demos/pc/app/credit-card-form/basic-usage-composition-api.vue +0 -16
  397. package/demos/pc/app/credit-card-form/basic-usage.vue +0 -24
  398. package/demos/pc/app/credit-card-form/credit-card-form-events-composition-api.vue +0 -51
  399. package/demos/pc/app/credit-card-form/credit-card-form-events.vue +0 -55
  400. package/demos/pc/app/credit-card-form/webdoc/credit-card-form.cn.md +0 -7
  401. package/demos/pc/app/credit-card-form/webdoc/credit-card-form.en.md +0 -7
  402. package/demos/pc/app/credit-card-form/webdoc/credit-card-form.js +0 -46
  403. package/demos/pc/app/detail-page/basic-usage-composition-api.vue +0 -32
  404. package/demos/pc/app/detail-page/basic-usage.spec.ts +0 -29
  405. package/demos/pc/app/detail-page/basic-usage.vue +0 -40
  406. package/demos/pc/app/detail-page/custom-show-text-composition-api.vue +0 -41
  407. package/demos/pc/app/detail-page/custom-show-text.spec.ts +0 -16
  408. package/demos/pc/app/detail-page/custom-show-text.vue +0 -49
  409. package/demos/pc/app/detail-page/webdoc/detail-page.cn.md +0 -7
  410. package/demos/pc/app/detail-page/webdoc/detail-page.en.md +0 -7
  411. package/demos/pc/app/detail-page/webdoc/detail-page.js +0 -38
  412. package/demos/pc/app/select/nest-grid-remote-multi-composition-api.vue +0 -106
  413. package/demos/pc/app/select/nest-grid-remote-multi.spec.ts +0 -68
  414. package/demos/pc/app/select/nest-grid-remote-multi.vue +0 -118
  415. package/demos/pc/app/select/nest-grid-remote-single-composition-api.vue +0 -230
  416. package/demos/pc/app/select/nest-grid-remote-single.spec.ts +0 -62
  417. package/demos/pc/app/select/nest-grid-remote-single.vue +0 -238
  418. package/demos/pc/app/slide-bar/basic-usage-composition-api.vue +0 -21
  419. package/demos/pc/app/slide-bar/basic-usage.spec.ts +0 -12
  420. package/demos/pc/app/slide-bar/basic-usage.vue +0 -29
  421. package/demos/pc/app/slide-bar/custom-content-composition-api.vue +0 -26
  422. package/demos/pc/app/slide-bar/custom-content.spec.ts +0 -10
  423. package/demos/pc/app/slide-bar/custom-content.vue +0 -34
  424. package/demos/pc/app/slide-bar/custom-tag-composition-api.vue +0 -93
  425. package/demos/pc/app/slide-bar/custom-tag.spec.ts +0 -10
  426. package/demos/pc/app/slide-bar/custom-tag.vue +0 -101
  427. package/demos/pc/app/slide-bar/slide-bar-events-composition-api.vue +0 -37
  428. package/demos/pc/app/slide-bar/slide-bar-events.spec.ts +0 -11
  429. package/demos/pc/app/slide-bar/slide-bar-events.vue +0 -45
  430. package/demos/pc/app/slide-bar/webdoc/slide-bar.cn.md +0 -7
  431. package/demos/pc/app/slide-bar/webdoc/slide-bar.en.md +0 -7
  432. package/demos/pc/app/slide-bar/webdoc/slide-bar.js +0 -72
  433. package/demos/pc/app/slide-bar/wheel-blocks-composition-api.vue +0 -21
  434. package/demos/pc/app/slide-bar/wheel-blocks.spec.ts +0 -13
  435. package/demos/pc/app/slide-bar/wheel-blocks.vue +0 -29
  436. package/demos/pc/overviewimage/credit-card-form.svg +0 -91
  437. package/demos/pc/overviewimage/detail-page.svg +0 -90
  438. package/demos/pc/overviewimage/slide-bar.svg +0 -96
@@ -9,7 +9,7 @@ export default {
9
9
  'zh-CN': `
10
10
  <p>通过在 <code>grid</code> 标签上配置 <code>edit-config</code>。在 <code>grid-column</code> 列配置 <code>editor</code> 对象, <code>component</code> 渲染内置编辑组件, <code>events</code> 配置组件事件。</p>
11
11
  <div class="tip custom-block">
12
- <p class="custom-block-title">说明</p>
12
+ <p class="custom-block-title">特别说明:</p>
13
13
  <p>内置编辑器只支持 <code>Input</code> 和 <code>Select</code> 组件,需要使用其他组件可参考自定义编辑器。</p>
14
14
  </div>
15
15
  `,
@@ -34,6 +34,17 @@ export default {
34
34
  '<p>Sets column freezing through the <code>fixed</code> property. The options are as follows: <code>left right</code>The default value is <code>left</code></p>\n'
35
35
  },
36
36
  'codeFiles': ['fixed/multi-column-fixed.vue']
37
+ },
38
+ {
39
+ 'demoId': 'group-header-fixed',
40
+ 'name': { 'zh-CN': '分组表头冻结', 'en-US': 'Group header fixed' },
41
+ 'desc': {
42
+ 'zh-CN':
43
+ '<p>通过 <code>fixed</code> 属性设置列冻结。当分组表头的某一项设置了冻结列,该分组表头其他项都会自动变成冻结列。</p>\n',
44
+ 'en-US':
45
+ '<p><p>Set column freezing via the <code>fixed</code> attribute. When a frozen column is set for an item in the group header, other items in the group header will automatically become frozen columns. </p>\n'
46
+ },
47
+ 'codeFiles': ['fixed/group-header-fixed.vue']
37
48
  }
38
49
  ],
39
50
  apis: [{ 'name': 'grid-fixed', 'type': 'component', 'props': [], 'events': [], 'slots': [] }]
@@ -68,6 +68,30 @@ export default {
68
68
  '<div class="tip custom-block"><p class="custom-block-title"> Method Description </p>\n<p> <code>scrollTo(scrollLeft, scrollTop)</code>: Scroll to the corresponding position \n<code>scrollToRow(row)</code>: Scroll to the corresponding row \n<code>scrollToColumn(column)</code>: Scroll to the corresponding column </p>\n</div>\n'
69
69
  },
70
70
  'codeFiles': ['large-data/scroll-to.vue']
71
+ },
72
+ {
73
+ 'demoId': 'large-data-column-anchor',
74
+ 'name': { 'zh-CN': '表格列锚点', 'en-US': 'table column anchor' },
75
+ 'desc': {
76
+ 'zh-CN':
77
+ '<p>通过 <code>column-anchor</code> 设置表格列锚点,点击可快速滚动至对应列,表格初始化时,默认滚动到锚点第一项。</p>',
78
+ 'en-US':
79
+ '<p>Set the table column anchor point through <code>column-anchor</code>. Click to quickly scroll to the corresponding column. When the table is initialized, it will scroll to the first item of the anchor point by default. </p>'
80
+ },
81
+ 'codeFiles': ['large-data/column-anchor.vue']
82
+ },
83
+ {
84
+ 'demoId': 'column-anchor-clear-active',
85
+ 'name': {
86
+ 'zh-CN': '再次加载数据时清除活跃列锚点',
87
+ 'en-US': 'Clear active column anchors when loading data again'
88
+ },
89
+ 'desc': {
90
+ 'zh-CN': '<p>当使用 <code>fetch-data</code> 加载数据时,再次加载数据时会清除活跃列锚点。</p>',
91
+ 'en-US':
92
+ '<p>When loading data using <code>fetch-data</code>, active column anchors are cleared when the data is loaded again.</p>'
93
+ },
94
+ 'codeFiles': ['large-data/column-anchor-clear-active.vue']
71
95
  }
72
96
  ],
73
97
  apis: [{ 'name': 'grid-large-data', 'type': 'component', 'props': [], 'events': [], 'slots': [] }]
@@ -55,6 +55,17 @@ export default {
55
55
  },
56
56
  'codeFiles': ['renderer/inner-renderer-date.vue']
57
57
  },
58
+ {
59
+ 'demoId': 'renderer-inner-renderer-rate',
60
+ 'name': { 'zh-CN': '比率渲染器', 'en-US': 'Custom Renderer' },
61
+ 'desc': {
62
+ 'zh-CN': `<p>通过 <code>formatConfig.max</code> 配置,按照 <code>value / max</code> 计算样式百分比(进度条宽度占单元格宽度的百分比),按照 <code>value</code> 计算显示百分比(进度条上显示的比率),参考示例字段内置列渲染 <code>rate1</code>。
63
+ 如果未配置 <code>formatConfig.max</code>,就按照 <code>value / total</code> 计算样式百分比和显示百分比,<code>formatConfig.total</code> 默认值是 <code>1</code>,参考示例字段内置列渲染 <code>rate2</code>。</p>`,
64
+ 'en-US':
65
+ '<p>The custom renderer can customize the rendering of cells or a <code>vue component</code>. Configure <code>renderer</code> in the <code>grid-column</code> column to support method and object configuration. For details, see the following example. </p>\n'
66
+ },
67
+ 'codeFiles': ['renderer/inner-renderer-rate.vue']
68
+ },
58
69
  {
59
70
  'demoId': 'render-async-colunm-render',
60
71
  'name': { 'zh-CN': '列异步数据渲染', 'en-US': 'Column Asynchronous Data Rendering' },
@@ -88,7 +88,7 @@ export default {
88
88
  'zh-CN': `
89
89
  <p>设置工具栏组件属性 <code>refresh</code> 开启表格刷新功能。</p>
90
90
  <ul>
91
- <li>设置表格属性 <code>loading</code> 开启/关闭加载中。\n自定义实现刷新时直接调用<code>handleFetch('reload')</code></li>
91
+ <li>设置表格属性 <code>loading</code> 开启/关闭加载中。自定义实现刷新时直接调用<code>handleFetch('reload')</code>。</li>
92
92
  </ul>`,
93
93
  'en-US':
94
94
  "<p>Toolbar configuration procedure:\n1. Import the table toolbar component <code>GridToolbar</code> in slot mode and set the toolbar component attribute <code>slot=&quot;toolbar&quot;</code> . \n2. Set the toolbar component attribute <code>refresh</code> to enable the table refresh function. </p>\n<ul>\n<li> Setting Toolbar Properties <code>loading</code>Enable/Disable Loading. \n <code>handleFetch('reload') </code></li>\n</ul>\n is invoked when the customized implementation is refreshed"
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <div class="demo-image__count-solt">
3
+ <tiny-image :src="url" :preview-src-list="srcList">
4
+ <template #count="{ index }">
5
+ <span class="demo-image__count">第{{ index + 1 }}张/共{{ srcList.length }}张 </span>
6
+ </template>
7
+ </tiny-image>
8
+ </div>
9
+ </template>
10
+
11
+ <script setup>
12
+ import { ref } from 'vue'
13
+ import { Image as TinyImage } from '@opentiny/vue'
14
+
15
+ const url = ref(`${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`)
16
+ const srcList = ref([
17
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
18
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/house.jpg`,
19
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/bridge.jpg`
20
+ ])
21
+ </script>
22
+
23
+ <style scoped>
24
+ .demo-image__count-solt {
25
+ width: 200px;
26
+ height: 200px;
27
+ }
28
+ .demo-image__count {
29
+ font-size: 14px;
30
+ color: #fff;
31
+ }
32
+ </style>
@@ -0,0 +1,16 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('测试数目插槽', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('image#count-solt')
6
+
7
+ const preview = page.locator('.pc-demo-container')
8
+ const imgs = preview.locator('.tiny-image > .tiny-image__inner')
9
+ await expect(imgs).toHaveCount(5)
10
+
11
+ await expect(imgs.nth(0)).toHaveCSS('object-fit', 'fill')
12
+ await expect(imgs.nth(1)).toHaveCSS('object-fit', 'contain')
13
+ await expect(imgs.nth(2)).toHaveCSS('object-fit', 'cover')
14
+ await expect(imgs.nth(3)).toHaveCSS('object-fit', 'none')
15
+ await expect(imgs.nth(4)).toHaveCSS('object-fit', 'scale-down')
16
+ })
@@ -0,0 +1,40 @@
1
+ <template>
2
+ <div class="demo-image__count-solt">
3
+ <tiny-image :src="url" :preview-src-list="srcList">
4
+ <template #count="{ index }">
5
+ <span class="demo-image__count">第{{ index + 1 }}张/共{{ srcList.length }}张 </span>
6
+ </template>
7
+ </tiny-image>
8
+ </div>
9
+ </template>
10
+
11
+ <script>
12
+ import { Image } from '@opentiny/vue'
13
+
14
+ export default {
15
+ components: {
16
+ TinyImage: Image
17
+ },
18
+ data() {
19
+ return {
20
+ url: `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
21
+ srcList: [
22
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
23
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/house.jpg`,
24
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/bridge.jpg`
25
+ ]
26
+ }
27
+ }
28
+ }
29
+ </script>
30
+
31
+ <style scoped>
32
+ .demo-image__count-solt {
33
+ width: 200px;
34
+ height: 200px;
35
+ }
36
+ .demo-image__count {
37
+ font-size: 14px;
38
+ color: #fff;
39
+ }
40
+ </style>
@@ -0,0 +1,29 @@
1
+ <template>
2
+ <div class="demo-image__index-change">
3
+ <tiny-image :src="url" :preview-src-list="srcList" @change-index="changeIndex"> </tiny-image>
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { ref } from 'vue'
9
+ import { Image as TinyImage, Modal } from '@opentiny/vue'
10
+
11
+ const url = ref(`${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`)
12
+ const srcList = ref([
13
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
14
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/house.jpg`,
15
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/bridge.jpg`
16
+ ])
17
+
18
+ function changeIndex(index) {
19
+ console.log('sssss')
20
+ Modal.message({ message: `图片切换事件触发,当前 index: ${index}`, status: 'info' })
21
+ }
22
+ </script>
23
+
24
+ <style scoped>
25
+ .demo-image__index-change {
26
+ width: 200px;
27
+ height: 200px;
28
+ }
29
+ </style>
@@ -0,0 +1,16 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('测试坐标切换', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('image#index-chenge')
6
+
7
+ const preview = page.locator('.pc-demo-container')
8
+ const imgs = preview.locator('.tiny-image > .tiny-image__inner')
9
+ await expect(imgs).toHaveCount(5)
10
+
11
+ await expect(imgs.nth(0)).toHaveCSS('object-fit', 'fill')
12
+ await expect(imgs.nth(1)).toHaveCSS('object-fit', 'contain')
13
+ await expect(imgs.nth(2)).toHaveCSS('object-fit', 'cover')
14
+ await expect(imgs.nth(3)).toHaveCSS('object-fit', 'none')
15
+ await expect(imgs.nth(4)).toHaveCSS('object-fit', 'scale-down')
16
+ })
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <div class="demo-image__index-change">
3
+ <tiny-image :src="url" :preview-src-list="srcList" @change-index="changeIndex"> </tiny-image>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import { Image, Modal } from '@opentiny/vue'
9
+
10
+ export default {
11
+ components: {
12
+ TinyImage: Image
13
+ },
14
+ data() {
15
+ return {
16
+ url: `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
17
+ srcList: [
18
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
19
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/house.jpg`,
20
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/bridge.jpg`
21
+ ]
22
+ }
23
+ },
24
+ methods: {
25
+ changeIndex(index) {
26
+ Modal.message({ message: `图片切换事件触发,当前 index: ${index}`, status: 'info' })
27
+ }
28
+ }
29
+ }
30
+ </script>
31
+
32
+ <style scoped>
33
+ .demo-image__index-change {
34
+ width: 200px;
35
+ height: 200px;
36
+ }
37
+ </style>
@@ -0,0 +1,24 @@
1
+ <template>
2
+ <div class="demo-image__keep-style">
3
+ <tiny-image :src="url" :preview-src-list="srcList" keep-style></tiny-image>
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { ref } from 'vue'
9
+ import { Image as TinyImage } from '@opentiny/vue'
10
+
11
+ const url = ref(`${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`)
12
+ const srcList = ref([
13
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
14
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/house.jpg`,
15
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/bridge.jpg`
16
+ ])
17
+ </script>
18
+
19
+ <style scoped>
20
+ .demo-image__keep-style {
21
+ width: 200px;
22
+ height: 200px;
23
+ }
24
+ </style>
@@ -0,0 +1,56 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('测试样式属性保持', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+
6
+ await page.goto('image#keep-style')
7
+ const preview = page.locator('.pc-demo-container')
8
+ await preview.locator('.tiny-image__inner').click()
9
+ await page.waitForTimeout(50)
10
+
11
+ // viewerImage 是插入到body末尾的。
12
+ const viewerImage = page.locator('.tiny-image-viewer')
13
+ const mask = viewerImage.locator('.tiny-image-viewer__mask')
14
+ const toolbar = viewerImage.locator('.tiny-image-viewer__actions-inner')
15
+ const canvas = viewerImage.locator('.tiny-image-viewer__img')
16
+
17
+ // 验证出现
18
+ await expect(viewerImage).toHaveCount(1)
19
+ await expect(canvas).toHaveCount(1)
20
+ await expect(mask).toHaveCSS('position', 'absolute')
21
+ await expect(mask).toHaveCSS('opacity', '0.5')
22
+ await expect(canvas).toHaveCSS('transform', 'matrix(1, 0, 0, 1, 0, 0)')
23
+
24
+ // 点击缩小
25
+ await toolbar.locator('svg').first().click()
26
+ await page.waitForTimeout(20)
27
+ await expect(canvas).toHaveCSS('transform', 'matrix(0.8, 0, 0, 0.8, 0, 0)')
28
+
29
+ // 点击放大
30
+ await toolbar.locator('svg').nth(1).click()
31
+ await page.waitForTimeout(20)
32
+ await expect(canvas).toHaveCSS('transform', 'matrix(1, 0, 0, 1, 0, 0)')
33
+
34
+ // 点击向左旋转
35
+ await toolbar.locator('svg').nth(3).click()
36
+ await page.waitForTimeout(20)
37
+ await expect(canvas).toHaveCSS('transform', 'matrix(0, -1, 1, 0, 0, 0)')
38
+
39
+ const prev = viewerImage.locator('.tiny-image-viewer__prev')
40
+ const next = viewerImage.locator('.tiny-image-viewer__next')
41
+
42
+ // // 点击切换
43
+ await next.click()
44
+ await page.waitForTimeout(20)
45
+ await expect(canvas).toHaveAttribute('src', /house\.jpg/)
46
+
47
+ await prev.click()
48
+ await page.waitForTimeout(20)
49
+ await prev.click()
50
+ await page.waitForTimeout(20)
51
+ await expect(canvas).toHaveAttribute('src', /bridge\.jpg/)
52
+
53
+ // 点击关闭
54
+ await viewerImage.locator('.tiny-image-viewer__close').click()
55
+ await expect(viewerImage).toHaveCount(0)
56
+ })
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <div class="demo-image__keep-style">
3
+ <tiny-image :src="url" :preview-src-list="srcList" keep-style></tiny-image>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import { Image } from '@opentiny/vue'
9
+
10
+ export default {
11
+ components: {
12
+ TinyImage: Image
13
+ },
14
+ data() {
15
+ return {
16
+ url: `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
17
+ srcList: [
18
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/mountain.png`,
19
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/house.jpg`,
20
+ `${import.meta.env.VITE_APP_BUILD_BASE_URL}static/images/bridge.jpg`
21
+ ]
22
+ }
23
+ }
24
+ }
25
+ </script>
26
+
27
+ <style scoped>
28
+ .demo-image__keep-style {
29
+ width: 200px;
30
+ height: 200px;
31
+ }
32
+ </style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="demo-image__preview">
3
- <tiny-image :src="url" :preview-src-list="srcList" :z-index="3000"></tiny-image>
3
+ <tiny-image :src="url" :preview-src-list="srcList" :z-index="3000" show-index></tiny-image>
4
4
  </div>
5
5
  </template>
6
6
 
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="demo-image__preview">
3
- <tiny-image :src="url" :preview-src-list="srcList" :z-index="3000"></tiny-image>
3
+ <tiny-image :src="url" :preview-src-list="srcList" :z-index="3000" show-index></tiny-image>
4
4
  </div>
5
5
  </template>
6
6
 
@@ -10,9 +10,23 @@ export default {
10
10
  },
11
11
  desc: {
12
12
  'zh-CN':
13
- '\n 通过 <code>src</code> 设置图片路径。<br>\n 通过 <code>fit</code> 属性确定图片如何适应到容器框,同原生 css 的 object-fit 属性。<br>\n <div class="tip custom-block">\n <p class="custom-block-title">object-fit 说明</p>\n <p>fill:被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比<br>\n contain:被替换的内容大小可以填充元素的内容框<br>\n cover:被替换的内容大小保持其宽高比,同时填充元素的整个内容框<br>\n none:被替换的内容尺寸不会被改变<br>\n scale-down:内容的尺寸就像是指定了none 或 contain,取决于哪一个将导致更小的对象尺寸。\n </p>\n </div>\n ',
13
+ '通过 <code>src</code> 设置图片路径。<br>' +
14
+ ' 通过 <code>fit</code> 属性确定图片如何适应到容器框,同原生 css 的 object-fit 属性。<br>' +
15
+ '<p class="custom-block-title">object-fit 说明</p>' +
16
+ '<p>fill:被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比<br>' +
17
+ 'contain:被替换的内容大小可以填充元素的内容框<br>' +
18
+ 'cover:被替换的内容大小保持其宽高比,同时填充元素的整个内容框<br>' +
19
+ 'none:被替换的内容尺寸不会被改变<br>' +
20
+ 'scale-down:内容的尺寸就像是指定了none 或 contain,取决于哪一个将导致更小的对象尺寸。',
14
21
  'en-US':
15
- '\n Set the image path using <code>src</code>. <br>\n The <code>fit</code> attribute determines how the image will fit into the container frame, the same as the object-fit attribute of native css. <br>\n <div class="tip custom-block">\n <p class="custom-block-title">object-fit Description </p>\n <p>fill: The content being replaced will be scaled to maintain its aspect ratio as it fills the element\'s content box <br>\n contain: The size of the content to fill the element\'s content box <br>\n cover: The size of the content being replaced maintains its aspect ratio while filling the element\'s entire content box <br>\n none: The size of the content to be replaced will not be changed <br>\n scale-down: The size of the content is specified as either none or contain, depending on which will result in a smaller object size.\n </p>\n </div>\n '
22
+ 'Use <code>src</code> to set the image path.<br>' +
23
+ 'The <code>fit</code> attribute determines how the image fits into the container box, which is the same as the object-fit attribute of the native CSS.<br>' +
24
+ '<p class="custom-block-title">object-fit description</p>' +
25
+ "<p>fill:The replaced content is scaled to maintain its aspect ratio when filling the element's content box.<br>" +
26
+ 'contain:The size of the replaced content fills the content box of the element.<br>' +
27
+ 'cover:The size of the replaced content maintains its aspect ratio and fills the entire content box of the element.<br>' +
28
+ 'none:The size of the replaced content is not changed.<br>' +
29
+ 'scale-down:The size of the content is like specifying none or contain, depending on which would result in a smaller object size.'
16
30
  },
17
31
  codeFiles: ['basic-usage.vue']
18
32
  },
@@ -36,9 +50,13 @@ export default {
36
50
  },
37
51
  desc: {
38
52
  'zh-CN':
39
- '\n 通过 <code>lazy</code> 开启懒加载功能,当图片滚动到可视范围内才会加载。<br>\n 通过 <code>scroll-container</code> 来设置滚动容器,若未定义,则为最近一个 <code>overflow</code> 值为 <code>auto</code> 或 <code>scroll</code> 的父元素。</p>\n\n <div class="tip custom-block">\n <p>lazy 懒加载的图片必须是远程的图片,不支持静态图片懒加载。</p>\n </div>\n ',
53
+ '通过 <code>lazy</code> 开启懒加载功能,当图片滚动到可视范围内才会加载。<br>' +
54
+ '通过 <code>scroll-container</code> 来设置滚动容器,若未定义,则为最近一个 <code>overflow</code> 值为 <code>auto</code> 或 <code>scroll</code> 的父元素。' +
55
+ '<p>lazy 懒加载的图片必须是远程的图片,不支持静态图片懒加载。</p>',
40
56
  'en-US':
41
- '\n Enable lazy loading with <code>lazy</code>, and the image will only load when it is in visual range. <br>\n Set the scroll container by <code>scroll-container</code>. If not defined, Is the parent element of the last <code>overflow</code> value <code>auto</code> or <code>scroll</code>. </p>\n\n <div class="tip custom-block">\n <p>lazy Lazy loading images must be remote images. Lazy loading of static images is not supported. </p>\n </div>\n '
57
+ 'Enable lazy loading with <code>lazy</code>, and the image will only load when it is in visual range. <br>' +
58
+ 'Set the scroll container by <code>scroll-container</code>.If not defined, Is the parent element of the last <code>overflow</code> value <code>auto</code> or <code>scroll</code>.<br>' +
59
+ '<p>lazy Lazy loading images must be remote images. Lazy loading of static images is not supported. </p>'
42
60
  },
43
61
  codeFiles: ['lazy.vue']
44
62
  },
@@ -50,12 +68,54 @@ export default {
50
68
  },
51
69
  desc: {
52
70
  'zh-CN':
53
- '\n 通过 <code>preview-src-list</code> 属性 ,传入一组图片url的数组,点击图片后,会进入预览大图的模式。<br>\n 通过 <code>z-index</code> 设置预览图片的元素的z-index。\n ',
71
+ '通过 <code>preview-src-list</code> 属性 ,传入一组图片 url 的数组,点击图片后,会进入预览大图的模式。<br>' +
72
+ '通过 <code>z-index</code> 设置预览图片的元素的 z-index。<br>' +
73
+ '通过添加 <code>show-index</code> 开启图片序号展示。<br>',
54
74
  'en-US':
55
- '\n Pass in an array of image urls via the <code>preview-src-list</code> property, and click on the image to enter the mode of previewing a large image. <br>\n Set the z-index of the element of the preview image by <code>z-index</code>.\n '
75
+ 'Pass an array of image URLs through the <code>preview-src-list</code> attribute. After you click an image, the system enters the large image preview mode.<br>' +
76
+ 'Use <code>z-index</code> to set the z-index of the element of the preview image.<br>' +
77
+ 'Add <code>show-index</code> to enable the image sequence number display.<br>'
56
78
  },
57
79
  codeFiles: ['preview.vue']
58
80
  },
81
+ {
82
+ demoId: 'keep-style',
83
+ name: {
84
+ 'zh-CN': '保持图片样式属性',
85
+ 'en-US': 'Preserve Picture Style Properties'
86
+ },
87
+ desc: {
88
+ 'zh-CN': '通过 <code>keep-style</code> 属性可以让图片切换时样式保持一致,图片的缩放、旋转、边距等状态不重置。',
89
+ 'en-US':
90
+ 'The <code>keep-style</code> attribute can be used to keep the style of an image consistent when the image is switched. The zoom, rotation, and margin status of the image is not reset.'
91
+ },
92
+ codeFiles: ['keep-style.vue']
93
+ },
94
+ {
95
+ demoId: 'index-change',
96
+ name: {
97
+ 'zh-CN': '图片切换事件',
98
+ 'en-US': 'Image switchover event'
99
+ },
100
+ desc: {
101
+ 'zh-CN': '图片切换时触发 <code>change-index</code> 事件,参数返回当前图片的 index。',
102
+ 'en-US':
103
+ 'The <code>change-index</code> event is triggered when the image is switched. The index of the current image is returned.'
104
+ },
105
+ codeFiles: ['index-change.vue']
106
+ },
107
+ {
108
+ demoId: 'count-slot',
109
+ name: {
110
+ 'zh-CN': '图片计数插槽',
111
+ 'en-US': 'Picture Count Slot'
112
+ },
113
+ desc: {
114
+ 'zh-CN': '通过 <code>count</code> 设置图片计数插槽。',
115
+ 'en-US': 'Set the image count slot via <code>count</code>.'
116
+ },
117
+ codeFiles: ['count-slot.vue']
118
+ },
59
119
  {
60
120
  demoId: 'preview-in-dialog',
61
121
  name: {
@@ -76,9 +136,11 @@ export default {
76
136
  },
77
137
  desc: {
78
138
  'zh-CN':
79
- '\n 通过 <code> placeholder</code> 插槽,定义图片在加载中时的占位内容。通常由于图片加载快,会看不到这个插槽的出现,只有大图片时,会看到加载中的插槽。 <br>\n 通过 <code> error </code> 插槽,定义图片在加载失败后的占位内容。 \n ',
139
+ '通过 <code> placeholder</code> 插槽,定义图片在加载中时的占位内容。通常由于图片加载快,会看不到这个插槽的出现,只有大图片时,会看到加载中的插槽。 <br>' +
140
+ ' 通过 <code> error </code> 插槽,定义图片在加载失败后的占位内容。',
80
141
  'en-US':
81
- '\n The <code> placeholder</code> slot defines the placeholder content for images when loaded. Usually, because the image loads quickly, you will not see the appearance of this slot, only a large image, you will see the loading slot. <br>\n Using the <code> error </code> slot, define the placeholder content of the image after loading failure.\n '
142
+ 'The <code> placeholder</code> slot defines the placeholder content for images when loaded. Usually, because the image loads quickly, you will not see the appearance of this slot, only a large image, you will see the loading slot. <br>' +
143
+ 'Using the <code> error </code> slot, define the placeholder content of the image after loading failure.'
82
144
  },
83
145
  codeFiles: ['slot.vue']
84
146
  },
@@ -89,10 +151,10 @@ export default {
89
151
  'en-US': 'Events'
90
152
  },
91
153
  desc: {
92
- 'zh-CN':
93
- '\n <code>load</code> 事件: 图片加载成功触发 。<br>\n <code>error</code> 事件: 图片加载失败触发 。<br>\n ',
154
+ 'zh-CN': '<code>load</code> 事件: 图片加载成功触发 。<br><code>error</code> 事件: 图片加载失败触发 。',
94
155
  'en-US':
95
- '\n <code>load</code> event: The image is successfully loaded. <br>\n <code>error</code> event: The image failed to be loaded. <br>\n '
156
+ '<code>load</code> event: The image is successfully loaded. <br>' +
157
+ '<code>error</code> event: The image failed to be loaded. '
96
158
  },
97
159
  codeFiles: ['events.vue']
98
160
  }
@@ -1,14 +1,14 @@
1
1
  <template>
2
- <tiny-mind-map class="mindmap" />
2
+ <tiny-mind-map class="demo-mind-map-basic" />
3
3
  </template>
4
4
 
5
- <script lang="ts" setup>
5
+ <script setup>
6
6
  import { MindMap as TinyMindMap } from '@opentiny/vue'
7
7
  </script>
8
8
 
9
9
  <style scoped>
10
- .mindmap {
10
+ .demo-mind-map-basic {
11
11
  width: 100%;
12
- height: 300px;
12
+ height: 400px;
13
13
  }
14
14
  </style>
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <tiny-mind-map class="mindmap" />
2
+ <tiny-mind-map class="demo-mind-map-basic" />
3
3
  </template>
4
4
 
5
- <script lang="ts">
5
+ <script>
6
6
  import { MindMap } from '@opentiny/vue'
7
7
 
8
8
  export default {
@@ -13,8 +13,8 @@ export default {
13
13
  </script>
14
14
 
15
15
  <style scoped>
16
- .mindmap {
16
+ .demo-mind-map-basic {
17
17
  width: 100%;
18
- height: 300px;
18
+ height: 400px;
19
19
  }
20
20
  </style>