@gm-pc/react 1.25.1-beta.1 → 1.26.0-beta.1

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 (399) hide show
  1. package/package.json +3 -3
  2. package/src/common/hooks/index.ts +5 -5
  3. package/src/common/hooks/use_form/index.ts +2 -2
  4. package/src/common/hooks/use_form/use_form.ts +184 -184
  5. package/src/common/hooks/use_form/utils.ts +23 -23
  6. package/src/common/hooks/use_mutation_observer.ts +19 -19
  7. package/src/common/utils/date.ts +28 -28
  8. package/src/common/utils/get_record_partical_object.ts +4 -4
  9. package/src/common/utils/index.ts +3 -3
  10. package/src/common/utils/utils.ts +16 -16
  11. package/src/component/affix/affix.tsx +31 -31
  12. package/src/component/affix/index.ts +2 -2
  13. package/src/component/affix/stories.tsx +16 -16
  14. package/src/component/affix/style.less +3 -3
  15. package/src/component/auto_complete/auto_complete.tsx +202 -202
  16. package/src/component/auto_complete/index.ts +6 -6
  17. package/src/component/auto_complete/stories.tsx +37 -37
  18. package/src/component/auto_full/auto_full.tsx +36 -36
  19. package/src/component/auto_full/index.ts +1 -1
  20. package/src/component/box/box.tsx +29 -29
  21. package/src/component/box/box_form.tsx +83 -83
  22. package/src/component/box/box_pagination.tsx +12 -12
  23. package/src/component/box/box_panel.tsx +91 -91
  24. package/src/component/box/box_table.tsx +57 -57
  25. package/src/component/box/index.ts +10 -10
  26. package/src/component/box/stories.tsx +119 -119
  27. package/src/component/box/style.less +41 -41
  28. package/src/component/button/button.tsx +94 -94
  29. package/src/component/button/button_text.tsx +33 -33
  30. package/src/component/button/index.ts +4 -4
  31. package/src/component/button/stories.tsx +131 -131
  32. package/src/component/button/style.less +158 -158
  33. package/src/component/calendar/calendar.tsx +25 -25
  34. package/src/component/calendar/content.tsx +87 -87
  35. package/src/component/calendar/day.tsx +106 -106
  36. package/src/component/calendar/head.tsx +244 -244
  37. package/src/component/calendar/index.ts +4 -4
  38. package/src/component/calendar/range_calendar.tsx +121 -121
  39. package/src/component/calendar/stories.tsx +54 -54
  40. package/src/component/calendar/style.less +136 -136
  41. package/src/component/calendar/types.ts +56 -56
  42. package/src/component/calendar/week.tsx +27 -27
  43. package/src/component/card/card.tsx +148 -148
  44. package/src/component/card/form_card.tsx +42 -42
  45. package/src/component/card/index.ts +2 -2
  46. package/src/component/card/stories.tsx +90 -90
  47. package/src/component/card/style.less +125 -125
  48. package/src/component/checkbox/checkbox.tsx +75 -75
  49. package/src/component/checkbox/checkbox_group.tsx +51 -51
  50. package/src/component/checkbox/index.ts +5 -5
  51. package/src/component/checkbox/stories.tsx +152 -152
  52. package/src/component/checkbox/style.less +73 -73
  53. package/src/component/checkbox/util.ts +19 -19
  54. package/src/component/collapse/collapse.tsx +27 -27
  55. package/src/component/collapse/index.ts +2 -2
  56. package/src/component/collapse/stories.tsx +21 -21
  57. package/src/component/color_picker/color_list.ts +34 -34
  58. package/src/component/color_picker/color_picker.tsx +43 -43
  59. package/src/component/color_picker/color_select.tsx +97 -97
  60. package/src/component/color_picker/index.ts +2 -2
  61. package/src/component/color_picker/stories.tsx +20 -20
  62. package/src/component/color_picker/style.less +41 -41
  63. package/src/component/config_provider/config_provider.tsx +16 -16
  64. package/src/component/config_provider/context.ts +10 -10
  65. package/src/component/config_provider/index.ts +3 -3
  66. package/src/component/controlled_form/context.tsx +18 -18
  67. package/src/component/controlled_form/controlled_form.tsx +141 -141
  68. package/src/component/controlled_form/index.ts +8 -8
  69. package/src/component/controlled_form/items/index.tsx +115 -115
  70. package/src/component/controlled_form/items/utils.ts +132 -132
  71. package/src/component/controlled_form/stories/components/date_range_filter.tsx +83 -83
  72. package/src/component/controlled_form/stories/components/index.ts +2 -2
  73. package/src/component/controlled_form/stories/components/search_filter.tsx +52 -52
  74. package/src/component/controlled_form/stories/stories.tsx +372 -372
  75. package/src/component/date_picker/date_picker.tsx +187 -187
  76. package/src/component/date_picker/index.ts +2 -2
  77. package/src/component/date_picker/overlay.tsx +115 -115
  78. package/src/component/date_picker/stories.tsx +109 -109
  79. package/src/component/date_picker/style.less +23 -23
  80. package/src/component/date_picker/time_select.tsx +58 -58
  81. package/src/component/date_picker/types.ts +7 -7
  82. package/src/component/date_range_picker/date_range_picker.tsx +144 -144
  83. package/src/component/date_range_picker/index.ts +2 -2
  84. package/src/component/date_range_picker/left.tsx +107 -107
  85. package/src/component/date_range_picker/overlay.tsx +204 -204
  86. package/src/component/date_range_picker/stories.tsx +181 -181
  87. package/src/component/date_range_picker/style.less +41 -41
  88. package/src/component/date_range_picker/time_range_select.tsx +144 -144
  89. package/src/component/date_range_picker/two.tsx +108 -108
  90. package/src/component/date_range_picker/types.ts +42 -42
  91. package/src/component/date_range_picker/util.ts +11 -11
  92. package/src/component/dialog/alert.tsx +38 -38
  93. package/src/component/dialog/confirm.tsx +120 -120
  94. package/src/component/dialog/delete_com.tsx +27 -27
  95. package/src/component/dialog/dialog.tsx +70 -70
  96. package/src/component/dialog/index.ts +16 -16
  97. package/src/component/dialog/prompt.tsx +95 -95
  98. package/src/component/dialog/stories.tsx +195 -195
  99. package/src/component/dialog/types.ts +70 -70
  100. package/src/component/divider/divider.tsx +25 -25
  101. package/src/component/divider/index.ts +2 -2
  102. package/src/component/divider/stories.tsx +14 -14
  103. package/src/component/divider/style.less +29 -29
  104. package/src/component/flex/flex.tsx +133 -133
  105. package/src/component/flex/index.ts +2 -2
  106. package/src/component/flex/stories.tsx +17 -17
  107. package/src/component/flex/style.less +105 -105
  108. package/src/component/flip_number/flip_number.tsx +209 -209
  109. package/src/component/flip_number/index.ts +2 -2
  110. package/src/component/flip_number/stories.tsx +28 -28
  111. package/src/component/flip_number/utils.ts +58 -58
  112. package/src/component/form/context.tsx +15 -15
  113. package/src/component/form/form.tsx +142 -142
  114. package/src/component/form/form_block.tsx +39 -39
  115. package/src/component/form/form_button.tsx +28 -28
  116. package/src/component/form/form_group.tsx +157 -157
  117. package/src/component/form/form_item.tsx +141 -141
  118. package/src/component/form/form_panel.tsx +63 -63
  119. package/src/component/form/index.ts +15 -15
  120. package/src/component/form/stories.tsx +448 -448
  121. package/src/component/form/style.less +159 -159
  122. package/src/component/form/types.ts +110 -110
  123. package/src/component/function_set/function_set.tsx +84 -84
  124. package/src/component/function_set/index.ts +2 -2
  125. package/src/component/function_set/overlay.tsx +41 -41
  126. package/src/component/function_set/stories.tsx +71 -71
  127. package/src/component/function_set/types.ts +15 -15
  128. package/src/component/function_set/utils.ts +21 -21
  129. package/src/component/grid/col.tsx +55 -55
  130. package/src/component/grid/index.ts +3 -3
  131. package/src/component/grid/mixin.less +48 -48
  132. package/src/component/grid/row.tsx +27 -27
  133. package/src/component/grid/stories.tsx +65 -65
  134. package/src/component/grid/style.less +27 -27
  135. package/src/component/grid/types.ts +35 -35
  136. package/src/component/grid/util.ts +12 -12
  137. package/src/component/icon_down_up/icon_down_up.tsx +22 -22
  138. package/src/component/icon_down_up/index.ts +2 -2
  139. package/src/component/icon_down_up/stories.tsx +21 -21
  140. package/src/component/icon_down_up/style.less +10 -10
  141. package/src/component/icon_expand/icon_expand.tsx +22 -22
  142. package/src/component/icon_expand/index.ts +1 -1
  143. package/src/component/img_uploader/img_uploader.tsx +168 -168
  144. package/src/component/img_uploader/index.ts +2 -2
  145. package/src/component/img_uploader/stories.tsx +58 -58
  146. package/src/component/img_uploader/style.less +22 -22
  147. package/src/component/input/index.ts +5 -5
  148. package/src/component/input/input.tsx +24 -24
  149. package/src/component/input/input_close.tsx +51 -51
  150. package/src/component/input/stories.tsx +56 -56
  151. package/src/component/input/style.less +33 -33
  152. package/src/component/input_number/index.ts +2 -2
  153. package/src/component/input_number/input_number.tsx +115 -115
  154. package/src/component/input_number/stories.tsx +27 -27
  155. package/src/component/input_number/style.less +10 -10
  156. package/src/component/input_number/utils.ts +44 -44
  157. package/src/component/label/index.tsx +19 -19
  158. package/src/component/label/stories.tsx +26 -26
  159. package/src/component/label/style.less +34 -34
  160. package/src/component/layout_root/index.ts +2 -2
  161. package/src/component/layout_root/layout_root.tsx +116 -116
  162. package/src/component/layout_root/types.ts +38 -38
  163. package/src/component/level_list/index.ts +2 -2
  164. package/src/component/level_list/level_item.tsx +79 -79
  165. package/src/component/level_list/level_list.tsx +123 -123
  166. package/src/component/level_list/stories/constants.ts +72 -72
  167. package/src/component/level_list/stories/stories.tsx +87 -87
  168. package/src/component/level_list/style.less +41 -41
  169. package/src/component/level_list/types.ts +36 -36
  170. package/src/component/level_list/utils.ts +19 -19
  171. package/src/component/level_select/index.ts +7 -7
  172. package/src/component/level_select/level_select.tsx +216 -216
  173. package/src/component/level_select/multiple_level_select.tsx +104 -104
  174. package/src/component/level_select/stories.tsx +102 -102
  175. package/src/component/level_select/types.ts +38 -38
  176. package/src/component/level_select/util.ts +20 -20
  177. package/src/component/list/base.tsx +129 -129
  178. package/src/component/list/index.ts +3 -3
  179. package/src/component/list/list.tsx +61 -61
  180. package/src/component/list/stories.tsx +113 -113
  181. package/src/component/list/style.less +58 -58
  182. package/src/component/list/types.ts +37 -37
  183. package/src/component/loading/index.ts +10 -10
  184. package/src/component/loading/loading.tsx +26 -26
  185. package/src/component/loading/loading_chunk.tsx +37 -37
  186. package/src/component/loading/loading_full_screen.tsx +45 -45
  187. package/src/component/loading/stories.tsx +43 -43
  188. package/src/component/loading/style.less +69 -69
  189. package/src/component/loading/types.ts +30 -30
  190. package/src/component/mask/index.ts +2 -2
  191. package/src/component/mask/mask.tsx +22 -22
  192. package/src/component/mask/style.less +10 -10
  193. package/src/component/modal/clean_modal.tsx +14 -14
  194. package/src/component/modal/index.ts +5 -5
  195. package/src/component/modal/modal.tsx +145 -145
  196. package/src/component/modal/right_side_modal.tsx +22 -22
  197. package/src/component/modal/stories.tsx +132 -132
  198. package/src/component/modal/style.less +138 -138
  199. package/src/component/modal/types.ts +27 -27
  200. package/src/component/more_select/base.tsx +408 -408
  201. package/src/component/more_select/index.ts +6 -6
  202. package/src/component/more_select/more_select.tsx +137 -137
  203. package/src/component/more_select/render_list_filter.ts +39 -39
  204. package/src/component/more_select/stories.tsx +323 -323
  205. package/src/component/more_select/style.less +72 -72
  206. package/src/component/more_select/types.ts +114 -114
  207. package/src/component/multiple_selection/index.ts +2 -2
  208. package/src/component/multiple_selection/multiple_selection.tsx +118 -118
  209. package/src/component/multiple_selection/stories.tsx +37 -37
  210. package/src/component/multiple_selection/style.less +57 -57
  211. package/src/component/n_progress/index.ts +1 -1
  212. package/src/component/n_progress/n_progress.tsx +39 -39
  213. package/src/component/n_progress/stories.tsx +25 -25
  214. package/src/component/n_progress/style.less +39 -39
  215. package/src/component/nav/a.tsx +7 -7
  216. package/src/component/nav/index.ts +10 -10
  217. package/src/component/nav/nav.tsx +114 -114
  218. package/src/component/nav/nav_item.tsx +98 -98
  219. package/src/component/nav/nav_single_item.tsx +28 -28
  220. package/src/component/nav/popup.tsx +100 -100
  221. package/src/component/nav/portal.ts +17 -17
  222. package/src/component/nav/stories.tsx +152 -152
  223. package/src/component/nav/style.less +246 -246
  224. package/src/component/nav/types.ts +93 -93
  225. package/src/component/pagination/index.ts +2 -2
  226. package/src/component/pagination/left.tsx +52 -45
  227. package/src/component/pagination/page_with_count.tsx +115 -115
  228. package/src/component/pagination/page_without_count.tsx +64 -64
  229. package/src/component/pagination/pagination.tsx +23 -23
  230. package/src/component/pagination/right.tsx +79 -78
  231. package/src/component/pagination/stories.tsx +62 -62
  232. package/src/component/pagination/style.less +51 -51
  233. package/src/component/pagination/types.ts +16 -16
  234. package/src/component/pagination/util.ts +7 -7
  235. package/src/component/popover/index.ts +2 -2
  236. package/src/component/popover/popover.tsx +279 -279
  237. package/src/component/popover/stories.tsx +104 -104
  238. package/src/component/popover/types.ts +25 -25
  239. package/src/component/popover/utils.ts +22 -22
  240. package/src/component/popup/element_in_viewport.ts +33 -33
  241. package/src/component/popup/index.ts +4 -4
  242. package/src/component/popup/popup.tsx +149 -149
  243. package/src/component/popup/popup_content_confirm.tsx +106 -106
  244. package/src/component/popup/style.less +107 -107
  245. package/src/component/price/constant.ts +4 -4
  246. package/src/component/price/event_bus.ts +13 -13
  247. package/src/component/price/index.ts +2 -2
  248. package/src/component/price/price.tsx +154 -152
  249. package/src/component/price/stories.tsx +22 -22
  250. package/src/component/progress/index.ts +2 -2
  251. package/src/component/progress/progress.tsx +53 -53
  252. package/src/component/progress/stories.tsx +20 -20
  253. package/src/component/progress/style.less +35 -35
  254. package/src/component/progress_circle/index.ts +2 -2
  255. package/src/component/progress_circle/progress_circle.tsx +85 -85
  256. package/src/component/progress_circle/stories.tsx +31 -31
  257. package/src/component/progress_circle/style.less +21 -21
  258. package/src/component/radio/index.ts +5 -5
  259. package/src/component/radio/radio.tsx +72 -72
  260. package/src/component/radio/radio_group.tsx +48 -48
  261. package/src/component/radio/stories.tsx +103 -103
  262. package/src/component/radio/style.less +56 -56
  263. package/src/component/radio/util.ts +19 -19
  264. package/src/component/recommend_input/index.ts +2 -2
  265. package/src/component/recommend_input/recommend_input.tsx +100 -100
  266. package/src/component/recommend_input/stories.tsx +47 -47
  267. package/src/component/recommend_input/style.less +25 -25
  268. package/src/component/select/index.ts +2 -2
  269. package/src/component/select/select.tsx +172 -171
  270. package/src/component/select/stories.tsx +140 -140
  271. package/src/component/select/style.less +4 -4
  272. package/src/component/select/types.ts +29 -29
  273. package/src/component/selection/index.ts +2 -2
  274. package/src/component/selection/selection.tsx +162 -162
  275. package/src/component/selection/stories.tsx +45 -45
  276. package/src/component/selection/style.less +65 -65
  277. package/src/component/steps/index.ts +2 -2
  278. package/src/component/steps/steps.tsx +61 -61
  279. package/src/component/steps/stories.tsx +18 -18
  280. package/src/component/steps/style.less +39 -39
  281. package/src/component/storage/index.ts +1 -1
  282. package/src/component/storage/storage.ts +7 -7
  283. package/src/component/storage/stories.tsx +7 -7
  284. package/src/component/switch/index.ts +2 -2
  285. package/src/component/switch/stories.tsx +39 -39
  286. package/src/component/switch/style.less +60 -60
  287. package/src/component/switch/switch.tsx +127 -127
  288. package/src/component/table_select/index.ts +2 -2
  289. package/src/component/table_select/stories.tsx +97 -97
  290. package/src/component/table_select/style.less +20 -20
  291. package/src/component/table_select/table_select.tsx +92 -92
  292. package/src/component/table_select/types.ts +30 -30
  293. package/src/component/table_select/util.ts +15 -15
  294. package/src/component/tabs/index.ts +2 -2
  295. package/src/component/tabs/stories.tsx +172 -172
  296. package/src/component/tabs/style.less +149 -149
  297. package/src/component/tabs/tabs.tsx +232 -232
  298. package/src/component/textarea/index.ts +3 -3
  299. package/src/component/textarea/stories.tsx +37 -37
  300. package/src/component/textarea/style.less +12 -12
  301. package/src/component/textarea/textarea.tsx +22 -22
  302. package/src/component/time_span/index.ts +4 -4
  303. package/src/component/time_span/stories.tsx +87 -87
  304. package/src/component/time_span/style.less +45 -45
  305. package/src/component/time_span/time_span.tsx +129 -129
  306. package/src/component/time_span/time_span_picker.tsx +71 -71
  307. package/src/component/time_span/types.ts +58 -58
  308. package/src/component/time_span/util.ts +18 -18
  309. package/src/component/tip/index.ts +2 -2
  310. package/src/component/tip/stories.tsx +44 -44
  311. package/src/component/tip/style.less +53 -53
  312. package/src/component/tip/tip.tsx +95 -95
  313. package/src/component/tip/types.ts +20 -20
  314. package/src/component/tooltip/index.ts +2 -2
  315. package/src/component/tooltip/stories.tsx +32 -32
  316. package/src/component/tooltip/tooltip.tsx +40 -40
  317. package/src/component/transfer/index.ts +2 -2
  318. package/src/component/transfer/stories.tsx +140 -140
  319. package/src/component/transfer/transfer.tsx +147 -147
  320. package/src/component/transfer/types.ts +42 -42
  321. package/src/component/tree/bottom.tsx +34 -34
  322. package/src/component/tree/find.tsx +73 -73
  323. package/src/component/tree/index.ts +2 -2
  324. package/src/component/tree/item.tsx +75 -75
  325. package/src/component/tree/list.tsx +123 -123
  326. package/src/component/tree/search.tsx +29 -29
  327. package/src/component/tree/stories.tsx +309 -309
  328. package/src/component/tree/style.less +35 -35
  329. package/src/component/tree/tree.tsx +238 -238
  330. package/src/component/tree/types.ts +155 -155
  331. package/src/component/tree/util.ts +208 -208
  332. package/src/component/uploader/default_container.tsx +24 -24
  333. package/src/component/uploader/default_image.tsx +15 -15
  334. package/src/component/uploader/index.ts +10 -10
  335. package/src/component/uploader/stories.tsx +53 -53
  336. package/src/component/uploader/style.less +22 -22
  337. package/src/component/uploader/types.ts +25 -25
  338. package/src/component/uploader/uploader.tsx +62 -62
  339. package/src/component/v_browser/context/browser.ts +7 -7
  340. package/src/component/v_browser/context/browserWindow.ts +7 -7
  341. package/src/component/v_browser/hooks/useWindowEffect.ts +53 -53
  342. package/src/component/v_browser/index.ts +4 -4
  343. package/src/component/v_browser/types.ts +46 -46
  344. package/src/component/v_browser/ui/iframe_portal.tsx +28 -28
  345. package/src/component/v_browser/ui/index.tsx +213 -213
  346. package/src/component/v_browser/ui/style.less +113 -113
  347. package/src/component/v_browser/ui/window_wrapper.tsx +74 -74
  348. package/src/component/v_browser/v_browser.stories.mdx +128 -128
  349. package/src/component/v_browser/v_browser.tsx +287 -287
  350. package/src/css/base.less +64 -64
  351. package/src/css/bg.less +52 -52
  352. package/src/css/border.less +40 -40
  353. package/src/css/cursor.less +19 -19
  354. package/src/css/display.less +16 -16
  355. package/src/css/distance.less +93 -93
  356. package/src/css/error.less +8 -8
  357. package/src/css/other.less +15 -15
  358. package/src/css/overflow.less +23 -23
  359. package/src/css/position.less +11 -11
  360. package/src/css/svg.less +48 -48
  361. package/src/css/text.less +127 -127
  362. package/src/css/var/mixin.less +75 -75
  363. package/src/css/var/variables.less +125 -125
  364. package/src/event_type.ts +11 -11
  365. package/src/index.less +64 -64
  366. package/src/index.ts +61 -61
  367. package/src/svg/calendar-month.svg +8 -8
  368. package/src/svg/calendar-year.svg +13 -13
  369. package/src/svg/calendar.svg +17 -17
  370. package/src/svg/check-detail.svg +18 -18
  371. package/src/svg/close-circle.svg +13 -13
  372. package/src/svg/close-square.svg +12 -12
  373. package/src/svg/closeup.svg +20 -20
  374. package/src/svg/delete.svg +10 -10
  375. package/src/svg/down-small.svg +1 -1
  376. package/src/svg/down.svg +1 -1
  377. package/src/svg/edit-box.svg +17 -17
  378. package/src/svg/edit-pen.svg +17 -17
  379. package/src/svg/empty.svg +27 -27
  380. package/src/svg/expand.svg +21 -21
  381. package/src/svg/left-small.svg +1 -1
  382. package/src/svg/more.svg +10 -10
  383. package/src/svg/next.svg +40 -40
  384. package/src/svg/pen.svg +12 -12
  385. package/src/svg/remove.svg +1 -1
  386. package/src/svg/right-small.svg +1 -1
  387. package/src/svg/search.svg +8 -8
  388. package/src/svg/setting.svg +17 -17
  389. package/src/svg/up-small.svg +1 -1
  390. package/src/svg/up.svg +1 -1
  391. package/src/svg/vbrowser-tab-delete.svg +8 -8
  392. package/src/svg/vbrowser-tab-left.svg +8 -8
  393. package/src/svg/vbrowser-tab-right.svg +8 -8
  394. package/src/types.ts +33 -33
  395. package/src/validator/index.ts +16 -16
  396. package/src/validator/rules.ts +61 -61
  397. package/src/validator/types.ts +10 -10
  398. package/src/validator/validator.ts +95 -95
  399. package/src/var.less +2 -2
@@ -1,37 +1,37 @@
1
- import React from 'react'
2
- import MultipleSelection from './multiple_selection'
3
- import { observable } from 'mobx'
4
-
5
- const store = observable({
6
- selected: [
7
- { value: 1, text: '小明' },
8
- { value: 2, text: '小红' },
9
- ],
10
- setSelected(selected: any) {
11
- console.log(selected)
12
- this.selected = selected
13
- },
14
- })
15
-
16
- export const ComMultipleSelection = () => (
17
- <div>
18
- <MultipleSelection
19
- selected={[]}
20
- onSelect={(selected) => {
21
- store.setSelected(selected)
22
- }}
23
- placeholder='请选择'
24
- />
25
- <MultipleSelection
26
- selected={store.selected.slice()}
27
- onSelect={(selected) => {
28
- store.setSelected(selected)
29
- }}
30
- placeholder='请选择'
31
- />
32
- </div>
33
- )
34
-
35
- export default {
36
- title: '其他/MultipleSelection',
37
- }
1
+ import React from 'react'
2
+ import MultipleSelection from './multiple_selection'
3
+ import { observable } from 'mobx'
4
+
5
+ const store = observable({
6
+ selected: [
7
+ { value: 1, text: '小明' },
8
+ { value: 2, text: '小红' },
9
+ ],
10
+ setSelected(selected: any) {
11
+ console.log(selected)
12
+ this.selected = selected
13
+ },
14
+ })
15
+
16
+ export const ComMultipleSelection = () => (
17
+ <div>
18
+ <MultipleSelection
19
+ selected={[]}
20
+ onSelect={(selected) => {
21
+ store.setSelected(selected)
22
+ }}
23
+ placeholder='请选择'
24
+ />
25
+ <MultipleSelection
26
+ selected={store.selected.slice()}
27
+ onSelect={(selected) => {
28
+ store.setSelected(selected)
29
+ }}
30
+ placeholder='请选择'
31
+ />
32
+ </div>
33
+ )
34
+
35
+ export default {
36
+ title: '其他/MultipleSelection',
37
+ }
@@ -1,57 +1,57 @@
1
- .gm-multiple-selection {
2
- position: relative;
3
- vertical-align: middle;
4
- min-height: var(--gm-size-form-height);
5
- border: 1px solid var(--gm-color-border);
6
-
7
- .gm-multiple-selection-selected {
8
- padding-left: 10px;
9
- padding-right: 20px;
10
- cursor: pointer;
11
- line-height: 18px;
12
- min-height: var(--gm-size-form-height);
13
- }
14
-
15
- .gm-multiple-selection-item {
16
- background-color: var(--gm-color-bg-primary-more-light);
17
- padding: 0 2px;
18
- border-radius: 2px;
19
- margin-right: 5px;
20
-
21
- .gm-multiple-selection-item-close {
22
- margin-left: 2px;
23
- color: var(--gm-color-desc);
24
- cursor: pointer;
25
- opacity: 0.5;
26
- }
27
- }
28
-
29
- .gm-multiple-selection-icon {
30
- position: absolute;
31
- display: block;
32
- line-height: 1;
33
- top: 9px;
34
- right: 6px;
35
- color: var(--gm-color-desc);
36
- cursor: pointer;
37
- }
38
-
39
- .gm-multiple-selection-close-icon {
40
- display: none;
41
- right: 6px;
42
- }
43
-
44
- .gm-multiple-selection-down-up {
45
- right: 6px;
46
- }
47
-
48
- &:hover {
49
- .gm-multiple-selection-close-icon {
50
- display: block;
51
- }
52
-
53
- .gm-multiple-selection-fun-icon {
54
- display: none;
55
- }
56
- }
57
- }
1
+ .gm-multiple-selection {
2
+ position: relative;
3
+ vertical-align: middle;
4
+ min-height: var(--gm-size-form-height);
5
+ border: 1px solid var(--gm-color-border);
6
+
7
+ .gm-multiple-selection-selected {
8
+ padding-left: 10px;
9
+ padding-right: 20px;
10
+ cursor: pointer;
11
+ line-height: 18px;
12
+ min-height: var(--gm-size-form-height);
13
+ }
14
+
15
+ .gm-multiple-selection-item {
16
+ background-color: var(--gm-color-bg-primary-more-light);
17
+ padding: 0 2px;
18
+ border-radius: 2px;
19
+ margin-right: 5px;
20
+
21
+ .gm-multiple-selection-item-close {
22
+ margin-left: 2px;
23
+ color: var(--gm-color-desc);
24
+ cursor: pointer;
25
+ opacity: 0.5;
26
+ }
27
+ }
28
+
29
+ .gm-multiple-selection-icon {
30
+ position: absolute;
31
+ display: block;
32
+ line-height: 1;
33
+ top: 9px;
34
+ right: 6px;
35
+ color: var(--gm-color-desc);
36
+ cursor: pointer;
37
+ }
38
+
39
+ .gm-multiple-selection-close-icon {
40
+ display: none;
41
+ right: 6px;
42
+ }
43
+
44
+ .gm-multiple-selection-down-up {
45
+ right: 6px;
46
+ }
47
+
48
+ &:hover {
49
+ .gm-multiple-selection-close-icon {
50
+ display: block;
51
+ }
52
+
53
+ .gm-multiple-selection-fun-icon {
54
+ display: none;
55
+ }
56
+ }
57
+ }
@@ -1 +1 @@
1
- export { default as NProgress } from './n_progress'
1
+ export { default as NProgress } from './n_progress'
@@ -1,39 +1,39 @@
1
- import React, { FC } from 'react'
2
- import { LayoutRoot } from '../layout_root'
3
-
4
- interface NProgressFC extends FC {
5
- start(): void
6
- done(): void
7
- }
8
-
9
- const NProgress: NProgressFC = () => (
10
- <div className='gm-n-progress gm-n-progress-loading' />
11
- )
12
-
13
- let timer: number | null
14
- let reqLength = 0
15
-
16
- NProgress.start = function () {
17
- reqLength = reqLength + 1
18
- if (reqLength === 1) {
19
- if (timer) {
20
- clearTimeout(timer)
21
- timer = null
22
- }
23
- LayoutRoot.setComponent(LayoutRoot.Type.N_PROGRESS, <NProgress />)
24
- }
25
- }
26
-
27
- NProgress.done = function () {
28
- reqLength = reqLength - 1
29
- const nProgress = document.querySelector('.gm-n-progress')
30
- if (!reqLength && !timer) {
31
- nProgress && (nProgress.className = 'gm-n-progress gm-n-progress-completed')
32
- timer = window.setTimeout(function () {
33
- LayoutRoot.removeComponent(LayoutRoot.Type.N_PROGRESS)
34
- timer = null
35
- }, 250)
36
- }
37
- }
38
-
39
- export default NProgress
1
+ import React, { FC } from 'react'
2
+ import { LayoutRoot } from '../layout_root'
3
+
4
+ interface NProgressFC extends FC {
5
+ start(): void
6
+ done(): void
7
+ }
8
+
9
+ const NProgress: NProgressFC = () => (
10
+ <div className='gm-n-progress gm-n-progress-loading' />
11
+ )
12
+
13
+ let timer: number | null
14
+ let reqLength = 0
15
+
16
+ NProgress.start = function () {
17
+ reqLength = reqLength + 1
18
+ if (reqLength === 1) {
19
+ if (timer) {
20
+ clearTimeout(timer)
21
+ timer = null
22
+ }
23
+ LayoutRoot.setComponent(LayoutRoot.Type.N_PROGRESS, <NProgress />)
24
+ }
25
+ }
26
+
27
+ NProgress.done = function () {
28
+ reqLength = reqLength - 1
29
+ const nProgress = document.querySelector('.gm-n-progress')
30
+ if (!reqLength && !timer) {
31
+ nProgress && (nProgress.className = 'gm-n-progress gm-n-progress-completed')
32
+ timer = window.setTimeout(function () {
33
+ LayoutRoot.removeComponent(LayoutRoot.Type.N_PROGRESS)
34
+ timer = null
35
+ }, 250)
36
+ }
37
+ }
38
+
39
+ export default NProgress
@@ -1,25 +1,25 @@
1
- import React from 'react'
2
- import NProgress from './n_progress'
3
-
4
- export const ComNProgress = () => (
5
- <div>
6
- <button
7
- onClick={() => {
8
- NProgress.start()
9
- }}
10
- >
11
- start
12
- </button>
13
- <button
14
- onClick={() => {
15
- NProgress.done()
16
- }}
17
- >
18
- end
19
- </button>
20
- </div>
21
- )
22
-
23
- export default {
24
- title: '反馈/NProgress',
25
- }
1
+ import React from 'react'
2
+ import NProgress from './n_progress'
3
+
4
+ export const ComNProgress = () => (
5
+ <div>
6
+ <button
7
+ onClick={() => {
8
+ NProgress.start()
9
+ }}
10
+ >
11
+ start
12
+ </button>
13
+ <button
14
+ onClick={() => {
15
+ NProgress.done()
16
+ }}
17
+ >
18
+ end
19
+ </button>
20
+ </div>
21
+ )
22
+
23
+ export default {
24
+ title: '反馈/NProgress',
25
+ }
@@ -1,39 +1,39 @@
1
- .gm-n-progress {
2
- transition: all 200ms ease;
3
- height: 2px;
4
- background: var(--gm-color-primary);
5
- width: 100%;
6
- position: fixed;
7
- top: 0;
8
- left: 0;
9
- right: 0;
10
- z-index: 9999;
11
- }
12
-
13
- .gm-n-progress-loading {
14
- animation: gm-n-progress-loading 1s linear;
15
- animation-fill-mode: forwards;
16
- }
17
-
18
- .gm-n-progress-completed {
19
- transform: translateX(0);
20
- visibility: hidden;
21
- }
22
-
23
- @keyframes gm-n-progress-loading {
24
- 0% {
25
- transform: translateX(-100%);
26
- }
27
-
28
- 20% {
29
- transform: translateX(-50%);
30
- }
31
-
32
- 50% {
33
- transform: translateX(-20%);
34
- }
35
-
36
- 100% {
37
- transform: translateX(-10%);
38
- }
39
- }
1
+ .gm-n-progress {
2
+ transition: all 200ms ease;
3
+ height: 2px;
4
+ background: var(--gm-color-primary);
5
+ width: 100%;
6
+ position: fixed;
7
+ top: 0;
8
+ left: 0;
9
+ right: 0;
10
+ z-index: 9999;
11
+ }
12
+
13
+ .gm-n-progress-loading {
14
+ animation: gm-n-progress-loading 1s linear;
15
+ animation-fill-mode: forwards;
16
+ }
17
+
18
+ .gm-n-progress-completed {
19
+ transform: translateX(0);
20
+ visibility: hidden;
21
+ }
22
+
23
+ @keyframes gm-n-progress-loading {
24
+ 0% {
25
+ transform: translateX(-100%);
26
+ }
27
+
28
+ 20% {
29
+ transform: translateX(-50%);
30
+ }
31
+
32
+ 50% {
33
+ transform: translateX(-20%);
34
+ }
35
+
36
+ 100% {
37
+ transform: translateX(-10%);
38
+ }
39
+ }
@@ -1,7 +1,7 @@
1
- import React, { AnchorHTMLAttributes, FC } from 'react'
2
-
3
- const A: FC<AnchorHTMLAttributes<HTMLAnchorElement>> = ({ href, ...rest }) => {
4
- return <a href={`#${href}`} {...rest} />
5
- }
6
-
7
- export default A
1
+ import React, { AnchorHTMLAttributes, FC } from 'react'
2
+
3
+ const A: FC<AnchorHTMLAttributes<HTMLAnchorElement>> = ({ href, ...rest }) => {
4
+ return <a href={`#${href}`} {...rest} />
5
+ }
6
+
7
+ export default A
@@ -1,10 +1,10 @@
1
- export { default as Nav } from './nav'
2
- export { default as NavSingleItem } from './nav_single_item'
3
-
4
- export type {
5
- NavProps,
6
- NavSingleItemProps,
7
- NavData,
8
- NavDataLevel2,
9
- NavDataLevel3,
10
- } from './types'
1
+ export { default as Nav } from './nav'
2
+ export { default as NavSingleItem } from './nav_single_item'
3
+
4
+ export type {
5
+ NavProps,
6
+ NavSingleItemProps,
7
+ NavData,
8
+ NavDataLevel2,
9
+ NavDataLevel3,
10
+ } from './types'
@@ -1,114 +1,114 @@
1
- import React, { FC, useState, MouseEvent, useRef } from 'react'
2
- import classNames from 'classnames'
3
- import { NavProps } from './types'
4
- import { Flex } from '../flex'
5
- import NavItem from './nav_item'
6
- import NavSingleItem from './nav_single_item'
7
-
8
- const Nav: FC<NavProps> = ({
9
- logo,
10
- data,
11
- selected,
12
- onSelect,
13
- onPushCreate,
14
- showActive,
15
- other,
16
- className,
17
- style,
18
- footerImage,
19
- footerConfig,
20
- ...rest
21
- }) => {
22
- // 根据鼠标点到导航栏右边的线距离,判断移动方向
23
- const temp = useRef(0)
24
- // 控制hover
25
- const canHover = useRef(true)
26
- // 优化体验,设置计时器
27
- const timer = useRef<ReturnType<typeof setTimeout> | null>(null)
28
- const refNav = useRef<HTMLDivElement>(null)
29
- // 控制菜单浮层
30
- const [hoverLink, setCanHoverLink] = useState(showActive || '')
31
-
32
- // 每个 nav_item 的 mouseMove 的 callback
33
- const handleMouseMove = (event: MouseEvent, link: string) => {
34
- if (canHover.current) {
35
- setCanHoverLink(link)
36
- }
37
- checkActive(event.clientX)
38
- }
39
-
40
- // 根据 navItem 的鼠标 x 坐标变化,控制 hover
41
- const checkActive = (mouseX: number) => {
42
- // 导航栏右侧 x 边界坐标值
43
- const maxX = refNav.current!.getBoundingClientRect().width
44
- const nowTemp = maxX - mouseX
45
- // 比较前后,两次坐标差值,判断用户鼠标行为,是左滑或右滑
46
- if (nowTemp < temp.current) {
47
- // 右滑,锁hover
48
- canHover.current = false
49
- // 用户鼠标停止时,无法触发此事件,所以加入定时器,优化用户悬停情况下,自动解锁 hover
50
- clearTimeout(timer.current as ReturnType<typeof setTimeout>)
51
- const newTimer = setTimeout(() => {
52
- canHover.current = true
53
- }, 100)
54
- timer.current = newTimer
55
- } else {
56
- // 左滑,不锁 hover
57
- canHover.current = true
58
- }
59
- temp.current = nowTemp
60
- }
61
-
62
- const handleMouseLeave = () => {
63
- setCanHoverLink('')
64
- }
65
- const handleMouseEnter = () => {
66
- // 解决重新进入状态初始化问题
67
- setCanHoverLink('')
68
- }
69
-
70
- return (
71
- <Flex
72
- column
73
- {...rest}
74
- ref={refNav}
75
- className={classNames('gm-nav', className)}
76
- onMouseEnter={handleMouseEnter}
77
- onMouseLeave={handleMouseLeave}
78
- >
79
- <div className='gm-nav-logo'>{logo}</div>
80
- <Flex flex column className='gm-nav-content'>
81
- {data.map((one) => (
82
- <NavItem
83
- key={one.link}
84
- showSub={hoverLink === one.link}
85
- onMouseMove={handleMouseMove}
86
- data={one}
87
- selected={selected}
88
- onSelect={onSelect}
89
- onPushCreate={onPushCreate}
90
- />
91
- ))}
92
- {other}
93
- </Flex>
94
- <div className={footerConfig && footerConfig.length > 0 ? 'gm-nav-footer-iot' : ''}>
95
- {footerConfig?.map((item) => (
96
- <NavItem
97
- key={item.link}
98
- showSub={hoverLink === item.link}
99
- onMouseMove={handleMouseMove}
100
- data={item}
101
- selected={selected}
102
- onSelect={onSelect}
103
- onPushCreate={onPushCreate}
104
- footerImage={footerImage}
105
- />
106
- ))}
107
- </div>
108
- <div id='gmNavPopupContainer' />
109
- </Flex>
110
- )
111
- }
112
-
113
- export { NavItem, NavSingleItem }
114
- export default Nav
1
+ import React, { FC, useState, MouseEvent, useRef } from 'react'
2
+ import classNames from 'classnames'
3
+ import { NavProps } from './types'
4
+ import { Flex } from '../flex'
5
+ import NavItem from './nav_item'
6
+ import NavSingleItem from './nav_single_item'
7
+
8
+ const Nav: FC<NavProps> = ({
9
+ logo,
10
+ data,
11
+ selected,
12
+ onSelect,
13
+ onPushCreate,
14
+ showActive,
15
+ other,
16
+ className,
17
+ style,
18
+ footerImage,
19
+ footerConfig,
20
+ ...rest
21
+ }) => {
22
+ // 根据鼠标点到导航栏右边的线距离,判断移动方向
23
+ const temp = useRef(0)
24
+ // 控制hover
25
+ const canHover = useRef(true)
26
+ // 优化体验,设置计时器
27
+ const timer = useRef<ReturnType<typeof setTimeout> | null>(null)
28
+ const refNav = useRef<HTMLDivElement>(null)
29
+ // 控制菜单浮层
30
+ const [hoverLink, setCanHoverLink] = useState(showActive || '')
31
+
32
+ // 每个 nav_item 的 mouseMove 的 callback
33
+ const handleMouseMove = (event: MouseEvent, link: string) => {
34
+ if (canHover.current) {
35
+ setCanHoverLink(link)
36
+ }
37
+ checkActive(event.clientX)
38
+ }
39
+
40
+ // 根据 navItem 的鼠标 x 坐标变化,控制 hover
41
+ const checkActive = (mouseX: number) => {
42
+ // 导航栏右侧 x 边界坐标值
43
+ const maxX = refNav.current!.getBoundingClientRect().width
44
+ const nowTemp = maxX - mouseX
45
+ // 比较前后,两次坐标差值,判断用户鼠标行为,是左滑或右滑
46
+ if (nowTemp < temp.current) {
47
+ // 右滑,锁hover
48
+ canHover.current = false
49
+ // 用户鼠标停止时,无法触发此事件,所以加入定时器,优化用户悬停情况下,自动解锁 hover
50
+ clearTimeout(timer.current as ReturnType<typeof setTimeout>)
51
+ const newTimer = setTimeout(() => {
52
+ canHover.current = true
53
+ }, 100)
54
+ timer.current = newTimer
55
+ } else {
56
+ // 左滑,不锁 hover
57
+ canHover.current = true
58
+ }
59
+ temp.current = nowTemp
60
+ }
61
+
62
+ const handleMouseLeave = () => {
63
+ setCanHoverLink('')
64
+ }
65
+ const handleMouseEnter = () => {
66
+ // 解决重新进入状态初始化问题
67
+ setCanHoverLink('')
68
+ }
69
+
70
+ return (
71
+ <Flex
72
+ column
73
+ {...rest}
74
+ ref={refNav}
75
+ className={classNames('gm-nav', className)}
76
+ onMouseEnter={handleMouseEnter}
77
+ onMouseLeave={handleMouseLeave}
78
+ >
79
+ <div className='gm-nav-logo'>{logo}</div>
80
+ <Flex flex column className='gm-nav-content'>
81
+ {data.map((one) => (
82
+ <NavItem
83
+ key={one.link}
84
+ showSub={hoverLink === one.link}
85
+ onMouseMove={handleMouseMove}
86
+ data={one}
87
+ selected={selected}
88
+ onSelect={onSelect}
89
+ onPushCreate={onPushCreate}
90
+ />
91
+ ))}
92
+ {other}
93
+ </Flex>
94
+ <div className={footerConfig && footerConfig.length > 0 ? 'gm-nav-footer-iot' : ''}>
95
+ {footerConfig?.map((item) => (
96
+ <NavItem
97
+ key={item.link}
98
+ showSub={hoverLink === item.link}
99
+ onMouseMove={handleMouseMove}
100
+ data={item}
101
+ selected={selected}
102
+ onSelect={onSelect}
103
+ onPushCreate={onPushCreate}
104
+ footerImage={footerImage}
105
+ />
106
+ ))}
107
+ </div>
108
+ <div id='gmNavPopupContainer' />
109
+ </Flex>
110
+ )
111
+ }
112
+
113
+ export { NavItem, NavSingleItem }
114
+ export default Nav