dpzvc3-ui 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +175 -0
  3. package/build-style.js +58 -0
  4. package/dist/dpzvc3.esm.js +17676 -0
  5. package/dist/dpzvc3.esm.js.map +1 -0
  6. package/dist/dpzvc3.esm.min.js +2 -0
  7. package/dist/dpzvc3.esm.min.js.map +1 -0
  8. package/dist/dpzvc3.js +15200 -0
  9. package/dist/dpzvc3.js.map +1 -0
  10. package/dist/dpzvc3.min.js +2 -0
  11. package/dist/dpzvc3.min.js.map +1 -0
  12. package/dist/styles/base/font.css +1 -0
  13. package/dist/styles/base/reset.css +1 -0
  14. package/dist/styles/base/variable.css +0 -0
  15. package/dist/styles/components/actionSheet.css +1 -0
  16. package/dist/styles/components/badge.css +1 -0
  17. package/dist/styles/components/button.css +1 -0
  18. package/dist/styles/components/card.css +1 -0
  19. package/dist/styles/components/cell-swipe.css +1 -0
  20. package/dist/styles/components/cell.css +1 -0
  21. package/dist/styles/components/checkBox.css +1 -0
  22. package/dist/styles/components/editor.css +1 -0
  23. package/dist/styles/components/header.css +1 -0
  24. package/dist/styles/components/indicator.css +1 -0
  25. package/dist/styles/components/loadmore.css +1 -0
  26. package/dist/styles/components/message.css +1 -0
  27. package/dist/styles/components/modal.css +1 -0
  28. package/dist/styles/components/number.css +1 -0
  29. package/dist/styles/components/picker.css +1 -0
  30. package/dist/styles/components/popup.css +1 -0
  31. package/dist/styles/components/progress.css +1 -0
  32. package/dist/styles/components/prompt.css +1 -0
  33. package/dist/styles/components/radioBox.css +1 -0
  34. package/dist/styles/components/slide-Bar.css +1 -0
  35. package/dist/styles/components/spinner.css +1 -0
  36. package/dist/styles/components/swipe.css +1 -0
  37. package/dist/styles/components/switchBar.css +1 -0
  38. package/dist/styles/components/tab.css +1 -0
  39. package/dist/styles/components/text.css +1 -0
  40. package/dist/styles/components/toTop.css +1 -0
  41. package/dist/styles/components/upload.css +1 -0
  42. package/dist/styles/dpzvc3.css +1 -0
  43. package/dist/styles/utils/1px.css +1 -0
  44. package/dist/styles/utils/animation.css +1 -0
  45. package/dist/styles/utils/nowrap.css +1 -0
  46. package/dist-prod/91.9d79b442ec3131707419.js +3 -0
  47. package/dist-prod/91.9d79b442ec3131707419.js.LICENSE.txt +25 -0
  48. package/dist-prod/91.9d79b442ec3131707419.js.map +1 -0
  49. package/dist-prod/actionsheet.e2f7c32d0120f5147a4f.chunk.js +2 -0
  50. package/dist-prod/actionsheet.e2f7c32d0120f5147a4f.chunk.js.map +1 -0
  51. package/dist-prod/badge.6038c4ccc54ffb56a645.chunk.js +2 -0
  52. package/dist-prod/badge.6038c4ccc54ffb56a645.chunk.js.map +1 -0
  53. package/dist-prod/button.28b491339fbba29c3f16.chunk.js +2 -0
  54. package/dist-prod/button.28b491339fbba29c3f16.chunk.js.map +1 -0
  55. package/dist-prod/card.3ad847f07bebc1391125.chunk.js +2 -0
  56. package/dist-prod/card.3ad847f07bebc1391125.chunk.js.map +1 -0
  57. package/dist-prod/cell.8920796a9ebd2d84bbd3.chunk.js +2 -0
  58. package/dist-prod/cell.8920796a9ebd2d84bbd3.chunk.js.map +1 -0
  59. package/dist-prod/cellswipe.53b0178e4638c201dcf1.chunk.js +2 -0
  60. package/dist-prod/cellswipe.53b0178e4638c201dcf1.chunk.js.map +1 -0
  61. package/dist-prod/checkbox.87403976981ee0f64f4a.chunk.js +2 -0
  62. package/dist-prod/checkbox.87403976981ee0f64f4a.chunk.js.map +1 -0
  63. package/dist-prod/guide.5195c74796a7a0e37f7b.chunk.js +2 -0
  64. package/dist-prod/guide.5195c74796a7a0e37f7b.chunk.js.map +1 -0
  65. package/dist-prod/header.e3cecc6d60f801c1c105.chunk.js +2 -0
  66. package/dist-prod/header.e3cecc6d60f801c1c105.chunk.js.map +1 -0
  67. package/dist-prod/index.html +19 -0
  68. package/dist-prod/indicator.6b0c7a91ca254c3586e8.chunk.js +2 -0
  69. package/dist-prod/indicator.6b0c7a91ca254c3586e8.chunk.js.map +1 -0
  70. package/dist-prod/loadmore.ba86c35311fc68ee215b.chunk.js +2 -0
  71. package/dist-prod/loadmore.ba86c35311fc68ee215b.chunk.js.map +1 -0
  72. package/dist-prod/main.2e9aaa9095e329ea2d7b.js +2 -0
  73. package/dist-prod/main.2e9aaa9095e329ea2d7b.js.map +1 -0
  74. package/dist-prod/message.e57fa263a214006f7191.chunk.js +2 -0
  75. package/dist-prod/message.e57fa263a214006f7191.chunk.js.map +1 -0
  76. package/dist-prod/modal.1172c8ba7d90503fc8e8.chunk.js +2 -0
  77. package/dist-prod/modal.1172c8ba7d90503fc8e8.chunk.js.map +1 -0
  78. package/dist-prod/picker.4ff114161c5c3f8df57a.chunk.js +2 -0
  79. package/dist-prod/picker.4ff114161c5c3f8df57a.chunk.js.map +1 -0
  80. package/dist-prod/popup.8f92c027932e4d47fa59.chunk.js +2 -0
  81. package/dist-prod/popup.8f92c027932e4d47fa59.chunk.js.map +1 -0
  82. package/dist-prod/progress.1e0d785044aecadc5615.chunk.js +2 -0
  83. package/dist-prod/progress.1e0d785044aecadc5615.chunk.js.map +1 -0
  84. package/dist-prod/prompt.c2b442c3dd0e6d8319bc.chunk.js +2 -0
  85. package/dist-prod/prompt.c2b442c3dd0e6d8319bc.chunk.js.map +1 -0
  86. package/dist-prod/radiobox.479703c69b75d473e85d.chunk.js +2 -0
  87. package/dist-prod/radiobox.479703c69b75d473e85d.chunk.js.map +1 -0
  88. package/dist-prod/rater.939e0e7e770728f684c3.chunk.js +2 -0
  89. package/dist-prod/rater.939e0e7e770728f684c3.chunk.js.map +1 -0
  90. package/dist-prod/slidebar.3d3f48a631f03a2210c9.chunk.js +2 -0
  91. package/dist-prod/slidebar.3d3f48a631f03a2210c9.chunk.js.map +1 -0
  92. package/dist-prod/spinner.f20e3bd8cec27d26afe0.chunk.js +2 -0
  93. package/dist-prod/spinner.f20e3bd8cec27d26afe0.chunk.js.map +1 -0
  94. package/dist-prod/swipe.2e5b0acc3bbb2bf49dd5.chunk.js +2 -0
  95. package/dist-prod/swipe.2e5b0acc3bbb2bf49dd5.chunk.js.map +1 -0
  96. package/dist-prod/switchbar.56d03d96c275ff4c65a1.chunk.js +2 -0
  97. package/dist-prod/switchbar.56d03d96c275ff4c65a1.chunk.js.map +1 -0
  98. package/dist-prod/tab.4c391211c41b7d12b585.chunk.js +2 -0
  99. package/dist-prod/tab.4c391211c41b7d12b585.chunk.js.map +1 -0
  100. package/dist-prod/text.ee2804ba87e6a460aa7d.chunk.js +2 -0
  101. package/dist-prod/text.ee2804ba87e6a460aa7d.chunk.js.map +1 -0
  102. package/dist-prod/totop.c6f9dce152bb6abe5cb2.chunk.js +2 -0
  103. package/dist-prod/totop.c6f9dce152bb6abe5cb2.chunk.js.map +1 -0
  104. package/dist-prod/upload.ec7a954970889869d93e.chunk.js +2 -0
  105. package/dist-prod/upload.ec7a954970889869d93e.chunk.js.map +1 -0
  106. package/images/IMG_2614 2 2.JPG +0 -0
  107. package/images/IMG_2614.JPG +0 -0
  108. package/images/IMG_2615 2.JPG +0 -0
  109. package/images/IMG_2615.JPG +0 -0
  110. package/package.json +113 -0
  111. package/postcss.config.js +5 -0
  112. package/src/components/Indicator/Indicator.vue +82 -0
  113. package/src/components/Indicator/index.js +86 -0
  114. package/src/components/Text/Number.vue +167 -0
  115. package/src/components/Text/index.js +7 -0
  116. package/src/components/Text/textBar.vue +122 -0
  117. package/src/components/action-sheet/actionSheet.vue +93 -0
  118. package/src/components/action-sheet/index.js +5 -0
  119. package/src/components/app.vue +61 -0
  120. package/src/components/badge/badge.vue +80 -0
  121. package/src/components/badge/index.js +5 -0
  122. package/src/components/button/button.vue +111 -0
  123. package/src/components/button/index.js +5 -0
  124. package/src/components/card/card.vue +49 -0
  125. package/src/components/card/index.js +5 -0
  126. package/src/components/cell/cell.vue +93 -0
  127. package/src/components/cell/index.js +5 -0
  128. package/src/components/cell-swipe/cell-swipe.vue +169 -0
  129. package/src/components/cell-swipe/index.js +5 -0
  130. package/src/components/checkBox/checkbox-group.vue +74 -0
  131. package/src/components/checkBox/checkbox.vue +117 -0
  132. package/src/components/checkBox/index.js +8 -0
  133. package/src/components/header/header.vue +130 -0
  134. package/src/components/header/index.js +5 -0
  135. package/src/components/loadMore/index.js +5 -0
  136. package/src/components/loadMore/loadmore.vue +258 -0
  137. package/src/components/message/confirm.js +60 -0
  138. package/src/components/message/index.js +111 -0
  139. package/src/components/message/message.vue +137 -0
  140. package/src/components/message/messageGroup.vue +82 -0
  141. package/src/components/modal/confirm.js +122 -0
  142. package/src/components/modal/index.js +52 -0
  143. package/src/components/modal/modal.vue +138 -0
  144. package/src/components/picker/area-picker/area-picker.vue +230 -0
  145. package/src/components/picker/area-picker/props.js +17 -0
  146. package/src/components/picker/date-picker/date-picker.vue +191 -0
  147. package/src/components/picker/date-picker/props.js +24 -0
  148. package/src/components/picker/index.js +5 -0
  149. package/src/components/picker/normal-picker/normal-picker.vue +120 -0
  150. package/src/components/picker/normal-picker/props.js +20 -0
  151. package/src/components/picker/picker-slot.vue +217 -0
  152. package/src/components/picker/picker.vue +111 -0
  153. package/src/components/popup/index.js +5 -0
  154. package/src/components/popup/popup.vue +91 -0
  155. package/src/components/progress/index.js +5 -0
  156. package/src/components/progress/progress.vue +86 -0
  157. package/src/components/prompt/confirm.js +91 -0
  158. package/src/components/prompt/index.js +53 -0
  159. package/src/components/prompt/prompt.vue +125 -0
  160. package/src/components/radioBox/index.js +8 -0
  161. package/src/components/radioBox/radiobox-group.vue +66 -0
  162. package/src/components/radioBox/radiobox.vue +88 -0
  163. package/src/components/rater/index.js +5 -0
  164. package/src/components/rater/rater.vue +118 -0
  165. package/src/components/slideBar/index.js +6 -0
  166. package/src/components/slideBar/slideBar.vue +207 -0
  167. package/src/components/spinner/behavior/blade.vue +42 -0
  168. package/src/components/spinner/behavior/double-bounce.vue +38 -0
  169. package/src/components/spinner/behavior/fading-circle.vue +55 -0
  170. package/src/components/spinner/behavior/snake.vue +41 -0
  171. package/src/components/spinner/behavior/triple-bounce.vue +52 -0
  172. package/src/components/spinner/index.js +5 -0
  173. package/src/components/spinner/props.js +28 -0
  174. package/src/components/spinner/spinner.vue +78 -0
  175. package/src/components/swipe/index.js +5 -0
  176. package/src/components/swipe/swipe.vue +281 -0
  177. package/src/components/switchbar/index.js +5 -0
  178. package/src/components/switchbar/switchbar.vue +79 -0
  179. package/src/components/tab/index.js +6 -0
  180. package/src/components/tab/tab.vue +89 -0
  181. package/src/components/toTop/index.js +5 -0
  182. package/src/components/toTop/topTop.vue +78 -0
  183. package/src/components/upload/index.js +5 -0
  184. package/src/components/upload/upload.vue +166 -0
  185. package/src/config/config.js +16 -0
  186. package/src/directives/clickoutside.js +42 -0
  187. package/src/directives/tranferDom.js +66 -0
  188. package/src/index.js +149 -0
  189. package/src/lib/MegaPixImage.js +163 -0
  190. package/src/lib/MegaPixImageOld.js +153 -0
  191. package/src/lib/exif-js.js +235 -0
  192. package/src/lib/exif.js +789 -0
  193. package/src/main.js +31 -0
  194. package/src/mixin/emitter.js +72 -0
  195. package/src/mixin/input.js +41 -0
  196. package/src/router.js +36 -0
  197. package/src/styles/base/font.less +99 -0
  198. package/src/styles/base/reset.less +135 -0
  199. package/src/styles/base/variable.less +108 -0
  200. package/src/styles/components/actionSheet.less +43 -0
  201. package/src/styles/components/badge.less +81 -0
  202. package/src/styles/components/button.less +124 -0
  203. package/src/styles/components/card.less +31 -0
  204. package/src/styles/components/cell-swipe.less +20 -0
  205. package/src/styles/components/cell.less +75 -0
  206. package/src/styles/components/checkBox.less +113 -0
  207. package/src/styles/components/editor.less +3 -0
  208. package/src/styles/components/header.less +72 -0
  209. package/src/styles/components/indicator.less +39 -0
  210. package/src/styles/components/loadmore.less +48 -0
  211. package/src/styles/components/message.less +57 -0
  212. package/src/styles/components/modal.less +84 -0
  213. package/src/styles/components/number.less +60 -0
  214. package/src/styles/components/picker.less +152 -0
  215. package/src/styles/components/popup.less +46 -0
  216. package/src/styles/components/progress.less +52 -0
  217. package/src/styles/components/prompt.less +37 -0
  218. package/src/styles/components/radioBox.less +138 -0
  219. package/src/styles/components/slide-Bar.less +149 -0
  220. package/src/styles/components/spinner.less +329 -0
  221. package/src/styles/components/swipe.less +125 -0
  222. package/src/styles/components/switchBar.less +88 -0
  223. package/src/styles/components/tab.less +71 -0
  224. package/src/styles/components/text.less +82 -0
  225. package/src/styles/components/toTop.less +28 -0
  226. package/src/styles/components/upload.less +23 -0
  227. package/src/styles/index.less +38 -0
  228. package/src/styles/utils/1px.less +206 -0
  229. package/src/styles/utils/animation.less +165 -0
  230. package/src/styles/utils/nowrap.less +19 -0
  231. package/src/template/index.ejs +40 -0
  232. package/src/utils/util.js +202 -0
  233. package/src/vconsole-resources.min.js +6 -0
  234. package/src/vconsole-sources.min.js +6 -0
  235. package/src/vconsole.min.js +7 -0
  236. package/src/views/ActionSheet.vue +46 -0
  237. package/src/views/Badge.vue +51 -0
  238. package/src/views/Button.vue +69 -0
  239. package/src/views/Card.vue +88 -0
  240. package/src/views/Cell.vue +30 -0
  241. package/src/views/CellSwipe.vue +68 -0
  242. package/src/views/CheckBox.vue +77 -0
  243. package/src/views/Header.vue +70 -0
  244. package/src/views/Indicator.vue +82 -0
  245. package/src/views/LoadMore.vue +73 -0
  246. package/src/views/Message.vue +61 -0
  247. package/src/views/Modal.vue +69 -0
  248. package/src/views/Picker.vue +140 -0
  249. package/src/views/Popup.vue +97 -0
  250. package/src/views/Progress.vue +47 -0
  251. package/src/views/Prompt.vue +43 -0
  252. package/src/views/RadioBox.vue +68 -0
  253. package/src/views/Rater.vue +49 -0
  254. package/src/views/SlideBar.vue +55 -0
  255. package/src/views/Spinner.vue +15 -0
  256. package/src/views/Swipe.vue +59 -0
  257. package/src/views/SwitchBar.vue +47 -0
  258. package/src/views/Tab.vue +53 -0
  259. package/src/views/Text.vue +93 -0
  260. package/src/views/ToTop.vue +17 -0
  261. package/src/views/Upload.vue +61 -0
  262. package/src/views/guide.vue +164 -0
  263. package/src/views/index.vue +554 -0
  264. package/webpack.base.config.js +65 -0
  265. package/webpack.dev.config.js +42 -0
  266. package/webpack.dist.dev.config.js +75 -0
  267. package/webpack.dist.prod.config.js +89 -0
  268. package/webpack.prod.config.js +51 -0
@@ -0,0 +1,329 @@
1
+ @import "../base/variable.less";
2
+ // spinner.less - 完整可用版本(无 unit()/round(),可直接编译)
3
+ @SpinnerSize: 28px;
4
+ @SpinnerColor: #ccc;
5
+
6
+ // ---------- Blade Spinner ----------
7
+ .dpzvc3-spinner-blade {
8
+ position: relative;
9
+ height: @SpinnerSize;
10
+ width: @SpinnerSize;
11
+
12
+ .blade {
13
+ position: absolute;
14
+ left: 44.5%;
15
+ top: 37%;
16
+ width: 10%;
17
+ height: 25%;
18
+ border-radius: ~'50% / 20%';
19
+ animation: dpzvc3-spinner-blade 1s linear infinite;
20
+ background-color: @SpinnerColor;
21
+ }
22
+
23
+ .blade-0 {
24
+ transform: rotate(30deg) translate(0, -150%);
25
+ animation-delay: -1.6667s;
26
+ }
27
+
28
+ .blade-1 {
29
+ transform: rotate(60deg) translate(0, -150%);
30
+ animation-delay: -1.5s;
31
+ }
32
+
33
+ .blade-2 {
34
+ transform: rotate(90deg) translate(0, -150%);
35
+ animation-delay: -1.3333s;
36
+ }
37
+
38
+ .blade-3 {
39
+ transform: rotate(120deg) translate(0, -150%);
40
+ animation-delay: -1.1667s;
41
+ }
42
+
43
+ .blade-4 {
44
+ transform: rotate(150deg) translate(0, -150%);
45
+ animation-delay: -1s;
46
+ }
47
+
48
+ .blade-5 {
49
+ transform: rotate(180deg) translate(0, -150%);
50
+ animation-delay: -0.8333s;
51
+ }
52
+
53
+ .blade-6 {
54
+ transform: rotate(210deg) translate(0, -150%);
55
+ animation-delay: -0.6667s;
56
+ }
57
+
58
+ .blade-7 {
59
+ transform: rotate(240deg) translate(0, -150%);
60
+ animation-delay: -0.5s;
61
+ }
62
+
63
+ .blade-8 {
64
+ transform: rotate(270deg) translate(0, -150%);
65
+ animation-delay: -0.3333s;
66
+ }
67
+
68
+ .blade-9 {
69
+ transform: rotate(300deg) translate(0, -150%);
70
+ animation-delay: -0.1667s;
71
+ }
72
+
73
+ .blade-10 {
74
+ transform: rotate(330deg) translate(0, -150%);
75
+ animation-delay: 0s;
76
+ }
77
+
78
+ .blade-11 {
79
+ transform: rotate(360deg) translate(0, -150%);
80
+ animation-delay: 0.1667s;
81
+ }
82
+ }
83
+
84
+ @keyframes dpzvc3-spinner-blade {
85
+ 0% {
86
+ opacity: 0.85;
87
+ }
88
+
89
+ 50% {
90
+ opacity: 0.25;
91
+ }
92
+
93
+ 100% {
94
+ opacity: 0.25;
95
+ }
96
+ }
97
+
98
+ // ---------- Double Bounce Spinner ----------
99
+ .dpzvc3-spinner-double-bounce {
100
+ position: relative;
101
+ height: @SpinnerSize;
102
+ width: @SpinnerSize;
103
+
104
+ .bounce {
105
+ width: 100%;
106
+ height: 100%;
107
+ border-radius: 50%;
108
+ opacity: 0.6;
109
+ position: absolute;
110
+ top: 0;
111
+ left: 0;
112
+ animation: dpzvc3-spinner-double-bounce 2s infinite ease-in-out;
113
+ background-color: @SpinnerColor;
114
+ }
115
+
116
+ .bounce-1 {
117
+ animation-delay: -1s;
118
+ }
119
+ }
120
+
121
+ @keyframes dpzvc3-spinner-double-bounce {
122
+
123
+ 0%,
124
+ 100% {
125
+ transform: scale(0);
126
+ }
127
+
128
+ 50% {
129
+ transform: scale(1);
130
+ }
131
+ }
132
+
133
+ // ---------- Triple Bounce Spinner ----------
134
+ @unitSize: @SpinnerSize / 3; // 28px / 3 = 9.3333px
135
+
136
+ .dpzvc3-spinner-triple-bounce {
137
+ font-size: 0;
138
+ padding: (@SpinnerSize - @unitSize) / 2 0;
139
+
140
+ .bounce {
141
+ border-radius: 100%;
142
+ display: inline-block;
143
+ animation: dpzvc3-spinner-triple-bounce 1.4s infinite ease-in-out both;
144
+ background-color: @SpinnerColor;
145
+ width: @unitSize;
146
+ height: @unitSize;
147
+ }
148
+
149
+ .bounce-0 {
150
+ animation-delay: -0.32s;
151
+ }
152
+
153
+ .bounce-1 {
154
+ animation-delay: -0.16s;
155
+ margin: 0 (@unitSize * 0.4);
156
+ }
157
+ }
158
+
159
+ @keyframes dpzvc3-spinner-triple-bounce {
160
+
161
+ 0%,
162
+ 80%,
163
+ 100% {
164
+ transform: scale(0);
165
+ }
166
+
167
+ 40% {
168
+ transform: scale(1);
169
+ }
170
+ }
171
+
172
+ // ---------- Fading Circle Spinner ----------
173
+ .dpzvc3-spinner-fading-circle {
174
+ position: relative;
175
+ height: @SpinnerSize;
176
+ width: @SpinnerSize;
177
+
178
+ .block {
179
+ position: absolute;
180
+ width: 100%;
181
+ height: 100%;
182
+ left: 0;
183
+ top: 0;
184
+
185
+ .circle {
186
+ margin: 0 auto;
187
+ width: 15%;
188
+ height: 15%;
189
+ border-radius: 100%;
190
+ animation: dpzvc3-spinner-fading-circle 1.2s infinite ease-in-out both;
191
+ background-color: @SpinnerColor;
192
+ }
193
+ }
194
+
195
+ // 写死 12 个 block 类
196
+ .block-0 {
197
+ transform: rotate(0deg);
198
+
199
+ .circle-0 {
200
+ animation-delay: -1.2s;
201
+ }
202
+ }
203
+
204
+ .block-1 {
205
+ transform: rotate(30deg);
206
+
207
+ .circle-1 {
208
+ animation-delay: -1.1s;
209
+ }
210
+ }
211
+
212
+ .block-2 {
213
+ transform: rotate(60deg);
214
+
215
+ .circle-2 {
216
+ animation-delay: -1s;
217
+ }
218
+ }
219
+
220
+ .block-3 {
221
+ transform: rotate(90deg);
222
+
223
+ .circle-3 {
224
+ animation-delay: -0.9s;
225
+ }
226
+ }
227
+
228
+ .block-4 {
229
+ transform: rotate(120deg);
230
+
231
+ .circle-4 {
232
+ animation-delay: -0.8s;
233
+ }
234
+ }
235
+
236
+ .block-5 {
237
+ transform: rotate(150deg);
238
+
239
+ .circle-5 {
240
+ animation-delay: -0.7s;
241
+ }
242
+ }
243
+
244
+ .block-6 {
245
+ transform: rotate(180deg);
246
+
247
+ .circle-6 {
248
+ animation-delay: -0.6s;
249
+ }
250
+ }
251
+
252
+ .block-7 {
253
+ transform: rotate(210deg);
254
+
255
+ .circle-7 {
256
+ animation-delay: -0.5s;
257
+ }
258
+ }
259
+
260
+ .block-8 {
261
+ transform: rotate(240deg);
262
+
263
+ .circle-8 {
264
+ animation-delay: -0.4s;
265
+ }
266
+ }
267
+
268
+ .block-9 {
269
+ transform: rotate(270deg);
270
+
271
+ .circle-9 {
272
+ animation-delay: -0.3s;
273
+ }
274
+ }
275
+
276
+ .block-10 {
277
+ transform: rotate(300deg);
278
+
279
+ .circle-10 {
280
+ animation-delay: -0.2s;
281
+ }
282
+ }
283
+
284
+ .block-11 {
285
+ transform: rotate(330deg);
286
+
287
+ .circle-11 {
288
+ animation-delay: -0.1s;
289
+ }
290
+ }
291
+ }
292
+
293
+ @keyframes dpzvc3-spinner-fading-circle {
294
+
295
+ 0%,
296
+ 39%,
297
+ 100% {
298
+ opacity: 0;
299
+ }
300
+
301
+ 40% {
302
+ opacity: 1;
303
+ }
304
+ }
305
+
306
+ // ---------- Snake Spinner ----------
307
+ .dpzvc3-spinner-snake {
308
+ animation: dpzvc3-spinner-snake 0.8s infinite linear;
309
+ border-style: solid;
310
+ border-color: transparent;
311
+ border-radius: 50%;
312
+ box-sizing: border-box;
313
+ height: @SpinnerSize;
314
+ width: @SpinnerSize;
315
+ border-width: @SpinnerSize / 8;
316
+ border-top-color: @SpinnerColor;
317
+ border-left-color: @SpinnerColor;
318
+ border-bottom-color: @SpinnerColor;
319
+ }
320
+
321
+ @keyframes dpzvc3-spinner-snake {
322
+ 0% {
323
+ transform: rotate(0deg);
324
+ }
325
+
326
+ 100% {
327
+ transform: rotate(360deg);
328
+ }
329
+ }
@@ -0,0 +1,125 @@
1
+ .dpzvc3-swipe {
2
+ width: 100%;
3
+ position: relative;
4
+ height: auto;
5
+ overflow-x: hidden;
6
+
7
+ &-wrapper {
8
+
9
+ position: relative;
10
+ left: 0;
11
+ top: 0;
12
+ width: 100%;
13
+ height: 100%;
14
+ transition: transform .2s ease-out;
15
+ will-change: transform;
16
+ display: flex;
17
+ flex-direction: row;
18
+ justify-content: flex-start;
19
+ align-items: center;
20
+ }
21
+
22
+ &-item {
23
+ flex: 1;
24
+
25
+ &.multiple {
26
+ display: flex;
27
+ flex-direction: row;
28
+ justify-content: flex-start;
29
+
30
+ }
31
+
32
+ >img {
33
+ display: block;
34
+ width: 100%;
35
+ height: 80%;
36
+ object-fit: cover;
37
+ }
38
+
39
+ >span {
40
+ display: block;
41
+ width: 100%;
42
+ line-height: 25px;
43
+ text-align: center;
44
+
45
+ }
46
+ }
47
+
48
+ &-single {
49
+ display: block;
50
+
51
+ >img {
52
+ display: block;
53
+ width: 100%;
54
+ height: 80%;
55
+ object-fit: cover;
56
+ }
57
+
58
+ >span {
59
+ display: block;
60
+ width: 100%;
61
+ line-height: 25px;
62
+ text-align: center;
63
+ }
64
+
65
+ }
66
+
67
+ &-multiple {
68
+ display: block;
69
+ flex: 1;
70
+ height: 100%;
71
+
72
+ >img {
73
+ display: block;
74
+ width: 100%;
75
+ height: 80%;
76
+ object-fit: cover;
77
+ }
78
+
79
+ >span {
80
+ display: block;
81
+ width: 100%;
82
+ line-height: 25px;
83
+ text-align: center;
84
+ }
85
+ }
86
+
87
+ &-dragging {
88
+ transition: none;
89
+ will-change: none
90
+ }
91
+
92
+ &-dots {
93
+ position: absolute;
94
+ left: 0;
95
+ width: 100%;
96
+ display: flex;
97
+ justify-content: center;
98
+ flex-direction: row;
99
+ align-items: center;
100
+
101
+ &-item {
102
+ margin: 0 2px;
103
+ background: #ffffff;
104
+ opacity: 0.3;
105
+ width: 7px;
106
+ height: 7px;
107
+ border-radius: 50%;
108
+ display: inline-block;
109
+
110
+ }
111
+
112
+ &-bottom {
113
+ bottom: 20px;
114
+ }
115
+
116
+ &-top {
117
+ top: 20px;
118
+ }
119
+ }
120
+
121
+ .dpzvc3-swipe-dots-item.active {
122
+ opacity: 1;
123
+ }
124
+
125
+ }
@@ -0,0 +1,88 @@
1
+ .dpzvc3-switch-ui {
2
+ display: block;
3
+ width: 35px;
4
+ height: 20px;
5
+ background: #ccc;
6
+ border-radius: 100px;
7
+ cursor: pointer;
8
+ position: relative;
9
+ -webkit-transition: all .3s ease;
10
+ -moz-transition: all .3s ease;
11
+ transition: all .3s ease;
12
+
13
+ &.small {
14
+ width: 24px;
15
+ height: 14px;
16
+ }
17
+
18
+ &:after {
19
+ content: '';
20
+ display: block;
21
+ width: 18px;
22
+ height: 18px;
23
+ border-radius: 100px;
24
+ background: #fff;
25
+ box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
26
+ position: absolute;
27
+ left: 1px;
28
+ top: 1px;
29
+ -webkit-transition: all .3s ease;
30
+ -moz-transition: all .3s ease;
31
+ transition: all .3s ease;
32
+ }
33
+
34
+
35
+ &.small:after {
36
+ width: 12px;
37
+ height: 12px;
38
+ }
39
+
40
+ &:active:after {
41
+ width: 24px;
42
+ }
43
+
44
+ &.small:active:after {
45
+ width: 16px;
46
+ }
47
+
48
+
49
+
50
+
51
+ }
52
+
53
+
54
+
55
+
56
+ .dpzvc3-switch-checkbox:checked~label {
57
+ background: #39f;
58
+ }
59
+
60
+ .dpzvc3-switch-checkbox:checked~label:after {
61
+ left: 16px;
62
+ }
63
+
64
+ .dpzvc3-switch-checkbox:checked~label:active:after {
65
+ left: 10px;
66
+ }
67
+
68
+
69
+ .dpzvc3-switch-checkbox:checked~label.small:after {
70
+ left: 11px;
71
+ }
72
+
73
+ .dpzvc3-switch-checkbox:checked~label.small:active:after {
74
+ left: 7px;
75
+ }
76
+
77
+ .dpzvc3-switch-checkbox:disabled~label {
78
+ background: #d5d5d5;
79
+ pointer-events: none;
80
+ }
81
+
82
+ .dpzvc3-switch-checkbox:disabled~label:after {
83
+ background: #bcbdbc;
84
+ }
85
+
86
+ .dpzvc3-switch-checkbox.hidden {
87
+ display: none;
88
+ }
@@ -0,0 +1,71 @@
1
+ @import "../base/variable.less";
2
+
3
+ .dpzvc3-tab {
4
+ background: @TabBgColor;
5
+ position: absolute;
6
+ height: @TabHeight;
7
+ left: 0;
8
+ right: 0;
9
+ bottom: 0;
10
+ box-sizing: content-box;
11
+
12
+
13
+ ul {
14
+ display: flex;
15
+ height: 100%;
16
+
17
+ li {
18
+ position: relative;
19
+ flex: 1;
20
+ width: 0%;
21
+ height: 100%;
22
+ color: @TabTxtColor;
23
+ font-size: @TabTxtSize;
24
+ line-height: @TabTxtSize;
25
+
26
+ a {
27
+ width: 100%;
28
+ display: inline-block;
29
+ position: absolute;
30
+ top: 50%;
31
+ left: 50%;
32
+ transform: translate3d(-50%, -50%, 0);
33
+ vertical-align: middle;
34
+ text-align: center;
35
+ color: #666666;
36
+
37
+ i {
38
+ display: inline-block;
39
+ font-size: 22px;
40
+ line-height: 1;
41
+ margin-top: 2px;
42
+ text-align: center;
43
+ }
44
+
45
+
46
+ span {
47
+ display: inline-block;
48
+ width: 100%;
49
+ text-align: center;
50
+ line-height: 23px;
51
+ }
52
+
53
+ p {
54
+ width: 100%;
55
+ display: inline-block;
56
+ }
57
+
58
+
59
+ &.cur {
60
+ color: @TabTxtColorCur;
61
+ }
62
+
63
+ }
64
+
65
+
66
+
67
+ }
68
+ }
69
+
70
+
71
+ }
@@ -0,0 +1,82 @@
1
+ @import "../base/variable.less";
2
+
3
+ .dpzvc3-textBar {
4
+
5
+ background: #ffffff;
6
+ overflow: hidden;
7
+
8
+ &-input {
9
+ width: 100%;
10
+ display: inline-block;
11
+
12
+ &>input {
13
+ border: 1px solid @TextBorderColor;
14
+ border-radius: 0;
15
+ height: @TextInputHeight;
16
+ box-sizing: border-box;
17
+ width: 100%;
18
+ padding-left: 10px;
19
+ color: @TextColor;
20
+ transition: all .2s linear;
21
+ }
22
+
23
+ &>input:focus {
24
+
25
+ border-color: @ThemeColor;
26
+ box-shadow: 0 0 2px @ThemeColor
27
+ }
28
+
29
+ &>input::placeholder {
30
+ color: @TextPlaceholderColor;
31
+ font-family: "Microsoft Tai Le";
32
+ }
33
+ }
34
+
35
+
36
+ &-textarea {
37
+
38
+ width: 100%;
39
+ display: inline-block;
40
+
41
+ &>textarea {
42
+ width: 100%;
43
+ padding: 10px 5px;
44
+ box-sizing: border-box;
45
+ height: @TextAreaHeight;
46
+ border: 1px solid @TextBorderColor;
47
+ border-radius: 0;
48
+ color: @TextColor;
49
+ transition: border-color .2s linear;
50
+ will-change: border-color;
51
+ font-size: 12px;
52
+ }
53
+
54
+ &>textarea:focus {
55
+ border-color: #39f;
56
+ box-shadow: 0 0 2px #39f
57
+ }
58
+
59
+ &>textarea::placeholder {
60
+ color: #e5e5e5;
61
+ font-family: "Microsoft Tai Le";
62
+ }
63
+ }
64
+
65
+
66
+
67
+ &-tip {
68
+ flex: 1;
69
+ align-self: center;
70
+ text-indent: 3px;
71
+ line-height: 1;
72
+ font-size: 12px;
73
+ }
74
+
75
+ &-tip.success {
76
+ color: lightgreen;
77
+ }
78
+
79
+ &-tip.error {
80
+ color: red;
81
+ }
82
+ }
@@ -0,0 +1,28 @@
1
+ @import "../base/variable.less";
2
+
3
+ .dpzvc3-toTop {
4
+ position: fixed;
5
+ right: 15px;
6
+ bottom: 80px;
7
+ z-index: 100;
8
+
9
+ &-wrapper {
10
+ position: relative;
11
+ width: 45px;
12
+ height: 45px;
13
+ border-radius: 100%;
14
+ background: @ThemeColor;
15
+
16
+ &:before {
17
+ position: absolute;
18
+ left: 50%;
19
+ top: 50%;
20
+ content: '';
21
+ border-top: 2px solid #ffffff;
22
+ border-right: 2px solid #ffffff;
23
+ transform: rotate(-45deg) translate3d(-15%, -60%, 0);
24
+ height: 15px;
25
+ width: 15px;
26
+ }
27
+ }
28
+ }