@dckj-npm/dc-material 0.1.147 → 0.1.149

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 (276) hide show
  1. package/build/lowcode/assets-daily.json +13 -13
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +13 -13
  4. package/build/lowcode/meta.design.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/render/default/view.js +1 -1
  7. package/build/lowcode/view.js +1 -1
  8. package/es/components/bottom-navigation/bottom-navigation.d.ts +15 -0
  9. package/es/components/bottom-navigation/index.d.ts +3 -0
  10. package/es/components/button/button.d.ts +14 -0
  11. package/es/components/button/index.d.ts +6 -0
  12. package/es/components/carousel/carousel.d.ts +14 -0
  13. package/es/components/colorful-button/colorful-button.d.ts +12 -0
  14. package/es/components/colorful-button/index.d.ts +3 -0
  15. package/es/components/colorful-input/colorful-input.d.ts +8 -0
  16. package/es/components/colorful-input/index.d.ts +3 -0
  17. package/es/components/form/form-item.d.ts +42 -0
  18. package/es/components/form/form.d.ts +57 -0
  19. package/es/components/form/form.js +46 -0
  20. package/es/components/form/index.d.ts +6 -0
  21. package/es/components/form/index.js +6 -0
  22. package/es/components/form/index.scss +22 -0
  23. package/es/components/form/next-wrapper.d.ts +54 -0
  24. package/es/components/form/next-wrapper.js +43 -0
  25. package/es/components/goods-card-list/goods-card-list-common.d.ts +5 -0
  26. package/es/components/goods-card-list/goods-card-list-common.js +60 -0
  27. package/es/components/goods-card-list/goods-card-list-common.scss +118 -0
  28. package/es/components/goods-card-list/goods-card-list.d.ts +5 -0
  29. package/es/components/goods-card-list/goods-card-list.js +156 -0
  30. package/es/components/goods-card-list/goods-card-list.scss +112 -0
  31. package/es/components/goods-card-list/index.d.ts +4 -0
  32. package/es/components/goods-card-list/index.js +3 -0
  33. package/es/components/goods-card-list/types.d.ts +45 -0
  34. package/es/components/goods-card-list/types.js +1 -0
  35. package/es/components/grid-nav/grid-nav.d.ts +13 -0
  36. package/es/components/grid-nav/grid-nav.js +102 -0
  37. package/es/components/grid-nav/index.d.ts +3 -0
  38. package/es/components/grid-nav/index.js +2 -0
  39. package/es/components/grid-nav/index.scss +50 -0
  40. package/es/components/integral-task/index.d.ts +6 -0
  41. package/es/components/integral-task/index.js +5 -0
  42. package/es/components/integral-task/index.scss +35 -0
  43. package/es/components/integral-task/integral-task.d.ts +40 -0
  44. package/es/components/integral-task/integral-task.js +54 -0
  45. package/es/components/menu-list/index.d.ts +6 -0
  46. package/es/components/menu-list/index.js +6 -0
  47. package/es/components/menu-list/index.scss +16 -0
  48. package/es/components/menu-list/menu-list-item.d.ts +5 -0
  49. package/es/components/menu-list/menu-list-item.js +32 -0
  50. package/es/components/menu-list/menu-list-item.scss +49 -0
  51. package/es/components/menu-list/menu-list.d.ts +5 -0
  52. package/es/components/menu-list/menu-list.js +25 -0
  53. package/es/components/menu-list/types.d.ts +23 -0
  54. package/es/components/menu-list/types.js +1 -0
  55. package/es/components/message-list/index.d.ts +6 -0
  56. package/es/components/message-list/index.js +6 -0
  57. package/es/components/message-list/index.scss +22 -0
  58. package/es/components/message-list/message-list-item.d.ts +33 -0
  59. package/es/components/message-list/message-list-item.js +41 -0
  60. package/es/components/message-list/message-list-item.scss +60 -0
  61. package/es/components/message-list/message-list.d.ts +28 -0
  62. package/es/components/message-list/message-list.js +53 -0
  63. package/es/components/notice-bar/index.d.ts +3 -0
  64. package/es/components/notice-bar/index.js +2 -0
  65. package/es/components/notice-bar/index.scss +84 -0
  66. package/es/components/notice-bar/notice-bar-item.d.ts +18 -0
  67. package/es/components/notice-bar/notice-bar-item.js +30 -0
  68. package/es/components/notice-bar/notice-bar-item.scss +26 -0
  69. package/es/components/notice-bar/notice-bar.d.ts +46 -0
  70. package/es/components/notice-bar/notice-bar.js +57 -0
  71. package/es/components/position/entity.d.ts +5 -0
  72. package/es/components/position/entity.js +1 -0
  73. package/es/components/position/index.d.ts +3 -0
  74. package/es/components/position/index.js +2 -0
  75. package/es/components/position/index.scss +27 -0
  76. package/es/components/position/position-left.d.ts +9 -0
  77. package/es/components/position/position-left.js +28 -0
  78. package/es/components/position/position-list.d.ts +11 -0
  79. package/es/components/position/position-list.js +29 -0
  80. package/es/components/position/position.d.ts +8 -0
  81. package/es/components/position/position.js +48 -0
  82. package/es/components/radio-group/index.d.ts +8 -0
  83. package/es/components/radio-group/index.js +7 -0
  84. package/es/components/radio-group/index.scss +40 -0
  85. package/es/components/radio-group/radio-group-item.d.ts +48 -0
  86. package/es/components/radio-group/radio-group-item.js +74 -0
  87. package/es/components/radio-group/radio-group.d.ts +52 -0
  88. package/es/components/radio-group/radio-group.js +80 -0
  89. package/es/components/rich-text/index.d.ts +6 -0
  90. package/es/components/rich-text/index.js +6 -0
  91. package/es/components/rich-text/index.scss +19 -0
  92. package/es/components/rich-text/rich-text.d.ts +14 -0
  93. package/es/components/rich-text/rich-text.js +37 -0
  94. package/es/components/search-bar/index.d.ts +3 -0
  95. package/es/components/search-bar/index.js +2 -0
  96. package/es/components/search-bar/index.scss +39 -0
  97. package/es/components/search-bar/search-bar.d.ts +10 -0
  98. package/es/components/search-bar/search-bar.js +73 -0
  99. package/es/components/stream-list/index.d.ts +6 -0
  100. package/es/components/stream-list/index.js +6 -0
  101. package/es/components/stream-list/index.scss +26 -0
  102. package/es/components/stream-list/stream-list.d.ts +54 -0
  103. package/es/components/stream-list/stream-list.js +159 -0
  104. package/es/components/swiper/index.d.ts +3 -0
  105. package/es/components/swiper/index.js +2 -0
  106. package/es/components/swiper/index.scss +33 -0
  107. package/es/components/swiper/swiper.d.ts +26 -0
  108. package/es/components/swiper/swiper.js +77 -0
  109. package/es/components/tab/index.d.ts +6 -0
  110. package/es/components/tab/index.js +5 -0
  111. package/es/components/tab/index.scss +39 -0
  112. package/es/components/tab/tab.d.ts +27 -0
  113. package/es/components/tab/tab.js +50 -0
  114. package/es/components/tab-container/index.d.ts +3 -0
  115. package/es/components/tab-container/index.js +2 -0
  116. package/es/components/tab-container/index.scss +48 -0
  117. package/es/components/tab-container/tab-container.d.ts +10 -0
  118. package/es/components/tab-container/tab-container.js +26 -0
  119. package/es/components/tab-container-item/index.d.ts +3 -0
  120. package/es/components/tab-container-item/index.js +2 -0
  121. package/es/components/tab-container-item/index.scss +0 -0
  122. package/es/components/tab-container-item/tab-container-item.d.ts +11 -0
  123. package/es/components/tab-container-item/tab-container-item.js +19 -0
  124. package/es/components/tag/index.d.ts +6 -0
  125. package/es/components/tag/index.js +5 -0
  126. package/es/components/tag/index.scss +24 -0
  127. package/es/components/tag/tag.d.ts +14 -0
  128. package/es/components/tag/tag.js +14 -0
  129. package/es/components/teletext-list/index.d.ts +6 -0
  130. package/es/components/teletext-list/index.js +6 -0
  131. package/es/components/teletext-list/index.scss +40 -0
  132. package/es/components/teletext-list/teletext-list-item.d.ts +33 -0
  133. package/es/components/teletext-list/teletext-list-item.js +61 -0
  134. package/es/components/teletext-list/teletext-list-item.scss +57 -0
  135. package/es/components/teletext-list/teletext-list.d.ts +61 -0
  136. package/es/components/teletext-list/teletext-list.js +48 -0
  137. package/es/components/title/index.d.ts +8 -0
  138. package/es/components/title/index.js +7 -0
  139. package/es/components/title/title-1.d.ts +10 -0
  140. package/es/components/title/title-1.js +16 -0
  141. package/es/components/title/title-1.scss +25 -0
  142. package/es/components/title/title-2.d.ts +18 -0
  143. package/es/components/title/title-2.js +31 -0
  144. package/es/components/title/title-2.scss +22 -0
  145. package/es/entity/dynamic-column-data-type.d.ts +47 -0
  146. package/es/entity/dynamic-column-data-type.js +165 -0
  147. package/es/index.d.ts +46 -0
  148. package/es/index.js +86 -0
  149. package/es/index.scss +6 -0
  150. package/es/style.js +4 -0
  151. package/es/utils/children-node-handle.d.ts +9 -0
  152. package/es/utils/children-node-handle.js +25 -0
  153. package/es/utils/component-wrapper.d.ts +9 -0
  154. package/es/utils/component-wrapper.js +38 -0
  155. package/es/utils/debounce.d.ts +1 -0
  156. package/es/utils/debounce.js +14 -0
  157. package/es/utils/textUtil.d.ts +10 -0
  158. package/es/utils/textUtil.js +51 -0
  159. package/es/utils/time-util.d.ts +5 -0
  160. package/es/utils/time-util.js +18 -0
  161. package/es/variables.d.ts +2 -0
  162. package/es/variables.js +2 -0
  163. package/es/variables.scss +3 -0
  164. package/lib/assets/icon/grid-nav/right.png +0 -0
  165. package/lib/assets/icon/position/img.png +0 -0
  166. package/lib/assets/icon/position/location.png +0 -0
  167. package/lib/assets/icon/search/delete.png +0 -0
  168. package/lib/assets/icon/search/search.png +0 -0
  169. package/lib/assets/icon/teletext-list/arr.png +0 -0
  170. package/lib/components/bottom-navigation/bottom-navigation.d.ts +15 -0
  171. package/lib/components/bottom-navigation/index.d.ts +3 -0
  172. package/lib/components/button/button.d.ts +14 -0
  173. package/lib/components/button/index.d.ts +6 -0
  174. package/lib/components/carousel/carousel.d.ts +14 -0
  175. package/lib/components/colorful-button/colorful-button.d.ts +12 -0
  176. package/lib/components/colorful-button/index.d.ts +3 -0
  177. package/lib/components/colorful-input/colorful-input.d.ts +8 -0
  178. package/lib/components/colorful-input/index.d.ts +3 -0
  179. package/lib/components/form/form-item.d.ts +42 -0
  180. package/lib/components/form/form-item.js +86 -0
  181. package/lib/components/form/form-item.scss +20 -0
  182. package/lib/components/form/form.d.ts +57 -0
  183. package/lib/components/form/form.js +49 -0
  184. package/lib/components/form/index.d.ts +6 -0
  185. package/lib/components/form/index.js +6 -0
  186. package/lib/components/form/index.scss +22 -0
  187. package/lib/components/form/next-wrapper.d.ts +54 -0
  188. package/lib/components/form/next-wrapper.js +49 -0
  189. package/lib/components/goods-card-list/goods-card-list-common.d.ts +5 -0
  190. package/lib/components/goods-card-list/goods-card-list.d.ts +5 -0
  191. package/lib/components/goods-card-list/index.d.ts +4 -0
  192. package/lib/components/goods-card-list/types.d.ts +45 -0
  193. package/lib/components/grid-nav/grid-nav.d.ts +13 -0
  194. package/lib/components/grid-nav/grid-nav.js +15 -4
  195. package/lib/components/grid-nav/index.d.ts +3 -0
  196. package/lib/components/grid-nav/index.scss +27 -18
  197. package/lib/components/integral-task/index.d.ts +6 -0
  198. package/lib/components/integral-task/integral-task.d.ts +40 -0
  199. package/lib/components/menu-list/index.d.ts +6 -0
  200. package/lib/components/menu-list/menu-list-item.d.ts +5 -0
  201. package/lib/components/menu-list/menu-list.d.ts +5 -0
  202. package/lib/components/menu-list/types.d.ts +23 -0
  203. package/lib/components/message-list/index.d.ts +6 -0
  204. package/lib/components/message-list/message-list-item.d.ts +33 -0
  205. package/lib/components/message-list/message-list-item.scss +1 -1
  206. package/lib/components/message-list/message-list.d.ts +28 -0
  207. package/lib/components/notice-bar/index.d.ts +3 -0
  208. package/lib/components/notice-bar/index.scss +56 -14
  209. package/lib/components/notice-bar/notice-bar-item.d.ts +18 -0
  210. package/lib/components/notice-bar/notice-bar-item.js +6 -5
  211. package/lib/components/notice-bar/notice-bar-item.scss +1 -1
  212. package/lib/components/notice-bar/notice-bar.d.ts +46 -0
  213. package/lib/components/notice-bar/notice-bar.js +28 -56
  214. package/lib/components/position/entity.d.ts +5 -0
  215. package/lib/components/position/index.d.ts +3 -0
  216. package/lib/components/position/position-left.d.ts +9 -0
  217. package/lib/components/position/position-list.d.ts +11 -0
  218. package/lib/components/position/position-list.js +2 -3
  219. package/lib/components/position/position.d.ts +8 -0
  220. package/lib/components/radio-group/index.d.ts +8 -0
  221. package/lib/components/radio-group/radio-group-item.d.ts +48 -0
  222. package/lib/components/radio-group/radio-group.d.ts +52 -0
  223. package/lib/components/rich-text/index.d.ts +6 -0
  224. package/lib/components/rich-text/rich-text.d.ts +14 -0
  225. package/lib/components/search-bar/index.d.ts +3 -0
  226. package/lib/components/search-bar/index.scss +36 -10
  227. package/lib/components/search-bar/search-bar.d.ts +10 -0
  228. package/lib/components/search-bar/search-bar.js +67 -27
  229. package/lib/components/stream-list/index.d.ts +6 -0
  230. package/lib/components/stream-list/index.js +6 -0
  231. package/lib/components/stream-list/index.scss +26 -0
  232. package/lib/components/stream-list/stream-list.d.ts +54 -0
  233. package/lib/components/stream-list/stream-list.js +166 -0
  234. package/lib/components/swiper/index.d.ts +3 -0
  235. package/lib/components/swiper/index.scss +29 -8
  236. package/lib/components/swiper/swiper.d.ts +26 -0
  237. package/lib/components/swiper/swiper.js +60 -19
  238. package/lib/components/tab/index.d.ts +6 -0
  239. package/lib/components/tab/tab.d.ts +27 -0
  240. package/lib/components/tab-container/index.d.ts +3 -0
  241. package/lib/components/tab-container/tab-container.d.ts +10 -0
  242. package/lib/components/tab-container-item/index.d.ts +3 -0
  243. package/lib/components/tab-container-item/tab-container-item.d.ts +11 -0
  244. package/lib/components/tag/index.d.ts +6 -0
  245. package/lib/components/tag/tag.d.ts +14 -0
  246. package/lib/components/teletext-list/index.d.ts +6 -0
  247. package/lib/components/teletext-list/index.scss +21 -0
  248. package/lib/components/teletext-list/teletext-list-item.d.ts +33 -0
  249. package/lib/components/teletext-list/teletext-list-item.scss +4 -2
  250. package/lib/components/teletext-list/teletext-list.d.ts +61 -0
  251. package/lib/components/teletext-list/teletext-list.js +17 -7
  252. package/lib/components/title/index.d.ts +8 -0
  253. package/lib/components/title/title-1.d.ts +10 -0
  254. package/lib/components/title/title-2.d.ts +18 -0
  255. package/lib/entity/dynamic-column-data-type.d.ts +47 -0
  256. package/lib/entity/dynamic-column-data-type.js +169 -0
  257. package/lib/index.d.ts +46 -0
  258. package/lib/index.js +9 -1
  259. package/lib/style.js +1 -2
  260. package/lib/utils/children-node-handle.d.ts +9 -0
  261. package/lib/utils/component-wrapper.d.ts +9 -0
  262. package/lib/utils/debounce.d.ts +1 -0
  263. package/lib/utils/textUtil.d.ts +10 -0
  264. package/lib/utils/textUtil.js +55 -0
  265. package/lib/utils/time-util.d.ts +5 -0
  266. package/lib/variables.d.ts +2 -0
  267. package/lowcode/{d-c-form → form}/meta.ts +6 -6
  268. package/lowcode_es/{d-c-form → form}/meta.js +6 -6
  269. package/lowcode_es/meta.js +3 -3
  270. package/lowcode_lib/{d-c-form → form}/meta.js +6 -6
  271. package/lowcode_lib/meta.js +3 -3
  272. package/package.json +3 -3
  273. package/lib/components/notice-bar/components/ScrollSwitcher.js +0 -52
  274. package/lib/components/notice-bar/components/ScrollSwitcher.scss +0 -17
  275. /package/lowcode_es/{d-c-form → form}/meta.d.ts +0 -0
  276. /package/lowcode_lib/{d-c-form → form}/meta.d.ts +0 -0
@@ -0,0 +1,73 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["onSearch", "searchText", "autofocus", "placeholder", "onConfirm"];
4
+ import * as React from 'react';
5
+ import { useRef, useState } from "react";
6
+ import searchIcon from "../../assets/icon/search/search.png";
7
+ import deleteIcon from "../../assets/icon/search/delete.png";
8
+ var SearchBar = function SearchBar(props) {
9
+ var onSearch = props.onSearch,
10
+ _props$searchText = props.searchText,
11
+ searchText = _props$searchText === void 0 ? true : _props$searchText,
12
+ _props$autofocus = props.autofocus,
13
+ autofocus = _props$autofocus === void 0 ? false : _props$autofocus,
14
+ _props$placeholder = props.placeholder,
15
+ placeholder = _props$placeholder === void 0 ? '请输入' : _props$placeholder,
16
+ onConfirm = props.onConfirm,
17
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
18
+ var _useState = useState(),
19
+ searchValue = _useState[0],
20
+ setSearchValue = _useState[1];
21
+ var searchInput = useRef(null);
22
+ var handleChange = function handleChange(e) {
23
+ setSearchValue(e.target.value); // 更新 state
24
+ };
25
+ /**
26
+ * 触发confirm事件
27
+ */
28
+ var confirm = function confirm() {
29
+ var _searchInput$current;
30
+ if (onConfirm) {
31
+ onConfirm(searchValue);
32
+ }
33
+ searchInput === null || searchInput === void 0 ? void 0 : (_searchInput$current = searchInput.current) === null || _searchInput$current === void 0 ? void 0 : _searchInput$current.blur();
34
+ };
35
+ var handleKeyDown = function handleKeyDown(e) {
36
+ if (e.key === "Enter") {
37
+ confirm();
38
+ }
39
+ };
40
+ var clearValue = function clearValue() {
41
+ setSearchValue('');
42
+ };
43
+ return /*#__PURE__*/React.createElement("form", _extends({
44
+ action: "",
45
+ className: "search-bar-form"
46
+ }, otherProps, {
47
+ onSubmit: confirm
48
+ }), /*#__PURE__*/React.createElement("div", {
49
+ className: "search-bar",
50
+ onClick: onSearch
51
+ }, /*#__PURE__*/React.createElement("span", {
52
+ className: "search-bar-icon"
53
+ }, /*#__PURE__*/React.createElement("img", {
54
+ src: searchIcon,
55
+ className: "search-bar-icon-img"
56
+ })), /*#__PURE__*/React.createElement("input", {
57
+ className: "search-bar-input",
58
+ placeholder: placeholder,
59
+ value: searchValue,
60
+ autoFocus: autofocus,
61
+ onChange: handleChange,
62
+ onKeyDown: handleKeyDown,
63
+ ref: searchInput
64
+ }), searchValue ? /*#__PURE__*/React.createElement("img", {
65
+ className: "search-bar-delete-img",
66
+ src: deleteIcon,
67
+ onClick: clearValue
68
+ }) : '', searchText ? /*#__PURE__*/React.createElement("span", {
69
+ className: "search-bar-enter",
70
+ onClick: confirm
71
+ }, "\u641C\u7D22") : ''));
72
+ };
73
+ export default SearchBar;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 菜单列表
3
+ */
4
+ import StreamList from './stream-list';
5
+ export type { StreamListProps } from './stream-list';
6
+ export { StreamList };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 菜单列表
3
+ */
4
+
5
+ import StreamList from "./stream-list";
6
+ export { StreamList };
@@ -0,0 +1,26 @@
1
+ @import '../../variables.scss';
2
+
3
+ .stream-list-container {
4
+
5
+ .refresh-indicator {
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ height: 40px;
10
+ font-size: 14px;
11
+ color: #333;
12
+ pointer-events: none;
13
+ }
14
+
15
+ // 加载更多提示的样式
16
+ .spin, .loading-text {
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ height: 40px; // 提示高度
21
+ font-size: 14px;
22
+ color: #666;
23
+ }
24
+
25
+ }
26
+
@@ -0,0 +1,54 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export interface PageHelperType<T = any> {
5
+ page: number;
6
+ rows: number;
7
+ isLastPage: boolean;
8
+ total: number;
9
+ list: T[];
10
+ }
11
+ export interface StreamListProps {
12
+ /**
13
+ * 子组件内容
14
+ */
15
+ children: ReactNode;
16
+ /**
17
+ * 请求下一页数据的函数
18
+ * @param page
19
+ * @param rows
20
+ */
21
+ onNextPage?: (options: {
22
+ page: number;
23
+ rows?: number;
24
+ }) => Promise<PageHelperType>;
25
+ /**
26
+ * 请求刷新数据的函数
27
+ */
28
+ onRefreshPage?: () => Promise<PageHelperType>;
29
+ /**
30
+ * 是否是最后一页
31
+ */
32
+ isLastPage?: boolean;
33
+ /**
34
+ * 当前页
35
+ */
36
+ nowPage?: number;
37
+ /**
38
+ * 刷新中的文字提示
39
+ */
40
+ refreshingText?: string;
41
+ /**
42
+ * 加载中的文字提示
43
+ */
44
+ loadingText?: string;
45
+ /**
46
+ * 加载更多的文字提示
47
+ */
48
+ loadMoreText?: string;
49
+ }
50
+ /**
51
+ * StreamList 组件
52
+ */
53
+ declare const StreamList: React.FC<StreamListProps>;
54
+ export default StreamList;
@@ -0,0 +1,159 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import React, { useEffect, useRef, useState } from 'react';
4
+ import "./index.scss";
5
+ /**
6
+ * StreamList 组件
7
+ */
8
+ var StreamList = function StreamList(_ref) {
9
+ var children = _ref.children,
10
+ onNextPage = _ref.onNextPage,
11
+ onRefreshPage = _ref.onRefreshPage,
12
+ _ref$refreshingText = _ref.refreshingText,
13
+ refreshingText = _ref$refreshingText === void 0 ? '正在刷新中...' : _ref$refreshingText,
14
+ _ref$loadingText = _ref.loadingText,
15
+ loadingText = _ref$loadingText === void 0 ? '加载中...' : _ref$loadingText,
16
+ _ref$loadMoreText = _ref.loadMoreText,
17
+ loadMoreText = _ref$loadMoreText === void 0 ? '加载更多' : _ref$loadMoreText,
18
+ _ref$isLastPage = _ref.isLastPage,
19
+ isLastPage = _ref$isLastPage === void 0 ? false : _ref$isLastPage,
20
+ _ref$nowPage = _ref.nowPage,
21
+ nowPage = _ref$nowPage === void 0 ? 1 : _ref$nowPage;
22
+ var _useState = useState(false),
23
+ isLoading = _useState[0],
24
+ setIsLoading = _useState[1];
25
+ var _useState2 = useState(false),
26
+ isRefreshing = _useState2[0],
27
+ setIsRefreshing = _useState2[1];
28
+ // 下拉刷新的阈值
29
+ var threshold = 50;
30
+ // 最大下拉距离
31
+ var maxPullDistance = 100;
32
+ var _useState3 = useState(0),
33
+ pullDistance = _useState3[0],
34
+ setPullDistance = _useState3[1];
35
+ var startYRef = useRef(0);
36
+ var _useState4 = useState(false),
37
+ isDragging = _useState4[0],
38
+ setIsDragging = _useState4[1];
39
+ var observerRef = useRef(null);
40
+ // 防止初始加载直接请求下一页
41
+ var hasInitialLoad = useRef(false);
42
+
43
+ // 监听加载下一页数据
44
+ useEffect(function () {
45
+ if (isRefreshing || isLastPage) {
46
+ // @ts-ignore
47
+ return;
48
+ }
49
+ var spinElement = document.querySelector('.spin');
50
+ if (spinElement && !observerRef.current) {
51
+ // 创建 IntersectionObserver 观察器
52
+ observerRef.current = new IntersectionObserver(function (entries) {
53
+ var entry = entries[0];
54
+ if (entry.isIntersecting && !isLoading) {
55
+ setIsLoading(true);
56
+ var nextPage = nowPage + 1;
57
+ onNextPage({
58
+ page: nextPage
59
+ }).then(function (res) {})["catch"](function (err) {
60
+ console.error('加载下一页失败:', err);
61
+ })["finally"](function () {
62
+ return setIsLoading(false);
63
+ });
64
+ }
65
+ }, {
66
+ threshold: 0.4
67
+ });
68
+ // 观察加载更多元素
69
+ observerRef.current.observe(spinElement);
70
+ }
71
+ return function () {
72
+ if (observerRef.current) {
73
+ // 清除观察者
74
+ observerRef.current.disconnect();
75
+ observerRef.current = null;
76
+ }
77
+ };
78
+ }, [nowPage, isLoading, isRefreshing, isLastPage]);
79
+
80
+ // 初始化加载标记
81
+ useEffect(function () {
82
+ hasInitialLoad.current = true;
83
+ }, []);
84
+
85
+ // 处理触摸和鼠标事件
86
+ var handleTouchStart = function handleTouchStart(e) {
87
+ startYRef.current = 'touches' in e ? e.touches[0].clientY : e.clientY;
88
+ setIsDragging(true);
89
+ };
90
+ var handleTouchMove = function handleTouchMove(e) {
91
+ if (isRefreshing || !isDragging && !('touches' in e)) return;
92
+ var clientY = 'touches' in e ? e.touches[0].clientY : e.clientY;
93
+ var distance = clientY - startYRef.current;
94
+
95
+ // 更新下拉距离
96
+ if (distance > 0 && distance <= maxPullDistance) {
97
+ setPullDistance(distance);
98
+ } else if (distance > maxPullDistance) {
99
+ setPullDistance(maxPullDistance);
100
+ }
101
+ };
102
+ var handleTouchEnd = /*#__PURE__*/function () {
103
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
104
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
105
+ while (1) switch (_context.prev = _context.next) {
106
+ case 0:
107
+ setIsDragging(false);
108
+ if (pullDistance > threshold) {
109
+ setIsRefreshing(true);
110
+ setPullDistance(0);
111
+ onRefreshPage().then(function (res) {})["catch"](function (err) {
112
+ console.error('刷新失败:', err);
113
+ })["finally"](function () {
114
+ setIsRefreshing(false);
115
+ });
116
+ } else {
117
+ setPullDistance(0); // 重置下拉距离
118
+ }
119
+ case 2:
120
+ case "end":
121
+ return _context.stop();
122
+ }
123
+ }, _callee);
124
+ }));
125
+ return function handleTouchEnd() {
126
+ return _ref2.apply(this, arguments);
127
+ };
128
+ }();
129
+ return /*#__PURE__*/React.createElement("div", {
130
+ onTouchStart: handleTouchStart,
131
+ onTouchMove: handleTouchMove,
132
+ onTouchEnd: handleTouchEnd,
133
+ onMouseDown: handleTouchStart,
134
+ onMouseMove: handleTouchMove,
135
+ onMouseUp: handleTouchEnd,
136
+ className: "stream-list-container"
137
+ }, /*#__PURE__*/React.createElement("div", {
138
+ className: "refresh-indicator",
139
+ style: {
140
+ position: 'fixed',
141
+ top: 0,
142
+ left: 0,
143
+ right: 0,
144
+ transform: "translateY(" + (isRefreshing ? threshold : pullDistance) + "px)",
145
+ transition: isRefreshing || pullDistance === 0 ? 'transform 0.3s ease' : 'none'
146
+ }
147
+ }, isRefreshing && /*#__PURE__*/React.createElement("span", null, refreshingText)), /*#__PURE__*/React.createElement("div", {
148
+ style: {
149
+ transform: "translateY(" + (isRefreshing ? threshold : pullDistance) + "px)",
150
+ transition: 'transform 0.3s ease'
151
+ }
152
+ }, children), !isRefreshing && !isLastPage && (isLoading ? /*#__PURE__*/React.createElement("div", {
153
+ className: "loading-text"
154
+ }, loadingText) : /*#__PURE__*/React.createElement("div", {
155
+ className: "spin"
156
+ }, loadMoreText)));
157
+ };
158
+ StreamList.displayName = 'StreamList';
159
+ export default StreamList;
@@ -0,0 +1,3 @@
1
+ import Swiper from './swiper';
2
+ export type { ComponentProps } from './swiper';
3
+ export default Swiper;
@@ -0,0 +1,2 @@
1
+ import Swiper from "./swiper";
2
+ export default Swiper;
@@ -0,0 +1,33 @@
1
+ .carousel {
2
+ position: relative;
3
+ overflow: hidden;
4
+ width: 100%;
5
+ margin: 0;
6
+ }
7
+ .carousel__wrapper {
8
+ display: flex;
9
+ }
10
+ .carousel__slide {
11
+ min-width: 100%;
12
+ transition: transform ease-in-out;
13
+ }
14
+ .carousel__slide img {
15
+ width: 100%;
16
+ height: auto;
17
+ }
18
+ .carousel__button {
19
+ position: absolute;
20
+ top: 50%;
21
+ transform: translateY(-50%);
22
+ background: rgba(0, 0, 0, 0.5);
23
+ color: white;
24
+ border: none;
25
+ padding: 10px;
26
+ cursor: pointer;
27
+ }
28
+ .carousel__button--prev {
29
+ left: 10px;
30
+ }
31
+ .carousel__button--next {
32
+ right: 10px;
33
+ }
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import './index.scss';
3
+ export interface ComponentProps {
4
+ /**
5
+ * 切换速度,单位ms
6
+ */
7
+ speed?: number;
8
+ /**
9
+ * 高度
10
+ */
11
+ height: number;
12
+ /**
13
+ * 自动播放
14
+ */
15
+ autoplay: boolean;
16
+ /**
17
+ * 循环播放
18
+ */
19
+ loop: boolean;
20
+ /**
21
+ * 图片路径
22
+ */
23
+ picUrls: string[];
24
+ }
25
+ declare const DCSlider: React.FC<ComponentProps>;
26
+ export default DCSlider;
@@ -0,0 +1,77 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["speed", "autoplay", "loop", "picUrls", "height"];
4
+ import * as React from 'react';
5
+ import { useEffect, useRef, useState } from 'react';
6
+ import "./index.scss";
7
+ var DCSlider = function DCSlider(_ref) {
8
+ var _ref$speed = _ref.speed,
9
+ speed = _ref$speed === void 0 ? 500 : _ref$speed,
10
+ autoplay = _ref.autoplay,
11
+ loop = _ref.loop,
12
+ _ref$picUrls = _ref.picUrls,
13
+ picUrls = _ref$picUrls === void 0 ? [] : _ref$picUrls,
14
+ height = _ref.height,
15
+ otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
16
+ var _useState = useState(0),
17
+ currentIndex = _useState[0],
18
+ setCurrentIndex = _useState[1];
19
+ var autoplayRef = useRef(null);
20
+ var nextSlide = function nextSlide() {
21
+ if (currentIndex < picUrls.length - 1) {
22
+ setCurrentIndex(currentIndex + 1);
23
+ } else if (loop) {
24
+ setCurrentIndex(0);
25
+ }
26
+ };
27
+ var startAutoplay = function startAutoplay() {
28
+ if (autoplay && !autoplayRef.current) {
29
+ autoplayRef.current = setInterval(nextSlide, speed);
30
+ }
31
+ };
32
+ var stopAutoplay = function stopAutoplay() {
33
+ if (autoplayRef.current) {
34
+ clearInterval(autoplayRef.current);
35
+ autoplayRef.current = null;
36
+ }
37
+ };
38
+ useEffect(function () {
39
+ if (autoplay) {
40
+ startAutoplay();
41
+ }
42
+ return function () {
43
+ stopAutoplay();
44
+ };
45
+ }, [autoplay, speed, loop, picUrls]);
46
+ return /*#__PURE__*/React.createElement("div", _extends({
47
+ className: "carousel",
48
+ onMouseEnter: stopAutoplay,
49
+ onMouseLeave: startAutoplay,
50
+ style: {
51
+ height: height ? height + "px" : '100%'
52
+ }
53
+ }, otherProps), /*#__PURE__*/React.createElement("div", {
54
+ className: "carousel__wrapper",
55
+ style: {
56
+ transform: "translateX(-" + currentIndex * 100 + "%)",
57
+ transitionDuration: speed + "ms"
58
+ }
59
+ }, picUrls.map(function (url, index) {
60
+ return /*#__PURE__*/React.createElement("div", {
61
+ key: index,
62
+ className: "carousel__slide",
63
+ style: {
64
+ width: '100%',
65
+ height: height ? height + "px" : '100%'
66
+ }
67
+ }, /*#__PURE__*/React.createElement("img", {
68
+ src: url,
69
+ alt: "Slide " + index,
70
+ style: {
71
+ width: '100%',
72
+ height: height ? height + "px" : '100%'
73
+ }
74
+ }));
75
+ })));
76
+ };
77
+ export default DCSlider;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 标签tag
3
+ */
4
+ import Tab from './tab';
5
+ export type { TabProps } from './tab';
6
+ export default Tab;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 标签tag
3
+ */
4
+ import Tab from "./tab";
5
+ export default Tab;
@@ -0,0 +1,39 @@
1
+ .tabs__container {
2
+ display: inline-block;
3
+ padding: 5px 17px;
4
+ border-radius: 19px;
5
+ background-color: #FFFFFF;
6
+ color: #666666;
7
+ font-size: 15px;
8
+ cursor: pointer;
9
+ margin-right: 6px;
10
+ letter-spacing: 2px;
11
+ position: relative;
12
+ &--selected {
13
+ background-color: #ED794A;
14
+ color: #FFFFFF;
15
+ }
16
+ &--small {
17
+ padding: 5px 16px;
18
+ border-radius: 19px;
19
+ }
20
+ &--large {
21
+ padding: 14px 30px;
22
+ border-radius: 28px;
23
+ }
24
+ .badge {
25
+ display: flex;
26
+ padding: 2px 4px;
27
+ border-radius: 8px;
28
+ background-color: #F44341; // 红色背景
29
+ color: white; // 字体颜色
30
+ // text-align: center;
31
+ letter-spacing: 0;
32
+ justify-content: center;
33
+ line-height: normal; // 垂直居中
34
+ font-size: 10px; // 根据需要调整字体大小
35
+ position: absolute; // 绝对定位
36
+ top: 0; // 根据需要调整位置
37
+ right: 3px; // 根据需要调整位置
38
+ }
39
+ }
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ import './index.scss';
3
+ export interface TabProps {
4
+ /**
5
+ * 选中背景颜色
6
+ */
7
+ selectedBGColor: string;
8
+ /**
9
+ * 选中字体颜色
10
+ */
11
+ selectedFontColor: string;
12
+ /**
13
+ * 尺寸 small | large
14
+ */
15
+ size: string;
16
+ /**
17
+ * 点击事件
18
+ * @param e
19
+ */
20
+ onClickHandle?: (e: string) => void;
21
+ /**
22
+ * 未读消息数量
23
+ */
24
+ unreadCount?: number;
25
+ }
26
+ declare const Tab: React.FC<TabProps>;
27
+ export default Tab;
@@ -0,0 +1,50 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["selectedBGColor", "selectedFontColor", "size", "onClickHandle", "unreadCount"];
4
+ import * as React from 'react';
5
+ import "./index.scss";
6
+ var Tab = function Tab(_ref) {
7
+ var selectedBGColor = _ref.selectedBGColor,
8
+ selectedFontColor = _ref.selectedFontColor,
9
+ size = _ref.size,
10
+ onClickHandle = _ref.onClickHandle,
11
+ unreadCount = _ref.unreadCount,
12
+ otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
13
+ var tabList = [{
14
+ key: 'all',
15
+ label: '全部'
16
+ }, {
17
+ key: 'read',
18
+ label: '已读'
19
+ }, {
20
+ key: 'unRead',
21
+ label: '未读'
22
+ }];
23
+ var _React$useState = React.useState('all'),
24
+ tab = _React$useState[0],
25
+ setTab = _React$useState[1];
26
+ var handleClick = function handleClick(key) {
27
+ console.log(key);
28
+ // 切换tab
29
+ setTab(key);
30
+ // 触发父组件传递的点击处理函数
31
+ onClickHandle && onClickHandle(key);
32
+ };
33
+ return tabList.map(function (item) {
34
+ return /*#__PURE__*/React.createElement("span", _extends({
35
+ className: "tabs__container\n " + (tab === item.key ? 'tabs__container--selected' : '') + "\n " + (size == 'large' ? 'tabs__container--large' : 'tabs__container--small')
36
+ }, otherProps, {
37
+ onClick: function onClick() {
38
+ return handleClick(item.key);
39
+ },
40
+ style: {
41
+ backgroundColor: tab === item.key ? selectedBGColor : '',
42
+ color: tab === item.key ? selectedFontColor : ''
43
+ }
44
+ }), item.label, item.key === 'unRead' && unreadCount > 0 && /*#__PURE__*/React.createElement("span", {
45
+ className: "badge"
46
+ }, unreadCount) // 条件渲染badge
47
+ );
48
+ });
49
+ };
50
+ export default Tab;
@@ -0,0 +1,3 @@
1
+ import { TabContainer } from '../tab-container/tab-container';
2
+ export type { TabContainerProps } from '../tab-container/tab-container';
3
+ export default TabContainer;
@@ -0,0 +1,2 @@
1
+ import { TabContainer } from "../tab-container/tab-container";
2
+ export default TabContainer;
@@ -0,0 +1,48 @@
1
+ .fusion-ui-tab {
2
+ display: block;
3
+ background-color: #fff;
4
+
5
+ &.next-medium {
6
+ .next-tabs-content {
7
+ padding: 0;
8
+ }
9
+
10
+ }
11
+ .next-tabs-bar {
12
+ border-bottom: none;
13
+ margin-bottom: 15px;
14
+ .next-tabs-nav-container {
15
+ .next-tabs-nav {
16
+ .next-tabs-tab {
17
+ font-size: 16px;
18
+ color: #666666;
19
+ margin-right: 13px;
20
+ &.active {
21
+ color: #333;
22
+ font-size: 17px;
23
+ }
24
+ &.active::before {
25
+ bottom: 2px;
26
+ border-bottom: 5px solid #E96D40;
27
+ z-index: 0;
28
+ border-radius: 2.5px;
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ &.next-small {
36
+ .next-tabs-content {
37
+ padding: 12px;
38
+ }
39
+ }
40
+ }
41
+ .navigation {
42
+ z-index: 10;
43
+ position: relative;
44
+ }
45
+
46
+ :global(.fd-layout-p-margin) {
47
+ margin-top: 0 !important;
48
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { Tab } from '@alifd/next';
3
+ import './index.scss';
4
+ export interface TabContainerProps extends React.ComponentProps<typeof Tab> {
5
+ className?: string;
6
+ }
7
+ export declare const TabContainer: {
8
+ (props: TabContainerProps): JSX.Element;
9
+ displayName: string;
10
+ };