@opentiny/vue-docs 3.25.0 → 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.
- package/.stylelintrc.js +2 -2
- package/demos/apis/modal.js +1 -1
- package/demos/apis/numeric.js +3 -3
- package/demos/apis/search.js +28 -0
- package/demos/apis/slider-button.js +22 -0
- package/demos/apis/split.js +11 -0
- package/demos/apis/steps.js +3 -3
- package/demos/apis/tabs.js +12 -0
- package/demos/apis/time-line.js +20 -0
- package/demos/mobile-first/app/slider-button/basic-usage.vue +5 -5
- package/demos/mobile-first/app/slider-button/webdoc/slider-button.js +1 -1
- package/demos/mobile-first/app/steps/advanced-steps.vue +8 -1
- package/demos/mobile-first/menus.js +16 -9
- package/demos/pc/app/amount/custom-service.spec.js +4 -4
- package/demos/pc/app/base-select/slot-reference.spec.ts +1 -1
- package/demos/pc/app/color-picker/alpha-composition-api.vue +1 -1
- package/demos/pc/app/color-picker/alpha.spec.ts +2 -2
- package/demos/pc/app/color-picker/alpha.vue +1 -1
- package/demos/pc/app/color-picker/base.spec.ts +2 -2
- package/demos/pc/app/color-picker/default-visible.spec.ts +1 -1
- package/demos/pc/app/color-picker/event-composition-api.vue +2 -2
- package/demos/pc/app/color-picker/event.spec.ts +4 -4
- package/demos/pc/app/color-picker/event.vue +1 -1
- package/demos/pc/app/color-picker/format.spec.ts +6 -6
- package/demos/pc/app/color-picker/history.spec.ts +1 -7
- package/demos/pc/app/color-picker/predefine.spec.ts +3 -10
- package/demos/pc/app/color-picker/size.spec.ts +4 -4
- package/demos/pc/app/color-select-panel/format.spec.ts +2 -8
- package/demos/pc/app/color-select-panel/history.spec.ts +0 -2
- package/demos/pc/app/color-select-panel/predefine.spec.ts +0 -3
- package/demos/pc/app/container/basic-usage-composition-api.vue +10 -10
- package/demos/pc/app/container/basic-usage.vue +10 -10
- package/demos/pc/app/container/custom-with-height-composition-api.vue +8 -8
- package/demos/pc/app/container/custom-with-height.vue +10 -10
- package/demos/pc/app/dialog-select/nest-grid-single.spec.ts +40 -0
- package/demos/pc/app/dialog-select/nest-tree-multi.spec.ts +53 -0
- package/demos/pc/app/dialog-select/nest-tree-single.spec.ts +25 -0
- package/demos/pc/app/dialog-select/set-selection.spec.ts +20 -0
- package/demos/pc/app/file-upload/before-upload-limit-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/before-upload-limit.spec.ts +1 -1
- package/demos/pc/app/file-upload/before-upload-limit.vue +1 -1
- package/demos/pc/app/file-upload/custom-trigger-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/custom-trigger.spec.ts +1 -1
- package/demos/pc/app/file-upload/custom-trigger.vue +1 -1
- package/demos/pc/app/file-upload/custom-upload-tip-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/custom-upload-tip.vue +1 -1
- package/demos/pc/app/file-upload/form-validation-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/form-validation.vue +1 -1
- package/demos/pc/app/file-upload/image-size-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/image-size.spec.ts +1 -1
- package/demos/pc/app/file-upload/image-size.vue +1 -1
- package/demos/pc/app/file-upload/multiple-file-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/multiple-file.spec.ts +1 -1
- package/demos/pc/app/file-upload/multiple-file.vue +1 -1
- package/demos/pc/app/file-upload/prevent-delete-file-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/prevent-delete-file.vue +1 -1
- package/demos/pc/app/file-upload/upload-request-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/upload-request.spec.ts +2 -2
- package/demos/pc/app/file-upload/upload-request.vue +1 -1
- package/demos/pc/app/grid/data-source/auto-load.spec.js +0 -1
- package/demos/pc/app/grid/dynamically-columns/dynamically-columns.spec.js +2 -1
- package/demos/pc/app/grid/filter/custom-filter.spec.js +3 -3
- package/demos/pc/app/grid/filter/simple-filter.spec.ts +5 -4
- package/demos/pc/app/grid/slot/slot-conf-composition-api.vue +141 -0
- package/demos/pc/app/grid/slot/slot-conf.spec.js +12 -0
- package/demos/pc/app/grid/slot/slot-conf.vue +151 -0
- package/demos/pc/app/grid/webdoc/grid-slot.js +9 -0
- package/demos/pc/app/icon/iconGroups.js +7 -2
- package/demos/pc/app/input/basic-usage.spec.ts +1 -1
- package/demos/pc/app/loading/background.spec.ts +3 -1
- package/demos/pc/app/loading/custom-class.spec.ts +4 -2
- package/demos/pc/app/loading/fullscreen.spec.ts +6 -4
- package/demos/pc/app/loading/loading-tip-text.spec.ts +3 -1
- package/demos/pc/app/loading/size.spec.ts +5 -3
- package/demos/pc/app/locales/custom-service-composition-api.vue +3 -3
- package/demos/pc/app/locales/custom-service.spec.ts +1 -1
- package/demos/pc/app/locales/custom-service.vue +3 -3
- package/demos/pc/app/modal/basic-usage.spec.ts +2 -1
- package/demos/pc/app/modal/message-close.spec.ts +2 -2
- package/demos/pc/app/modal/message-id.spec.ts +2 -2
- package/demos/pc/app/modal/modal-fn-slots.spec.ts +5 -7
- package/demos/pc/app/modal/modal-header.spec.ts +2 -1
- package/demos/pc/app/numeric/input-event-composition-api.vue +26 -0
- package/demos/pc/app/numeric/input-event.spec.ts +15 -0
- package/demos/pc/app/numeric/input-event.vue +34 -0
- package/demos/pc/app/numeric/webdoc/numeric.js +12 -0
- package/demos/pc/app/pager/align-composition-api.vue +10 -13
- package/demos/pc/app/pager/align.spec.ts +8 -3
- package/demos/pc/app/pager/align.vue +11 -5
- package/demos/pc/app/pager/page-size-composition-api.vue +2 -2
- package/demos/pc/app/pager/page-size.spec.ts +1 -1
- package/demos/pc/app/pager/page-size.vue +2 -2
- package/demos/pc/app/pager/pager-in-grid-composition-api.vue +0 -1
- package/demos/pc/app/pager/pager-in-grid.vue +0 -1
- package/demos/pc/app/pager/popper-append-to-body-composition-api.vue +1 -7
- package/demos/pc/app/pager/popper-append-to-body.vue +1 -7
- package/demos/pc/app/pager/popper-class-composition-api.vue +1 -7
- package/demos/pc/app/pager/popper-class.vue +1 -7
- package/demos/pc/app/popeditor/suggest.spec.ts +1 -1
- package/demos/pc/app/qr-code/icon-composition-api.vue +17 -3
- package/demos/pc/app/qr-code/icon.spec.ts +19 -0
- package/demos/pc/app/qr-code/icon.vue +25 -4
- package/demos/pc/app/qr-code/style-composition-api.vue +2 -9
- package/demos/pc/app/qr-code/style.spec.ts +18 -1
- package/demos/pc/app/qr-code/style.vue +11 -8
- package/demos/pc/app/query-builder/webdoc/query-builder.js +5 -3
- package/demos/pc/app/search/events.spec.ts +1 -1
- package/demos/pc/app/search/events.vue +9 -0
- package/demos/pc/app/search/slot-prefix-suffix.spec.ts +1 -1
- package/demos/pc/app/search/webdoc/search.js +12 -4
- package/demos/pc/app/tabs/basic-usage.spec.ts +2 -2
- package/demos/pc/app/tabs/header-only.vue +56 -0
- package/demos/pc/app/tabs/size.spec.ts +2 -2
- package/demos/pc/app/tabs/webdoc/tabs.js +12 -0
- package/demos/pc/app/time-line/slot-default-composition-api.vue +81 -0
- package/demos/pc/app/time-line/slot-default.spec.ts +13 -0
- package/demos/pc/app/time-line/slot-default.vue +95 -0
- package/demos/pc/app/time-line/webdoc/time-line.js +12 -0
- package/demos/pc/menus.js +20 -10
- package/demos/pc/webdoc/changelog-en.md +86 -132
- package/demos/pc/webdoc/changelog.md +86 -132
- package/demos/pc/webdoc/faq.md +14 -0
- package/demos/saas/menus.js +2 -14
- package/env/.env +3 -0
- package/package.json +25 -20
- package/playground/App.vue +2 -2
- package/postcss.config.cjs +1 -0
- package/src/App.vue +26 -42
- package/src/components/anchor.vue +5 -1
- package/src/components/demo.vue +18 -7
- package/src/components/design-token.vue +90 -0
- package/src/components/float-settings.vue +4 -10
- package/src/components/mcp-docs.vue +4 -26
- package/src/components/version-tip.vue +1 -1
- package/src/composable/useTinyRemoter.ts +176 -0
- package/src/composable/utils.ts +2 -6
- package/src/const.ts +6 -1
- package/src/i18n/en.json +2 -0
- package/src/i18n/es.json +47 -0
- package/src/i18n/index.js +25 -5
- package/src/i18n/pt.json +47 -0
- package/src/i18n/zh.json +2 -0
- package/src/main.js +17 -4
- package/src/{menus.jsx → menus.js} +0 -1
- package/src/router.js +3 -6
- package/src/tools/appData.js +4 -5
- package/src/tools/storage.js +5 -3
- package/src/tools/useApiMode.js +11 -3
- package/src/tools/useBulletin.jsx +9 -8
- package/src/tools/useStyleSettings.js +8 -0
- package/src/tools/useTemplateMode.js +5 -1
- package/src/tools/utils.js +32 -1
- package/src/views/components-doc/cmp-config.js +13 -1
- package/src/views/components-doc/common.vue +42 -9
- package/src/views/layout/layout.vue +5 -8
- package/src/views/overview.vue +1 -1
- package/tsconfig.node.json +2 -4
- package/src/tools/useAllTaskFinish.ts +0 -0
package/.stylelintrc.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
extends: 'stylelint-config-standard',
|
|
2
|
+
extends: 'stylelint-config-standard',
|
|
3
3
|
rules: {
|
|
4
4
|
'string-quotes': 'single',
|
|
5
5
|
'property-no-unknown': true,
|
|
6
6
|
'selector-pseudo-class-no-unknown': true,
|
|
7
7
|
'at-rule-empty-line-before': 'always',
|
|
8
8
|
'block-no-empty': true,
|
|
9
|
-
'indentation': 4
|
|
9
|
+
'indentation': 4
|
|
10
10
|
}
|
|
11
11
|
}
|
package/demos/apis/modal.js
CHANGED
package/demos/apis/numeric.js
CHANGED
|
@@ -460,13 +460,13 @@ export default {
|
|
|
460
460
|
},
|
|
461
461
|
{
|
|
462
462
|
name: 'input',
|
|
463
|
-
type: '
|
|
463
|
+
type: '(event: InputEvent) => void',
|
|
464
464
|
defaultValue: '',
|
|
465
465
|
desc: {
|
|
466
466
|
'zh-CN': '输入值时触发事件',
|
|
467
|
-
'en-US': ''
|
|
467
|
+
'en-US': 'Trigger event when input value is entered '
|
|
468
468
|
},
|
|
469
|
-
mode: ['mobile-first'],
|
|
469
|
+
mode: ['pc', 'mobile-first'],
|
|
470
470
|
mfDemo: ''
|
|
471
471
|
}
|
|
472
472
|
],
|
package/demos/apis/search.js
CHANGED
|
@@ -218,6 +218,34 @@ export default {
|
|
|
218
218
|
mode: ['pc'],
|
|
219
219
|
pcDemo: 'events'
|
|
220
220
|
},
|
|
221
|
+
{
|
|
222
|
+
name: 'collapse',
|
|
223
|
+
type: '() => void',
|
|
224
|
+
defaultValue: '',
|
|
225
|
+
desc: {
|
|
226
|
+
'zh-CN': 'mini模式的搜索框收回时触发的回调函数',
|
|
227
|
+
'en-US': 'The callback function triggered when the search box in mini mode is retracted'
|
|
228
|
+
},
|
|
229
|
+
meta: {
|
|
230
|
+
stable: '3.26.0'
|
|
231
|
+
},
|
|
232
|
+
mode: ['pc'],
|
|
233
|
+
pcDemo: 'events'
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
name: 'expand',
|
|
237
|
+
type: '() => void',
|
|
238
|
+
defaultValue: '',
|
|
239
|
+
desc: {
|
|
240
|
+
'zh-CN': 'mini模式的搜索框展开时触发的回调函数',
|
|
241
|
+
'en-US': 'The callback function triggered when the search box in mini mode expands'
|
|
242
|
+
},
|
|
243
|
+
meta: {
|
|
244
|
+
stable: '3.26.0'
|
|
245
|
+
},
|
|
246
|
+
mode: ['pc'],
|
|
247
|
+
pcDemo: 'events'
|
|
248
|
+
},
|
|
221
249
|
{
|
|
222
250
|
name: 'input',
|
|
223
251
|
typeAnchorName: 'ITypeValue',
|
|
@@ -5,6 +5,28 @@ export default {
|
|
|
5
5
|
name: 'slider-button',
|
|
6
6
|
type: 'component',
|
|
7
7
|
props: [
|
|
8
|
+
{
|
|
9
|
+
name: 'disabled',
|
|
10
|
+
type: 'Boolean',
|
|
11
|
+
defaultValue: '',
|
|
12
|
+
desc: {
|
|
13
|
+
'zh-CN': '设置滑块项禁用态',
|
|
14
|
+
'en-US': ''
|
|
15
|
+
},
|
|
16
|
+
mode: ['mobile-first'],
|
|
17
|
+
mfDemo: ''
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'displayed',
|
|
21
|
+
type: 'Boolean',
|
|
22
|
+
defaultValue: '',
|
|
23
|
+
desc: {
|
|
24
|
+
'zh-CN': '按钮内容是否全部展示,默认false',
|
|
25
|
+
'en-US': 'Set whether the button content is fully displayed, default is false'
|
|
26
|
+
},
|
|
27
|
+
mode: ['mobile-first'],
|
|
28
|
+
mfDemo: ''
|
|
29
|
+
},
|
|
8
30
|
{
|
|
9
31
|
name: 'disabled',
|
|
10
32
|
type: 'Boolean',
|
package/demos/apis/split.js
CHANGED
|
@@ -86,6 +86,17 @@ export default {
|
|
|
86
86
|
mode: ['pc'],
|
|
87
87
|
pcDemo: 'three-areas'
|
|
88
88
|
},
|
|
89
|
+
{
|
|
90
|
+
name: 'trigger-simple',
|
|
91
|
+
type: 'boolean',
|
|
92
|
+
defaultValue: 'false',
|
|
93
|
+
desc: {
|
|
94
|
+
'zh-CN': '是否启用简易模式',
|
|
95
|
+
'en-US': 'Whether to enable simplified mode.'
|
|
96
|
+
},
|
|
97
|
+
mode: ['pc'],
|
|
98
|
+
pcDemo: 'trigger-simple'
|
|
99
|
+
},
|
|
89
100
|
{
|
|
90
101
|
name: 'border',
|
|
91
102
|
type: 'boolean',
|
package/demos/apis/steps.js
CHANGED
|
@@ -120,13 +120,13 @@ export default {
|
|
|
120
120
|
type: 'Object',
|
|
121
121
|
defaultValue: '{}',
|
|
122
122
|
meta: {
|
|
123
|
-
stable: '3.
|
|
123
|
+
stable: '3.26.0'
|
|
124
124
|
},
|
|
125
125
|
desc: {
|
|
126
126
|
'zh-CN':
|
|
127
|
-
'
|
|
127
|
+
'步骤条块的内联样式,数据类型为{ [statusName: string]: styleObject },,不同状态可根据key值差异化配置, key值为status字段的值,value值为对应节点的样式对象',
|
|
128
128
|
'en-US':
|
|
129
|
-
'Customize the inline style of
|
|
129
|
+
'Customize the inline style of step blocks, with data type {[statusName: string]: styleObject}. Different states can be configured differently based on key values, where the key value is the value of the status field and the value value is the style object of the corresponding node'
|
|
130
130
|
},
|
|
131
131
|
mode: ['mobile-first']
|
|
132
132
|
},
|
package/demos/apis/tabs.js
CHANGED
|
@@ -294,6 +294,18 @@ export default {
|
|
|
294
294
|
mode: ['pc', 'mobile-first'],
|
|
295
295
|
pcDemo: 'overflow-title',
|
|
296
296
|
mfDemo: ''
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
name: 'header-only',
|
|
300
|
+
type: 'boolean',
|
|
301
|
+
defaultValue: 'false',
|
|
302
|
+
desc: {
|
|
303
|
+
'zh-CN': '当 header-only 为 true 时,页签内容不再渲染',
|
|
304
|
+
'en-US': 'When header-only is true, the tab content is no longer rendered'
|
|
305
|
+
},
|
|
306
|
+
mode: ['pc'],
|
|
307
|
+
pcDemo: 'header-only',
|
|
308
|
+
mfDemo: ''
|
|
297
309
|
}
|
|
298
310
|
],
|
|
299
311
|
events: [
|
package/demos/apis/time-line.js
CHANGED
|
@@ -199,6 +199,17 @@ export default {
|
|
|
199
199
|
mode: ['mobile-first'],
|
|
200
200
|
mfDemo: 'sub-field'
|
|
201
201
|
},
|
|
202
|
+
{
|
|
203
|
+
name: 'text-position',
|
|
204
|
+
type: 'string',
|
|
205
|
+
defaultValue: '',
|
|
206
|
+
desc: {
|
|
207
|
+
'zh-CN': `节点文案位置。默认名称和时间分别展示在图标上下方;可选值:'right',只有名称展示名称在右方`,
|
|
208
|
+
'en-US': `Node copy position. The default name and time are displayed above and below the icon, respectively; optional value: 'right', where only the name is displayed on the right side. `
|
|
209
|
+
},
|
|
210
|
+
mode: ['pc'],
|
|
211
|
+
pcDemo: 'text-position'
|
|
212
|
+
},
|
|
202
213
|
{
|
|
203
214
|
name: 'time-field',
|
|
204
215
|
type: 'string',
|
|
@@ -249,6 +260,15 @@ export default {
|
|
|
249
260
|
],
|
|
250
261
|
methods: [],
|
|
251
262
|
slots: [
|
|
263
|
+
{
|
|
264
|
+
name: 'default',
|
|
265
|
+
desc: {
|
|
266
|
+
'zh-CN': '组件默认插槽。组件显示为插槽内容',
|
|
267
|
+
'en-US': 'Component default slot. The component displays as the slot content. '
|
|
268
|
+
},
|
|
269
|
+
mode: ['pc'],
|
|
270
|
+
pcDemo: 'slot-default'
|
|
271
|
+
},
|
|
252
272
|
{
|
|
253
273
|
name: 'bottom',
|
|
254
274
|
desc: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tiny-slider-button-group v-model="radio2">
|
|
3
|
-
<tiny-slider-button label="1"
|
|
4
|
-
<tiny-slider-button label="2"
|
|
5
|
-
<tiny-slider-button label="3"
|
|
6
|
-
<tiny-slider-button label="4"
|
|
2
|
+
<tiny-slider-button-group v-model="radio2" :displayed="false">
|
|
3
|
+
<tiny-slider-button label="1">选项选项选项选项选项选项</tiny-slider-button>
|
|
4
|
+
<tiny-slider-button label="2">选项选项选项选项选项选项</tiny-slider-button>
|
|
5
|
+
<tiny-slider-button label="3">选项选项</tiny-slider-button>
|
|
6
|
+
<tiny-slider-button label="4">选项</tiny-slider-button>
|
|
7
7
|
</tiny-slider-button-group>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
},
|
|
11
11
|
desc: {
|
|
12
12
|
'zh-CN':
|
|
13
|
-
'<p>通过 <code>v-model</code> 绑定变量,设置的变量值为默认选中的 <code>Button</code>,变量值对应 <code>label</code> 属性的值。<br>\n 通过 <code>text</code> 也可以配置显示文本,与默认插槽配置纯文本的结果一致<br>\n <code>label</code> 可以是 <code>String、Number 或 Boolean</code
|
|
13
|
+
'<p>通过 <code>v-model</code> 绑定变量,设置的变量值为默认选中的 <code>Button</code>,变量值对应 <code>label</code> 属性的值。<br>\n 通过 <code>text</code> 也可以配置显示文本,与默认插槽配置纯文本的结果一致<br>\n <code>label</code> 可以是 <code>String、Number 或 Boolean</code>。<code>displayed</code>按钮内容是否全部展示。</p>',
|
|
14
14
|
'en-US': '<p>button type</p>'
|
|
15
15
|
},
|
|
16
16
|
codeFiles: ['basic-usage.vue']
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tiny-steps
|
|
2
|
+
<tiny-steps
|
|
3
|
+
ref="steps"
|
|
4
|
+
advanced
|
|
5
|
+
:item-style="{ disabled: { background: 'yellow', maxWidth: '360px' } }"
|
|
6
|
+
:data="data"
|
|
7
|
+
:active="advancedActive"
|
|
8
|
+
@click="advancedClick"
|
|
9
|
+
></tiny-steps>
|
|
3
10
|
</template>
|
|
4
11
|
|
|
5
12
|
<script>
|
|
@@ -8,6 +8,15 @@ export const standaloneMenus = [
|
|
|
8
8
|
export const docMenus = []
|
|
9
9
|
|
|
10
10
|
export const cmpMenus = [
|
|
11
|
+
{
|
|
12
|
+
'label': '基础',
|
|
13
|
+
'labelEn': 'Basic',
|
|
14
|
+
'key': 'cmp-frame-style',
|
|
15
|
+
'children': [
|
|
16
|
+
{ 'nameCn': '按钮', 'name': 'Button', 'key': 'button' },
|
|
17
|
+
{ 'nameCn': '分割线', 'name': 'Divider', 'key': 'divider' }
|
|
18
|
+
]
|
|
19
|
+
},
|
|
11
20
|
{
|
|
12
21
|
label: '导航组件',
|
|
13
22
|
labelEn: 'Navigation',
|
|
@@ -21,9 +30,6 @@ export const cmpMenus = [
|
|
|
21
30
|
{ name: 'Steps ', nameCn: '步骤条', key: 'steps' },
|
|
22
31
|
{ name: 'Tabs ', nameCn: '标签页', key: 'tabs' },
|
|
23
32
|
{ name: 'Menu ', nameCn: '菜单', key: 'menu' },
|
|
24
|
-
{ name: 'TimeLine ', nameCn: '时间线', key: 'time-line' },
|
|
25
|
-
// 测试时打开该行---------------
|
|
26
|
-
// { name: 'TimeLineNew ', nameCn: '时间线AUI', key: 'time-line-new' },
|
|
27
33
|
{ name: 'Dropdown ', nameCn: '下拉菜单', key: 'dropdown' },
|
|
28
34
|
{ name: 'Flowchart ', nameCn: '流程图', key: 'flowchart' }
|
|
29
35
|
]
|
|
@@ -56,7 +62,6 @@ export const cmpMenus = [
|
|
|
56
62
|
{ name: 'DatePickerMobile', nameCn: '日期选择器', key: 'date-picker-mobile' },
|
|
57
63
|
{ name: 'DatePicker', nameCn: '日期选择器多端', key: 'date-picker' },
|
|
58
64
|
{ name: 'TimePickerMobile', nameCn: '时间选择器', key: 'time-picker-mobile' },
|
|
59
|
-
{ name: 'Button', nameCn: '按钮', key: 'button' },
|
|
60
65
|
{ name: 'Checkbox', nameCn: '复选框', key: 'checkbox' },
|
|
61
66
|
{ name: 'FluentEditor', nameCn: '富文本', key: 'fluent-editor' },
|
|
62
67
|
{ name: 'Form', nameCn: '表单', key: 'form' },
|
|
@@ -78,7 +83,7 @@ export const cmpMenus = [
|
|
|
78
83
|
]
|
|
79
84
|
},
|
|
80
85
|
{
|
|
81
|
-
label: '
|
|
86
|
+
label: '数据展示',
|
|
82
87
|
labelEn: 'Data',
|
|
83
88
|
key: 'cmp-data-components',
|
|
84
89
|
children: [
|
|
@@ -86,7 +91,10 @@ export const cmpMenus = [
|
|
|
86
91
|
{ name: 'StandardListItem', nameCn: '标准列表项', key: 'standard-list-item' },
|
|
87
92
|
{ name: 'Progress', nameCn: '进度条', key: 'progress' },
|
|
88
93
|
{ name: 'PullRefresh', nameCn: '下拉刷新', key: 'pull-refresh' },
|
|
89
|
-
{ name: 'Pager', nameCn: '分页', key: 'pager' }
|
|
94
|
+
{ name: 'Pager', nameCn: '分页', key: 'pager' },
|
|
95
|
+
{ name: 'TimeLine ', nameCn: '时间线', key: 'time-line' }
|
|
96
|
+
// 测试时打开该行---------------
|
|
97
|
+
// { name: 'TimeLineNew ', nameCn: '时间线AUI', key: 'time-line-new' },
|
|
90
98
|
]
|
|
91
99
|
},
|
|
92
100
|
{
|
|
@@ -96,7 +104,7 @@ export const cmpMenus = [
|
|
|
96
104
|
'children': [{ 'nameCn': '基本用法', 'name': 'Grid', 'key': 'grid' }]
|
|
97
105
|
},
|
|
98
106
|
{
|
|
99
|
-
label: '
|
|
107
|
+
label: '反馈',
|
|
100
108
|
labelEn: 'Tooltip',
|
|
101
109
|
key: 'cmp-tips-components',
|
|
102
110
|
children: [
|
|
@@ -125,8 +133,7 @@ export const cmpMenus = [
|
|
|
125
133
|
{ name: 'Amount', nameCn: '金额', key: 'amount' },
|
|
126
134
|
{ name: 'currency', nameCn: '币种', key: 'currency' },
|
|
127
135
|
{ name: 'CalendarView', nameCn: '日历', key: 'calendar-view' },
|
|
128
|
-
{ name: 'FloatingButton', nameCn: '悬浮按钮', key: 'floating-button' }
|
|
129
|
-
{ name: 'Divider', nameCn: '分割线', key: 'divider' }
|
|
136
|
+
{ name: 'FloatingButton', nameCn: '悬浮按钮', key: 'floating-button' }
|
|
130
137
|
]
|
|
131
138
|
}
|
|
132
139
|
]
|
|
@@ -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:
|
|
14
|
-
await page.getByRole('textbox').nth(
|
|
15
|
-
await page.getByRole('textbox').nth(
|
|
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
|
|
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'
|
|
15
|
+
await page.getByRole('listitem').filter({ hasText: /北京/ }).locator('span').click()
|
|
16
16
|
})
|
|
@@ -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: '
|
|
11
|
+
await page.getByRole('button', { name: '确定' }).click()
|
|
12
12
|
// default is hex
|
|
13
|
-
await page.getByText('#
|
|
13
|
+
await page.getByText('#66CCFFFF').click()
|
|
14
14
|
})
|
|
@@ -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: '
|
|
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: '
|
|
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: '
|
|
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('
|
|
7
|
-
await page.
|
|
8
|
-
await page.
|
|
9
|
-
await page.
|
|
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
|
})
|
|
@@ -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.
|
|
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: '
|
|
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.
|
|
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: '
|
|
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.
|
|
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: '
|
|
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
|
|
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.
|
|
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: '
|
|
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: '
|
|
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', '
|
|
7
|
-
await expect(page.locator('.tiny-color-picker.tiny-color-picker--medium')).toHaveCSS('width', '
|
|
8
|
-
await expect(page.locator('.tiny-color-picker.tiny-color-picker--small')).toHaveCSS('width', '
|
|
9
|
-
await expect(page.locator('.tiny-color-picker.tiny-color-picker--mini')).toHaveCSS('width', '
|
|
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: '
|
|
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: '
|
|
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 {
|