@cloudbase/weda-ui 3.27.3 → 3.29.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 (313) hide show
  1. package/dist/configs/actions/showMessage.json +1 -1
  2. package/dist/configs/actions/showModal.json +1 -1
  3. package/dist/configs/actions/showToast.json +1 -1
  4. package/dist/configs/components/auth.json +1 -1
  5. package/dist/configs/components/button.d.ts +1 -1
  6. package/dist/configs/components/button.js +2 -1
  7. package/dist/configs/components/calendar.d.ts +1 -1
  8. package/dist/configs/components/calendar.js +2 -1
  9. package/dist/configs/components/carousel.json +4 -11
  10. package/dist/configs/components/chart/bar.d.ts +1 -1
  11. package/dist/configs/components/chart/bar.js +2 -1
  12. package/dist/configs/components/chart/line.d.ts +1 -1
  13. package/dist/configs/components/chart/line.js +2 -1
  14. package/dist/configs/components/chart/pie.d.ts +1 -1
  15. package/dist/configs/components/chart/pie.js +2 -1
  16. package/dist/configs/components/chart/statisticsCard.d.ts +1 -1
  17. package/dist/configs/components/chart/statisticsCard.js +2 -1
  18. package/dist/configs/components/container.d.ts +1 -1
  19. package/dist/configs/components/container.js +2 -1
  20. package/dist/configs/components/customer-service.d.ts +1 -1
  21. package/dist/configs/components/customer-service.js +2 -1
  22. package/dist/configs/components/dataView.js +2 -2
  23. package/dist/configs/components/echart.d.ts +1 -1
  24. package/dist/configs/components/echart.js +2 -1
  25. package/dist/configs/components/flow/flow.json +2 -4
  26. package/dist/configs/components/flow/flowbasic.json +2 -4
  27. package/dist/configs/components/flow/flowchart.json +2 -4
  28. package/dist/configs/components/flow/flowcontrol.json +2 -4
  29. package/dist/configs/components/flow/flowlayout.json +2 -4
  30. package/dist/configs/components/flow/flowprocess.json +2 -4
  31. package/dist/configs/components/flowgraph.json +2 -4
  32. package/dist/configs/components/form/checkbox.json +1 -1
  33. package/dist/configs/components/form/departTreeSelect.json +1 -1
  34. package/dist/configs/components/form/form.json +1 -1
  35. package/dist/configs/components/form/input.json +4 -11
  36. package/dist/configs/components/form/location.json +1 -1
  37. package/dist/configs/components/form/radio.json +2 -4
  38. package/dist/configs/components/form/richText.json +3 -7
  39. package/dist/configs/components/form/select.json +6 -26
  40. package/dist/configs/components/form/switch.json +1 -1
  41. package/dist/configs/components/form/textarea.json +2 -4
  42. package/dist/configs/components/form/tips.json +1 -1
  43. package/dist/configs/components/form/uploader.json +4 -10
  44. package/dist/configs/components/form/uploaderFile.json +3 -7
  45. package/dist/configs/components/form/userTreeSelect.json +3 -9
  46. package/dist/configs/components/form-checkbox.d.ts +3 -3
  47. package/dist/configs/components/form-checkbox.js +2 -1
  48. package/dist/configs/components/form-date.d.ts +3 -3
  49. package/dist/configs/components/form-date.js +2 -1
  50. package/dist/configs/components/form-depart-tree-select.d.ts +3 -3
  51. package/dist/configs/components/form-depart-tree-select.js +2 -1
  52. package/dist/configs/components/form-email.d.ts +3 -3
  53. package/dist/configs/components/form-email.js +2 -1
  54. package/dist/configs/components/form-image-uploader.d.ts +3 -3
  55. package/dist/configs/components/form-image-uploader.js +2 -1
  56. package/dist/configs/components/form-input.d.ts +3 -3
  57. package/dist/configs/components/form-input.js +2 -1
  58. package/dist/configs/components/form-location.d.ts +3 -3
  59. package/dist/configs/components/form-location.js +2 -1
  60. package/dist/configs/components/form-multi-region.d.ts +3 -3
  61. package/dist/configs/components/form-multi-region.js +2 -1
  62. package/dist/configs/components/form-phone.d.ts +3 -3
  63. package/dist/configs/components/form-phone.js +2 -1
  64. package/dist/configs/components/form-radio.d.ts +3 -3
  65. package/dist/configs/components/form-radio.js +2 -1
  66. package/dist/configs/components/form-region.d.ts +3 -3
  67. package/dist/configs/components/form-region.js +2 -1
  68. package/dist/configs/components/form-rich-text.d.ts +3 -3
  69. package/dist/configs/components/form-rich-text.js +2 -1
  70. package/dist/configs/components/form-select-multiple.d.ts +3 -3
  71. package/dist/configs/components/form-select-multiple.js +2 -1
  72. package/dist/configs/components/form-select.d.ts +3 -3
  73. package/dist/configs/components/form-select.js +2 -1
  74. package/dist/configs/components/form-switch.d.ts +3 -3
  75. package/dist/configs/components/form-switch.js +2 -1
  76. package/dist/configs/components/form-text-area.d.ts +3 -3
  77. package/dist/configs/components/form-text-area.js +2 -1
  78. package/dist/configs/components/form-time.d.ts +3 -3
  79. package/dist/configs/components/form-time.js +2 -1
  80. package/dist/configs/components/form-upload-file.d.ts +3 -3
  81. package/dist/configs/components/form-upload-file.js +2 -1
  82. package/dist/configs/components/form-url.d.ts +3 -3
  83. package/dist/configs/components/form-url.js +2 -1
  84. package/dist/configs/components/form-user-tree-select.d.ts +3 -3
  85. package/dist/configs/components/form-user-tree-select.js +2 -1
  86. package/dist/configs/components/formdetail.json +8 -22
  87. package/dist/configs/components/graphicCard.json +4 -11
  88. package/dist/configs/components/grid/col.d.ts +1 -1
  89. package/dist/configs/components/grid/col.js +2 -1
  90. package/dist/configs/components/grid/grid.d.ts +1 -1
  91. package/dist/configs/components/grid/grid.js +2 -1
  92. package/dist/configs/components/grid/row.d.ts +1 -1
  93. package/dist/configs/components/grid/row.js +2 -1
  94. package/dist/configs/components/image.d.ts +3 -3
  95. package/dist/configs/components/image.js +2 -1
  96. package/dist/configs/components/jsx.js +2 -1
  97. package/dist/configs/components/link.d.ts +1 -1
  98. package/dist/configs/components/link.js +2 -1
  99. package/dist/configs/components/listView.js +2 -1
  100. package/dist/configs/components/lottery.d.ts +1 -1
  101. package/dist/configs/components/lottery.js +2 -1
  102. package/dist/configs/components/modal.d.ts +1 -1
  103. package/dist/configs/components/modal.js +2 -1
  104. package/dist/configs/components/navLayout.json +4 -11
  105. package/dist/configs/components/navigationBar.json +1 -1
  106. package/dist/configs/components/pagelayout.json +3 -8
  107. package/dist/configs/components/picker/datePicker.json +1 -1
  108. package/dist/configs/components/qr_code.d.ts +1 -1
  109. package/dist/configs/components/qr_code.js +2 -1
  110. package/dist/configs/components/repeater-item.json +1 -1
  111. package/dist/configs/components/repeater.d.ts +1 -1
  112. package/dist/configs/components/repeater.js +2 -1
  113. package/dist/configs/components/richtextview.json +2 -4
  114. package/dist/configs/components/scrollView.d.ts +145 -0
  115. package/dist/configs/components/scrollView.js +357 -0
  116. package/dist/configs/components/slot.json +1 -1
  117. package/dist/configs/components/swiper.d.ts +1 -1
  118. package/dist/configs/components/swiper.js +2 -1
  119. package/dist/configs/components/table.json +17 -65
  120. package/dist/configs/components/tabs.d.ts +1 -1
  121. package/dist/configs/components/tabs.js +2 -1
  122. package/dist/configs/components/text.d.ts +1 -1
  123. package/dist/configs/components/text.js +2 -1
  124. package/dist/configs/components/wd-ad.d.ts +1 -1
  125. package/dist/configs/components/wd-ad.js +2 -1
  126. package/dist/configs/components/wd-audio.d.ts +1 -1
  127. package/dist/configs/components/wd-audio.js +2 -1
  128. package/dist/configs/components/wd-bubble.d.ts +4 -4
  129. package/dist/configs/components/wd-bubble.js +2 -1
  130. package/dist/configs/components/wd-button.d.ts +1 -1
  131. package/dist/configs/components/wd-button.js +3 -2
  132. package/dist/configs/components/wd-calendar.d.ts +1 -1
  133. package/dist/configs/components/wd-calendar.js +2 -1
  134. package/dist/configs/components/wd-canvas.d.ts +1 -1
  135. package/dist/configs/components/wd-canvas.js +2 -1
  136. package/dist/configs/components/wd-card.d.ts +3 -3
  137. package/dist/configs/components/wd-card.js +4 -3
  138. package/dist/configs/components/wd-cascader.d.ts +1 -1
  139. package/dist/configs/components/wd-cascader.js +2 -1
  140. package/dist/configs/components/wd-checkbox.d.ts +1 -1
  141. package/dist/configs/components/wd-checkbox.js +2 -1
  142. package/dist/configs/components/wd-code-editor.d.ts +1 -1
  143. package/dist/configs/components/wd-code-editor.js +2 -1
  144. package/dist/configs/components/wd-date-range.d.ts +1 -1
  145. package/dist/configs/components/wd-date-range.js +2 -1
  146. package/dist/configs/components/wd-date.d.ts +1 -1
  147. package/dist/configs/components/wd-date.js +2 -1
  148. package/dist/configs/components/wd-department.d.ts +1 -1
  149. package/dist/configs/components/wd-department.js +2 -1
  150. package/dist/configs/components/wd-divider.d.ts +1 -1
  151. package/dist/configs/components/wd-divider.js +2 -1
  152. package/dist/configs/components/wd-drawer.d.ts +1 -1
  153. package/dist/configs/components/wd-drawer.js +2 -1
  154. package/dist/configs/components/wd-form-arr.d.ts +1 -1
  155. package/dist/configs/components/wd-form-arr.js +2 -1
  156. package/dist/configs/components/wd-form-detail.d.ts +1 -1
  157. package/dist/configs/components/wd-form-detail.js +2 -1
  158. package/dist/configs/components/wd-form-obj.d.ts +1 -1
  159. package/dist/configs/components/wd-form-obj.js +2 -1
  160. package/dist/configs/components/wd-form.d.ts +6 -6
  161. package/dist/configs/components/wd-form.js +3 -3
  162. package/dist/configs/components/wd-icon.d.ts +1 -1
  163. package/dist/configs/components/wd-icon.js +2 -1
  164. package/dist/configs/components/wd-image.d.ts +1 -1
  165. package/dist/configs/components/wd-image.js +2 -1
  166. package/dist/configs/components/wd-input-email.d.ts +1 -1
  167. package/dist/configs/components/wd-input-email.js +2 -1
  168. package/dist/configs/components/wd-input-number.d.ts +1 -1
  169. package/dist/configs/components/wd-input-number.js +2 -1
  170. package/dist/configs/components/wd-input-phone.d.ts +1 -1
  171. package/dist/configs/components/wd-input-phone.js +2 -1
  172. package/dist/configs/components/wd-input-url.d.ts +1 -1
  173. package/dist/configs/components/wd-input-url.js +2 -1
  174. package/dist/configs/components/wd-input.d.ts +1 -1
  175. package/dist/configs/components/wd-input.js +2 -1
  176. package/dist/configs/components/wd-layout.d.ts +1 -1
  177. package/dist/configs/components/wd-layout.js +2 -1
  178. package/dist/configs/components/wd-link.d.ts +1 -1
  179. package/dist/configs/components/wd-link.js +2 -1
  180. package/dist/configs/components/wd-location.d.ts +17 -1
  181. package/dist/configs/components/wd-location.js +19 -2
  182. package/dist/configs/components/wd-markdown.d.ts +1 -1
  183. package/dist/configs/components/wd-markdown.js +2 -1
  184. package/dist/configs/components/wd-member.d.ts +1 -1
  185. package/dist/configs/components/wd-member.js +2 -1
  186. package/dist/configs/components/wd-menu-base-layout.d.ts +1 -1
  187. package/dist/configs/components/wd-menu-base-layout.js +2 -1
  188. package/dist/configs/components/wd-menu-horizontal-layout.d.ts +1 -1
  189. package/dist/configs/components/wd-menu-horizontal-layout.js +2 -1
  190. package/dist/configs/components/wd-menu-layout.d.ts +8 -8
  191. package/dist/configs/components/wd-menu-layout.js +2 -1
  192. package/dist/configs/components/wd-menu-list.d.ts +3 -3
  193. package/dist/configs/components/wd-menu-list.js +2 -1
  194. package/dist/configs/components/wd-menu-nav-layout.d.ts +1 -1
  195. package/dist/configs/components/wd-menu-nav-layout.js +2 -1
  196. package/dist/configs/components/wd-menu-nav-tab-layou.d.ts +1 -1
  197. package/dist/configs/components/wd-menu-nav-tab-layou.js +2 -1
  198. package/dist/configs/components/wd-menu-plant-layout.d.ts +1 -1
  199. package/dist/configs/components/wd-menu-plant-layout.js +2 -1
  200. package/dist/configs/components/wd-menu-tab-layout.d.ts +1 -1
  201. package/dist/configs/components/wd-menu-tab-layout.js +2 -1
  202. package/dist/configs/components/wd-menu-vertical-layout.d.ts +1 -1
  203. package/dist/configs/components/wd-menu-vertical-layout.js +2 -1
  204. package/dist/configs/components/wd-modal.d.ts +1 -1
  205. package/dist/configs/components/wd-modal.js +2 -2
  206. package/dist/configs/components/wd-official-account.d.ts +1 -1
  207. package/dist/configs/components/wd-official-account.js +2 -1
  208. package/dist/configs/components/wd-progress.d.ts +1 -1
  209. package/dist/configs/components/wd-progress.js +2 -1
  210. package/dist/configs/components/wd-radio.d.ts +1 -1
  211. package/dist/configs/components/wd-radio.js +2 -1
  212. package/dist/configs/components/wd-rating.d.ts +1 -1
  213. package/dist/configs/components/wd-rating.js +2 -1
  214. package/dist/configs/components/wd-region.d.ts +1 -1
  215. package/dist/configs/components/wd-region.js +2 -1
  216. package/dist/configs/components/wd-rich-text.d.ts +1 -1
  217. package/dist/configs/components/wd-rich-text.js +2 -1
  218. package/dist/configs/components/wd-select-multiple.d.ts +1 -1
  219. package/dist/configs/components/wd-select-multiple.js +2 -1
  220. package/dist/configs/components/wd-select.d.ts +1 -1
  221. package/dist/configs/components/wd-select.js +2 -1
  222. package/dist/configs/components/wd-side-tab.d.ts +1 -1
  223. package/dist/configs/components/wd-side-tab.js +2 -1
  224. package/dist/configs/components/wd-store-home.d.ts +1 -1
  225. package/dist/configs/components/wd-store-home.js +2 -1
  226. package/dist/configs/components/wd-store-product.d.ts +1 -1
  227. package/dist/configs/components/wd-store-product.js +2 -1
  228. package/dist/configs/components/wd-switch.d.ts +1 -1
  229. package/dist/configs/components/wd-switch.js +2 -1
  230. package/dist/configs/components/wd-tabbar.d.ts +1 -1
  231. package/dist/configs/components/wd-tabbar.js +2 -1
  232. package/dist/configs/components/wd-table.d.ts +1 -1
  233. package/dist/configs/components/wd-table.js +2 -1
  234. package/dist/configs/components/wd-tag-select.d.ts +1 -1
  235. package/dist/configs/components/wd-tag-select.js +2 -1
  236. package/dist/configs/components/wd-tag.d.ts +1 -1
  237. package/dist/configs/components/wd-tag.js +2 -1
  238. package/dist/configs/components/wd-text.d.ts +1 -1
  239. package/dist/configs/components/wd-text.js +2 -1
  240. package/dist/configs/components/wd-textarea.d.ts +1 -1
  241. package/dist/configs/components/wd-textarea.js +2 -1
  242. package/dist/configs/components/wd-time.d.ts +1 -1
  243. package/dist/configs/components/wd-time.js +2 -1
  244. package/dist/configs/components/wd-top-tab.d.ts +1 -1
  245. package/dist/configs/components/wd-top-tab.js +2 -1
  246. package/dist/configs/components/wd-tree.d.ts +1 -1
  247. package/dist/configs/components/wd-tree.js +2 -1
  248. package/dist/configs/components/wd-unified-link.d.ts +1 -1
  249. package/dist/configs/components/wd-unified-link.js +2 -1
  250. package/dist/configs/components/wd-upload-file.d.ts +5 -1
  251. package/dist/configs/components/wd-upload-file.js +12 -1
  252. package/dist/configs/components/wd-upload-image.d.ts +1 -1
  253. package/dist/configs/components/wd-upload-image.js +2 -1
  254. package/dist/configs/components/web-view.d.ts +1 -1
  255. package/dist/configs/components/web-view.js +2 -1
  256. package/dist/configs/components/wedaVideo.d.ts +1 -1
  257. package/dist/configs/components/wedaVideo.js +2 -1
  258. package/dist/configs/components/wxOpenApi/phone.d.ts +1 -1
  259. package/dist/configs/components/wxOpenApi/phone.js +2 -1
  260. package/dist/configs/components/wxOpenApi/phoneCode.d.ts +1 -1
  261. package/dist/configs/components/wxOpenApi/phoneCode.js +2 -1
  262. package/dist/configs/components/wxOpenApi/share.d.ts +1 -1
  263. package/dist/configs/components/wxOpenApi/share.js +2 -1
  264. package/dist/configs/components/wxOpenApi/userInfo.d.ts +1 -1
  265. package/dist/configs/components/wxOpenApi/userInfo.js +2 -1
  266. package/dist/configs/index.d.ts +528 -766
  267. package/dist/configs/index.js +1 -1
  268. package/dist/configs/type-utils/index.d.ts +2 -1
  269. package/dist/configs/type-utils/type-form.d.ts +2 -0
  270. package/dist/configs/type-utils/type-form.js +15 -0
  271. package/dist/configs/type-utils/x-runtime-default.d.ts +1 -0
  272. package/dist/configs/type-utils/x-runtime-default.js +1 -0
  273. package/dist/configs/utils/constants.d.ts +2 -0
  274. package/dist/configs/utils/constants.js +2 -0
  275. package/dist/onlineConfig.json +4 -4
  276. package/dist/style/weda-ui.min.css +2 -2
  277. package/dist/web/components/form/location/components/LocationH5/location.h5.js +13 -1
  278. package/dist/web/components/form/location/components/LocationPC/location.PC.js +12 -0
  279. package/dist/web/components/form/uploaderFile/index.css +11 -1
  280. package/dist/web/components/form/uploaderFile/uploadFile.pc.d.ts +2 -1
  281. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +8 -4
  282. package/dist/web/components/form-date/index.d.ts +1 -1
  283. package/dist/web/components/form-depart-tree-select/index.d.ts +1 -1
  284. package/dist/web/components/form-email/index.d.ts +1 -1
  285. package/dist/web/components/form-image-uploader/index.d.ts +1 -1
  286. package/dist/web/components/form-input/index.d.ts +1 -1
  287. package/dist/web/components/form-input-hooks/index.d.ts +1 -1
  288. package/dist/web/components/form-location/index.d.ts +1 -1
  289. package/dist/web/components/form-multi-region/index.d.ts +1 -1
  290. package/dist/web/components/form-phone/index.d.ts +1 -1
  291. package/dist/web/components/form-radio/index.d.ts +1 -1
  292. package/dist/web/components/form-region/index.d.ts +1 -1
  293. package/dist/web/components/form-rich-text/index.d.ts +1 -1
  294. package/dist/web/components/form-select/index.d.ts +1 -1
  295. package/dist/web/components/form-select-multiple/index.d.ts +1 -1
  296. package/dist/web/components/form-switch/index.d.ts +1 -1
  297. package/dist/web/components/form-text-area/index.d.ts +1 -1
  298. package/dist/web/components/form-time/index.d.ts +1 -1
  299. package/dist/web/components/form-upload-file/index.d.ts +1 -1
  300. package/dist/web/components/form-url/index.d.ts +1 -1
  301. package/dist/web/components/form-user-tree-select/index.d.ts +1 -1
  302. package/dist/web/components/grid/col.d.ts +2 -2
  303. package/dist/web/components/scrollView/index.d.ts +5 -23
  304. package/dist/web/components/scrollView/index.js +141 -50
  305. package/dist/web/components/uploaderFileView/index.js +0 -2
  306. package/dist/web/components/wd-member/wd-member.css +3 -7
  307. package/dist/web/components/wd-upload-file/wd-upload-file.js +2 -2
  308. package/dist/web/utils/i18n/locale/en_US.d.ts +1 -0
  309. package/dist/web/utils/i18n/locale/en_US.js +1 -0
  310. package/dist/web/utils/i18n/locale/zh_CN.d.ts +1 -0
  311. package/dist/web/utils/i18n/locale/zh_CN.js +1 -0
  312. package/package.json +6 -8
  313. package/dist/configs/components/scrollVeiw.json +0 -312
@@ -1,38 +1,71 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from 'react';
2
+ import { useState, forwardRef, useEffect, useRef, useCallback } from 'react';
3
+ import { useDebouncedCallback } from '@react-hookz/web';
3
4
  import classNames from '../../utils/classnames';
5
+ import { useSetWidgetApi } from '../../utils/widget-api/use-set-widget-api';
4
6
  import './style';
5
- export default function ScrollView({ id, scrollX = false, scrollY = true, style, scrollTop, scrollLeft, scrollIntoView, className, children, upperThreshold = 50, lowerThreshold = 50, events, }) {
6
- const [toUpper, setToUpper] = React.useState(false);
7
- const [toLower, setToLower] = React.useState(false);
8
- const [scrollLeftPos, setScrollLeftPos] = React.useState(0);
9
- const [scrollTopPos, setScrollTopPos] = React.useState(0);
10
- const scrollViewRef = React.useRef(null);
11
- const handleOnScroll = function (e) {
7
+ export default forwardRef(function ScrollView({ id, scrollX = false, scrollY = true, style, scrollTop, scrollLeft, scrollIntoView, className, children, upperThreshold = 50, lowerThreshold = 50, events, observerSelector = [], rootMargin, }, ref) {
8
+ const [ready, setReady] = useState(false);
9
+ const [toUpper, setToUpper] = useState(false);
10
+ const [toLower, setToLower] = useState(false);
11
+ const [scrollLeftPos, setScrollLeftPos] = useState(0);
12
+ const [scrollTopPos, setScrollTopPos] = useState(0);
13
+ const scrollViewRef = useRef(null);
14
+ const handleScrollToTarget = useDebouncedCallback((element, option) => {
15
+ const { onEnter = () => { } } = option;
16
+ const _rootMargin = ['top', 'right', 'bottom', 'left'].map((dir) => parseInt((rootMargin === null || rootMargin === void 0 ? void 0 : rootMargin[dir]) || 0)).join('px ') + 'px';
17
+ // eslint-disable-next-line compat/compat
18
+ const observer = new IntersectionObserver((entries) => {
19
+ entries.forEach((entry) => {
20
+ if (entry.isIntersecting) {
21
+ // 当元素进入视口时执行
22
+ // 执行你的动作
23
+ onEnter(entry);
24
+ }
25
+ });
26
+ }, {
27
+ threshold: 0.5,
28
+ rootMargin: _rootMargin,
29
+ });
30
+ [].concat(element).forEach((el) => {
31
+ var _a;
32
+ let selector = el === null || el === void 0 ? void 0 : el.replace(/^#/, '').replace(/^\./, '');
33
+ if (selector && scrollViewRef.current) {
34
+ if (el.startsWith('#')) {
35
+ selector = document.getElementById(selector);
36
+ }
37
+ else {
38
+ selector = (_a = scrollViewRef.current.getElementsByClassName(selector)) === null || _a === void 0 ? void 0 : _a[0];
39
+ }
40
+ selector && observer.observe(selector);
41
+ }
42
+ });
43
+ }, [scrollViewRef, rootMargin], 500);
44
+ const handleOnScroll = useCallback((e) => {
45
+ var _a;
46
+ const target = e.target;
12
47
  const detail = {
13
- scrollLeft: e.target.scrollLeft,
14
- scrollTop: e.target.scrollTop,
15
- scrollHeight: e.target.scrollHeight,
16
- scrollWidth: e.target.scrollWidth,
17
- clientHeight: e.target.clientHeight,
18
- clientWidth: e.target.clientWidth,
48
+ scrollLeft: target.scrollLeft,
49
+ scrollTop: target.scrollTop,
50
+ scrollHeight: target.scrollHeight,
51
+ scrollWidth: target.scrollWidth,
52
+ clientHeight: target.clientHeight,
53
+ clientWidth: target.clientWidth,
19
54
  };
20
- const deltaY = scrollY ? e.target.scrollTop - scrollTopPos : 0;
21
- const deltaX = scrollX ? e.target.scrollLeft - scrollLeftPos : 0;
55
+ const deltaY = scrollY ? target.scrollTop - scrollTopPos : 0;
56
+ const deltaX = scrollX ? target.scrollLeft - scrollLeftPos : 0;
22
57
  let delta;
23
58
  // 横向滚动
24
59
  if (Math.abs(deltaX) > Math.abs(deltaY)) {
25
60
  delta = deltaX;
26
- setScrollLeftPos(e.target.scrollLeft);
27
- if (scrollX && e.target.scrollLeft <= upperThreshold) {
61
+ setScrollLeftPos(target.scrollLeft);
62
+ if (scrollX && target.scrollLeft <= upperThreshold) {
28
63
  delta < 0 && setToUpper(true);
29
64
  }
30
65
  else {
31
66
  setToUpper(false);
32
67
  }
33
- if (scrollX &&
34
- e.target.scrollLeft + e.target.offsetWidth + lowerThreshold >=
35
- e.target.scrollWidth) {
68
+ if (scrollX && target.scrollLeft + target.offsetWidth + lowerThreshold >= target.scrollWidth) {
36
69
  delta > 0 && setToLower(true);
37
70
  }
38
71
  else {
@@ -41,52 +74,104 @@ export default function ScrollView({ id, scrollX = false, scrollY = true, style,
41
74
  }
42
75
  else {
43
76
  delta = deltaY;
44
- setScrollTopPos(e.target.scrollTop);
45
- if (scrollY && e.target.scrollTop <= upperThreshold) {
77
+ setScrollTopPos(target.scrollTop);
78
+ if (scrollY && target.scrollTop <= upperThreshold) {
46
79
  delta < 0 && setToUpper(true);
47
80
  }
48
81
  else {
49
82
  setToUpper(false);
50
83
  }
51
- if (scrollY &&
52
- e.target.scrollTop + e.target.offsetHeight + lowerThreshold >=
53
- e.target.scrollHeight) {
84
+ if (scrollY && target.scrollTop + target.offsetHeight + lowerThreshold >= target.scrollHeight) {
54
85
  delta > 0 && setToLower(true);
55
86
  }
56
87
  else {
57
88
  setToLower(false);
58
89
  }
59
90
  }
60
- events.scroll(detail, { originEvent: e });
61
- };
62
- React.useEffect(() => {
63
- scrollViewRef.current.scrollTop = scrollTop;
91
+ if (observerSelector.length) {
92
+ handleScrollToTarget(observerSelector, {
93
+ onEnter: (element) => {
94
+ if (typeof (events === null || events === void 0 ? void 0 : events.scrollToTarget) === 'function') {
95
+ element.id = element.target.id;
96
+ events.scrollToTarget(element);
97
+ }
98
+ },
99
+ });
100
+ }
101
+ (_a = events === null || events === void 0 ? void 0 : events.scroll) === null || _a === void 0 ? void 0 : _a.call(events, detail, { originEvent: e });
102
+ }, [
103
+ scrollY,
104
+ scrollTopPos,
105
+ scrollX,
106
+ scrollLeftPos,
107
+ observerSelector,
108
+ events,
109
+ upperThreshold,
110
+ lowerThreshold,
111
+ handleScrollToTarget,
112
+ ]);
113
+ const handleScrollToView = useCallback((_scrollIntoView = scrollIntoView) => {
114
+ var _a;
115
+ let selector = _scrollIntoView !== null && _scrollIntoView !== void 0 ? _scrollIntoView : scrollIntoView;
116
+ selector = _scrollIntoView === null || _scrollIntoView === void 0 ? void 0 : _scrollIntoView.replace(/^#/, '').replace(/^\./, '');
117
+ if (selector && scrollViewRef.current) {
118
+ if (_scrollIntoView.startsWith('#') || selector === scrollIntoView) {
119
+ selector = document.getElementById(selector);
120
+ }
121
+ else {
122
+ selector = (_a = scrollViewRef.current.getElementsByClassName(selector)) === null || _a === void 0 ? void 0 : _a[0];
123
+ }
124
+ if (selector) {
125
+ scrollY &&
126
+ scrollViewRef.current.scrollTo({
127
+ top: selector.offsetTop || 0,
128
+ behavior: 'smooth',
129
+ });
130
+ scrollX &&
131
+ scrollViewRef.current.scrollTo({
132
+ left: selector.offsetLeft || 0,
133
+ behavior: 'smooth',
134
+ });
135
+ }
136
+ }
137
+ }, [scrollIntoView, scrollX, scrollY]);
138
+ useEffect(() => {
139
+ if (scrollViewRef.current && scrollTop !== undefined) {
140
+ scrollViewRef.current.scrollTop = scrollTop;
141
+ }
64
142
  }, [scrollTop]);
65
- React.useEffect(() => {
66
- scrollViewRef.current.scrollLeft = scrollLeft;
143
+ useEffect(() => {
144
+ if (scrollViewRef.current && scrollLeft !== undefined) {
145
+ scrollViewRef.current.scrollLeft = scrollLeft;
146
+ }
67
147
  }, [scrollLeft]);
68
- React.useEffect(() => {
69
- toUpper && events.scrolltoupper();
70
- }, [toUpper]);
71
- React.useEffect(() => {
72
- toLower && events.scrolltolower();
73
- }, [toLower]);
74
- React.useEffect(() => {
75
- if (scrollIntoView) {
76
- const children = scrollViewRef.current.children;
77
- const item = Array.from(children).find((item) => item && item.id === scrollIntoView);
78
- scrollY && (scrollViewRef.current.scrollTop = (item === null || item === void 0 ? void 0 : item.offsetTop) || 0);
79
- scrollX && (scrollViewRef.current.scrollLeft = (item === null || item === void 0 ? void 0 : item.offsetLeft) || 0);
80
- // console.log('children', children, item)
148
+ useEffect(() => {
149
+ var _a;
150
+ toUpper && ((_a = events === null || events === void 0 ? void 0 : events.scrolltoupper) === null || _a === void 0 ? void 0 : _a.call(events));
151
+ }, [toUpper, events]);
152
+ useEffect(() => {
153
+ var _a;
154
+ toLower && ((_a = events === null || events === void 0 ? void 0 : events.scrolltolower) === null || _a === void 0 ? void 0 : _a.call(events));
155
+ }, [toLower, events]);
156
+ useEffect(() => {
157
+ if (ready) {
158
+ handleScrollToView();
159
+ }
160
+ }, [handleScrollToView, ready]);
161
+ useEffect(() => {
162
+ if ((scrollViewRef.current, !ready)) {
163
+ setReady(true);
164
+ if ((events === null || events === void 0 ? void 0 : events.onReady) && typeof (events === null || events === void 0 ? void 0 : events.onReady) === 'function') {
165
+ events.onReady({ scrollViewContext: scrollViewRef.current });
166
+ }
81
167
  }
82
- }, [scrollIntoView]);
168
+ }, [events, ready]);
83
169
  const webStyles = {
84
170
  position: 'relative',
85
171
  width: '100%',
86
172
  height: '100%',
87
- // whiteSpace: scroll === 'y' ? 'normal' : 'nowrap',
88
- overflowX: `${scrollX ? 'auto' : 'hidden'}`,
89
- overflowY: `${scrollY ? 'auto' : 'hidden'}`,
173
+ overflowX: scrollX ? 'auto' : 'hidden',
174
+ overflowY: scrollY ? 'auto' : 'hidden',
90
175
  ...style,
91
176
  };
92
177
  const cls = classNames({
@@ -94,5 +179,11 @@ export default function ScrollView({ id, scrollX = false, scrollY = true, style,
94
179
  'g-scroll-view': true,
95
180
  [className]: className,
96
181
  });
182
+ useSetWidgetApi(() => ({
183
+ scrollViewContext: scrollViewRef.current,
184
+ scrollIntoElement: ({ selector }) => {
185
+ handleScrollToView(selector);
186
+ },
187
+ }), [], ref);
97
188
  return (_jsx("div", { id: id, style: webStyles, ref: scrollViewRef, className: cls, onScrollCapture: handleOnScroll, children: children }));
98
- }
189
+ });
@@ -4,7 +4,6 @@ import { UploadFilePc } from '../form/uploaderFile/uploadFile.pc';
4
4
  import { UploadFileH5 } from '../form/uploaderFile/uploadFile.h5';
5
5
  import { filterStrList, isCloudFileID, isHttpFileID, downloadFile, usePlatform, transFileCloudidToName, } from '../../utils/platform';
6
6
  import { useTempUrl } from '../../utils/hooks/use-cloud-id-temp-url';
7
- import { useTranslation } from '../../utils/i18n/translation';
8
7
  import './style';
9
8
  const CLASS_PREFIX = 'weda-uploader-file-view';
10
9
  /**
@@ -14,7 +13,6 @@ export default function UploaderFileView(props) {
14
13
  const { value, className, single = true, // 展示为单行 a 标签
15
14
  showType, // 展示端为 pc 还是 h5 样式
16
15
  ...rest } = props;
17
- const t = useTranslation();
18
16
  const platform = usePlatform();
19
17
  const fileIDList = filterStrList(value);
20
18
  if (single) {
@@ -1,12 +1,11 @@
1
1
  /* h5 */
2
2
  .wd-form-item.wd-h5-member-root .weui-cell {
3
3
  padding: 0;
4
+ width: 100%;
4
5
  }
5
6
 
6
7
  /* pc */
7
- .wd-form-item.wd-pc-member-root
8
- .weda-ui-user-selected
9
- .wedatea2td-dropdown-btn.wedatea2td-dropdown__header {
8
+ .wd-form-item.wd-pc-member-root .weda-ui-user-selected .wedatea2td-dropdown-btn.wedatea2td-dropdown__header {
10
9
  border: none;
11
10
  padding: 0;
12
11
  height: 100%;
@@ -14,10 +13,7 @@
14
13
  padding-right: 0 !important;
15
14
  }
16
15
 
17
- .wd-form-item.wd-pc-member-root
18
- .weda-ui-user-selected
19
- .wedatea2td-dropdown__header
20
- .wedatea2td-icon-arrowdown {
16
+ .wd-form-item.wd-pc-member-root .weda-ui-user-selected .wedatea2td-dropdown__header .wedatea2td-icon-arrowdown {
21
17
  display: none;
22
18
  }
23
19
 
@@ -13,7 +13,7 @@ import './style';
13
13
  * 文件上传-标准化
14
14
  */
15
15
  export const WdUploadFile = forwardRef(function WdUploadFile(props, ref) {
16
- const { classRoot = 'upload-file', acceptTypes: _acceptTypes = X_RUNTIME_DEFAULT._acceptTypesInFile, maxSize = X_RUNTIME_DEFAULT.maxSize, single = X_RUNTIME_DEFAULT.single, maxUploadCount = X_RUNTIME_DEFAULT.maxUploadCount, events = emptyObject, deleteVisible = X_RUNTIME_DEFAULT.deleteVisible, downloadVisible = X_RUNTIME_DEFAULT.downloadVisible, callbacks, uploadButtonText: _uploadButtonText, uploadTipText: _uploadTipText, storageType = 'cloudID', } = props;
16
+ const { classRoot = 'upload-file', acceptTypes: _acceptTypes = X_RUNTIME_DEFAULT._acceptTypesInFile, maxSize = X_RUNTIME_DEFAULT.maxSize, single = X_RUNTIME_DEFAULT.single, maxUploadCount = X_RUNTIME_DEFAULT.maxUploadCount, events = emptyObject, deleteVisible = X_RUNTIME_DEFAULT.deleteVisible, downloadVisible = X_RUNTIME_DEFAULT.downloadVisible, callbacks, uploadButtonText: _uploadButtonText, uploadTipText: _uploadTipText, storageType = 'cloudID', draggable = X_RUNTIME_DEFAULT.draggable, } = props;
17
17
  const t = useTranslation();
18
18
  const uploadButtonText = _uploadButtonText !== null && _uploadButtonText !== void 0 ? _uploadButtonText : t.clickToUpload;
19
19
  const uploadTipText = _uploadTipText !== null && _uploadTipText !== void 0 ? _uploadTipText : t.supportBatchUpload;
@@ -38,5 +38,5 @@ export const WdUploadFile = forwardRef(function WdUploadFile(props, ref) {
38
38
  };
39
39
  if (!visible)
40
40
  return null;
41
- return (_jsx(WdFormItem, { ...formItemProps, children: _jsx(UploaderFile, { btnTitle: uploadButtonText, uploadTipText: uploadTipText, events: events, labelVisible: false, acceptTypes: acceptTypes, defaultValue: value, deleteVisible: deleteVisible, downloadVisible: downloadVisible, maxSize: maxSize, maxUploadCount: maxUploadCount, single: single, readOnly: readOnly, disabled: disabled, decorator: null, onChange: onChange, callbacks: callbacks, storageType: storageType }) }));
41
+ return (_jsx(WdFormItem, { ...formItemProps, children: _jsx(UploaderFile, { btnTitle: uploadButtonText, uploadTipText: uploadTipText, events: events, labelVisible: false, acceptTypes: acceptTypes, defaultValue: value, deleteVisible: deleteVisible, downloadVisible: downloadVisible, maxSize: maxSize, maxUploadCount: maxUploadCount, single: single, readOnly: readOnly, disabled: disabled, decorator: null, onChange: onChange, callbacks: callbacks, storageType: storageType, draggable: draggable }) }));
42
42
  });
@@ -115,5 +115,6 @@ declare const _default: {
115
115
  noRelated: string;
116
116
  noSelectable: string;
117
117
  uploadImage: string;
118
+ draggableText: string;
118
119
  };
119
120
  export default _default;
@@ -184,4 +184,5 @@ export default {
184
184
  noSelectable: ('None Available'),
185
185
  // UploaderPC component
186
186
  uploadImage: ('Upload Image'),
187
+ draggableText: ('drag and drop to this area')
187
188
  };
@@ -116,5 +116,6 @@ declare const _default: {
116
116
  noRelated: string;
117
117
  noSelectable: string;
118
118
  uploadImage: string;
119
+ draggableText: string;
119
120
  };
120
121
  export default _default;
@@ -185,4 +185,5 @@ export default {
185
185
  noSelectable: ('无可选'),
186
186
  // UploaderPC组件
187
187
  uploadImage: ('上传图片'),
188
+ draggableText: ('拖拽到此区域')
188
189
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/weda-ui",
3
- "version": "3.27.3",
3
+ "version": "3.29.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index",
6
6
  "miniprogram": "mpdist",
@@ -73,10 +73,8 @@
73
73
  "postpack": "pinst --enable",
74
74
  "test:icon": "node tools/publish-icon/test.mjs",
75
75
  "sync-icon": "node tools/publish-icon/sync-icon.mjs",
76
- "deploy": "npm run use-node18 && node scripts/deploy.mjs && npm run release",
76
+ "deploy": "bash scripts/deploy.sh",
77
77
  "release": "node scripts/release.mjs",
78
- "use-node18": "node scripts/use-node18.mjs",
79
- "use-node20": "bash scripts/use-node20.sh",
80
78
  "scan": "tcb-i18n -c ./i18n/i18next-scanner.config.js",
81
79
  "dict:push": "lingo push",
82
80
  "dict:pull": "lingo pull"
@@ -91,7 +89,7 @@
91
89
  "description": "腾讯云微搭低代码组件库模板",
92
90
  "dependencies": {
93
91
  "@antv/g6": "^4.8.5",
94
- "@cloudbase/weda-client": "^1.1.36",
92
+ "@cloudbase/weda-client": "^1.1.37",
95
93
  "@codemirror/autocomplete": "^6.16.0",
96
94
  "@codemirror/lang-javascript": "^6.2.2",
97
95
  "@codemirror/lang-json": "^6.0.1",
@@ -153,9 +151,9 @@
153
151
  "@babel/preset-env": "^7.22.15",
154
152
  "@babel/preset-react": "^7.22.15",
155
153
  "@babel/preset-typescript": "^7.22.15",
156
- "@cloudbase/cals": "^1.2.20",
157
- "@cloudbase/lowcode-cli": "^0.22.4",
158
- "@cloudbase/weda-cloud-sdk": "^1.0.107",
154
+ "@cloudbase/cals": "^1.2.22",
155
+ "@cloudbase/lowcode-cli": "^0.23.0",
156
+ "@cloudbase/weda-cloud-sdk": "^1.0.108",
159
157
  "@commitlint/cli": "^16.0.2",
160
158
  "@commitlint/config-conventional": "^17.7.0",
161
159
  "@craco/craco": "^7.1.0",