btxui 1.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 (190) hide show
  1. package/README.md +42 -0
  2. package/app.vue +162 -0
  3. package/assets/css/_main.js +73 -0
  4. package/assets/css/btx.min.css +1 -0
  5. package/assets/css/btx.mob.min.css +1 -0
  6. package/assets/css/btx.pad.min.css +1 -0
  7. package/assets/css/btx.webapp.min.css +1 -0
  8. package/assets/css/custom_fonts/iconfont.css +37 -0
  9. package/assets/css/custom_fonts/iconfont.eot +0 -0
  10. package/assets/css/custom_fonts/iconfont.svg +47 -0
  11. package/assets/css/custom_fonts/iconfont.ttf +0 -0
  12. package/assets/css/custom_fonts/iconfont.woff +0 -0
  13. package/assets/css/custom_fonts/iconfont.woff2 +0 -0
  14. package/assets/css/res-l.css +47 -0
  15. package/assets/css/res-m.css +47 -0
  16. package/assets/css/res-s.css +61 -0
  17. package/assets/custom_fonts/iconfont.css +37 -0
  18. package/assets/custom_fonts/iconfont.eot +0 -0
  19. package/assets/custom_fonts/iconfont.svg +47 -0
  20. package/assets/custom_fonts/iconfont.ttf +0 -0
  21. package/assets/custom_fonts/iconfont.woff +0 -0
  22. package/assets/custom_fonts/iconfont.woff2 +0 -0
  23. package/assets/js/Btx.js +196 -0
  24. package/assets/js/Utils.js +421 -0
  25. package/assets/js/fastclick.js +802 -0
  26. package/assets/js/lazy.min.js +2 -0
  27. package/assets/js/touchwipe.js +111 -0
  28. package/assets/server.js +8 -0
  29. package/assets/start_site_code_str.js +119 -0
  30. package/cdn/css/btx.min.css +1 -0
  31. package/cdn/css/btx.min.css.map +1 -0
  32. package/cdn/fonts/iconfont.ttf +0 -0
  33. package/cdn/fonts/iconfont.woff +0 -0
  34. package/cdn/fonts/iconfont.woff2 +0 -0
  35. package/components/BTXUI/app/app-wid.vue +182 -0
  36. package/components/BTXUI/btn/btn-wid.vue +128 -0
  37. package/components/BTXUI/carousel/carousel-wid.vue +138 -0
  38. package/components/BTXUI/checkbox/checkbox-wid.vue +72 -0
  39. package/components/BTXUI/confirm/confirm-wid.vue +279 -0
  40. package/components/BTXUI/content/content-checkbox-wid.vue +44 -0
  41. package/components/BTXUI/content/content-node-wid.vue +114 -0
  42. package/components/BTXUI/content/content-tag-wid.vue +25 -0
  43. package/components/BTXUI/content/content-wid.vue +254 -0
  44. package/components/BTXUI/core/anis/ani-fail.vue +46 -0
  45. package/components/BTXUI/core/anis/ani-loading.vue +32 -0
  46. package/components/BTXUI/core/anis/ani-notic.vue +47 -0
  47. package/components/BTXUI/core/anis/ani-success.vue +48 -0
  48. package/components/BTXUI/core/b-drag.vue +258 -0
  49. package/components/BTXUI/core/b-grid.vue +84 -0
  50. package/components/BTXUI/core/b-hot.vue +171 -0
  51. package/components/BTXUI/core/b-icon.vue +76 -0
  52. package/components/BTXUI/core/b-img.vue +84 -0
  53. package/components/BTXUI/core/b-input.vue +198 -0
  54. package/components/BTXUI/core/b-list.vue +276 -0
  55. package/components/BTXUI/core/b-text/doc.ts +9 -0
  56. package/components/BTXUI/core/b-text/index.vue +16 -0
  57. package/components/BTXUI/core/b-textarea.vue +58 -0
  58. package/components/BTXUI/core/b-video.vue +35 -0
  59. package/components/BTXUI/core/b-view/doc.ts +10 -0
  60. package/components/BTXUI/core/b-view/index.vue +20 -0
  61. package/components/BTXUI/core/b-webview.vue +20 -0
  62. package/components/BTXUI/core/lib/ChapterLink.js +49 -0
  63. package/components/BTXUI/core/lib/Search.vue +60 -0
  64. package/components/BTXUI/core/styles/doc.ts +55 -0
  65. package/components/BTXUI/core/styles/index.vue +98 -0
  66. package/components/BTXUI/core/styles/prestyles.ts +471 -0
  67. package/components/BTXUI/core/styles/theme.ts +29 -0
  68. package/components/BTXUI/drawer/drawer-wid.vue +165 -0
  69. package/components/BTXUI/drawer/title-tag-wid.vue +114 -0
  70. package/components/BTXUI/form/form-select-wid.vue +57 -0
  71. package/components/BTXUI/form/form-wid.vue +324 -0
  72. package/components/BTXUI/formPannel/form-pannel-wid.vue +133 -0
  73. package/components/BTXUI/imgsUpload/imgs-upload-wid.vue +149 -0
  74. package/components/BTXUI/index.js +83 -0
  75. package/components/BTXUI/pageFlip/page-flip-wid.vue +206 -0
  76. package/components/BTXUI/pannel/pannel-wid.vue +167 -0
  77. package/components/BTXUI/range/range-wid.vue +134 -0
  78. package/components/BTXUI/search/search-wid.vue +80 -0
  79. package/components/BTXUI/select/select-wid.vue +186 -0
  80. package/components/BTXUI/slider/slider-wid.vue +444 -0
  81. package/components/BTXUI/tab/tab-wid.vue +109 -0
  82. package/components/BTXUI/table/table-wid.vue +324 -0
  83. package/components/BTXUI/tag/tag-wid.vue +183 -0
  84. package/components/BTXUI/tags/tags-wid.vue +121 -0
  85. package/components/BTXUI/tooltip/tooltip-wid.vue +146 -0
  86. package/components/BTXUI/upload/upload-wid.vue +215 -0
  87. package/components/BTXUI/waterfall/waterfall-wid.vue +166 -0
  88. package/components/header-info.vue +167 -0
  89. package/composables/@types.ts +4 -0
  90. package/composables/api.ts +18 -0
  91. package/env.d.ts +5 -0
  92. package/main.js +6 -0
  93. package/nuxt.config.ts +51 -0
  94. package/package.json +23 -0
  95. package/pages/article.vue +16 -0
  96. package/pages/download.vue +50 -0
  97. package/pages/example/app_wid/app/data_demo.vue +9 -0
  98. package/pages/example/app_wid/app/download_demo.vue +9 -0
  99. package/pages/example/app_wid/app/list_demo.vue +11 -0
  100. package/pages/example/app_wid/app/system_demo.vue +9 -0
  101. package/pages/example/app_wid/app_wid_demo.vue +198 -0
  102. package/pages/example/app_wid/btn_wid_demo.vue +179 -0
  103. package/pages/example/app_wid/carousel_wid_demo.vue +152 -0
  104. package/pages/example/app_wid/checkbox_wid_demo.vue +65 -0
  105. package/pages/example/app_wid/confirm_wid_demo.vue +197 -0
  106. package/pages/example/app_wid/content_wid_demo.vue +369 -0
  107. package/pages/example/app_wid/drawer_wid_demo.vue +155 -0
  108. package/pages/example/app_wid/form_pannel_wid_demo.vue +338 -0
  109. package/pages/example/app_wid/form_wid_demo.vue +550 -0
  110. package/pages/example/app_wid/imgs_upload_wid_demo.vue +159 -0
  111. package/pages/example/app_wid/index.js +158 -0
  112. package/pages/example/app_wid/page_flip_wid_demo.vue +99 -0
  113. package/pages/example/app_wid/pannel_wid_demo.vue +177 -0
  114. package/pages/example/app_wid/range_wid_demo.vue +101 -0
  115. package/pages/example/app_wid/search_wid_demo.vue +75 -0
  116. package/pages/example/app_wid/select_wid_demo.vue +217 -0
  117. package/pages/example/app_wid/slider_wid_demo.vue +143 -0
  118. package/pages/example/app_wid/tab_wid_demo.vue +170 -0
  119. package/pages/example/app_wid/table_wid_demo.vue +377 -0
  120. package/pages/example/app_wid/tag_wid_demo.vue +133 -0
  121. package/pages/example/app_wid/tags_wid_demo.vue +143 -0
  122. package/pages/example/app_wid/tooltip_wid_demo.vue +117 -0
  123. package/pages/example/app_wid/upload_wid_demo.vue +123 -0
  124. package/pages/example/base_wid/b_drag_demo.vue +159 -0
  125. package/pages/example/base_wid/b_grid_demo.vue +225 -0
  126. package/pages/example/base_wid/b_hot_demo.vue +135 -0
  127. package/pages/example/base_wid/b_icon_demo.vue +80 -0
  128. package/pages/example/base_wid/b_img_demo.vue +95 -0
  129. package/pages/example/base_wid/b_input_demo.vue +171 -0
  130. package/pages/example/base_wid/b_list_demo.vue +241 -0
  131. package/pages/example/base_wid/b_style_demo.vue +928 -0
  132. package/pages/example/base_wid/b_text_demo.vue +36 -0
  133. package/pages/example/base_wid/b_textarea_demo.vue +64 -0
  134. package/pages/example/base_wid/b_video_demo.vue +42 -0
  135. package/pages/example/base_wid/b_view_demo.vue +36 -0
  136. package/pages/example/base_wid/index.js +76 -0
  137. package/pages/example/content.js +49 -0
  138. package/pages/example/global_style/animation.vue +197 -0
  139. package/pages/example/global_style/color.vue +134 -0
  140. package/pages/example/global_style/decoration.vue +546 -0
  141. package/pages/example/global_style/icon.vue +345 -0
  142. package/pages/example/global_style/index.js +52 -0
  143. package/pages/example/global_style/layout.vue +846 -0
  144. package/pages/example/global_style/special.vue +37 -0
  145. package/pages/example/global_style/table.vue +298 -0
  146. package/pages/example/global_style/text.vue +159 -0
  147. package/pages/index.vue +29 -0
  148. package/pages/level_widget.vue +11 -0
  149. package/pages/start.vue +200 -0
  150. package/plugins/index.ts +2 -0
  151. package/public/favicon.gif +0 -0
  152. package/public/fonts/iconfont.ttf +0 -0
  153. package/public/fonts/iconfont.woff +0 -0
  154. package/public/fonts/iconfont.woff2 +0 -0
  155. package/public/img/banner.jpg +0 -0
  156. package/public/img/banner2.jpg +0 -0
  157. package/public/img/bg_pattern.png +0 -0
  158. package/public/img/btx.jpg +0 -0
  159. package/public/img/btx_ui.jpg +0 -0
  160. package/public/img/dir.png +0 -0
  161. package/public/img/f.png +0 -0
  162. package/public/img/head.jpg +0 -0
  163. package/public/img/head2.jpg +0 -0
  164. package/public/img/home_ico.png +0 -0
  165. package/public/img/icons.svg +164 -0
  166. package/public/img/mechanism/b-style.png +0 -0
  167. package/public/img/mechanism/slider-wid.png +0 -0
  168. package/public/img/mechanism/upload-wid.png +0 -0
  169. package/public/img/transform_origin.png +0 -0
  170. package/sass/animation.scss +400 -0
  171. package/sass/btx.mob.scss +10 -0
  172. package/sass/btx.pad.scss +3 -0
  173. package/sass/btx.scss +22 -0
  174. package/sass/btx.webapp.scss +22 -0
  175. package/sass/colors.scss +65 -0
  176. package/sass/decoration.scss +220 -0
  177. package/sass/flex.scss +29 -0
  178. package/sass/icons.scss +100 -0
  179. package/sass/layout.scss +88 -0
  180. package/sass/reset.scss +111 -0
  181. package/sass/response/flex_mixin.scss +91 -0
  182. package/sass/response/layout_mixin.scss +227 -0
  183. package/sass/response/main.scss +59 -0
  184. package/sass/response/text_mixin.scss +65 -0
  185. package/sass/scroll.scss +100 -0
  186. package/sass/special.scss +13 -0
  187. package/sass/table.scss +103 -0
  188. package/sass/text.scss +86 -0
  189. package/sass/webpack.config.js +31 -0
  190. package/tsconfig.json +4 -0
@@ -0,0 +1,117 @@
1
+ <template>
2
+ <article>
3
+ <header-info v-bind="header_info" />
4
+
5
+ <!--基础使用-->
6
+ <section>
7
+ <h5>基础使用</h5>
8
+ <p>该组件主要通过 API 实现交互效果。通常会结合内容区域的 mouseenter 事件执行 <code>show()</code>,mousemove 事件执行 <code>set_pos()</code>,mouseleave 事件执行 <code>hide()</code>。执行 set_pos 方法时,可以使用事件对象的 page.X、page.Y 属性进行传参,实现跟随效果。</p>
9
+ <div class="resize">
10
+ <tooltip-wid ref="tooltip1" />
11
+ <div class="pcenter">
12
+ <div class="pad-v-3 bg-color-lgray round-sm"
13
+ @mouseenter="$_show1"
14
+ @mousemove="$_move1"
15
+ @mouseleave="$_hide1">
16
+ 鼠标悬停并移动,跟随显示 tooltip
17
+ </div>
18
+ </div>
19
+ </div>
20
+ <hr>
21
+ <p></p>
22
+ </section>
23
+
24
+ <!--自定义颜色-->
25
+ <section>
26
+ <h5>自定义颜色</h5>
27
+ <p>通过 <code>colors</code> 属性可以自定义提示框颜色;<code>offset</code> 属性则可以偏移提示框定位。</p>
28
+ <div class="resize">
29
+ <tooltip-wid v-bind="data_2" ref="tooltip2" />
30
+ <div class="pcenter">
31
+ <div class="pad-v-3 bg-color-lgray round-sm"
32
+ @mouseenter="$_show2"
33
+ @mousemove="$_move2"
34
+ @mouseleave="$_hide2">
35
+ 鼠标悬停并移动,跟随显示 tooltip
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </section>
40
+
41
+ </article>
42
+ </template>
43
+
44
+ <script>
45
+ import HeaderInfo from "@/components/header-info"
46
+ import TooltipWid from "@/components/BTXUI/tooltip/tooltip-wid"
47
+
48
+ export default {
49
+ name: "tooltip_wid_demo",
50
+ components: {
51
+ HeaderInfo,
52
+ TooltipWid
53
+ },
54
+ data(){
55
+ return {
56
+
57
+ //初始化入参
58
+ header_info: {
59
+ name: TooltipWid.name,
60
+ ...TooltipWid.introduce,
61
+ },
62
+
63
+ data_2: {
64
+ colors: {
65
+ text: "#ddd",
66
+ bg: "dgray",
67
+ line: "dark",
68
+ point: "blue"
69
+ },
70
+ offset: {
71
+ x: -40,
72
+ y: -170
73
+ }
74
+ }
75
+
76
+ }
77
+ },
78
+ computed: {
79
+
80
+ tooltip1(){
81
+ return this.$refs.tooltip1;
82
+ },
83
+
84
+ tooltip2(){
85
+ return this.$refs.tooltip2;
86
+ },
87
+
88
+ },
89
+ methods: {
90
+
91
+ $_show1(){
92
+ this.tooltip1.show("<b>HTML</b> 称为<span class='color-blue'>超文本标记语言</span>");
93
+ },
94
+
95
+ $_move1(e){
96
+ this.tooltip1.set_pos(e.pageX, e.pageY);
97
+ },
98
+
99
+ $_hide1(){
100
+ this.tooltip1.hide();
101
+ },
102
+
103
+ $_show2(){
104
+ this.tooltip2.show("<b class='fsize-1d4'>Flutter</b><br> 是 Google 开源的 <span class='color-green'>UI 工具包</span>");
105
+ },
106
+
107
+ $_move2(e){
108
+ this.tooltip2.set_pos(e.pageX, e.pageY);
109
+ },
110
+
111
+ $_hide2(){
112
+ this.tooltip2.hide();
113
+ }
114
+
115
+ }
116
+ }
117
+ </script>
@@ -0,0 +1,123 @@
1
+ <template>
2
+ <article>
3
+ <header-info v-bind="header_info" />
4
+
5
+ <!--基础使用-->
6
+ <section>
7
+ <h5>基础使用</h5>
8
+ <p>通过 <code>v-model</code> 可以初始化及接收上传文件内容。默认为单文件直接上传,仅需配置上传接口 <code>uploadApi</code>。注:默认上传文件大小限制为 2M。</p>
9
+ <p>测试接口:<span class="alpha-d7 color-blue">{{upload_api}}</span></p>
10
+ <div class="resize">
11
+ <upload-wid v-bind="data_1.props" v-model="data_1.remote_file"/>
12
+ </div>
13
+ <p>上传文件地址:<code v-if="data_1.remote_file.length">{{data_1.remote_file[0]}}</code></p>
14
+ <hr>
15
+ <p></p>
16
+ </section>
17
+
18
+ <!--限制文件类型-->
19
+ <section>
20
+ <h5>限制文件类型</h5>
21
+ <p>通过 <code>type</code> 字段可以限制上传文件类型,默认可上传任意类型,数组形式设置之后仅支持包含后缀类型。此外通过 <code>btnData</code> 字段可以设置上传按钮。</p>
22
+ <div class="resize">
23
+ <div class="fsize-1d2">
24
+ <upload-wid v-bind="data_2.props" v-model="data_2.remote_file" />
25
+ </div>
26
+ </div>
27
+ <p>上传文件地址:<code v-if="data_2.remote_file.length">{{data_2.remote_file[0]}}</code></p>
28
+ <hr>
29
+ <p></p>
30
+ </section>
31
+
32
+ <!--多文件上传-->
33
+ <section>
34
+ <h5>多文件上传</h5>
35
+ <p>通过 <code>multiple</code> 字段可以开启多文件上传。</p>
36
+ <div class="resize">
37
+ <upload-wid v-bind="data_3.props" v-model="data_3.remote_files" />
38
+ </div>
39
+ <p>上传文件地址:</p>
40
+ <ol v-if="data_3.remote_files.length">
41
+ <p v-for="file of data_3.remote_files"><code>{{file}}</code></p>
42
+ </ol>
43
+ </section>
44
+
45
+ </article>
46
+ </template>
47
+
48
+ <script>
49
+ import HeaderInfo from "@/components/header-info"
50
+ import UploadWid from "@/components/BTXUI/upload/upload-wid"
51
+ import server from "@/assets/server.js"
52
+
53
+ const uploadApi = server.apis.upload;
54
+
55
+ export default {
56
+ name: "upload_wid_demo",
57
+ components: {
58
+ HeaderInfo,
59
+ UploadWid
60
+ },
61
+ data(){
62
+ return {
63
+
64
+ //初始化入参
65
+ header_info: {
66
+ name: UploadWid.name,
67
+ ...UploadWid.introduce,
68
+ },
69
+
70
+ //服务接口
71
+ upload_api: uploadApi,
72
+
73
+ data_1: {
74
+ props: {
75
+ uploadApi,
76
+ },
77
+ remote_file: []
78
+ },
79
+
80
+ data_2: {
81
+ props: {
82
+ uploadApi,
83
+ type: ["jpg", "png"],
84
+ btnData: {
85
+ btnText: "uplaod file",
86
+ btnRound: true,
87
+ btnColor: {
88
+ normal: {
89
+ text: "light",
90
+ bg: "blue",
91
+ line: "none",
92
+ },
93
+ hover: {
94
+ text: "#ddd",
95
+ bg: "#1363e3",
96
+ line: "none",
97
+ },
98
+ },
99
+ btnWidth: 16,
100
+ iconData: {
101
+ icon: "download"
102
+ }
103
+ }
104
+ },
105
+ remote_file: []
106
+ },
107
+
108
+ data_3: {
109
+ props: {
110
+ uploadApi,
111
+ type: ["txt"],
112
+ btnData: {
113
+ btnText: "上传 .txt 文件",
114
+ },
115
+ multiple: true
116
+ },
117
+ remote_files: []
118
+ }
119
+
120
+ }
121
+ }
122
+ }
123
+ </script>
@@ -0,0 +1,159 @@
1
+ <template>
2
+ <article>
3
+ <header-info v-bind="header_info" />
4
+
5
+ <!--基础拖拽使用-->
6
+ <section>
7
+ <h5>基础拖拽使用</h5>
8
+ <p>组件包裹的元素将具有拖拽交互效果,其中 <code>dragStart</code> 和 <code>dragOver</code> 属性则可以设置 "拖拽开始"(物品)及 "拖拽放入"(容器)时的状态样式。</p>
9
+ <div class="flex-4">
10
+ <b-drag id="obj" styles="flex-5 h-3 w-10 bg-color-blue color-light round-sm mrg-r-4"
11
+ :dataInfo="{id: 'obj'}"
12
+ dragStart="bg-color-green">
13
+ 物品
14
+ </b-drag>
15
+ <b-drag styles="flex-5 h-4 w-12 dashed line-mgray thick-1 round-sm"
16
+ dragOver="bg-color-neutral"
17
+ @on_drop="$_append_obj1">
18
+ 容器
19
+ </b-drag>
20
+ </div>
21
+ <hr>
22
+ <p></p>
23
+ </section>
24
+
25
+ <!--拖拽传递数据-->
26
+ <section>
27
+ <h5>拖拽传递数据</h5>
28
+ <p>通过 <code>dataInfo</code> 属性可以绑定拖拽传递的数据。在 "拖拽放入"(容器)元素上通过 <code>on_drop</code> 事件可以接收,其中 <b>you</b> 字段存储传递数据;<b>me</b> 字段存储自身数据。</p>
29
+ <div class="flex-4">
30
+ <b-drag styles="flex-5 pad-h-2 pad-v-.5 bg-color-lgray round-sm mrg-r-4 line line-neutral thick-1"
31
+ :dataInfo="{book_name: data2.book_name}">
32
+ {{data2.book_name}}
33
+ </b-drag>
34
+ <b-drag styles="flex-5 pad-h-2 pad-v-.5 w-12 dashed line-mgray thick-1 round-sm"
35
+ @on_drop="$_append_book2">
36
+ 购物车
37
+ </b-drag>
38
+ </div>
39
+ <p>
40
+ 已购书籍:<b v-if="data2.bought">{{data2.bought}}</b><span v-else class="color-mgray">暂无购买书籍</span>
41
+ </p>
42
+ <hr>
43
+ <p></p>
44
+ </section>
45
+
46
+ <!--自由拖动-->
47
+ <section>
48
+ <h5>自由拖动</h5>
49
+ <p>通过 <code>freeDrag</code> 属性可以实现元素的自由拖放。元素的拖动区域,通常为拖动元素的 "包含块(offsetParent)"。</p>
50
+ <div class="flex-5 h-20 bg-color-lgray round-sm rel">
51
+ <div class="alpha-d4">拖动区域(offsetParent)</div>
52
+ <b-drag styles="w-4 h-4 bg-color-lgray round line line-mgray thick-1 shadow" @on_move="$_set_move_pos" v-bind="data3.props"></b-drag>
53
+ </div>
54
+ <p>
55
+ 相对包含块当前坐标:<b>({{data3.pos.x}}, {{data3.pos.y}})</b>
56
+ </p>
57
+ <hr>
58
+ <p></p>
59
+ </section>
60
+
61
+ <!--自由拖动方向限制-->
62
+ <section>
63
+ <h5>自由拖动方向限制</h5>
64
+ <p>利用拖动元素的包含块区域限制特性,可以对拖动元素进行拖动方向限制。</p>
65
+ <div class="grid">
66
+ <div class="col-6 pad-d5">
67
+ <div class="flex-5 h-15 bg-color-neutral round-sm pad-1">
68
+ <div class="h-2 max-w rel round-lg bg-color-neutral ">
69
+ <div class="abs pad-h-2 t-1rem max-w">
70
+ <div class="line-b line-neutral thick-2"></div>
71
+ </div>
72
+ <b-drag styles="w-6 h-2 bg-color-lgray round-lg line line-mgray thick-1" v-bind="data4.props"></b-drag>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <div class="col-6 pad-d5">
77
+ <div class="flex-5 h-15 bg-color-neutral round-sm pad-1">
78
+ <div class="w-2 max-h round-lg rel bg-color-neutral">
79
+ <div class="abs pad-v-2 l-1rem max-h">
80
+ <div class="line-r max-h line-neutral thick-2"></div>
81
+ </div>
82
+ <b-drag styles="w-2 h-6 bg-color-lgray round-lg line line-mgray thick-1" v-bind="data4.props"></b-drag>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </section>
88
+
89
+ </article>
90
+ </template>
91
+
92
+ <script>
93
+ import HeaderInfo from "@/components/header-info"
94
+ import BDrag from "@/components/BTXUI/core/b-drag"
95
+
96
+ export default {
97
+ name: "b_drag_demo",
98
+ components: {
99
+ HeaderInfo,
100
+ BDrag
101
+ },
102
+ data(){
103
+ return {
104
+
105
+ //初始化入参
106
+ header_info: {
107
+ name: BDrag.name,
108
+ ...BDrag.introduce,
109
+ },
110
+
111
+ data2: {
112
+ book_name: "html + css 从入门到精通",
113
+ bought: null
114
+ },
115
+
116
+ data3: {
117
+ props: {
118
+ freeDrag: true,
119
+ dragStart: "bg-color-blue line-light"
120
+ },
121
+ pos: {
122
+ x: 0,
123
+ y: 0
124
+ }
125
+ },
126
+
127
+ data4: {
128
+ props: {
129
+ freeDrag: true,
130
+ dragStart: "bg-color-light line-light shadow color-neutral"
131
+ }
132
+ }
133
+
134
+ }
135
+ },
136
+ methods: {
137
+
138
+ $_append_obj1(res, e){
139
+ const target = document.querySelector(`#${res.you.id}`);
140
+ target.style.transform = "scale(0)";
141
+ e.target.innerHTML = "<div class='w-10 h-3 bg-color-blue flex-5 round-sm color-light'>物品</div>";
142
+ },
143
+
144
+ $_append_book2(res){
145
+ const bought = this.data2.bought;
146
+ if(bought){
147
+ this.$confirm.toast("该书籍已购买!", 2000, "notic");
148
+ }else {
149
+ this.data2.bought = res.you.book_name;
150
+ }
151
+ },
152
+
153
+ $_set_move_pos(move_pos){
154
+ this.data3.pos = move_pos;
155
+ }
156
+
157
+ }
158
+ }
159
+ </script>
@@ -0,0 +1,225 @@
1
+ <template>
2
+ <article>
3
+ <header-info v-bind="header_info" />
4
+
5
+ <!--响应式栅格布局-->
6
+ <section>
7
+ <h5>响应式栅格布局</h5>
8
+ <p>通过 <code>colData</code> 属性可设置栅格布局,包括均分和非均分 2 种形式,<b>items</b> 字段用于对每个项目进行栅格设置;<b>common_plan</b> 字段则用于对所有项目进行统一栅格设置。设置值可参考全局样式的栅格系统,且支持响应式分段。</p>
9
+ <p>通过 <code>gap</code> 属性可设置栅格元素的内边距,默认单位 rem。</p>
10
+ <p>【exp】:</p>
11
+ <b-grid styles="resize bg-color-dgray round-sm pad-.5" v-bind="data_1">
12
+ <div v-for="item of data_1.colData.items" :key="item.id" :slot="item.id"
13
+ class="bg-color-dark flex-column color-sub round-sm flex-5 pad-v-1">
14
+ <i :class="`ico-${item.icon} fsize-1d7 alpha-d5`"></i>
15
+ <span>{{item.text}}</span>
16
+ </div>
17
+ </b-grid>
18
+ <p><b>common_plan</b> 字段一旦设置,会覆盖 <b>items</b> 内的局部栅格方案。</p>
19
+ <p>【exp】:</p>
20
+ <b-grid styles="resize bg-color-dgray round-sm pad-.5" v-bind="data_1_1">
21
+ <div v-for="item of data_1_1.colData.items" :key="item.id" :slot="item.id"
22
+ class="bg-color-dark flex-column color-sub round-sm flex-5 pad-v-1">
23
+ <i :class="`ico-${item.icon} fsize-1d7 alpha-d5`"></i>
24
+ <span>{{item.text}}</span>
25
+ </div>
26
+ </b-grid>
27
+ <hr>
28
+ <p></p>
29
+ </section>
30
+
31
+ <!--栅格系统边框样式-->
32
+ <section>
33
+ <h5>栅格系统边框样式</h5>
34
+ <p>通过 <code>gridHeight</code> 属性可限定元素高度,<code>line</code> 属性和 <code>outlineColor</code> 属性则可以分别设置栅格系统的内部边框颜色和外框样色。值得注意的是,外框样色通常选用背景色,可用以覆盖 "消除" 内部边框的 "溢出" 效果。</p>
35
+ <p>【exp】:</p>
36
+ <b-grid styles="resize round-md" v-bind="data_2">
37
+ <div v-for="item of data_2.colData.items" :key="item.id" :slot="item.id"
38
+ class="flex-column round-sm flex-5 pad-v-1">
39
+ <i :class="`ico-${item.icon} fsize-1d7 alpha-d5`"></i>
40
+ <span>{{item.text}}</span>
41
+ </div>
42
+ </b-grid>
43
+ </section>
44
+
45
+ </article>
46
+ </template>
47
+
48
+ <script>
49
+ import HeaderInfo from "@/components/header-info"
50
+ import BGrid from "@/components/BTXUI/core/b-grid"
51
+
52
+ export default {
53
+ name: "b_grid_demo",
54
+ components: {
55
+ HeaderInfo,
56
+ BGrid
57
+ },
58
+ data(){
59
+ return {
60
+
61
+ //初始化入参
62
+ header_info: {
63
+ name: BGrid.name,
64
+ ...BGrid.introduce,
65
+ },
66
+
67
+ data_1: {
68
+ colData: {
69
+ items: [
70
+ {
71
+ id: "a",
72
+ plan: "col-3 col-4-m col-6-s",
73
+ icon: "github",
74
+ text: "github"
75
+ },
76
+ {
77
+ id: "b",
78
+ plan: "col-3 col-4-m col-6-s",
79
+ icon: "download",
80
+ text: "download"
81
+ },
82
+ {
83
+ id: "c",
84
+ plan: "col-3 col-4-m col-6-s",
85
+ icon: "ui",
86
+ text: "ui"
87
+ },
88
+ {
89
+ id: "d",
90
+ plan: "col-3 col-4-m col-6-s",
91
+ icon: "home",
92
+ text: "home"
93
+ },
94
+ {
95
+ id: "e",
96
+ plan: "col-6 col-12-s",
97
+ icon: "list",
98
+ text: "list"
99
+ },
100
+ {
101
+ id: "f",
102
+ plan: "col-6 col-12-s",
103
+ icon: "data",
104
+ text: "data"
105
+ },
106
+ {
107
+ id: "g",
108
+ plan: "col-6 col-12-s",
109
+ icon: "user",
110
+ text: "user"
111
+ },
112
+ {
113
+ id: "h",
114
+ plan: "col-6 col-12-s",
115
+ icon: "system",
116
+ text: "system",
117
+ },
118
+ ],
119
+ },
120
+ gap: .5
121
+ },
122
+ data_1_1: {
123
+ colData: {
124
+ items: [
125
+ {
126
+ id: "a",
127
+ icon: "github",
128
+ text: "github"
129
+ },
130
+ {
131
+ id: "b",
132
+ icon: "download",
133
+ text: "download"
134
+ },
135
+ {
136
+ id: "c",
137
+ icon: "ui",
138
+ text: "ui"
139
+ },
140
+ {
141
+ id: "d",
142
+ icon: "home",
143
+ text: "home"
144
+ },
145
+ {
146
+ id: "e",
147
+ icon: "list",
148
+ text: "list"
149
+ },
150
+ {
151
+ id: "f",
152
+ icon: "data",
153
+ text: "data"
154
+ },
155
+ {
156
+ id: "g",
157
+ icon: "user",
158
+ text: "user"
159
+ },
160
+ {
161
+ id: "h",
162
+ icon: "system",
163
+ text: "system",
164
+ },
165
+ ],
166
+ common_plan: "col-3 col-4-m col-6-s"
167
+ },
168
+ gap: .5
169
+ },
170
+
171
+ data_2: {
172
+ colData: {
173
+ items: [
174
+ {
175
+ id: "a",
176
+ icon: "github",
177
+ text: "github"
178
+ },
179
+ {
180
+ id: "b",
181
+ icon: "download",
182
+ text: "download"
183
+ },
184
+ {
185
+ id: "c",
186
+ icon: "ui",
187
+ text: "ui"
188
+ },
189
+ {
190
+ id: "d",
191
+ icon: "home",
192
+ text: "home"
193
+ },
194
+ {
195
+ id: "e",
196
+ icon: "list",
197
+ text: "list"
198
+ },
199
+ {
200
+ id: "f",
201
+ icon: "data",
202
+ text: "data"
203
+ },
204
+ {
205
+ id: "g",
206
+ icon: "user",
207
+ text: "user"
208
+ },
209
+ {
210
+ id: "h",
211
+ icon: "system",
212
+ text: "system",
213
+ },
214
+ ],
215
+ common_plan: "col-3 col-4-m col-6-s"
216
+ },
217
+ gap: .4,
218
+ line: ["lgray", 4],
219
+ outlineColor: "light"
220
+ },
221
+
222
+ }
223
+ }
224
+ }
225
+ </script>