tmui-cli 1.3.0 → 2.0.1

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 (151) hide show
  1. package/README.md +58 -82
  2. package/data/components.json +637 -0
  3. package/data/config.json +169 -0
  4. package/data/doc-index.json +61 -0
  5. package/data/docs/alert.md +79 -0
  6. package/data/docs/avatar-group.md +73 -0
  7. package/data/docs/badge.md +62 -0
  8. package/data/docs/between-time.md +76 -0
  9. package/data/docs/button.md +114 -0
  10. package/data/docs/calendar-multiple.md +90 -0
  11. package/data/docs/cell.md +91 -0
  12. package/data/docs/checkbox-group.md +62 -0
  13. package/data/docs/checkbox.md +74 -0
  14. package/data/docs/circle-progress.md +74 -0
  15. package/data/docs/code-input.md +77 -0
  16. package/data/docs/col.md +57 -0
  17. package/data/docs/collapse-item.md +76 -0
  18. package/data/docs/collapse.md +59 -0
  19. package/data/docs/countdown.md +79 -0
  20. package/data/docs/date-view.md +65 -0
  21. package/data/docs/drawer.md +94 -0
  22. package/data/docs/dropdown-item.md +68 -0
  23. package/data/docs/dropdown-menu.md +70 -0
  24. package/data/docs/echart.md +69 -0
  25. package/data/docs/float-drawer.md +79 -0
  26. package/data/docs/form-item.md +67 -0
  27. package/data/docs/form.md +68 -0
  28. package/data/docs/html.md +70 -0
  29. package/data/docs/icon.md +67 -0
  30. package/data/docs/image.md +73 -0
  31. package/data/docs/input.md +126 -0
  32. package/data/docs/modal.md +92 -0
  33. package/data/docs/money.md +70 -0
  34. package/data/docs/more.md +69 -0
  35. package/data/docs/navbar.md +82 -0
  36. package/data/docs/picker-date.md +75 -0
  37. package/data/docs/picker-selected.md +75 -0
  38. package/data/docs/picker-time.md +77 -0
  39. package/data/docs/picker-view.md +70 -0
  40. package/data/docs/picker.md +76 -0
  41. package/data/docs/popover.md +68 -0
  42. package/data/docs/progress.md +72 -0
  43. package/data/docs/pull-refresh.md +73 -0
  44. package/data/docs/radio-group.md +61 -0
  45. package/data/docs/radio.md +74 -0
  46. package/data/docs/rate.md +72 -0
  47. package/data/docs/row.md +61 -0
  48. package/data/docs/sheet.md +72 -0
  49. package/data/docs/sign-board.md +61 -0
  50. package/data/docs/skeleton.md +60 -0
  51. package/data/docs/sku.md +69 -0
  52. package/data/docs/slider-double.md +71 -0
  53. package/data/docs/slider-menu.md +78 -0
  54. package/data/docs/slider.md +71 -0
  55. package/data/docs/stepper.md +76 -0
  56. package/data/docs/steps-item.md +71 -0
  57. package/data/docs/steps.md +73 -0
  58. package/data/docs/sticky-header.md +57 -0
  59. package/data/docs/sticky.md +55 -0
  60. package/data/docs/switch-slider.md +82 -0
  61. package/data/docs/switch.md +68 -0
  62. package/data/docs/tabbar.md +83 -0
  63. package/data/docs/tabs.md +84 -0
  64. package/data/docs/tag.md +78 -0
  65. package/data/docs/text.md +69 -0
  66. package/data/docs/upload-photo.md +86 -0
  67. package/data/docs/upload-video.md +86 -0
  68. package/data/docs//346/250/241/346/235/277.md +47 -0
  69. package/data/examples/alert.vue +39 -0
  70. package/data/examples/avatar-group.vue +97 -0
  71. package/data/examples/badge.vue +87 -0
  72. package/data/examples/between-time.vue +39 -0
  73. package/data/examples/button.vue +70 -0
  74. package/data/examples/calendar-multiple.vue +57 -0
  75. package/data/examples/cell.vue +39 -0
  76. package/data/examples/checkbox.vue +71 -0
  77. package/data/examples/circle-progress.vue +69 -0
  78. package/data/examples/code-input.vue +36 -0
  79. package/data/examples/collapse.vue +76 -0
  80. package/data/examples/countdown.vue +39 -0
  81. package/data/examples/drawer.vue +138 -0
  82. package/data/examples/dropdown-menu.vue +59 -0
  83. package/data/examples/echart.vue +91 -0
  84. package/data/examples/float-drawer.vue +45 -0
  85. package/data/examples/form.vue +147 -0
  86. package/data/examples/html.vue +53 -0
  87. package/data/examples/icon.vue +65 -0
  88. package/data/examples/image.vue +38 -0
  89. package/data/examples/input.vue +66 -0
  90. package/data/examples/modal.vue +122 -0
  91. package/data/examples/money.vue +60 -0
  92. package/data/examples/more.vue +47 -0
  93. package/data/examples/navbar.vue +68 -0
  94. package/data/examples/picker-date.vue +53 -0
  95. package/data/examples/picker-selected.vue +35 -0
  96. package/data/examples/picker-time.vue +46 -0
  97. package/data/examples/picker-view.vue +35 -0
  98. package/data/examples/picker.vue +101 -0
  99. package/data/examples/popover.vue +130 -0
  100. package/data/examples/progress.vue +57 -0
  101. package/data/examples/pull-refresh.vue +41 -0
  102. package/data/examples/radio.vue +61 -0
  103. package/data/examples/rate.vue +35 -0
  104. package/data/examples/row.vue +52 -0
  105. package/data/examples/sheet.vue +36 -0
  106. package/data/examples/sign-board.vue +43 -0
  107. package/data/examples/skeleton.vue +45 -0
  108. package/data/examples/sku.vue +106 -0
  109. package/data/examples/slider-menu.vue +65 -0
  110. package/data/examples/slider.vue +51 -0
  111. package/data/examples/stepper.vue +44 -0
  112. package/data/examples/steps.vue +77 -0
  113. package/data/examples/sticky.vue +46 -0
  114. package/data/examples/switch-slider.vue +113 -0
  115. package/data/examples/switch.vue +62 -0
  116. package/data/examples/tabbar.vue +41 -0
  117. package/data/examples/tabs.vue +46 -0
  118. package/data/examples/tag.vue +69 -0
  119. package/data/examples/text.vue +38 -0
  120. package/data/examples/upload-photo.vue +39 -0
  121. package/data/examples/upload-video.vue +29 -0
  122. package/data/guides/cli.md +110 -0
  123. package/data/guides//344/273/213/347/273/215.md +34 -0
  124. package/data/guides//345/205/274/345/256/271/346/200/247.md +41 -0
  125. package/data/guides//345/215/225/344/275/215/346/240/207/347/255/276/350/257/264/346/230/216.md +22 -0
  126. package/data/guides//345/233/275/351/231/205/345/214/226.md +454 -0
  127. package/data/guides//345/256/211/350/243/205.md +103 -0
  128. package/data/guides//345/260/217/347/250/213/345/272/217/345/210/206/344/272/253.md +34 -0
  129. package/data/guides//345/270/270/350/247/201/351/227/256/351/242/230.md +102 -0
  130. package/data/guides//345/277/253/351/200/237/344/270/212/346/211/213.md +191 -0
  131. package/data/guides//346/233/264/346/226/260/346/227/245/345/277/227.md +155 -0
  132. package/data/guides//350/264/241/347/214/256/350/200/205.md +97 -0
  133. package/dist/main.mjs +93 -0
  134. package/package.json +54 -50
  135. package/bin/cmdTool.js +0 -229
  136. package/bin/createTmui.js +0 -383
  137. package/bin/dirTool.js +0 -152
  138. package/bin/hooks.js +0 -233
  139. package/bin/net.js +0 -139
  140. package/bin/selectedDir.js +0 -28
  141. package/bin/tmui.js +0 -28
  142. package/dist/tmui.js +0 -1
  143. package/webpack.config.js +0 -17
  144. package/website/css/app.fa961c8f.css +0 -1
  145. package/website/css/chunk-vendors.4ad1cdb5.css +0 -2
  146. package/website/favicon.ico +0 -0
  147. package/website/index.html +0 -1
  148. package/website/js/app.b68ad484.js +0 -2
  149. package/website/js/app.b68ad484.js.map +0 -1
  150. package/website/js/chunk-vendors.d9ea5cfa.js +0 -15
  151. package/website/js/chunk-vendors.d9ea5cfa.js.map +0 -1
@@ -0,0 +1,78 @@
1
+ ---
2
+ title: tmui 3.2.0 组件库
3
+ ---
4
+
5
+ <script setup>
6
+ import webview from '../components/mobileWebview.vue'
7
+ import headertips from '../components/headertips.vue'
8
+ </script>
9
+
10
+ <headertips></headertips>
11
+
12
+ #### 常用组件
13
+
14
+ # 标签 TmTag
15
+
16
+ 标签组件,用来展示一些标签信息.
17
+
18
+ ## :hot_pepper: 示例
19
+
20
+ <webview url="https://tmui.design/h5by32/#/pages/index/tag"></webview>
21
+
22
+ ::: details 示例模板
23
+
24
+ <<< ../../../src/pages/index/tag.vue{vue}
25
+
26
+ :::
27
+
28
+ ## :hot_pepper: 兼容性
29
+
30
+ 平台兼容
31
+ |H5|uniAPP|小程序|version|
32
+ |---|---|---|---|
33
+ |☑️|☑️|☑️|☑️|☑️|1.0.0|
34
+
35
+ ## :seedling: 参数
36
+ | 参数名 | 类型 | 默认值 | 描述 |
37
+ | :--: | :--: | :--: | :-- |
38
+ | size | string | "n" | 尺寸大小,可选值:s/m/n/g/xs |
39
+ | skin | string | "normal" | 样式可选值:thin/outlined/text/normal/dashed |
40
+ | borderColor | string\|Array\<string\> | "" | 遵循规则:string或者[x]:全部边线[x,x]左右边线,上下边线[x,x,x]左,上,右[x,x,x,x]左,上,右,下 |
41
+ | darkBorderColor | string\|Array\<string\> | "transparent" | - |
42
+ | borderWidth | string\|number\|Array\<string \| number\> | 1 | 规则同borderColor |
43
+ | borderStyle | string\|Array\<string\> | "solid" | 规则同borderColor |
44
+ | round | string\|number\|Array\<string \| number\> | '10' | 圆角半径左上,右上,右下,左下 |
45
+ | width | string\|number | "" | - |
46
+ | height | string\|number | "" | - |
47
+ | openType | string | "" | - |
48
+ | disabled | boolean | false | - |
49
+ | icon | string | "" | - |
50
+ | iconSize | string | "" | - |
51
+ | fontSize | string | "" | - |
52
+ | color | string | "" | 自定义主题颜色 |
53
+ | bgColor | string | "" | 自定义背景 |
54
+ | darkBgColor | string | "" | - |
55
+ | fontColor | string | "" | - |
56
+ | darkFontColorColor | string | "" | - |
57
+ | linear | string[] | ()=\>[] | 渐变,前面的color,bgColor,darkBgColor失效 |
58
+ | shadow | string\|number\|Array\<string\> | '' | 数字或者字符串时自动计算投影,它会投影大小数组时(必须为4),第一个x,第二为y,第三个为大小,第四个为投影颜色空字符串时,取全局配置,如果不想投影设置为none即可. |
59
+
60
+
61
+ ## :rose: 事件
62
+ | 事件名 | 参数 | 返回数据 | 描述 |
63
+ | --- | --- | --- | --- |
64
+ | click | - | - | 点击事件 |
65
+
66
+
67
+ ## :corn: slot插槽
68
+ | 插槽名 | 数据 | 描述 |
69
+ | :--: | :--: | :-- |
70
+ | icon | - | icon图标 |
71
+ | default | - | 默认插槽 |
72
+
73
+
74
+ ## :green_salad: ref方法
75
+ | 方法名 | 参数 | 返回值 | 描述 |
76
+ | :--: | :--: | :--: | :-- |
77
+
78
+
@@ -0,0 +1,69 @@
1
+ ---
2
+ title: tmui 3.2.0 组件库
3
+ ---
4
+
5
+ <script setup>
6
+ import webview from '../components/mobileWebview.vue'
7
+ import headertips from '../components/headertips.vue'
8
+ </script>
9
+
10
+ <headertips></headertips>
11
+
12
+ #### 常用组件
13
+
14
+ # 文本 TmText
15
+
16
+ 允许正则高亮或者,词高亮.
17
+
18
+ ## :hot_pepper: 示例
19
+
20
+ <webview url="https://tmui.design/h5by32/#/pages/index/text"></webview>
21
+
22
+ ::: details 示例模板
23
+
24
+ <<< ../../../src/pages/index/text.vue{vue}
25
+
26
+ :::
27
+
28
+ ## :hot_pepper: 兼容性
29
+
30
+ 平台兼容
31
+ |H5|uniAPP|小程序|version|
32
+ |---|---|---|---|
33
+ |☑️|☑️|☑️|☑️|☑️|1.0.0|
34
+
35
+ ## :seedling: 参数
36
+ | 参数名 | 类型 | 默认值 | 描述 |
37
+ | :--: | :--: | :--: | :-- |
38
+ | _style | Record\<string, any\>\|string | '' | 文本自定样式 |
39
+ | label | string\|number | '' | 文本内容这个prop用于接收显示在组件中的文本或数字 |
40
+ | heightLight | Array\<string\> | ():string[]=\>[]asstring[] | 需要特别高亮的词 |
41
+ | heightLightReg | Array\<string\> | ()=\>[] | 高亮正则用于定义文本中哪些部分应该被高亮显示的正则表达式数组 |
42
+ | heightLightStyle | string | "" | 高亮文本的自定义样式 |
43
+ | lines | number\|string | 0 | 行数控制文本显示时应该占用的行数(如果组件支持此功能) |
44
+ | selectable | boolean | false | 是否可选指示文本是否可以被用户选择(如通过长按选择) |
45
+ | color | string | "#333" | 文本颜色定义文本的主要颜色 |
46
+ | darkColor | string | "" | 暗色模式颜色在暗色模式下文本的颜色(如果组件支持暗色模式) |
47
+ | heightLightColor | string | "primary" | 高亮颜色文本中应该被高亮显示的部分的颜色 |
48
+ | lineHeight | string\|number | "1.5" | 行高文本的行高设置 |
49
+ | fontSize | string\|number | "" | 字体大小文本的字体大小设置 |
50
+
51
+
52
+ ## :rose: 事件
53
+ | 事件名 | 参数 | 返回数据 | 描述 |
54
+ | --- | --- | --- | --- |
55
+ | click | 名称:word,点击的文本内容, | - | 文本点击 |
56
+ | itemClick | 名称:word,点击的文本内容, | - | 正则的文本被点击 |
57
+
58
+
59
+ ## :corn: slot插槽
60
+ | 插槽名 | 数据 | 描述 |
61
+ | :--: | :--: | :-- |
62
+ | default | - | 默认文本插槽,如果使用插槽,那么相关特性功能将会失效。 |
63
+
64
+
65
+ ## :green_salad: ref方法
66
+ | 方法名 | 参数 | 返回值 | 描述 |
67
+ | :--: | :--: | :--: | :-- |
68
+
69
+
@@ -0,0 +1,86 @@
1
+ ---
2
+ title: tmui 3.2.0 组件库
3
+ ---
4
+
5
+ <script setup>
6
+ import webview from '../components/mobileWebview.vue'
7
+ import headertips from '../components/headertips.vue'
8
+ </script>
9
+
10
+ <headertips></headertips>
11
+
12
+ #### 表单组件
13
+
14
+ # 图片上传 TmUploadPhoto
15
+
16
+ 样式丰富塑造性好
17
+
18
+ ## :hot_pepper: 示例
19
+
20
+ <webview url="https://tmui.design/h5by32/#/pages/index/upload-photo"></webview>
21
+
22
+ ::: details 示例模板
23
+
24
+ <<< ../../../src/pages/index/upload-photo.vue{vue}
25
+
26
+ :::
27
+
28
+ ## :hot_pepper: 兼容性
29
+
30
+ 平台兼容
31
+ |H5|uniAPP|小程序|version|
32
+ |---|---|---|---|
33
+ |☑️|☑️|☑️|☑️|☑️|1.0.0|
34
+
35
+ ## :seedling: 参数
36
+ | 参数名 | 类型 | 默认值 | 描述 |
37
+ | :--: | :--: | :--: | :-- |
38
+ | maxCount | number | 9 | 最大的可上传数量 |
39
+ | round | string\|number | 10 | 图片项目圆角。 |
40
+ | url | string | 'https://mockapi.eolink.com/LRViGGZ8e6c1e8b4a636cd82bca1eb15d2635ed8c74e774/admin/upload_pic/' | 上传地址 |
41
+ | name | string | 'file' | 上传到服务器的名称字段 |
42
+ | header | Record\<string, any\> \| null | null | 上传到服务器的头文件 |
43
+ | formData | Record\<string, any\> \| null | null | 额外的表单数据。 |
44
+ | imgHeight | string | '110' | 图片高,此处不可使用%单位 |
45
+ | column | number | 5 | 一行显示几列 |
46
+ | okFileIsDelete | boolean | true | 上传成功的文件是否允许删除 |
47
+ | uploadingFileIsDelete | boolean | true | 上传中的文件是否允许删除 |
48
+ | maxFileSize | number | 1024*1024*30 | 图片上传的限制大小,默认是30mb(可以开启压缩,最后可能比较小) |
49
+ | statusCode | number | 200 | 开发者服务器响应码,默认是200表示上传成功. |
50
+ | modelValue | Array\<Record\<string, any\> \| string\> | ()=\>[] | 等同v-model |
51
+ | rangUrl | string | 'url' | 用于回显时,如果你提供的数组数据是对象,需要指定图片的地址.同时该对象数据会被保留到response字段中 |
52
+ | beforeDel | func\|boolean | true | 图片被删除时触发如果返回Promise\<false\>删除失败否则成功类型null|(index:number,item:XUPLOADFILE_FILE_INFO)=\>Promise\<boolean\> |
53
+ | beforeComplete | func\|boolean | true | 你需要原路返回参数提供的itemitem可以自行修改响应内容,响应类型这样可以自己根据服务的内容判断是成功还是失败或者没有权限。修改其中的status来达到成功还是失败TMUPLOAD_PHOTO_STATUS |
54
+ | autoStart | boolean | true | 是否自动上传 |
55
+ | sourceType | Array\<'album' \| 'camera'\> | ()=\>['album','camera'] | 图片来源同官方的sourceType:'album','camera' |
56
+ | compress | boolean | true | 是否压缩 |
57
+ | compressedHeight | string | 'auto' | 压缩后的缩放高,0表示不压缩高 |
58
+ | compressedWidth | string | 'auto' | 压缩后的缩放高,0表示不压缩宽 |
59
+ | quality | number | 80 | 压缩质量 |
60
+ | addPos | string | 'after' | 添加图片的位置'before'出现在前面'after'出现在后面 |
61
+ | mode | string | 'scaleToFill' | 图片展示的缩放模式同官方. |
62
+ | sortable | boolean | true | 是否允许长按拖拽排序 |
63
+
64
+
65
+ ## :rose: 事件
66
+ | 事件名 | 参数 | 返回数据 | 描述 |
67
+ | --- | --- | --- | --- |
68
+ | complete | 名称:-,列表数据, | - | 每次全部上传完时触发 |
69
+ | change | 名称:-,列表数据, | - | 变化时触发 |
70
+ | delete | 名称:-,列表数据, | - | 图片被删除时触发 |
71
+ | update:modelValue | - | - | 同步文件列表。 |
72
+
73
+
74
+ ## :corn: slot插槽
75
+ | 插槽名 | 数据 | 描述 |
76
+ | :--: | :--: | :-- |
77
+ | default | - | - |
78
+
79
+
80
+ ## :green_salad: ref方法
81
+ | 方法名 | 参数 | 返回值 | 描述 |
82
+ | :--: | :--: | :--: | :-- |
83
+ | startUpload | - | - | - |
84
+ | choose | - | - | - |
85
+
86
+
@@ -0,0 +1,86 @@
1
+ ---
2
+ title: tmui 3.2.0 组件库
3
+ ---
4
+
5
+ <script setup>
6
+ import webview from '../components/mobileWebview.vue'
7
+ import headertips from '../components/headertips.vue'
8
+ </script>
9
+
10
+ <headertips></headertips>
11
+
12
+ #### 表单组件
13
+
14
+ # 视频上传 TmUploadVideo
15
+
16
+ 样式丰富塑造性好
17
+
18
+ ## :hot_pepper: 示例
19
+
20
+ <webview url="https://tmui.design/h5by32/#/pages/index/upload-video"></webview>
21
+
22
+ ::: details 示例模板
23
+
24
+ <<< ../../../src/pages/index/upload-video.vue{vue}
25
+
26
+ :::
27
+
28
+ ## :hot_pepper: 兼容性
29
+
30
+ 平台兼容
31
+ |H5|uniAPP|小程序|version|
32
+ |---|---|---|---|
33
+ |☑️|☑️|☑️|☑️|☑️|1.0.0|
34
+
35
+ ## :seedling: 参数
36
+ | 参数名 | 类型 | 默认值 | 描述 |
37
+ | :--: | :--: | :--: | :-- |
38
+ | maxCount | number | 9 | 最大的可上传数量 |
39
+ | round | string\|number | 10 | 图片项目圆角。 |
40
+ | url | string | "https://mockapi.eolink.com/LRViGGZ8e6c1e8b4a636cd82bca1eb15d2635ed8c74e774/admin/upload_pic/" | 上传地址 |
41
+ | name | string | "file" | 上传到服务器的名称字段 |
42
+ | header | Record\<string, any\> \| null | null | 上传到服务器的头文件 |
43
+ | formData | Record\<string, any\> \| null | null | 额外的表单数据。 |
44
+ | imgHeight | string | "110" | 图片高,此处不可使用%单位 |
45
+ | column | number | 5 | 一行显示几列 |
46
+ | okFileIsDelete | boolean | true | 上传成功的文件是否允许删除 |
47
+ | uploadingFileIsDelete | boolean | true | 上传中的文件是否允许删除 |
48
+ | maxFileSize | number | 1024*1024*30 | 图片上传的限制大小,默认是30mb(可以开启压缩,最后可能比较小) |
49
+ | maxDuration | number | 30 | 最大拍摄时长不能超过60秒默认建议30秒 |
50
+ | camera | string | 'back' | 摄像头类型,前置还是后置 |
51
+ | statusCode | number | 200 | 开发者服务器响应码,默认是200表示上传成功. |
52
+ | modelValue | Array\<Record\<string, any\> \| string\> | ()=\>[] | 等同v-model |
53
+ | rangUrl | string | 'url' | 用于回显时,如果你提供的数组数据是对象,需要指定图片的地址.同时该对象数据会被保留到response字段中 |
54
+ | beforeDel | func\|boolean | true | 图片被删除时触发如果返回Promise\<false\>删除失败否则成功类型null|(index:number,item:XUPLOADFILE_FILE_INFO)=\>Promise\<boolean\> |
55
+ | beforeComplete | func\|boolean | true | 你需要原路返回参数提供的itemitem可以自行修改响应内容,响应类型这样可以自己根据服务的内容判断是成功还是失败或者没有权限。修改其中的status来达到成功还是失败TMUPLOAD_PHOTO_STATUS |
56
+ | autoStart | boolean | true | 是否自动上传 |
57
+ | sourceType | Array\<"album" \| "camera"\> | ()=\>["album","camera"] | 图片来源同官方的sourceType:'album','camera' |
58
+ | compress | boolean | true | 是否压缩 |
59
+ | addPos | string | "after" | 添加图片的位置'before'出现在前面'after'出现在后面 |
60
+ | mode | string | "scaleToFill" | 图片展示的缩放模式同官方. |
61
+ | sortable | boolean | true | 是否允许长按拖拽排序 |
62
+
63
+
64
+ ## :rose: 事件
65
+ | 事件名 | 参数 | 返回数据 | 描述 |
66
+ | --- | --- | --- | --- |
67
+ | complete | 名称:-,列表数据, | - | 每次全部上传完时触发 |
68
+ | change | 名称:-,列表数据, | - | 变化时触发 |
69
+ | delete | 名称:-,列表数据, | - | 图片被删除时触发 |
70
+ | preview | - | - | 点击项目预览视频,有的回显视频可能需要授权播放,返回的可能是个视频图片,因此你需要通过事件自行创建预览窗口. |
71
+ | update:modelValue | - | - | 同步文件列表。 |
72
+
73
+
74
+ ## :corn: slot插槽
75
+ | 插槽名 | 数据 | 描述 |
76
+ | :--: | :--: | :-- |
77
+ | default | - | - |
78
+
79
+
80
+ ## :green_salad: ref方法
81
+ | 方法名 | 参数 | 返回值 | 描述 |
82
+ | :--: | :--: | :--: | :-- |
83
+ | startUpload | - | - | - |
84
+ | choose | - | - | - |
85
+
86
+
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: tmui 3.0 组件库
3
+ ---
4
+
5
+ <script setup>
6
+ import webview from '../components/mobileWebview.vue'
7
+ </script>
8
+
9
+ #### 组件库文档 tmui.design
10
+
11
+ # 应用节点 App
12
+ 这是所有页面的根节点,请务必在创建页面是把它作为页面的根节点。以后可扩展性非常强。
13
+
14
+ ---
15
+
16
+ ## :hot_pepper: 示例
17
+
18
+ <webview url="https://tmui.design/h5/#/pages/changyong/button"></webview>
19
+
20
+ ::: details 示例模板
21
+
22
+ <!-- <<< ../src/pages/changyong/button.nvue{vue} -->
23
+
24
+ :::
25
+
26
+ ## :hot_pepper: 兼容性
27
+
28
+ | APP-VUE | APP-NVUE | 小程序 | WEB/H5 | VUE3/TS |
29
+ | --- | --- | --- | --- | --- |
30
+ | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
31
+
32
+ ## :seedling: 参数
33
+ 本组件含有公共属性 [公共属性](/spec/组件公共样式.html)
34
+ | 参数名 | 类型 | 默认值 | 描述 |
35
+ | :--: | :--: | :--: | :-- |
36
+
37
+ ## :rose: 事件
38
+ | 事件名 | 参数 | 返回数据 | 描述 |
39
+ | --- | --- | --- | --- |
40
+
41
+ ## :corn: slot插槽
42
+ 默认default
43
+
44
+ ## :green_salad: ref方法
45
+ | 方法名 | 参数 | 返回值 | 描述 |
46
+ | :--: | :--: | :--: | :-- |
47
+
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <view>
3
+ <tm-sheet >
4
+ <tm-text font-size="32" class=" text-weight-b d-block">警告 tmAlert</tm-text>
5
+ <tm-text class="" color="#999999">
6
+ 样式丰富,用于警告信息的提醒。
7
+ </tm-text>
8
+ </tm-sheet>
9
+ <tm-alert>默认为thin浅色样式,可以自适应暗黑</tm-alert>
10
+ <tm-alert skin='normal'>也可以把skin改成normal变成纯背景</tm-alert>
11
+ <tm-alert icon="thumb-up-line" skin='normal' color="#000000">也可以把skin改成normal变成纯背景</tm-alert>
12
+ <tm-alert icon="thumb-up-line" skin='normal' color="#dee3e7">也可以把skin改成normal变成纯背景</tm-alert>
13
+
14
+ <tm-sheet>
15
+ <tm-text font-size="32" class="text-weight-b ">可以使用默认的状态来管理颜色</tm-text>
16
+ </tm-sheet>
17
+ <tm-alert icon="alarm-line" status="success" skin='normal'>自定义图标</tm-alert>
18
+ <tm-alert status="error" skin='normal'>错误提醒</tm-alert>
19
+ <tm-alert status="warn" closeIcon="arrow-right-line" skin='normal'>警告提醒</tm-alert>
20
+ <tm-alert icon="money-cny-circle-fill" color="#728398" skin='normal'>自定义背景色</tm-alert>
21
+ <tm-sheet>
22
+ <tm-text font-size="32" class="text-weight-b ">比如改些圆角,边线啥的,样式丰富请自行设计</tm-text>
23
+ </tm-sheet>
24
+ <tm-alert status="warn" skin='normal' :round="['6']">警告提醒</tm-alert>
25
+ <tm-alert status="error" skin='normal' :round="['12', '0']">改下圆角</tm-alert>
26
+ <tm-alert :border="['2']">加个小边框</tm-alert>
27
+ <tm-alert :border="['2']" :showClose="false" :borderColor="['#89c0ff']"
28
+ :darkBorderColor="['#3b5066']">加个小边框,隐藏关闭</tm-alert>
29
+
30
+ <view class="py-n6"></view>
31
+ </view>
32
+ </template>
33
+
34
+ <script lang="ts" setup>
35
+ import { ref } from "vue"
36
+
37
+ </script>
38
+
39
+ <style></style>
@@ -0,0 +1,97 @@
1
+ <template>
2
+
3
+ <view>
4
+ <tm-sheet>
5
+ <tm-text font-size="36" class=" text-weight-b mb-8">头像组 tmAvatarGroup</tm-text>
6
+ <tm-text class="" color="#999999">
7
+ 平铺和堆叠方式。如果想要单头像建议使用:tmSheet+tmImage配合,+tmBadge达到效果,因此我不再提供单头像组件,没有意义。
8
+ </tm-text>
9
+ </tm-sheet>
10
+ <tm-sheet>
11
+ <tm-text font-size="36" class=" text-weight-b mb-n8">堆叠</tm-text>
12
+ <tm-avatar-group :list="list" :max-count="8"></tm-avatar-group>
13
+ </tm-sheet>
14
+ <tm-sheet>
15
+ <tm-text font-size="36" class=" text-weight-b mb-n8">平铺</tm-text>
16
+ <tm-avatar-group :list="list" :flat="true" :max-count="8" gutter="3"></tm-avatar-group>
17
+ </tm-sheet>
18
+ <tm-sheet>
19
+ <tm-text font-size="36" class=" text-weight-b mb-n8">控制圆角及显示数量</tm-text>
20
+ <tm-avatar-group :list="list" round="8" :flat="true" :max-count="8" :count="1000"
21
+ gutter="3"></tm-avatar-group>
22
+ </tm-sheet>
23
+ <tm-sheet>
24
+ <tm-text font-size="36" class=" text-weight-b mb-n8">文本头像</tm-text>
25
+ <tm-avatar-group :list="list2" round="8" :flat="true" :max-count="8" :count="1000"
26
+ gutter="3"></tm-avatar-group>
27
+ </tm-sheet>
28
+ <tm-sheet>
29
+ <tm-text font-size="36" class=" text-weight-b mb-n8">文本头像随机颜色</tm-text>
30
+ <tm-avatar-group :randomBgColor="true" :list="list2" round="8" :flat="true" :max-count="8" :count="1000"
31
+ gutter="3"></tm-avatar-group>
32
+ </tm-sheet>
33
+ <tm-sheet>
34
+ <tm-text font-size="36" class=" text-weight-b mb-n8">头像与文本混搭,空时图标占位</tm-text>
35
+ <tm-avatar-group :randomBgColor="true" :list="list3" round="8" :flat="true" :max-count="8" :count="1000"
36
+ gutter="3"></tm-avatar-group>
37
+ </tm-sheet>
38
+ <tm-sheet>
39
+ <tm-text font-size="36" class=" text-weight-b mb-n8">插槽定制more</tm-text>
40
+ <tm-avatar-group :list="list" round="8" :flat="true" :max-count="4" :count="1000" gutter="6">
41
+ <template v-slot:more>
42
+ <tm-sheet class="flex flex-center" width="64" height="64" :round="['8']" :margin="['0']"
43
+ :padding="['0']" color="primary">
44
+ <tm-icon size="32" color="white" name="add-line"></tm-icon>
45
+ </tm-sheet>
46
+ </template>
47
+ </tm-avatar-group>
48
+ </tm-sheet>
49
+ <view style="height: 32px;"></view>
50
+ </view>
51
+
52
+ </template>
53
+
54
+ <script setup lang="ts">
55
+ const list = [
56
+ "https://picsum.photos/100/100?random=10",
57
+ "https://picsum.photos/100/100?random=11",
58
+ "https://picsum.photos/100/100?random=12",
59
+ "https://picsum.photos/100/100?random=13",
60
+ "https://picsum.photos/100/100?random=14",
61
+ "https://picsum.photos/100/100?random=15",
62
+ "https://picsum.photos/100/100?random=16",
63
+ "https://picsum.photos/100/100?random=17",
64
+ "https://picsum.photos/100/100?random=18",
65
+ "https://picsum.photos/100/100?random=19",
66
+ ] as string[]
67
+ const list2 = [
68
+ "同名自定义",
69
+ "Dclound",
70
+ "ak",
71
+ "sk",
72
+ "国家",
73
+ "天清色",
74
+ "漂亮",
75
+ "相爱一家人",
76
+ "北京",
77
+ "厉害了我的哥",
78
+ "呃",
79
+ ] as string[]
80
+ const list3 = [
81
+ "同名自定义",
82
+ "https://picsum.photos/100/100?random=20",
83
+ "",
84
+ "sk",
85
+ "https://picsum.photos/100/100?random=21",
86
+ "",
87
+ "漂亮",
88
+ "https://picsum.photos/100/100?random=22",
89
+ "北京",
90
+ "https://picsum.photos/100/100?random=23",
91
+ "呃",
92
+ ] as string[]
93
+ </script>
94
+
95
+ <style>
96
+
97
+ </style>
@@ -0,0 +1,87 @@
1
+ <template>
2
+
3
+ <tm-sheet>
4
+ <tm-text font-size="32" class=" text-weight-b mb-16 d-block">角标 Badge</tm-text>
5
+ <tm-text class="" color="#999999">
6
+ 内联模式布局,方便角标布局和排版。
7
+ </tm-text>
8
+ </tm-sheet>
9
+
10
+ <tm-sheet class="flex flex-row flex-row-center-center flex-wrap ">
11
+
12
+ <view class="flex-1 flex flex-row flex-row-center-center ">
13
+ <tm-badge :label="true">
14
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
15
+ </tm-badge>
16
+ </view>
17
+ <view class="flex-1 flex flex-row flex-row-center-center">
18
+ <tm-badge bg-color="danger" :label="1">
19
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
20
+ </tm-badge>
21
+ </view>
22
+
23
+ <view class="flex-1 flex flex-row flex-row-center-center">
24
+ <tm-badge bg-color="success" label="HOT">
25
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
26
+ </tm-badge>
27
+ </view>
28
+ <view class="flex-1 flex flex-row flex-row-center-center">
29
+ <tm-badge bg-color="primary" :label="150">
30
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
31
+ </tm-badge>
32
+
33
+ </view>
34
+ </tm-sheet>
35
+
36
+ <tm-sheet>
37
+ <tm-text font-size="32" class="text-weight-b">左上,右上,左下,右下,上中,下中</tm-text>
38
+ </tm-sheet>
39
+
40
+ <tm-sheet class="flex flex-row flex-row-center-center flex-wrap gap-16">
41
+
42
+ <tm-badge position="left" :label="true">
43
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
44
+ </tm-badge>
45
+ <tm-badge position="right" bg-color="danger" :label="36">
46
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
47
+ </tm-badge>
48
+ <tm-badge position="bottomLeft" bg-color="success" label="HOT">
49
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
50
+ </tm-badge>
51
+ <tm-badge position="bottomRight" bg-color="primary" :label="150">
52
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
53
+ </tm-badge>
54
+ <tm-badge position="top" bg-color="success" label="HOT">
55
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
56
+ </tm-badge>
57
+ <tm-badge position="bottom" bg-color="error" :label="150">
58
+ <view style="width: 100rpx;height:100rpx;background: #f3f3f3;"></view>
59
+ </tm-badge>
60
+ </tm-sheet>
61
+
62
+ <tm-sheet>
63
+ <tm-text font-size="32" class="text-weight-b d-block">应用在其它组件上</tm-text>
64
+ </tm-sheet>
65
+ <tm-sheet class="flex flex-row flex-row-center-center gap-19">
66
+
67
+ <tm-badge label="50%SALE">
68
+ <tm-button>按钮</tm-button>
69
+ </tm-badge>
70
+ <tm-badge label="HOT">
71
+ <tm-icon name="ancient-gate-fill"></tm-icon>
72
+ </tm-badge>
73
+ <tm-badge :label="true">
74
+ <tm-icon name="verified-badge-fill"></tm-icon>
75
+
76
+ </tm-badge>
77
+
78
+ </tm-sheet>
79
+
80
+ <view class="py-32"></view>
81
+ </template>
82
+
83
+ <script lang="ts" setup>
84
+ import { ref } from "vue"
85
+ </script>
86
+
87
+ <style></style>
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <view>
3
+ <tm-sheet>
4
+ <tm-text font-size="36" class=" text-weight-b mb-8 d-block">时间区间选择 xBetweenTime</tm-text>
5
+ <tm-text class="" color="#999999">快速的时间区间选择器,方便时间选择自动判断前后时间大小并校正。</tm-text>
6
+ </tm-sheet>
7
+
8
+ <tm-sheet>
9
+
10
+ <tm-between-time start="2024-5-1" end="2028-5-2" v-model="newdata" v-model:model-str="nowVal">
11
+ <tm-button :block="true">打开时间</tm-button>
12
+ </tm-between-time>
13
+
14
+ <tm-sheet :margin="['0', '24']" color="#f5f5f5" dark-color="#333">
15
+ <tm-text color="#999999">选中的值:{{ newdata }}</tm-text>
16
+ <tm-text color="#999999">经format的值:{{ nowVal }}</tm-text>
17
+ </tm-sheet>
18
+ <tm-button skin='thin' :block="true" @click="newdata = ['2024-3-21', '2026-1-13']">赋值</tm-button>
19
+ </tm-sheet>
20
+
21
+ <tm-sheet>
22
+ <tm-text font-size="36" class="text-weight-b mb-n8 d-block">设置快捷按钮</tm-text>
23
+ <tm-between-time :quick-date="['d', 'y', '7', '30']" start="2020-1-9" end="2026-5-26" v-model="newdata"
24
+ v-model:model-str="nowVal">
25
+ <tm-button :block="true">打开时间</tm-button>
26
+ </tm-between-time>
27
+
28
+ </tm-sheet>
29
+
30
+ </view>
31
+ </template>
32
+
33
+ <script lang="ts" setup>
34
+ import { ref } from "vue"
35
+ const nowVal = ref("")
36
+ const newdata = ref<string[]>([])
37
+ </script>
38
+
39
+ <style lang="scss"></style>