@dckj-npm/dc-material 0.1.28 → 0.1.30

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 (291) hide show
  1. package/build/docs/404.html +47 -0
  2. package/build/docs/_demos/:uuid +47 -0
  3. package/build/docs/colorful-button.html +4 -4
  4. package/build/docs/colorful-input.html +4 -4
  5. package/build/docs/index.html +4 -4
  6. package/build/docs/umi.19a78b0f.js +1 -0
  7. package/build/docs/{umi.1db9e2cc.css → umi.5357b0f6.css} +1 -1
  8. package/build/docs/~demos/:uuid.html +47 -0
  9. package/build/docs/~demos/colorful-button-demo.html +4 -4
  10. package/build/docs/~demos/colorful-input-demo.html +4 -4
  11. package/build/index.js +12 -19
  12. package/build/lowcode/assets-daily.json +13 -13
  13. package/build/lowcode/assets-dev.json +2 -2
  14. package/build/lowcode/assets-prod.json +13 -13
  15. package/build/lowcode/index.js +1 -1
  16. package/build/lowcode/meta.design.js +1 -1
  17. package/build/lowcode/meta.js +1 -1
  18. package/build/lowcode/preview.js +10 -10
  19. package/build/lowcode/render/default/view.css +1 -1
  20. package/build/lowcode/render/default/view.js +10 -10
  21. package/build/lowcode/view.css +1 -1
  22. package/build/lowcode/view.js +10 -10
  23. package/dist/BizComps.css +1 -1
  24. package/dist/BizComps.js +4 -4
  25. package/dist/BizComps.js.map +1 -1
  26. package/es/assets/icon/position/arror.png +0 -0
  27. package/es/components/bottom-navigation/bottom-navigation.d.ts +15 -15
  28. package/es/components/bottom-navigation/index.d.ts +3 -3
  29. package/es/components/bottom-navigation/index.scss +23 -23
  30. package/es/components/button/button.d.ts +14 -14
  31. package/es/components/button/index.d.ts +6 -6
  32. package/es/components/button/index.js +2 -2
  33. package/es/components/carousel/carousel.d.ts +14 -0
  34. package/es/components/carousel/carousel.js +75 -0
  35. package/es/components/carousel/carousel.scss +32 -0
  36. package/es/components/colorful-button/colorful-button.d.ts +12 -12
  37. package/es/components/colorful-button/index.d.ts +3 -3
  38. package/es/components/colorful-input/colorful-input.d.ts +8 -8
  39. package/es/components/colorful-input/index.d.ts +3 -3
  40. package/es/components/goods-card-list/goods-card-list.d.ts +5 -0
  41. package/es/components/goods-card-list/goods-card-list.js +139 -0
  42. package/es/components/goods-card-list/goods-card-list.scss +93 -0
  43. package/es/components/goods-card-list/index.d.ts +3 -0
  44. package/es/components/goods-card-list/index.js +2 -0
  45. package/es/components/goods-card-list/types.d.ts +41 -0
  46. package/es/components/goods-card-list/types.js +1 -0
  47. package/es/components/grid-nav/grid-nav.d.ts +13 -13
  48. package/es/components/grid-nav/index.d.ts +3 -3
  49. package/es/components/grid-nav/index.scss +37 -37
  50. package/es/components/integral-task/index.d.ts +6 -6
  51. package/es/components/integral-task/index.js +2 -2
  52. package/es/components/integral-task/integral-task.d.ts +40 -40
  53. package/es/components/menu-list/index.d.ts +6 -6
  54. package/es/components/menu-list/index.js +2 -2
  55. package/es/components/menu-list/index.scss +16 -16
  56. package/es/components/menu-list/menu-list-item.d.ts +5 -5
  57. package/es/components/menu-list/menu-list-item.scss +49 -49
  58. package/es/components/menu-list/menu-list.d.ts +5 -5
  59. package/es/components/menu-list/types.d.ts +23 -23
  60. package/es/components/message-list/index.d.ts +6 -6
  61. package/es/components/message-list/index.js +2 -2
  62. package/es/components/message-list/index.scss +22 -22
  63. package/es/components/message-list/message-list-item.d.ts +29 -29
  64. package/es/components/message-list/message-list-item.js +2 -2
  65. package/es/components/message-list/message-list-item.scss +49 -49
  66. package/es/components/message-list/message-list.d.ts +32 -32
  67. package/es/components/notice-bar/index.d.ts +3 -3
  68. package/es/components/notice-bar/index.scss +26 -26
  69. package/es/components/notice-bar/notice-bar-item.d.ts +31 -31
  70. package/es/components/notice-bar/notice-bar-item.scss +26 -26
  71. package/es/components/notice-bar/notice-bar.d.ts +50 -50
  72. package/es/components/position/entity.d.ts +5 -5
  73. package/es/components/position/index.d.ts +3 -3
  74. package/es/components/position/index.scss +27 -23
  75. package/es/components/position/position-left.d.ts +9 -9
  76. package/es/components/position/position-list.d.ts +12 -12
  77. package/es/components/position/position.d.ts +8 -8
  78. package/es/components/radio-group/index.d.ts +8 -8
  79. package/es/components/radio-group/index.js +2 -2
  80. package/es/components/radio-group/index.scss +40 -40
  81. package/es/components/radio-group/radio-group-item.d.ts +48 -48
  82. package/es/components/radio-group/radio-group.d.ts +52 -52
  83. package/es/components/search-bar/index.d.ts +3 -3
  84. package/es/components/search-bar/index.scss +13 -13
  85. package/es/components/search-bar/search-bar.d.ts +7 -7
  86. package/es/components/swiper/index.d.ts +3 -3
  87. package/es/components/swiper/swiper.d.ts +47 -47
  88. package/es/components/tab/index.d.ts +6 -6
  89. package/es/components/tab/index.js +2 -2
  90. package/es/components/tab/index.scss +22 -22
  91. package/es/components/tab/tab.d.ts +23 -23
  92. package/es/components/tab-container/index.d.ts +3 -3
  93. package/es/components/tab-container/index.scss +47 -47
  94. package/es/components/tab-container/tab-container.d.ts +10 -10
  95. package/es/components/tab-container-item/index.d.ts +3 -3
  96. package/es/components/tab-container-item/tab-container-item.d.ts +9 -9
  97. package/es/components/tag/index.d.ts +6 -6
  98. package/es/components/tag/index.js +2 -2
  99. package/es/components/tag/tag.d.ts +14 -14
  100. package/es/components/teletext-list/index.d.ts +6 -6
  101. package/es/components/teletext-list/index.js +2 -2
  102. package/es/components/teletext-list/index.scss +19 -19
  103. package/es/components/teletext-list/teletext-list-item.d.ts +42 -42
  104. package/es/components/teletext-list/teletext-list-item.js +10 -7
  105. package/es/components/teletext-list/teletext-list-item.scss +55 -55
  106. package/es/components/teletext-list/teletext-list.d.ts +61 -61
  107. package/es/components/teletext-list/teletext-list.js +2 -2
  108. package/es/components/title/index.d.ts +8 -8
  109. package/es/components/title/index.js +2 -2
  110. package/es/components/title/title-1.d.ts +10 -10
  111. package/es/components/title/title-1.scss +25 -25
  112. package/es/components/title/title-2.d.ts +18 -18
  113. package/es/components/title/title-2.scss +22 -22
  114. package/es/index.d.ts +40 -38
  115. package/es/index.js +4 -0
  116. package/es/index.scss +5 -5
  117. package/es/utils/children-node-handle.d.ts +9 -9
  118. package/es/utils/children-node-handle.js +0 -2
  119. package/es/utils/component-wrapper.d.ts +9 -9
  120. package/es/utils/debounce.d.ts +1 -0
  121. package/es/utils/debounce.js +14 -0
  122. package/es/variables.d.ts +2 -2
  123. package/lib/assets/icon/position/arror.png +0 -0
  124. package/lib/components/bottom-navigation/bottom-navigation.d.ts +15 -15
  125. package/lib/components/bottom-navigation/index.d.ts +3 -3
  126. package/lib/components/bottom-navigation/index.scss +23 -23
  127. package/lib/components/button/button.d.ts +14 -14
  128. package/lib/components/button/index.d.ts +6 -6
  129. package/lib/components/button/index.js +2 -2
  130. package/lib/components/carousel/carousel.d.ts +14 -0
  131. package/lib/components/carousel/carousel.js +81 -0
  132. package/lib/components/carousel/carousel.scss +32 -0
  133. package/lib/components/colorful-button/colorful-button.d.ts +12 -12
  134. package/lib/components/colorful-button/index.d.ts +3 -3
  135. package/lib/components/colorful-input/colorful-input.d.ts +8 -8
  136. package/lib/components/colorful-input/index.d.ts +3 -3
  137. package/lib/components/goods-card-list/goods-card-list.d.ts +5 -0
  138. package/lib/components/goods-card-list/goods-card-list.js +146 -0
  139. package/lib/components/goods-card-list/goods-card-list.scss +93 -0
  140. package/lib/components/goods-card-list/index.d.ts +3 -0
  141. package/lib/components/goods-card-list/index.js +6 -0
  142. package/lib/components/goods-card-list/types.d.ts +41 -0
  143. package/lib/components/goods-card-list/types.js +3 -0
  144. package/lib/components/grid-nav/grid-nav.d.ts +13 -13
  145. package/lib/components/grid-nav/index.d.ts +3 -3
  146. package/lib/components/grid-nav/index.scss +37 -37
  147. package/lib/components/integral-task/index.d.ts +6 -6
  148. package/lib/components/integral-task/index.js +2 -2
  149. package/lib/components/integral-task/integral-task.d.ts +40 -40
  150. package/lib/components/menu-list/index.d.ts +6 -6
  151. package/lib/components/menu-list/index.js +2 -2
  152. package/lib/components/menu-list/index.scss +16 -16
  153. package/lib/components/menu-list/menu-list-item.d.ts +5 -5
  154. package/lib/components/menu-list/menu-list-item.scss +49 -49
  155. package/lib/components/menu-list/menu-list.d.ts +5 -5
  156. package/lib/components/menu-list/types.d.ts +23 -23
  157. package/lib/components/message-list/index.d.ts +6 -6
  158. package/lib/components/message-list/index.js +2 -2
  159. package/lib/components/message-list/index.scss +22 -22
  160. package/lib/components/message-list/message-list-item.d.ts +29 -29
  161. package/lib/components/message-list/message-list-item.js +2 -2
  162. package/lib/components/message-list/message-list-item.scss +49 -49
  163. package/lib/components/message-list/message-list.d.ts +32 -32
  164. package/lib/components/notice-bar/index.d.ts +3 -3
  165. package/lib/components/notice-bar/index.scss +26 -26
  166. package/lib/components/notice-bar/notice-bar-item.d.ts +31 -31
  167. package/lib/components/notice-bar/notice-bar-item.scss +26 -26
  168. package/lib/components/notice-bar/notice-bar.d.ts +50 -50
  169. package/lib/components/position/entity.d.ts +5 -5
  170. package/lib/components/position/index.d.ts +3 -3
  171. package/lib/components/position/index.scss +27 -23
  172. package/lib/components/position/position-left.d.ts +9 -9
  173. package/lib/components/position/position-list.d.ts +12 -12
  174. package/lib/components/position/position.d.ts +8 -8
  175. package/lib/components/radio-group/index.d.ts +8 -8
  176. package/lib/components/radio-group/index.scss +40 -40
  177. package/lib/components/radio-group/radio-group-item.d.ts +48 -48
  178. package/lib/components/radio-group/radio-group.d.ts +52 -52
  179. package/lib/components/search-bar/index.d.ts +3 -3
  180. package/lib/components/search-bar/index.scss +13 -13
  181. package/lib/components/search-bar/search-bar.d.ts +7 -7
  182. package/lib/components/swiper/index.d.ts +3 -3
  183. package/lib/components/swiper/swiper.d.ts +47 -47
  184. package/lib/components/tab/index.d.ts +6 -6
  185. package/lib/components/tab/index.js +2 -2
  186. package/lib/components/tab/index.scss +22 -22
  187. package/lib/components/tab/tab.d.ts +23 -23
  188. package/lib/components/tab-container/index.d.ts +3 -3
  189. package/lib/components/tab-container/index.scss +47 -47
  190. package/lib/components/tab-container/tab-container.d.ts +10 -10
  191. package/lib/components/tab-container-item/index.d.ts +3 -3
  192. package/lib/components/tab-container-item/tab-container-item.d.ts +9 -9
  193. package/lib/components/tag/index.d.ts +6 -6
  194. package/lib/components/tag/index.js +2 -2
  195. package/lib/components/tag/tag.d.ts +14 -14
  196. package/lib/components/teletext-list/index.d.ts +6 -6
  197. package/lib/components/teletext-list/index.scss +19 -19
  198. package/lib/components/teletext-list/teletext-list-item.d.ts +42 -42
  199. package/lib/components/teletext-list/teletext-list-item.js +10 -7
  200. package/lib/components/teletext-list/teletext-list-item.scss +55 -55
  201. package/lib/components/teletext-list/teletext-list.d.ts +61 -61
  202. package/lib/components/teletext-list/teletext-list.js +2 -2
  203. package/lib/components/title/index.d.ts +8 -8
  204. package/lib/components/title/title-1.d.ts +10 -10
  205. package/lib/components/title/title-1.scss +25 -25
  206. package/lib/components/title/title-2.d.ts +18 -18
  207. package/lib/components/title/title-2.scss +22 -22
  208. package/lib/index.d.ts +40 -38
  209. package/lib/index.js +5 -1
  210. package/lib/index.scss +5 -5
  211. package/lib/utils/children-node-handle.d.ts +9 -9
  212. package/lib/utils/children-node-handle.js +0 -2
  213. package/lib/utils/component-wrapper.d.ts +9 -9
  214. package/lib/utils/debounce.d.ts +1 -0
  215. package/lib/utils/debounce.js +18 -0
  216. package/lib/variables.d.ts +2 -2
  217. package/lowcode/custom-radio-group/meta.ts +293 -293
  218. package/lowcode/custom-radio-group-item/meta.ts +229 -229
  219. package/lowcode/d-c-slider/meta.design.ts +173 -173
  220. package/lowcode/d-c-slider/meta.ts +342 -342
  221. package/lowcode/d-c-slider/snippets.ts +68 -68
  222. package/lowcode/goods-card-list/meta.ts +262 -0
  223. package/lowcode/grid-nav/meta.ts +212 -212
  224. package/lowcode/menu-list/meta.ts +147 -147
  225. package/lowcode/message-list/meta.ts +205 -205
  226. package/lowcode/navigation/meta.ts +173 -173
  227. package/lowcode/notice-bar/meta.ts +291 -291
  228. package/lowcode/search-bar/meta.ts +54 -54
  229. package/lowcode/tab-container/meta.ts +69 -69
  230. package/lowcode/tab-container/props.ts +194 -194
  231. package/lowcode/tab-container-item/meta.ts +195 -195
  232. package/lowcode/tag-c/meta.ts +75 -75
  233. package/lowcode/teletext-list/meta.ts +329 -329
  234. package/lowcode/title1/meta.ts +59 -59
  235. package/lowcode/title2/meta.ts +93 -93
  236. package/lowcode_es/button2/meta.d.ts +22 -22
  237. package/lowcode_es/custom-radio-group/meta.d.ts +22 -22
  238. package/lowcode_es/custom-radio-group-item/meta.d.ts +23 -23
  239. package/lowcode_es/d-c-slider/meta.d.ts +148 -148
  240. package/lowcode_es/d-c-slider/meta.design.d.ts +100 -100
  241. package/lowcode_es/d-c-slider/snippets.d.ts +36 -36
  242. package/lowcode_es/goods-card-list/meta.d.ts +22 -0
  243. package/lowcode_es/goods-card-list/meta.js +245 -0
  244. package/lowcode_es/grid-nav/meta.d.ts +22 -22
  245. package/lowcode_es/integral-task/meta.d.ts +22 -22
  246. package/lowcode_es/menu-list/meta.d.ts +22 -22
  247. package/lowcode_es/message-list/meta.d.ts +22 -22
  248. package/lowcode_es/meta.js +23 -22
  249. package/lowcode_es/navigation/meta.d.ts +22 -22
  250. package/lowcode_es/notice-bar/meta.d.ts +22 -22
  251. package/lowcode_es/position/meta.d.ts +22 -22
  252. package/lowcode_es/search-bar/meta.d.ts +22 -22
  253. package/lowcode_es/swiper/meta.d.ts +22 -22
  254. package/lowcode_es/tab-container/meta.d.ts +22 -22
  255. package/lowcode_es/tab-container/props.d.ts +90 -90
  256. package/lowcode_es/tab-container-item/meta.d.ts +22 -22
  257. package/lowcode_es/tab-message/meta.d.ts +22 -22
  258. package/lowcode_es/tag-c/meta.d.ts +22 -22
  259. package/lowcode_es/teletext-list/meta.d.ts +22 -22
  260. package/lowcode_es/title1/meta.d.ts +22 -22
  261. package/lowcode_es/title2/meta.d.ts +22 -22
  262. package/lowcode_es/view.js +3 -3
  263. package/lowcode_lib/button2/meta.d.ts +22 -22
  264. package/lowcode_lib/custom-radio-group/meta.d.ts +22 -22
  265. package/lowcode_lib/custom-radio-group-item/meta.d.ts +23 -23
  266. package/lowcode_lib/d-c-slider/meta.d.ts +148 -148
  267. package/lowcode_lib/d-c-slider/meta.design.d.ts +100 -100
  268. package/lowcode_lib/d-c-slider/snippets.d.ts +36 -36
  269. package/lowcode_lib/goods-card-list/meta.d.ts +22 -0
  270. package/lowcode_lib/goods-card-list/meta.js +250 -0
  271. package/lowcode_lib/grid-nav/meta.d.ts +22 -22
  272. package/lowcode_lib/integral-task/meta.d.ts +22 -22
  273. package/lowcode_lib/menu-list/meta.d.ts +22 -22
  274. package/lowcode_lib/message-list/meta.d.ts +22 -22
  275. package/lowcode_lib/meta.js +23 -22
  276. package/lowcode_lib/navigation/meta.d.ts +22 -22
  277. package/lowcode_lib/notice-bar/meta.d.ts +22 -22
  278. package/lowcode_lib/position/meta.d.ts +22 -22
  279. package/lowcode_lib/search-bar/meta.d.ts +22 -22
  280. package/lowcode_lib/swiper/meta.d.ts +22 -22
  281. package/lowcode_lib/tab-container/meta.d.ts +22 -22
  282. package/lowcode_lib/tab-container/props.d.ts +90 -90
  283. package/lowcode_lib/tab-container-item/meta.d.ts +22 -22
  284. package/lowcode_lib/tab-message/meta.d.ts +22 -22
  285. package/lowcode_lib/tag-c/meta.d.ts +22 -22
  286. package/lowcode_lib/teletext-list/meta.d.ts +22 -22
  287. package/lowcode_lib/title1/meta.d.ts +22 -22
  288. package/lowcode_lib/title2/meta.d.ts +22 -22
  289. package/lowcode_lib/view.js +2 -2
  290. package/package.json +3 -3
  291. package/build/docs/umi.c18d41ab.js +0 -1
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _debounce = require("../../utils/debounce");
10
+ var _carousel = _interopRequireDefault(require("../carousel/carousel"));
11
+ require("./goods-card-list.scss");
12
+ var _excluded = ["dataList", "maxSales", "onClick"];
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
15
+ var GoodsCardList = function GoodsCardList(_ref) {
16
+ var _ref$dataList = _ref.dataList,
17
+ dataList = _ref$dataList === void 0 ? [] : _ref$dataList,
18
+ _ref$maxSales = _ref.maxSales,
19
+ maxSales = _ref$maxSales === void 0 ? 1000 : _ref$maxSales,
20
+ _ref$onClick = _ref.onClick,
21
+ _onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
22
+ otherProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
23
+ var _otherProps = otherProps || {};
24
+ var _useState = (0, _react.useState)([]),
25
+ positions = _useState[0],
26
+ setPositions = _useState[1];
27
+ var _useState2 = (0, _react.useState)(0),
28
+ columnWidth = _useState2[0],
29
+ setColumnWidth = _useState2[1];
30
+ var _useState3 = (0, _react.useState)(0),
31
+ maxContainerHeight = _useState3[0],
32
+ setMaxContainerHeight = _useState3[1];
33
+ (0, _react.useEffect)(function () {
34
+ var updateLayout = function updateLayout() {
35
+ var container = document.querySelector('.waterfall-container');
36
+ if (container) {
37
+ var itemElements = document.querySelectorAll('.waterfall-item');
38
+ // 横向间距
39
+ var horizontalGap = 12;
40
+ // 纵向间距
41
+ var verticalGap = 10;
42
+ var containerWidth = container.offsetWidth;
43
+ // 每列宽度为容器宽度的一半减去间距
44
+ var calculatedColumnWidth = (containerWidth - horizontalGap) / 2;
45
+ setColumnWidth(calculatedColumnWidth);
46
+ // 两列布局
47
+ var columnHeights = Array.from({
48
+ length: 2
49
+ }).fill(0);
50
+ var newPositions = [];
51
+ // 循环计算所有的子元素的信息
52
+ itemElements.forEach(function (item) {
53
+ var _item$getBoundingClie = item.getBoundingClientRect(),
54
+ height = _item$getBoundingClie.height;
55
+ // 找到最短的那一列
56
+ var minHeight = Math.min.apply(Math, columnHeights);
57
+ // 获取该列的索引
58
+ var columnIndex = columnHeights.indexOf(minHeight);
59
+ var left = columnIndex * (calculatedColumnWidth + horizontalGap);
60
+ var top = columnHeights[columnIndex];
61
+ // 存储元素的定位
62
+ newPositions.push({
63
+ left: left,
64
+ top: top
65
+ });
66
+ // 更新该列的高度
67
+ columnHeights[columnIndex] += height + verticalGap;
68
+ });
69
+ // 更新位置
70
+ setPositions(newPositions);
71
+ setMaxContainerHeight(Math.max.apply(Math, columnHeights));
72
+ }
73
+ };
74
+ var debouncedUpdateLayout = dataList.length < 15 ? updateLayout : (0, _debounce.debounce)(updateLayout, 200);
75
+ // 图片加载完成后更新布局
76
+ var handleImageLoad = function handleImageLoad() {
77
+ debouncedUpdateLayout();
78
+ };
79
+ // 初始化布局
80
+ debouncedUpdateLayout();
81
+ // 监听图片加载事件,以确保所有图片都加载完后再更新布局
82
+ var images = document.querySelectorAll('.waterfall-container img');
83
+ images.forEach(function (img) {
84
+ // 如果图片已经加载完成(缓存中加载),则立即更新布局
85
+ if (img.complete) {
86
+ handleImageLoad();
87
+ } else {
88
+ // 如果图片未加载完成,监听加载事件
89
+ img.addEventListener('load', handleImageLoad);
90
+ }
91
+ });
92
+
93
+ // 窗口变化时更新布局
94
+ window.addEventListener('resize', debouncedUpdateLayout);
95
+ return function () {
96
+ // 清理事件监听
97
+ window.removeEventListener('resize', debouncedUpdateLayout);
98
+ images.forEach(function (img) {
99
+ return img.removeEventListener('load', handleImageLoad);
100
+ });
101
+ };
102
+ },
103
+ // 当 dataList 变化时重新计算
104
+ [dataList]);
105
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
106
+ className: "card-list-goods__container waterfall-container",
107
+ style: {
108
+ height: maxContainerHeight + 20 + "px"
109
+ }
110
+ }, _otherProps), dataList.map(function (item, index) {
111
+ var _positions$index, _positions$index2;
112
+ return /*#__PURE__*/_react["default"].createElement("div", {
113
+ key: item.key,
114
+ className: "card-list-goods__item waterfall-item",
115
+ onClick: function onClick() {
116
+ return _onClick(item);
117
+ },
118
+ style: {
119
+ left: ((_positions$index = positions[index]) === null || _positions$index === void 0 ? void 0 : _positions$index.left) + "px",
120
+ top: ((_positions$index2 = positions[index]) === null || _positions$index2 === void 0 ? void 0 : _positions$index2.top) + "px",
121
+ width: columnWidth + "px"
122
+ }
123
+ }, item.imageList && item.imageList.length > 0 && /*#__PURE__*/_react["default"].createElement("div", {
124
+ className: "card-list-goods__image"
125
+ }, /*#__PURE__*/_react["default"].createElement(_carousel["default"], {
126
+ images: item.imageList,
127
+ interval: 3000
128
+ })), /*#__PURE__*/_react["default"].createElement("div", {
129
+ className: "card-list-goods__content"
130
+ }, /*#__PURE__*/_react["default"].createElement("div", {
131
+ className: "card-list-goods__title"
132
+ }, item.title), /*#__PURE__*/_react["default"].createElement("div", {
133
+ className: "card-list-goods__desc"
134
+ }, item.desc), /*#__PURE__*/_react["default"].createElement("div", {
135
+ className: "card-list-goods__bottom"
136
+ }, /*#__PURE__*/_react["default"].createElement("div", {
137
+ className: "card-list-goods__unit"
138
+ }, "\uFFE5"), /*#__PURE__*/_react["default"].createElement("div", {
139
+ className: "card-list-goods__price"
140
+ }, item.price), /*#__PURE__*/_react["default"].createElement("div", {
141
+ className: "card-list-goods__sales"
142
+ }, "\u5DF2\u552E", item.sales > maxSales ? maxSales + "+" : item.sales))));
143
+ }));
144
+ };
145
+ GoodsCardList.displayName = 'GoodsCardList';
146
+ var _default = exports["default"] = GoodsCardList;
@@ -0,0 +1,93 @@
1
+ .card-list-goods__container {
2
+ position: relative;
3
+ width: 100%;
4
+
5
+ & > .card-list-goods__item {
6
+ position: absolute;
7
+ box-sizing: border-box;
8
+ transition: top 0.35s ease, left 0.35s ease, width 0.35s ease;
9
+ overflow: hidden;
10
+ border-radius: 8px;
11
+ box-shadow: 0 3px 9px 1px rgba(204,204,204,0.35);
12
+
13
+ & > .card-list-goods__image {
14
+ height: 200px;
15
+ width: 100%;
16
+ overflow: hidden;
17
+ display: flex;
18
+
19
+ & > img {
20
+ height: 100%;
21
+ width: 100%;
22
+ object-fit: cover;
23
+ object-position: center;
24
+ }
25
+ }
26
+
27
+ & > .card-list-goods__content {
28
+ display: flex;
29
+ flex-direction: column;
30
+ justify-content: space-between;
31
+ padding: 0.5rem;
32
+
33
+ .card-list-goods__title {
34
+ overflow: hidden;
35
+ display: -webkit-box;
36
+ -webkit-box-orient: vertical;
37
+ -webkit-line-clamp: 2;
38
+ line-clamp: 2;
39
+ margin-top: 0.25rem;
40
+ margin-bottom: 0.25rem;
41
+ font-size: 14px;
42
+ font-weight: 700;
43
+ }
44
+
45
+ .card-list-goods__desc {
46
+ overflow: hidden;
47
+ text-overflow: ellipsis;
48
+ white-space: nowrap;
49
+ line-clamp: 2;
50
+ margin-top: 0.25rem;
51
+ margin-bottom: 0.25rem;
52
+ font-size: 12px;
53
+ color: #333333;
54
+ }
55
+
56
+ .card-list-goods__bottom {
57
+ margin-top: 0.25rem;
58
+ margin-bottom: 0.25rem;
59
+ display: flex;
60
+ align-items: baseline;
61
+
62
+ .card-list-goods__unit {
63
+ font-size: 12px;
64
+ color: #F57D51;
65
+ font-weight: 700;
66
+ line-height: 1;
67
+ }
68
+
69
+ .card-list-goods__price {
70
+ font-size: 17px;
71
+ color: #F57D51;
72
+ font-weight: 700;
73
+ line-height: 1;
74
+ }
75
+
76
+ .card-list-goods__sales {
77
+ margin-left: 0.5rem;
78
+ margin-right: 0.5rem;
79
+ font-size: 12px;
80
+ color: #666666;
81
+ line-height: 1;
82
+ }
83
+
84
+ }
85
+
86
+ }
87
+
88
+ }
89
+
90
+ }
91
+
92
+
93
+
@@ -0,0 +1,3 @@
1
+ import GoodsCardList from './goods-card-list';
2
+ export type { GoodsCardListItemProps, GoodsCardListProps } from './types';
3
+ export { GoodsCardList };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ var _goodsCardList = _interopRequireDefault(require("./goods-card-list"));
6
+ exports.GoodsCardList = _goodsCardList["default"];
@@ -0,0 +1,41 @@
1
+ export interface GoodsCardListProps {
2
+ /**
3
+ * 卡片列表数据
4
+ */
5
+ dataList: GoodsCardListItemProps[];
6
+ /**
7
+ * 最大销量
8
+ */
9
+ maxSales?: number;
10
+ /**
11
+ * 点击事件
12
+ * @param item
13
+ */
14
+ onClick?: (item: GoodsCardListItemProps) => void;
15
+ }
16
+ export interface GoodsCardListItemProps {
17
+ /**
18
+ * 唯一标识
19
+ */
20
+ key: string;
21
+ /**
22
+ * 缩略图列表
23
+ */
24
+ imageList: string[];
25
+ /**
26
+ * 标题
27
+ */
28
+ title: string;
29
+ /**
30
+ * 简介
31
+ */
32
+ desc: string;
33
+ /**
34
+ * 价格
35
+ */
36
+ price: string;
37
+ /**
38
+ * 销量
39
+ */
40
+ sales: number;
41
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
@@ -1,13 +1,13 @@
1
- import * as React from 'react';
2
- export interface GridNavProps {
3
- dataSourceSetting: [];
4
- columns: number;
5
- iconSize: string;
6
- fontWeight: string;
7
- fontSize: number;
8
- fontColor: string;
9
- lineHeight: string;
10
- lineNum: number;
11
- }
12
- declare const GridNav: React.ForwardRefExoticComponent<GridNavProps & React.RefAttributes<any>>;
13
- export default GridNav;
1
+ import * as React from 'react';
2
+ export interface GridNavProps {
3
+ dataSourceSetting: [];
4
+ columns: number;
5
+ iconSize: string;
6
+ fontWeight: string;
7
+ fontSize: number;
8
+ fontColor: string;
9
+ lineHeight: string;
10
+ lineNum: number;
11
+ }
12
+ declare const GridNav: React.ForwardRefExoticComponent<GridNavProps & React.RefAttributes<any>>;
13
+ export default GridNav;
@@ -1,3 +1,3 @@
1
- import GridNav from "./grid-nav";
2
- export type { GridNavProps } from './grid-nav';
3
- export default GridNav;
1
+ import GridNav from "./grid-nav";
2
+ export type { GridNavProps } from './grid-nav';
3
+ export default GridNav;
@@ -1,37 +1,37 @@
1
- /* write style here */
2
- .grid-navigation {
3
- //padding: 10px;
4
- width: 100%;
5
- display: grid;
6
- gap: 14px 38px; /* 宫格之间的间距 */
7
- margin: 0;
8
- // grid-template-columns: repeat(60px, minmax(1fr));
9
- }
10
-
11
- .grid-item {
12
- display: flex;
13
- flex-direction: column;
14
- align-items: center;
15
- text-align: center;
16
- text-decoration: none;
17
- color: #333;
18
- position: relative;
19
- img {
20
- width: 48px;
21
- height: 51px;
22
- margin-bottom: 3px;
23
- }
24
-
25
- span {
26
- font-size: 13px;
27
- color: #222222;
28
- // overflow: hidden;
29
- // text-overflow: ellipsis;
30
- // white-space: nowrap;
31
- // max-width: 60px;
32
- }
33
-
34
- &:hover {
35
- color: #007bff;
36
- }
37
- }
1
+ /* write style here */
2
+ .grid-navigation {
3
+ //padding: 10px;
4
+ width: 100%;
5
+ display: grid;
6
+ gap: 14px 38px; /* 宫格之间的间距 */
7
+ margin: 0;
8
+ // grid-template-columns: repeat(60px, minmax(1fr));
9
+ }
10
+
11
+ .grid-item {
12
+ display: flex;
13
+ flex-direction: column;
14
+ align-items: center;
15
+ text-align: center;
16
+ text-decoration: none;
17
+ color: #333;
18
+ position: relative;
19
+ img {
20
+ width: 48px;
21
+ height: 51px;
22
+ margin-bottom: 3px;
23
+ }
24
+
25
+ span {
26
+ font-size: 13px;
27
+ color: #222222;
28
+ // overflow: hidden;
29
+ // text-overflow: ellipsis;
30
+ // white-space: nowrap;
31
+ // max-width: 60px;
32
+ }
33
+
34
+ &:hover {
35
+ color: #007bff;
36
+ }
37
+ }
@@ -1,6 +1,6 @@
1
- /**
2
- * 标签tag
3
- */
4
- import IntegralTask from './integral-task';
5
- export type { IntegralTaskProps } from './integral-task';
6
- export default IntegralTask;
1
+ /**
2
+ * 标签tag
3
+ */
4
+ import IntegralTask from './integral-task';
5
+ export type { IntegralTaskProps } from './integral-task';
6
+ export default IntegralTask;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _integralTask = _interopRequireDefault(require("./integral-task"));
7
- /**
8
- * 标签tag
7
+ /**
8
+ * 标签tag
9
9
  */
10
10
  var _default = exports["default"] = _integralTask["default"];
@@ -1,40 +1,40 @@
1
- import * as React from 'react';
2
- import './index.scss';
3
- interface DataProps {
4
- /**
5
- * 任务名称
6
- */
7
- name: string;
8
- /**
9
- * 积分
10
- */
11
- integral: number;
12
- /**
13
- * 状态 0 未完成 1 已完成
14
- */
15
- status: number;
16
- }
17
- export interface IntegralTaskProps {
18
- /**
19
- * 任务名称
20
- */
21
- list: DataProps[];
22
- /**
23
- * 图标
24
- */
25
- icon: string;
26
- /**
27
- * 图片
28
- */
29
- images: string[];
30
- /**
31
- * 完成文案
32
- */
33
- completeLabel: string;
34
- /**
35
- * 未完成文案
36
- */
37
- undoneLabel: string;
38
- }
39
- declare const IntegralTask: React.FC<IntegralTaskProps>;
40
- export default IntegralTask;
1
+ import * as React from 'react';
2
+ import './index.scss';
3
+ interface DataProps {
4
+ /**
5
+ * 任务名称
6
+ */
7
+ name: string;
8
+ /**
9
+ * 积分
10
+ */
11
+ integral: number;
12
+ /**
13
+ * 状态 0 未完成 1 已完成
14
+ */
15
+ status: number;
16
+ }
17
+ export interface IntegralTaskProps {
18
+ /**
19
+ * 任务名称
20
+ */
21
+ list: DataProps[];
22
+ /**
23
+ * 图标
24
+ */
25
+ icon: string;
26
+ /**
27
+ * 图片
28
+ */
29
+ images: string[];
30
+ /**
31
+ * 完成文案
32
+ */
33
+ completeLabel: string;
34
+ /**
35
+ * 未完成文案
36
+ */
37
+ undoneLabel: string;
38
+ }
39
+ declare const IntegralTask: React.FC<IntegralTaskProps>;
40
+ export default IntegralTask;
@@ -1,6 +1,6 @@
1
- /**
2
- * 菜单列表
3
- */
4
- import MenuList from './menu-list';
5
- export type { MenuListDataProps, MenuListProps } from './types';
6
- export default MenuList;
1
+ /**
2
+ * 菜单列表
3
+ */
4
+ import MenuList from './menu-list';
5
+ export type { MenuListDataProps, MenuListProps } from './types';
6
+ export default MenuList;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _menuList = _interopRequireDefault(require("./menu-list"));
7
- /**
8
- * 菜单列表
7
+ /**
8
+ * 菜单列表
9
9
  */
10
10
  var _default = exports["default"] = _menuList["default"];
@@ -1,16 +1,16 @@
1
- @import '../../variables.scss';
2
-
3
- .menu-list__panel {
4
- border-radius: 10px;
5
- background-color: white;
6
-
7
- .menu-list__panel__item-list {
8
- display: flex;
9
- flex-direction: column;
10
- gap: 2px;
11
- padding: 1px 22px;
12
- }
13
-
14
- }
15
-
16
-
1
+ @import '../../variables.scss';
2
+
3
+ .menu-list__panel {
4
+ border-radius: 10px;
5
+ background-color: white;
6
+
7
+ .menu-list__panel__item-list {
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: 2px;
11
+ padding: 1px 22px;
12
+ }
13
+
14
+ }
15
+
16
+
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { MenuListDataProps } from "./types";
3
- import "./menu-list-item.scss";
4
- declare const MenuListItem: React.FC<MenuListDataProps>;
5
- export default MenuListItem;
1
+ import React from 'react';
2
+ import { MenuListDataProps } from "./types";
3
+ import "./menu-list-item.scss";
4
+ declare const MenuListItem: React.FC<MenuListDataProps>;
5
+ export default MenuListItem;