stellar-ui-plus 1.16.18

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 (382) hide show
  1. package/README.md +176 -0
  2. package/common/css/common.scss +19 -0
  3. package/common/useProps.js +9 -0
  4. package/components/ste-animate/ATTRIBUTES.md +10 -0
  5. package/components/ste-animate/README.md +115 -0
  6. package/components/ste-animate/animate.scss +247 -0
  7. package/components/ste-animate/config.json +5 -0
  8. package/components/ste-animate/props.ts +9 -0
  9. package/components/ste-animate/ste-animate.easycom.json +39 -0
  10. package/components/ste-animate/ste-animate.scss +113 -0
  11. package/components/ste-animate/ste-animate.vue +67 -0
  12. package/components/ste-badge/ATTRIBUTES.md +17 -0
  13. package/components/ste-badge/README.md +162 -0
  14. package/components/ste-badge/config.json +5 -0
  15. package/components/ste-badge/props.ts +17 -0
  16. package/components/ste-badge/ste-badge.easycom.json +96 -0
  17. package/components/ste-badge/ste-badge.vue +157 -0
  18. package/components/ste-barcode/ATTRIBUTES.md +14 -0
  19. package/components/ste-barcode/README.md +28 -0
  20. package/components/ste-barcode/config.json +5 -0
  21. package/components/ste-barcode/encode.ts +317 -0
  22. package/components/ste-barcode/props.ts +7 -0
  23. package/components/ste-barcode/ste-barcode.easycom.json +44 -0
  24. package/components/ste-barcode/ste-barcode.vue +152 -0
  25. package/components/ste-button/ATTRIBUTES.md +32 -0
  26. package/components/ste-button/README.md +119 -0
  27. package/components/ste-button/config.json +5 -0
  28. package/components/ste-button/props.ts +21 -0
  29. package/components/ste-button/ste-button.easycom.json +168 -0
  30. package/components/ste-button/ste-button.vue +275 -0
  31. package/components/ste-calendar/ATTRIBUTES.md +31 -0
  32. package/components/ste-calendar/README.md +241 -0
  33. package/components/ste-calendar/config.json +5 -0
  34. package/components/ste-calendar/date.ts +110 -0
  35. package/components/ste-calendar/props.ts +26 -0
  36. package/components/ste-calendar/ste-calendar.easycom.json +172 -0
  37. package/components/ste-calendar/ste-calendar.vue +376 -0
  38. package/components/ste-calendar/useData.ts +30 -0
  39. package/components/ste-checkbox/ATTRIBUTES.md +25 -0
  40. package/components/ste-checkbox/README.md +302 -0
  41. package/components/ste-checkbox/config.json +5 -0
  42. package/components/ste-checkbox/props.ts +33 -0
  43. package/components/ste-checkbox/ste-checkbox.easycom.json +151 -0
  44. package/components/ste-checkbox/ste-checkbox.vue +206 -0
  45. package/components/ste-checkbox/type.d.ts +2 -0
  46. package/components/ste-checkbox-group/props.ts +34 -0
  47. package/components/ste-checkbox-group/ste-checkbox-group.vue +34 -0
  48. package/components/ste-code-input/ATTRIBUTES.md +22 -0
  49. package/components/ste-code-input/README.md +56 -0
  50. package/components/ste-code-input/config.json +5 -0
  51. package/components/ste-code-input/props.ts +19 -0
  52. package/components/ste-code-input/ste-code-input.easycom.json +99 -0
  53. package/components/ste-code-input/ste-code-input.vue +222 -0
  54. package/components/ste-date-picker/ATTRIBUTES.md +25 -0
  55. package/components/ste-date-picker/README.md +119 -0
  56. package/components/ste-date-picker/config.json +5 -0
  57. package/components/ste-date-picker/props.ts +62 -0
  58. package/components/ste-date-picker/ste-date-picker.easycom.json +137 -0
  59. package/components/ste-date-picker/ste-date-picker.vue +290 -0
  60. package/components/ste-date-picker/types.d.ts +3 -0
  61. package/components/ste-drag/ATTRIBUTES.md +13 -0
  62. package/components/ste-drag/README.md +88 -0
  63. package/components/ste-drag/config.json +5 -0
  64. package/components/ste-drag/props.ts +10 -0
  65. package/components/ste-drag/ste-drag.easycom.json +50 -0
  66. package/components/ste-drag/ste-drag.vue +172 -0
  67. package/components/ste-dropdown-menu/ATTRIBUTES.md +22 -0
  68. package/components/ste-dropdown-menu/README.md +325 -0
  69. package/components/ste-dropdown-menu/config.json +5 -0
  70. package/components/ste-dropdown-menu/constans.ts +4 -0
  71. package/components/ste-dropdown-menu/props.ts +30 -0
  72. package/components/ste-dropdown-menu/ste-dropdown-menu.easycom.json +111 -0
  73. package/components/ste-dropdown-menu/ste-dropdown-menu.scss +99 -0
  74. package/components/ste-dropdown-menu/ste-dropdown-menu.vue +223 -0
  75. package/components/ste-dropdown-menu-item/props.ts +17 -0
  76. package/components/ste-dropdown-menu-item/ste-dropdown-menu-item.scss +61 -0
  77. package/components/ste-dropdown-menu-item/ste-dropdown-menu-item.vue +84 -0
  78. package/components/ste-dropdown-menu-item/type.d.ts +4 -0
  79. package/components/ste-icon/ATTRIBUTES.md +19 -0
  80. package/components/ste-icon/README.md +72 -0
  81. package/components/ste-icon/config.json +5 -0
  82. package/components/ste-icon/iconfont.css +22 -0
  83. package/components/ste-icon/props.ts +14 -0
  84. package/components/ste-icon/ste-icon.easycom.json +71 -0
  85. package/components/ste-icon/ste-icon.vue +80 -0
  86. package/components/ste-image/ATTRIBUTES.md +21 -0
  87. package/components/ste-image/README.md +118 -0
  88. package/components/ste-image/config.json +5 -0
  89. package/components/ste-image/props.ts +15 -0
  90. package/components/ste-image/ste-image.easycom.json +189 -0
  91. package/components/ste-image/ste-image.vue +146 -0
  92. package/components/ste-index-item/props.ts +4 -0
  93. package/components/ste-index-item/ste-index-item.vue +83 -0
  94. package/components/ste-index-list/ATTRIBUTES.md +15 -0
  95. package/components/ste-index-list/README.md +138 -0
  96. package/components/ste-index-list/config.json +5 -0
  97. package/components/ste-index-list/props.ts +17 -0
  98. package/components/ste-index-list/ste-index-list.easycom.json +48 -0
  99. package/components/ste-index-list/ste-index-list.vue +109 -0
  100. package/components/ste-input/ATTRIBUTES.md +37 -0
  101. package/components/ste-input/README.md +130 -0
  102. package/components/ste-input/config.json +5 -0
  103. package/components/ste-input/props.ts +46 -0
  104. package/components/ste-input/ste-input.easycom.json +282 -0
  105. package/components/ste-input/ste-input.scss +124 -0
  106. package/components/ste-input/ste-input.vue +221 -0
  107. package/components/ste-loading/ATTRIBUTES.md +11 -0
  108. package/components/ste-loading/README.md +74 -0
  109. package/components/ste-loading/config.json +5 -0
  110. package/components/ste-loading/props.ts +8 -0
  111. package/components/ste-loading/ste-loading.easycom.json +54 -0
  112. package/components/ste-loading/ste-loading.vue +127 -0
  113. package/components/ste-media-preview/ATTRIBUTES.md +20 -0
  114. package/components/ste-media-preview/README.md +252 -0
  115. package/components/ste-media-preview/TouchScaleing.ts +117 -0
  116. package/components/ste-media-preview/config.json +5 -0
  117. package/components/ste-media-preview/props.ts +12 -0
  118. package/components/ste-media-preview/ste-media-preview.easycom.json +88 -0
  119. package/components/ste-media-preview/ste-media-preview.vue +201 -0
  120. package/components/ste-media-preview/useData.ts +63 -0
  121. package/components/ste-message-box/ATTRIBUTES.md +6 -0
  122. package/components/ste-message-box/README.md +222 -0
  123. package/components/ste-message-box/config.json +5 -0
  124. package/components/ste-message-box/constants.ts +25 -0
  125. package/components/ste-message-box/ste-message-box.easycom.json +14 -0
  126. package/components/ste-message-box/ste-message-box.ts +1 -0
  127. package/components/ste-message-box/ste-message-box.vue +355 -0
  128. package/components/ste-message-box/use-message-box.ts +26 -0
  129. package/components/ste-message-box/useData.ts +56 -0
  130. package/components/ste-notice-bar/ATTRIBUTES.md +22 -0
  131. package/components/ste-notice-bar/README.md +124 -0
  132. package/components/ste-notice-bar/config.json +5 -0
  133. package/components/ste-notice-bar/props.ts +15 -0
  134. package/components/ste-notice-bar/ste-notice-bar.easycom.json +109 -0
  135. package/components/ste-notice-bar/ste-notice-bar.vue +262 -0
  136. package/components/ste-number-keyboard/ATTRIBUTES.md +31 -0
  137. package/components/ste-number-keyboard/KeyboardVue.vue +142 -0
  138. package/components/ste-number-keyboard/README.md +192 -0
  139. package/components/ste-number-keyboard/config.json +5 -0
  140. package/components/ste-number-keyboard/props.ts +35 -0
  141. package/components/ste-number-keyboard/ste-number-keyboard.easycom.json +177 -0
  142. package/components/ste-number-keyboard/ste-number-keyboard.vue +81 -0
  143. package/components/ste-number-keyboard/useData.ts +144 -0
  144. package/components/ste-picker/props.ts +16 -0
  145. package/components/ste-picker/ste-picker.vue +194 -0
  146. package/components/ste-popup/ATTRIBUTES.md +24 -0
  147. package/components/ste-popup/README.md +135 -0
  148. package/components/ste-popup/config.json +6 -0
  149. package/components/ste-popup/event.ts +0 -0
  150. package/components/ste-popup/props.ts +19 -0
  151. package/components/ste-popup/ste-popup.easycom.json +122 -0
  152. package/components/ste-popup/ste-popup.vue +253 -0
  153. package/components/ste-price/ATTRIBUTES.md +26 -0
  154. package/components/ste-price/README.md +110 -0
  155. package/components/ste-price/config.json +5 -0
  156. package/components/ste-price/props.ts +23 -0
  157. package/components/ste-price/ste-price.easycom.json +154 -0
  158. package/components/ste-price/ste-price.vue +148 -0
  159. package/components/ste-progress/ATTRIBUTES.md +17 -0
  160. package/components/ste-progress/README.md +88 -0
  161. package/components/ste-progress/config.json +5 -0
  162. package/components/ste-progress/props.ts +16 -0
  163. package/components/ste-progress/ste-progress.easycom.json +80 -0
  164. package/components/ste-progress/ste-progress.vue +135 -0
  165. package/components/ste-qrcode/ATTRIBUTES.md +16 -0
  166. package/components/ste-qrcode/README.md +34 -0
  167. package/components/ste-qrcode/config.json +5 -0
  168. package/components/ste-qrcode/props.ts +16 -0
  169. package/components/ste-qrcode/ste-qrcode.easycom.json +56 -0
  170. package/components/ste-qrcode/ste-qrcode.vue +134 -0
  171. package/components/ste-qrcode/uqrcode.d.ts +57 -0
  172. package/components/ste-qrcode/uqrcode.js +34 -0
  173. package/components/ste-radio/ATTRIBUTES.md +25 -0
  174. package/components/ste-radio/README.md +260 -0
  175. package/components/ste-radio/config.json +5 -0
  176. package/components/ste-radio/props.ts +33 -0
  177. package/components/ste-radio/ste-radio.easycom.json +150 -0
  178. package/components/ste-radio/ste-radio.vue +188 -0
  179. package/components/ste-radio/type.d.ts +2 -0
  180. package/components/ste-radio-group/props.ts +33 -0
  181. package/components/ste-radio-group/ste-radio-group.vue +34 -0
  182. package/components/ste-rate/ATTRIBUTES.md +21 -0
  183. package/components/ste-rate/README.md +97 -0
  184. package/components/ste-rate/config.json +5 -0
  185. package/components/ste-rate/props.ts +16 -0
  186. package/components/ste-rate/ste-rate.easycom.json +85 -0
  187. package/components/ste-rate/ste-rate.vue +143 -0
  188. package/components/ste-read-more/ATTRIBUTES.md +16 -0
  189. package/components/ste-read-more/README.md +93 -0
  190. package/components/ste-read-more/config.json +5 -0
  191. package/components/ste-read-more/props.ts +9 -0
  192. package/components/ste-read-more/ste-read-more.easycom.json +54 -0
  193. package/components/ste-read-more/ste-read-more.vue +106 -0
  194. package/components/ste-rich-text/ATTRIBUTES.md +8 -0
  195. package/components/ste-rich-text/README.md +26 -0
  196. package/components/ste-rich-text/config.json +5 -0
  197. package/components/ste-rich-text/props.ts +8 -0
  198. package/components/ste-rich-text/ste-rich-text.easycom.json +40 -0
  199. package/components/ste-rich-text/ste-rich-text.vue +33 -0
  200. package/components/ste-scroll-to/ATTRIBUTES.md +11 -0
  201. package/components/ste-scroll-to/README.md +47 -0
  202. package/components/ste-scroll-to/config.json +5 -0
  203. package/components/ste-scroll-to/props.ts +17 -0
  204. package/components/ste-scroll-to/ste-scroll-to.easycom.json +25 -0
  205. package/components/ste-scroll-to/ste-scroll-to.vue +42 -0
  206. package/components/ste-scroll-to/useData.ts +214 -0
  207. package/components/ste-scroll-to-item/ste-scroll-to-item.vue +24 -0
  208. package/components/ste-search/ATTRIBUTES.md +39 -0
  209. package/components/ste-search/README.md +232 -0
  210. package/components/ste-search/config.json +5 -0
  211. package/components/ste-search/props.ts +124 -0
  212. package/components/ste-search/ste-search.easycom.json +232 -0
  213. package/components/ste-search/ste-search.vue +379 -0
  214. package/components/ste-search/useData.ts +34 -0
  215. package/components/ste-select/ATTRIBUTES.md +39 -0
  216. package/components/ste-select/README.md +324 -0
  217. package/components/ste-select/config.json +5 -0
  218. package/components/ste-select/datapager.vue +54 -0
  219. package/components/ste-select/datetime.vue +109 -0
  220. package/components/ste-select/defaultDate.ts +138 -0
  221. package/components/ste-select/props.ts +67 -0
  222. package/components/ste-select/ste-select.easycom.json +287 -0
  223. package/components/ste-select/ste-select.vue +437 -0
  224. package/components/ste-select/useData.ts +471 -0
  225. package/components/ste-signature/ATTRIBUTES.md +18 -0
  226. package/components/ste-signature/README.md +97 -0
  227. package/components/ste-signature/config.json +5 -0
  228. package/components/ste-signature/props.ts +12 -0
  229. package/components/ste-signature/ste-signature.easycom.json +74 -0
  230. package/components/ste-signature/ste-signature.vue +183 -0
  231. package/components/ste-signature/types.d.ts +4 -0
  232. package/components/ste-slider/ATTRIBUTES.md +25 -0
  233. package/components/ste-slider/README.md +149 -0
  234. package/components/ste-slider/config.json +5 -0
  235. package/components/ste-slider/props.ts +32 -0
  236. package/components/ste-slider/ste-slider.easycom.json +128 -0
  237. package/components/ste-slider/ste-slider.scss +150 -0
  238. package/components/ste-slider/ste-slider.vue +293 -0
  239. package/components/ste-slider/type.d.ts +4 -0
  240. package/components/ste-slider/useData.ts +79 -0
  241. package/components/ste-step/props.ts +10 -0
  242. package/components/ste-step/ste-step.scss +104 -0
  243. package/components/ste-step/ste-step.vue +122 -0
  244. package/components/ste-stepper/ATTRIBUTES.md +33 -0
  245. package/components/ste-stepper/README.md +172 -0
  246. package/components/ste-stepper/config.json +5 -0
  247. package/components/ste-stepper/props.ts +41 -0
  248. package/components/ste-stepper/ste-stepper.easycom.json +220 -0
  249. package/components/ste-stepper/ste-stepper.vue +249 -0
  250. package/components/ste-steps/ATTRIBUTES.md +12 -0
  251. package/components/ste-steps/README.md +139 -0
  252. package/components/ste-steps/config.json +5 -0
  253. package/components/ste-steps/props.ts +18 -0
  254. package/components/ste-steps/ste-steps.easycom.json +46 -0
  255. package/components/ste-steps/ste-steps.vue +44 -0
  256. package/components/ste-sticky/ATTRIBUTES.md +15 -0
  257. package/components/ste-sticky/README.md +56 -0
  258. package/components/ste-sticky/config.json +5 -0
  259. package/components/ste-sticky/props.ts +7 -0
  260. package/components/ste-sticky/ste-sticky.easycom.json +48 -0
  261. package/components/ste-sticky/ste-sticky.vue +88 -0
  262. package/components/ste-swipe-action/ATTRIBUTES.md +16 -0
  263. package/components/ste-swipe-action/README.md +195 -0
  264. package/components/ste-swipe-action/config.json +5 -0
  265. package/components/ste-swipe-action/props.ts +23 -0
  266. package/components/ste-swipe-action/ste-swipe-action.easycom.json +74 -0
  267. package/components/ste-swipe-action/ste-swipe-action.vue +138 -0
  268. package/components/ste-swipe-action/useData.ts +204 -0
  269. package/components/ste-swipe-action-group/ATTRIBUTES.md +17 -0
  270. package/components/ste-swipe-action-group/props.ts +22 -0
  271. package/components/ste-swipe-action-group/ste-swipe-action-group.easycom.json +90 -0
  272. package/components/ste-swipe-action-group/ste-swipe-action-group.vue +57 -0
  273. package/components/ste-swiper/ATTRIBUTES.md +24 -0
  274. package/components/ste-swiper/README.md +156 -0
  275. package/components/ste-swiper/config.json +5 -0
  276. package/components/ste-swiper/props.ts +41 -0
  277. package/components/ste-swiper/ste-swiper.easycom.json +123 -0
  278. package/components/ste-swiper/ste-swiper.vue +98 -0
  279. package/components/ste-swiper/useData.ts +365 -0
  280. package/components/ste-swiper-item/ste-swiper-item.vue +41 -0
  281. package/components/ste-switch/ATTRIBUTES.md +17 -0
  282. package/components/ste-switch/README.md +105 -0
  283. package/components/ste-switch/config.json +5 -0
  284. package/components/ste-switch/props.ts +9 -0
  285. package/components/ste-switch/ste-switch.easycom.json +60 -0
  286. package/components/ste-switch/ste-switch.vue +96 -0
  287. package/components/ste-tab/ATTRIBUTES.md +14 -0
  288. package/components/ste-tab/props.ts +25 -0
  289. package/components/ste-tab/ste-tab.easycom.json +56 -0
  290. package/components/ste-tab/ste-tab.vue +26 -0
  291. package/components/ste-table/ATTRIBUTES.md +41 -0
  292. package/components/ste-table/README.md +638 -0
  293. package/components/ste-table/config.json +5 -0
  294. package/components/ste-table/props.ts +72 -0
  295. package/components/ste-table/ste-table.easycom.json +188 -0
  296. package/components/ste-table/ste-table.vue +427 -0
  297. package/components/ste-table/types.d.ts +3 -0
  298. package/components/ste-table/useData.ts +233 -0
  299. package/components/ste-table/utils.ts +11 -0
  300. package/components/ste-table-column/checkbox-icon.vue +35 -0
  301. package/components/ste-table-column/common.scss +52 -0
  302. package/components/ste-table-column/props.ts +18 -0
  303. package/components/ste-table-column/radio-icon.vue +99 -0
  304. package/components/ste-table-column/ste-table-column.vue +169 -0
  305. package/components/ste-table-column/var.scss +1 -0
  306. package/components/ste-tabs/ATTRIBUTES.md +52 -0
  307. package/components/ste-tabs/README.md +165 -0
  308. package/components/ste-tabs/config.json +5 -0
  309. package/components/ste-tabs/props.ts +133 -0
  310. package/components/ste-tabs/ste-tabs.easycom.json +278 -0
  311. package/components/ste-tabs/ste-tabs.vue +447 -0
  312. package/components/ste-tabs/useData.ts +364 -0
  313. package/components/ste-text/ATTRIBUTES.md +9 -0
  314. package/components/ste-text/README.md +58 -0
  315. package/components/ste-text/config.json +6 -0
  316. package/components/ste-text/props.ts +10 -0
  317. package/components/ste-text/ste-text.easycom.json +30 -0
  318. package/components/ste-text/ste-text.vue +46 -0
  319. package/components/ste-toast/ATTRIBUTES.md +15 -0
  320. package/components/ste-toast/README.md +222 -0
  321. package/components/ste-toast/config.json +5 -0
  322. package/components/ste-toast/props.ts +7 -0
  323. package/components/ste-toast/ste-toast.easycom.json +73 -0
  324. package/components/ste-toast/ste-toast.vue +209 -0
  325. package/components/ste-toast/use-toast.ts +26 -0
  326. package/components/ste-touch-swipe/ATTRIBUTES.md +18 -0
  327. package/components/ste-touch-swipe/README.md +89 -0
  328. package/components/ste-touch-swipe/TouchEvent.ts +79 -0
  329. package/components/ste-touch-swipe/config.json +5 -0
  330. package/components/ste-touch-swipe/props.ts +23 -0
  331. package/components/ste-touch-swipe/ste-touch-swipe.easycom.json +83 -0
  332. package/components/ste-touch-swipe/ste-touch-swipe.vue +283 -0
  333. package/components/ste-touch-swipe/useData.ts +51 -0
  334. package/components/ste-touch-swipe-item/ste-touch-swipe-item.vue +32 -0
  335. package/components/ste-tour/ATTRIBUTES.md +26 -0
  336. package/components/ste-tour/README.md +134 -0
  337. package/components/ste-tour/config.json +5 -0
  338. package/components/ste-tour/props.ts +45 -0
  339. package/components/ste-tour/ste-tour.easycom.json +120 -0
  340. package/components/ste-tour/ste-tour.vue +152 -0
  341. package/components/ste-tour/useData.ts +220 -0
  342. package/components/ste-tree/ATTRIBUTES.md +19 -0
  343. package/components/ste-tree/README.md +217 -0
  344. package/components/ste-tree/config.json +5 -0
  345. package/components/ste-tree/props.ts +24 -0
  346. package/components/ste-tree/ste-tree.easycom.json +106 -0
  347. package/components/ste-tree/ste-tree.vue +140 -0
  348. package/components/ste-tree/useData.ts +219 -0
  349. package/components/ste-upload/ATTRIBUTES.md +35 -0
  350. package/components/ste-upload/README.md +208 -0
  351. package/components/ste-upload/ReadFile.ts +305 -0
  352. package/components/ste-upload/config.json +5 -0
  353. package/components/ste-upload/props.ts +25 -0
  354. package/components/ste-upload/ste-upload.easycom.json +267 -0
  355. package/components/ste-upload/ste-upload.vue +386 -0
  356. package/components/ste-upload/useData.ts +46 -0
  357. package/components/ste-video/ATTRIBUTES.md +34 -0
  358. package/components/ste-video/README.md +48 -0
  359. package/components/ste-video/config.json +5 -0
  360. package/components/ste-video/props.ts +86 -0
  361. package/components/ste-video/ste-video.easycom.json +226 -0
  362. package/components/ste-video/ste-video.scss +201 -0
  363. package/components/ste-video/ste-video.vue +390 -0
  364. package/components/ste-video/types.d.ts +4 -0
  365. package/components/ste-video/useData.ts +140 -0
  366. package/composables.ts +2 -0
  367. package/config/color.ts +16 -0
  368. package/config/index.ts +48 -0
  369. package/index.ts +118 -0
  370. package/package.json +22 -0
  371. package/store/color.ts +24 -0
  372. package/store/index.ts +12 -0
  373. package/store/message-box.ts +54 -0
  374. package/store/toast.ts +50 -0
  375. package/types/components.d.ts +124 -0
  376. package/types/event.d.ts +51 -0
  377. package/types/index.d.ts +112 -0
  378. package/types/refComponents.d.ts +118 -0
  379. package/utils/Color.ts +66 -0
  380. package/utils/System.ts +114 -0
  381. package/utils/mixin.ts +122 -0
  382. package/utils/utils.ts +520 -0
@@ -0,0 +1,222 @@
1
+ <script setup lang="ts">
2
+ import { ref, computed, watch, nextTick, defineOptions } from 'vue';
3
+ import utils from '../../utils/utils';
4
+ import propsData from './props';
5
+
6
+ const props = defineProps(propsData);
7
+ const inputValue = ref('');
8
+ const isFocus = ref(props.focus);
9
+ const componentName = `ste-code-input`;
10
+ defineOptions({
11
+ name: componentName,
12
+ options: {
13
+ virtualHost: true,
14
+ },
15
+ });
16
+
17
+ const emits = defineEmits<{
18
+ (e: 'change', value: string | number): void;
19
+ (e: 'input', value: string | number): void;
20
+ (e: 'finish', value: string | number): void;
21
+ }>();
22
+
23
+ const cmpCodeLengthArray = computed(() => {
24
+ return new Array(Number(props.maxlength));
25
+ });
26
+
27
+ const cmpCodeArray = computed(() => {
28
+ return String(inputValue.value).split('');
29
+ });
30
+
31
+ const cmpRootStyle = computed(() => {
32
+ const style = {
33
+ '--font-size': `var(--font-size-${props.fontSize},${utils.formatPx(props.fontSize)})`,
34
+ '--font-color': props.fontColor,
35
+ '--line-width': utils.addUnit(props.size),
36
+ '--line-background-color': props.borderColor,
37
+ };
38
+ return style;
39
+ });
40
+
41
+ watch(
42
+ () => props.value,
43
+ val => {
44
+ // 转为字符串,超出部分截掉
45
+ inputValue.value = String(val).substring(0, Number(props.maxlength));
46
+ },
47
+ { immediate: true }
48
+ );
49
+
50
+ function getItemStyle(index: number) {
51
+ const style: { [key: string]: any } = {
52
+ width: utils.addUnit(props.size),
53
+ height: utils.addUnit(props.size),
54
+ };
55
+ // 盒子模式下,需要额外进行处理
56
+ if (props.mode === 'box') {
57
+ style.border = `2rpx solid ${props.borderColor}`;
58
+ style.backgroundColor = '#F5F5F5';
59
+ // 如果盒子间距为0的话
60
+ if (props.space === 0) {
61
+ // 给第一和最后一个盒子设置圆角
62
+ if (index === 0) {
63
+ style.borderTopLeftRadius = '3px';
64
+ style.borderBottomLeftRadius = '3px';
65
+ }
66
+ if (index === Number(props.maxlength) - 1) {
67
+ style.borderTopRightRadius = '3px';
68
+ style.borderBottomRightRadius = '3px';
69
+ }
70
+ // 最后一个盒子的右边框需要保留
71
+ if (index !== Number(props.maxlength) - 1) {
72
+ style.borderRight = 'none';
73
+ }
74
+ } else {
75
+ style.borderRadius = '10rpx';
76
+ }
77
+ }
78
+ if (index !== Number(props.maxlength) - 1) {
79
+ // 设置验证码字符之间的距离,通过margin-right设置,最后一个字符,无需右边框
80
+ style.marginRight = utils.addUnit(props.space);
81
+ } else {
82
+ // 最后一个盒子的有边框需要保留
83
+ style.marginRight = 0;
84
+ }
85
+
86
+ return style;
87
+ }
88
+
89
+ function inputHandler(e: any) {
90
+ const value = e.detail.value;
91
+ inputValue.value = value;
92
+ // 是否允许输入“.”符号
93
+ if (props.disabledDot) {
94
+ nextTick(() => {
95
+ inputValue.value = value.replace('.', '');
96
+ });
97
+ }
98
+ // 未达到maxlength之前,发送change事件,达到后发送finish事件
99
+ emits('change', value);
100
+ // 修改通过v-model双向绑定的值
101
+ emits('input', value);
102
+ // 达到用户指定输入长度时,发出完成事件
103
+ if (String(value).length >= Number(props.maxlength)) {
104
+ emits('finish', value);
105
+ }
106
+ }
107
+ </script>
108
+
109
+ <template>
110
+ <view class="ste-code-input-root" :style="[cmpRootStyle]">
111
+ <view class="ste-code-input-item" :style="[getItemStyle(index)]" v-for="(item, index) in cmpCodeLengthArray" :key="index">
112
+ <text class="ste-code-input-item-dot" v-if="formatter && cmpCodeArray.length > index">
113
+ {{ formatter }}
114
+ </text>
115
+ <text class="ste-code-input-item-text" v-else>
116
+ {{ cmpCodeArray[index] || '' }}
117
+ </text>
118
+ <view class="ste-code-input-item-line" v-if="mode === 'line'"></view>
119
+ <view v-if="isFocus && cmpCodeArray.length === index" :style="{ backgroundColor: fontColor }" class="ste-code-input-item-cursor"></view>
120
+ </view>
121
+ <input
122
+ v-if="!readOnly"
123
+ type="number"
124
+ :focus="focus"
125
+ :value="inputValue"
126
+ :maxlength="Number(maxlength)"
127
+ adjustPosition
128
+ class="ste-code-input-input"
129
+ :cursor-spacing="30"
130
+ @input="inputHandler"
131
+ :style="{
132
+ height: size + 'rpx',
133
+ }"
134
+ @focus="isFocus = true"
135
+ @blur="isFocus = false"
136
+ />
137
+ </view>
138
+ </template>
139
+
140
+ <style lang="scss" scoped>
141
+ .ste-code-input {
142
+ &-root {
143
+ display: inline-flex;
144
+ flex-direction: row;
145
+ position: relative;
146
+ overflow: hidden;
147
+ }
148
+
149
+ &-item {
150
+ // display: flex;
151
+ // justify-content: center;
152
+ // align-items: center;
153
+ // position: relative;
154
+ position: relative;
155
+
156
+ &-text {
157
+ font-size: var(--font-size);
158
+ color: var(--font-color);
159
+
160
+ position: absolute;
161
+ top: 50%;
162
+ left: 50%;
163
+ transform: translate(-50%, -50%);
164
+ }
165
+
166
+ &-dot {
167
+ display: inline-flex;
168
+ line-height: 1;
169
+ position: absolute;
170
+ left: 50%;
171
+ top: 50%;
172
+ transform: translate(-50%, -50%);
173
+
174
+ font-size: var(--font-size);
175
+ color: var(--font-color);
176
+ }
177
+
178
+ &-line {
179
+ position: absolute;
180
+ bottom: 0;
181
+ height: 4rpx;
182
+ border-radius: 40rpx;
183
+ width: var(--line-width);
184
+ background-color: var(--line-background-color);
185
+ }
186
+
187
+ &-cursor {
188
+ position: absolute;
189
+ top: 50%;
190
+ left: 50%;
191
+ transform: translate(-50%, -50%);
192
+ width: 2rpx;
193
+ height: 55%;
194
+ animation: 0.8s code-input-cursor-flicker infinite;
195
+ }
196
+ }
197
+
198
+ &-input {
199
+ position: absolute;
200
+ left: -100vw;
201
+ width: 200vw;
202
+ top: 0;
203
+ opacity: 0;
204
+ background-color: transparent;
205
+ text-align: left;
206
+ }
207
+
208
+ @keyframes code-input-cursor-flicker {
209
+ 0% {
210
+ opacity: 0;
211
+ }
212
+
213
+ 50% {
214
+ opacity: 1;
215
+ }
216
+
217
+ 100% {
218
+ opacity: 0;
219
+ }
220
+ }
221
+ }
222
+ </style>
@@ -0,0 +1,25 @@
1
+ #### Props
2
+ | 属性名 | 说明 | 类型 | 默认值 | 可选值 | 支持版本 |
3
+ | ----- | ----- | --- | ------- | ------ | -------- |
4
+ | `value` | 绑定值 | `string / number` | - | - | - |
5
+ | `showToolbar` | 是否显示顶部的操作栏 | `boolean` | `true` | - | - |
6
+ | `title` | 顶部标题 | `string` | - | - | - |
7
+ | `mode` | 展示格式 | `string` | `all` | `all`:年月日时分秒<br/>`datetime`:年月日时分<br/>`date`:年月日<br/>`year-month`:年月<br/>`month-day`:月日<br/>`time`:时分秒<br/>`hour-minute`:时分<br/>`minute-second`:分秒 | - |
8
+ | `maxDate` | 可选的最大时间 | `number` | `后10年` | - | - |
9
+ | `minDate` | 可选的最小时间 | `number` | `前10年` | - | - |
10
+ | `filter` | 选项过滤函数 | `function` | - | - | - |
11
+ | `formatter` | 选项格式化函数 | `function` | - | - | - |
12
+ | `itemHeight` | 各列中,单个选项的高度 | `string / number` | `36` | - | - |
13
+ | `cancelText` | 取消按钮的文字 | `string` | `取消` | - | - |
14
+ | `confirmText` | 确认按钮的文字 | `string` | `确认` | - | - |
15
+ | `cancelColor` | 取消按钮的颜色 | `string` | `#909193` | - | - |
16
+ | `confirmColor` | 确认按钮的颜色 | `string` | `` | - | - |
17
+ | `visibleItemCount` | 每列中可见选项的数量 | `string / number` | `5` | - | - |
18
+
19
+
20
+ #### Events
21
+ | 事件名 | 说明 | 事件参数 | 支持版本 |
22
+ | ----- | ----- | ------- | -------- |
23
+ | `confirm` | 点击确定按钮,返回当前选择的值 | - | - |
24
+ | `change` | 当选择值变化时触发 | - | - |
25
+ | `cancel` | 点击取消按钮 | - | - |
@@ -0,0 +1,119 @@
1
+ # DatePicker 时间选择器
2
+
3
+ 年月日时分秒选择器
4
+
5
+ ---$
6
+
7
+ ### 代码演示
8
+
9
+ #### 基础使用
10
+
11
+ - 通过`value`属性可设置默认选中的时间(支持时间戳、字符串格式)
12
+ - 切换后的返回值为时间戳
13
+ - 没有值或值非法时显示当前时间
14
+
15
+ ```html
16
+ <ste-date-picker :value="datetime"></ste-date-picker>
17
+ ```
18
+
19
+ #### 不显示操作栏
20
+
21
+ ```html
22
+ <ste-date-picker :showToolbar="false" mode="date"></ste-date-picker>
23
+ ```
24
+
25
+ #### 时间类型
26
+
27
+ - 默认显示年、月、日、时、分、秒(`all`)
28
+ - 年月日时分(`datetime`),年月日(`date`),年月(`year-month`),月日(`month-day`),时分秒(`time`),时分(`hour-minute`),分秒(`minute-second`)
29
+
30
+ ```html
31
+ <ste-date-picker mode="datetime"></ste-date-picker>
32
+ <ste-date-picker mode="date"></ste-date-picker>
33
+ <ste-date-picker mode="year-month"></ste-date-picker>
34
+ <ste-date-picker mode="month-day"></ste-date-picker>
35
+ <ste-date-picker mode="time"></ste-date-picker>
36
+ <ste-date-picker mode="hour-minute"></ste-date-picker>
37
+ <ste-date-picker mode="minute-second"></ste-date-picker>
38
+ ```
39
+
40
+ #### 最大值 & 最小值
41
+
42
+ - 通过最大值最小值可设置选择的边界(支持时间戳、字符串格式)
43
+ - 可精确到秒
44
+
45
+ ```html
46
+ <ste-date-picker :minDate="new Date(2000, 11, 1, 1, 0, 30, 0).getTime()" :maxDate="new Date(2030, 11, 1, 1, 23, 59, 30).getTime()"></ste-date-picker>
47
+ <ste-date-picker maxDate="2030-01-01 00:00:00" minDate="2022-01-01 00:00:00"></ste-date-picker>
48
+ ```
49
+
50
+ #### 过滤
51
+
52
+ - 可通过`filter`属性传递一个函数来对数据进行过滤
53
+
54
+ ```html
55
+ <template>
56
+ <ste-date-picker :filter="filter" mode="date" title="过滤"></ste-date-picker>
57
+ </template>
58
+
59
+ <script lang="ts" setup>
60
+ import type { CloumnType } from '@/uni_modules/stellar-ui-plus/components/ste-date-picker/types';
61
+ function filter(mode: CloumnType, options: any[]) {
62
+ if (mode === 'year') {
63
+ return options.filter(option => option % 5 === 0);
64
+ }
65
+ if (mode === 'month') {
66
+ return options.filter(option => option % 4 === 0);
67
+ }
68
+ if (mode === 'day') {
69
+ return options.filter(option => option % 2 === 0);
70
+ }
71
+
72
+ return options;
73
+ }
74
+ </script>
75
+ ```
76
+
77
+ #### 格式化
78
+
79
+ ```html
80
+ <template>
81
+ <ste-date-picker :formatter="formatter" mode="date" title="格式化"></ste-date-picker>
82
+ </template>
83
+ <script lang="ts" setup>
84
+ import type { CloumnType } from '@/uni_modules/stellar-ui-plus/components/ste-date-picker/types';
85
+ function formatter(type: CloumnType, value: any) {
86
+ if (type === 'year') {
87
+ return `${value}年`;
88
+ }
89
+ if (type === 'month') {
90
+ return `${value}月`;
91
+ }
92
+ if (type === 'day') {
93
+ return `${value}日`;
94
+ }
95
+ return value;
96
+ }
97
+ </script>
98
+ ```
99
+
100
+ #### 选项高度
101
+
102
+ ```html
103
+ <ste-date-picker mode="date" itemHeight="50"></ste-date-picker>
104
+ ```
105
+
106
+ #### 每列可见数量
107
+
108
+ ```html
109
+ <ste-date-picker mode="date" :visibleItemCount="10"></ste-date-picker>
110
+ ```
111
+
112
+ ---$
113
+
114
+ ### API
115
+
116
+ <!-- props -->
117
+
118
+ ---$
119
+ {{fuyuwei}}
@@ -0,0 +1,5 @@
1
+ {
2
+ "group": "表单组件",
3
+ "title": "DatePicker 时间选择器",
4
+ "icon": "https://image.whzb.com/chain/StellarUI/组件图标/datetime.png?1722499736018"
5
+ }
@@ -0,0 +1,62 @@
1
+ import type { PropType } from 'vue'
2
+
3
+ import type { CloumnType } from './types'
4
+
5
+ export default {
6
+ showToolbar: {
7
+ type: Boolean,
8
+ default: true,
9
+ },
10
+ value: {
11
+ type: [String, Number],
12
+ default: '',
13
+ },
14
+ title: {
15
+ type: String,
16
+ default: '',
17
+ },
18
+ mode: {
19
+ type: String,
20
+ default: 'all',
21
+ },
22
+ maxDate: {
23
+ type: [Number, String, Date],
24
+ default: new Date(new Date().getFullYear() + 10, 11, 31, 23, 59, 59).getTime(),
25
+ },
26
+ minDate: {
27
+ type: [Number, String, Date],
28
+ default: new Date(new Date().getFullYear() - 10, 0, 1).getTime(),
29
+ },
30
+ filter: {
31
+ type: Function as PropType<(type: CloumnType, values: string[]) => string[]> | null,
32
+ default: null,
33
+ },
34
+ formatter: {
35
+ type: Function as PropType<(type: CloumnType, value: string) => string> | null,
36
+ default: null,
37
+ },
38
+ itemHeight: {
39
+ type: [String, Number],
40
+ default: 43,
41
+ },
42
+ cancelText: {
43
+ type: String,
44
+ default: '取消',
45
+ },
46
+ confirmText: {
47
+ type: String,
48
+ default: '确认',
49
+ },
50
+ cancelColor: {
51
+ type: String,
52
+ default: '#969799',
53
+ },
54
+ confirmColor: {
55
+ type: String,
56
+ default: '',
57
+ },
58
+ visibleItemCount: {
59
+ type: [String, Number],
60
+ default: 5,
61
+ },
62
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "name": "ste-date-picker",
3
+ "description": "此选择器用于时间日期",
4
+ "example": "<ste-date-picker />",
5
+ "tutorial": "https://stellar-ui.intecloud.com.cn/plus/#/?active=date-picker",
6
+ "attributes": [
7
+ {
8
+ "name": "value",
9
+ "description": "绑定值",
10
+ "type": "string | number"
11
+ },
12
+ {
13
+ "name": "showToolbar",
14
+ "description": "是否显示顶部的操作栏",
15
+ "type": "boolean",
16
+ "default": true
17
+ },
18
+ {
19
+ "name": "title",
20
+ "description": "顶部标题",
21
+ "type": "string"
22
+ },
23
+ {
24
+ "name": "mode",
25
+ "description": "展示格式",
26
+ "type": "string",
27
+ "values": [
28
+ {
29
+ "name": "all",
30
+ "description": "年月日时分秒"
31
+ },
32
+ {
33
+ "name": "datetime",
34
+ "description": "年月日时分"
35
+ },
36
+ {
37
+ "name": "date",
38
+ "description": "年月日"
39
+ },
40
+ {
41
+ "name": "year-month",
42
+ "description": "年月"
43
+ },
44
+ {
45
+ "name": "month-day",
46
+ "description": "月日"
47
+ },
48
+ {
49
+ "name": "time",
50
+ "description": "时分秒"
51
+ },
52
+ {
53
+ "name": "hour-minute",
54
+ "description": "时分"
55
+ },
56
+ {
57
+ "name": "minute-second",
58
+ "description": "分秒"
59
+ }
60
+ ],
61
+ "default": "all"
62
+ },
63
+ {
64
+ "name": "maxDate",
65
+ "description": "可选的最大时间",
66
+ "type": "number",
67
+ "default": "后10年"
68
+ },
69
+ {
70
+ "name": "minDate",
71
+ "description": "可选的最小时间",
72
+ "type": "number",
73
+ "default": "前10年"
74
+ },
75
+ {
76
+ "name": "filter",
77
+ "description": "选项过滤函数",
78
+ "type": "function"
79
+ },
80
+ {
81
+ "name": "formatter",
82
+ "description": "选项格式化函数",
83
+ "type": "function"
84
+ },
85
+ {
86
+ "name": "itemHeight",
87
+ "description": "各列中,单个选项的高度",
88
+ "type": "string | number",
89
+ "default": 36
90
+ },
91
+ {
92
+ "name": "cancelText",
93
+ "description": "取消按钮的文字",
94
+ "type": "string",
95
+ "default": "取消"
96
+ },
97
+ {
98
+ "name": "confirmText",
99
+ "description": "确认按钮的文字",
100
+ "type": "string",
101
+ "default": "确认"
102
+ },
103
+ {
104
+ "name": "cancelColor",
105
+ "description": "取消按钮的颜色",
106
+ "type": "string",
107
+ "default": "#909193"
108
+ },
109
+ {
110
+ "name": "confirmColor",
111
+ "description": "确认按钮的颜色",
112
+ "type": "string",
113
+ "default": ""
114
+ },
115
+ {
116
+ "name": "visibleItemCount",
117
+ "description": "每列中可见选项的数量",
118
+ "type": "string | number",
119
+ "default": 5
120
+ },
121
+ {
122
+ "name": "[event]confirm",
123
+ "description": "点击确定按钮,返回当前选择的值",
124
+ "type": "() => void"
125
+ },
126
+ {
127
+ "name": "[event]change",
128
+ "description": "当选择值变化时触发",
129
+ "type": "() => void"
130
+ },
131
+ {
132
+ "name": "[event]cancel",
133
+ "description": "点击取消按钮",
134
+ "type": "() => void"
135
+ }
136
+ ]
137
+ }