@x-edu/live-player 0.0.19 → 0.0.21

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 (302) hide show
  1. package/.browserslistrc +10 -10
  2. package/.eslintignore +8 -8
  3. package/.eslintrc.js +26 -26
  4. package/.gem-mine +11 -11
  5. package/.postcssrc.js +6 -6
  6. package/README.md +145 -145
  7. package/babel.config.js +33 -33
  8. package/dist/XEduLivePlayer.common.js +12161 -1154
  9. package/dist/XEduLivePlayerPre.common.js +12369 -1358
  10. package/doc/develop.md +23 -23
  11. package/gem-mine.config.js +86 -86
  12. package/jest.config.js +9 -9
  13. package/jsconfig.json +15 -15
  14. package/mock/helper.js +8 -8
  15. package/mock/index.js +34 -34
  16. package/package.json +99 -99
  17. package/public/3rd/ali-player/alipayercomponents-1.0.8.min.js +26 -26
  18. package/public/3rd/ali-player/aliplayer-hls-min.js +27 -27
  19. package/public/3rd/ali-player/aliplayer-min.js +1 -1
  20. package/public/3rd/im-web-push/index.umd.js +14 -14
  21. package/public/JsBridge.js +1602 -1602
  22. package/public/fish/editor/themes/default/css/ueditor.css +1905 -1905
  23. package/public/fish/editor/third-party/codemirror/codemirror.css +104 -104
  24. package/public/fish/editor/third-party/codemirror/codemirror.js +3581 -3581
  25. package/public/fish/editor/third-party/zeroclipboard/ZeroClipboard.js +1255 -1255
  26. package/public/fish/editor/ueditor.all.min.js +16 -16
  27. package/public/fish/editor/ueditor.config.js +467 -467
  28. package/public/fish/icon/umd-4.1.2.js +1 -1
  29. package/public/fish/video/videoplayer.min.css +6 -6
  30. package/public/fish/video/videoplayer.min.js +31 -31
  31. package/public/fish/video/zh-CN.js +82 -82
  32. package/public/icon/demo.css +539 -539
  33. package/public/icon/demo_index.html +2189 -2189
  34. package/public/icon/iconfont.css +363 -363
  35. package/public/icon/iconfont.json +618 -618
  36. package/public/index.html +50 -50
  37. package/script/image/readme.md +77 -77
  38. package/script/postcss.js +48 -48
  39. package/src/App.jsx +24 -24
  40. package/src/asset/img/course/playing.svg +21 -21
  41. package/src/asset/img/icon-course-white.svg +3 -3
  42. package/src/asset/img/icon-course.svg +3 -3
  43. package/src/asset/img/icon-eye-white.svg +4 -4
  44. package/src/asset/img/icon-eye.svg +4 -4
  45. package/src/asset/img/icon-school-white.svg +3 -3
  46. package/src/asset/img/icon-school.svg +3 -3
  47. package/src/asset/img/loading.svg +52 -52
  48. package/src/asset/img/video-play.svg +6 -6
  49. package/src/asset/style/background.less +19 -19
  50. package/src/asset/style/banner.less +36 -36
  51. package/src/asset/style/base.less +74 -74
  52. package/src/asset/style/index.less +114 -114
  53. package/src/asset/style/reset-theme.less +141 -141
  54. package/src/asset/style/theme/index.less +55 -55
  55. package/src/asset/style/theme/party/global.less +20 -20
  56. package/src/asset/style/theme/party/override.less +57 -57
  57. package/src/asset/style/theme/test/global.less +18 -18
  58. package/src/asset/style/theme/test/override.less +45 -45
  59. package/src/asset/style/variable.less +12 -12
  60. package/src/component/AliPlayer/index.jsx +49 -49
  61. package/src/component/Avatar/index.jsx +50 -50
  62. package/src/component/Empty/index.jsx +34 -34
  63. package/src/component/Empty/index.module.less +37 -37
  64. package/src/component/IMChatroom/component/status/403.jsx +13 -13
  65. package/src/component/IMChatroom/component/status/404.jsx +13 -13
  66. package/src/component/IMChatroom/component/status/Error.jsx +23 -23
  67. package/src/component/IMChatroom/component/status/Loading.jsx +5 -5
  68. package/src/component/IMChatroom/config/app/config.js +118 -118
  69. package/src/component/IMChatroom/config/app/index.js +60 -60
  70. package/src/component/IMChatroom/config/env.js +5 -5
  71. package/src/component/IMChatroom/config/index.js +3 -3
  72. package/src/component/IMChatroom/config/request/config/base.js +124 -124
  73. package/src/component/IMChatroom/config/request/config/chatroom.js +26 -26
  74. package/src/component/IMChatroom/config/request/config/imCoreApi.js +21 -21
  75. package/src/component/IMChatroom/config/request/index.js +21 -21
  76. package/src/component/IMChatroom/config/request/proxy.js +39 -39
  77. package/src/component/IMChatroom/config/url.js +7 -7
  78. package/src/component/IMChatroom/constants/errorCode.js +9 -9
  79. package/src/component/IMChatroom/constants/index.js +84 -84
  80. package/src/component/IMChatroom/constants/origin.js +27 -27
  81. package/src/component/IMChatroom/context/chatroom.js +154 -154
  82. package/src/component/IMChatroom/context/connect.js +28 -28
  83. package/src/component/IMChatroom/i18n/en/index.json +73 -73
  84. package/src/component/IMChatroom/i18n/index.jsx +14 -14
  85. package/src/component/IMChatroom/i18n/language.js +9 -9
  86. package/src/component/IMChatroom/i18n/zh-CN/index.json +73 -73
  87. package/src/component/IMChatroom/index.jsx +49 -49
  88. package/src/component/IMChatroom/page/chat/index.jsx +27 -27
  89. package/src/component/IMChatroom/page/chat/messageEditor/index.jsx +375 -375
  90. package/src/component/IMChatroom/page/chat/messageList/index.jsx +354 -354
  91. package/src/component/IMChatroom/page/chat/stickedMessage/index.jsx +59 -59
  92. package/src/component/IMChatroom/page/chat/stickedMessage/style/index.module.less +7 -7
  93. package/src/component/IMChatroom/page/chat/style/index.module.less +51 -51
  94. package/src/component/IMChatroom/page/home/connect/index.jsx +188 -188
  95. package/src/component/IMChatroom/page/home/connect/status.jsx +124 -124
  96. package/src/component/IMChatroom/page/home/context/cmd.jsx +37 -37
  97. package/src/component/IMChatroom/page/home/context/index.jsx +67 -67
  98. package/src/component/IMChatroom/page/home/index.jsx +164 -164
  99. package/src/component/IMChatroom/page/home/notice/index.jsx +123 -123
  100. package/src/component/IMChatroom/page/home/notice/style/index.module.less +49 -49
  101. package/src/component/IMChatroom/page/home/style/index.module.less +110 -110
  102. package/src/component/IMChatroom/page/member/index.jsx +15 -15
  103. package/src/component/IMChatroom/page/member/memberCount/index.jsx +44 -44
  104. package/src/component/IMChatroom/page/member/memberList/index.jsx +121 -121
  105. package/src/component/IMChatroom/page/member/style/index.module.less +2 -2
  106. package/src/component/IMChatroom/sdk/bridge.js +39 -39
  107. package/src/component/IMChatroom/sdk/cs/constants.js +20 -20
  108. package/src/component/IMChatroom/sdk/cs/index.js +101 -101
  109. package/src/component/IMChatroom/sdk/imChatroom.js +15 -15
  110. package/src/component/IMChatroom/sdk/imcore/constants.js +128 -128
  111. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomDestroyed.js +5 -5
  112. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomInfoGetFail.js +5 -5
  113. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedByAdmin.js +5 -5
  114. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedBySelf.js +5 -5
  115. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginFail.js +5 -5
  116. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginSuccess.js +5 -5
  117. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogin.js +5 -5
  118. package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogout.js +5 -5
  119. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnected.js +5 -5
  120. package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnecting.js +5 -5
  121. package/src/component/IMChatroom/sdk/imcore/emitters/connectionDisconnect.js +5 -5
  122. package/src/component/IMChatroom/sdk/imcore/emitters/index.js +57 -57
  123. package/src/component/IMChatroom/sdk/imcore/emitters/messageReceive.js +36 -36
  124. package/src/component/IMChatroom/sdk/imcore/index.js +178 -178
  125. package/src/component/IMChatroom/sdk/imcore/interceptors/request.js +7 -7
  126. package/src/component/IMChatroom/sdk/imcore/interceptors/response.js +5 -5
  127. package/src/component/IMChatroom/sdk/imcore/plugins/getAuth.js +64 -64
  128. package/src/component/IMChatroom/sdk/imcore/plugins/getConversationId.js +20 -20
  129. package/src/component/IMChatroom/sdk/imcore/plugins/getExtInfo.js +10 -10
  130. package/src/component/IMChatroom/sdk/imcore/plugins/getLoginInfo.js +48 -48
  131. package/src/component/IMChatroom/sdk/imcore/plugins/getPlatformType.js +12 -12
  132. package/src/component/IMChatroom/sdk/imcore/plugins/index.js +22 -22
  133. package/src/component/IMChatroom/sdk/imcore/util/format.js +177 -177
  134. package/src/component/IMChatroom/sdk/imcore/util/parser.js +35 -35
  135. package/src/component/IMChatroom/sdk/oms.js +18 -18
  136. package/src/component/IMChatroom/sdk/uc.js +3 -3
  137. package/src/component/IMChatroom/subscription/channel/app.js +5 -5
  138. package/src/component/IMChatroom/subscription/channel/ctl.js +22 -22
  139. package/src/component/IMChatroom/subscription/channel/member.js +40 -40
  140. package/src/component/IMChatroom/subscription/channel/message.js +13 -13
  141. package/src/component/IMChatroom/subscription/channel/ntf.js +86 -86
  142. package/src/component/IMChatroom/subscription/channel/tel.js +5 -5
  143. package/src/component/IMChatroom/subscription/channel/websocket.js +5 -5
  144. package/src/component/IMChatroom/subscription/event.js +37 -37
  145. package/src/component/IMChatroom/subscription/index.js +19 -19
  146. package/src/component/IMChatroom/util/account.js +8 -8
  147. package/src/component/IMChatroom/util/chatroom.js +255 -255
  148. package/src/component/IMChatroom/util/jsonBigInt.js +5 -5
  149. package/src/component/IMChatroom/util/location.js +12 -12
  150. package/src/component/Icon/index.jsx +16 -16
  151. package/src/component/Icon/index.module.less +2 -2
  152. package/src/component/Pagination/LocalPagination.jsx +27 -27
  153. package/src/component/Pagination/RemotePagination.jsx +32 -32
  154. package/src/component/Pagination/index.jsx +31 -31
  155. package/src/component/Pagination/index.module.less +110 -110
  156. package/src/component/PlayerTip/index.jsx +34 -34
  157. package/src/component/VideoBase/index.jsx +242 -242
  158. package/src/component/VideoBase/style.less +65 -65
  159. package/src/component/VideoBase/utils.js +81 -81
  160. package/src/component/mixin.less +9 -9
  161. package/src/component/status/403.jsx +15 -15
  162. package/src/component/status/404/index.jsx +73 -73
  163. package/src/component/status/404/index.module.less +36 -36
  164. package/src/component/status/Error/error.module.less +13 -13
  165. package/src/component/status/Error/index.jsx +47 -47
  166. package/src/component/status/Loading/img/loading.svg +52 -52
  167. package/src/component/status/Loading/index.jsx +31 -31
  168. package/src/component/status/Loading/index.less +56 -56
  169. package/src/component/status/None/index.jsx +20 -20
  170. package/src/component/status/None/index.module.less +35 -35
  171. package/src/component/status/Status/index.jsx +26 -26
  172. package/src/component/status/Status/index.module.less +8 -8
  173. package/src/config/constant/commonUrl.js +2 -2
  174. package/src/config/constant/user.js +6 -6
  175. package/src/config/context/site-config.js +48 -48
  176. package/src/config/env/index.js +5 -5
  177. package/src/config/env/local/index.js +13 -13
  178. package/src/config/env/ncet-xedu/api.js +175 -175
  179. package/src/config/env/ncet-xedu/app.js +12 -12
  180. package/src/config/env/ncet-xedu/cs.js +8 -8
  181. package/src/config/env/ncet-xedu/index.js +14 -14
  182. package/src/config/env/ncet-xedu/push.js +5 -5
  183. package/src/config/env/preproduction/api.js +144 -144
  184. package/src/config/env/preproduction/app.js +12 -12
  185. package/src/config/env/preproduction/cs.js +8 -8
  186. package/src/config/env/preproduction/index.js +14 -14
  187. package/src/config/env/preproduction/push.js +5 -5
  188. package/src/config/env/product/api.js +113 -113
  189. package/src/config/env/product/app.js +12 -12
  190. package/src/config/env/product/cs.js +5 -5
  191. package/src/config/env/product/index.js +14 -14
  192. package/src/config/env/product/push.js +5 -5
  193. package/src/config/live.js +80 -80
  194. package/src/config/publicLive.js +53 -53
  195. package/src/config/request/assessments.js +24 -24
  196. package/src/config/request/config-center.js +8 -8
  197. package/src/config/request/helper.js +166 -166
  198. package/src/config/request/im-broadcasts.js +12 -12
  199. package/src/config/request/live-activity-gateway.js +8 -8
  200. package/src/config/request/live-activity.js +13 -13
  201. package/src/config/request/raw.js +6 -6
  202. package/src/config/request/x-cloud-web.js +13 -13
  203. package/src/config/request/x-proxy.js +34 -34
  204. package/src/demo/Detail.jsx +11 -11
  205. package/src/demo/List.jsx +64 -64
  206. package/src/demo/index.jsx +17 -17
  207. package/src/detail/LineSwitch/index.jsx +71 -71
  208. package/src/detail/LiveCountDown/index.jsx +44 -44
  209. package/src/detail/LiveCountDown/index.module.less +31 -31
  210. package/src/detail/LiveOnlineCount/img/icon.svg +15 -15
  211. package/src/detail/LiveOnlineCount/index.jsx +68 -68
  212. package/src/detail/LiveOnlineCount/index.module.less +34 -34
  213. package/src/detail/LiveOnlineCount/util.js +74 -74
  214. package/src/detail/LiveStatus/AnchorOnTheWay.jsx +88 -88
  215. package/src/detail/LiveStatus/index.jsx +202 -202
  216. package/src/detail/LiveStatus/index.module.less +192 -192
  217. package/src/detail/LiveVideo/config.js +37 -37
  218. package/src/detail/LiveVideo/index.jsx +188 -188
  219. package/src/detail/LiveVideo/index.module.less +41 -41
  220. package/src/detail/NotLoginChatroom/index.jsx +37 -37
  221. package/src/detail/NotLoginChatroom/index.module.less +46 -46
  222. package/src/detail/RecordVideo/index.jsx +150 -150
  223. package/src/detail/RecordVideo/index.module.less +31 -31
  224. package/src/detail/ReplayVideo/index.jsx +93 -93
  225. package/src/detail/ReplayVideo/index.module.less +65 -65
  226. package/src/detail/const.js +20 -20
  227. package/src/detail/hook/usePullSource.js +82 -82
  228. package/src/detail/hook/usePullState.js +51 -51
  229. package/src/detail/index.jsx +482 -482
  230. package/src/detail/index.module.less +188 -188
  231. package/src/hook/useAsync.js +84 -84
  232. package/src/hook/useGoToPage.js +83 -83
  233. package/src/hook/useInterval.js +28 -28
  234. package/src/hook/useIsMounted.js +17 -17
  235. package/src/hook/useModuleByRole.js +53 -53
  236. package/src/hook/usePageScrollable.js +52 -52
  237. package/src/hook/usePortal.js +83 -83
  238. package/src/hook/useScrollRestore/index.js +32 -32
  239. package/src/hook/useScrollRestore/scrollContext.js +20 -20
  240. package/src/hook/useTrackRef.js +11 -11
  241. package/src/hook/useWindowSize.js +28 -28
  242. package/src/hook/useZoom.js +47 -47
  243. package/src/index.js +10 -10
  244. package/src/lib/getLiveOnlineCount.js +10 -10
  245. package/src/lib/getServiceConfig.js +102 -102
  246. package/src/list/Empty/index.jsx +20 -20
  247. package/src/list/Empty/index.module.less +23 -23
  248. package/src/list/ListItem/Action/index.jsx +98 -98
  249. package/src/list/ListItem/Action/index.module.less +21 -21
  250. package/src/list/ListItem/img/dianzan.svg +4 -0
  251. package/src/list/ListItem/img/play.svg +15 -15
  252. package/src/list/ListItem/img/yiguankan.svg +3 -0
  253. package/src/list/ListItem/index.jsx +24 -1
  254. package/src/list/ListItem/index.module.less +146 -123
  255. package/src/list/index.jsx +80 -0
  256. package/src/list/index.module.less +35 -35
  257. package/src/service/common.js +73 -73
  258. package/src/service/content-mgr.js +73 -73
  259. package/src/service/im-group.js +12 -12
  260. package/src/service/im.js +7 -7
  261. package/src/service/imBroadcasts.js +33 -33
  262. package/src/service/like.js +134 -134
  263. package/src/service/manageApi.js +7 -7
  264. package/src/service/managePortal.js +6 -6
  265. package/src/service/myStudyRecord.js +93 -93
  266. package/src/service/navigation.js +47 -47
  267. package/src/service/ndMeeting.js +10 -10
  268. package/src/service/ndr.js +122 -122
  269. package/src/service/news.js +93 -93
  270. package/src/service/personalCenter.js +270 -270
  271. package/src/service/qualityCourse.js +31 -31
  272. package/src/service/recommend.js +81 -81
  273. package/src/service/school.js +323 -323
  274. package/src/service/search.js +170 -170
  275. package/src/service/site-config.js +7 -7
  276. package/src/service/socialCensor.js +45 -45
  277. package/src/service/specialEdu.js +31 -31
  278. package/src/service/suggestion.js +85 -85
  279. package/src/service/syncClassroom.js +321 -321
  280. package/src/service/tCourse.js +204 -204
  281. package/src/service/tchTraining.js +37 -37
  282. package/src/service/uc.js +45 -45
  283. package/src/util/app.js +1 -1
  284. package/src/util/array.js +3 -3
  285. package/src/util/auth/func.js +57 -57
  286. package/src/util/date.js +53 -53
  287. package/src/util/env.js +9 -9
  288. package/src/util/getTimestamp.js +10 -10
  289. package/src/util/hof.js +105 -105
  290. package/src/util/live/index.js +42 -42
  291. package/src/util/liveCountUtil.js +52 -0
  292. package/src/util/netUrl.js +35 -35
  293. package/src/util/object.js +13 -13
  294. package/src/util/push/index.js +58 -58
  295. package/src/util/request.js +227 -227
  296. package/src/util/type.js +17 -17
  297. package/src/util/url.js +203 -203
  298. package/src/util/video.js +26 -26
  299. package/test/setup.js +21 -21
  300. package/test/unit/component/header/logo.spec.jsx +8 -8
  301. package/test/unit/helper.jsx +25 -25
  302. package/test/unit/util/date.spec.js +40 -40
package/public/index.html CHANGED
@@ -1,50 +1,50 @@
1
- <!doctype html>
2
- <html lang="en">
3
-
4
- <head>
5
- <title>国家中小学智慧教育平台</title>
6
- <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
7
- <meta name="env">
8
- <meta charset="utf-8">
9
- <meta http-equiv="x-ua-compatible" content="ie=edge">
10
- <meta name="viewport" content="width=1368">
11
- <meta name="description" content="<%= htmlWebpackPlugin.options.description%>">
12
- <script>
13
- if (window.location.protocol !== 'https:') {
14
- window.location.protocol = 'https:'
15
- }
16
- </script>
17
- <script>
18
- if (navigator.userAgent.indexOf("SmartCanWebView") > -1) {
19
- document.writeln('<script type="text/javascript" src="/JsBridge.js"><\/script>')
20
- }
21
- </script>
22
-
23
- <script>
24
- window.__global_env = window.__global_env || "ncet-xedu"
25
- window.__global_config = {
26
- cs: {
27
- cdn: {
28
- },
29
- esp: {}
30
- },
31
- }
32
- </script>
33
-
34
- <script>/*@cc_on window.location.href="/upgrade.html" @*/</script>
35
- <script src="/icon/iconfont.js"></script>
36
- <style>
37
- .video-js .vjs-audio-bg .vjs-audio-bg-logo-background,
38
- .vjs-default-skin .vjs-audio-bg .vjs-audio-bg-logo-background {
39
- background-image: url(/fish/video/icon_active.gif) !important;
40
- }
41
-
42
- </style>
43
- </head>
44
-
45
- <body>
46
- <div id="root">
47
- </div>
48
- </body>
49
-
50
- </html>
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <title>国家中小学智慧教育平台</title>
6
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
7
+ <meta name="env">
8
+ <meta charset="utf-8">
9
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
10
+ <meta name="viewport" content="width=1368">
11
+ <meta name="description" content="<%= htmlWebpackPlugin.options.description%>">
12
+ <script>
13
+ if (window.location.protocol !== 'https:') {
14
+ window.location.protocol = 'https:'
15
+ }
16
+ </script>
17
+ <script>
18
+ if (navigator.userAgent.indexOf("SmartCanWebView") > -1) {
19
+ document.writeln('<script type="text/javascript" src="/JsBridge.js"><\/script>')
20
+ }
21
+ </script>
22
+
23
+ <script>
24
+ window.__global_env = window.__global_env || "ncet-xedu"
25
+ window.__global_config = {
26
+ cs: {
27
+ cdn: {
28
+ },
29
+ esp: {}
30
+ },
31
+ }
32
+ </script>
33
+
34
+ <script>/*@cc_on window.location.href="/upgrade.html" @*/</script>
35
+ <script src="/icon/iconfont.js"></script>
36
+ <style>
37
+ .video-js .vjs-audio-bg .vjs-audio-bg-logo-background,
38
+ .vjs-default-skin .vjs-audio-bg .vjs-audio-bg-logo-background {
39
+ background-image: url(/fish/video/icon_active.gif) !important;
40
+ }
41
+
42
+ </style>
43
+ </head>
44
+
45
+ <body>
46
+ <div id="root">
47
+ </div>
48
+ </body>
49
+
50
+ </html>
@@ -1,77 +1,77 @@
1
- ## 准备
2
- 由于图片优化是本地行为,并且依赖包体积很大,因此请在本地手动安装,而不放在依赖中
3
-
4
- npm i globby@10 imagemin-webp@6 imagemin-mozjpeg@9 imagemin-pngquant imagemin-gif2webp -D
5
-
6
- ## 图片优化
7
- npm run perf:image
8
-
9
- jpg、jpeg、png、gif 会生成 webp 文件
10
- jpg、jpeg、png 同时会生成原图的压缩图片,文件名以 -m 结尾
11
-
12
- ## 清理
13
-
14
- npm run clear:image
15
-
16
- 会将生成的 webp、-m 图片进行删除
17
-
18
-
19
- ## 加载优化
20
- 支持 webp 的图片加载 webp,不支持的加载 -m 图片
21
-
22
- 尽可能支持懒加载
23
-
24
- ## 使用说明
25
- ### 组件内使用 img 标签
26
- 引入通用组件 Image 代替原生 img 标签
27
-
28
- ```jsx
29
- import Image from '@/component/Image'
30
-
31
- // 注意,这里必须使用绝对路径
32
- const src = '@/asset/img/arrow.png'
33
-
34
- export function Img() {
35
- return (
36
- <Image src={src}>
37
- )
38
- }
39
- ```
40
- ### 组件内使用 style backgroundImage
41
- 使用自定义的图片引入函数
42
-
43
- ```jsx
44
- import { importImg } from '@/util/importImage'
45
-
46
- // 注意,这里必须使用绝对路径
47
- const src = '@/asset/img/arrow.png'
48
-
49
- export function Img() {
50
- return (
51
- <div
52
- style={{
53
- backgroundImage: `url(${importImg(src)})`
54
- }}
55
- >
56
- )
57
- }
58
- ```
59
-
60
- ### less 使用 background-image
61
- 在 `/component/mixin.less` 里提供了通用样式 `.bgCompact(@url)`
62
-
63
- `bgCompact` 自动转换引入的 url,并提供一个基础样式:
64
- ```less
65
- background-repeat: no-repeat;
66
- ```
67
-
68
- 请根据需要自行覆盖默认样式
69
-
70
- ```less
71
- @import '@/component/mixin.less';
72
-
73
- div {
74
- // 注意,必须使用绝对路径,且不能使用 @ 别名
75
- .bgCompact('/src/asset/img/sedu/icon/arrow.png');
76
- }
77
- ```
1
+ ## 准备
2
+ 由于图片优化是本地行为,并且依赖包体积很大,因此请在本地手动安装,而不放在依赖中
3
+
4
+ npm i globby@10 imagemin-webp@6 imagemin-mozjpeg@9 imagemin-pngquant imagemin-gif2webp -D
5
+
6
+ ## 图片优化
7
+ npm run perf:image
8
+
9
+ jpg、jpeg、png、gif 会生成 webp 文件
10
+ jpg、jpeg、png 同时会生成原图的压缩图片,文件名以 -m 结尾
11
+
12
+ ## 清理
13
+
14
+ npm run clear:image
15
+
16
+ 会将生成的 webp、-m 图片进行删除
17
+
18
+
19
+ ## 加载优化
20
+ 支持 webp 的图片加载 webp,不支持的加载 -m 图片
21
+
22
+ 尽可能支持懒加载
23
+
24
+ ## 使用说明
25
+ ### 组件内使用 img 标签
26
+ 引入通用组件 Image 代替原生 img 标签
27
+
28
+ ```jsx
29
+ import Image from '@/component/Image'
30
+
31
+ // 注意,这里必须使用绝对路径
32
+ const src = '@/asset/img/arrow.png'
33
+
34
+ export function Img() {
35
+ return (
36
+ <Image src={src}>
37
+ )
38
+ }
39
+ ```
40
+ ### 组件内使用 style backgroundImage
41
+ 使用自定义的图片引入函数
42
+
43
+ ```jsx
44
+ import { importImg } from '@/util/importImage'
45
+
46
+ // 注意,这里必须使用绝对路径
47
+ const src = '@/asset/img/arrow.png'
48
+
49
+ export function Img() {
50
+ return (
51
+ <div
52
+ style={{
53
+ backgroundImage: `url(${importImg(src)})`
54
+ }}
55
+ >
56
+ )
57
+ }
58
+ ```
59
+
60
+ ### less 使用 background-image
61
+ 在 `/component/mixin.less` 里提供了通用样式 `.bgCompact(@url)`
62
+
63
+ `bgCompact` 自动转换引入的 url,并提供一个基础样式:
64
+ ```less
65
+ background-repeat: no-repeat;
66
+ ```
67
+
68
+ 请根据需要自行覆盖默认样式
69
+
70
+ ```less
71
+ @import '@/component/mixin.less';
72
+
73
+ div {
74
+ // 注意,必须使用绝对路径,且不能使用 @ 别名
75
+ .bgCompact('/src/asset/img/sedu/icon/arrow.png');
76
+ }
77
+ ```
package/script/postcss.js CHANGED
@@ -1,48 +1,48 @@
1
- const path = require('path')
2
-
3
- const backgroundReg = /^background(-image)?$/
4
- const wrapperClass = 'webp'
5
- const imageReg = /\.(gif|png|jpe?g)/
6
- const nodeModulesReg = /node_modules/
7
-
8
- module.exports = () => ({
9
- postcssPlugin: 'webp',
10
- Rule(rule, { Rule }) {
11
- const filePath = rule?.source?.input?.file || ''
12
- if (nodeModulesReg.test(filePath)) {
13
- return
14
- }
15
- if (rule.selector.indexOf(`.${wrapperClass}`) !== -1) {
16
- return
17
- }
18
- const fileName = path.basename(filePath)
19
- const isInCssModuleFile = fileName.indexOf('.module.') > -1
20
-
21
- const backgroundImage = rule.nodes.filter((el) => el.type === 'decl' && el.prop.match(backgroundReg))
22
- if (backgroundImage && backgroundImage.length) {
23
- rule.walkDecls(backgroundReg, (decl) => {
24
- const hasUrl = decl.value.match(/url\((.*)?\)/)
25
- if (hasUrl) {
26
- const imageUrl = hasUrl[1].replace(/'|"/gi, '')
27
- if (imageUrl.indexOf('.webp') !== -1 || imageUrl.startsWith('data:image')) {
28
- return
29
- }
30
- const webpImageUrl = imageUrl.replace(imageReg, '.$1?x-bce-process=image/format,f_auto')
31
- const webpRule = new Rule({
32
- selector: isInCssModuleFile
33
- ? `:global(.${wrapperClass}) ${rule.selector}`
34
- : `.${wrapperClass} ${rule.selector}`
35
- })
36
- webpRule.append({
37
- prop: 'background-image',
38
- value: `url(${webpImageUrl})`,
39
- important: decl.important
40
- })
41
- rule.after(webpRule)
42
- }
43
- })
44
- }
45
- }
46
- })
47
-
48
- module.exports.postcss = true
1
+ const path = require('path')
2
+
3
+ const backgroundReg = /^background(-image)?$/
4
+ const wrapperClass = 'webp'
5
+ const imageReg = /\.(gif|png|jpe?g)/
6
+ const nodeModulesReg = /node_modules/
7
+
8
+ module.exports = () => ({
9
+ postcssPlugin: 'webp',
10
+ Rule(rule, { Rule }) {
11
+ const filePath = rule?.source?.input?.file || ''
12
+ if (nodeModulesReg.test(filePath)) {
13
+ return
14
+ }
15
+ if (rule.selector.indexOf(`.${wrapperClass}`) !== -1) {
16
+ return
17
+ }
18
+ const fileName = path.basename(filePath)
19
+ const isInCssModuleFile = fileName.indexOf('.module.') > -1
20
+
21
+ const backgroundImage = rule.nodes.filter((el) => el.type === 'decl' && el.prop.match(backgroundReg))
22
+ if (backgroundImage && backgroundImage.length) {
23
+ rule.walkDecls(backgroundReg, (decl) => {
24
+ const hasUrl = decl.value.match(/url\((.*)?\)/)
25
+ if (hasUrl) {
26
+ const imageUrl = hasUrl[1].replace(/'|"/gi, '')
27
+ if (imageUrl.indexOf('.webp') !== -1 || imageUrl.startsWith('data:image')) {
28
+ return
29
+ }
30
+ const webpImageUrl = imageUrl.replace(imageReg, '.$1?x-bce-process=image/format,f_auto')
31
+ const webpRule = new Rule({
32
+ selector: isInCssModuleFile
33
+ ? `:global(.${wrapperClass}) ${rule.selector}`
34
+ : `.${wrapperClass} ${rule.selector}`
35
+ })
36
+ webpRule.append({
37
+ prop: 'background-image',
38
+ value: `url(${webpImageUrl})`,
39
+ important: decl.important
40
+ })
41
+ rule.after(webpRule)
42
+ }
43
+ })
44
+ }
45
+ }
46
+ })
47
+
48
+ module.exports.postcss = true
package/src/App.jsx CHANGED
@@ -1,24 +1,24 @@
1
- import { Icon } from 'fish'
2
-
3
- import dayjs from 'dayjs'
4
- import 'dayjs/locale/zh-cn'
5
- import isSameOrAfter from 'dayjs/plugin/isSameOrAfter'
6
- import isSameOrBefore from 'dayjs/plugin/isSameOrBefore'
7
- import { parseAdapter } from '@/util/date'
8
-
9
- import PublicLiveDetail from './detail'
10
- import { getLiveOnlineCount } from './lib/getLiveOnlineCount'
11
- import PublicLiveList from './list'
12
-
13
- Icon.url = '/fish/icon/umd-4.1.2.js'
14
-
15
- dayjs.extend(isSameOrAfter)
16
- dayjs.extend(isSameOrBefore)
17
- dayjs.extend(parseAdapter)
18
- dayjs.locale('zh-cn')
19
-
20
- export default {
21
- PublicLiveDetail,
22
- getLiveOnlineCount,
23
- PublicLiveList
24
- }
1
+ import { Icon } from 'fish'
2
+
3
+ import dayjs from 'dayjs'
4
+ import 'dayjs/locale/zh-cn'
5
+ import isSameOrAfter from 'dayjs/plugin/isSameOrAfter'
6
+ import isSameOrBefore from 'dayjs/plugin/isSameOrBefore'
7
+ import { parseAdapter } from '@/util/date'
8
+
9
+ import PublicLiveDetail from './detail'
10
+ import { getLiveOnlineCount } from './lib/getLiveOnlineCount'
11
+ import PublicLiveList from './list'
12
+
13
+ Icon.url = '/fish/icon/umd-4.1.2.js'
14
+
15
+ dayjs.extend(isSameOrAfter)
16
+ dayjs.extend(isSameOrBefore)
17
+ dayjs.extend(parseAdapter)
18
+ dayjs.locale('zh-cn')
19
+
20
+ export default {
21
+ PublicLiveDetail,
22
+ getLiveOnlineCount,
23
+ PublicLiveList
24
+ }
@@ -1,22 +1,22 @@
1
- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
2
- width="24px" height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 50 50;" xml:space="preserve">
3
- <rect x="0" y="0" width="5" height="7" fill="#1E62EC">
4
- <animateTransform attributeType="xml"
5
- attributeName="transform" type="scale"
6
- values="1,1; 1,3; 1,1"
7
- begin="0s" dur="0.6s" repeatCount="indefinite" />
8
- </rect>
9
-
10
- <rect x="9" y="0" width="5" height="7" fill="#1E62EC">
11
- <animateTransform attributeType="xml"
12
- attributeName="transform" type="scale"
13
- values="1,1; 1,3; 1,1"
14
- begin="0.2s" dur="0.6s" repeatCount="indefinite" />
15
- </rect>
16
- <rect x="18" y="0" width="5" height="7" fill="#1E62EC">
17
- <animateTransform attributeType="xml"
18
- attributeName="transform" type="scale"
19
- values="1,1; 1,3; 1,1"
20
- begin="0.4s" dur="0.6s" repeatCount="indefinite" />
21
- </rect>
1
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
2
+ width="24px" height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 50 50;" xml:space="preserve">
3
+ <rect x="0" y="0" width="5" height="7" fill="#1E62EC">
4
+ <animateTransform attributeType="xml"
5
+ attributeName="transform" type="scale"
6
+ values="1,1; 1,3; 1,1"
7
+ begin="0s" dur="0.6s" repeatCount="indefinite" />
8
+ </rect>
9
+
10
+ <rect x="9" y="0" width="5" height="7" fill="#1E62EC">
11
+ <animateTransform attributeType="xml"
12
+ attributeName="transform" type="scale"
13
+ values="1,1; 1,3; 1,1"
14
+ begin="0.2s" dur="0.6s" repeatCount="indefinite" />
15
+ </rect>
16
+ <rect x="18" y="0" width="5" height="7" fill="#1E62EC">
17
+ <animateTransform attributeType="xml"
18
+ attributeName="transform" type="scale"
19
+ values="1,1; 1,3; 1,1"
20
+ begin="0.4s" dur="0.6s" repeatCount="indefinite" />
21
+ </rect>
22
22
  </svg>
@@ -1,3 +1,3 @@
1
- <svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M0.0400391 1.30556C0.0400391 0.722588 0.512627 0.25 1.09559 0.25H6.90115C7.48412 0.25 7.95671 0.722588 7.95671 1.30556V8.69444C7.95671 9.27741 7.48412 9.75 6.90115 9.75H1.09559C0.512627 9.75 0.0400391 9.27741 0.0400391 8.69444V1.30556ZM4.63174 1.09444V3.43477C4.63174 3.95199 4.0064 4.21102 3.64067 3.84529L3.20674 3.41136L2.77281 3.84528C2.40708 4.21101 1.78174 3.95199 1.78174 3.43477V1.09444H1.09559C0.979001 1.09444 0.884483 1.18896 0.884483 1.30556V8.69444C0.884483 8.81104 0.979001 8.90556 1.09559 8.90556H6.90115C7.01774 8.90556 7.11226 8.81104 7.11226 8.69444V1.30556C7.11226 1.18896 7.01774 1.09444 6.90115 1.09444H4.63174ZM3.89285 1.09444H2.52063V3.05252L2.79622 2.77692C3.02294 2.5502 3.39053 2.5502 3.61725 2.77692L3.89285 3.05252V1.09444Z" fill="#CDDEFF"/>
3
- </svg>
1
+ <svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.0400391 1.30556C0.0400391 0.722588 0.512627 0.25 1.09559 0.25H6.90115C7.48412 0.25 7.95671 0.722588 7.95671 1.30556V8.69444C7.95671 9.27741 7.48412 9.75 6.90115 9.75H1.09559C0.512627 9.75 0.0400391 9.27741 0.0400391 8.69444V1.30556ZM4.63174 1.09444V3.43477C4.63174 3.95199 4.0064 4.21102 3.64067 3.84529L3.20674 3.41136L2.77281 3.84528C2.40708 4.21101 1.78174 3.95199 1.78174 3.43477V1.09444H1.09559C0.979001 1.09444 0.884483 1.18896 0.884483 1.30556V8.69444C0.884483 8.81104 0.979001 8.90556 1.09559 8.90556H6.90115C7.01774 8.90556 7.11226 8.81104 7.11226 8.69444V1.30556C7.11226 1.18896 7.01774 1.09444 6.90115 1.09444H4.63174ZM3.89285 1.09444H2.52063V3.05252L2.79622 2.77692C3.02294 2.5502 3.39053 2.5502 3.61725 2.77692L3.89285 3.05252V1.09444Z" fill="#CDDEFF"/>
3
+ </svg>
@@ -1,3 +1,3 @@
1
- <svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M0.0400391 1.30556C0.0400391 0.722588 0.512627 0.25 1.09559 0.25H6.90115C7.48412 0.25 7.95671 0.722588 7.95671 1.30556V8.69444C7.95671 9.27741 7.48412 9.75 6.90115 9.75H1.09559C0.512627 9.75 0.0400391 9.27741 0.0400391 8.69444V1.30556ZM4.63174 1.09444V3.43477C4.63174 3.95199 4.0064 4.21102 3.64067 3.84529L3.20674 3.41136L2.77281 3.84528C2.40708 4.21101 1.78174 3.95199 1.78174 3.43477V1.09444H1.09559C0.979001 1.09444 0.884483 1.18896 0.884483 1.30556V8.69444C0.884483 8.81104 0.979001 8.90556 1.09559 8.90556H6.90115C7.01774 8.90556 7.11226 8.81104 7.11226 8.69444V1.30556C7.11226 1.18896 7.01774 1.09444 6.90115 1.09444H4.63174ZM3.89285 1.09444H2.52063V3.05252L2.79622 2.77692C3.02294 2.5502 3.39053 2.5502 3.61725 2.77692L3.89285 3.05252V1.09444Z" fill="#999999"/>
3
- </svg>
1
+ <svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.0400391 1.30556C0.0400391 0.722588 0.512627 0.25 1.09559 0.25H6.90115C7.48412 0.25 7.95671 0.722588 7.95671 1.30556V8.69444C7.95671 9.27741 7.48412 9.75 6.90115 9.75H1.09559C0.512627 9.75 0.0400391 9.27741 0.0400391 8.69444V1.30556ZM4.63174 1.09444V3.43477C4.63174 3.95199 4.0064 4.21102 3.64067 3.84529L3.20674 3.41136L2.77281 3.84528C2.40708 4.21101 1.78174 3.95199 1.78174 3.43477V1.09444H1.09559C0.979001 1.09444 0.884483 1.18896 0.884483 1.30556V8.69444C0.884483 8.81104 0.979001 8.90556 1.09559 8.90556H6.90115C7.01774 8.90556 7.11226 8.81104 7.11226 8.69444V1.30556C7.11226 1.18896 7.01774 1.09444 6.90115 1.09444H4.63174ZM3.89285 1.09444H2.52063V3.05252L2.79622 2.77692C3.02294 2.5502 3.39053 2.5502 3.61725 2.77692L3.89285 3.05252V1.09444Z" fill="#999999"/>
3
+ </svg>
@@ -1,4 +1,4 @@
1
- <svg width="10" height="8" viewBox="0 0 10 8" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M4.99997 5.75C5.97509 5.75 6.76559 4.9665 6.76559 4C6.76559 3.0335 5.97509 2.25 4.99997 2.25C4.02485 2.25 3.23435 3.0335 3.23435 4C3.23435 4.9665 4.02485 5.75 4.99997 5.75ZM4.99997 5C4.44272 5 3.99097 4.55225 3.99097 4C3.99097 3.44775 4.44272 3 4.99997 3C5.55722 3 6.00897 3.44775 6.00897 4C6.00897 4.55225 5.55722 5 4.99997 5Z" fill="#CDDEFF"/>
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M9.90321 4.33275C8.46896 6.593 6.83334 7.75 4.99997 7.75C3.1666 7.75 1.53097 6.593 0.0967274 4.33275C-0.0323229 4.12969 -0.0323229 3.87032 0.0967274 3.66725C1.53097 1.407 3.1666 0.25 4.99997 0.25C6.83334 0.25 8.46896 1.407 9.90321 3.66725C10.0323 3.87032 10.0323 4.12969 9.90321 4.33275ZM9.11437 4C7.85015 2.03322 6.47978 1.07523 5.0001 1.07523C3.52041 1.07523 2.15004 2.03322 0.885817 4C2.15004 5.96679 3.52041 6.92477 5.0001 6.92477C6.47978 6.92477 7.85015 5.96679 9.11437 4Z" fill="#CDDEFF"/>
4
- </svg>
1
+ <svg width="10" height="8" viewBox="0 0 10 8" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M4.99997 5.75C5.97509 5.75 6.76559 4.9665 6.76559 4C6.76559 3.0335 5.97509 2.25 4.99997 2.25C4.02485 2.25 3.23435 3.0335 3.23435 4C3.23435 4.9665 4.02485 5.75 4.99997 5.75ZM4.99997 5C4.44272 5 3.99097 4.55225 3.99097 4C3.99097 3.44775 4.44272 3 4.99997 3C5.55722 3 6.00897 3.44775 6.00897 4C6.00897 4.55225 5.55722 5 4.99997 5Z" fill="#CDDEFF"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M9.90321 4.33275C8.46896 6.593 6.83334 7.75 4.99997 7.75C3.1666 7.75 1.53097 6.593 0.0967274 4.33275C-0.0323229 4.12969 -0.0323229 3.87032 0.0967274 3.66725C1.53097 1.407 3.1666 0.25 4.99997 0.25C6.83334 0.25 8.46896 1.407 9.90321 3.66725C10.0323 3.87032 10.0323 4.12969 9.90321 4.33275ZM9.11437 4C7.85015 2.03322 6.47978 1.07523 5.0001 1.07523C3.52041 1.07523 2.15004 2.03322 0.885817 4C2.15004 5.96679 3.52041 6.92477 5.0001 6.92477C6.47978 6.92477 7.85015 5.96679 9.11437 4Z" fill="#CDDEFF"/>
4
+ </svg>
@@ -1,4 +1,4 @@
1
- <svg width="10" height="8" viewBox="0 0 10 8" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M4.99997 5.75C5.97509 5.75 6.76559 4.9665 6.76559 4C6.76559 3.0335 5.97509 2.25 4.99997 2.25C4.02485 2.25 3.23435 3.0335 3.23435 4C3.23435 4.9665 4.02485 5.75 4.99997 5.75ZM4.99997 5C4.44272 5 3.99097 4.55225 3.99097 4C3.99097 3.44775 4.44272 3 4.99997 3C5.55722 3 6.00897 3.44775 6.00897 4C6.00897 4.55225 5.55722 5 4.99997 5Z" fill="#999999"/>
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M9.90321 4.33275C8.46896 6.593 6.83334 7.75 4.99997 7.75C3.1666 7.75 1.53097 6.593 0.0967274 4.33275C-0.0323229 4.12969 -0.0323229 3.87032 0.0967274 3.66725C1.53097 1.407 3.1666 0.25 4.99997 0.25C6.83334 0.25 8.46896 1.407 9.90321 3.66725C10.0323 3.87032 10.0323 4.12969 9.90321 4.33275ZM9.11437 4C7.85015 2.03322 6.47978 1.07523 5.0001 1.07523C3.52041 1.07523 2.15004 2.03322 0.885817 4C2.15004 5.96679 3.52041 6.92477 5.0001 6.92477C6.47978 6.92477 7.85015 5.96679 9.11437 4Z" fill="#999999"/>
4
- </svg>
1
+ <svg width="10" height="8" viewBox="0 0 10 8" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M4.99997 5.75C5.97509 5.75 6.76559 4.9665 6.76559 4C6.76559 3.0335 5.97509 2.25 4.99997 2.25C4.02485 2.25 3.23435 3.0335 3.23435 4C3.23435 4.9665 4.02485 5.75 4.99997 5.75ZM4.99997 5C4.44272 5 3.99097 4.55225 3.99097 4C3.99097 3.44775 4.44272 3 4.99997 3C5.55722 3 6.00897 3.44775 6.00897 4C6.00897 4.55225 5.55722 5 4.99997 5Z" fill="#999999"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M9.90321 4.33275C8.46896 6.593 6.83334 7.75 4.99997 7.75C3.1666 7.75 1.53097 6.593 0.0967274 4.33275C-0.0323229 4.12969 -0.0323229 3.87032 0.0967274 3.66725C1.53097 1.407 3.1666 0.25 4.99997 0.25C6.83334 0.25 8.46896 1.407 9.90321 3.66725C10.0323 3.87032 10.0323 4.12969 9.90321 4.33275ZM9.11437 4C7.85015 2.03322 6.47978 1.07523 5.0001 1.07523C3.52041 1.07523 2.15004 2.03322 0.885817 4C2.15004 5.96679 3.52041 6.92477 5.0001 6.92477C6.47978 6.92477 7.85015 5.96679 9.11437 4Z" fill="#999999"/>
4
+ </svg>
@@ -1,3 +1,3 @@
1
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M0.75 1.6354V8.30905C0.75 8.30905 0.75 8.88006 1.14378 9.28686C1.14378 9.28686 1.53833 9.69445 2.09293 9.69445H9.25V4.30486C9.25 4.30486 9.25 3.73384 8.85622 3.32705C8.85622 3.32705 8.46167 2.91946 7.90707 2.91946H5.37391V1.6354C5.37391 1.6354 5.37391 1.06439 4.98012 0.657589C4.98012 0.657589 4.58557 0.25 4.03097 0.25H2.09293C2.09293 0.25 1.53833 0.25 1.14378 0.657589C1.14378 0.657589 0.75 1.06439 0.75 1.6354ZM4.62609 8.92575H2.09293C1.49781 8.92575 1.49781 8.30905 1.49781 8.30905L1.49781 1.6354C1.49781 1.0187 2.09293 1.0187 2.09293 1.0187L4.03098 1.0187C4.30005 1.0187 4.46269 1.18671 4.46269 1.18671C4.62609 1.35552 4.62609 1.6354 4.62609 1.6354V8.92575ZM2.04203 2.63644C2.04203 2.46585 2.14511 2.35937 2.14511 2.35937C2.24894 2.2521 2.41594 2.2521 2.41594 2.2521L3.70797 2.2521C4.08187 2.2521 4.08187 2.63644 4.08187 2.63644C4.08187 2.80704 3.9788 2.91352 3.9788 2.91352C3.87496 3.02079 3.70797 3.02079 3.70797 3.02079H2.41594C2.24894 3.02079 2.14511 2.91352 2.14511 2.91352C2.04203 2.80704 2.04203 2.63644 2.04203 2.63644ZM5.37391 3.68815L7.90707 3.68815C8.50219 3.68816 8.50219 4.30486 8.50219 4.30486V8.92575H5.37391V3.68815ZM2.04203 4.63854C2.04203 4.46795 2.1451 4.36147 2.1451 4.36147C2.24895 4.25419 2.41594 4.25419 2.41594 4.25419L3.70797 4.25419C4.08187 4.25419 4.08187 4.63854 4.08187 4.63854C4.08187 5.02289 3.70797 5.02289 3.70797 5.02289H2.41594C2.04203 5.02289 2.04203 4.63854 2.04203 4.63854ZM6.93805 4.25419C6.93805 4.25419 6.56414 4.25421 6.56414 4.63855V5.3059C6.56414 5.3059 6.56415 5.69025 6.93805 5.69025C6.93805 5.69025 7.31196 5.69025 7.31196 5.3059V4.63854C7.31196 4.63854 7.31196 4.46795 7.20888 4.36147C7.20888 4.36147 7.10504 4.25419 6.93805 4.25419ZM2.04203 6.64064C2.04203 6.25629 2.41594 6.25629 2.41594 6.25629H3.70797C3.87496 6.25629 3.9788 6.36356 3.9788 6.36356C4.08187 6.47004 4.08187 6.64064 4.08187 6.64064C4.08187 6.81123 3.9788 6.91771 3.9788 6.91771C3.87496 7.02499 3.70797 7.02499 3.70797 7.02499H2.41594C2.04203 7.02499 2.04203 6.64064 2.04203 6.64064ZM6.93805 6.25629C6.93805 6.25629 6.56414 6.25629 6.56414 6.64064V7.308C6.56414 7.308 6.56415 7.69235 6.93805 7.69235C6.93805 7.69235 7.31196 7.69234 7.31196 7.308V6.64064C7.31196 6.64064 7.31196 6.25629 6.93805 6.25629Z" fill="#CDDEFF"/>
3
- </svg>
1
+ <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.75 1.6354V8.30905C0.75 8.30905 0.75 8.88006 1.14378 9.28686C1.14378 9.28686 1.53833 9.69445 2.09293 9.69445H9.25V4.30486C9.25 4.30486 9.25 3.73384 8.85622 3.32705C8.85622 3.32705 8.46167 2.91946 7.90707 2.91946H5.37391V1.6354C5.37391 1.6354 5.37391 1.06439 4.98012 0.657589C4.98012 0.657589 4.58557 0.25 4.03097 0.25H2.09293C2.09293 0.25 1.53833 0.25 1.14378 0.657589C1.14378 0.657589 0.75 1.06439 0.75 1.6354ZM4.62609 8.92575H2.09293C1.49781 8.92575 1.49781 8.30905 1.49781 8.30905L1.49781 1.6354C1.49781 1.0187 2.09293 1.0187 2.09293 1.0187L4.03098 1.0187C4.30005 1.0187 4.46269 1.18671 4.46269 1.18671C4.62609 1.35552 4.62609 1.6354 4.62609 1.6354V8.92575ZM2.04203 2.63644C2.04203 2.46585 2.14511 2.35937 2.14511 2.35937C2.24894 2.2521 2.41594 2.2521 2.41594 2.2521L3.70797 2.2521C4.08187 2.2521 4.08187 2.63644 4.08187 2.63644C4.08187 2.80704 3.9788 2.91352 3.9788 2.91352C3.87496 3.02079 3.70797 3.02079 3.70797 3.02079H2.41594C2.24894 3.02079 2.14511 2.91352 2.14511 2.91352C2.04203 2.80704 2.04203 2.63644 2.04203 2.63644ZM5.37391 3.68815L7.90707 3.68815C8.50219 3.68816 8.50219 4.30486 8.50219 4.30486V8.92575H5.37391V3.68815ZM2.04203 4.63854C2.04203 4.46795 2.1451 4.36147 2.1451 4.36147C2.24895 4.25419 2.41594 4.25419 2.41594 4.25419L3.70797 4.25419C4.08187 4.25419 4.08187 4.63854 4.08187 4.63854C4.08187 5.02289 3.70797 5.02289 3.70797 5.02289H2.41594C2.04203 5.02289 2.04203 4.63854 2.04203 4.63854ZM6.93805 4.25419C6.93805 4.25419 6.56414 4.25421 6.56414 4.63855V5.3059C6.56414 5.3059 6.56415 5.69025 6.93805 5.69025C6.93805 5.69025 7.31196 5.69025 7.31196 5.3059V4.63854C7.31196 4.63854 7.31196 4.46795 7.20888 4.36147C7.20888 4.36147 7.10504 4.25419 6.93805 4.25419ZM2.04203 6.64064C2.04203 6.25629 2.41594 6.25629 2.41594 6.25629H3.70797C3.87496 6.25629 3.9788 6.36356 3.9788 6.36356C4.08187 6.47004 4.08187 6.64064 4.08187 6.64064C4.08187 6.81123 3.9788 6.91771 3.9788 6.91771C3.87496 7.02499 3.70797 7.02499 3.70797 7.02499H2.41594C2.04203 7.02499 2.04203 6.64064 2.04203 6.64064ZM6.93805 6.25629C6.93805 6.25629 6.56414 6.25629 6.56414 6.64064V7.308C6.56414 7.308 6.56415 7.69235 6.93805 7.69235C6.93805 7.69235 7.31196 7.69234 7.31196 7.308V6.64064C7.31196 6.64064 7.31196 6.25629 6.93805 6.25629Z" fill="#CDDEFF"/>
3
+ </svg>
@@ -1,3 +1,3 @@
1
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M0.75 1.6354V8.30905C0.75 8.30905 0.75 8.88006 1.14378 9.28686C1.14378 9.28686 1.53833 9.69445 2.09293 9.69445H9.25V4.30486C9.25 4.30486 9.25 3.73384 8.85622 3.32705C8.85622 3.32705 8.46167 2.91946 7.90707 2.91946H5.37391V1.6354C5.37391 1.6354 5.37391 1.06439 4.98012 0.657589C4.98012 0.657589 4.58557 0.25 4.03097 0.25H2.09293C2.09293 0.25 1.53833 0.25 1.14378 0.657589C1.14378 0.657589 0.75 1.06439 0.75 1.6354ZM4.62609 8.92575H2.09293C1.49781 8.92575 1.49781 8.30905 1.49781 8.30905L1.49781 1.6354C1.49781 1.0187 2.09293 1.0187 2.09293 1.0187L4.03098 1.0187C4.30005 1.0187 4.46269 1.18671 4.46269 1.18671C4.62609 1.35552 4.62609 1.6354 4.62609 1.6354V8.92575ZM2.04203 2.63644C2.04203 2.46585 2.14511 2.35937 2.14511 2.35937C2.24894 2.2521 2.41594 2.2521 2.41594 2.2521L3.70797 2.2521C4.08187 2.2521 4.08187 2.63644 4.08187 2.63644C4.08187 2.80704 3.9788 2.91352 3.9788 2.91352C3.87496 3.02079 3.70797 3.02079 3.70797 3.02079H2.41594C2.24894 3.02079 2.14511 2.91352 2.14511 2.91352C2.04203 2.80704 2.04203 2.63644 2.04203 2.63644ZM5.37391 3.68815L7.90707 3.68815C8.50219 3.68816 8.50219 4.30486 8.50219 4.30486V8.92575H5.37391V3.68815ZM2.04203 4.63854C2.04203 4.46795 2.1451 4.36147 2.1451 4.36147C2.24895 4.25419 2.41594 4.25419 2.41594 4.25419L3.70797 4.25419C4.08187 4.25419 4.08187 4.63854 4.08187 4.63854C4.08187 5.02289 3.70797 5.02289 3.70797 5.02289H2.41594C2.04203 5.02289 2.04203 4.63854 2.04203 4.63854ZM6.93805 4.25419C6.93805 4.25419 6.56414 4.25421 6.56414 4.63855V5.3059C6.56414 5.3059 6.56415 5.69025 6.93805 5.69025C6.93805 5.69025 7.31196 5.69025 7.31196 5.3059V4.63854C7.31196 4.63854 7.31196 4.46795 7.20888 4.36147C7.20888 4.36147 7.10504 4.25419 6.93805 4.25419ZM2.04203 6.64064C2.04203 6.25629 2.41594 6.25629 2.41594 6.25629H3.70797C3.87496 6.25629 3.9788 6.36356 3.9788 6.36356C4.08187 6.47004 4.08187 6.64064 4.08187 6.64064C4.08187 6.81123 3.9788 6.91771 3.9788 6.91771C3.87496 7.02499 3.70797 7.02499 3.70797 7.02499H2.41594C2.04203 7.02499 2.04203 6.64064 2.04203 6.64064ZM6.93805 6.25629C6.93805 6.25629 6.56414 6.25629 6.56414 6.64064V7.308C6.56414 7.308 6.56415 7.69235 6.93805 7.69235C6.93805 7.69235 7.31196 7.69234 7.31196 7.308V6.64064C7.31196 6.64064 7.31196 6.25629 6.93805 6.25629Z" fill="#999999"/>
3
- </svg>
1
+ <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.75 1.6354V8.30905C0.75 8.30905 0.75 8.88006 1.14378 9.28686C1.14378 9.28686 1.53833 9.69445 2.09293 9.69445H9.25V4.30486C9.25 4.30486 9.25 3.73384 8.85622 3.32705C8.85622 3.32705 8.46167 2.91946 7.90707 2.91946H5.37391V1.6354C5.37391 1.6354 5.37391 1.06439 4.98012 0.657589C4.98012 0.657589 4.58557 0.25 4.03097 0.25H2.09293C2.09293 0.25 1.53833 0.25 1.14378 0.657589C1.14378 0.657589 0.75 1.06439 0.75 1.6354ZM4.62609 8.92575H2.09293C1.49781 8.92575 1.49781 8.30905 1.49781 8.30905L1.49781 1.6354C1.49781 1.0187 2.09293 1.0187 2.09293 1.0187L4.03098 1.0187C4.30005 1.0187 4.46269 1.18671 4.46269 1.18671C4.62609 1.35552 4.62609 1.6354 4.62609 1.6354V8.92575ZM2.04203 2.63644C2.04203 2.46585 2.14511 2.35937 2.14511 2.35937C2.24894 2.2521 2.41594 2.2521 2.41594 2.2521L3.70797 2.2521C4.08187 2.2521 4.08187 2.63644 4.08187 2.63644C4.08187 2.80704 3.9788 2.91352 3.9788 2.91352C3.87496 3.02079 3.70797 3.02079 3.70797 3.02079H2.41594C2.24894 3.02079 2.14511 2.91352 2.14511 2.91352C2.04203 2.80704 2.04203 2.63644 2.04203 2.63644ZM5.37391 3.68815L7.90707 3.68815C8.50219 3.68816 8.50219 4.30486 8.50219 4.30486V8.92575H5.37391V3.68815ZM2.04203 4.63854C2.04203 4.46795 2.1451 4.36147 2.1451 4.36147C2.24895 4.25419 2.41594 4.25419 2.41594 4.25419L3.70797 4.25419C4.08187 4.25419 4.08187 4.63854 4.08187 4.63854C4.08187 5.02289 3.70797 5.02289 3.70797 5.02289H2.41594C2.04203 5.02289 2.04203 4.63854 2.04203 4.63854ZM6.93805 4.25419C6.93805 4.25419 6.56414 4.25421 6.56414 4.63855V5.3059C6.56414 5.3059 6.56415 5.69025 6.93805 5.69025C6.93805 5.69025 7.31196 5.69025 7.31196 5.3059V4.63854C7.31196 4.63854 7.31196 4.46795 7.20888 4.36147C7.20888 4.36147 7.10504 4.25419 6.93805 4.25419ZM2.04203 6.64064C2.04203 6.25629 2.41594 6.25629 2.41594 6.25629H3.70797C3.87496 6.25629 3.9788 6.36356 3.9788 6.36356C4.08187 6.47004 4.08187 6.64064 4.08187 6.64064C4.08187 6.81123 3.9788 6.91771 3.9788 6.91771C3.87496 7.02499 3.70797 7.02499 3.70797 7.02499H2.41594C2.04203 7.02499 2.04203 6.64064 2.04203 6.64064ZM6.93805 6.25629C6.93805 6.25629 6.56414 6.25629 6.56414 6.64064V7.308C6.56414 7.308 6.56415 7.69235 6.93805 7.69235C6.93805 7.69235 7.31196 7.69234 7.31196 7.308V6.64064C7.31196 6.64064 7.31196 6.25629 6.93805 6.25629Z" fill="#999999"/>
3
+ </svg>