@opentiny/vue-docs 3.24.6 → 3.26.0

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 (249) hide show
  1. package/.stylelintrc.js +2 -2
  2. package/demos/apis/button.js +15 -0
  3. package/demos/apis/calendar-view.js +3 -2
  4. package/demos/apis/chart-demo.js +1 -1
  5. package/demos/apis/chart-docs.js +1 -1
  6. package/demos/apis/chart-events.js +1 -1
  7. package/demos/apis/chart-question.js +1 -1
  8. package/demos/apis/chart.js +1 -1
  9. package/demos/apis/form.js +3 -0
  10. package/demos/apis/grid.js +76 -16
  11. package/demos/apis/modal.js +1 -1
  12. package/demos/apis/numeric.js +3 -3
  13. package/demos/apis/search.js +28 -0
  14. package/demos/apis/slider-button.js +22 -0
  15. package/demos/apis/split.js +11 -0
  16. package/demos/apis/steps.js +3 -3
  17. package/demos/apis/tabs.js +12 -0
  18. package/demos/apis/time-line.js +20 -0
  19. package/demos/mobile-first/app/button/type.vue +1 -1
  20. package/demos/mobile-first/app/button/webdoc/button.js +2 -2
  21. package/demos/mobile-first/app/slider-button/basic-usage.vue +5 -5
  22. package/demos/mobile-first/app/slider-button/webdoc/slider-button.js +1 -1
  23. package/demos/mobile-first/app/steps/advanced-steps.vue +8 -1
  24. package/demos/mobile-first/menus.js +16 -9
  25. package/demos/pc/app/action-menu/basic-usage-composition-api.vue +1 -1
  26. package/demos/pc/app/action-menu/basic-usage.vue +1 -1
  27. package/demos/pc/app/action-menu/card-mode-composition-api.vue +1 -1
  28. package/demos/pc/app/action-menu/card-mode.vue +1 -1
  29. package/demos/pc/app/action-menu/disabled-composition-api.vue +2 -2
  30. package/demos/pc/app/action-menu/disabled.vue +2 -2
  31. package/demos/pc/app/action-menu/events-composition-api.vue +1 -1
  32. package/demos/pc/app/action-menu/events.vue +1 -1
  33. package/demos/pc/app/action-menu/icon-composition-api.vue +2 -2
  34. package/demos/pc/app/action-menu/icon.vue +2 -2
  35. package/demos/pc/app/action-menu/max-show-num-composition-api.vue +1 -1
  36. package/demos/pc/app/action-menu/max-show-num.vue +1 -1
  37. package/demos/pc/app/action-menu/more-text-composition-api.vue +1 -1
  38. package/demos/pc/app/action-menu/more-text.vue +1 -1
  39. package/demos/pc/app/action-menu/popper-class-composition-api.vue +1 -1
  40. package/demos/pc/app/action-menu/popper-class.vue +1 -1
  41. package/demos/pc/app/action-menu/slot-item-composition-api.vue +1 -1
  42. package/demos/pc/app/action-menu/slot-item.vue +1 -1
  43. package/demos/pc/app/action-menu/spacing-composition-api.vue +1 -1
  44. package/demos/pc/app/action-menu/spacing.vue +1 -1
  45. package/demos/pc/app/action-menu/text-field-composition-api.vue +1 -1
  46. package/demos/pc/app/action-menu/text-field.spec.ts +1 -1
  47. package/demos/pc/app/action-menu/text-field.vue +1 -1
  48. package/demos/pc/app/amount/custom-service.spec.js +4 -4
  49. package/demos/pc/app/base-select/slot-reference.spec.ts +1 -1
  50. package/demos/pc/app/button/icon-composition-api.vue +3 -1
  51. package/demos/pc/app/button/icon.vue +3 -1
  52. package/demos/pc/app/button/webdoc/button.js +3 -2
  53. package/demos/pc/app/calendar-view/calendar-mode-composition-api.vue +7 -1
  54. package/demos/pc/app/calendar-view/calendar-mode.spec.ts +3 -0
  55. package/demos/pc/app/calendar-view/calendar-mode.vue +7 -1
  56. package/demos/pc/app/carousel/webdoc/carousel.js +0 -18
  57. package/demos/pc/app/color-picker/alpha-composition-api.vue +1 -1
  58. package/demos/pc/app/color-picker/alpha.spec.ts +2 -2
  59. package/demos/pc/app/color-picker/alpha.vue +1 -1
  60. package/demos/pc/app/color-picker/base.spec.ts +2 -2
  61. package/demos/pc/app/color-picker/default-visible.spec.ts +1 -1
  62. package/demos/pc/app/color-picker/event-composition-api.vue +2 -2
  63. package/demos/pc/app/color-picker/event.spec.ts +4 -4
  64. package/demos/pc/app/color-picker/event.vue +1 -1
  65. package/demos/pc/app/color-picker/format.spec.ts +6 -6
  66. package/demos/pc/app/color-picker/history.spec.ts +1 -7
  67. package/demos/pc/app/color-picker/predefine.spec.ts +3 -10
  68. package/demos/pc/app/color-picker/size.spec.ts +4 -4
  69. package/demos/pc/app/color-select-panel/format.spec.ts +2 -8
  70. package/demos/pc/app/color-select-panel/history.spec.ts +0 -2
  71. package/demos/pc/app/color-select-panel/predefine.spec.ts +0 -3
  72. package/demos/pc/app/container/basic-usage-composition-api.vue +10 -10
  73. package/demos/pc/app/container/basic-usage.vue +10 -10
  74. package/demos/pc/app/container/custom-with-height-composition-api.vue +8 -8
  75. package/demos/pc/app/container/custom-with-height.vue +10 -10
  76. package/demos/pc/app/date-panel/custom-week.spec.ts +2 -2
  77. package/demos/pc/app/dialog-select/nest-grid-single.spec.ts +40 -0
  78. package/demos/pc/app/dialog-select/nest-tree-multi.spec.ts +53 -0
  79. package/demos/pc/app/dialog-select/nest-tree-single.spec.ts +25 -0
  80. package/demos/pc/app/dialog-select/set-selection.spec.ts +20 -0
  81. package/demos/pc/app/file-upload/before-upload-limit-composition-api.vue +1 -1
  82. package/demos/pc/app/file-upload/before-upload-limit.spec.ts +1 -1
  83. package/demos/pc/app/file-upload/before-upload-limit.vue +1 -1
  84. package/demos/pc/app/file-upload/custom-trigger-composition-api.vue +1 -1
  85. package/demos/pc/app/file-upload/custom-trigger.spec.ts +1 -1
  86. package/demos/pc/app/file-upload/custom-trigger.vue +1 -1
  87. package/demos/pc/app/file-upload/custom-upload-tip-composition-api.vue +1 -1
  88. package/demos/pc/app/file-upload/custom-upload-tip.vue +1 -1
  89. package/demos/pc/app/file-upload/form-validation-composition-api.vue +1 -1
  90. package/demos/pc/app/file-upload/form-validation.vue +1 -1
  91. package/demos/pc/app/file-upload/image-size-composition-api.vue +1 -1
  92. package/demos/pc/app/file-upload/image-size.spec.ts +1 -1
  93. package/demos/pc/app/file-upload/image-size.vue +1 -1
  94. package/demos/pc/app/file-upload/multiple-file-composition-api.vue +1 -1
  95. package/demos/pc/app/file-upload/multiple-file.spec.ts +1 -1
  96. package/demos/pc/app/file-upload/multiple-file.vue +1 -1
  97. package/demos/pc/app/file-upload/prevent-delete-file-composition-api.vue +1 -1
  98. package/demos/pc/app/file-upload/prevent-delete-file.vue +1 -1
  99. package/demos/pc/app/file-upload/upload-request-composition-api.vue +1 -1
  100. package/demos/pc/app/file-upload/upload-request.spec.ts +2 -2
  101. package/demos/pc/app/file-upload/upload-request.vue +1 -1
  102. package/demos/pc/app/grid/base/basic-usage-composition-api.vue +1 -17
  103. package/demos/pc/app/grid/custom/column-fixed.spec.js +2 -1
  104. package/demos/pc/app/grid/custom/page-size.spec.js +1 -1
  105. package/demos/pc/app/grid/data-source/auto-load.spec.js +0 -1
  106. package/demos/pc/app/grid/data-source/request-service.spec.js +1 -1
  107. package/demos/pc/app/grid/data-source/static-data.spec.js +1 -1
  108. package/demos/pc/app/grid/dynamically-columns/dynamically-columns.spec.js +2 -1
  109. package/demos/pc/app/grid/edit/scrollbar-not-blur-composition-api.vue +119 -0
  110. package/demos/pc/app/grid/edit/scrollbar-not-blur.spec.ts +28 -0
  111. package/demos/pc/app/grid/edit/scrollbar-not-blur.vue +129 -0
  112. package/demos/pc/app/grid/editor/custom-edit.spec.js +7 -2
  113. package/demos/pc/app/grid/empty/empty-data-iscenter.spec.js +1 -1
  114. package/demos/pc/app/grid/event/toolbar-button-click-event.spec.js +1 -1
  115. package/demos/pc/app/grid/expand/expand-trigger-slot-composition-api.vue +85 -0
  116. package/demos/pc/app/grid/expand/expand-trigger-slot.spec.ts +11 -0
  117. package/demos/pc/app/grid/expand/expand-trigger-slot.vue +95 -0
  118. package/demos/pc/app/grid/expand/set-row-expansion.spec.js +4 -0
  119. package/demos/pc/app/grid/filter/custom-filter.spec.js +3 -3
  120. package/demos/pc/app/grid/filter/default-filter-composition-api.vue +6 -0
  121. package/demos/pc/app/grid/filter/default-filter.vue +6 -0
  122. package/demos/pc/app/grid/filter/default-relation.spec.js +1 -1
  123. package/demos/pc/app/grid/filter/server-filter.spec.js +1 -1
  124. package/demos/pc/app/grid/filter/simple-filter.spec.ts +5 -4
  125. package/demos/pc/app/grid/fixed/right-fixed-composition-api.vue +4 -4
  126. package/demos/pc/app/grid/fixed/right-fixed.vue +4 -4
  127. package/demos/pc/app/grid/footer/footer-summation-empty.spec.js +0 -1
  128. package/demos/pc/app/grid/large-data/full-data-loading.spec.js +10 -3
  129. package/demos/pc/app/grid/large-data/virtual-rolling.spec.js +9 -2
  130. package/demos/pc/app/grid/mouse-keyboard/keyboard-navigation.spec.js +4 -1
  131. package/demos/pc/app/grid/renderer/inner-renderer-date-composition-api.vue +4 -3
  132. package/demos/pc/app/grid/renderer/inner-renderer-date.spec.js +2 -2
  133. package/demos/pc/app/grid/renderer/inner-renderer-date.vue +3 -3
  134. package/demos/pc/app/grid/renderer/inner-renderer.spec.js +4 -0
  135. package/demos/pc/app/grid/size/max-min-grid-height.spec.js +2 -2
  136. package/demos/pc/app/grid/slot/slot-conf-composition-api.vue +141 -0
  137. package/demos/pc/app/grid/slot/slot-conf.spec.js +12 -0
  138. package/demos/pc/app/grid/slot/slot-conf.vue +151 -0
  139. package/demos/pc/app/grid/sort/combinations-sort.spec.js +2 -2
  140. package/demos/pc/app/grid/webdoc/grid-edit.js +12 -0
  141. package/demos/pc/app/grid/webdoc/grid-empty.js +1 -1
  142. package/demos/pc/app/grid/webdoc/grid-expand.js +11 -0
  143. package/demos/pc/app/grid/webdoc/grid-slot.js +9 -0
  144. package/demos/pc/app/icon/iconGroups.js +8 -2
  145. package/demos/pc/app/input/basic-usage.spec.ts +1 -1
  146. package/demos/pc/app/loading/background.spec.ts +3 -1
  147. package/demos/pc/app/loading/custom-class.spec.ts +4 -2
  148. package/demos/pc/app/loading/fullscreen.spec.ts +6 -4
  149. package/demos/pc/app/loading/loading-tip-text.spec.ts +3 -1
  150. package/demos/pc/app/loading/size.spec.ts +5 -3
  151. package/demos/pc/app/locales/custom-service-composition-api.vue +3 -3
  152. package/demos/pc/app/locales/custom-service.spec.ts +1 -1
  153. package/demos/pc/app/locales/custom-service.vue +3 -3
  154. package/demos/pc/app/modal/basic-usage.spec.ts +2 -1
  155. package/demos/pc/app/modal/message-close.spec.ts +2 -2
  156. package/demos/pc/app/modal/message-id.spec.ts +2 -2
  157. package/demos/pc/app/modal/modal-fn-slots.spec.ts +5 -7
  158. package/demos/pc/app/modal/modal-header.spec.ts +2 -1
  159. package/demos/pc/app/numeric/input-event-composition-api.vue +26 -0
  160. package/demos/pc/app/numeric/input-event.spec.ts +15 -0
  161. package/demos/pc/app/numeric/input-event.vue +34 -0
  162. package/demos/pc/app/numeric/webdoc/numeric.js +12 -0
  163. package/demos/pc/app/pager/align-composition-api.vue +10 -13
  164. package/demos/pc/app/pager/align.spec.ts +8 -3
  165. package/demos/pc/app/pager/align.vue +11 -5
  166. package/demos/pc/app/pager/page-size-composition-api.vue +2 -2
  167. package/demos/pc/app/pager/page-size.spec.ts +1 -1
  168. package/demos/pc/app/pager/page-size.vue +2 -2
  169. package/demos/pc/app/pager/pager-in-grid-composition-api.vue +0 -1
  170. package/demos/pc/app/pager/pager-in-grid.vue +0 -1
  171. package/demos/pc/app/pager/popper-append-to-body-composition-api.vue +1 -7
  172. package/demos/pc/app/pager/popper-append-to-body.vue +1 -7
  173. package/demos/pc/app/pager/popper-class-composition-api.vue +1 -7
  174. package/demos/pc/app/pager/popper-class.vue +1 -7
  175. package/demos/pc/app/popeditor/conditions.spec.ts +1 -1
  176. package/demos/pc/app/popeditor/suggest.spec.ts +1 -1
  177. package/demos/pc/app/qr-code/icon-composition-api.vue +17 -3
  178. package/demos/pc/app/qr-code/icon.spec.ts +19 -0
  179. package/demos/pc/app/qr-code/icon.vue +25 -4
  180. package/demos/pc/app/qr-code/style-composition-api.vue +2 -9
  181. package/demos/pc/app/qr-code/style.spec.ts +18 -1
  182. package/demos/pc/app/qr-code/style.vue +11 -8
  183. package/demos/pc/app/query-builder/webdoc/query-builder.js +5 -3
  184. package/demos/pc/app/search/events.spec.ts +1 -1
  185. package/demos/pc/app/search/events.vue +9 -0
  186. package/demos/pc/app/search/slot-prefix-suffix.spec.ts +1 -1
  187. package/demos/pc/app/search/webdoc/search.js +12 -4
  188. package/demos/pc/app/select/nest-grid-remote.spec.ts +3 -3
  189. package/demos/pc/app/select/nest-grid.spec.ts +1 -1
  190. package/demos/pc/app/select/nest-radio-grid-much-data.spec.ts +5 -7
  191. package/demos/pc/app/tabs/basic-usage.spec.ts +2 -2
  192. package/demos/pc/app/tabs/header-only.vue +56 -0
  193. package/demos/pc/app/tabs/size.spec.ts +2 -2
  194. package/demos/pc/app/tabs/webdoc/tabs.js +12 -0
  195. package/demos/pc/app/time-line/slot-default-composition-api.vue +81 -0
  196. package/demos/pc/app/time-line/slot-default.spec.ts +13 -0
  197. package/demos/pc/app/time-line/slot-default.vue +95 -0
  198. package/demos/pc/app/time-line/webdoc/time-line.js +12 -0
  199. package/demos/pc/menus.js +20 -10
  200. package/demos/pc/webdoc/changelog-en.md +224 -197
  201. package/demos/pc/webdoc/changelog.md +167 -387
  202. package/demos/pc/webdoc/faq.md +14 -0
  203. package/demos/saas/menus.js +2 -14
  204. package/env/.env +3 -0
  205. package/package.json +25 -24
  206. package/playground/App.vue +2 -2
  207. package/postcss.config.cjs +1 -0
  208. package/src/App.vue +26 -59
  209. package/src/components/anchor.vue +5 -1
  210. package/src/components/demo.vue +18 -7
  211. package/src/components/design-token.vue +90 -0
  212. package/src/components/float-settings.vue +4 -23
  213. package/src/components/mcp-docs.vue +4 -26
  214. package/src/components/version-tip.vue +1 -1
  215. package/src/composable/useTinyRemoter.ts +176 -0
  216. package/src/composable/utils.ts +2 -166
  217. package/src/const.ts +6 -1
  218. package/src/i18n/en.json +2 -0
  219. package/src/i18n/es.json +47 -0
  220. package/src/i18n/index.js +24 -5
  221. package/src/i18n/pt.json +47 -0
  222. package/src/i18n/zh.json +2 -0
  223. package/src/main.js +17 -13
  224. package/src/{menus.jsx → menus.js} +0 -1
  225. package/src/router.js +3 -18
  226. package/src/tools/appData.js +6 -16
  227. package/src/tools/storage.js +5 -3
  228. package/src/tools/useApiMode.js +11 -3
  229. package/src/tools/useBulletin.jsx +9 -8
  230. package/src/tools/useStyleSettings.js +8 -0
  231. package/src/tools/useTemplateMode.js +5 -1
  232. package/src/tools/utils.js +32 -1
  233. package/src/views/components-doc/cmp-config.js +13 -1
  234. package/src/views/components-doc/common.vue +42 -15
  235. package/src/views/layout/layout.vue +5 -8
  236. package/src/views/overview.vue +1 -1
  237. package/tsconfig.node.json +2 -4
  238. package/src/components/MessageCard.vue +0 -117
  239. package/src/components/tiny-robot-chat.vue +0 -128
  240. package/src/composable/DifyModelProvider.ts +0 -65
  241. package/src/composable/useTinyRobot.ts +0 -167
  242. package/src/tools/useAllTaskFinish.ts +0 -0
  243. package/src/views/comprehensive/Demo.vue +0 -212
  244. package/src/views/comprehensive/index.vue +0 -380
  245. package/src/views/comprehensive/products.json +0 -98
  246. package/src/views/comprehensive/types/index.ts +0 -37
  247. package/src/views/remoter/index.vue +0 -63
  248. package/src/views/remoter/sound.vue +0 -349
  249. /package/demos/pc/app/grid/expand/{expand-config.spec.js → expand-config.spec.ts} +0 -0
@@ -15,7 +15,7 @@ import { iconWebPlus, iconSuccessful, iconCloseSquare } from '@opentiny/vue-icon
15
15
 
16
16
  const options = ref([
17
17
  {
18
- label: '远程登陆'
18
+ label: '远程登录'
19
19
  },
20
20
  {
21
21
  label: '开机',
@@ -38,7 +38,7 @@ const options = ref([
38
38
 
39
39
  const options1 = ref([
40
40
  {
41
- label: '远程登陆',
41
+ label: '远程登录',
42
42
  icon: iconWebPlus()
43
43
  },
44
44
  {
@@ -20,7 +20,7 @@ export default {
20
20
  return {
21
21
  options: [
22
22
  {
23
- label: '远程登陆'
23
+ label: '远程登录'
24
24
  },
25
25
  {
26
26
  label: '开机',
@@ -43,7 +43,7 @@ export default {
43
43
  ],
44
44
  options1: [
45
45
  {
46
- label: '远程登陆',
46
+ label: '远程登录',
47
47
  icon: iconWebPlus()
48
48
  },
49
49
  {
@@ -15,7 +15,7 @@ import { TinyActionMenu, TinyNotify } from '@opentiny/vue'
15
15
 
16
16
  const options = ref([
17
17
  {
18
- label: '远程登陆'
18
+ label: '远程登录'
19
19
  },
20
20
  {
21
21
  label: '开机'
@@ -20,7 +20,7 @@ export default {
20
20
  return {
21
21
  options: [
22
22
  {
23
- label: '远程登陆'
23
+ label: '远程登录'
24
24
  },
25
25
  {
26
26
  label: '开机'
@@ -23,7 +23,7 @@ import { iconWebPlus, iconSuccessful, iconShutdown, iconEllipsis } from '@openti
23
23
 
24
24
  const options = ref([
25
25
  {
26
- label: '远程登陆',
26
+ label: '远程登录',
27
27
  icon: iconWebPlus()
28
28
  },
29
29
  {
@@ -45,7 +45,7 @@ const options = ref([
45
45
 
46
46
  const options1 = ref([
47
47
  {
48
- label: '远程登陆'
48
+ label: '远程登录'
49
49
  },
50
50
  {
51
51
  label: '开机'
@@ -27,7 +27,7 @@ export default {
27
27
  return {
28
28
  options: [
29
29
  {
30
- label: '远程登陆',
30
+ label: '远程登录',
31
31
  icon: iconWebPlus()
32
32
  },
33
33
  {
@@ -48,7 +48,7 @@ export default {
48
48
  ],
49
49
  options1: [
50
50
  {
51
- label: '远程登陆'
51
+ label: '远程登录'
52
52
  },
53
53
  {
54
54
  label: '开机'
@@ -8,7 +8,7 @@ import { TinyActionMenu } from '@opentiny/vue'
8
8
 
9
9
  const options = ref([
10
10
  {
11
- label: '远程登陆'
11
+ label: '远程登录'
12
12
  },
13
13
  {
14
14
  label: '开机'
@@ -13,7 +13,7 @@ export default {
13
13
  return {
14
14
  options: [
15
15
  {
16
- label: '远程登陆'
16
+ label: '远程登录'
17
17
  },
18
18
  {
19
19
  label: '开机'
@@ -8,7 +8,7 @@ import { TinyActionMenu } from '@opentiny/vue'
8
8
 
9
9
  const options = ref([
10
10
  {
11
- label: '远程登陆'
11
+ label: '远程登录'
12
12
  },
13
13
  {
14
14
  label: '开机'
@@ -13,7 +13,7 @@ export default {
13
13
  return {
14
14
  options: [
15
15
  {
16
- label: '远程登陆'
16
+ label: '远程登录'
17
17
  },
18
18
  {
19
19
  label: '开机'
@@ -8,7 +8,7 @@ import { TinyActionMenu } from '@opentiny/vue'
8
8
 
9
9
  const options = ref([
10
10
  {
11
- label: '远程登陆'
11
+ label: '远程登录'
12
12
  },
13
13
  {
14
14
  label: '开机'
@@ -13,7 +13,7 @@ export default {
13
13
  return {
14
14
  options: [
15
15
  {
16
- label: '远程登陆'
16
+ label: '远程登录'
17
17
  },
18
18
  {
19
19
  label: '开机'
@@ -14,7 +14,7 @@ import { iconSmile } from '@opentiny/vue-icon'
14
14
 
15
15
  const options = ref([
16
16
  {
17
- name: '远程登陆'
17
+ name: '远程登录'
18
18
  },
19
19
  {
20
20
  name: '开机'
@@ -20,7 +20,7 @@ export default {
20
20
  return {
21
21
  options: [
22
22
  {
23
- name: '远程登陆'
23
+ name: '远程登录'
24
24
  },
25
25
  {
26
26
  name: '开机'
@@ -12,7 +12,7 @@ import { TinyActionMenu } from '@opentiny/vue'
12
12
 
13
13
  const options = ref([
14
14
  {
15
- label: '远程登陆'
15
+ label: '远程登录'
16
16
  },
17
17
  {
18
18
  label: '开机'
@@ -17,7 +17,7 @@ export default {
17
17
  return {
18
18
  options: [
19
19
  {
20
- label: '远程登陆'
20
+ label: '远程登录'
21
21
  },
22
22
  {
23
23
  label: '开机'
@@ -8,7 +8,7 @@ import { TinyActionMenu } from '@opentiny/vue'
8
8
 
9
9
  const options = ref([
10
10
  {
11
- name: '远程登陆'
11
+ name: '远程登录'
12
12
  },
13
13
  {
14
14
  name: '开机'
@@ -8,6 +8,6 @@ test('映射字段', async ({ page }) => {
8
8
  const actionMenu = wrap.locator('.tiny-action-menu')
9
9
  const visibleItem = actionMenu.locator('.tiny-action-menu__item')
10
10
 
11
- await expect(visibleItem.first()).toHaveText('远程登陆')
11
+ await expect(visibleItem.first()).toHaveText('远程登录')
12
12
  await expect(visibleItem.nth(1)).toHaveText('开机')
13
13
  })
@@ -13,7 +13,7 @@ export default {
13
13
  return {
14
14
  options: [
15
15
  {
16
- name: '远程登陆'
16
+ name: '远程登录'
17
17
  },
18
18
  {
19
19
  name: '开机'
@@ -10,9 +10,9 @@ test('自定义服务', async ({ page }) => {
10
10
  .filter({ hasText: /^币种MZNCNY$/ })
11
11
  .getByRole('textbox')
12
12
  .click()
13
- await page.getByRole('listitem').filter({ hasText: 'MZN' }).click()
14
- await page.getByRole('textbox').nth(3).click()
15
- await page.getByRole('textbox').nth(3).fill('100')
13
+ await page.getByRole('listitem').filter({ hasText: /MZN/ }).locator('div').click()
14
+ await page.getByRole('tooltip', { name: '币种 MZN 金额 确定 重置' }).getByRole('textbox').nth(1).click()
15
+ await page.getByRole('tooltip', { name: '币种 MZN 金额 确定 重置' }).getByRole('textbox').nth(1).fill('100')
16
16
  await page.getByRole('button', { name: '确定' }).click()
17
- expect(await page.locator('.reference-wrapper input').inputValue()).toEqual('$100.00')
17
+ expect(await demo.locator('.reference-wrapper input').inputValue()).toEqual('$100.00')
18
18
  })
@@ -12,5 +12,5 @@ test('custom-reference', async ({ page }) => {
12
12
 
13
13
  await expect(option).toHaveCount(0)
14
14
  await reference.click()
15
- await page.getByRole('listitem', { name: '北京' }).locator('span').click()
15
+ await page.getByRole('listitem').filter({ hasText: /北京/ }).locator('span').click()
16
16
  })
@@ -3,7 +3,9 @@
3
3
  <tiny-layout>
4
4
  <tiny-row>
5
5
  <tiny-button type="primary" :icon="TinyIconEdit"> 图标按钮 </tiny-button>
6
- <tiny-button :icon="TinyIconSearch"> 图标按钮 </tiny-button>
6
+ <tiny-button :icon="TinyIconSearch" :custom-style="{ maxWidth: 'none' }">
7
+ 图标按钮图标按钮图标按钮图标按钮
8
+ </tiny-button>
7
9
  <tiny-button type="success" :icon="TinyIconYes"> 图标按钮 </tiny-button>
8
10
  <tiny-button type="info" :icon="TinyIconMail"> 图标按钮 </tiny-button>
9
11
  <tiny-button type="warning" :icon="TinyIconStarO"> 图标按钮 </tiny-button>
@@ -3,7 +3,9 @@
3
3
  <tiny-layout>
4
4
  <tiny-row>
5
5
  <tiny-button type="primary" :icon="IconEdit"> 图标按钮 </tiny-button>
6
- <tiny-button :icon="IconSearch"> 图标按钮 </tiny-button>
6
+ <tiny-button :icon="IconSearch" :custom-style="{ maxWidth: 'none' }">
7
+ 图标按钮图标按钮图标按钮图标按钮
8
+ </tiny-button>
7
9
  <tiny-button type="success" :icon="IconYes"> 图标按钮 </tiny-button>
8
10
  <tiny-button type="info" :icon="IconMail"> 图标按钮 </tiny-button>
9
11
  <tiny-button type="warning" :icon="IconStarO"> 图标按钮 </tiny-button>
@@ -47,8 +47,9 @@ export default {
47
47
  'en-US': 'Icon Button'
48
48
  },
49
49
  desc: {
50
- 'zh-CN': '通过 <code>icon</code> 属性,设置按钮展示图标。',
51
- 'en-US': 'Display icons and receive an icon component through the <code>icon</code> settings button'
50
+ 'zh-CN': '通过 <code>icon</code> 属性,设置按钮展示图标。<code>custom-style</code>属性设置按钮样式。',
51
+ 'en-US':
52
+ 'Display icons and receive an icon component through the <code>icon</code> settings button. The <code>custom-style</code> property sets the button style.'
52
53
  },
53
54
  codeFiles: ['icon.vue']
54
55
  },
@@ -1,5 +1,11 @@
1
1
  <template>
2
- <tiny-calendar-view :events="eventslist" :year="2023" :month="6" :modes="['month', 'timeline', 'schedule']">
2
+ <tiny-calendar-view
3
+ :events="eventslist"
4
+ :year="2023"
5
+ :month="6"
6
+ :modes="['month', 'timeline', 'schedule']"
7
+ :show-back-today="false"
8
+ >
3
9
  </tiny-calendar-view>
4
10
  </template>
5
11
 
@@ -9,6 +9,9 @@ test('显示模式', async ({ page }) => {
9
9
  const dmonthDom = page.locator('.tiny-calendar-view-month__main')
10
10
  const timelineDom = page.locator('.tiny-calendar-view-week__timeline')
11
11
  const scheduleDom = page.locator('.tiny-calendar-view-week__schedule')
12
+
13
+ const calendarHeader = page.locator('.tiny-calendar-view__header')
14
+ await expect(calendarHeader.locator('div').first()).not.toHaveClass('.tiny-button .tiny-button--default')
12
15
  // 验证按钮是否选中,验证时间组件页面是否正确
13
16
  await expect(monthBtn.locator('.tiny-svg')).toHaveClass(/fill-brand/)
14
17
  await expect(dmonthDom).toBeVisible()
@@ -1,5 +1,11 @@
1
1
  <template>
2
- <tiny-calendar-view :events="eventslist" :year="2023" :month="6" :modes="['month', 'timeline', 'schedule']">
2
+ <tiny-calendar-view
3
+ :events="eventslist"
4
+ :year="2023"
5
+ :month="6"
6
+ :modes="['month', 'timeline', 'schedule']"
7
+ :show-back-today="false"
8
+ >
3
9
  </tiny-calendar-view>
4
10
  </template>
5
11
 
@@ -174,24 +174,6 @@ export default {
174
174
  },
175
175
  codeFiles: ['carousel-events.vue']
176
176
  },
177
- {
178
- demoId: 'swipeable',
179
- name: {
180
- 'zh-CN': '触屏轮播',
181
- 'en-US': 'Touchscreen Carousel'
182
- },
183
- desc: {
184
- 'zh-CN': `
185
- 通过<code>swipeable</code> 属性,让多端模板支持触屏轮播。<br>
186
- 通过 <code>lite</code> 属性打开精简模式,不显示切换按钮和指示器。
187
- `,
188
- 'en-US': `
189
- The <code>swipeable</code> attribute is used to support touchscreen carousel.<br>
190
- Enable the compact mode with the <code>lite</code> attribute. The toggle button and indicator are not displayed.
191
- `
192
- },
193
- codeFiles: ['swipeable.vue']
194
- },
195
177
  {
196
178
  demoId: 'card-show',
197
179
  name: {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-color-picker @confirm="onConfirm" @cancel="onCancel" alpha />
2
+ <tiny-color-picker @confirm="onConfirm" v-model="color" @cancel="onCancel" alpha />
3
3
  </template>
4
4
 
5
5
  <script setup>
@@ -8,7 +8,7 @@ test('测试 Alpha', async ({ page }) => {
8
8
  await page.getByRole('button', { name: '取消' }).click()
9
9
  await page.getByText('用户选择了取消').click()
10
10
  await page.locator('.tiny-color-picker__inner').click()
11
- await page.getByRole('button', { name: '选择' }).click()
11
+ await page.getByRole('button', { name: '确定' }).click()
12
12
  // default is hex
13
- await page.getByText('#804040FF').click()
13
+ await page.getByText('#66CCFFFF').click()
14
14
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-color-picker @confirm="onConfirm" @cancel="onCacnel" alpha />
2
+ <tiny-color-picker @confirm="onConfirm" v-model="color" @cancel="onCacnel" alpha />
3
3
  </template>
4
4
 
5
5
  <script>
@@ -5,8 +5,8 @@ test('基本用法', async ({ page }) => {
5
5
  await page.goto('color-picker#basic-usage')
6
6
  await page.locator('.tiny-color-picker__inner').click()
7
7
  await page.locator('.black').click()
8
- await page.getByRole('button', { name: '选择' }).click()
8
+ await page.getByRole('button', { name: '确定' }).click()
9
9
  await page.locator('.tiny-color-picker__inner').click()
10
10
  await page.locator('.tiny-color-select-panel__inner__color-select').click()
11
- await page.getByRole('button', { name: '选择' }).click()
11
+ await page.getByRole('button', { name: '确定' }).click()
12
12
  })
@@ -4,5 +4,5 @@ test('默认显示色盘', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('color-picker#default-visible')
6
6
  await page.locator('.tiny-color-select-panel__inner__hue-select').click()
7
- await page.getByRole('button', { name: '选择' }).click()
7
+ await page.getByRole('button', { name: '确定' }).click()
8
8
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-color-picker @confirm="onConfirm" @cancel="onCancel" />
2
+ <tiny-color-picker v-model="color" @confirm="onConfirm" @cancel="onCancel" />
3
3
  </template>
4
4
 
5
5
  <script setup>
@@ -15,7 +15,7 @@ const onConfirm = (hex) => {
15
15
  TinyNotify({
16
16
  type: 'success',
17
17
  position: 'top-right',
18
- title: '用户点击了选择',
18
+ title: '用户点击了确定',
19
19
  message: hex
20
20
  })
21
21
  }
@@ -3,8 +3,8 @@ import { test, expect } from '@playwright/test'
3
3
  test('事件触发', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('color-picker#event')
6
- await page.locator('#event').getByRole('img').click()
7
- await page.getByRole('button', { name: '选择' }).click()
8
- await page.locator('#event').getByRole('img').first().click()
9
- await page.getByRole('button', { name: '取消' }).click()
6
+ await page.locator('.tiny-color-picker__inner').click()
7
+ await page.locator('.black').click()
8
+ await page.getByRole('button', { name: '确定' }).click()
9
+ await page.getByText('用户点击了确定').click()
10
10
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-color-picker @confirm="onConfirm" @cancel="onCacnel" />
2
+ <tiny-color-picker v-model="color" @confirm="onConfirm" @cancel="onCacnel" />
3
3
  </template>
4
4
 
5
5
  <script>
@@ -12,9 +12,9 @@ test('hex 时应该为#xxx', async ({ page }) => {
12
12
  page.on('pageerror', (exception) => expect(exception).toBeNull())
13
13
  await page.goto('color-picker#format')
14
14
  await page.locator('.tiny-color-picker__inner').click()
15
- await page.getByRole('textbox', { name: '请选择' }).click()
15
+ await page.locator('.tiny-input__suffix-inner svg').click()
16
16
  await page.getByRole('list').getByText('hex').click()
17
- await page.getByRole('button', { name: '选择' }).click()
17
+ await page.getByRole('button', { name: '确定' }).click()
18
18
  await expect(page.getByLabel('示例', { exact: true }).getByRole('paragraph')).toContainText('颜色值:#66CCFF')
19
19
  })
20
20
 
@@ -22,9 +22,9 @@ test('hsl 时应该为 hsl(xxx,xxx,xxx)', async ({ page }) => {
22
22
  page.on('pageerror', (exception) => expect(exception).toBeNull())
23
23
  await page.goto('color-picker#format')
24
24
  await page.locator('.tiny-color-picker__inner').click()
25
- await page.getByRole('textbox', { name: '请选择' }).click()
25
+ await page.locator('.tiny-input__suffix-inner svg').click()
26
26
  await page.getByRole('list').getByText('hsl').click()
27
- await page.getByRole('button', { name: '选择' }).click()
27
+ await page.getByRole('button', { name: '确定' }).click()
28
28
  await expect(page.getByLabel('示例', { exact: true }).getByRole('paragraph')).toContainText('颜色值:hsl')
29
29
  })
30
30
 
@@ -32,8 +32,8 @@ test('hsv 时候应该为 hsv(xx,xx,xx)', async ({ page }) => {
32
32
  page.on('pageerror', (exception) => expect(exception).toBeNull())
33
33
  await page.goto('color-picker#format')
34
34
  await page.locator('.tiny-color-picker__inner').click()
35
- await page.getByRole('textbox', { name: '请选择' }).click()
35
+ await page.locator('.tiny-input__suffix-inner svg').click()
36
36
  await page.getByRole('list').getByText('hsv').click()
37
- await page.getByRole('button', { name: '选择' }).click()
37
+ await page.getByRole('button', { name: '确定' }).click()
38
38
  await expect(page.getByLabel('示例', { exact: true }).getByRole('paragraph')).toContainText('颜色值:hsv')
39
39
  })
@@ -5,11 +5,5 @@ test('测试历史记录', async ({ page }) => {
5
5
  await page.goto('color-picker#history')
6
6
  await page.getByRole('button', { name: 'Toggle History visibility' }).click()
7
7
  await page.locator('.tiny-color-picker__inner').click()
8
- await expect(page.getByRole('button', { name: '历史记录' })).toBeVisible()
9
- await page.getByRole('button', { name: '历史记录' }).click()
10
- await expect(page.getByText('暂无', { exact: true })).toBeVisible()
11
- await page.getByRole('button', { name: '选择' }).click()
12
- await page.getByRole('button', { name: 'Append history color' }).click()
13
- await page.locator('.tiny-color-picker__inner').click()
14
- await page.getByRole('button', { name: '历史记录' }).click()
8
+ await page.getByRole('button', { name: '确定' }).click()
15
9
  })
@@ -5,23 +5,16 @@ test('测试预定义颜色', async ({ page }) => {
5
5
  await page.goto('color-picker#predefine')
6
6
  await page.getByRole('button', { name: 'Toggle predefine visibility' }).click()
7
7
  await page.locator('.tiny-color-picker__inner').click()
8
- await expect(page.getByRole('button', { name: '预定义颜色' })).toBeVisible()
9
- await page.getByRole('button', { name: '预定义颜色' }).click()
10
8
  await expect(page.locator('.tiny-color-select-panel__predefine > div:nth-child(8)')).toBeVisible()
11
- await page.getByText('取消选择预定义颜色Append predefine').click()
12
- await page.getByRole('button', { name: '选择' }).click()
9
+ await page.getByRole('button', { name: '确定' }).click()
13
10
  await page.getByRole('button', { name: 'Append predefine color' }).click()
14
11
  await page.locator('.tiny-color-picker__inner').click()
15
- await page.getByRole('button', { name: '预定义颜色' }).click()
16
12
  await expect(page.locator('.tiny-color-select-panel__predefine > div:nth-child(9)')).toBeVisible()
17
- await page.getByRole('button', { name: '选择' }).click()
13
+ await page.getByRole('button', { name: '确定' }).click()
18
14
  await page.getByRole('button', { name: 'Pop predefine color' }).click()
19
15
  await page.locator('.tiny-color-picker').click()
20
- await page.getByRole('button', { name: '预定义颜色' }).click()
21
16
  await expect(page.locator('.tiny-color-select-panel__predefine > div:nth-child(9)')).not.toBeVisible()
22
17
  await expect(page.locator('.tiny-color-select-panel__predefine > div:nth-child(8)')).toBeVisible()
23
18
  await page.locator('.tiny-color-select-panel__predefine > div:nth-child(8)').click()
24
- await page.getByRole('button', { name: '选择' }).click()
25
- await page.locator('.tiny-color-picker__inner').click()
26
- await page.getByText('取消选择预定义颜色Append predefine').click()
19
+ await page.getByRole('button', { name: '确定' }).click()
27
20
  })
@@ -3,8 +3,8 @@ import { test, expect } from '@playwright/test'
3
3
  test('测试尺寸', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('color-picker#size')
6
- await expect(page.locator('.tiny-color-picker.tiny-color-picker--large')).toHaveCSS('width', '48px')
7
- await expect(page.locator('.tiny-color-picker.tiny-color-picker--medium')).toHaveCSS('width', '40px')
8
- await expect(page.locator('.tiny-color-picker.tiny-color-picker--small')).toHaveCSS('width', '28px')
9
- await expect(page.locator('.tiny-color-picker.tiny-color-picker--mini')).toHaveCSS('width', '24px')
6
+ await expect(page.locator('.tiny-color-picker.tiny-color-picker--large')).toHaveCSS('width', '32px')
7
+ await expect(page.locator('.tiny-color-picker.tiny-color-picker--medium')).toHaveCSS('width', '24px')
8
+ await expect(page.locator('.tiny-color-picker.tiny-color-picker--small')).toHaveCSS('width', '20px')
9
+ await expect(page.locator('.tiny-color-picker.tiny-color-picker--mini')).toHaveCSS('width', '16px')
10
10
  })
@@ -12,7 +12,7 @@ test('hex', async ({ page }) => {
12
12
  await page.getByRole('button', { name: 'Toggle' }).click()
13
13
  await page.getByRole('textbox', { name: '请选择' }).click()
14
14
  await page.getByRole('list').getByText('hex').click()
15
- await page.getByRole('button', { name: '选择' }).click()
15
+ await page.getByRole('button', { name: '确定' }).click()
16
16
  await expect(page.locator('#format')).toContainText('颜色值:#66CCFF')
17
17
  })
18
18
 
@@ -20,12 +20,6 @@ test('hsl 时应该为 hsl(xxx,xxx,xxx)', async ({ page }) => {
20
20
  page.on('pageerror', (exception) => expect(exception).toBeNull())
21
21
  await page.goto('color-select-panel#format')
22
22
  await page.getByRole('button', { name: 'Toggle' }).click()
23
- await page
24
- .locator('div')
25
- .filter({ hasText: /^rgbhexhslhsv取消选择$/ })
26
- .getByRole('img')
27
- .click()
28
- await page.getByRole('textbox', { name: '请选择' }).click()
29
23
  await page.getByRole('textbox', { name: '请选择' }).click()
30
24
  await page.getByRole('list').getByText('hsl').click()
31
25
  })
@@ -36,6 +30,6 @@ test('hsv 时候应该为 hsv(xx,xx,xx)', async ({ page }) => {
36
30
  await page.getByRole('button', { name: 'Toggle' }).click()
37
31
  await page.getByRole('textbox', { name: '请选择' }).click()
38
32
  await page.getByRole('list').getByText('hsv').click()
39
- await page.getByRole('button', { name: '选择' }).click()
33
+ await page.getByRole('button', { name: '确定' }).click()
40
34
  await expect(page.locator('#format')).toContainText('颜色值:hsv(199.99999999999997, 60%, 100%)')
41
35
  })
@@ -5,8 +5,6 @@ test('历史记录', async ({ page }) => {
5
5
  await page.goto('color-select-panel#history')
6
6
  await page.getByRole('button', { name: 'Toggle History visibility' }).click()
7
7
  await page.getByRole('button', { name: 'Show Color select panel' }).click()
8
- await expect(page.getByRole('button', { name: '历史记录' })).toBeVisible()
9
8
  await page.getByRole('button', { name: 'Toggle History visibility' }).click()
10
9
  await page.getByRole('button', { name: 'Show Color select panel' }).click()
11
- await expect(page.getByRole('button', { name: '历史记录' })).not.toBeVisible()
12
10
  })
@@ -6,15 +6,12 @@ test('预定义颜色', async ({ page }) => {
6
6
 
7
7
  await page.getByRole('button', { name: 'Toggle Predefine color' }).click()
8
8
  await page.getByRole('button', { name: 'Show Color select panel' }).click()
9
- await page.getByRole('button', { name: '预定义颜色' }).click()
10
9
  expect(page.locator('.tiny-color-select-panel__predefine__color-block')).toHaveCount(8)
11
10
  await page.getByRole('button', { name: 'Append predefine color' }).click()
12
11
  await page.getByRole('button', { name: 'Show Color select panel' }).click()
13
- await page.getByRole('button', { name: '预定义颜色' }).click()
14
12
  expect(page.locator('.tiny-color-select-panel__predefine__color-block')).toHaveCount(9)
15
13
  await page.getByRole('button', { name: 'Pop predefine color' }).click()
16
14
  await page.getByRole('button', { name: 'Show Color select panel' }).click()
17
- await page.getByRole('button', { name: '预定义颜色' }).click()
18
15
  expect(page.locator('.tiny-color-select-panel__predefine__color-block')).toHaveCount(8)
19
16
  await page.getByRole('button', { name: 'Toggle Predefine color' }).click()
20
17
  await page.getByRole('button', { name: 'Show Color select panel' }).click()
@@ -58,27 +58,27 @@ const pattern = ref('default')
58
58
  }
59
59
 
60
60
  .demo-container .tiny-container :deep(.tiny-container__header) {
61
- background-color: var(--tv-color-info-bg-light);
62
- border: 3px solid var(--tv-color-border-container);
63
- color: var(--tv-color-info-text);
61
+ background-color: var(--tv-color-info-bg-light, #0067d1);
62
+ border: 3px solid var(--tv-color-border-container, #fff);
63
+ color: var(--tv-color-info-text, #fff);
64
64
  line-height: 48px;
65
65
  }
66
66
 
67
67
  .demo-container .tiny-container :deep(.tiny-container__aside) {
68
- background-color: var(--tv-color-error-bg-light);
69
- border: 3px solid var(--tv-color-border-container);
70
- color: var(--tv-color-error-text);
68
+ background-color: var(--tv-color-error-bg-light, #0067d180);
69
+ border: 3px solid var(--tv-color-border-container, #fff);
70
+ color: var(--tv-color-error-text, #fff);
71
71
  }
72
72
 
73
73
  .demo-container .tiny-container :deep(.tiny-container__main) {
74
- background-color: var(--tv-color-warn-bg-light);
75
- border: 3px solid var(--tv-color-border-container);
74
+ background-color: var(--tv-color-warn-bg-light, #0067d133);
75
+ border: 3px solid var(--tv-color-border-container, #fff);
76
76
  color: var(--tv-color-warn-text);
77
77
  }
78
78
 
79
79
  .demo-container .tiny-container :deep(.tiny-container__footer) {
80
- background-color: var(--tv-color-success-bg-light);
81
- border: 3px solid var(--tv-color-border-container);
80
+ background-color: var(--tv-color-success-bg-light, #f0f7ff);
81
+ border: 3px solid var(--tv-color-border-container, #fff);
82
82
  color: var(--tv-color-success-text);
83
83
  }
84
84
  .demo-center {