@dckj-npm/dc-material 0.1.356 → 0.1.358

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 (593) hide show
  1. package/README.md +17 -17
  2. package/es/assets/icon/form/right.png +0 -0
  3. package/es/assets/icon/grid-nav/right.png +0 -0
  4. package/es/assets/icon/integral-task/icon1.png +0 -0
  5. package/es/assets/icon/mine/default.png +0 -0
  6. package/es/assets/icon/mine/right.png +0 -0
  7. package/es/assets/icon/navigation/index-selected.png +0 -0
  8. package/es/assets/icon/navigation/index.png +0 -0
  9. package/es/assets/icon/navigation/message-selected.png +0 -0
  10. package/es/assets/icon/navigation/message.png +0 -0
  11. package/es/assets/icon/navigation/mine-selected.png +0 -0
  12. package/es/assets/icon/navigation/mine.png +0 -0
  13. package/es/assets/icon/navigation/present-selected.png +0 -0
  14. package/es/assets/icon/navigation/present.png +0 -0
  15. package/es/assets/icon/notice-bar/notice.png +0 -0
  16. package/es/assets/icon/position/arror.png +0 -0
  17. package/es/assets/icon/position/img.png +0 -0
  18. package/es/assets/icon/position/location.png +0 -0
  19. package/es/assets/icon/search/delete.png +0 -0
  20. package/es/assets/icon/search/search.png +0 -0
  21. package/es/assets/icon/teletext-list/arr.png +0 -0
  22. package/es/components/bottom-navigation/bottom-navigation.d.ts +15 -0
  23. package/es/components/bottom-navigation/bottom-navigation.js +56 -0
  24. package/es/components/bottom-navigation/index.d.ts +3 -0
  25. package/es/components/bottom-navigation/index.js +2 -0
  26. package/es/components/bottom-navigation/index.scss +28 -0
  27. package/es/components/button/button.d.ts +14 -0
  28. package/es/components/button/button.js +14 -0
  29. package/es/components/button/index.d.ts +6 -0
  30. package/es/components/button/index.js +5 -0
  31. package/es/components/button/index.scss +16 -0
  32. package/es/components/carousel/carousel.d.ts +14 -0
  33. package/es/components/carousel/carousel.js +75 -0
  34. package/es/components/carousel/carousel.scss +32 -0
  35. package/es/components/colorful-button/colorful-button.d.ts +12 -0
  36. package/es/components/colorful-button/colorful-button.js +25 -0
  37. package/es/components/colorful-button/index.d.ts +3 -0
  38. package/es/components/colorful-button/index.js +2 -0
  39. package/es/components/colorful-button/index.scss +5 -0
  40. package/es/components/colorful-input/colorful-input.d.ts +8 -0
  41. package/es/components/colorful-input/colorful-input.js +19 -0
  42. package/es/components/colorful-input/index.d.ts +3 -0
  43. package/es/components/colorful-input/index.js +2 -0
  44. package/es/components/colorful-input/index.scss +5 -0
  45. package/es/components/dc-slider/index.d.ts +3 -0
  46. package/es/components/dc-slider/index.js +2 -0
  47. package/es/components/dc-slider/index.scss +6 -0
  48. package/es/components/dc-slider/slider-img.d.ts +32 -0
  49. package/es/components/dc-slider/slider-img.js +17 -0
  50. package/es/components/form/form-item.d.ts +42 -0
  51. package/es/components/form/form-item.js +79 -0
  52. package/es/components/form/form-item.scss +20 -0
  53. package/es/components/form/form.d.ts +20 -0
  54. package/es/components/form/form.js +1596 -0
  55. package/es/components/form/index.d.ts +6 -0
  56. package/es/components/form/index.js +6 -0
  57. package/es/components/form/index.scss +22 -0
  58. package/es/components/goods-card-list/goods-card-list-common.d.ts +5 -0
  59. package/es/components/goods-card-list/goods-card-list-common.js +60 -0
  60. package/es/components/goods-card-list/goods-card-list-common.scss +118 -0
  61. package/es/components/goods-card-list/goods-card-list.d.ts +5 -0
  62. package/es/components/goods-card-list/goods-card-list.js +156 -0
  63. package/es/components/goods-card-list/goods-card-list.scss +112 -0
  64. package/es/components/goods-card-list/index.d.ts +4 -0
  65. package/es/components/goods-card-list/index.js +3 -0
  66. package/es/components/goods-card-list/types.d.ts +45 -0
  67. package/es/components/goods-card-list/types.js +1 -0
  68. package/es/components/grid-nav/grid-nav.d.ts +13 -0
  69. package/es/components/grid-nav/grid-nav.js +102 -0
  70. package/es/components/grid-nav/index.d.ts +3 -0
  71. package/es/components/grid-nav/index.js +2 -0
  72. package/es/components/grid-nav/index.scss +50 -0
  73. package/es/components/integral-task/index.d.ts +6 -0
  74. package/es/components/integral-task/index.js +5 -0
  75. package/es/components/integral-task/index.scss +35 -0
  76. package/es/components/integral-task/integral-task.d.ts +40 -0
  77. package/es/components/integral-task/integral-task.js +54 -0
  78. package/es/components/member-card/index.d.ts +6 -0
  79. package/es/components/member-card/index.js +6 -0
  80. package/es/components/member-card/index.scss +86 -0
  81. package/es/components/member-card/member-card.d.ts +5 -0
  82. package/es/components/member-card/member-card.js +68 -0
  83. package/es/components/member-card/type.d.ts +11 -0
  84. package/es/components/member-card/type.js +1 -0
  85. package/es/components/menu-list/index.d.ts +6 -0
  86. package/es/components/menu-list/index.js +6 -0
  87. package/es/components/menu-list/index.scss +16 -0
  88. package/es/components/menu-list/menu-list-item.d.ts +5 -0
  89. package/es/components/menu-list/menu-list-item.js +32 -0
  90. package/es/components/menu-list/menu-list-item.scss +49 -0
  91. package/es/components/menu-list/menu-list.d.ts +5 -0
  92. package/es/components/menu-list/menu-list.js +25 -0
  93. package/es/components/menu-list/types.d.ts +23 -0
  94. package/es/components/menu-list/types.js +1 -0
  95. package/es/components/message-list/index.d.ts +6 -0
  96. package/es/components/message-list/index.js +6 -0
  97. package/es/components/message-list/index.scss +22 -0
  98. package/es/components/message-list/message-list-item.d.ts +33 -0
  99. package/es/components/message-list/message-list-item.js +41 -0
  100. package/es/components/message-list/message-list-item.scss +62 -0
  101. package/es/components/message-list/message-list.d.ts +28 -0
  102. package/es/components/message-list/message-list.js +50 -0
  103. package/es/components/notice-bar/index.d.ts +3 -0
  104. package/es/components/notice-bar/index.js +2 -0
  105. package/es/components/notice-bar/index.scss +84 -0
  106. package/es/components/notice-bar/notice-bar-item.d.ts +18 -0
  107. package/es/components/notice-bar/notice-bar-item.js +30 -0
  108. package/es/components/notice-bar/notice-bar-item.scss +26 -0
  109. package/es/components/notice-bar/notice-bar.d.ts +46 -0
  110. package/es/components/notice-bar/notice-bar.js +57 -0
  111. package/es/components/position/entity.d.ts +5 -0
  112. package/es/components/position/entity.js +1 -0
  113. package/es/components/position/index.d.ts +3 -0
  114. package/es/components/position/index.js +2 -0
  115. package/es/components/position/index.scss +124 -0
  116. package/es/components/position/position-left.d.ts +9 -0
  117. package/es/components/position/position-left.js +28 -0
  118. package/es/components/position/position-list.d.ts +12 -0
  119. package/es/components/position/position-list.js +134 -0
  120. package/es/components/position/position.d.ts +8 -0
  121. package/es/components/position/position.js +47 -0
  122. package/es/components/radio-group/index.d.ts +8 -0
  123. package/es/components/radio-group/index.js +7 -0
  124. package/es/components/radio-group/index.scss +40 -0
  125. package/es/components/radio-group/radio-group-item.d.ts +48 -0
  126. package/es/components/radio-group/radio-group-item.js +74 -0
  127. package/es/components/radio-group/radio-group.d.ts +52 -0
  128. package/es/components/radio-group/radio-group.js +80 -0
  129. package/es/components/rich-text/index.d.ts +6 -0
  130. package/es/components/rich-text/index.js +6 -0
  131. package/es/components/rich-text/index.scss +19 -0
  132. package/es/components/rich-text/rich-text.d.ts +14 -0
  133. package/es/components/rich-text/rich-text.js +37 -0
  134. package/es/components/search-bar/index.d.ts +3 -0
  135. package/es/components/search-bar/index.js +2 -0
  136. package/es/components/search-bar/index.scss +39 -0
  137. package/es/components/search-bar/search-bar.d.ts +10 -0
  138. package/es/components/search-bar/search-bar.js +73 -0
  139. package/es/components/stream-list/index.d.ts +6 -0
  140. package/es/components/stream-list/index.js +6 -0
  141. package/es/components/stream-list/index.scss +26 -0
  142. package/es/components/stream-list/stream-list.d.ts +54 -0
  143. package/es/components/stream-list/stream-list.js +159 -0
  144. package/es/components/swiper/index.d.ts +3 -0
  145. package/es/components/swiper/index.js +2 -0
  146. package/es/components/swiper/index.scss +20 -0
  147. package/es/components/swiper/swiper.d.ts +30 -0
  148. package/es/components/swiper/swiper.js +79 -0
  149. package/es/components/tab/index.d.ts +6 -0
  150. package/es/components/tab/index.js +5 -0
  151. package/es/components/tab/index.scss +44 -0
  152. package/es/components/tab/tab.d.ts +27 -0
  153. package/es/components/tab/tab.js +52 -0
  154. package/es/components/tab-container/index.d.ts +3 -0
  155. package/es/components/tab-container/index.js +2 -0
  156. package/es/components/tab-container/index.scss +48 -0
  157. package/es/components/tab-container/tab-container.d.ts +10 -0
  158. package/es/components/tab-container/tab-container.js +26 -0
  159. package/es/components/tab-container-item/index.d.ts +3 -0
  160. package/es/components/tab-container-item/index.js +2 -0
  161. package/es/components/tab-container-item/index.scss +0 -0
  162. package/es/components/tab-container-item/tab-container-item.d.ts +11 -0
  163. package/es/components/tab-container-item/tab-container-item.js +19 -0
  164. package/es/components/tag/index.d.ts +6 -0
  165. package/es/components/tag/index.js +5 -0
  166. package/es/components/tag/index.scss +24 -0
  167. package/es/components/tag/tag.d.ts +14 -0
  168. package/es/components/tag/tag.js +14 -0
  169. package/es/components/teletext-list/index.d.ts +6 -0
  170. package/es/components/teletext-list/index.js +6 -0
  171. package/es/components/teletext-list/index.scss +40 -0
  172. package/es/components/teletext-list/teletext-list-item.d.ts +33 -0
  173. package/es/components/teletext-list/teletext-list-item.js +61 -0
  174. package/es/components/teletext-list/teletext-list-item.scss +57 -0
  175. package/es/components/teletext-list/teletext-list.d.ts +61 -0
  176. package/es/components/teletext-list/teletext-list.js +48 -0
  177. package/es/components/title/index.d.ts +8 -0
  178. package/es/components/title/index.js +7 -0
  179. package/es/components/title/title-1.d.ts +10 -0
  180. package/es/components/title/title-1.js +16 -0
  181. package/es/components/title/title-1.scss +25 -0
  182. package/es/components/title/title-2.d.ts +18 -0
  183. package/es/components/title/title-2.js +31 -0
  184. package/es/components/title/title-2.scss +22 -0
  185. package/es/components/user-card/index.d.ts +6 -0
  186. package/es/components/user-card/index.js +6 -0
  187. package/es/components/user-card/index.scss +68 -0
  188. package/es/components/user-card/type.d.ts +8 -0
  189. package/es/components/user-card/type.js +1 -0
  190. package/es/components/user-card/user-card.d.ts +5 -0
  191. package/es/components/user-card/user-card.js +61 -0
  192. package/es/entity/dynamic-column-data-type.d.ts +316 -0
  193. package/es/entity/dynamic-column-data-type.js +173 -0
  194. package/es/index.d.ts +52 -0
  195. package/es/index.js +98 -0
  196. package/es/index.scss +6 -0
  197. package/es/style.js +6 -0
  198. package/es/utils/children-node-handle.d.ts +9 -0
  199. package/es/utils/children-node-handle.js +25 -0
  200. package/es/utils/component-wrapper.d.ts +9 -0
  201. package/es/utils/component-wrapper.js +38 -0
  202. package/es/utils/debounce.d.ts +1 -0
  203. package/es/utils/debounce.js +14 -0
  204. package/es/utils/textUtil.d.ts +10 -0
  205. package/es/utils/textUtil.js +51 -0
  206. package/es/utils/time-util.d.ts +5 -0
  207. package/es/utils/time-util.js +18 -0
  208. package/es/variables.d.ts +2 -0
  209. package/es/variables.js +2 -0
  210. package/es/variables.scss +3 -0
  211. package/lib/assets/icon/form/right.png +0 -0
  212. package/lib/assets/icon/grid-nav/right.png +0 -0
  213. package/lib/assets/icon/integral-task/icon1.png +0 -0
  214. package/lib/assets/icon/mine/default.png +0 -0
  215. package/lib/assets/icon/mine/right.png +0 -0
  216. package/lib/assets/icon/navigation/index-selected.png +0 -0
  217. package/lib/assets/icon/navigation/index.png +0 -0
  218. package/lib/assets/icon/navigation/message-selected.png +0 -0
  219. package/lib/assets/icon/navigation/message.png +0 -0
  220. package/lib/assets/icon/navigation/mine-selected.png +0 -0
  221. package/lib/assets/icon/navigation/mine.png +0 -0
  222. package/lib/assets/icon/navigation/present-selected.png +0 -0
  223. package/lib/assets/icon/navigation/present.png +0 -0
  224. package/lib/assets/icon/notice-bar/notice.png +0 -0
  225. package/lib/assets/icon/position/arror.png +0 -0
  226. package/lib/assets/icon/position/img.png +0 -0
  227. package/lib/assets/icon/position/location.png +0 -0
  228. package/lib/assets/icon/search/delete.png +0 -0
  229. package/lib/assets/icon/search/search.png +0 -0
  230. package/lib/assets/icon/teletext-list/arr.png +0 -0
  231. package/lib/components/bottom-navigation/bottom-navigation.d.ts +15 -0
  232. package/lib/components/bottom-navigation/bottom-navigation.js +63 -0
  233. package/lib/components/bottom-navigation/index.d.ts +3 -0
  234. package/lib/components/bottom-navigation/index.js +7 -0
  235. package/lib/components/bottom-navigation/index.scss +28 -0
  236. package/lib/components/button/button.d.ts +14 -0
  237. package/lib/components/button/button.js +21 -0
  238. package/lib/components/button/index.d.ts +6 -0
  239. package/lib/components/button/index.js +10 -0
  240. package/lib/components/button/index.scss +16 -0
  241. package/lib/components/carousel/carousel.d.ts +14 -0
  242. package/lib/components/carousel/carousel.js +81 -0
  243. package/lib/components/carousel/carousel.scss +32 -0
  244. package/lib/components/colorful-button/colorful-button.d.ts +12 -0
  245. package/lib/components/colorful-button/colorful-button.js +32 -0
  246. package/lib/components/colorful-button/index.d.ts +3 -0
  247. package/lib/components/colorful-button/index.js +7 -0
  248. package/lib/components/colorful-button/index.scss +5 -0
  249. package/lib/components/colorful-input/colorful-input.d.ts +8 -0
  250. package/lib/components/colorful-input/colorful-input.js +26 -0
  251. package/lib/components/colorful-input/index.d.ts +3 -0
  252. package/lib/components/colorful-input/index.js +7 -0
  253. package/lib/components/colorful-input/index.scss +5 -0
  254. package/lib/components/dc-slider/index.d.ts +3 -0
  255. package/lib/components/dc-slider/index.js +7 -0
  256. package/lib/components/dc-slider/index.scss +6 -0
  257. package/lib/components/dc-slider/slider-img.d.ts +32 -0
  258. package/lib/components/dc-slider/slider-img.js +24 -0
  259. package/lib/components/form/form-item.d.ts +42 -0
  260. package/lib/components/form/form-item.js +86 -0
  261. package/lib/components/form/form-item.scss +20 -0
  262. package/lib/components/form/form.d.ts +20 -0
  263. package/lib/components/form/form.js +1598 -0
  264. package/lib/components/form/index.d.ts +6 -0
  265. package/lib/components/form/index.js +6 -0
  266. package/lib/components/form/index.scss +22 -0
  267. package/lib/components/goods-card-list/goods-card-list-common.d.ts +5 -0
  268. package/lib/components/goods-card-list/goods-card-list-common.js +65 -0
  269. package/lib/components/goods-card-list/goods-card-list-common.scss +118 -0
  270. package/lib/components/goods-card-list/goods-card-list.d.ts +5 -0
  271. package/lib/components/goods-card-list/goods-card-list.js +163 -0
  272. package/lib/components/goods-card-list/goods-card-list.scss +112 -0
  273. package/lib/components/goods-card-list/index.d.ts +4 -0
  274. package/lib/components/goods-card-list/index.js +8 -0
  275. package/lib/components/goods-card-list/types.d.ts +45 -0
  276. package/lib/components/goods-card-list/types.js +3 -0
  277. package/lib/components/grid-nav/grid-nav.d.ts +13 -0
  278. package/lib/components/grid-nav/grid-nav.js +109 -0
  279. package/lib/components/grid-nav/index.d.ts +3 -0
  280. package/lib/components/grid-nav/index.js +7 -0
  281. package/lib/components/grid-nav/index.scss +50 -0
  282. package/lib/components/integral-task/index.d.ts +6 -0
  283. package/lib/components/integral-task/index.js +10 -0
  284. package/lib/components/integral-task/index.scss +35 -0
  285. package/lib/components/integral-task/integral-task.d.ts +40 -0
  286. package/lib/components/integral-task/integral-task.js +61 -0
  287. package/lib/components/member-card/index.d.ts +6 -0
  288. package/lib/components/member-card/index.js +6 -0
  289. package/lib/components/member-card/index.scss +86 -0
  290. package/lib/components/member-card/member-card.d.ts +5 -0
  291. package/lib/components/member-card/member-card.js +75 -0
  292. package/lib/components/member-card/type.d.ts +11 -0
  293. package/lib/components/member-card/type.js +3 -0
  294. package/lib/components/menu-list/index.d.ts +6 -0
  295. package/lib/components/menu-list/index.js +10 -0
  296. package/lib/components/menu-list/index.scss +16 -0
  297. package/lib/components/menu-list/menu-list-item.d.ts +5 -0
  298. package/lib/components/menu-list/menu-list-item.js +37 -0
  299. package/lib/components/menu-list/menu-list-item.scss +49 -0
  300. package/lib/components/menu-list/menu-list.d.ts +5 -0
  301. package/lib/components/menu-list/menu-list.js +30 -0
  302. package/lib/components/menu-list/types.d.ts +23 -0
  303. package/lib/components/menu-list/types.js +3 -0
  304. package/lib/components/message-list/index.d.ts +6 -0
  305. package/lib/components/message-list/index.js +10 -0
  306. package/lib/components/message-list/index.scss +22 -0
  307. package/lib/components/message-list/message-list-item.d.ts +33 -0
  308. package/lib/components/message-list/message-list-item.js +45 -0
  309. package/lib/components/message-list/message-list-item.scss +62 -0
  310. package/lib/components/message-list/message-list.d.ts +28 -0
  311. package/lib/components/message-list/message-list.js +57 -0
  312. package/lib/components/notice-bar/index.d.ts +3 -0
  313. package/lib/components/notice-bar/index.js +7 -0
  314. package/lib/components/notice-bar/index.scss +84 -0
  315. package/lib/components/notice-bar/notice-bar-item.d.ts +18 -0
  316. package/lib/components/notice-bar/notice-bar-item.js +35 -0
  317. package/lib/components/notice-bar/notice-bar-item.scss +26 -0
  318. package/lib/components/notice-bar/notice-bar.d.ts +46 -0
  319. package/lib/components/notice-bar/notice-bar.js +62 -0
  320. package/lib/components/position/entity.d.ts +5 -0
  321. package/lib/components/position/entity.js +3 -0
  322. package/lib/components/position/index.d.ts +3 -0
  323. package/lib/components/position/index.js +7 -0
  324. package/lib/components/position/index.scss +124 -0
  325. package/lib/components/position/position-left.d.ts +9 -0
  326. package/lib/components/position/position-left.js +35 -0
  327. package/lib/components/position/position-list.d.ts +12 -0
  328. package/lib/components/position/position-list.js +141 -0
  329. package/lib/components/position/position.d.ts +8 -0
  330. package/lib/components/position/position.js +54 -0
  331. package/lib/components/radio-group/index.d.ts +8 -0
  332. package/lib/components/radio-group/index.js +8 -0
  333. package/lib/components/radio-group/index.scss +40 -0
  334. package/lib/components/radio-group/radio-group-item.d.ts +48 -0
  335. package/lib/components/radio-group/radio-group-item.js +79 -0
  336. package/lib/components/radio-group/radio-group.d.ts +52 -0
  337. package/lib/components/radio-group/radio-group.js +87 -0
  338. package/lib/components/rich-text/index.d.ts +6 -0
  339. package/lib/components/rich-text/index.js +6 -0
  340. package/lib/components/rich-text/index.scss +19 -0
  341. package/lib/components/rich-text/rich-text.d.ts +14 -0
  342. package/lib/components/rich-text/rich-text.js +42 -0
  343. package/lib/components/search-bar/index.d.ts +3 -0
  344. package/lib/components/search-bar/index.js +7 -0
  345. package/lib/components/search-bar/index.scss +39 -0
  346. package/lib/components/search-bar/search-bar.d.ts +10 -0
  347. package/lib/components/search-bar/search-bar.js +80 -0
  348. package/lib/components/stream-list/index.d.ts +6 -0
  349. package/lib/components/stream-list/index.js +6 -0
  350. package/lib/components/stream-list/index.scss +26 -0
  351. package/lib/components/stream-list/stream-list.d.ts +54 -0
  352. package/lib/components/stream-list/stream-list.js +166 -0
  353. package/lib/components/swiper/index.d.ts +3 -0
  354. package/lib/components/swiper/index.js +7 -0
  355. package/lib/components/swiper/index.scss +20 -0
  356. package/lib/components/swiper/swiper.d.ts +30 -0
  357. package/lib/components/swiper/swiper.js +86 -0
  358. package/lib/components/tab/index.d.ts +6 -0
  359. package/lib/components/tab/index.js +10 -0
  360. package/lib/components/tab/index.scss +44 -0
  361. package/lib/components/tab/tab.d.ts +27 -0
  362. package/lib/components/tab/tab.js +59 -0
  363. package/lib/components/tab-container/index.d.ts +3 -0
  364. package/lib/components/tab-container/index.js +6 -0
  365. package/lib/components/tab-container/index.scss +48 -0
  366. package/lib/components/tab-container/tab-container.d.ts +10 -0
  367. package/lib/components/tab-container/tab-container.js +31 -0
  368. package/lib/components/tab-container-item/index.d.ts +3 -0
  369. package/lib/components/tab-container-item/index.js +6 -0
  370. package/lib/components/tab-container-item/index.scss +0 -0
  371. package/lib/components/tab-container-item/tab-container-item.d.ts +11 -0
  372. package/lib/components/tab-container-item/tab-container-item.js +24 -0
  373. package/lib/components/tag/index.d.ts +6 -0
  374. package/lib/components/tag/index.js +10 -0
  375. package/lib/components/tag/index.scss +24 -0
  376. package/lib/components/tag/tag.d.ts +14 -0
  377. package/lib/components/tag/tag.js +21 -0
  378. package/lib/components/teletext-list/index.d.ts +6 -0
  379. package/lib/components/teletext-list/index.js +6 -0
  380. package/lib/components/teletext-list/index.scss +40 -0
  381. package/lib/components/teletext-list/teletext-list-item.d.ts +33 -0
  382. package/lib/components/teletext-list/teletext-list-item.js +65 -0
  383. package/lib/components/teletext-list/teletext-list-item.scss +57 -0
  384. package/lib/components/teletext-list/teletext-list.d.ts +61 -0
  385. package/lib/components/teletext-list/teletext-list.js +52 -0
  386. package/lib/components/title/index.d.ts +8 -0
  387. package/lib/components/title/index.js +8 -0
  388. package/lib/components/title/title-1.d.ts +10 -0
  389. package/lib/components/title/title-1.js +21 -0
  390. package/lib/components/title/title-1.scss +25 -0
  391. package/lib/components/title/title-2.d.ts +18 -0
  392. package/lib/components/title/title-2.js +36 -0
  393. package/lib/components/title/title-2.scss +22 -0
  394. package/lib/components/user-card/index.d.ts +6 -0
  395. package/lib/components/user-card/index.js +6 -0
  396. package/lib/components/user-card/index.scss +68 -0
  397. package/lib/components/user-card/type.d.ts +8 -0
  398. package/lib/components/user-card/type.js +3 -0
  399. package/lib/components/user-card/user-card.d.ts +5 -0
  400. package/lib/components/user-card/user-card.js +66 -0
  401. package/lib/entity/dynamic-column-data-type.d.ts +316 -0
  402. package/lib/entity/dynamic-column-data-type.js +177 -0
  403. package/lib/index.d.ts +52 -0
  404. package/lib/index.js +107 -0
  405. package/lib/index.scss +6 -0
  406. package/lib/style.js +6 -0
  407. package/lib/utils/children-node-handle.d.ts +9 -0
  408. package/lib/utils/children-node-handle.js +30 -0
  409. package/lib/utils/component-wrapper.d.ts +9 -0
  410. package/lib/utils/component-wrapper.js +45 -0
  411. package/lib/utils/debounce.d.ts +1 -0
  412. package/lib/utils/debounce.js +18 -0
  413. package/lib/utils/textUtil.d.ts +10 -0
  414. package/lib/utils/textUtil.js +55 -0
  415. package/lib/utils/time-util.d.ts +5 -0
  416. package/lib/utils/time-util.js +22 -0
  417. package/lib/variables.d.ts +2 -0
  418. package/lib/variables.js +5 -0
  419. package/lib/variables.scss +3 -0
  420. package/lowcode/accordion-selector/meta.ts +124 -124
  421. package/lowcode/accordion-selector/props.ts +106 -106
  422. package/lowcode/bread-crumb/meta.ts +118 -118
  423. package/lowcode/button2/meta.ts +84 -84
  424. package/lowcode/collapse/meta.ts +138 -138
  425. package/lowcode/collapse-selector/meta.ts +67 -67
  426. package/lowcode/collapse-selector/props.ts +114 -114
  427. package/lowcode/collapse-selector-item/meta.ts +78 -78
  428. package/lowcode/custom-radio-group/meta.ts +312 -312
  429. package/lowcode/custom-radio-group-item/meta.ts +230 -230
  430. package/lowcode/d-c-slider/meta.design.ts +174 -174
  431. package/lowcode/d-c-slider/meta.ts +186 -186
  432. package/lowcode/d-c-slider/snippets.ts +69 -69
  433. package/lowcode/drawer/meta.ts +318 -318
  434. package/lowcode/goods-card-list/meta.ts +270 -270
  435. package/lowcode/goods-card-list-common/meta.ts +270 -270
  436. package/lowcode/grid-nav/meta.ts +236 -236
  437. package/lowcode/image/meta.ts +61 -61
  438. package/lowcode/input/meta.ts +240 -240
  439. package/lowcode/integral-task/meta.ts +212 -212
  440. package/lowcode/member-card/meta.ts +187 -187
  441. package/lowcode/menu-list/meta.ts +154 -154
  442. package/lowcode/message-list/meta.ts +225 -225
  443. package/lowcode/navigation/meta.ts +177 -177
  444. package/lowcode/notice-bar/meta.ts +251 -251
  445. package/lowcode/position/meta.ts +162 -162
  446. package/lowcode/profile/meta.ts +125 -125
  447. package/lowcode/rating/meta.ts +102 -102
  448. package/lowcode/review-list/meta.ts +147 -147
  449. package/lowcode/rich-text/meta.ts +72 -72
  450. package/lowcode/search-bar/meta.ts +105 -105
  451. package/lowcode/search-history-list/meta.ts +103 -103
  452. package/lowcode/select/meta.ts +189 -193
  453. package/lowcode/shopping-cart/meta.ts +494 -494
  454. package/lowcode/stream-list/meta.ts +209 -209
  455. package/lowcode/swiper/meta.ts +237 -237
  456. package/lowcode/switch/meta.ts +69 -69
  457. package/lowcode/tab-container/meta.ts +71 -71
  458. package/lowcode/tab-container/props.ts +194 -194
  459. package/lowcode/tab-container-item/meta.ts +195 -195
  460. package/lowcode/tab-message/meta.ts +105 -105
  461. package/lowcode/tag-c/meta.ts +76 -76
  462. package/lowcode/teletext-list/meta.ts +845 -845
  463. package/lowcode/text-description-detail-list/meta.ts +112 -112
  464. package/lowcode/title1/meta.ts +60 -60
  465. package/lowcode/title2/meta.ts +94 -94
  466. package/lowcode/user-card/meta.ts +130 -130
  467. package/lowcode_es/accordion-selector/meta.d.ts +3 -3
  468. package/lowcode_es/accordion-selector/meta.js +11 -7
  469. package/lowcode_es/accordion-selector/props.d.ts +51 -51
  470. package/lowcode_es/address-list/meta.d.ts +2 -22
  471. package/lowcode_es/bread-crumb/meta.d.ts +2 -22
  472. package/lowcode_es/button2/meta.d.ts +2 -22
  473. package/lowcode_es/collapse/meta.d.ts +2 -22
  474. package/lowcode_es/collapse-selector/meta.d.ts +2 -22
  475. package/lowcode_es/collapse-selector/props.d.ts +49 -49
  476. package/lowcode_es/collapse-selector-item/meta.d.ts +2 -22
  477. package/lowcode_es/custom-drawer/meta.d.ts +2 -22
  478. package/lowcode_es/custom-radio-group/meta.d.ts +2 -22
  479. package/lowcode_es/custom-radio-group-item/meta.d.ts +2 -23
  480. package/lowcode_es/d-c-slider/meta.d.ts +151 -151
  481. package/lowcode_es/d-c-slider/meta.design.d.ts +102 -102
  482. package/lowcode_es/d-c-slider/snippets.d.ts +37 -37
  483. package/lowcode_es/drawer/meta.d.ts +2 -22
  484. package/lowcode_es/form/meta.d.ts +2 -22
  485. package/lowcode_es/goods-card-list/meta.d.ts +2 -22
  486. package/lowcode_es/goods-card-list-common/meta.d.ts +2 -22
  487. package/lowcode_es/grid-nav/meta.d.ts +2 -22
  488. package/lowcode_es/image/meta.d.ts +2 -22
  489. package/lowcode_es/input/meta.d.ts +2 -22
  490. package/lowcode_es/integral-task/meta.d.ts +2 -22
  491. package/lowcode_es/item/meta.d.ts +2 -22
  492. package/lowcode_es/member-card/meta.d.ts +2 -22
  493. package/lowcode_es/menu-list/meta.d.ts +2 -22
  494. package/lowcode_es/message-list/meta.d.ts +2 -22
  495. package/lowcode_es/meta.js +47 -47
  496. package/lowcode_es/navigation/meta.d.ts +2 -22
  497. package/lowcode_es/notice-bar/meta.d.ts +2 -22
  498. package/lowcode_es/position/meta.d.ts +2 -22
  499. package/lowcode_es/profile/meta.d.ts +2 -22
  500. package/lowcode_es/rating/meta.d.ts +2 -22
  501. package/lowcode_es/review-list/meta.d.ts +2 -22
  502. package/lowcode_es/rich-text/meta.d.ts +2 -22
  503. package/lowcode_es/search-bar/meta.d.ts +2 -22
  504. package/lowcode_es/search-history-list/meta.d.ts +2 -22
  505. package/lowcode_es/select/meta.d.ts +2 -22
  506. package/lowcode_es/shopping-cart/meta.d.ts +2 -22
  507. package/lowcode_es/stream-list/meta.d.ts +2 -22
  508. package/lowcode_es/swiper/meta.d.ts +2 -22
  509. package/lowcode_es/switch/meta.d.ts +2 -22
  510. package/lowcode_es/tab-container/meta.d.ts +2 -22
  511. package/lowcode_es/tab-container/props.d.ts +90 -90
  512. package/lowcode_es/tab-container-item/meta.d.ts +2 -22
  513. package/lowcode_es/tab-message/meta.d.ts +2 -22
  514. package/lowcode_es/tag-c/meta.d.ts +2 -22
  515. package/lowcode_es/teletext-list/meta.d.ts +2 -22
  516. package/lowcode_es/text-description-detail-list/meta.d.ts +2 -22
  517. package/lowcode_es/title1/meta.d.ts +2 -22
  518. package/lowcode_es/title2/meta.d.ts +2 -22
  519. package/lowcode_es/user-card/meta.d.ts +2 -22
  520. package/lowcode_es/view.js +3 -3
  521. package/lowcode_lib/accordion-selector/meta.d.ts +3 -3
  522. package/lowcode_lib/accordion-selector/meta.js +11 -7
  523. package/lowcode_lib/accordion-selector/props.d.ts +51 -51
  524. package/lowcode_lib/address-list/meta.d.ts +2 -22
  525. package/lowcode_lib/bread-crumb/meta.d.ts +2 -22
  526. package/lowcode_lib/button2/meta.d.ts +2 -22
  527. package/lowcode_lib/collapse/meta.d.ts +2 -22
  528. package/lowcode_lib/collapse-selector/meta.d.ts +2 -22
  529. package/lowcode_lib/collapse-selector/props.d.ts +49 -49
  530. package/lowcode_lib/collapse-selector-item/meta.d.ts +2 -22
  531. package/lowcode_lib/custom-drawer/meta.d.ts +2 -22
  532. package/lowcode_lib/custom-radio-group/meta.d.ts +2 -22
  533. package/lowcode_lib/custom-radio-group-item/meta.d.ts +2 -23
  534. package/lowcode_lib/d-c-slider/meta.d.ts +151 -151
  535. package/lowcode_lib/d-c-slider/meta.design.d.ts +102 -102
  536. package/lowcode_lib/d-c-slider/snippets.d.ts +37 -37
  537. package/lowcode_lib/drawer/meta.d.ts +2 -22
  538. package/lowcode_lib/form/meta.d.ts +2 -22
  539. package/lowcode_lib/goods-card-list/meta.d.ts +2 -22
  540. package/lowcode_lib/goods-card-list-common/meta.d.ts +2 -22
  541. package/lowcode_lib/grid-nav/meta.d.ts +2 -22
  542. package/lowcode_lib/image/meta.d.ts +2 -22
  543. package/lowcode_lib/input/meta.d.ts +2 -22
  544. package/lowcode_lib/integral-task/meta.d.ts +2 -22
  545. package/lowcode_lib/item/meta.d.ts +2 -22
  546. package/lowcode_lib/member-card/meta.d.ts +2 -22
  547. package/lowcode_lib/menu-list/meta.d.ts +2 -22
  548. package/lowcode_lib/message-list/meta.d.ts +2 -22
  549. package/lowcode_lib/meta.js +48 -48
  550. package/lowcode_lib/navigation/meta.d.ts +2 -22
  551. package/lowcode_lib/notice-bar/meta.d.ts +2 -22
  552. package/lowcode_lib/position/meta.d.ts +2 -22
  553. package/lowcode_lib/profile/meta.d.ts +2 -22
  554. package/lowcode_lib/rating/meta.d.ts +2 -22
  555. package/lowcode_lib/review-list/meta.d.ts +2 -22
  556. package/lowcode_lib/rich-text/meta.d.ts +2 -22
  557. package/lowcode_lib/search-bar/meta.d.ts +2 -22
  558. package/lowcode_lib/search-history-list/meta.d.ts +2 -22
  559. package/lowcode_lib/select/meta.d.ts +2 -22
  560. package/lowcode_lib/shopping-cart/meta.d.ts +2 -22
  561. package/lowcode_lib/stream-list/meta.d.ts +2 -22
  562. package/lowcode_lib/swiper/meta.d.ts +2 -22
  563. package/lowcode_lib/switch/meta.d.ts +2 -22
  564. package/lowcode_lib/tab-container/meta.d.ts +2 -22
  565. package/lowcode_lib/tab-container/props.d.ts +90 -90
  566. package/lowcode_lib/tab-container-item/meta.d.ts +2 -22
  567. package/lowcode_lib/tab-message/meta.d.ts +2 -22
  568. package/lowcode_lib/tag-c/meta.d.ts +2 -22
  569. package/lowcode_lib/teletext-list/meta.d.ts +2 -22
  570. package/lowcode_lib/text-description-detail-list/meta.d.ts +2 -22
  571. package/lowcode_lib/title1/meta.d.ts +2 -22
  572. package/lowcode_lib/title2/meta.d.ts +2 -22
  573. package/lowcode_lib/user-card/meta.d.ts +2 -22
  574. package/lowcode_lib/view.js +3 -4
  575. package/package.json +12 -12
  576. package/build/lowcode/assets-daily.json +0 -71
  577. package/build/lowcode/assets-dev.json +0 -71
  578. package/build/lowcode/assets-prod.json +0 -71
  579. package/build/lowcode/designer.html +0 -302
  580. package/build/lowcode/index.html +0 -304
  581. package/build/lowcode/index.js +0 -1
  582. package/build/lowcode/meta.design.js +0 -1
  583. package/build/lowcode/meta.js +0 -1
  584. package/build/lowcode/preview.css +0 -1
  585. package/build/lowcode/preview.html +0 -33
  586. package/build/lowcode/preview.js +0 -308
  587. package/build/lowcode/render/default/view.css +0 -1
  588. package/build/lowcode/render/default/view.js +0 -295
  589. package/build/lowcode/view.css +0 -1
  590. package/build/lowcode/view.js +0 -295
  591. package/dist/BizComps.css +0 -1
  592. package/dist/BizComps.js +0 -7
  593. package/dist/BizComps.js.map +0 -1
@@ -1,845 +1,845 @@
1
- import {
2
- IPublicTypeComponentMetadata,
3
- IPublicTypeSnippet,
4
- IPublicTypeConfigure,
5
- } from '@alilc/lowcode-types'
6
-
7
- const TeletextListMeta: IPublicTypeComponentMetadata = {
8
- group: '低代码组件',
9
- componentName: 'TeletextList',
10
- title: '图文列表',
11
- docUrl: '',
12
- screenshot: '',
13
- devMode: 'proCode',
14
- npm: {
15
- package: '@dckj-npm/dc-material',
16
- version: '0.1.8',
17
- exportName: 'TeletextList',
18
- main: 'src/index.tsx',
19
- destructuring: true,
20
- subName: '',
21
- },
22
- configure: {
23
- props: [
24
- {
25
- title: {
26
- label: {
27
- type: 'i18n',
28
- 'en-US': 'type',
29
- 'zh-CN': '类型',
30
- },
31
- },
32
- name: 'type',
33
- description: '类型',
34
- setter: {
35
- componentName: 'RadioGroupSetter',
36
- props: {
37
- dataSource: [
38
- {
39
- label: '图文',
40
- value: 'textAndImg',
41
- },
42
- {
43
- label: '仅有图片',
44
- value: 'imgOnly',
45
- },
46
- {
47
- label: '仅有文字',
48
- value: 'textOnly',
49
- },
50
- ],
51
- options: [
52
- {
53
- label: '图文',
54
- value: 'textAndImg',
55
- },
56
- {
57
- label: '仅有图片',
58
- value: 'imgOnly',
59
- },
60
- {
61
- label: '仅有文字',
62
- value: 'textOnly',
63
- },
64
- ],
65
- },
66
- initialValue: 'textAndImg',
67
- },
68
- },
69
- {
70
- title: {
71
- label: {
72
- type: 'i18n',
73
- 'en-US': 'imagePlacement',
74
- 'zh-CN': '图片位置',
75
- },
76
- },
77
- name: 'imagePlacement',
78
- description: '图片位置',
79
- setter: {
80
- componentName: 'RadioGroupSetter',
81
- props: {
82
- dataSource: [
83
- {
84
- label: '左',
85
- value: 'left',
86
- },
87
- {
88
- label: '右',
89
- value: 'right',
90
- },
91
- {
92
- label: '上',
93
- value: 'top',
94
- },
95
- {
96
- label: '下',
97
- value: 'bottom',
98
- },
99
- {
100
- label: '无',
101
- value: 'none',
102
- },
103
- ],
104
- options: [
105
- {
106
- label: '左',
107
- value: 'left',
108
- },
109
- {
110
- label: '右',
111
- value: 'right',
112
- },
113
- {
114
- label: '上',
115
- value: 'top',
116
- },
117
- {
118
- label: '下',
119
- value: 'bottom',
120
- },
121
- {
122
- label: '无',
123
- value: 'none',
124
- },
125
- ],
126
- },
127
- initialValue: 'left',
128
- },
129
- extraProps: {
130
- setValue: (target, value) => {
131
- target.getProps().setPropValue('imagePlacement', value)
132
- },
133
- },
134
- },
135
- {
136
- title: '图片宽度',
137
- name: 'imgWidth',
138
- description: '图片宽度',
139
- setter: {
140
- componentName: 'NumberSetter',
141
- isRequired: false,
142
- initialValue: 100,
143
- defaultValue: 100,
144
- },
145
- },
146
- {
147
- title: '图片高度',
148
- name: 'imgHeight',
149
- description: '图片高度',
150
- setter: {
151
- componentName: 'NumberSetter',
152
- isRequired: false,
153
- initialValue: 100,
154
- defaultValue: 100,
155
- },
156
- },
157
- {
158
- title: '数据源绑定',
159
- name: 'dataListBind',
160
- setter: {
161
- componentName: 'SetterFormVariable',
162
- props: {
163
- attributes: [
164
- {
165
- label: '图文数据',
166
- value: 'dataList',
167
- children: [
168
- { label: '图片链接', value: 'image' },
169
- { label: '类型', value: 'itemType' },
170
- { label: '标题', value: 'title' },
171
- { label: '说明', value: 'description' },
172
- ],
173
- },
174
- ],
175
- },
176
- },
177
- extraProps: {
178
- setValue: (target, value) => {
179
- console.log('dataList setValue', target, value)
180
- },
181
- },
182
- },
183
- {
184
- title: '标题',
185
- name: 'title',
186
- description: '标题',
187
- setter: {
188
- componentName: 'StringSetter',
189
- isRequired: false,
190
- initialValue: '',
191
- },
192
- },
193
- {
194
- title: {
195
- label: {
196
- type: 'i18n',
197
- 'en-US': 'moreText',
198
- 'zh-CN': '更多文字',
199
- },
200
- tip: 'moreText | 更多文字',
201
- },
202
- name: 'moreText',
203
- description: '更多文字',
204
- setter: {
205
- componentName: 'StringSetter',
206
- isRequired: false,
207
- initialValue: '',
208
- },
209
- },
210
- {
211
- title: '文字行数',
212
- name: 'textLines',
213
- description: '文字行数',
214
- setter: {
215
- componentName: 'NumberSetter',
216
- isRequired: false,
217
- initialValue: 2,
218
- defaultValue: 2,
219
- props: {
220
- min: 2,
221
- max: 4,
222
- },
223
- },
224
- extraProps: {
225
- setValue(target, value) {
226
- target.getProps().setPropValue('textLines', value)
227
- const schema = target?.node?.schema
228
- const node = target?.node
229
-
230
- // 获取当前文本组件数量
231
- const currentLength =
232
- schema?.children?.filter(
233
- (child) =>
234
- child.componentName === 'NextText' && child.props.key?.startsWith('text-'),
235
- )?.length || 0
236
-
237
- if (value > currentLength) {
238
- // 需要添加新的文本组件
239
- for (let i = currentLength + 1; i <= value; i++) {
240
- const newChild = {
241
- componentName: 'NextText',
242
- props: {
243
- type: 'inherit',
244
- children: '基于 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台',
245
- key: `text-${i}`,
246
- },
247
- }
248
- console.log('node', node, 'node-children', node?.children)
249
- node?.children?.push(newChild)
250
- }
251
- } else if (value < currentLength) {
252
- // 需要移除多余的文本组件
253
- node?.children?.filter(
254
- (child) =>
255
- !(
256
- child.componentName === 'NextText' &&
257
- child.props?.key?.startsWith('text-') &&
258
- parseInt(child?.props?.key.split('-')[1]) > value
259
- ),
260
- )
261
- }
262
-
263
- // 更新数据源绑定的配置
264
- const dataListBindProp = target.parent.items.find(
265
- (item) => item.name === 'dataListBind',
266
- )
267
- if (dataListBindProp && dataListBindProp.setter) {
268
- const baseChildren = [
269
- { label: '图片链接', value: 'image' },
270
- { label: '类型', value: 'itemType' },
271
- { label: '标题', value: 'title' },
272
- { label: '说明', value: 'description' },
273
- ]
274
-
275
- // 只有当value大于2时才添加额外的文本字段
276
- const textChildren =
277
- value > 2
278
- ? Array.from({ length: value - 2 }).map((_, index) => ({
279
- label: `文本${index + 3}`,
280
- value: `text${index + 3}`,
281
- }))
282
- : []
283
-
284
- // 更新setter的attributes
285
- dataListBindProp.setter.props.attributes[0].children = [
286
- ...baseChildren,
287
- ...textChildren,
288
- ]
289
- }
290
-
291
- console.log(
292
- '文字行数',
293
- target,
294
- value,
295
- schema,
296
- target.node,
297
- target.parent,
298
- target.parent.getPropValue('dataListBind'),
299
- target.parent.node?.getProp('dataListBind'),
300
- )
301
- },
302
- },
303
- },
304
- {
305
- title: '子项列数',
306
- name: 'itemColumns',
307
- description: '子项列数',
308
- setter: {
309
- componentName: 'NumberSetter',
310
- isRequired: false,
311
- initialValue: (target) => {
312
- const isTwoColumns =
313
- target.getProps().getPropValue('imagePlacement') === 'top' ||
314
- target.getProps().getPropValue('imagePlacement') === 'bottom'
315
- return isTwoColumns ? 2 : 1
316
- },
317
- defaultValue: (target) => {
318
- const isTwoColumns =
319
- target.getProps().getPropValue('imagePlacement') === 'top' ||
320
- target.getProps().getPropValue('imagePlacement') === 'bottom'
321
- return isTwoColumns ? 2 : 1
322
- },
323
- props: {
324
- min: 1,
325
- max: 2,
326
- },
327
- },
328
- },
329
- {
330
- title: '子项间距',
331
- name: 'itemGap',
332
- description: '子项间距',
333
- setter: {
334
- componentName: 'NumberSetter',
335
- isRequired: false,
336
- initialValue: 10,
337
- defaultValue: 10,
338
- },
339
- },
340
- {
341
- title: '子项内边距',
342
- name: 'itemPadding',
343
- description: '子项内边距',
344
- setter: {
345
- componentName: 'NumberSetter',
346
- isRequired: false,
347
- initialValue: 0,
348
- defaultValue: 0,
349
- },
350
- },
351
- {
352
- title: '子项背景颜色',
353
- name: 'itemBgColor',
354
- description: '子项背景颜色',
355
- setter: {
356
- componentName: 'ColorSetter',
357
- isRequired: false,
358
- initialValue: '#fff',
359
- defaultValue: '#fff',
360
- },
361
- },
362
- {
363
- title: '子项分布',
364
- name: 'itemRowAlign',
365
- description: '子项分布',
366
- setter: {
367
- componentName: 'SelectSetter',
368
- props: {
369
- options: [
370
- {
371
- label: '列分布',
372
- value: 'column',
373
- },
374
- {
375
- label: '一行显示',
376
- value: 'row',
377
- },
378
- ],
379
- },
380
- initialValue: 'column',
381
- },
382
- },
383
- {
384
- title: '图文对齐方式',
385
- name: 'textAlign',
386
- description: '图文对齐方式',
387
- setter: {
388
- componentName: 'SelectSetter',
389
- props: {
390
- options: [
391
- {
392
- label: '左对齐',
393
- value: 'flex-start',
394
- },
395
- {
396
- label: '右对齐',
397
- value: 'flex-end',
398
- },
399
- {
400
- label: '居中对齐',
401
- value: 'center',
402
- },
403
- ],
404
- },
405
- initialValue: 'flex-start',
406
- },
407
- },
408
- {
409
- title: '图文间距',
410
- name: 'textImgGap',
411
- description: '图文间距',
412
- setter: {
413
- componentName: 'NumberSetter',
414
- isRequired: false,
415
- initialValue: 0,
416
- defaultValue: 0,
417
- },
418
- },
419
- {
420
- title: '图标配置',
421
- name: 'iconList',
422
- extraProps: {
423
- display: 'accordion',
424
- defaultCollapsed: false,
425
- },
426
- setter: {
427
- componentName: 'ArraySetter',
428
- props: {
429
- itemSetter: {
430
- componentName: 'ObjectSetter',
431
- props: {
432
- config: {
433
- items: [
434
- {
435
- name: 'icon',
436
- title: '图标',
437
- setter: 'IconSetter',
438
- isRequired: true,
439
- props: {
440
- hasClear: false,
441
- },
442
- },
443
- {
444
- name: 'size',
445
- title: '图标尺寸',
446
- setter: {
447
- componentName: 'SelectSetter',
448
- props: {
449
- options: [
450
- {
451
- label: 'xxs',
452
- value: 'xxs',
453
- },
454
- {
455
- label: 'xs',
456
- value: 'xs',
457
- },
458
- {
459
- label: 'small',
460
- value: 'small',
461
- },
462
- {
463
- label: 'medium',
464
- value: 'medium',
465
- },
466
- {
467
- label: 'large',
468
- value: 'large',
469
- },
470
- {
471
- label: 'xl',
472
- value: 'xl',
473
- },
474
- {
475
- label: 'xxl',
476
- value: 'xxl',
477
- },
478
- {
479
- label: 'xxxl',
480
- value: 'xxxl',
481
- },
482
- {
483
- label: 'inherit',
484
- value: 'inherit',
485
- },
486
- ],
487
- },
488
- },
489
- defaultValue: 'medium',
490
- },
491
- {
492
- name: 'position',
493
- title: '图标位置',
494
- defaultValue: 'rightTop',
495
- isRequired: true,
496
- setter: {
497
- componentName: 'SelectSetter',
498
- props: {
499
- options: [
500
- {
501
- label: '左上角',
502
- value: 'leftTop',
503
- },
504
- {
505
- label: '左下角',
506
- value: 'leftBottom',
507
- },
508
- {
509
- label: '右上角',
510
- value: 'rightTop',
511
- },
512
- {
513
- label: '右下角',
514
- value: 'rightBottom',
515
- },
516
- {
517
- label: '自定义',
518
- value: 'customize',
519
- },
520
- ],
521
- },
522
- },
523
- extraProps: {
524
- setValue: (target, value) => {
525
- target.getProps().setPropValue('position', value)
526
- },
527
- },
528
- },
529
- {
530
- name: 'rightOffset',
531
- title: '右偏移',
532
- setter: 'NumberSetter',
533
- defaultValue: 0,
534
- condition: (target) => {
535
- return target.getProps().getPropValue('position') === 'customize'
536
- },
537
- },
538
- {
539
- name: 'topOffset',
540
- title: '上偏移',
541
- setter: 'NumberSetter',
542
- defaultValue: 0,
543
- condition: (target) => {
544
- return target.getProps().getPropValue('position') === 'customize'
545
- },
546
- },
547
- ],
548
- },
549
- },
550
- initialValue: {
551
- size: 'medium',
552
- position: 'rightTop',
553
- rightOffset: 0,
554
- topOffset: 0,
555
- },
556
- },
557
- },
558
- },
559
- },
560
- {
561
- title: '是否为购物车列表',
562
- name: 'isShoppingCart',
563
- description: '是否为购物车列表',
564
- setter: {
565
- componentName: 'BoolSetter',
566
- isRequired: true,
567
- initialValue: false,
568
- },
569
- },
570
- {
571
- title: '是否为愿望单列表',
572
- name: 'isWishList',
573
- description: '是否为愿望单列表',
574
- setter: {
575
- componentName: 'BoolSetter',
576
- isRequired: true,
577
- initialValue: false,
578
- },
579
- },
580
- {
581
- title: '是否为用户菜单列表',
582
- name: 'isUserMenu',
583
- description: '是否为用户菜单列表',
584
- setter: {
585
- componentName: 'BoolSetter',
586
- isRequired: true,
587
- initialValue: false,
588
- },
589
- },
590
- {
591
- title: {
592
- label: {
593
- type: 'i18n',
594
- 'en-US': 'dataList',
595
- 'zh-CN': '数据',
596
- },
597
- tip: 'dataList | 数据',
598
- },
599
- name: 'dataList',
600
- description: '数据',
601
- setter: {
602
- componentName: 'ArraySetter',
603
- props: {
604
- itemSetter: {
605
- componentName: 'ObjectSetter',
606
- props: {
607
- config: {
608
- items: [
609
- {
610
- title: {
611
- label: {
612
- type: 'i18n',
613
- 'en-US': 'title',
614
- 'zh-CN': '标题',
615
- },
616
- },
617
- name: 'title',
618
- description: '标题',
619
- setter: {
620
- componentName: 'StringSetter',
621
- isRequired: false,
622
- initialValue: '',
623
- },
624
- },
625
- {
626
- title: {
627
- label: {
628
- type: 'i18n',
629
- 'en-US': 'image',
630
- 'zh-CN': '图片地址',
631
- },
632
- },
633
- name: 'image',
634
- description: '图片地址',
635
- setter: {
636
- componentName: 'CustomImageSetter',
637
- isRequired: false,
638
- initialValue: '',
639
- },
640
- },
641
- {
642
- title: {
643
- label: {
644
- type: 'i18n',
645
- 'en-US': 'description',
646
- 'zh-CN': '描述',
647
- },
648
- },
649
- name: 'description',
650
- description: '描述',
651
- setter: {
652
- componentName: 'StringSetter',
653
- isRequired: false,
654
- initialValue: '',
655
- },
656
- },
657
- ],
658
- extraSetter: {
659
- componentName: 'MixedSetter',
660
- isRequired: false,
661
- props: {},
662
- },
663
- },
664
- },
665
- },
666
- },
667
- initialValue: [
668
- {
669
- image: 'https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg',
670
- title: '标题名称',
671
- description:
672
- '说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字',
673
- },
674
- {
675
- image: 'https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg',
676
- title: '标题名称',
677
- description:
678
- '说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字',
679
- tags: [
680
- {
681
- name: '报名火热',
682
- color: 'orange',
683
- },
684
- {
685
- name: '人数众多',
686
- color: 'blue',
687
- },
688
- ],
689
- },
690
- ],
691
- },
692
- },
693
- ],
694
- supports: {
695
- style: true,
696
- events: [
697
- {
698
- name: 'onClick',
699
- template: "onClick(key,${extParams}){\n// 点击项目的事件\nconsole.log('onClick', key);}",
700
- },
701
- {
702
- name: 'handleMoreClick',
703
- template: "handleMoreClick(){\n// 查看更多\nconsole.log('handleMoreClick');}",
704
- },
705
- ],
706
- },
707
- component: {
708
- disableBehaviors: ['copy'],
709
- },
710
- },
711
- }
712
-
713
- const getSnippets = (textLines = 2): IPublicTypeSnippet[] => [
714
- {
715
- title: '图文列表',
716
- screenshot: '',
717
- schema: {
718
- componentName: 'TeletextList',
719
- props: {},
720
- children: [
721
- {
722
- componentName: 'NextText',
723
- props: {
724
- type: 'h5',
725
- children: '列表标题',
726
- key: 'box-title',
727
- style: {
728
- fontSize: '16px',
729
- fontWeight: 'bold',
730
- },
731
- },
732
- },
733
- {
734
- componentName: 'Image',
735
- props: {
736
- imgSrc: 'https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg',
737
- key: 'image',
738
- },
739
- },
740
- // 动态生成文本组件
741
- // ...Array.from({ length: textLines }).map((_, index) => ({
742
- // componentName: 'NextText',
743
- // props: {
744
- // type: index === 0 ? 'h5' : 'inherit',
745
- // children:
746
- // index === 0
747
- // ? '标题标题'
748
- // : '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
749
- // key: `text-${index + 1}`,
750
- // },
751
- // })),
752
- {
753
- componentName: 'NextText',
754
- props: {
755
- type: 'h5',
756
- children: '标题标题',
757
- key: `text-1`,
758
- },
759
- },
760
- {
761
- componentName: 'NextText',
762
- props: {
763
- type: 'inherit',
764
- children:
765
- '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
766
- key: `text-2`,
767
- },
768
- },
769
- {
770
- componentName: 'NextText',
771
- props: {
772
- type: 'inherit',
773
- children:
774
- '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
775
- key: `text-3`,
776
- },
777
- },
778
- {
779
- componentName: 'NextText',
780
- props: {
781
- type: 'inherit',
782
- children:
783
- '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
784
- key: `text-4`,
785
- },
786
- },
787
- {
788
- componentName: 'Select',
789
- props: {
790
- popType: 'dialog',
791
- selectType: 'number',
792
- value: 1,
793
- prefix: '数量: ',
794
- dialogTitle: '选择数量',
795
- btnText: '确定',
796
- key: 'select-box-1',
797
- },
798
- },
799
- {
800
- componentName: 'Select',
801
- props: {
802
- popType: 'dialog',
803
- selectType: 'string',
804
- dataList: [
805
- {
806
- label: 'M',
807
- value: 'M',
808
- },
809
- {
810
- label: 'X',
811
- value: 'X',
812
- },
813
- {
814
- label: 'XL',
815
- value: 'XL',
816
- },
817
- ],
818
- value: 'X',
819
- prefix: '尺码: ',
820
- dialogTitle: '选择尺码',
821
- btnText: '确定',
822
- key: 'select-box-2',
823
- },
824
- },
825
- {
826
- componentName: 'Switch',
827
- props: {
828
- size: 'small',
829
- disabled: false,
830
- key: 'switch-1',
831
- },
832
- },
833
- ],
834
- },
835
- },
836
- ]
837
-
838
- export default {
839
- ...TeletextListMeta,
840
- snippets: getSnippets(
841
- (TeletextListMeta.configure as IPublicTypeConfigure).props
842
- ?.find((prop) => prop.name === 'textLines')
843
- ?.setter?.getValue?.() || 2,
844
- ),
845
- }
1
+ import {
2
+ IPublicTypeComponentMetadata,
3
+ IPublicTypeSnippet,
4
+ IPublicTypeConfigure,
5
+ } from '@alilc/lowcode-types'
6
+
7
+ const TeletextListMeta: IPublicTypeComponentMetadata = {
8
+ group: '低代码组件',
9
+ componentName: 'TeletextList',
10
+ title: '图文列表',
11
+ docUrl: '',
12
+ screenshot: '',
13
+ devMode: 'proCode',
14
+ npm: {
15
+ package: '@dckj-npm/dc-material',
16
+ version: '0.1.8',
17
+ exportName: 'TeletextList',
18
+ main: 'src/index.tsx',
19
+ destructuring: true,
20
+ subName: '',
21
+ },
22
+ configure: {
23
+ props: [
24
+ {
25
+ title: {
26
+ label: {
27
+ type: 'i18n',
28
+ 'en-US': 'type',
29
+ 'zh-CN': '类型',
30
+ },
31
+ },
32
+ name: 'type',
33
+ description: '类型',
34
+ setter: {
35
+ componentName: 'RadioGroupSetter',
36
+ props: {
37
+ dataSource: [
38
+ {
39
+ label: '图文',
40
+ value: 'textAndImg',
41
+ },
42
+ {
43
+ label: '仅有图片',
44
+ value: 'imgOnly',
45
+ },
46
+ {
47
+ label: '仅有文字',
48
+ value: 'textOnly',
49
+ },
50
+ ],
51
+ options: [
52
+ {
53
+ label: '图文',
54
+ value: 'textAndImg',
55
+ },
56
+ {
57
+ label: '仅有图片',
58
+ value: 'imgOnly',
59
+ },
60
+ {
61
+ label: '仅有文字',
62
+ value: 'textOnly',
63
+ },
64
+ ],
65
+ },
66
+ initialValue: 'textAndImg',
67
+ },
68
+ },
69
+ {
70
+ title: {
71
+ label: {
72
+ type: 'i18n',
73
+ 'en-US': 'imagePlacement',
74
+ 'zh-CN': '图片位置',
75
+ },
76
+ },
77
+ name: 'imagePlacement',
78
+ description: '图片位置',
79
+ setter: {
80
+ componentName: 'RadioGroupSetter',
81
+ props: {
82
+ dataSource: [
83
+ {
84
+ label: '左',
85
+ value: 'left',
86
+ },
87
+ {
88
+ label: '右',
89
+ value: 'right',
90
+ },
91
+ {
92
+ label: '上',
93
+ value: 'top',
94
+ },
95
+ {
96
+ label: '下',
97
+ value: 'bottom',
98
+ },
99
+ {
100
+ label: '无',
101
+ value: 'none',
102
+ },
103
+ ],
104
+ options: [
105
+ {
106
+ label: '左',
107
+ value: 'left',
108
+ },
109
+ {
110
+ label: '右',
111
+ value: 'right',
112
+ },
113
+ {
114
+ label: '上',
115
+ value: 'top',
116
+ },
117
+ {
118
+ label: '下',
119
+ value: 'bottom',
120
+ },
121
+ {
122
+ label: '无',
123
+ value: 'none',
124
+ },
125
+ ],
126
+ },
127
+ initialValue: 'left',
128
+ },
129
+ extraProps: {
130
+ setValue: (target, value) => {
131
+ target.getProps().setPropValue('imagePlacement', value)
132
+ },
133
+ },
134
+ },
135
+ {
136
+ title: '图片宽度',
137
+ name: 'imgWidth',
138
+ description: '图片宽度',
139
+ setter: {
140
+ componentName: 'NumberSetter',
141
+ isRequired: false,
142
+ initialValue: 100,
143
+ defaultValue: 100,
144
+ },
145
+ },
146
+ {
147
+ title: '图片高度',
148
+ name: 'imgHeight',
149
+ description: '图片高度',
150
+ setter: {
151
+ componentName: 'NumberSetter',
152
+ isRequired: false,
153
+ initialValue: 100,
154
+ defaultValue: 100,
155
+ },
156
+ },
157
+ {
158
+ title: '数据源绑定',
159
+ name: 'dataListBind',
160
+ setter: {
161
+ componentName: 'SetterFormVariable',
162
+ props: {
163
+ attributes: [
164
+ {
165
+ label: '图文数据',
166
+ value: 'dataList',
167
+ children: [
168
+ { label: '图片链接', value: 'image' },
169
+ { label: '类型', value: 'itemType' },
170
+ { label: '标题', value: 'title' },
171
+ { label: '说明', value: 'description' },
172
+ ],
173
+ },
174
+ ],
175
+ },
176
+ },
177
+ extraProps: {
178
+ setValue: (target, value) => {
179
+ console.log('dataList setValue', target, value)
180
+ },
181
+ },
182
+ },
183
+ {
184
+ title: '标题',
185
+ name: 'title',
186
+ description: '标题',
187
+ setter: {
188
+ componentName: 'StringSetter',
189
+ isRequired: false,
190
+ initialValue: '',
191
+ },
192
+ },
193
+ {
194
+ title: {
195
+ label: {
196
+ type: 'i18n',
197
+ 'en-US': 'moreText',
198
+ 'zh-CN': '更多文字',
199
+ },
200
+ tip: 'moreText | 更多文字',
201
+ },
202
+ name: 'moreText',
203
+ description: '更多文字',
204
+ setter: {
205
+ componentName: 'StringSetter',
206
+ isRequired: false,
207
+ initialValue: '',
208
+ },
209
+ },
210
+ {
211
+ title: '文字行数',
212
+ name: 'textLines',
213
+ description: '文字行数',
214
+ setter: {
215
+ componentName: 'NumberSetter',
216
+ isRequired: false,
217
+ initialValue: 2,
218
+ defaultValue: 2,
219
+ props: {
220
+ min: 2,
221
+ max: 4,
222
+ },
223
+ },
224
+ extraProps: {
225
+ setValue(target, value) {
226
+ target.getProps().setPropValue('textLines', value)
227
+ const schema = target?.node?.schema
228
+ const node = target?.node
229
+
230
+ // 获取当前文本组件数量
231
+ const currentLength =
232
+ schema?.children?.filter(
233
+ (child) =>
234
+ child.componentName === 'NextText' && child.props.key?.startsWith('text-'),
235
+ )?.length || 0
236
+
237
+ if (value > currentLength) {
238
+ // 需要添加新的文本组件
239
+ for (let i = currentLength + 1; i <= value; i++) {
240
+ const newChild = {
241
+ componentName: 'NextText',
242
+ props: {
243
+ type: 'inherit',
244
+ children: '基于 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台',
245
+ key: `text-${i}`,
246
+ },
247
+ }
248
+ console.log('node', node, 'node-children', node?.children)
249
+ node?.children?.push(newChild)
250
+ }
251
+ } else if (value < currentLength) {
252
+ // 需要移除多余的文本组件
253
+ node?.children?.filter(
254
+ (child) =>
255
+ !(
256
+ child.componentName === 'NextText' &&
257
+ child.props?.key?.startsWith('text-') &&
258
+ parseInt(child?.props?.key.split('-')[1]) > value
259
+ ),
260
+ )
261
+ }
262
+
263
+ // 更新数据源绑定的配置
264
+ const dataListBindProp = target.parent.items.find(
265
+ (item) => item.name === 'dataListBind',
266
+ )
267
+ if (dataListBindProp && dataListBindProp.setter) {
268
+ const baseChildren = [
269
+ { label: '图片链接', value: 'image' },
270
+ { label: '类型', value: 'itemType' },
271
+ { label: '标题', value: 'title' },
272
+ { label: '说明', value: 'description' },
273
+ ]
274
+
275
+ // 只有当value大于2时才添加额外的文本字段
276
+ const textChildren =
277
+ value > 2
278
+ ? Array.from({ length: value - 2 }).map((_, index) => ({
279
+ label: `文本${index + 3}`,
280
+ value: `text${index + 3}`,
281
+ }))
282
+ : []
283
+
284
+ // 更新setter的attributes
285
+ dataListBindProp.setter.props.attributes[0].children = [
286
+ ...baseChildren,
287
+ ...textChildren,
288
+ ]
289
+ }
290
+
291
+ console.log(
292
+ '文字行数',
293
+ target,
294
+ value,
295
+ schema,
296
+ target.node,
297
+ target.parent,
298
+ target.parent.getPropValue('dataListBind'),
299
+ target.parent.node?.getProp('dataListBind'),
300
+ )
301
+ },
302
+ },
303
+ },
304
+ {
305
+ title: '子项列数',
306
+ name: 'itemColumns',
307
+ description: '子项列数',
308
+ setter: {
309
+ componentName: 'NumberSetter',
310
+ isRequired: false,
311
+ initialValue: (target) => {
312
+ const isTwoColumns =
313
+ target.getProps().getPropValue('imagePlacement') === 'top' ||
314
+ target.getProps().getPropValue('imagePlacement') === 'bottom'
315
+ return isTwoColumns ? 2 : 1
316
+ },
317
+ defaultValue: (target) => {
318
+ const isTwoColumns =
319
+ target.getProps().getPropValue('imagePlacement') === 'top' ||
320
+ target.getProps().getPropValue('imagePlacement') === 'bottom'
321
+ return isTwoColumns ? 2 : 1
322
+ },
323
+ props: {
324
+ min: 1,
325
+ max: 2,
326
+ },
327
+ },
328
+ },
329
+ {
330
+ title: '子项间距',
331
+ name: 'itemGap',
332
+ description: '子项间距',
333
+ setter: {
334
+ componentName: 'NumberSetter',
335
+ isRequired: false,
336
+ initialValue: 10,
337
+ defaultValue: 10,
338
+ },
339
+ },
340
+ {
341
+ title: '子项内边距',
342
+ name: 'itemPadding',
343
+ description: '子项内边距',
344
+ setter: {
345
+ componentName: 'NumberSetter',
346
+ isRequired: false,
347
+ initialValue: 0,
348
+ defaultValue: 0,
349
+ },
350
+ },
351
+ {
352
+ title: '子项背景颜色',
353
+ name: 'itemBgColor',
354
+ description: '子项背景颜色',
355
+ setter: {
356
+ componentName: 'ColorSetter',
357
+ isRequired: false,
358
+ initialValue: '#fff',
359
+ defaultValue: '#fff',
360
+ },
361
+ },
362
+ {
363
+ title: '子项分布',
364
+ name: 'itemRowAlign',
365
+ description: '子项分布',
366
+ setter: {
367
+ componentName: 'SelectSetter',
368
+ props: {
369
+ options: [
370
+ {
371
+ label: '列分布',
372
+ value: 'column',
373
+ },
374
+ {
375
+ label: '一行显示',
376
+ value: 'row',
377
+ },
378
+ ],
379
+ },
380
+ initialValue: 'column',
381
+ },
382
+ },
383
+ {
384
+ title: '图文对齐方式',
385
+ name: 'textAlign',
386
+ description: '图文对齐方式',
387
+ setter: {
388
+ componentName: 'SelectSetter',
389
+ props: {
390
+ options: [
391
+ {
392
+ label: '左对齐',
393
+ value: 'flex-start',
394
+ },
395
+ {
396
+ label: '右对齐',
397
+ value: 'flex-end',
398
+ },
399
+ {
400
+ label: '居中对齐',
401
+ value: 'center',
402
+ },
403
+ ],
404
+ },
405
+ initialValue: 'flex-start',
406
+ },
407
+ },
408
+ {
409
+ title: '图文间距',
410
+ name: 'textImgGap',
411
+ description: '图文间距',
412
+ setter: {
413
+ componentName: 'NumberSetter',
414
+ isRequired: false,
415
+ initialValue: 0,
416
+ defaultValue: 0,
417
+ },
418
+ },
419
+ {
420
+ title: '图标配置',
421
+ name: 'iconList',
422
+ extraProps: {
423
+ display: 'accordion',
424
+ defaultCollapsed: false,
425
+ },
426
+ setter: {
427
+ componentName: 'ArraySetter',
428
+ props: {
429
+ itemSetter: {
430
+ componentName: 'ObjectSetter',
431
+ props: {
432
+ config: {
433
+ items: [
434
+ {
435
+ name: 'icon',
436
+ title: '图标',
437
+ setter: 'IconSetter',
438
+ isRequired: true,
439
+ props: {
440
+ hasClear: false,
441
+ },
442
+ },
443
+ {
444
+ name: 'size',
445
+ title: '图标尺寸',
446
+ setter: {
447
+ componentName: 'SelectSetter',
448
+ props: {
449
+ options: [
450
+ {
451
+ label: 'xxs',
452
+ value: 'xxs',
453
+ },
454
+ {
455
+ label: 'xs',
456
+ value: 'xs',
457
+ },
458
+ {
459
+ label: 'small',
460
+ value: 'small',
461
+ },
462
+ {
463
+ label: 'medium',
464
+ value: 'medium',
465
+ },
466
+ {
467
+ label: 'large',
468
+ value: 'large',
469
+ },
470
+ {
471
+ label: 'xl',
472
+ value: 'xl',
473
+ },
474
+ {
475
+ label: 'xxl',
476
+ value: 'xxl',
477
+ },
478
+ {
479
+ label: 'xxxl',
480
+ value: 'xxxl',
481
+ },
482
+ {
483
+ label: 'inherit',
484
+ value: 'inherit',
485
+ },
486
+ ],
487
+ },
488
+ },
489
+ defaultValue: 'medium',
490
+ },
491
+ {
492
+ name: 'position',
493
+ title: '图标位置',
494
+ defaultValue: 'rightTop',
495
+ isRequired: true,
496
+ setter: {
497
+ componentName: 'SelectSetter',
498
+ props: {
499
+ options: [
500
+ {
501
+ label: '左上角',
502
+ value: 'leftTop',
503
+ },
504
+ {
505
+ label: '左下角',
506
+ value: 'leftBottom',
507
+ },
508
+ {
509
+ label: '右上角',
510
+ value: 'rightTop',
511
+ },
512
+ {
513
+ label: '右下角',
514
+ value: 'rightBottom',
515
+ },
516
+ {
517
+ label: '自定义',
518
+ value: 'customize',
519
+ },
520
+ ],
521
+ },
522
+ },
523
+ extraProps: {
524
+ setValue: (target, value) => {
525
+ target.getProps().setPropValue('position', value)
526
+ },
527
+ },
528
+ },
529
+ {
530
+ name: 'rightOffset',
531
+ title: '右偏移',
532
+ setter: 'NumberSetter',
533
+ defaultValue: 0,
534
+ condition: (target) => {
535
+ return target.getProps().getPropValue('position') === 'customize'
536
+ },
537
+ },
538
+ {
539
+ name: 'topOffset',
540
+ title: '上偏移',
541
+ setter: 'NumberSetter',
542
+ defaultValue: 0,
543
+ condition: (target) => {
544
+ return target.getProps().getPropValue('position') === 'customize'
545
+ },
546
+ },
547
+ ],
548
+ },
549
+ },
550
+ initialValue: {
551
+ size: 'medium',
552
+ position: 'rightTop',
553
+ rightOffset: 0,
554
+ topOffset: 0,
555
+ },
556
+ },
557
+ },
558
+ },
559
+ },
560
+ {
561
+ title: '是否为购物车列表',
562
+ name: 'isShoppingCart',
563
+ description: '是否为购物车列表',
564
+ setter: {
565
+ componentName: 'BoolSetter',
566
+ isRequired: true,
567
+ initialValue: false,
568
+ },
569
+ },
570
+ {
571
+ title: '是否为愿望单列表',
572
+ name: 'isWishList',
573
+ description: '是否为愿望单列表',
574
+ setter: {
575
+ componentName: 'BoolSetter',
576
+ isRequired: true,
577
+ initialValue: false,
578
+ },
579
+ },
580
+ {
581
+ title: '是否为用户菜单列表',
582
+ name: 'isUserMenu',
583
+ description: '是否为用户菜单列表',
584
+ setter: {
585
+ componentName: 'BoolSetter',
586
+ isRequired: true,
587
+ initialValue: false,
588
+ },
589
+ },
590
+ {
591
+ title: {
592
+ label: {
593
+ type: 'i18n',
594
+ 'en-US': 'dataList',
595
+ 'zh-CN': '数据',
596
+ },
597
+ tip: 'dataList | 数据',
598
+ },
599
+ name: 'dataList',
600
+ description: '数据',
601
+ setter: {
602
+ componentName: 'ArraySetter',
603
+ props: {
604
+ itemSetter: {
605
+ componentName: 'ObjectSetter',
606
+ props: {
607
+ config: {
608
+ items: [
609
+ {
610
+ title: {
611
+ label: {
612
+ type: 'i18n',
613
+ 'en-US': 'title',
614
+ 'zh-CN': '标题',
615
+ },
616
+ },
617
+ name: 'title',
618
+ description: '标题',
619
+ setter: {
620
+ componentName: 'StringSetter',
621
+ isRequired: false,
622
+ initialValue: '',
623
+ },
624
+ },
625
+ {
626
+ title: {
627
+ label: {
628
+ type: 'i18n',
629
+ 'en-US': 'image',
630
+ 'zh-CN': '图片地址',
631
+ },
632
+ },
633
+ name: 'image',
634
+ description: '图片地址',
635
+ setter: {
636
+ componentName: 'CustomImageSetter',
637
+ isRequired: false,
638
+ initialValue: '',
639
+ },
640
+ },
641
+ {
642
+ title: {
643
+ label: {
644
+ type: 'i18n',
645
+ 'en-US': 'description',
646
+ 'zh-CN': '描述',
647
+ },
648
+ },
649
+ name: 'description',
650
+ description: '描述',
651
+ setter: {
652
+ componentName: 'StringSetter',
653
+ isRequired: false,
654
+ initialValue: '',
655
+ },
656
+ },
657
+ ],
658
+ extraSetter: {
659
+ componentName: 'MixedSetter',
660
+ isRequired: false,
661
+ props: {},
662
+ },
663
+ },
664
+ },
665
+ },
666
+ },
667
+ initialValue: [
668
+ {
669
+ image: 'https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg',
670
+ title: '标题名称',
671
+ description:
672
+ '说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字',
673
+ },
674
+ {
675
+ image: 'https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg',
676
+ title: '标题名称',
677
+ description:
678
+ '说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字说明文字',
679
+ tags: [
680
+ {
681
+ name: '报名火热',
682
+ color: 'orange',
683
+ },
684
+ {
685
+ name: '人数众多',
686
+ color: 'blue',
687
+ },
688
+ ],
689
+ },
690
+ ],
691
+ },
692
+ },
693
+ ],
694
+ supports: {
695
+ style: true,
696
+ events: [
697
+ {
698
+ name: 'onClick',
699
+ template: "onClick(key,${extParams}){\n// 点击项目的事件\nconsole.log('onClick', key);}",
700
+ },
701
+ {
702
+ name: 'handleMoreClick',
703
+ template: "handleMoreClick(){\n// 查看更多\nconsole.log('handleMoreClick');}",
704
+ },
705
+ ],
706
+ },
707
+ component: {
708
+ disableBehaviors: ['copy'],
709
+ },
710
+ },
711
+ }
712
+
713
+ const getSnippets = (textLines = 2): IPublicTypeSnippet[] => [
714
+ {
715
+ title: '图文列表',
716
+ screenshot: '',
717
+ schema: {
718
+ componentName: 'TeletextList',
719
+ props: {},
720
+ children: [
721
+ {
722
+ componentName: 'NextText',
723
+ props: {
724
+ type: 'h5',
725
+ children: '列表标题',
726
+ key: 'box-title',
727
+ style: {
728
+ fontSize: '16px',
729
+ fontWeight: 'bold',
730
+ },
731
+ },
732
+ },
733
+ {
734
+ componentName: 'Image',
735
+ props: {
736
+ imgSrc: 'https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg',
737
+ key: 'image',
738
+ },
739
+ },
740
+ // 动态生成文本组件
741
+ // ...Array.from({ length: textLines }).map((_, index) => ({
742
+ // componentName: 'NextText',
743
+ // props: {
744
+ // type: index === 0 ? 'h5' : 'inherit',
745
+ // children:
746
+ // index === 0
747
+ // ? '标题标题'
748
+ // : '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
749
+ // key: `text-${index + 1}`,
750
+ // },
751
+ // })),
752
+ {
753
+ componentName: 'NextText',
754
+ props: {
755
+ type: 'h5',
756
+ children: '标题标题',
757
+ key: `text-1`,
758
+ },
759
+ },
760
+ {
761
+ componentName: 'NextText',
762
+ props: {
763
+ type: 'inherit',
764
+ children:
765
+ '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
766
+ key: `text-2`,
767
+ },
768
+ },
769
+ {
770
+ componentName: 'NextText',
771
+ props: {
772
+ type: 'inherit',
773
+ children:
774
+ '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
775
+ key: `text-3`,
776
+ },
777
+ },
778
+ {
779
+ componentName: 'NextText',
780
+ props: {
781
+ type: 'inherit',
782
+ children:
783
+ '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
784
+ key: `text-4`,
785
+ },
786
+ },
787
+ {
788
+ componentName: 'Select',
789
+ props: {
790
+ popType: 'dialog',
791
+ selectType: 'number',
792
+ value: 1,
793
+ prefix: '数量: ',
794
+ dialogTitle: '选择数量',
795
+ btnText: '确定',
796
+ key: 'select-box-1',
797
+ },
798
+ },
799
+ {
800
+ componentName: 'Select',
801
+ props: {
802
+ popType: 'dialog',
803
+ selectType: 'string',
804
+ dataList: [
805
+ {
806
+ label: 'M',
807
+ value: 'M',
808
+ },
809
+ {
810
+ label: 'X',
811
+ value: 'X',
812
+ },
813
+ {
814
+ label: 'XL',
815
+ value: 'XL',
816
+ },
817
+ ],
818
+ value: 'X',
819
+ prefix: '尺码: ',
820
+ dialogTitle: '选择尺码',
821
+ btnText: '确定',
822
+ key: 'select-box-2',
823
+ },
824
+ },
825
+ {
826
+ componentName: 'Switch',
827
+ props: {
828
+ size: 'small',
829
+ disabled: false,
830
+ key: 'switch-1',
831
+ },
832
+ },
833
+ ],
834
+ },
835
+ },
836
+ ]
837
+
838
+ export default {
839
+ ...TeletextListMeta,
840
+ snippets: getSnippets(
841
+ (TeletextListMeta.configure as IPublicTypeConfigure).props
842
+ ?.find((prop) => prop.name === 'textLines')
843
+ ?.setter?.getValue?.() || 2,
844
+ ),
845
+ }