@opentiny/vue-docs 2.2.18 → 2.2.19

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 (366) hide show
  1. package/demos/apis/card.js +56 -23
  2. package/demos/apis/dialog-box.js +12 -5
  3. package/demos/apis/fall-menu.js +2 -2
  4. package/demos/apis/file-upload.js +2 -1
  5. package/demos/apis/float-button.js +211 -0
  6. package/demos/apis/grid.js +40 -40
  7. package/demos/apis/ip-address.js +3 -3
  8. package/demos/apis/multi-select.js +141 -22
  9. package/demos/apis/numeric.js +13 -0
  10. package/demos/apis/popeditor.js +20 -14
  11. package/demos/apis/search.js +11 -0
  12. package/demos/apis/slider.js +13 -2
  13. package/demos/apis/steps.js +6 -6
  14. package/demos/apis/tabs.js +39 -0
  15. package/demos/apis/time-line.js +34 -1
  16. package/demos/apis/time-select.js +1 -1
  17. package/demos/apis/tooltip.js +1 -1
  18. package/demos/apis/tree-menu.js +5 -5
  19. package/demos/mobile/app/alert/icon.vue +1 -1
  20. package/demos/mobile/app/alert/size.vue +1 -1
  21. package/demos/mobile/app/alert/slot-default.vue +8 -2
  22. package/demos/mobile/app/exception/buttonText.vue +4 -2
  23. package/demos/mobile/app/exception/exceptionClass.vue +4 -2
  24. package/demos/mobile/app/exception/message.vue +4 -7
  25. package/demos/mobile/app/exception/type.vue +4 -2
  26. package/demos/mobile/app/loading/background.vue +24 -0
  27. package/demos/mobile/app/loading/base.vue +16 -6
  28. package/demos/mobile/app/loading/custom-class.vue +29 -0
  29. package/demos/mobile/app/loading/global-registry.vue +61 -0
  30. package/demos/mobile/app/loading/size.vue +59 -0
  31. package/demos/mobile/app/loading/spinner.vue +26 -0
  32. package/demos/mobile/app/loading/tip-text.vue +23 -0
  33. package/demos/mobile/app/loading/webdoc/loading.js +155 -9
  34. package/demos/mobile/app/multi-select/basic-usage.vue +221 -73
  35. package/demos/mobile/app/multi-select/disabled.vue +174 -206
  36. package/demos/mobile/app/multi-select/event-click-item.vue +60 -75
  37. package/demos/mobile/app/multi-select/filter.vue +65 -93
  38. package/demos/mobile/app/multi-select/mask.vue +60 -0
  39. package/demos/mobile/app/multi-select/slots.vue +66 -0
  40. package/demos/mobile/app/multi-select/type-wheel.vue +39 -49
  41. package/demos/mobile/app/multi-select/webdoc/multi-select.js +49 -10
  42. package/demos/mobile/app/popover/base.vue +2 -3
  43. package/demos/mobile/app/search/base.vue +2 -2
  44. package/demos/mobile/app/user-head/basic-usage.vue +2 -5
  45. package/demos/mobile-first/app/card/basic-usage.vue +4 -2
  46. package/demos/mobile-first/app/card/card-type.vue +6 -12
  47. package/demos/mobile-first/app/card/slot.vue +2 -5
  48. package/demos/mobile-first/app/carousel/close-loop.vue +12 -4
  49. package/demos/mobile-first/app/column-list-item/basic-usage.vue +3 -7
  50. package/demos/mobile-first/app/column-list-item/custom-width.vue +4 -7
  51. package/demos/mobile-first/app/column-list-item/icon-click-event.vue +2 -5
  52. package/demos/mobile-first/app/column-list-item/icon-disabled.vue +2 -5
  53. package/demos/mobile-first/app/column-list-item/size.vue +3 -6
  54. package/demos/mobile-first/app/select/filter-method.vue +47 -18
  55. package/demos/mobile-first/app/time-line/limited-nodes.vue +29 -0
  56. package/demos/mobile-first/app/time-line/node-max.vue +26 -0
  57. package/demos/mobile-first/app/time-line/webdoc/time-line.js +26 -1
  58. package/demos/pc/app/alert/custom-close-composition-api.vue +7 -2
  59. package/demos/pc/app/alert/custom-close.spec.ts +1 -1
  60. package/demos/pc/app/alert/custom-close.vue +7 -2
  61. package/demos/pc/app/area/custom-service.spec.ts +1 -2
  62. package/demos/pc/app/button/ghost.spec.ts +6 -6
  63. package/demos/pc/app/card/basic-usage-composition-api.vue +24 -0
  64. package/demos/pc/app/card/basic-usage.vue +32 -0
  65. package/demos/pc/app/card/card-disabled-composition-api.vue +45 -0
  66. package/demos/pc/app/card/card-disabled.vue +53 -0
  67. package/demos/pc/app/card/card-events-composition-api.vue +66 -0
  68. package/demos/pc/app/card/card-events.vue +75 -0
  69. package/demos/pc/app/card/card-group-composition-api.vue +69 -0
  70. package/demos/pc/app/card/card-group.vue +79 -0
  71. package/demos/pc/app/card/card-size-composition-api.vue +59 -0
  72. package/demos/pc/app/card/card-size.vue +67 -0
  73. package/demos/pc/app/card/card-status-composition-api.vue +49 -0
  74. package/demos/pc/app/card/card-status.vue +58 -0
  75. package/demos/pc/app/card/card-type-composition-api.vue +47 -0
  76. package/demos/pc/app/card/card-type.vue +55 -0
  77. package/demos/pc/app/card/check-type-checkbox-composition-api.vue +31 -0
  78. package/demos/pc/app/card/check-type-checkbox.vue +40 -0
  79. package/demos/pc/app/card/check-type-radio-composition-api.vue +31 -0
  80. package/demos/pc/app/card/check-type-radio.vue +39 -0
  81. package/demos/pc/app/card/custom-class-composition-api.vue +51 -0
  82. package/demos/pc/app/card/custom-class.vue +59 -0
  83. package/demos/pc/app/card/operate-bar-composition-api.vue +53 -0
  84. package/demos/pc/app/card/operate-bar.vue +60 -0
  85. package/demos/pc/app/card/slot-composition-api.vue +67 -0
  86. package/demos/pc/app/card/slot.vue +76 -0
  87. package/demos/pc/app/card/webdoc/card.cn.md +7 -0
  88. package/demos/pc/app/card/webdoc/card.en.md +7 -0
  89. package/demos/pc/app/card/webdoc/card.js +148 -0
  90. package/demos/pc/app/carousel/basic-usage.spec.ts +3 -3
  91. package/demos/pc/app/carousel/card-mode.spec.ts +4 -11
  92. package/demos/pc/app/carousel/carousel-arrow-hover.spec.ts +5 -7
  93. package/demos/pc/app/carousel/carousel-events.spec.ts +7 -16
  94. package/demos/pc/app/carousel/manual-play.spec.ts +0 -2
  95. package/demos/pc/app/carousel/play-interval.spec.ts +1 -4
  96. package/demos/pc/app/cascader/auto-load-checkStrictly.spec.ts +1 -1
  97. package/demos/pc/app/cascader/auto-load.spec.ts +5 -2
  98. package/demos/pc/app/color-picker/base.spec.ts +2 -2
  99. package/demos/pc/app/color-picker/event.spec.ts +1 -1
  100. package/demos/pc/app/color-picker/history.spec.ts +2 -6
  101. package/demos/pc/app/color-picker/predefine.spec.ts +2 -5
  102. package/demos/pc/app/company/basic-usage.spec.ts +3 -6
  103. package/demos/pc/app/company/custom-service.spec.ts +4 -8
  104. package/demos/pc/app/country/custom-service.spec.js +4 -4
  105. package/demos/pc/app/country/fields.spec.js +2 -2
  106. package/demos/pc/app/crop/aspect-ratio.spec.ts +1 -2
  107. package/demos/pc/app/crop/auto-crop-area.spec.ts +1 -4
  108. package/demos/pc/app/crop/basic-usage.spec.ts +0 -2
  109. package/demos/pc/app/crop/crop-meth.spec.ts +0 -2
  110. package/demos/pc/app/crop/event-ready.spec.ts +0 -1
  111. package/demos/pc/app/crop/get-container-data.spec.ts +0 -1
  112. package/demos/pc/app/crop/get-crop-box-data.spec.ts +0 -2
  113. package/demos/pc/app/crop/get-data.spec.ts +0 -1
  114. package/demos/pc/app/crop/min-crop-box-width-height.spec.ts +0 -2
  115. package/demos/pc/app/crop/no-background.spec.ts +0 -1
  116. package/demos/pc/app/crop/no-modal.spec.ts +0 -2
  117. package/demos/pc/app/crop/replace-image.spec.ts +4 -5
  118. package/demos/pc/app/crop/view-mode.spec.ts +1 -16
  119. package/demos/pc/app/date-picker/align.spec.ts +17 -14
  120. package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -22
  121. package/demos/pc/app/date-picker/clear.spec.ts +13 -7
  122. package/demos/pc/app/date-picker/date-range.spec.ts +39 -10
  123. package/demos/pc/app/date-picker/events.spec.ts +11 -3
  124. package/demos/pc/app/date-picker/format.spec.ts +2 -2
  125. package/demos/pc/app/date-picker/shortcuts.spec.ts +1 -2
  126. package/demos/pc/app/dept/custom-service.spec.ts +16 -4
  127. package/demos/pc/app/detail-page/basic-usage.spec.ts +4 -4
  128. package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
  129. package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
  130. package/demos/pc/app/dialog-box/center-composition-api.vue +1 -1
  131. package/demos/pc/app/dialog-box/center.vue +1 -1
  132. package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +1 -1
  133. package/demos/pc/app/dialog-box/close-on-click-modal.vue +1 -1
  134. package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +1 -1
  135. package/demos/pc/app/dialog-box/close-on-press-escape.vue +1 -1
  136. package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +1 -1
  137. package/demos/pc/app/dialog-box/custom-dialog-content.vue +1 -1
  138. package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
  139. package/demos/pc/app/dialog-box/custom-dialog-footer.spec.ts +1 -1
  140. package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
  141. package/demos/pc/app/dialog-box/custom-dialog-title.spec.ts +1 -1
  142. package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
  143. package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
  144. package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
  145. package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +2 -2
  146. package/demos/pc/app/dialog-box/dialog-width.vue +2 -2
  147. package/demos/pc/app/dialog-box/draggable-composition-api.vue +15 -3
  148. package/demos/pc/app/dialog-box/draggable.spec.ts +2 -2
  149. package/demos/pc/app/dialog-box/draggable.vue +15 -3
  150. package/demos/pc/app/dialog-box/form-in-dialog.spec.ts +0 -1
  151. package/demos/pc/app/dialog-box/open-close-events-composition-api.vue +1 -1
  152. package/demos/pc/app/dialog-box/open-close-events.vue +1 -1
  153. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +2 -2
  154. package/demos/pc/app/drawer/tips-props-composition-api.vue +23 -0
  155. package/demos/pc/app/drawer/tips-props.spec.ts +15 -0
  156. package/demos/pc/app/drawer/tips-props.vue +33 -0
  157. package/demos/pc/app/drawer/webdoc/drawer.js +10 -12
  158. package/demos/pc/app/drop-roles/custom-service.spec.ts +1 -1
  159. package/demos/pc/app/file-upload/custom-prefix.spec.ts +1 -1
  160. package/demos/pc/app/file-upload/file-picture-card.spec.ts +1 -1
  161. package/demos/pc/app/file-upload/manual-upload.spec.ts +1 -1
  162. package/demos/pc/app/file-upload/picture-card.spec.ts +3 -2
  163. package/demos/pc/app/file-upload/picture-list.spec.ts +3 -3
  164. package/demos/pc/app/file-upload/upload-file-list.spec.ts +1 -1
  165. package/demos/pc/app/file-upload/upload-request.spec.ts +11 -6
  166. package/demos/pc/app/float-button/backTop-composition-api.vue +40 -0
  167. package/demos/pc/app/float-button/backTop.vue +51 -0
  168. package/demos/pc/app/float-button/basic-usage-composition-api.vue +39 -0
  169. package/demos/pc/app/float-button/basic-usage.vue +48 -0
  170. package/demos/pc/app/float-button/icon-composition-api.vue +21 -0
  171. package/demos/pc/app/float-button/icon.vue +31 -0
  172. package/demos/pc/app/float-button/jump-composition-api.vue +19 -0
  173. package/demos/pc/app/float-button/jump.vue +26 -0
  174. package/demos/pc/app/float-button/reset-time-composition-api.vue +22 -0
  175. package/demos/pc/app/float-button/reset-time.vue +26 -0
  176. package/demos/pc/app/float-button/trigger-composition-api.vue +31 -0
  177. package/demos/pc/app/float-button/trigger.vue +40 -0
  178. package/demos/pc/app/float-button/webdoc/float-button.cn.md +7 -0
  179. package/demos/pc/app/float-button/webdoc/float-button.en.md +7 -0
  180. package/demos/pc/app/float-button/webdoc/float-button.js +68 -0
  181. package/demos/pc/app/floatbar/base.spec.ts +1 -1
  182. package/demos/pc/app/floatbar/custom-floatbar-item.spec.ts +1 -1
  183. package/demos/pc/app/floatbar/custom-style.spec.ts +1 -1
  184. package/demos/pc/app/floatbar/operation-floatbar-item.spec.ts +1 -1
  185. package/demos/pc/app/form/form-row-col.spec.js +2 -0
  186. package/demos/pc/app/form/label-position.spec.ts +3 -3
  187. package/demos/pc/app/grid/custom/ordercolumn-local.spec.js +2 -2
  188. package/demos/pc/app/grid/data-source/static-data-composition-api.vue +1 -1
  189. package/demos/pc/app/grid/data-source/static-data.spec.js +1 -1
  190. package/demos/pc/app/grid/data-source/static-data.vue +1 -1
  191. package/demos/pc/app/grid/edit/grid-equals-composition-api.vue +50 -0
  192. package/demos/pc/app/grid/edit/grid-equals.spec.js +10 -0
  193. package/demos/pc/app/grid/edit/grid-equals.vue +60 -0
  194. package/demos/pc/app/grid/edit/has-row-change.spec.js +2 -2
  195. package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +11 -11
  196. package/demos/pc/app/grid/editor/mutil-render.spec.js +1 -1
  197. package/demos/pc/app/grid/event/get-row-method.spec.js +4 -4
  198. package/demos/pc/app/grid/filter/server-filter.spec.js +1 -1
  199. package/demos/pc/app/grid/fixed/left-fixed.vue +1 -1
  200. package/demos/pc/app/grid/large-data/column-anchor.vue +132 -0
  201. package/demos/pc/app/grid/large-data/scroll-to.spec.js +1 -1
  202. package/demos/pc/app/grid/loading/grid-loading-tip.spec.js +1 -1
  203. package/demos/pc/app/grid/pager/show-save-msg-composition-api.vue +1 -1
  204. package/demos/pc/app/grid/pager/show-save-msg.vue +1 -1
  205. package/demos/pc/app/grid/renderer/inner-renderer-date-composition-api.vue +40 -0
  206. package/demos/pc/app/grid/renderer/inner-renderer-date.spec.js +9 -0
  207. package/demos/pc/app/grid/renderer/inner-renderer-date.vue +50 -0
  208. package/demos/pc/app/grid/size/grid-size-composition-api.vue +33 -26
  209. package/demos/pc/app/grid/size/grid-size.spec.js +7 -3
  210. package/demos/pc/app/grid/size/grid-size.vue +34 -26
  211. package/demos/pc/app/grid/sort/sort.vue +0 -1
  212. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport-composition-api.vue +65 -0
  213. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.spec.js +10 -0
  214. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.vue +73 -0
  215. package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update.spec.js +1 -1
  216. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +1 -1
  217. package/demos/pc/app/grid/webdoc/grid-edit.js +11 -0
  218. package/demos/pc/app/grid/webdoc/grid-large-data.js +1 -49
  219. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -0
  220. package/demos/pc/app/grid/webdoc/grid-toolbar.js +10 -1
  221. package/demos/pc/app/guide/basic-usage.spec.ts +3 -2
  222. package/demos/pc/app/guide/offset.spec.ts +3 -1
  223. package/demos/pc/app/hrapprover/basic-usage.spec.ts +2 -6
  224. package/demos/pc/app/hrapprover/custom-service.spec.ts +5 -2
  225. package/demos/pc/app/hrapprover/disabled.spec.ts +1 -1
  226. package/demos/pc/app/ip-address/delimiter.spec.ts +1 -1
  227. package/demos/pc/app/loading/webdoc/loading.js +1 -1
  228. package/demos/pc/app/locales/custom-service.spec.ts +0 -3
  229. package/demos/pc/app/logout/basic-usage.spec.ts +5 -5
  230. package/demos/pc/app/milestone/show-number.spec.ts +1 -1
  231. package/demos/pc/app/milestone/solid-style.spec.ts +1 -1
  232. package/demos/pc/app/modal/basic-usage.spec.ts +1 -1
  233. package/demos/pc/app/modal/duration.spec.ts +1 -2
  234. package/demos/pc/app/modal/{min-width-composition-api.vue → min-width-height-composition-api.vue} +4 -2
  235. package/demos/pc/app/modal/{min-width.spec.ts → min-width-height.spec.ts} +3 -3
  236. package/demos/pc/app/modal/{min-width.vue → min-width-height.vue} +4 -2
  237. package/demos/pc/app/modal/prop-slots-composition-api.vue +2 -2
  238. package/demos/pc/app/modal/show-header-footer-composition-api.vue +11 -0
  239. package/demos/pc/app/modal/{showHeader.spec.ts → show-header-footer.spec.ts} +3 -3
  240. package/demos/pc/app/modal/{showHeader.vue → show-header-footer.vue} +2 -2
  241. package/demos/pc/app/modal/webdoc/modal.js +12 -36
  242. package/demos/pc/app/notify/closeIcon.spec.ts +1 -1
  243. package/demos/pc/app/numeric/change-event-composition-api.vue +9 -2
  244. package/demos/pc/app/numeric/change-event.vue +10 -3
  245. package/demos/pc/app/numeric/dynamic-disabled-composition-api.vue +10 -2
  246. package/demos/pc/app/numeric/dynamic-disabled.spec.ts +1 -1
  247. package/demos/pc/app/numeric/dynamic-disabled.vue +11 -3
  248. package/demos/pc/app/numeric/precision-composition-api.vue +1 -1
  249. package/demos/pc/app/numeric/precision.spec.ts +10 -11
  250. package/demos/pc/app/pager/before-page-change.spec.ts +1 -1
  251. package/demos/pc/app/pager/disabled-and-size.spec.ts +1 -1
  252. package/demos/pc/app/pop-upload/basic-usage.spec.ts +1 -1
  253. package/demos/pc/app/pop-upload/custom-request-headers.spec.ts +1 -1
  254. package/demos/pc/app/popeditor/condition-form-composition-api.vue +0 -1
  255. package/demos/pc/app/popeditor/condition-form.vue +0 -1
  256. package/demos/pc/app/popeditor/events-composition-api.vue +8 -2
  257. package/demos/pc/app/popeditor/events.vue +8 -2
  258. package/demos/pc/app/popeditor/webdoc/popeditor.js +9 -9
  259. package/demos/pc/app/popover/webdoc/popover.js +69 -28
  260. package/demos/pc/app/radio/group-options-composition-api.vue +1 -1
  261. package/demos/pc/app/rate/custom-3-threshold-colors.spec.js +0 -13
  262. package/demos/pc/app/rate/custom-3-threshold-icon.spec.js +5 -5
  263. package/demos/pc/app/rate/disabled-not-selected-class.spec.js +1 -1
  264. package/demos/pc/app/rate/not-selected-class.spec.js +1 -1
  265. package/demos/pc/app/rate/threshold-value.spec.js +0 -13
  266. package/demos/pc/app/search/basic-usage-composition-api.vue +1 -1
  267. package/demos/pc/app/search/basic-usage.vue +1 -1
  268. package/demos/pc/app/search/webdoc/search.js +3 -2
  269. package/demos/pc/app/select/copy-multi.spec.ts +6 -5
  270. package/demos/pc/app/select/copy-single.spec.ts +7 -4
  271. package/demos/pc/app/select/events.spec.ts +2 -2
  272. package/demos/pc/app/select/optimization.spec.ts +3 -7
  273. package/demos/pc/app/select/option-group-composition-api.vue +2 -2
  274. package/demos/pc/app/select/option-group.vue +2 -2
  275. package/demos/pc/app/select/searchable.spec.ts +1 -1
  276. package/demos/pc/app/select/size.spec.ts +1 -1
  277. package/demos/pc/app/select/tag-type-composition-api.vue +1 -1
  278. package/demos/pc/app/select/tag-type.spec.ts +1 -1
  279. package/demos/pc/app/select/tag-type.vue +1 -1
  280. package/demos/pc/app/slide-bar/basic-usage.spec.ts +0 -5
  281. package/demos/pc/app/slide-bar/wheel-blocks.spec.ts +2 -6
  282. package/demos/pc/app/slider/marks-composition-api.vue +20 -0
  283. package/demos/pc/app/slider/marks.spec.ts +12 -0
  284. package/demos/pc/app/slider/marks.vue +27 -0
  285. package/demos/pc/app/slider/show-input-composition-api.vue +2 -0
  286. package/demos/pc/app/slider/show-input.vue +3 -1
  287. package/demos/pc/app/slider/show-iput.spec.ts +14 -4
  288. package/demos/pc/app/slider/webdoc/slider.js +12 -0
  289. package/demos/pc/app/steps/advanced-steps-composition-api.vue +2 -2
  290. package/demos/pc/app/steps/advanced-steps.spec.ts +3 -3
  291. package/demos/pc/app/steps/advanced-steps.vue +2 -2
  292. package/demos/pc/app/steps/click-composition-api.vue +3 -10
  293. package/demos/pc/app/steps/click.vue +4 -12
  294. package/demos/pc/app/steps/line-horizontal-composition-api.vue +1 -1
  295. package/demos/pc/app/steps/line-horizontal.vue +1 -1
  296. package/demos/pc/app/steps/line-vertical-composition-api.vue +1 -1
  297. package/demos/pc/app/steps/line-vertical.vue +1 -1
  298. package/demos/pc/app/tabs/overflow-title-composition-api.vue +19 -0
  299. package/demos/pc/app/tabs/overflow-title.vue +28 -0
  300. package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +5 -1
  301. package/demos/pc/app/tabs/tabs-events-close.vue +5 -1
  302. package/demos/pc/app/tabs/webdoc/tabs.js +18 -4
  303. package/demos/pc/app/tag/delete.spec.ts +3 -3
  304. package/demos/pc/app/time-line/shape-composition-api.vue +5 -2
  305. package/demos/pc/app/time-line/shape.spec.ts +2 -0
  306. package/demos/pc/app/time-line/shape.vue +5 -1
  307. package/demos/pc/app/time-line/show-divider-composition-api.vue +1 -1
  308. package/demos/pc/app/time-line/show-divider.vue +1 -1
  309. package/demos/pc/app/time-picker/disabled.spec.ts +9 -1
  310. package/demos/pc/app/time-picker/event.spec.ts +1 -2
  311. package/demos/pc/app/time-picker/format.spec.ts +10 -3
  312. package/demos/pc/app/time-picker/step.spec.ts +4 -1
  313. package/demos/pc/app/time-select/basic-usage.spec.ts +1 -1
  314. package/demos/pc/app/time-select/clear-icon.spec.ts +1 -1
  315. package/demos/pc/app/time-select/default-value.spec.ts +1 -1
  316. package/demos/pc/app/time-select/event-blur-composition-api.vue +3 -3
  317. package/demos/pc/app/time-select/event-blur.spec.ts +1 -1
  318. package/demos/pc/app/time-select/event-blur.vue +3 -3
  319. package/demos/pc/app/time-select/focus-composition-api.vue +1 -1
  320. package/demos/pc/app/time-select/focus.spec.ts +2 -3
  321. package/demos/pc/app/time-select/focus.vue +1 -1
  322. package/demos/pc/app/time-select/range-placeholder.spec.ts +2 -2
  323. package/demos/pc/app/tooltip/theme-composition-api.vue +28 -26
  324. package/demos/pc/app/tooltip/theme.vue +28 -26
  325. package/demos/pc/app/tooltip/webdoc/tooltip.js +55 -29
  326. package/demos/pc/app/transfer/webdoc/transfer.js +130 -44
  327. package/demos/pc/app/tree/webdoc/tree.js +319 -68
  328. package/demos/pc/app/tree-menu/basic-usage.spec.ts +0 -1
  329. package/demos/pc/app/tree-menu/props.spec.ts +2 -1
  330. package/demos/pc/app/user/custom-service.spec.ts +1 -1
  331. package/demos/pc/app/user-account/custom-service.spec.ts +2 -8
  332. package/demos/pc/app/user-contact/contact-espace-composition-api.vue +1 -0
  333. package/demos/pc/app/user-link/custom-service.spec.ts +2 -2
  334. package/demos/pc/app/watermark/webdoc/watermark.js +1 -1
  335. package/demos/pc/menus.js +2 -1
  336. package/demos/pc/resource/newVars.json +2 -2
  337. package/demos/pc/webdoc/changelog.md +138 -0
  338. package/demos/pc/webdoc/import-components-en.md +40 -2
  339. package/demos/pc/webdoc/import-components.md +40 -2
  340. package/package.json +11 -11
  341. package/playground/App.vue +2 -2
  342. package/src/App.vue +3 -2
  343. package/src/const.ts +27 -0
  344. package/src/router.js +5 -3
  345. package/src/tools/useTheme.js +60 -50
  346. package/src/views/components/components.vue +12 -33
  347. package/src/views/components/demo.vue +4 -4
  348. package/src/views/layout/layout.vue +6 -6
  349. package/src/views/overview.vue +6 -3
  350. package/demos/pc/app/credit-card-form/background-image.spec.ts +0 -10
  351. package/demos/pc/app/credit-card-form/basic-usage.spec.ts +0 -13
  352. package/demos/pc/app/credit-card-form/credit-card-form-events.spec.ts +0 -18
  353. package/demos/pc/app/drawer/default-slot-composition-api.vue +0 -25
  354. package/demos/pc/app/drawer/default-slot.spec.ts +0 -11
  355. package/demos/pc/app/drawer/default-slot.vue +0 -35
  356. package/demos/pc/app/font/Font-usage-specifications.spec.js +0 -41
  357. package/demos/pc/app/font/chinese-font-set.spec.js +0 -10
  358. package/demos/pc/app/font/english-fonts.spec.js +0 -10
  359. package/demos/pc/app/hrapprover/category-type.spec.ts +0 -13
  360. package/demos/pc/app/modal/min-height-composition-api.vue +0 -16
  361. package/demos/pc/app/modal/min-height.spec.ts +0 -21
  362. package/demos/pc/app/modal/min-height.vue +0 -23
  363. package/demos/pc/app/modal/showFooter-composition-api.vue +0 -11
  364. package/demos/pc/app/modal/showFooter.spec.ts +0 -10
  365. package/demos/pc/app/modal/showFooter.vue +0 -18
  366. package/demos/pc/app/modal/showHeader-composition-api.vue +0 -11
@@ -81,12 +81,11 @@
81
81
  >
82
82
  </version-tip>
83
83
  </td>
84
- <td v-if="!key.includes('slots')">
84
+ <td v-if="!key.includes('slots')" @click="handleTypeClick">
85
85
  <a
86
86
  v-if="row.typeAnchorName"
87
87
  :href="`${row.typeAnchorName.indexOf('#') === -1 ? '#' : ''}${row.typeAnchorName}`"
88
88
  v-html="row.type"
89
- @click="handleTypeClick"
90
89
  ></a>
91
90
  <span v-else v-html="row.type"></span>
92
91
  </td>
@@ -140,13 +139,13 @@
140
139
  <script lang="jsx">
141
140
  import { defineComponent, reactive, computed, toRefs, watch, onMounted, ref } from 'vue'
142
141
  import { marked } from 'marked'
143
- import { Loading, Anchor, ButtonGroup } from '@opentiny/vue'
142
+ import { Anchor, ButtonGroup } from '@opentiny/vue'
144
143
  import debounce from '@opentiny/vue-renderless/common/deps/debounce'
145
144
  import { i18nByKey, getWord, $clone, fetchDemosFile, useApiMode, useTemplateMode } from '@/tools'
146
145
  import demo from '@/views/components/demo'
147
146
  import { router } from '@/router.js'
148
147
  import { Collapse, CollapseItem } from '@opentiny/vue'
149
- import { faqMdConfig, staticDemoPath, getWebdocPath } from './cmpConfig'
148
+ import { faqMdConfig, getWebdocPath } from './cmpConfig'
150
149
  import AsyncHighlight from './async-highlight.vue'
151
150
  import VersionTip from './VersionTip.vue'
152
151
 
@@ -161,9 +160,6 @@ export default defineComponent({
161
160
  AsyncHighlight,
162
161
  VersionTip
163
162
  },
164
- directives: {
165
- loading: Loading.directive
166
- },
167
163
  setup() {
168
164
  const anchorRefreshKey = ref(0)
169
165
  const state = reactive({
@@ -317,21 +313,6 @@ export default defineComponent({
317
313
  state.currJson.types = apiJson.types
318
314
  }
319
315
 
320
- if (state.cmpId?.startsWith('grid-')) {
321
- fetchDemosFile(`${staticDemoPath}/grid/webdoc/grid.js`).then((data) => {
322
- // eslint-disable-next-line no-eval
323
- const gridJson = eval('(' + data.slice(15) + ')')
324
- state.currJson.apis = gridJson.apis
325
- state.currJson.types = gridJson.types
326
- })
327
- } else if (state.cmpId?.startsWith('chart-')) {
328
- fetchDemosFile(`${staticDemoPath}/chart/webdoc/chart.js`).then((data) => {
329
- // eslint-disable-next-line no-eval
330
- const chartJson = eval('(' + data.slice(15) + ')')
331
- state.currJson.apis = chartJson.apis
332
- })
333
- }
334
-
335
316
  let hash = router.currentRoute.value.hash?.slice(1)
336
317
 
337
318
  // 单demo处理,如果有hash,取hash的demo, 没有hash, 取第1项
@@ -370,7 +351,10 @@ export default defineComponent({
370
351
  },
371
352
  // 点击api 区域的type列
372
353
  handleTypeClick: (ev) => {
373
- changeActiveNames(ev.target.hash, true)
354
+ const hash = ev.target.hash
355
+ if (hash) {
356
+ changeActiveNames(hash, true)
357
+ }
374
358
  },
375
359
  // 目录列表上的点击
376
360
  handleAnchorClick: (e, data) => {
@@ -441,7 +425,7 @@ export default defineComponent({
441
425
  })
442
426
  </script>
443
427
 
444
- <style lang="less">
428
+ <style lang="less" scoped>
445
429
  table.api-table {
446
430
  width: 100%;
447
431
  table-layout: fixed;
@@ -452,6 +436,7 @@ table.api-table {
452
436
  text-decoration: none;
453
437
  color: #5e7ce0;
454
438
  cursor: pointer;
439
+ word-wrap: break-word;
455
440
  }
456
441
 
457
442
  tbody tr:hover {
@@ -523,11 +508,12 @@ table.api-table {
523
508
  }
524
509
  }
525
510
  .cmp-page-anchor {
526
- .tiny-anchor__affix {
511
+ :deep(.tiny-anchor__affix) {
512
+ top: unset !important;
527
513
  overflow-y: auto;
528
514
  max-height: 80vh;
529
515
  }
530
- .tiny-anchor-link {
516
+ :deep(.tiny-anchor-link) {
531
517
  margin-bottom: 10px;
532
518
  max-width: 150px;
533
519
  font-size: 12px;
@@ -555,13 +541,6 @@ table.api-table {
555
541
  }
556
542
  }
557
543
 
558
- .markdown-top-body,
559
- .all-demos-container {
560
- & > .tiny-loading svg {
561
- height: 36px;
562
- width: 36px;
563
- }
564
- }
565
544
  .all-demos-container {
566
545
  margin-top: 24px;
567
546
  }
@@ -84,7 +84,7 @@ export default defineComponent({
84
84
  },
85
85
  setup(props) {
86
86
  const { templateModeState } = useTemplateMode()
87
- const { currThemeLabel } = useTheme()
87
+ const { currentThemeKey } = useTheme()
88
88
  const isMobileFirst = computed(() => {
89
89
  return templateModeState.mode === 'mobile-first'
90
90
  })
@@ -179,7 +179,7 @@ export default defineComponent({
179
179
  },
180
180
  openPlayground(demo, open = true) {
181
181
  const cmpId = router.currentRoute.value.params.cmpId
182
- const tinyTheme = templateModeState.isSaas ? 'saas' : currThemeLabel.value.split('-')[1]
182
+ const tinyTheme = templateModeState.isSaas ? 'saas' : currentThemeKey.value.split('-')[1]
183
183
  const openModeQuery = open ? '' : '&openMode=preview'
184
184
  // TODO: 目前mf只有Options写法,后续再放开compositon
185
185
  const url = `${import.meta.env.VITE_PLAYGROUND_URL}?cmpId=${cmpId}&fileName=${
@@ -235,13 +235,13 @@ export default defineComponent({
235
235
  })
236
236
  </script>
237
237
 
238
- <style lang="less">
238
+ <style lang="less" scoped>
239
239
  .demo-desc {
240
240
  font-size: 16px;
241
241
  line-height: 1.7em;
242
242
  margin: 12px 0;
243
243
 
244
- code {
244
+ :deep(code) {
245
245
  color: #476582;
246
246
  padding: 4px 8px;
247
247
  margin: 0 4px;
@@ -19,7 +19,7 @@
19
19
  v-for="(item, index) in themeData"
20
20
  :key="index"
21
21
  @click="themeItemClick(item)"
22
- :class="{ 'is-actived': item.value === currThemeLabel }"
22
+ :class="{ 'is-actived': item.value === currentThemeKey }"
23
23
  >
24
24
  {{ item.label }}
25
25
  </tiny-dropdown-item>
@@ -128,7 +128,7 @@ export default defineComponent({
128
128
  },
129
129
  props: [],
130
130
  setup() {
131
- const { getThemeData, changeTheme, currThemeLabel } = useTheme()
131
+ const { getThemeData, changeTheme, currentThemeKey, defaultTheme } = useTheme()
132
132
  const { apiModeState, apiModeFn } = useApiMode()
133
133
  const { templateModeState } = useTemplateMode()
134
134
  let state = reactive({
@@ -142,9 +142,9 @@ export default defineComponent({
142
142
  })
143
143
 
144
144
  const lang = getWord('zh-CN', 'en-US')
145
- const allPathParam = useRoute().params.all
145
+ const { all: allPathParam, theme = defaultTheme } = useRoute().params
146
146
  const allPath = allPathParam ? allPathParam + '/' : ''
147
- const getTo = (route, key) => `${import.meta.env.VITE_CONTEXT}${allPath}${lang}/os-theme/${route}${key}`
147
+ const getTo = (route, key) => `${import.meta.env.VITE_CONTEXT}${allPath}${lang}/${theme}/${route}${key}`
148
148
 
149
149
  const changeLanguage = () => {
150
150
  appFn.toggleLang()
@@ -159,7 +159,7 @@ export default defineComponent({
159
159
 
160
160
  const clickMenu = (menu) => {
161
161
  if (menu.type === 'overview') {
162
- router.push(`${import.meta.env.VITE_CONTEXT}${allPath}${lang}/overview`)
162
+ router.push(`${import.meta.env.VITE_CONTEXT}${allPath}${lang}/${theme}/overview`)
163
163
  } else if (menu.type === 'docs') {
164
164
  router.push(getTo('docs/', menu.key))
165
165
  } else if (menu.type === 'components') {
@@ -211,7 +211,7 @@ export default defineComponent({
211
211
  collapseChange,
212
212
  themeData: getThemeData(),
213
213
  themeItemClick,
214
- currThemeLabel,
214
+ currentThemeKey,
215
215
  themeSvg,
216
216
  changeLanguage,
217
217
  apiModeState,
@@ -68,6 +68,7 @@ import TinyInput from '@opentiny/vue-input'
68
68
  import noDataSvg from '@/assets/images/no-data.svg?url'
69
69
  import searchSvg from '@/assets/images/search.svg?url'
70
70
  import { getWord, i18nByKey, isZhCn, pubUrl } from '@/tools'
71
+ import useTheme from '@/tools/useTheme'
71
72
 
72
73
  export default defineComponent({
73
74
  name: 'Overview',
@@ -94,7 +95,7 @@ export default defineComponent({
94
95
  }
95
96
  }
96
97
  function searchResultFn(event) {
97
- const value = event.target.value
98
+ const value = event
98
99
  const trimValue = value.replaceAll(' ', '').toLowerCase()
99
100
  const currentValue = trimValue
100
101
  const reg = new RegExp(currentValue, 'ig')
@@ -116,11 +117,13 @@ export default defineComponent({
116
117
  state.searchMenus = searchMenus
117
118
  }
118
119
  const lang = getWord('zh-CN', 'en-US')
119
- const allPathParam = useRoute().params.all
120
+ const { defaultThemeKey } = useTheme()
121
+ const { all: allPathParam, theme = defaultThemeKey } = useRoute().params
120
122
  const allPath = allPathParam ? allPathParam + '/' : ''
123
+
121
124
  let fn = {
122
125
  searchHandler: debounce(searchResultFn, 300),
123
- getTo: (key) => `${import.meta.env.VITE_CONTEXT}${allPath}${lang}/os-theme/components/${key}`,
126
+ getTo: (key) => `${import.meta.env.VITE_CONTEXT}${allPath}${lang}/${theme}/components/${key}`,
124
127
  getSvg: (key) => {
125
128
  // 表格示例单独另起了许多路由,统一使用表格组件图标
126
129
  if (key.startsWith('grid-')) {
@@ -1,10 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('背景图片', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('credit-card-form#background-image')
6
- await expect(page.locator('.-front > .credit-card-item__cover > img')).toHaveAttribute(
7
- 'src',
8
- '/static/images/mountain.png'
9
- )
10
- })
@@ -1,13 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('基本用法', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('credit-card-form#basic-usage')
6
- await expect(page.getByText('Card Number')).toBeVisible()
7
- await expect(page.locator('.credit-card-item__wrapper')).toBeVisible()
8
- await expect(page.locator('label').filter({ hasText: /^Card Holder$/ })).toBeVisible()
9
- await expect(page.locator('#v-card-cvv')).toBeVisible()
10
- await expect(page.getByRole('button', { name: '提交' })).toBeVisible()
11
- await page.getByLabel('#### #### #### ####').fill('1111 1111 1111 1111')
12
- await expect(page.getByText('1111 **** **** 1111')).toBeVisible()
13
- })
@@ -1,18 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('事件', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('credit-card-form#credit-card-form-events')
6
- await page.getByRole('button', { name: '提交' }).click()
7
- await page
8
- .locator('div')
9
- .filter({ hasText: '已提交的信息为:{"invaildCard":true,"cardName":"","cardNumber":"","cardMonth":"","cardYe' })
10
- .nth(1)
11
- .click()
12
- await expect(
13
- page
14
- .locator('div')
15
- .filter({ hasText: '已提交的信息为:{"invaildCard":true,"cardName":"","cardNumber":"","cardMonth":"","cardYe' })
16
- .nth(1)
17
- ).toBeVisible()
18
- })
@@ -1,25 +0,0 @@
1
- <template>
2
- <div>
3
- <tiny-button @click="fn" type="primary"> 抽屉默认插槽示例 </tiny-button>
4
- <tiny-drawer title="标题" :visible="visible" @update:visible="visible = $event">
5
- <div class="my-content">默认插槽内容</div>
6
- </tiny-drawer>
7
- </div>
8
- </template>
9
-
10
- <script setup>
11
- import { ref } from 'vue'
12
- import { Drawer as TinyDrawer, Button as TinyButton } from '@opentiny/vue'
13
-
14
- const visible = ref(false)
15
-
16
- function fn() {
17
- visible.value = true
18
- }
19
- </script>
20
-
21
- <style scoped>
22
- .my-content {
23
- padding: 16px 0;
24
- }
25
- </style>
@@ -1,11 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('默认插槽', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('drawer#default-slot')
6
-
7
- const drawer = page.locator('.tiny-drawer__main')
8
- await page.getByRole('button', { name: '抽屉默认插槽示例' }).click()
9
- await expect(drawer.locator('.tiny-drawer__body > div')).toHaveClass('my-content')
10
- await expect(drawer.locator('.tiny-drawer__body')).toHaveText('默认插槽内容')
11
- })
@@ -1,35 +0,0 @@
1
- <template>
2
- <div>
3
- <tiny-button @click="fn" type="primary"> 抽屉默认插槽示例 </tiny-button>
4
- <tiny-drawer title="标题" :visible="visible" @update:visible="visible = $event">
5
- <div class="my-content">默认插槽内容</div>
6
- </tiny-drawer>
7
- </div>
8
- </template>
9
-
10
- <script>
11
- import { Drawer, Button } from '@opentiny/vue'
12
-
13
- export default {
14
- components: {
15
- TinyDrawer: Drawer,
16
- TinyButton: Button
17
- },
18
- data() {
19
- return {
20
- visible: false
21
- }
22
- },
23
- methods: {
24
- fn() {
25
- this.visible = true
26
- }
27
- }
28
- }
29
- </script>
30
-
31
- <style scoped>
32
- .my-content {
33
- padding: 16px 0;
34
- }
35
- </style>
@@ -1,41 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('test', async ({ page }) => {
4
- await page.goto('font#english-fonts')
5
- await page.getByText('字体使用规范').click()
6
- await page.locator('.col-xs-10').first().click()
7
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/div[1]')).toHaveAttribute(
8
- 'class',
9
- 'tiny-row row-font-css font-38-css'
10
- )
11
- await page.locator('div:nth-child(2) > .col-xs-10').click()
12
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/div[2]')).toHaveAttribute(
13
- 'class',
14
- 'tiny-row row-font-css font-30-css'
15
- )
16
- await page.locator('div:nth-child(3) > .col-xs-10').click()
17
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/div[3]')).toHaveAttribute(
18
- 'class',
19
- 'tiny-row row-font-css font-24-css'
20
- )
21
- await page.locator('div:nth-child(4) > .col-xs-10').click()
22
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/div[4]')).toHaveAttribute(
23
- 'class',
24
- 'tiny-row row-font-css font-20-css'
25
- )
26
- await page.locator('div:nth-child(5) > .col-xs-10').click()
27
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/div[5]')).toHaveAttribute(
28
- 'class',
29
- 'tiny-row row-font-css font-16-css'
30
- )
31
- await page.locator('div:nth-child(6) > .col-xs-10').click()
32
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/div[6]')).toHaveAttribute(
33
- 'class',
34
- 'tiny-row row-font-css font-14-css'
35
- )
36
- await page.locator('div:nth-child(7) > .col-xs-10').click()
37
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/div[7]')).toHaveAttribute(
38
- 'class',
39
- 'tiny-row row-font-css font-12-css'
40
- )
41
- })
@@ -1,10 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('test', async ({ page }) => {
4
- await page.goto('font#Font-usage-specifications')
5
- await page.getByText('中文字体集').click()
6
- await page.getByRole('heading', { name: '用户体验' }).click()
7
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/h1')).toHaveText('用户体验')
8
- await page.getByRole('heading', { name: '微软雅黑' }).click()
9
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/h5')).toHaveText('微软雅黑')
10
- })
@@ -1,10 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('test', async ({ page }) => {
4
- await page.goto('font#chinese-font-set')
5
- await page.getByText('英文字体').click()
6
- await page.getByRole('heading', { name: 'User Experience Design' }).click()
7
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/h1')).toHaveText('User Experience Design')
8
- await page.getByRole('heading', { name: 'Helvetica' }).click()
9
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]/h5')).toHaveText('Helvetica')
10
- })
@@ -1,13 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('权签类别', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('hrapprover#category-type')
6
- await page.locator('#preview').getByRole('img').nth(1).click()
7
- await expect(
8
- page.getByText(
9
- '辅助查询编码名称加载中公司加载中一级部门加载中二级部门加载中三级部门加载中四级部门加载中五级部门加载中六级部门加载中七级部门加载中八级部门加载中已选没有权签人'
10
- )
11
- ).toBeVisible()
12
- await expect(page.locator('div').filter({ hasText: /^确定取消$/ })).toBeVisible()
13
- })
@@ -1,16 +0,0 @@
1
- <template>
2
- <tiny-button @click="btnClick" :reset-time="0">提示框最小高度为300</tiny-button>
3
- </template>
4
-
5
- <script setup>
6
- import { Button as TinyButton, Modal } from '@opentiny/vue'
7
-
8
- function btnClick() {
9
- Modal.alert({
10
- message: '提示框拖动最小高度为300',
11
- resize: true,
12
- height: 500,
13
- minHeight: 300
14
- })
15
- }
16
- </script>
@@ -1,21 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('调整窗口后显示的最小高度', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('modal#min-height')
6
-
7
- await page.getByRole('button', { name: '提示框最小高度为300' }).click()
8
- const modal = page.locator('.tiny-modal.active .tiny-modal__box')
9
- // 获取弹窗位置
10
- const { x, y, height } = await modal.boundingBox()
11
- // 开始横线拖动
12
- await page.mouse.move(x, y + height)
13
- await page.mouse.down()
14
- await page.mouse.move(x, y + 100)
15
- await page.mouse.move(x, y + height - 200)
16
- await page.mouse.up()
17
-
18
- // 判断窗口高度是否不小于限定最小高度
19
- const { height: finalHeight } = await modal.boundingBox()
20
- expect(Math.round(finalHeight)).toBeGreaterThanOrEqual(300)
21
- })
@@ -1,23 +0,0 @@
1
- <template>
2
- <tiny-button @click="btnClick" :reset-time="0">提示框最小高度为300</tiny-button>
3
- </template>
4
-
5
- <script>
6
- import { Button, Modal } from '@opentiny/vue'
7
-
8
- export default {
9
- components: {
10
- TinyButton: Button
11
- },
12
- methods: {
13
- btnClick() {
14
- Modal.alert({
15
- message: '提示框拖动最小高度为300',
16
- resize: true,
17
- height: 500,
18
- minHeight: 300
19
- })
20
- }
21
- }
22
- }
23
- </script>
@@ -1,11 +0,0 @@
1
- <template>
2
- <tiny-button @click="btnClick" :reset-time="0">不显示底部</tiny-button>
3
- </template>
4
-
5
- <script setup>
6
- import { Button as TinyButton, Modal } from '@opentiny/vue'
7
-
8
- function btnClick() {
9
- Modal.alert({ message: '不显示底部', showFooter: false })
10
- }
11
- </script>
@@ -1,10 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('不显示底部', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('modal#showFooter')
6
-
7
- const modal = page.locator('.tiny-modal.active')
8
- await page.getByRole('button', { name: '不显示底部' }).click()
9
- await expect(modal.locator('.tiny-modal__footer')).not.toBeVisible()
10
- })
@@ -1,18 +0,0 @@
1
- <template>
2
- <tiny-button @click="btnClick" :reset-time="0">不显示底部</tiny-button>
3
- </template>
4
-
5
- <script>
6
- import { Button, Modal } from '@opentiny/vue'
7
-
8
- export default {
9
- components: {
10
- TinyButton: Button
11
- },
12
- methods: {
13
- btnClick() {
14
- Modal.alert({ message: '不显示底部', showFooter: false })
15
- }
16
- }
17
- }
18
- </script>
@@ -1,11 +0,0 @@
1
- <template>
2
- <tiny-button @click="btnClick" :reset-time="0">不显示头部</tiny-button>
3
- </template>
4
-
5
- <script setup>
6
- import { Button as TinyButton, Modal } from '@opentiny/vue'
7
-
8
- function btnClick() {
9
- Modal.alert({ message: '不显示头部', showHeader: false })
10
- }
11
- </script>