@opentiny/vue-docs 2.2.8 → 2.2.9

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 (453) hide show
  1. package/demos/mobile/app/button/base.vue +42 -0
  2. package/demos/mobile/app/button/disabled.vue +42 -0
  3. package/demos/mobile/app/button/event.vue +46 -0
  4. package/demos/mobile/app/button/icon.vue +8 -7
  5. package/demos/mobile/app/button/loading.vue +21 -9
  6. package/demos/mobile/app/button/reset-time.vue +9 -16
  7. package/demos/mobile/app/button/size.vue +28 -11
  8. package/demos/mobile/app/button/webdoc/button.js +43 -98
  9. package/demos/mobile/app/file-upload/custom-upload-tip.vue +1 -1
  10. package/demos/mobile/app/switch/webdoc/switch.cn.md +3 -4
  11. package/demos/mobile-first/app/switch/webdoc/switch.cn.md +1 -1
  12. package/demos/mobile-first/app/switch/webdoc/switch.en.md +1 -1
  13. package/demos/pc/app/action-menu/webdoc/action-menu.js +2 -2
  14. package/demos/pc/app/alert/basic-usage-composition-api.vue +1 -0
  15. package/demos/pc/app/alert/basic-usage.vue +1 -0
  16. package/demos/pc/app/alert/custom-close.spec.ts +1 -1
  17. package/demos/pc/app/alert/icon-composition-api.vue +3 -2
  18. package/demos/pc/app/alert/icon.vue +4 -3
  19. package/demos/pc/app/alert/webdoc/alert.js +12 -2
  20. package/demos/pc/app/anchor/basic-usage-composition-api.vue +7 -7
  21. package/demos/pc/app/anchor/basic-usage.spec.ts +2 -2
  22. package/demos/pc/app/anchor/basic-usage.vue +7 -7
  23. package/demos/pc/app/anchor/change-composition-api.vue +7 -7
  24. package/demos/pc/app/anchor/change.spec.ts +2 -2
  25. package/demos/pc/app/anchor/change.vue +7 -7
  26. package/demos/pc/app/anchor/is-affix-composition-api.vue +7 -7
  27. package/demos/pc/app/anchor/is-affix.vue +7 -7
  28. package/demos/pc/app/anchor/webdoc/anchor.js +4 -4
  29. package/demos/pc/app/autocomplete/webdoc/autocomplete.js +2 -2
  30. package/demos/pc/app/badge/webdoc/badge.js +1 -1
  31. package/demos/pc/app/button/webdoc/button.js +1 -1
  32. package/demos/pc/app/button-group/basic-usage.spec.ts +1 -0
  33. package/demos/pc/app/button-group/slot-empty-composition-api.vue +25 -0
  34. package/demos/pc/app/button-group/slot-empty.spec.ts +11 -0
  35. package/demos/pc/app/button-group/slot-empty.vue +33 -0
  36. package/demos/pc/app/button-group/webdoc/button-group.js +9 -0
  37. package/demos/pc/app/calendar/basic-usage-composition-api.vue +1 -1
  38. package/demos/pc/app/calendar/basic-usage.spec.ts +33 -0
  39. package/demos/pc/app/calendar/basic-usage.vue +1 -1
  40. package/demos/pc/app/calendar/calendar-mode-composition-api.vue +1 -1
  41. package/demos/pc/app/calendar/calendar-mode.spec.ts +33 -0
  42. package/demos/pc/app/calendar/calendar-mode.vue +1 -1
  43. package/demos/pc/app/calendar/custom-calendar-toolbar-composition-api.vue +3 -3
  44. package/demos/pc/app/calendar/custom-calendar-toolbar.spec.ts +18 -0
  45. package/demos/pc/app/calendar/custom-calendar-toolbar.vue +3 -3
  46. package/demos/pc/app/calendar/custom-day-cell-composition-api.vue +1 -1
  47. package/demos/pc/app/calendar/custom-day-cell.spec.ts +10 -0
  48. package/demos/pc/app/calendar/custom-day-cell.vue +1 -1
  49. package/demos/pc/app/calendar/dynamic-add-schedule-composition-api.vue +1 -1
  50. package/demos/pc/app/calendar/dynamic-add-schedule.spec.ts +26 -0
  51. package/demos/pc/app/calendar/dynamic-add-schedule.vue +1 -1
  52. package/demos/pc/app/calendar/show-selected-date-composition-api.vue +1 -1
  53. package/demos/pc/app/calendar/show-selected-date.spec.ts +14 -0
  54. package/demos/pc/app/calendar/show-selected-date.vue +1 -1
  55. package/demos/pc/app/calendar/webdoc/calendar.js +22 -8
  56. package/demos/pc/app/calendar-view/basic-usage.spec.ts +18 -0
  57. package/demos/pc/app/calendar-view/calendar-day-mark.spec.ts +23 -0
  58. package/demos/pc/app/calendar-view/calendar-disabled-day-composition-api.vue +2 -2
  59. package/demos/pc/app/calendar-view/calendar-disabled-day.spec.ts +12 -0
  60. package/demos/pc/app/calendar-view/calendar-disabled-day.vue +1 -1
  61. package/demos/pc/app/calendar-view/calendar-event.spec.ts +25 -0
  62. package/demos/pc/app/calendar-view/calendar-mode.spec.ts +25 -0
  63. package/demos/pc/app/calendar-view/calendar-schedule-slot.spec.ts +18 -0
  64. package/demos/pc/app/calendar-view/calendar-timeline-range.spec.ts +11 -0
  65. package/demos/pc/app/calendar-view/calendar-timeline-slot.spec.ts +23 -0
  66. package/demos/pc/app/calendar-view/custom-calendar-toolbar.spec.ts +8 -0
  67. package/demos/pc/app/calendar-view/custom-day-bg-color.spec.ts +8 -0
  68. package/demos/pc/app/calendar-view/custom-header.spec.ts +11 -0
  69. package/demos/pc/app/calendar-view/multi-select-composition-api.vue +2 -2
  70. package/demos/pc/app/calendar-view/multi-select.spec.ts +13 -0
  71. package/demos/pc/app/calendar-view/multi-select.vue +1 -1
  72. package/demos/pc/app/calendar-view/set-working-day-composition-api.vue +3 -7
  73. package/demos/pc/app/calendar-view/set-working-day.spec.ts +22 -0
  74. package/demos/pc/app/calendar-view/set-working-day.vue +1 -1
  75. package/demos/pc/app/calendar-view/webdoc/calendar-view.js +1 -1
  76. package/demos/pc/app/carousel/autoplay-composition-api.vue +2 -2
  77. package/demos/pc/app/carousel/autoplay.spec.ts +2 -0
  78. package/demos/pc/app/carousel/autoplay.vue +2 -2
  79. package/demos/pc/app/carousel/basic-usage-composition-api.vue +2 -2
  80. package/demos/pc/app/carousel/basic-usage.spec.ts +1 -8
  81. package/demos/pc/app/carousel/basic-usage.vue +2 -2
  82. package/demos/pc/app/carousel/card-mode-composition-api.vue +2 -2
  83. package/demos/pc/app/carousel/card-mode.vue +2 -2
  84. package/demos/pc/app/carousel/carousel-arrow-always-composition-api.vue +2 -2
  85. package/demos/pc/app/carousel/carousel-arrow-always.vue +2 -2
  86. package/demos/pc/app/carousel/carousel-arrow-hover-composition-api.vue +2 -2
  87. package/demos/pc/app/carousel/carousel-arrow-hover.vue +2 -2
  88. package/demos/pc/app/carousel/carousel-arrow-never-composition-api.vue +2 -2
  89. package/demos/pc/app/carousel/carousel-arrow-never.vue +2 -2
  90. package/demos/pc/app/carousel/carousel-events-composition-api.vue +2 -2
  91. package/demos/pc/app/carousel/carousel-events.vue +2 -2
  92. package/demos/pc/app/carousel/close-loop-composition-api.vue +2 -2
  93. package/demos/pc/app/carousel/close-loop.vue +2 -2
  94. package/demos/pc/app/carousel/custom-height-composition-api.vue +2 -2
  95. package/demos/pc/app/carousel/custom-height.vue +2 -2
  96. package/demos/pc/app/carousel/indicator-trigger-composition-api.vue +2 -2
  97. package/demos/pc/app/carousel/indicator-trigger.vue +2 -2
  98. package/demos/pc/app/carousel/initial-index-composition-api.vue +2 -2
  99. package/demos/pc/app/carousel/initial-index.vue +2 -2
  100. package/demos/pc/app/carousel/manual-play-composition-api.vue +19 -8
  101. package/demos/pc/app/carousel/manual-play.vue +18 -8
  102. package/demos/pc/app/carousel/play-interval-composition-api.vue +2 -2
  103. package/demos/pc/app/carousel/play-interval.vue +2 -2
  104. package/demos/pc/app/carousel/show-title-composition-api.vue +2 -2
  105. package/demos/pc/app/carousel/show-title.vue +2 -2
  106. package/demos/pc/app/carousel/up-down-carousel-composition-api.vue +2 -2
  107. package/demos/pc/app/carousel/up-down-carousel.vue +2 -2
  108. package/demos/pc/app/chart/histogram/demo4-composition-api.vue +0 -2
  109. package/demos/pc/app/chart/histogram/demo4.vue +0 -2
  110. package/demos/pc/app/checkbox/checkbox-events-composition-api.vue +2 -3
  111. package/demos/pc/app/checkbox/checkbox-events.vue +2 -3
  112. package/demos/pc/app/checkbox/group-options-composition-api.vue +1 -1
  113. package/demos/pc/app/checkbox/group-options.vue +1 -1
  114. package/demos/pc/app/checkbox/size-composition-api.vue +0 -1
  115. package/demos/pc/app/checkbox/text-composition-api.vue +3 -2
  116. package/demos/pc/app/checkbox/text.vue +2 -1
  117. package/demos/pc/app/checkbox/webdoc/checkbox.js +3 -3
  118. package/demos/pc/app/collapse/title-composition-api.vue +3 -2
  119. package/demos/pc/app/collapse/title.vue +3 -2
  120. package/demos/pc/app/collapse/webdoc/collapse.js +11 -11
  121. package/demos/pc/app/config-provider/webdoc/config-provider.js +3 -3
  122. package/demos/pc/app/date-picker/align.spec.ts +11 -12
  123. package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -23
  124. package/demos/pc/app/date-picker/clear.spec.ts +24 -5
  125. package/demos/pc/app/date-picker/date-range.spec.ts +63 -11
  126. package/demos/pc/app/date-picker/default-value.spec.ts +19 -4
  127. package/demos/pc/app/date-picker/events.spec.ts +24 -10
  128. package/demos/pc/app/date-picker/format.spec.ts +12 -11
  129. package/demos/pc/app/date-picker/shortcuts.spec.ts +6 -5
  130. package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
  131. package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
  132. package/demos/pc/app/dialog-box/center-composition-api.vue +2 -2
  133. package/demos/pc/app/dialog-box/center.vue +2 -2
  134. package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +2 -2
  135. package/demos/pc/app/dialog-box/close-on-click-modal.vue +2 -2
  136. package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +2 -2
  137. package/demos/pc/app/dialog-box/close-on-press-escape.vue +2 -2
  138. package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +2 -2
  139. package/demos/pc/app/dialog-box/custom-dialog-content.vue +2 -2
  140. package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
  141. package/demos/pc/app/dialog-box/custom-dialog-footer.vue +4 -4
  142. package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
  143. package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
  144. package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
  145. package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
  146. package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +3 -3
  147. package/demos/pc/app/dialog-box/dialog-width.vue +3 -3
  148. package/demos/pc/app/dialog-box/lock-scroll-composition-api.vue +2 -2
  149. package/demos/pc/app/dialog-box/lock-scroll.vue +2 -2
  150. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +63 -63
  151. package/demos/pc/app/dialog-select/nest-grid-multi-composition-api.vue +9 -3
  152. package/demos/pc/app/dialog-select/nest-grid-multi.vue +8 -3
  153. package/demos/pc/app/dialog-select/nest-grid-single-composition-api.vue +3 -2
  154. package/demos/pc/app/dialog-select/nest-grid-single.vue +3 -2
  155. package/demos/pc/app/dialog-select/nest-tree-multi-composition-api.vue +3 -2
  156. package/demos/pc/app/dialog-select/nest-tree-multi.vue +3 -2
  157. package/demos/pc/app/dialog-select/nest-tree-single-composition-api.vue +3 -2
  158. package/demos/pc/app/dialog-select/nest-tree-single.vue +3 -2
  159. package/demos/pc/app/dialog-select/webdoc/dialog-select.js +90 -42
  160. package/demos/pc/app/drawer/confirm-event-composition-api.vue +1 -1
  161. package/demos/pc/app/drawer/confirm-event.vue +1 -1
  162. package/demos/pc/app/drawer/webdoc/drawer.cn.md +1 -1
  163. package/demos/pc/app/drawer/webdoc/drawer.en.md +7 -0
  164. package/demos/pc/app/drawer/webdoc/drawer.js +94 -47
  165. package/demos/pc/app/drawer/z-index-composition-api.vue +1 -1
  166. package/demos/pc/app/drawer/z-index.spec.ts +1 -1
  167. package/demos/pc/app/drawer/z-index.vue +1 -1
  168. package/demos/pc/app/drop-times/basic-usage.spec.ts +1 -1
  169. package/demos/pc/app/drop-times/size.spec.ts +5 -1
  170. package/demos/pc/app/drop-times/start-end-step.spec.ts +1 -1
  171. package/demos/pc/app/dropdown/webdoc/dropdown.js +2 -2
  172. package/demos/pc/app/fall-menu/webdoc/fall-menu.js +4 -10
  173. package/demos/pc/app/file-upload/abort-quest-composition-api.vue +1 -1
  174. package/demos/pc/app/file-upload/abort-quest.vue +1 -1
  175. package/demos/pc/app/file-upload/basic-usage.spec.ts +2 -2
  176. package/demos/pc/app/file-upload/{prevent-upload-file-composition-api.vue → before-upload-limit-composition-api.vue} +13 -5
  177. package/demos/pc/app/file-upload/{prevent-upload-file.spec.ts → before-upload-limit.spec.ts} +9 -4
  178. package/demos/pc/app/file-upload/{prevent-upload-file.vue → before-upload-limit.vue} +15 -5
  179. package/demos/pc/app/file-upload/custom-upload-tip-composition-api.vue +1 -1
  180. package/demos/pc/app/file-upload/custom-upload-tip.spec.ts +1 -1
  181. package/demos/pc/app/file-upload/custom-upload-tip.vue +1 -1
  182. package/demos/pc/app/file-upload/form-validation-composition-api.vue +10 -4
  183. package/demos/pc/app/file-upload/form-validation.vue +9 -3
  184. package/demos/pc/app/file-upload/multiple-file.spec.ts +3 -1
  185. package/demos/pc/app/file-upload/upload-events-composition-api.vue +8 -8
  186. package/demos/pc/app/file-upload/upload-events.vue +8 -8
  187. package/demos/pc/app/file-upload/upload-request-composition-api.vue +1 -1
  188. package/demos/pc/app/file-upload/upload-request.vue +1 -1
  189. package/demos/pc/app/file-upload/webdoc/file-upload.js +97 -96
  190. package/demos/pc/app/form/form-validation-composition-api.vue +2 -2
  191. package/demos/pc/app/form/form-validation.vue +1 -1
  192. package/demos/pc/app/form/label-position.spec.ts +3 -0
  193. package/demos/pc/app/form/popper-options.spec.ts +1 -0
  194. package/demos/pc/app/form/slot-label-composition-api.vue +1 -1
  195. package/demos/pc/app/form/validate-debounce-composition-api.vue +3 -3
  196. package/demos/pc/app/form/validate-debounce.vue +3 -3
  197. package/demos/pc/app/form/webdoc/form.js +10 -9
  198. package/demos/pc/app/grid/dynamically-columns/dynamically-columns-composition-api.vue +6 -4
  199. package/demos/pc/app/grid/dynamically-columns/dynamically-columns.vue +6 -4
  200. package/demos/pc/app/grid/dynamically-columns/reverse-row-composition-api.vue +3 -1
  201. package/demos/pc/app/grid/dynamically-columns/reverse-row.vue +3 -1
  202. package/demos/pc/app/grid/faq/grid-in-dialog-box-composition-api.vue +1 -1
  203. package/demos/pc/app/grid/faq/grid-in-dialog-box.spec.js +1 -1
  204. package/demos/pc/app/grid/faq/grid-in-dialog-box.vue +1 -1
  205. package/demos/pc/app/grid/filter/advanced-filter-composition-api.vue +0 -15
  206. package/demos/pc/app/grid/filter/advanced-filter.spec.js +1 -1
  207. package/demos/pc/app/grid/filter/advanced-filter.vue +0 -14
  208. package/demos/pc/app/grid/filter/custom-filter.spec.js +1 -1
  209. package/demos/pc/app/grid/filter/default-filter-composition-api.vue +1 -1
  210. package/demos/pc/app/grid/filter/default-filter.spec.ts +1 -1
  211. package/demos/pc/app/grid/filter/default-filter.vue +1 -1
  212. package/demos/pc/app/grid/filter/simple-default-value-filter-composition-api.vue +0 -14
  213. package/demos/pc/app/grid/filter/simple-default-value-filter.vue +0 -14
  214. package/demos/pc/app/grid/filter/simple-filter-composition-api.vue +0 -14
  215. package/demos/pc/app/grid/filter/simple-filter.vue +0 -14
  216. package/demos/pc/app/grid/footer/configuration-summary.spec.js +1 -1
  217. package/demos/pc/app/grid/highlight/set-current-row-composition-api.vue +4 -1
  218. package/demos/pc/app/grid/highlight/set-current-row.vue +4 -1
  219. package/demos/pc/app/grid/large-data/scroll-to-composition-api.vue +6 -3
  220. package/demos/pc/app/grid/large-data/scroll-to.vue +6 -3
  221. package/demos/pc/app/grid/pager/inner-pager-composition-api.vue +1 -1
  222. package/demos/pc/app/grid/pager/inner-pager.spec.js +1 -1
  223. package/demos/pc/app/grid/pager/inner-pager.vue +1 -1
  224. package/demos/pc/app/grid/sort/server-sort-composition-api.vue +3 -3
  225. package/demos/pc/app/grid/sort/server-sort.vue +2 -2
  226. package/demos/pc/app/grid/sort/sort-composition-api.vue +4 -1
  227. package/demos/pc/app/grid/sort/sort.spec.js +1 -1
  228. package/demos/pc/app/grid/sort/sort.vue +4 -1
  229. package/demos/pc/app/grid/toolbar/insert-delete-update-composition-api.vue +2 -1
  230. package/demos/pc/app/grid/toolbar/insert-delete-update.vue +2 -1
  231. package/demos/pc/app/grid/toolbar/toolbar-op-config-composition-api.vue +3 -2
  232. package/demos/pc/app/grid/toolbar/toolbar-op-config.vue +3 -2
  233. package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +5 -5
  234. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +2 -2
  235. package/demos/pc/app/grid/validation/before-submit-validation.vue +5 -5
  236. package/demos/pc/app/grid/webdoc/grid-appearance-settings.js +2 -2
  237. package/demos/pc/app/grid/webdoc/grid-context-menu.js +4 -4
  238. package/demos/pc/app/grid/webdoc/grid-custom-style.js +2 -2
  239. package/demos/pc/app/grid/webdoc/grid-custom.js +31 -31
  240. package/demos/pc/app/grid/webdoc/grid-drag.js +1 -1
  241. package/demos/pc/app/grid/webdoc/grid-dynamically-columns.js +4 -1
  242. package/demos/pc/app/grid/webdoc/grid-editor.js +2 -2
  243. package/demos/pc/app/grid/webdoc/grid-empty.js +4 -1
  244. package/demos/pc/app/grid/webdoc/grid-expand.js +3 -3
  245. package/demos/pc/app/grid/webdoc/grid-faq.js +4 -4
  246. package/demos/pc/app/grid/webdoc/grid-filter.js +4 -4
  247. package/demos/pc/app/grid/webdoc/grid-footer.js +1 -1
  248. package/demos/pc/app/grid/webdoc/grid-highlight.js +2 -2
  249. package/demos/pc/app/grid/webdoc/grid-import-export.js +5 -2
  250. package/demos/pc/app/grid/webdoc/grid-large-data.js +6 -5
  251. package/demos/pc/app/grid/webdoc/grid-mouse-keyboard.js +2 -2
  252. package/demos/pc/app/grid/webdoc/grid-pager.js +11 -2
  253. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -11
  254. package/demos/pc/app/grid/webdoc/grid-row-grouping.js +2 -2
  255. package/demos/pc/app/grid/webdoc/grid-size.js +6 -6
  256. package/demos/pc/app/grid/webdoc/grid-slot.js +16 -4
  257. package/demos/pc/app/grid/webdoc/grid-tip.js +3 -3
  258. package/demos/pc/app/grid/webdoc/grid-toolbar.js +17 -9
  259. package/demos/pc/app/grid/webdoc/grid-tree-table.js +9 -7
  260. package/demos/pc/app/grid/webdoc/grid-validation.js +6 -6
  261. package/demos/pc/app/grid/webdoc/grid.js +160 -85
  262. package/demos/pc/app/icon/iconGroups.js +1 -0
  263. package/demos/pc/app/icon/list-composition-api.vue +8 -0
  264. package/demos/pc/app/icon/list.vue +7 -0
  265. package/demos/pc/app/image/basic-usage.spec.ts +1 -1
  266. package/demos/pc/app/image/events.spec.ts +1 -1
  267. package/demos/pc/app/image/lazy.spec.ts +1 -1
  268. package/demos/pc/app/image/preview-in-dialog.spec.ts +1 -1
  269. package/demos/pc/app/image/preview.spec.ts +1 -1
  270. package/demos/pc/app/image/slot.spec.ts +1 -1
  271. package/demos/pc/app/image/webdoc/image.cn.md +3 -1
  272. package/demos/pc/app/image/webdoc/image.en.md +3 -1
  273. package/demos/pc/app/image/webdoc/image.js +34 -18
  274. package/demos/pc/app/input/method-addMemory-composition-api.vue +1 -0
  275. package/demos/pc/app/input/method-addMemory.spec.ts +11 -0
  276. package/demos/pc/app/input/method-addMemory.vue +1 -0
  277. package/demos/pc/app/input/webdoc/input.js +12 -2
  278. package/demos/pc/app/ip-address/webdoc/ip-address.cn.md +2 -2
  279. package/demos/pc/app/ip-address/webdoc/ip-address.js +2 -2
  280. package/demos/pc/app/link/webdoc/link.js +1 -1
  281. package/demos/pc/app/loading/webdoc/loading.js +1 -1
  282. package/demos/pc/app/milestone/show-number-composition-api.vue +1 -1
  283. package/demos/pc/app/milestone/show-number.vue +1 -1
  284. package/demos/pc/app/milestone/solid-style-composition-api.vue +1 -1
  285. package/demos/pc/app/milestone/solid-style.vue +1 -1
  286. package/demos/pc/app/milestone/webdoc/milestone.js +9 -9
  287. package/demos/pc/app/mind-map/basic-usage-composition-api.vue +14 -0
  288. package/demos/pc/app/mind-map/basic-usage.spec.ts +36 -0
  289. package/demos/pc/app/mind-map/basic-usage.vue +20 -0
  290. package/demos/pc/app/mind-map/event-composition-api.vue +125 -0
  291. package/demos/pc/app/mind-map/event.spec.ts +52 -0
  292. package/demos/pc/app/mind-map/event.vue +136 -0
  293. package/demos/pc/app/mind-map/export-data-composition-api.vue +108 -0
  294. package/demos/pc/app/mind-map/export-data.spec.ts +19 -0
  295. package/demos/pc/app/mind-map/export-data.vue +119 -0
  296. package/demos/pc/app/mind-map/webdoc/mind-map.cn.md +7 -0
  297. package/demos/pc/app/mind-map/webdoc/mind-map.en.md +7 -0
  298. package/demos/pc/app/mind-map/webdoc/mind-map.js +250 -0
  299. package/demos/pc/app/modal/webdoc/modal.js +47 -47
  300. package/demos/pc/app/nav-menu/custom-service-composition-api.vue +5 -5
  301. package/demos/pc/app/nav-menu/custom-service.vue +5 -5
  302. package/demos/pc/app/notify/webdoc/notify.js +9 -6
  303. package/demos/pc/app/numeric/webdoc/numeric.js +23 -23
  304. package/demos/pc/app/pager/before-page-change-composition-api.vue +1 -1
  305. package/demos/pc/app/pager/before-page-change.vue +1 -1
  306. package/demos/pc/app/pager/custom-layout-composition-api.vue +8 -6
  307. package/demos/pc/app/pager/custom-layout.vue +8 -6
  308. package/demos/pc/app/pager/custom-total-composition-api.vue +20 -18
  309. package/demos/pc/app/pager/custom-total.vue +20 -18
  310. package/demos/pc/app/pager/hide-on-single-page-composition-api.vue +1 -1
  311. package/demos/pc/app/pager/hide-on-single-page.spec.ts +1 -1
  312. package/demos/pc/app/pager/hide-on-single-page.vue +1 -1
  313. package/demos/pc/app/pager/pager-event-composition-api.vue +10 -5
  314. package/demos/pc/app/pager/pager-event.vue +10 -5
  315. package/demos/pc/app/pager/webdoc/pager.js +3 -3
  316. package/demos/pc/app/pop-upload/webdoc/pop-upload.js +3 -3
  317. package/demos/pc/app/popconfirm/webdoc/popconfirm.js +1 -1
  318. package/demos/pc/app/progress/custom-color-composition-api.vue +10 -5
  319. package/demos/pc/app/progress/custom-color.spec.ts +14 -1
  320. package/demos/pc/app/progress/custom-color.vue +10 -5
  321. package/demos/pc/app/progress/custom-status-composition-api.vue +30 -11
  322. package/demos/pc/app/progress/custom-status.vue +30 -11
  323. package/demos/pc/app/progress/webdoc/progress.js +7 -8
  324. package/demos/pc/app/qr-code/level-composition-api.vue +5 -8
  325. package/demos/pc/app/qr-code/style-composition-api.vue +1 -0
  326. package/demos/pc/app/qr-code/style.vue +1 -0
  327. package/demos/pc/app/qr-code/webdoc/qr-code.js +22 -10
  328. package/demos/pc/app/radio/group-options-composition-api.vue +13 -0
  329. package/demos/pc/app/radio/group-options.vue +20 -2
  330. package/demos/pc/app/radio/webdoc/radio.js +3 -3
  331. package/demos/pc/app/rate/webdoc/rate.js +8 -10
  332. package/demos/pc/app/search/events-composition-api.vue +4 -4
  333. package/demos/pc/app/search/events.vue +4 -4
  334. package/demos/pc/app/search/slot-prefix-composition-api.vue +1 -1
  335. package/demos/pc/app/search/slot-prefix.vue +1 -1
  336. package/demos/pc/app/search/webdoc/search.js +2 -2
  337. package/demos/pc/app/select/basic-usage-composition-api.vue +11 -6
  338. package/demos/pc/app/select/basic-usage.spec.ts +34 -9
  339. package/demos/pc/app/select/basic-usage.vue +11 -6
  340. package/demos/pc/app/select/clear-no-match-value-composition-api.vue +1 -1
  341. package/demos/pc/app/select/clear-no-match-value.vue +1 -1
  342. package/demos/pc/app/select/events-composition-api.vue +12 -6
  343. package/demos/pc/app/select/events.vue +10 -5
  344. package/demos/pc/app/select/is-drop-inherit-width-composition-api.vue +1 -2
  345. package/demos/pc/app/select/is-drop-inherit-width.vue +1 -2
  346. package/demos/pc/app/select/no-data-text-composition-api.vue +1 -1
  347. package/demos/pc/app/select/no-data-text.spec.ts +1 -1
  348. package/demos/pc/app/select/no-data-text.vue +1 -1
  349. package/demos/pc/app/select/optimization-composition-api.vue +5 -2
  350. package/demos/pc/app/select/optimization.vue +4 -1
  351. package/demos/pc/app/select/option-group-composition-api.vue +33 -11
  352. package/demos/pc/app/select/option-group.spec.ts +2 -2
  353. package/demos/pc/app/select/option-group.vue +34 -13
  354. package/demos/pc/app/select/slot-default-composition-api.vue +49 -13
  355. package/demos/pc/app/select/slot-default.spec.ts +5 -2
  356. package/demos/pc/app/select/slot-default.vue +50 -14
  357. package/demos/pc/app/select/slot-empty-composition-api.vue +16 -3
  358. package/demos/pc/app/select/slot-empty.spec.ts +1 -1
  359. package/demos/pc/app/select/slot-empty.vue +18 -4
  360. package/demos/pc/app/select/webdoc/select.js +89 -16
  361. package/demos/pc/app/slider/basic-usage-composition-api.vue +1 -1
  362. package/demos/pc/app/slider/basic-usage.vue +1 -1
  363. package/demos/pc/app/switch/before-change-composition-api.vue +4 -1
  364. package/demos/pc/app/switch/before-change.vue +4 -3
  365. package/demos/pc/app/switch/custom-true-false-value-composition-api.vue +1 -1
  366. package/demos/pc/app/switch/custom-true-false-value.spec.ts +2 -2
  367. package/demos/pc/app/switch/custom-true-false-value.vue +1 -1
  368. package/demos/pc/app/switch/event-change-composition-api.vue +1 -1
  369. package/demos/pc/app/switch/event-change.vue +1 -1
  370. package/demos/pc/app/switch/webdoc/switch.cn.md +1 -1
  371. package/demos/pc/app/switch/webdoc/switch.js +1 -1
  372. package/demos/pc/app/tabs/webdoc/tabs.js +3 -3
  373. package/demos/pc/app/tag/webdoc/tag.js +1 -1
  374. package/demos/pc/app/tag-group/basic-usage.vue +1 -1
  375. package/demos/pc/app/tag-group/webdoc/tag-group.js +2 -2
  376. package/demos/pc/app/time-select/basic-usage.spec.ts +6 -5
  377. package/demos/pc/app/time-select/clear-icon.spec.ts +7 -5
  378. package/demos/pc/app/time-select/default-value.spec.ts +3 -2
  379. package/demos/pc/app/time-select/event-blur.spec.ts +2 -2
  380. package/demos/pc/app/time-select/focus.spec.ts +5 -4
  381. package/demos/pc/app/time-select/picker-options.spec.ts +1 -1
  382. package/demos/pc/app/time-select/range-placeholder.spec.ts +16 -13
  383. package/demos/pc/app/time-select/size-medium.spec.ts +5 -1
  384. package/demos/pc/app/toggle-menu/webdoc/toggle-menu.js +2 -2
  385. package/demos/pc/app/transfer/basic-usage.spec.ts +1 -1
  386. package/demos/pc/app/transfer/before-transfer.spec.ts +1 -1
  387. package/demos/pc/app/transfer/custom-btns.spec.ts +1 -1
  388. package/demos/pc/app/transfer/custom-filter.spec.ts +1 -1
  389. package/demos/pc/app/transfer/custom-footer.spec.ts +2 -1
  390. package/demos/pc/app/transfer/custom-render.spec.ts +1 -1
  391. package/demos/pc/app/transfer/custom-titles.spec.ts +1 -1
  392. package/demos/pc/app/transfer/default-checked.spec.ts +1 -1
  393. package/demos/pc/app/transfer/drop-config.spec.ts +1 -1
  394. package/demos/pc/app/transfer/nested-table.spec.ts +1 -1
  395. package/demos/pc/app/transfer/nested-tree.spec.ts +1 -1
  396. package/demos/pc/app/transfer/target-order.spec.ts +1 -1
  397. package/demos/pc/app/transfer/transfer-events.spec.ts +1 -1
  398. package/demos/pc/app/transfer/webdoc/transfer.cn.md +1 -1
  399. package/demos/pc/app/transfer/webdoc/transfer.en.md +3 -3
  400. package/demos/pc/app/transfer/webdoc/transfer.js +76 -43
  401. package/demos/pc/app/tree/basic-usage.spec.ts +1 -1
  402. package/demos/pc/app/tree/check-op.spec.ts +1 -1
  403. package/demos/pc/app/tree/checkbox.spec.ts +1 -1
  404. package/demos/pc/app/tree/contextmenu.spec.ts +1 -1
  405. package/demos/pc/app/tree/drag.spec.ts +1 -1
  406. package/demos/pc/app/tree/edit.spec.ts +1 -1
  407. package/demos/pc/app/tree/expand-control.spec.ts +1 -1
  408. package/demos/pc/app/tree/filter-view.spec.ts +1 -1
  409. package/demos/pc/app/tree/icons.spec.ts +1 -1
  410. package/demos/pc/app/tree/lazy.spec.ts +1 -1
  411. package/demos/pc/app/tree/node-hl.spec.ts +1 -1
  412. package/demos/pc/app/tree/node-op.spec.ts +1 -1
  413. package/demos/pc/app/tree/other.spec.ts +1 -1
  414. package/demos/pc/app/tree/props.spec.ts +1 -1
  415. package/demos/pc/app/tree/radio.spec.ts +1 -1
  416. package/demos/pc/app/tree/slot.spec.ts +1 -1
  417. package/demos/pc/app/tree/webdoc/tree.cn.md +1 -1
  418. package/demos/pc/app/tree/webdoc/tree.en.md +1 -1
  419. package/demos/pc/app/tree/webdoc/tree.js +67 -19
  420. package/demos/pc/app/tree-menu/custom-icon.spec.ts +1 -0
  421. package/demos/pc/app/tree-menu/only-check-children.spec.ts +24 -2
  422. package/demos/pc/app/tree-menu/props.spec.ts +22 -2
  423. package/demos/pc/app/tree-menu/show-expand.spec.ts +36 -4
  424. package/demos/pc/app/tree-menu/show-filter.spec.ts +54 -3
  425. package/demos/pc/app/tree-menu/show-number.spec.ts +14 -1
  426. package/demos/pc/app/tree-menu/webdoc/tree-menu.js +4 -4
  427. package/demos/pc/app/user-head/image-user-head-composition-api.vue +1 -1
  428. package/demos/pc/app/user-head/image-user-head.vue +1 -1
  429. package/demos/pc/app/user-head/webdoc/user-head.js +17 -17
  430. package/demos/pc/app/watermark/webdoc/watermark.js +32 -16
  431. package/demos/pc/menus.js +6 -1
  432. package/demos/pc/webdoc/form-valid-en.md +9 -3
  433. package/demos/pc/webdoc/form-valid.md +3 -1
  434. package/demos/pc/webdoc/theme-en.md +10 -8
  435. package/package.json +8 -7
  436. package/playground/App.vue +9 -0
  437. package/demos/mobile/app/button/event-click.vue +0 -40
  438. package/demos/mobile/app/button/native-type.vue +0 -105
  439. package/demos/mobile/app/button/plain.vue +0 -33
  440. package/demos/mobile/app/button/round.vue +0 -34
  441. package/demos/mobile/app/button/text.vue +0 -38
  442. package/demos/pc/app/calendar-view/hide-mode-composition-api.vue +0 -7
  443. package/demos/pc/app/calendar-view/hide-mode.vue +0 -13
  444. package/demos/pc/app/calendar-view/mode-combination-composition-api.vue +0 -7
  445. package/demos/pc/app/calendar-view/mode-combination.vue +0 -14
  446. package/demos/pc/app/file-upload/upload-limit-composition-api.vue +0 -22
  447. package/demos/pc/app/file-upload/upload-limit.spec.ts +0 -20
  448. package/demos/pc/app/file-upload/upload-limit.vue +0 -32
  449. package/demos/pc/app/time-select/disabled-composition-api.vue +0 -18
  450. package/demos/pc/app/time-select/disabled.spec.ts +0 -8
  451. package/demos/pc/app/time-select/disabled.vue +0 -26
  452. package/demos/pc/resource/user-group-2.png +0 -0
  453. package/demos/pc/resource/user-group.png +0 -0
@@ -0,0 +1,18 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('自定义工具栏', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar#custom-calendar-toolbar')
6
+ const pcDemo = page.locator('.pc-demo')
7
+ const selectedDay = page.getByRole('cell', { name: '10' }).locator('div').first()
8
+ const time = page.locator('.today')
9
+
10
+ // 校验选中功能
11
+ await selectedDay.click()
12
+ await page.waitForTimeout(200)
13
+ await expect(selectedDay).toHaveClass(/selected/)
14
+ // 校验插槽日期按钮是否生效
15
+ await pcDemo.getByRole('button', { name: '今天' }).click()
16
+ await page.waitForTimeout(200)
17
+ await expect(time).toHaveClass(/selected/)
18
+ })
@@ -6,7 +6,7 @@
6
6
  </tiny-calendar>
7
7
  </template>
8
8
 
9
- <script lang="jsx">
9
+ <script>
10
10
  import { Calendar, Button } from '@opentiny/vue'
11
11
 
12
12
  export default {
@@ -17,9 +17,9 @@ export default {
17
17
  methods: {
18
18
  toToday(scope) {
19
19
  let year = new Date().getFullYear()
20
- let month = new Date().getMonth() + 1
20
+ let month = new Date().getMonth()
21
21
  let day = new Date().getDate()
22
- scope.selectedDate = new Date(year + '-' + month + '-' + day).valueOf()
22
+ scope.selectedDate = new Date(year, month, day).valueOf()
23
23
  }
24
24
  }
25
25
  }
@@ -6,7 +6,7 @@
6
6
  </tiny-calendar>
7
7
  </template>
8
8
 
9
- <script setup lang="jsx">
9
+ <script setup>
10
10
  import { ref } from 'vue'
11
11
  import { Calendar as TinyCalendar } from '@opentiny/vue'
12
12
 
@@ -0,0 +1,10 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('自定义日期单元格', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar#custom-day-cell')
6
+ const pcDemo = page.locator('.pc-demo')
7
+ await expect(pcDemo).toHaveText(/通知事项/)
8
+ await expect(pcDemo).toHaveText(/这是一条警告/)
9
+ await expect(pcDemo).toHaveText(/这是一条错误/)
10
+ })
@@ -6,7 +6,7 @@
6
6
  </tiny-calendar>
7
7
  </template>
8
8
 
9
- <script lang="jsx">
9
+ <script>
10
10
  import { Calendar } from '@opentiny/vue'
11
11
 
12
12
  export default {
@@ -2,7 +2,7 @@
2
2
  <tiny-calendar :events="eventslist" :year="2019" :month="9"> </tiny-calendar>
3
3
  </template>
4
4
 
5
- <script setup lang="jsx">
5
+ <script setup>
6
6
  import { ref } from 'vue'
7
7
  import { Calendar as TinyCalendar } from '@opentiny/vue'
8
8
 
@@ -0,0 +1,26 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('添加日程事件', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar#dynamic-add-schedule')
6
+ const selectedDay4 = page.getByText('通知事项通知事项A', { exact: true })
7
+ const dayFun4 = page.locator('.tiny-calendar__tip-content').filter({ hasText: '请注意该通知事项A' })
8
+
9
+ const selectedDay13 = page.getByRole('listitem').filter({ hasText: '这是一条警告' })
10
+ const dayFun13 = page.locator('.tiny-calendar__tip-content').filter({ hasText: '这是一条警告消息这是一条警告' })
11
+
12
+ const selectedDay14 = page.getByRole('listitem').filter({ hasText: '这是一条错误' })
13
+ const datFun14 = page.locator('.tiny-calendar__tip-content').filter({ hasText: '这是一条错误,还有错误' })
14
+
15
+ await selectedDay4.hover()
16
+ await page.waitForTimeout(200)
17
+ await expect(dayFun4).toBeVisible()
18
+
19
+ await selectedDay13.hover()
20
+ await page.waitForTimeout(200)
21
+ await expect(dayFun13).toBeVisible()
22
+
23
+ await selectedDay14.hover()
24
+ await page.waitForTimeout(200)
25
+ await expect(datFun14).toBeVisible()
26
+ })
@@ -2,7 +2,7 @@
2
2
  <tiny-calendar :events="eventslist" :year="2019" :month="9"> </tiny-calendar>
3
3
  </template>
4
4
 
5
- <script lang="jsx">
5
+ <script>
6
6
  import { Calendar } from '@opentiny/vue'
7
7
 
8
8
  export default {
@@ -2,6 +2,6 @@
2
2
  <tiny-calendar show-selected></tiny-calendar>
3
3
  </template>
4
4
 
5
- <script setup lang="jsx">
5
+ <script setup>
6
6
  import { Calendar as TinyCalendar } from '@opentiny/vue'
7
7
  </script>
@@ -0,0 +1,14 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('基本用法', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar#show-selected-date')
6
+ const pcDemo = page.locator('.pc-demo')
7
+ const selectedDay = page.getByRole('cell', { name: '15' })
8
+ const showText = pcDemo.locator('.tiny-calendar__selected')
9
+ const year = new Date().getFullYear()
10
+ const month = new Date().getMonth() + 1
11
+ const selectedTime = year + '-' + month + '-' + '15'
12
+ await selectedDay.click()
13
+ await expect(showText).toHaveText('You selected date: ' + selectedTime)
14
+ })
@@ -2,7 +2,7 @@
2
2
  <tiny-calendar show-selected></tiny-calendar>
3
3
  </template>
4
4
 
5
- <script lang="jsx">
5
+ <script>
6
6
  import { Calendar } from '@opentiny/vue'
7
7
 
8
8
  export default {
@@ -69,17 +69,18 @@ export default {
69
69
  'props': [
70
70
  {
71
71
  'name': 'events',
72
- 'type': 'Array',
72
+ 'type': 'eventLists[]',
73
+ 'typeAnchorName': 'eventLists',
73
74
  'defaultValue': '',
74
75
  'desc': { 'zh-CN': '事件列表', 'en-US': 'Event List' },
75
76
  'demoId': 'dynamic-add-schedule'
76
77
  },
77
78
  {
78
79
  'name': 'mode',
79
- 'type': 'string',
80
- 'defaultValue': '',
80
+ 'type': "'month' | 'year'",
81
+ 'defaultValue': "'month'",
81
82
  'desc': {
82
- 'zh-CN': '显示模式,month / year 可选,默认 month',
83
+ 'zh-CN': '日历显示模式',
83
84
  'en-US': 'Display mode. The value can be month or year. The default value is month.'
84
85
  },
85
86
  'demoId': 'calendar-mode'
@@ -89,7 +90,7 @@ export default {
89
90
  'type': 'number',
90
91
  'defaultValue': '',
91
92
  'desc': {
92
- 'zh-CN': '指定月份,默认当月',
93
+ 'zh-CN': '指定月份,默认当前月份',
93
94
  'en-US': 'Specified month. The default value is the current month.'
94
95
  },
95
96
  'demoId': 'custom-day-cell'
@@ -97,15 +98,15 @@ export default {
97
98
  {
98
99
  'name': 'show-selected',
99
100
  'type': 'boolean',
100
- 'defaultValue': '',
101
- 'desc': { 'zh-CN': '显示选中的日期', 'en-US': 'Display the selected date.' },
101
+ 'defaultValue': 'false',
102
+ 'desc': { 'zh-CN': '是否显示选中的日期', 'en-US': 'Display the selected date.' },
102
103
  'demoId': 'show-selected-date'
103
104
  },
104
105
  {
105
106
  'name': 'year',
106
107
  'type': 'number',
107
108
  'defaultValue': '',
108
- 'desc': { 'zh-CN': '指定年份,默认今年', 'en-US': 'Specified year. The default year is this year.' },
109
+ 'desc': { 'zh-CN': '指定年份,默认当前年份', 'en-US': 'Specified year. The default year is this year.' },
109
110
  'demoId': 'custom-day-cell'
110
111
  }
111
112
  ],
@@ -127,5 +128,18 @@ export default {
127
128
  }
128
129
  ]
129
130
  }
131
+ ],
132
+ types: [
133
+ {
134
+ name: 'eventLists',
135
+ type: 'interface',
136
+ code: `
137
+ interface eventLists [{
138
+ time: 1534297845236, // 指定需要展示事件的日期
139
+ title: '消息', // 指定事件标题
140
+ content: '这是一条消息', // 指定事件的具体内容
141
+ type: 'info' // 事件主题类型,包括 warning、error、info、success。
142
+ }]`
143
+ }
130
144
  ]
131
145
  }
@@ -0,0 +1,18 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('基本用法', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#basic-usage')
6
+ const demoPage = page.locator('#basic-usage')
7
+ const fixWeek2 = page.getByText('前端周会2').first()
8
+ const popWeek2 = page.locator('.title').filter({ hasText: '前端周会2' })
9
+ // 校验固定内容
10
+ await expect(demoPage).toHaveText(/15前端周会2前端周会2-1前端周会1/)
11
+ await expect(demoPage).toHaveText(/16前端周会4前端周会3/)
12
+ await expect(demoPage).toHaveText(/25节假日25-28前端周会5/)
13
+ await expect(demoPage.locator('.events-end').first()).toHaveClass(/bg-green/)
14
+ // 校验hover弹出框
15
+ await fixWeek2.hover()
16
+ await page.waitForTimeout(200)
17
+ await expect(popWeek2).toBeVisible()
18
+ })
@@ -0,0 +1,23 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('日期标记', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#calendar-day-mark')
6
+ const listitem = page.getByRole('listitem')
7
+ const day30 = listitem.filter({ hasText: '30周日' }).locator('span').nth(2)
8
+ const day1 = listitem.filter({ hasText: '1周一' }).locator('span').nth(2)
9
+ const day6 = listitem.filter({ hasText: '6周六' }).locator('span').nth(2)
10
+ const day7 = page.getByText('7周日')
11
+ const rightSvg = page.locator('.header-right > .tiny-svg')
12
+ const day8 = listitem.filter({ hasText: '8周一' }).locator('span').nth(2)
13
+ await expect(day30).toBeVisible()
14
+ await expect(day1).toHaveClass(/mark/)
15
+ await expect(day1).toHaveClass(/mark-red/)
16
+ await expect(day6).toHaveClass(/mark/)
17
+ await expect(day7).not.toBeVisible()
18
+ await rightSvg.click()
19
+ await page.waitForTimeout(200)
20
+ await expect(day7).toBeVisible()
21
+ await expect(day8).toHaveClass(/mark/)
22
+ await expect(day8).toHaveClass(/mark-red/)
23
+ })
@@ -2,13 +2,13 @@
2
2
  <tiny-calendar-view :events="eventslist" :year="2023" :month="5" :disabled="disabled"></tiny-calendar-view>
3
3
  </template>
4
4
 
5
- <script setup lang="ts">
5
+ <script setup>
6
6
  import { ref } from 'vue'
7
7
  import { CalendarView as TinyCalendarView } from '@opentiny/vue'
8
8
 
9
9
  const eventslist = ref([])
10
10
 
11
11
  const disabled = (date) => {
12
- return date.split('-')[2] < 5
12
+ return date.split('-')[2] < 15
13
13
  }
14
14
  </script>
@@ -0,0 +1,12 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('日期禁用', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#calendar-disabled-day')
6
+ const day10 = page.getByText('10').nth(1)
7
+ const day14 = page.getByText('14').nth(1)
8
+ const day15 = page.getByText('15').nth(1)
9
+ await expect(day10).toHaveClass(/is-disabled/)
10
+ await expect(day14).toHaveClass(/is-disabled/)
11
+ await expect(day15).toHaveClass('date')
12
+ })
@@ -16,7 +16,7 @@ export default {
16
16
  },
17
17
  methods: {
18
18
  disabled(date) {
19
- return date.split('-')[2] < 5
19
+ return date.split('-')[2] < 15
20
20
  }
21
21
  }
22
22
  }
@@ -0,0 +1,25 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('事件', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#calendar-event')
6
+ const timeInput = page.locator('.tiny-filter-box').locator('.value')
7
+ const timeBtn = page.getByText('2023 年 05 月')
8
+ const leftYear = page.getByRole('button', { name: '前一年' })
9
+ const month6 = page.getByText('六月')
10
+ const leftSvg = page.locator('.header-left > .tiny-svg')
11
+ const rightSvg = page.locator('.header-right > .tiny-svg')
12
+ await timeBtn.click()
13
+ await page.waitForTimeout(100)
14
+ await leftYear.click()
15
+ await page.waitForTimeout(100)
16
+ await month6.click()
17
+ await page.waitForTimeout(100)
18
+ await expect(timeInput).toHaveText('2022 年 06 月')
19
+ await leftSvg.click()
20
+ await page.waitForTimeout(100)
21
+ await expect(timeInput).toHaveText('2022 年 05 月')
22
+ await rightSvg.click()
23
+ await page.waitForTimeout(100)
24
+ await expect(timeInput).toHaveText('2022 年 06 月')
25
+ })
@@ -0,0 +1,25 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('显示模式', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#calendar-mode')
6
+ const monthBtn = page.locator('label').nth(2)
7
+ const timelineBtn = page.locator('label').nth(3)
8
+ const scheduleBtn = page.locator('label').nth(4)
9
+ const dmonthDom = page.locator('.tiny-calendar-view-month__main')
10
+ const timelineDom = page.locator('.tiny-calendar-view-week__timeline')
11
+ const scheduleDom = page.locator('.tiny-calendar-view-week__schedule')
12
+ // 验证按钮是否选中,验证时间组件页面是否正确
13
+ await expect(monthBtn.locator('.tiny-svg')).toHaveClass(/fill-brand/)
14
+ await expect(dmonthDom).toBeVisible()
15
+
16
+ await timelineBtn.click()
17
+ await page.waitForTimeout(100)
18
+ await expect(timelineBtn.locator('.tiny-svg')).toHaveClass(/fill-brand/)
19
+ await expect(timelineDom).toBeVisible()
20
+
21
+ await scheduleBtn.click()
22
+ await page.waitForTimeout(100)
23
+ await expect(scheduleBtn.locator('.tiny-svg')).toHaveClass(/fill-brand/)
24
+ await expect(scheduleDom).toBeVisible()
25
+ })
@@ -0,0 +1,18 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('日程模式插槽', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#calendar-schedule-slot')
6
+ const solt1 = page.locator('.new-schedule').first()
7
+ const soltData1 = page.getByText('新增事件2023-4-30')
8
+ const solt5 = page.locator('li:nth-child(5) > .new-schedule')
9
+ const soltData5 = page.getByText('新增事件2023-5-4')
10
+ await expect(solt1).toBeVisible()
11
+ await page.waitForTimeout(200)
12
+ await solt1.click()
13
+ await page.waitForTimeout(100)
14
+ await expect(soltData1).toBeVisible()
15
+ await solt5.click()
16
+ await page.waitForTimeout(100)
17
+ await expect(soltData5).toBeVisible()
18
+ })
@@ -0,0 +1,11 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('时间线范围配置', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#calendar-timeline-range')
6
+ const dayTime = page.locator('.day-times')
7
+ const firstTime = dayTime.locator('ul>li>span').first()
8
+ const lastTime = dayTime.getByText('21:00')
9
+ await expect(firstTime).toHaveText('10:00')
10
+ await expect(lastTime).not.toBeVisible()
11
+ })
@@ -0,0 +1,23 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('时间线插槽', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#calendar-timeline-slot')
6
+ const demoPage = page.locator('#calendar-timeline-slot')
7
+ const fixWeek2 = page.getByText('前端周会2').first()
8
+ const popWeek2 = page.locator('.title').filter({ hasText: '前端周会2' })
9
+ const fixWeek = page.locator('#calendar-timeline-slot').getByText('节假日25-28')
10
+ const popWeek = page.locator('.title').filter({ hasText: '节假日25-28' })
11
+ // 校验固定内容
12
+ await expect(demoPage).toHaveText(/15前端周会2前端周会2-1前端周会1/)
13
+ await expect(demoPage).toHaveText(/16前端周会4前端周会3/)
14
+ await expect(demoPage).toHaveText(/25节假日25-28前端周会5/)
15
+ await expect(demoPage.locator('.events-end').first()).toHaveClass(/bg-green/)
16
+ // 校验hover弹出框
17
+ await fixWeek2.hover()
18
+ await page.waitForTimeout(100)
19
+ await expect(popWeek2).toBeVisible()
20
+ await fixWeek.hover()
21
+ await page.waitForTimeout(100)
22
+ await expect(popWeek).toBeVisible()
23
+ })
@@ -0,0 +1,8 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('自定义工具栏', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#custom-calendar-toolbar')
6
+ const toolDom = page.getByRole('paragraph').filter({ hasText: '此处为自定义工具栏插槽' })
7
+ await expect(toolDom).toBeVisible()
8
+ })
@@ -0,0 +1,8 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('自定义单元格背景色', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#custom-day-bg-color')
6
+ const selectDay = page.getByRole('listitem').filter({ hasText: '10' }).first()
7
+ await expect(selectDay).toHaveClass(/bg-red/)
8
+ })
@@ -0,0 +1,11 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('自定义头部显示', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#custom-header')
6
+ const timelineBtn = page.locator('label').nth(3)
7
+ const customHeader = page.getByText('2023-5-3 周三')
8
+ await timelineBtn.click()
9
+ await page.waitForTimeout(200)
10
+ await expect(customHeader).toBeVisible()
11
+ })
@@ -11,13 +11,13 @@
11
11
  </tiny-calendar-view>
12
12
  </template>
13
13
 
14
- <script setup lang="ts">
14
+ <script setup>
15
15
  import { ref } from 'vue'
16
16
  import { CalendarView as TinyCalendarView, Modal } from '@opentiny/vue'
17
17
 
18
18
  const eventslist = ref([])
19
19
 
20
20
  const selectedDateChange = (date) => {
21
- Modal.message(`当前选择${JSON.stringify(date)}`)
21
+ Modal.message({ message: `当前选择${JSON.stringify(date)}`, status: 'info' })
22
22
  }
23
23
  </script>
@@ -0,0 +1,13 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('日期多选', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#multi-select')
6
+ const selectDay16 = page.getByRole('listitem').filter({ hasText: '16' })
7
+ const selectDay17 = page.getByRole('listitem').filter({ hasText: '17' })
8
+ await selectDay16.click()
9
+ await selectDay17.click()
10
+ await page.waitForTimeout(100)
11
+ await expect(selectDay16.locator('.day-selected')).toBeVisible()
12
+ await expect(selectDay17.locator('.day-selected')).toBeVisible()
13
+ })
@@ -25,7 +25,7 @@ export default {
25
25
  },
26
26
  methods: {
27
27
  selectedDateChange(date) {
28
- Modal.message(`当前选择${JSON.stringify(date)}`)
28
+ Modal.message({ message: `当前选择${JSON.stringify(date)}`, status: 'info' })
29
29
  }
30
30
  }
31
31
  }
@@ -16,13 +16,9 @@
16
16
  </tiny-calendar-view>
17
17
  </template>
18
18
 
19
- <script setup lang="ts">
19
+ <script setup>
20
20
  import { ref } from 'vue'
21
- import {
22
- CalendarView as TinyCalendarView,
23
- Button as TinyButton,
24
- Modal
25
- } from '@opentiny/vue'
21
+ import { CalendarView as TinyCalendarView, Button as TinyButton, Modal } from '@opentiny/vue'
26
22
 
27
23
  const workingDays = ref([])
28
24
  const offDays = ref([])
@@ -37,7 +33,7 @@ const map = {
37
33
 
38
34
  const setDays = (type) => {
39
35
  if (!selectedDate.value.length) {
40
- Modal.message('请选择日期')
36
+ Modal.message({ message: '请选择日期', status: 'info' })
41
37
  return
42
38
  }
43
39
  map[type].value.push(...selectedDate.value)
@@ -0,0 +1,22 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('设置工作日或节假日', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('calendar-view#set-working-day')
6
+ const workDay = page.getByRole('button', { name: '工作日' })
7
+ const restDay = page.getByRole('button', { name: '休息日' })
8
+ const holiDay = page.getByRole('button', { name: '节假日' })
9
+ const selectDay16 = page.getByRole('listitem').filter({ hasText: '16' })
10
+ const selectDay17 = page.getByRole('listitem').filter({ hasText: '17' })
11
+ const selectDay18 = page.getByRole('listitem').filter({ hasText: '18' })
12
+ await selectDay16.click()
13
+ await workDay.click()
14
+ await selectDay17.click()
15
+ await restDay.click()
16
+ await selectDay18.click()
17
+ await holiDay.click()
18
+ await page.waitForTimeout(200)
19
+ await expect(selectDay16).toHaveClass(/bg-blue/)
20
+ await expect(selectDay17).toHaveClass(/bg-green/)
21
+ await expect(selectDay18).toHaveClass(/bg-yellow/)
22
+ })
@@ -35,7 +35,7 @@ export default {
35
35
  methods: {
36
36
  setDays(type) {
37
37
  if (!this.selectedDate.length) {
38
- Modal.message('请选择日期')
38
+ Modal.message({ message: '请选择日期', status: 'info' })
39
39
  return
40
40
  }
41
41
  this[type].push(...this.selectedDate)
@@ -97,7 +97,7 @@ export default {
97
97
  },
98
98
  {
99
99
  'demoId': 'custom-day-bg-color',
100
- 'name': { 'zh-CN': '自定义日期单元格背景色', 'en-US': 'Add Schedule Event' },
100
+ 'name': { 'zh-CN': '自定义单元格背景色', 'en-US': 'Add Schedule Event' },
101
101
  'desc': {
102
102
  'zh-CN':
103
103
  '<p>自定义日期单元格背景色。</p>\n<p>目前只支持预置的颜色,可选颜色blue、green、red、yellow、purple、cyan、grey</p>\n',
@@ -12,10 +12,10 @@ import { Carousel as TinyCarousel, CarouselItem as TinyCarouselItem } from '@ope
12
12
 
13
13
  <style scoped>
14
14
  .carousel-item-demo:nth-child(2n) {
15
- background-color: #99a9bf;
15
+ background-color: #fafafa;
16
16
  }
17
17
 
18
18
  .carousel-item-demo:nth-child(2n + 1) {
19
- background-color: #d3dce6;
19
+ background-color: #edf0f3;
20
20
  }
21
21
  </style>
@@ -2,7 +2,9 @@ import { test, expect } from '@playwright/test'
2
2
 
3
3
  test('自动切换', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+
5
6
  await page.goto('carousel#autoplay')
7
+ await page.waitForTimeout(100)
6
8
  const preview = page.locator('#autoplay')
7
9
  const carousel = preview.locator('.tiny-carousel')
8
10
  const carouselItems = preview.locator('div.tiny-carousel__item')
@@ -19,10 +19,10 @@ export default {
19
19
 
20
20
  <style scoped>
21
21
  .carousel-item-demo:nth-child(2n) {
22
- background-color: #99a9bf;
22
+ background-color: #fafafa;
23
23
  }
24
24
 
25
25
  .carousel-item-demo:nth-child(2n + 1) {
26
- background-color: #d3dce6;
26
+ background-color: #edf0f3;
27
27
  }
28
28
  </style>
@@ -12,10 +12,10 @@ import { Carousel as TinyCarousel, CarouselItem as TinyCarouselItem } from '@ope
12
12
 
13
13
  <style scoped>
14
14
  .carousel-item-demo:nth-child(2n) {
15
- background-color: #99a9bf;
15
+ background-color: #fafafa;
16
16
  }
17
17
 
18
18
  .carousel-item-demo:nth-child(2n + 1) {
19
- background-color: #d3dce6;
19
+ background-color: #edf0f3;
20
20
  }
21
21
  </style>
@@ -5,15 +5,8 @@ test('基础用法', async ({ page }) => {
5
5
  await page.goto('carousel#basic-usage')
6
6
  const preview = page.locator('#basic-usage')
7
7
  await page.locator('div').filter({ hasText: /^1$/ }).click()
8
+ await preview.getByRole('list').getByRole('button').nth(1).click()
8
9
  await preview.locator('.tiny-carousel__container > button:nth-child(2)').click()
9
10
  await preview.locator('.tiny-carousel__container > button:nth-child(2)').click()
10
- await preview.locator('.tiny-carousel__container > button:nth-child(2)').click()
11
- await preview.locator('.tiny-carousel__container > button:nth-child(2)').click()
12
- await preview.locator('.tiny-carousel__arrow').first().click()
13
11
  await preview.locator('.tiny-carousel__arrow').first().click()
14
- await preview.locator('.tiny-carousel__arrow').first().click()
15
- await preview.locator('.tiny-carousel__arrow').first().click()
16
- await preview.getByRole('list').getByRole('button').nth(1).click()
17
- await preview.getByRole('list').getByRole('button').nth(2).click()
18
- await preview.getByRole('list').getByRole('button').nth(3).click()
19
12
  })