@opentiny/vue-docs 3.17.2 → 3.17.4

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 (212) hide show
  1. package/demos/apis/action-sheet.js +1 -1
  2. package/demos/apis/autocomplete.js +2 -2
  3. package/demos/apis/button-group.js +3 -0
  4. package/demos/apis/cascader.js +1 -1
  5. package/demos/apis/chart-attributes-demo.js +397 -291
  6. package/demos/apis/chart-autonavi-map.js +394 -296
  7. package/demos/apis/chart-baidu-map.js +394 -296
  8. package/demos/apis/chart-bar.js +394 -296
  9. package/demos/apis/chart-boxplot.js +394 -297
  10. package/demos/apis/chart-candle.js +394 -296
  11. package/demos/apis/chart-demo.js +397 -291
  12. package/demos/apis/chart-docs.js +403 -0
  13. package/demos/apis/chart-events.js +397 -291
  14. package/demos/apis/chart-funnel.js +394 -296
  15. package/demos/apis/chart-gauge.js +394 -296
  16. package/demos/apis/chart-graph.js +394 -296
  17. package/demos/apis/chart-heatmap.js +394 -296
  18. package/demos/apis/chart-histogram.js +394 -296
  19. package/demos/apis/chart-line.js +394 -296
  20. package/demos/apis/chart-liquidfill.js +394 -296
  21. package/demos/apis/chart-map.js +394 -296
  22. package/demos/apis/chart-pie.js +395 -297
  23. package/demos/apis/chart-process.js +28 -28
  24. package/demos/apis/chart-question.js +397 -291
  25. package/demos/apis/chart-radar.js +394 -296
  26. package/demos/apis/chart-ring.js +394 -296
  27. package/demos/apis/chart-sankey.js +394 -296
  28. package/demos/apis/chart-scatter.js +394 -296
  29. package/demos/apis/chart-sunburst.js +394 -296
  30. package/demos/apis/chart-tree.js +394 -296
  31. package/demos/apis/chart-waterfall.js +394 -296
  32. package/demos/apis/chart-wordcloud.js +394 -296
  33. package/demos/apis/chart.js +199 -81
  34. package/demos/apis/dialog-box.js +1 -1
  35. package/demos/apis/dialog-select.js +14 -0
  36. package/demos/apis/dropdown.js +16 -0
  37. package/demos/apis/file-upload.js +2 -1
  38. package/demos/apis/fluent-editor.js +110 -0
  39. package/demos/apis/form.js +1 -1
  40. package/demos/apis/grid.js +24 -0
  41. package/demos/apis/guide.js +1 -1
  42. package/demos/apis/input.js +15 -0
  43. package/demos/apis/numeric.js +6 -6
  44. package/demos/apis/search.js +11 -0
  45. package/demos/apis/switch.js +24 -0
  46. package/demos/apis/tabs.js +3 -5
  47. package/demos/apis/tree-menu.js +2 -13
  48. package/demos/apis/tree-select.js +192 -15
  49. package/demos/apis/tree.js +11 -0
  50. package/demos/mobile-first/app/file-upload/file-size-array.vue +19 -0
  51. package/demos/mobile-first/app/file-upload/file-size.vue +76 -0
  52. package/demos/mobile-first/app/file-upload/webdoc/file-upload.js +24 -0
  53. package/demos/mobile-first/app/grid/basic-usage.vue +5 -1
  54. package/demos/pc/app/cascader-panel/multiple-composition-api.vue +226 -0
  55. package/demos/pc/app/cascader-panel/multiple.spec.ts +15 -0
  56. package/demos/pc/app/cascader-panel/multiple.vue +234 -0
  57. package/demos/pc/app/cascader-panel/webdoc/cascader-panel.js +12 -0
  58. package/demos/pc/app/chart/webdoc/chart-docs.cn.md +126 -0
  59. package/demos/pc/app/chart/webdoc/chart-docs.en.md +127 -0
  60. package/demos/pc/app/chart/webdoc/chart-docs.js +6 -0
  61. package/demos/pc/app/chart/webdoc/chart-docs.json.cn.md +126 -0
  62. package/demos/pc/app/chart/webdoc/chart-docs.json.en.md +127 -0
  63. package/demos/pc/app/chart/webdoc/chart.cn.md +1 -1
  64. package/demos/pc/app/chart/webdoc/chart.en.md +1 -1
  65. package/demos/pc/app/color-picker/base.vue +1 -0
  66. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +4 -2
  67. package/demos/pc/app/directives/highlight-query/avoid-composition-api.vue +52 -0
  68. package/demos/pc/app/directives/highlight-query/avoid.spec.js +15 -0
  69. package/demos/pc/app/directives/highlight-query/avoid.vue +65 -0
  70. package/demos/pc/app/directives/highlight-query/basic-usage-composition-api.vue +31 -0
  71. package/demos/pc/app/directives/highlight-query/basic-usage.spec.js +12 -0
  72. package/demos/pc/app/directives/highlight-query/basic-usage.vue +40 -0
  73. package/demos/pc/app/directives/webdoc/directives-highlight-query.cn.md +7 -0
  74. package/demos/pc/app/directives/webdoc/directives-highlight-query.en.md +7 -0
  75. package/demos/pc/app/directives/webdoc/directives-highlight-query.js +39 -0
  76. package/demos/pc/app/dropdown/lazy-show-popper-composition-api.vue +43 -0
  77. package/demos/pc/app/dropdown/lazy-show-popper.spec.ts +20 -0
  78. package/demos/pc/app/dropdown/lazy-show-popper.vue +47 -0
  79. package/demos/pc/app/dropdown/webdoc/dropdown.js +13 -0
  80. package/demos/pc/app/file-upload/file-size-array.vue +85 -0
  81. package/demos/pc/app/file-upload/file-size.vue +78 -0
  82. package/demos/pc/app/file-upload/webdoc/file-upload.js +24 -0
  83. package/demos/pc/app/form/message-type-composition-api.vue +1 -1
  84. package/demos/pc/app/form/message-type.vue +1 -1
  85. package/demos/pc/app/form/webdoc/form.js +2 -2
  86. package/demos/pc/app/grid/dynamically-columns/column-switching-scroll-composition-api.vue +81 -0
  87. package/demos/pc/app/grid/dynamically-columns/column-switching-scroll.spec.js +14 -0
  88. package/demos/pc/app/grid/dynamically-columns/column-switching-scroll.vue +89 -0
  89. package/demos/pc/app/grid/webdoc/grid-dynamically-columns.js +12 -0
  90. package/demos/pc/app/grid/webdoc/grid-pager.js +1 -1
  91. package/demos/pc/app/icon/iconGroups.js +278 -157
  92. package/demos/pc/app/input/basic-usage.spec.ts +1 -1
  93. package/demos/pc/app/input/show-tooltip-composition-api.vue +27 -0
  94. package/demos/pc/app/input/show-tooltip.spec.ts +10 -0
  95. package/demos/pc/app/input/show-tooltip.vue +34 -0
  96. package/demos/pc/app/input/webdoc/input.js +13 -0
  97. package/demos/pc/app/numeric/numeric-size-composition-api.vue +2 -0
  98. package/demos/pc/app/numeric/numeric-size.vue +2 -0
  99. package/demos/pc/app/numeric/webdoc/numeric.js +2 -2
  100. package/demos/pc/app/rich-text-editor/basic-usage.vue +2 -0
  101. package/demos/pc/app/search/slot-prefix-composition-api.vue +10 -2
  102. package/demos/pc/app/search/slot-prefix.spec.ts +1 -1
  103. package/demos/pc/app/search/slot-prefix.vue +16 -5
  104. package/demos/pc/app/search/webdoc/search.js +5 -4
  105. package/demos/pc/app/select/popup-style-position-composition-api.vue +1 -2
  106. package/demos/pc/app/select/popup-style-position.vue +1 -2
  107. package/demos/pc/app/slider/about-step-composition-api.vue +6 -0
  108. package/demos/pc/app/slider/about-step.vue +6 -0
  109. package/demos/pc/app/slider/basic-usage-composition-api.vue +6 -0
  110. package/demos/pc/app/slider/basic-usage.vue +6 -0
  111. package/demos/pc/app/slider/dynamic-disable-composition-api.vue +6 -0
  112. package/demos/pc/app/slider/dynamic-disable.vue +6 -0
  113. package/demos/pc/app/slider/format-tooltip-composition-api.vue +6 -0
  114. package/demos/pc/app/slider/format-tooltip.vue +6 -0
  115. package/demos/pc/app/slider/marks-composition-api.vue +7 -5
  116. package/demos/pc/app/slider/marks.vue +7 -5
  117. package/demos/pc/app/slider/max-min-composition-api.vue +6 -0
  118. package/demos/pc/app/slider/max-min.vue +6 -0
  119. package/demos/pc/app/slider/range-select-composition-api.vue +6 -0
  120. package/demos/pc/app/slider/range-select.vue +6 -0
  121. package/demos/pc/app/slider/shortcut-operation-composition-api.vue +6 -0
  122. package/demos/pc/app/slider/shortcut-operation.vue +6 -0
  123. package/demos/pc/app/slider/show-input-composition-api.vue +6 -0
  124. package/demos/pc/app/slider/show-input.vue +6 -0
  125. package/demos/pc/app/slider/show-tip-composition-api.vue +6 -0
  126. package/demos/pc/app/slider/show-tip.vue +6 -0
  127. package/demos/pc/app/slider/slider-event-composition-api.vue +6 -0
  128. package/demos/pc/app/slider/slider-event.vue +6 -0
  129. package/demos/pc/app/slider/slider-slot-composition-api.vue +6 -0
  130. package/demos/pc/app/slider/slider-slot.vue +6 -0
  131. package/demos/pc/app/slider/vertical-mode-composition-api.vue +6 -0
  132. package/demos/pc/app/slider/vertical-mode.vue +6 -0
  133. package/demos/pc/app/switch/custom-open-close-icon-composition-api.vue +20 -0
  134. package/demos/pc/app/switch/custom-open-close-icon.spec.ts +15 -0
  135. package/demos/pc/app/switch/custom-open-close-icon.vue +23 -0
  136. package/demos/pc/app/switch/webdoc/switch.js +13 -0
  137. package/demos/pc/app/tabs/basic-usage-composition-api.vue +1 -1
  138. package/demos/pc/app/tabs/basic-usage.vue +1 -1
  139. package/demos/pc/app/tabs/size-composition-api.vue +31 -0
  140. package/demos/pc/app/tabs/size.spec.ts +15 -0
  141. package/demos/pc/app/tabs/size.vue +41 -0
  142. package/demos/pc/app/tabs/tabs-second-layer-composition-api.vue +0 -1
  143. package/demos/pc/app/tabs/tabs-second-layer.vue +0 -1
  144. package/demos/pc/app/tabs/tabs-separator-composition-api.vue +3 -1
  145. package/demos/pc/app/tabs/tabs-separator.vue +3 -1
  146. package/demos/pc/app/tabs/webdoc/tabs.js +12 -0
  147. package/demos/pc/app/time-picker/default-value.spec.ts +1 -1
  148. package/demos/pc/app/time-picker/picker-options.spec.ts +4 -3
  149. package/demos/pc/app/tree/filter-view-composition-api.vue +9 -0
  150. package/demos/pc/app/tree/filter-view.spec.ts +8 -0
  151. package/demos/pc/app/tree/filter-view.vue +9 -0
  152. package/demos/pc/app/tree/webdoc/tree.js +2 -0
  153. package/demos/pc/app/tree-menu/custom-icon-composition-api.vue +1 -1
  154. package/demos/pc/app/tree-menu/custom-icon.vue +1 -1
  155. package/demos/pc/app/tree-menu/webdoc/tree-menu.js +2 -2
  156. package/demos/pc/app/tree-select/basic-usage.vue +1 -0
  157. package/demos/pc/app/tree-select/collapse-tags-composition-api.vue +71 -0
  158. package/demos/pc/app/tree-select/collapse-tags.vue +78 -0
  159. package/demos/pc/app/tree-select/copy-composition-api.vue +70 -0
  160. package/demos/pc/app/tree-select/copy.vue +78 -0
  161. package/demos/pc/app/tree-select/disabled-composition-api.vue +69 -0
  162. package/demos/pc/app/tree-select/disabled.vue +76 -0
  163. package/demos/pc/app/tree-select/map-field-composition-api.vue +55 -0
  164. package/demos/pc/app/tree-select/map-field.vue +62 -0
  165. package/demos/pc/app/tree-select/multiple-composition-api.vue +55 -0
  166. package/demos/pc/app/tree-select/multiple.vue +62 -0
  167. package/demos/pc/app/tree-select/native-properties-composition-api.vue +61 -0
  168. package/demos/pc/app/tree-select/native-properties.vue +68 -0
  169. package/demos/pc/app/tree-select/panel-style-composition-api.vue +73 -0
  170. package/demos/pc/app/tree-select/panel-style.vue +80 -0
  171. package/demos/pc/app/tree-select/reference-style-composition-api.vue +76 -0
  172. package/demos/pc/app/tree-select/reference-style.vue +83 -0
  173. package/demos/pc/app/tree-select/size-composition-api.vue +69 -0
  174. package/demos/pc/app/tree-select/size.vue +76 -0
  175. package/demos/pc/app/tree-select/webdoc/tree-select.js +124 -0
  176. package/demos/pc/menus.js +5 -1
  177. package/demos/pc/overviewimage/chart-docs.svg +44 -0
  178. package/package.json +7 -7
  179. package/playground/App.vue +1 -0
  180. package/src/assets/images/Infinitely-icon.png +0 -0
  181. package/src/assets/images/Infinitely.png +0 -0
  182. package/src/assets/images/glaciers-icon.png +0 -0
  183. package/src/assets/images/glaciers.png +0 -0
  184. package/src/assets/images/oceanic-icon.png +0 -0
  185. package/src/assets/images/oceanic.png +0 -0
  186. package/src/assets/images/starry-sky-icon.png +0 -0
  187. package/src/assets/images/starry-sky.png +0 -0
  188. package/src/i18n/en.json +4 -2
  189. package/src/i18n/zh.json +4 -2
  190. package/src/style.css +10 -2
  191. package/src/tools/appData.js +7 -10
  192. package/src/tools/useApiMode.js +5 -0
  193. package/src/tools/useStyleSettings.js +16 -0
  194. package/src/tools/useTheme.js +39 -4
  195. package/src/views/components/components.vue +14 -6
  196. package/src/views/components/demo.vue +4 -4
  197. package/src/views/components/float-settings.vue +124 -98
  198. package/src/views/layout/layout.vue +1 -1
  199. package/vite.config.ts +2 -1
  200. package/demos/mobile-first/app/time-line-new/auto-slot.vue +0 -50
  201. package/demos/mobile-first/app/time-line-new/basic-usage.vue +0 -23
  202. package/demos/mobile-first/app/time-line-new/fold-time.vue +0 -29
  203. package/demos/mobile-first/app/time-line-new/limited-nodes.vue +0 -29
  204. package/demos/mobile-first/app/time-line-new/many-status.vue +0 -24
  205. package/demos/mobile-first/app/time-line-new/node-max.vue +0 -26
  206. package/demos/mobile-first/app/time-line-new/node-toset.vue +0 -32
  207. package/demos/mobile-first/app/time-line-new/single-status.vue +0 -40
  208. package/demos/mobile-first/app/time-line-new/sub-field.vue +0 -23
  209. package/demos/mobile-first/app/time-line-new/webdoc/time-line-new.cn.md +0 -9
  210. package/demos/mobile-first/app/time-line-new/webdoc/time-line-new.en.md +0 -9
  211. package/demos/mobile-first/app/time-line-new/webdoc/time-line-new.js +0 -120
  212. /package/demos/pc/app/slider/{show-iput.spec.ts → show-input.spec.ts} +0 -0
@@ -0,0 +1,69 @@
1
+ <template>
2
+ <div>
3
+ <p>medium</p>
4
+ <tiny-tree-select v-model="value" size="medium" multiple :tree-op="treeOp"></tiny-tree-select>
5
+ <p>small</p>
6
+ <tiny-tree-select v-model="value" size="small" multiple :tree-op="treeOp"> </tiny-tree-select>
7
+ <p>默认</p>
8
+ <tiny-tree-select v-model="value" multiple :tree-op="treeOp"></tiny-tree-select>
9
+ <p>mini</p>
10
+ <tiny-tree-select v-model="value" size="mini" multiple :tree-op="treeOp"> </tiny-tree-select>
11
+ </div>
12
+ </template>
13
+
14
+ <script setup>
15
+ import { ref } from 'vue'
16
+ import { TreeSelect as TinyTreeSelect } from '@opentiny/vue'
17
+
18
+ const value = ref([])
19
+
20
+ const treeOp = ref({
21
+ data: [
22
+ {
23
+ value: 1,
24
+ label: '一级 1',
25
+ children: [
26
+ {
27
+ value: 4,
28
+ label: '二级 1-1',
29
+ children: [
30
+ {
31
+ value: 9,
32
+ label: '三级 1-1-1'
33
+ },
34
+ {
35
+ value: 10,
36
+ label: '三级 1-1-2'
37
+ }
38
+ ]
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ value: 2,
44
+ label: '一级 2',
45
+ children: [
46
+ {
47
+ value: 5,
48
+ label: '二级 2-1'
49
+ },
50
+ {
51
+ value: 6,
52
+ label: '二级 2-2'
53
+ }
54
+ ]
55
+ }
56
+ ]
57
+ })
58
+ </script>
59
+
60
+ <style scoped>
61
+ .tiny-tree-select {
62
+ width: 280px;
63
+ }
64
+
65
+ p {
66
+ font-size: 14px;
67
+ line-height: 2.5;
68
+ }
69
+ </style>
@@ -0,0 +1,76 @@
1
+ <template>
2
+ <div>
3
+ <p>medium</p>
4
+ <tiny-tree-select v-model="value" size="medium" multiple :tree-op="treeOp"></tiny-tree-select>
5
+ <p>small</p>
6
+ <tiny-tree-select v-model="value" size="small" multiple :tree-op="treeOp"> </tiny-tree-select>
7
+ <p>默认</p>
8
+ <tiny-tree-select v-model="value" multiple :tree-op="treeOp"></tiny-tree-select>
9
+ <p>mini</p>
10
+ <tiny-tree-select v-model="value" size="mini" multiple :tree-op="treeOp"> </tiny-tree-select>
11
+ </div>
12
+ </template>
13
+
14
+ <script>
15
+ import { TreeSelect } from '@opentiny/vue'
16
+
17
+ export default {
18
+ components: {
19
+ TinyTreeSelect: TreeSelect
20
+ },
21
+ data() {
22
+ return {
23
+ value: [],
24
+ treeOp: {
25
+ data: [
26
+ {
27
+ value: 1,
28
+ label: '一级 1',
29
+ children: [
30
+ {
31
+ value: 4,
32
+ label: '二级 1-1',
33
+ children: [
34
+ {
35
+ value: 9,
36
+ label: '三级 1-1-1'
37
+ },
38
+ {
39
+ value: 10,
40
+ label: '三级 1-1-2'
41
+ }
42
+ ]
43
+ }
44
+ ]
45
+ },
46
+ {
47
+ value: 2,
48
+ label: '一级 2',
49
+ children: [
50
+ {
51
+ value: 5,
52
+ label: '二级 2-1'
53
+ },
54
+ {
55
+ value: 6,
56
+ label: '二级 2-2'
57
+ }
58
+ ]
59
+ }
60
+ ]
61
+ }
62
+ }
63
+ }
64
+ }
65
+ </script>
66
+
67
+ <style scoped>
68
+ .tiny-tree-select {
69
+ width: 280px;
70
+ }
71
+
72
+ p {
73
+ font-size: 14px;
74
+ line-height: 2.5;
75
+ }
76
+ </style>
@@ -1,6 +1,9 @@
1
1
  export default {
2
2
  column: '2',
3
3
  owner: '',
4
+ metaData: {
5
+ experimental: '3.17.0'
6
+ },
4
7
  demos: [
5
8
  {
6
9
  demoId: 'basic-usage',
@@ -13,6 +16,127 @@ export default {
13
16
  'en-US': ''
14
17
  },
15
18
  codeFiles: ['basic-usage.vue']
19
+ },
20
+ {
21
+ demoId: 'multiple',
22
+ name: {
23
+ 'zh-CN': '多选',
24
+ 'en-US': 'Multiple'
25
+ },
26
+ desc: {
27
+ 'zh-CN': `通过 <code>multiple</code> 属性启用多选功能,此时 <code>v-model</code> 的值为当前选中值所组成的数组,默认选中值会以标签形式展示。<br>`,
28
+ 'en-US': `Use the <code>multiple</code> attribute to enable the multi-selection function. In this case, the value of <code>v-model</code> is an array of selected values. By default, the selected value is displayed as a tag.<br>`
29
+ },
30
+ codeFiles: ['multiple.vue']
31
+ },
32
+ {
33
+ demoId: 'collapse-tags',
34
+ name: {
35
+ 'zh-CN': '折叠标签',
36
+ 'en-US': 'Collapse tags'
37
+ },
38
+ desc: {
39
+ 'zh-CN':
40
+ '<p>通过 <code>collapse-tags</code> 属性设置选中多个选项时,多个标签缩略展示。设置 <code>hover-expand</code> 为 <code>true</code> ,默认折叠标签, <code>hover</code> 时展示所有标签。标签内容超长时超出省略,<code>hover</code> 标签时展示 <code>tooltip</code> 。</p>\n',
41
+ 'en-US':
42
+ '<p>When multiple options are selected through the <code>collapse-tags</code> attribute settings, multiple tags are displayed in a thumbnail. By setting <code>hover-expand</code> to <code>true</code> , the tags are collapsed by default, and all tags are displayed when hovering. If the content of the tag is too long, it should be omitted. When hovering the tag, a <code>tooltip</code> should be displayed</p>'
43
+ },
44
+ codeFiles: ['collapse-tags.vue']
45
+ },
46
+ {
47
+ demoId: 'size',
48
+ name: {
49
+ 'zh-CN': '尺寸',
50
+ 'en-US': 'Size'
51
+ },
52
+ desc: {
53
+ 'zh-CN': '<p>通过 <code>size</code> 属性设置输入框尺寸,可选值:medium / small / mini 。</p>',
54
+ 'en-US':
55
+ '<p>Set the input box size through the <code>size</code> attribute, with optional values of medium / small / mini.</p>'
56
+ },
57
+ codeFiles: ['size.vue']
58
+ },
59
+ {
60
+ demoId: 'disabled',
61
+ name: {
62
+ 'zh-CN': '禁用',
63
+ 'en-US': 'Disabled'
64
+ },
65
+ desc: {
66
+ 'zh-CN': '<p>通过 <code>disabled</code> 属性设置禁用状态。</p>\n',
67
+ 'en-US':
68
+ '<p>Set the disabled status of the dropdown or dropdown item through the <code>disabled</code> attribute. </p>\n'
69
+ },
70
+ codeFiles: ['disabled.vue']
71
+ },
72
+ {
73
+ demoId: 'map-field',
74
+ name: {
75
+ 'zh-CN': '映射字段',
76
+ 'en-US': 'Map Fields'
77
+ },
78
+ desc: {
79
+ 'zh-CN': '通过 <code>text-field</code> 设置显示文本字段,<code>value-field</code>设置绑定值字段。',
80
+ 'en-US':
81
+ '<p>Set the display text field by <code>text-field</code>, and set the binding value field by <code>value-field</code>. </p>\n'
82
+ },
83
+ codeFiles: ['map-field.vue']
84
+ },
85
+ {
86
+ demoId: 'reference-style',
87
+ name: {
88
+ 'zh-CN': '触发源样式',
89
+ 'en-US': 'Reference type'
90
+ },
91
+ desc: {
92
+ 'zh-CN':
93
+ '<p>通过 <code>dropdown-icon</code> 属性可自定义下拉图标,<code>drop-style</code> 属性可自定义下拉选项样式,<code>tag-type</code> 属性设置标签类型(同 Tag 组件的 type 属性),<code>input-box-type</code> 属性设置输入框类型。</p>\n',
94
+ 'en-US':
95
+ '<p>Set the label type through the <code>tag-type</code> attribute, which is the same as the type attribute of the Tag component. Optional values: success/info/warning/danger.</p>\n'
96
+ },
97
+ codeFiles: ['reference-style.vue']
98
+ },
99
+ {
100
+ demoId: 'panel-style',
101
+ name: {
102
+ 'zh-CN': '下拉面板样式',
103
+ 'en-US': 'Panel style'
104
+ },
105
+ desc: {
106
+ 'zh-CN':
107
+ '<p>通过 <code>popper-append-to-body</code> 设置是否将弹框 dom 元素插入至 body 元素,默认为 true,<code>popper-class</code> 属性设置下拉弹框的类名,可自定义样式,<code>placement</code>设置弹出位置。</p>\n',
108
+ 'en-US':
109
+ '<p>You can customize the style by setting the class name of the dropdown pop-up box through the <code>popper-class</code> attribute <code>placement</code> set the pop-up position <code>popper-append-to-body</code> set whether to insert the pop-up dom element into the body element, default to true. </p>\n'
110
+ },
111
+ codeFiles: ['panel-style.vue']
112
+ },
113
+ {
114
+ demoId: 'copy',
115
+ name: {
116
+ 'zh-CN': '可复制',
117
+ 'en-US': 'Copyable'
118
+ },
119
+ desc: {
120
+ 'zh-CN':
121
+ '<p>通过 <code>copyable</code> 设置启用一键复制所有标签的文本内容并以逗号分隔,<code>text-split</code> 自定义复制文本的分隔符。</p>\n',
122
+ 'en-US':
123
+ '<p>When setting radio searchable through the <code>allow-copy</code> attribute, the mouse can slide to select and copy the content of the input box. </p>\n'
124
+ },
125
+ codeFiles: ['copy.vue']
126
+ },
127
+ {
128
+ demoId: 'native-properties',
129
+ name: {
130
+ 'zh-CN': '原生属性',
131
+ 'en-US': 'Native properties'
132
+ },
133
+ desc: {
134
+ 'zh-CN':
135
+ '<p>通过 <code>name</code> / <code>placeholder</code> / <code>autocomplete</code> 属性设置下拉组件内置 Input 的原生属性。</p>\n',
136
+ 'en-US':
137
+ '<p>Set the native properties of the built-in Input in the dropdown component through the <code>name</code> / <code>placeholder</code> / <code>autocomplete</code> attribute settings.</p>\n'
138
+ },
139
+ codeFiles: ['native-properties.vue']
16
140
  }
17
141
  ]
18
142
  }
package/demos/pc/menus.js CHANGED
@@ -261,6 +261,7 @@ export const cmpMenus = [
261
261
  'labelEn': 'Chart',
262
262
  'key': 'cmp-chart-components',
263
263
  'children': [
264
+ { 'nameCn': '图表文档', 'name': 'Chart Docs', 'key': 'chart-docs' },
264
265
  { 'nameCn': '基本用法', 'name': 'Basic Usage', 'key': 'chart' },
265
266
  { 'nameCn': '事件监听', 'name': 'Event Listening', 'key': 'chart-events' },
266
267
  { 'nameCn': '属性配置示例', 'name': 'Attribute Configuration Example', 'key': 'chart-attributes-demo' },
@@ -313,7 +314,10 @@ export const cmpMenus = [
313
314
  'label': '自定义指令',
314
315
  'labelEn': 'Custom Instruction',
315
316
  'key': 'directives-custom-instruction',
316
- 'children': [{ 'nameCn': '超出隐藏', 'name': 'AutoTip', 'key': 'directives-auto-tip' }]
317
+ 'children': [
318
+ { 'nameCn': '超出隐藏', 'name': 'AutoTip', 'key': 'directives-auto-tip' },
319
+ { 'nameCn': '高亮搜索字', 'name': 'HighlightQuery', 'key': 'directives-highlight-query' }
320
+ ]
317
321
  }
318
322
  ]
319
323
 
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="125px" height="125px" viewBox="0 0 125 125" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>Chart-Docs 图表文档</title>
4
+ <defs>
5
+ <linearGradient x1="46.6204972%" y1="86.8386573%" x2="95.1231838%" y2="-43.8247114%" id="linearGradient-1">
6
+ <stop stop-color="#5073E5" offset="0%"></stop>
7
+ <stop stop-color="#5E7CE0" offset="100%"></stop>
8
+ </linearGradient>
9
+ <linearGradient x1="44.0988019%" y1="86.8386573%" x2="128.792906%" y2="-43.8247114%" id="linearGradient-2">
10
+ <stop stop-color="#5073E5" offset="0%"></stop>
11
+ <stop stop-color="#5E7CE0" offset="100%"></stop>
12
+ </linearGradient>
13
+ <linearGradient x1="49.0892284%" y1="86.8386573%" x2="62.1606399%" y2="-43.8247114%" id="linearGradient-3">
14
+ <stop stop-color="#5073E5" offset="0%"></stop>
15
+ <stop stop-color="#5E7CE0" offset="100%"></stop>
16
+ </linearGradient>
17
+ <linearGradient x1="46.2232332%" y1="86.8386573%" x2="100.42746%" y2="-43.8247114%" id="linearGradient-4">
18
+ <stop stop-color="#5073E5" offset="0%"></stop>
19
+ <stop stop-color="#5E7CE0" offset="100%"></stop>
20
+ </linearGradient>
21
+ <linearGradient x1="49.4821325%" y1="86.8386573%" x2="56.9145764%" y2="-43.8247114%" id="linearGradient-5">
22
+ <stop stop-color="#5073E5" offset="0%"></stop>
23
+ <stop stop-color="#5E7CE0" offset="100%"></stop>
24
+ </linearGradient>
25
+ </defs>
26
+ <g id="组件总览" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
27
+ <g id="-TinyUI-Vue-组件总览3" transform="translate(-696.000000, -334.000000)">
28
+ <g id="编组-17" transform="translate(598.000000, 301.000000)">
29
+ <g id="Chart-基本用法" transform="translate(98.000000, 33.000000)">
30
+ <g id="编组"></g>
31
+ <g id="说明" transform="translate(40.000000, 45.000000)">
32
+ <rect id="矩形备份-6" fill="url(#linearGradient-1)" opacity="0.204287574" x="0" y="0" width="28" height="37" rx="4"></rect>
33
+ <path d="M11.7752734,20 C8.82473155,20.4956338 6.49506187,22.8260384 6,25.7772097 L11.7752734,25.7772097 L11.7752734,20 Z M14.1268173,20.0002691 L14.1268173,28.1257787 L11.7752734,28.1257787 L6.0000269,28.1257787 C6.55933919,31.460933 9.45886815,34 12.9499153,34 C16.8431734,34 20,30.8460328 20,26.9509022 C20,23.4601526 17.4599021,20.5607029 14.1268173,20.0002691 Z" id="形状" fill="url(#linearGradient-2)"></path>
34
+ <rect id="矩形" fill="#5073E5" x="6" y="12" width="22" height="4" rx="2"></rect>
35
+ <rect id="矩形备份-4" fill="#5073E5" x="6" y="3" width="15" height="4" rx="2"></rect>
36
+ </g>
37
+ <rect id="矩形" fill="url(#linearGradient-3)" opacity="0.204287574" x="75" y="53" width="11" height="28" rx="2"></rect>
38
+ <rect id="矩形" stroke="url(#linearGradient-4)" stroke-width="4" x="39" y="40" width="36" height="45" rx="3"></rect>
39
+ <path d="M77.894627,53 L79.894627,53 L83,53 C84.6568542,53 86,54.1456243 86,55.5588235 L86,79.4411765 C86,80.8543757 84.6568542,82 83,82 L77.4091284,82 L79.4091284,82" id="路径" stroke="url(#linearGradient-5)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"></path>
40
+ </g>
41
+ </g>
42
+ </g>
43
+ </g>
44
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentiny/vue-docs",
3
- "version": "3.17.2",
3
+ "version": "3.17.4",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
6
  "@opentiny/vue-repl": "^1.1.2",
@@ -17,17 +17,17 @@
17
17
  "vue-i18n": "^9.1.10",
18
18
  "vue-router": "4.1.5",
19
19
  "@opentiny/vue": "~3.17.0",
20
- "@opentiny/vue-design-saas": "~3.17.0",
21
- "@opentiny/vue-design-aurora": "~3.17.0",
22
20
  "@opentiny/vue-common": "~3.17.0",
23
21
  "@opentiny/vue-design-smb": "~3.17.0",
24
- "@opentiny/vue-icon": "~3.17.0",
25
- "@opentiny/vue-theme": "~3.17.3",
26
- "@opentiny/vue-theme-mobile": "~3.17.0",
22
+ "@opentiny/vue-design-saas": "~3.17.0",
27
23
  "@opentiny/vue-directive": "~3.17.0",
24
+ "@opentiny/vue-design-aurora": "~3.17.0",
25
+ "@opentiny/vue-icon": "~3.17.0",
28
26
  "@opentiny/vue-vite-import": "~1.1.5",
29
27
  "@opentiny/vue-theme-saas": "~3.17.0",
30
- "@opentiny/vue-icon-saas": "~3.17.0"
28
+ "@opentiny/vue-icon-saas": "~3.17.0",
29
+ "@opentiny/vue-theme": "~3.17.4",
30
+ "@opentiny/vue-theme-mobile": "~3.17.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@playwright/test": "~1.42.0",
@@ -49,6 +49,7 @@ const createImportMap = (version) => {
49
49
  '@opentiny/vue-icon': `${getRuntime(version)}tiny-vue-icon.mjs`,
50
50
  '@opentiny/vue-locale': `${getRuntime(version)}tiny-vue-locale.mjs`,
51
51
  '@opentiny/vue-common': `${getRuntime(version)}tiny-vue-common.mjs`,
52
+ '@opentiny/vue-directive': `${getRuntime(version)}tiny-vue-directive.mjs`,
52
53
  '@opentiny/vue-theme/': `${cdnHost}/@opentiny/vue-theme${versionDelimiter}${version}/${fileDelimiter}`,
53
54
  '@opentiny/vue-theme-mobile/': `${cdnHost}/@opentiny/vue-theme-mobile${versionDelimiter}${version}/${fileDelimiter}`,
54
55
  '@opentiny/vue-renderless/': `${cdnHost}/@opentiny/vue-renderless${versionDelimiter}${version}/${fileDelimiter}`,
Binary file
Binary file
Binary file
Binary file
package/src/i18n/en.json CHANGED
@@ -1,5 +1,7 @@
1
1
  {
2
- "language": "EN",
2
+ "zh-cn": "Chinese",
3
+ "en-us": "English",
4
+ "localeType": "Language Selection",
3
5
  "dark": "Dark",
4
6
  "light": "Light",
5
7
  "searchPlaceholder": "Search",
@@ -39,4 +41,4 @@
39
41
  "demoModeMultiple": "Multiple",
40
42
  "contributor": "Contributors",
41
43
  "noData": "No Data"
42
- }
44
+ }
package/src/i18n/zh.json CHANGED
@@ -1,5 +1,7 @@
1
1
  {
2
- "language": "",
2
+ "zh-cn": "中文",
3
+ "en-us": "英文",
4
+ "localeType": "语言选择",
3
5
  "dark": "深色",
4
6
  "light": "浅色",
5
7
  "searchPlaceholder": "搜索",
@@ -39,4 +41,4 @@
39
41
  "demoModeMultiple": "多示例",
40
42
  "contributor": "贡献者",
41
43
  "noData": "暂无数据"
42
- }
44
+ }
package/src/style.css CHANGED
@@ -3,10 +3,18 @@ html {
3
3
  font-size: 16px;
4
4
  }
5
5
 
6
+ :root {
7
+ --docs-markdown-top-body-zindex: 99;
8
+ --docs-tabs-header-zindex: 100;
9
+ --docs-float-settings-zindex: 999;
10
+ --docs-header-zindex: 200;
11
+ --docs-layout-sider-zindex: 201;
12
+ }
13
+
6
14
  .tinyui-design-header {
7
15
  z-index: 1000 !important;
8
16
  }
9
17
 
10
- .tiny-grid td,.tiny-grid th {
18
+ .tiny-grid td,.tiny-grid th {
11
19
  vertical-align: middle;
12
- }
20
+ }
@@ -11,17 +11,14 @@ const appData = reactive({
11
11
  bpState: useMediaQuery([640, 1024, 1280]).matches // 3点4区间, bp0,bp1,bp2,bp3
12
12
  })
13
13
  const isZhCn = computed(() => appData.lang === ZH_CN_LANG)
14
- let appFn = {
15
- toggleLang() {
16
- let url = location.href
17
- if (appData.lang === ZH_CN_LANG) {
18
- url = location.href.replace(zhPath, enPath)
19
- } else {
20
- url = location.href.replace(enPath, zhPath)
14
+ const appFn = {
15
+ toggleLang(name) {
16
+ if (name !== appData.lang) {
17
+ let url = location.href
18
+ url = location.href.replace(LANG_PATH_MAP[appData.lang], LANG_PATH_MAP[name])
19
+ appData.lang = name
20
+ location.replace(url)
21
21
  }
22
- appData.lang = appData.lang === ZH_CN_LANG ? EN_US_LANG : ZH_CN_LANG
23
- // router.push(url)
24
- location.replace(url)
25
22
  },
26
23
  toggleTheme() {
27
24
  appData.theme = appData.theme === 'light' ? 'dark' : 'light'
@@ -1,9 +1,11 @@
1
1
  import { reactive } from 'vue'
2
2
  import { $local } from './storage'
3
+ import { appFn } from './appData'
3
4
 
4
5
  const _modeKey = 'tiny-vue-api-mode'
5
6
  const _demoModeKey = 'tiny-vue-demo-mode'
6
7
  const apiModeState = reactive({
8
+ localeMode: location.href.includes('en-US') ? 'enUS' : 'zhCN',
7
9
  apiMode: $local[_modeKey] || 'Composition', // 示例风格: Options: 组合式; Composition: 选项式
8
10
  demoMode: $local[_demoModeKey] || 'default' // 示例展示: default:多示例, single:单示例
9
11
  })
@@ -12,6 +14,9 @@ const apiModeFn = {
12
14
  getDemoName: (name) => {
13
15
  return name.replace(/\.vue$/, `${apiModeState.apiMode === 'Options' ? '' : '-composition-api'}.vue`)
14
16
  },
17
+ changeLocaleMode: (name) => {
18
+ appFn.toggleLang(name)
19
+ },
15
20
  changeApiMode: (name) => {
16
21
  $local[_modeKey] = name
17
22
  },
@@ -1,6 +1,22 @@
1
1
  /** 文档显示风格设置 */
2
2
  const getStyleSettings = (i18nByKey) => {
3
3
  const styleSettings = [
4
+ {
5
+ // 语言选择
6
+ name: 'localeMode',
7
+ defaultValue: 'zhCN',
8
+ title: i18nByKey('localeType'),
9
+ options: [
10
+ {
11
+ value: 'zhCN',
12
+ text: i18nByKey('zh-cn')
13
+ },
14
+ {
15
+ value: 'enUS',
16
+ text: i18nByKey('en-us')
17
+ }
18
+ ]
19
+ },
4
20
  {
5
21
  // 示例代码风格
6
22
  name: 'apiMode',
@@ -16,6 +16,17 @@ import {
16
16
  INFINITY_THEME,
17
17
  getKeyByValue
18
18
  } from '../const'
19
+ import glaciers from '@/assets/images/glaciers.png'
20
+ import glaciersIcon from '@/assets/images/glaciers-icon.png'
21
+
22
+ import infinitely from '@/assets/images/Infinitely.png'
23
+ import infinitelyIcon from '@/assets/images/Infinitely-icon.png'
24
+
25
+ import oceanic from '@/assets/images/oceanic.png'
26
+ import oceanicIcon from '@/assets/images/oceanic-icon.png'
27
+
28
+ import starrySky from '@/assets/images/starry-sky.png'
29
+ import starrySkyIcon from '@/assets/images/starry-sky-icon.png'
19
30
 
20
31
  const themeMap = {
21
32
  [DEFAULT_THEME]: null,
@@ -27,10 +38,34 @@ const themeMap = {
27
38
  const isEn = appData.lang === 'enUS'
28
39
 
29
40
  const themeData = [
30
- { value: [DEFAULT_THEME], label: isEn ? 'Default Theme' : '默认主题' },
31
- { value: [INFINITY_THEME], label: isEn ? 'Infinity Theme' : '无限主题' },
32
- { value: [AURORA_THEME], label: isEn ? 'Aurora Theme' : 'Aurora 主题' },
33
- { value: [SMB_THEME], label: isEn ? 'SMB Theme' : 'SMB 主题' }
41
+ {
42
+ value: [DEFAULT_THEME],
43
+ label: isEn ? 'Default Theme' : '冰川主题',
44
+ tips: isEn ? 'Accurate, Efficient, Distinct' : '精准、高效、清晰',
45
+ icon: glaciersIcon,
46
+ bgImage: glaciers
47
+ },
48
+ {
49
+ value: [SMB_THEME],
50
+ label: isEn ? 'Star Theme' : '星空主题',
51
+ tips: isEn ? 'Leading, Innovative, Reliable' : '领先、创新、信赖',
52
+ icon: starrySkyIcon,
53
+ bgImage: starrySky
54
+ },
55
+ {
56
+ value: [AURORA_THEME],
57
+ label: isEn ? 'Ocean Theme' : '海洋主题',
58
+ tips: isEn ? 'Simple, Agile, Delightful' : '简约、敏捷、愉悦',
59
+ icon: oceanicIcon,
60
+ bgImage: oceanic
61
+ },
62
+ {
63
+ value: [INFINITY_THEME],
64
+ label: isEn ? 'Infinity Theme' : '无限主题',
65
+ tips: isEn ? 'Creative, Scientific, Efficient' : '创造、科学、高效',
66
+ icon: infinitelyIcon,
67
+ bgImage: infinitely
68
+ }
34
69
  ]
35
70
 
36
71
  const designConfigMap = {