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

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,58 +1,58 @@
1
- import { ReactNode, CSSProperties } from 'react'
2
- import { Moment } from 'moment'
3
-
4
- interface TimeSpanProps {
5
- /** 最小可选时间,默认一天的开始时间 */
6
- min?: Date
7
- /** 最大可选时间,默认一天的结束时间 */
8
- max?: Date
9
- /** 禁用时间函数,优先级大于min,max */
10
- disabledSpan?(date: Date): boolean
11
- /** 时间跨度,默认30分钟 */
12
- span?: number
13
- /** 选中时间 */
14
- time?: Date
15
- /** 渲染选中 */
16
- renderItem?(date: Date): ReactNode
17
- /** 选中回调 */
18
- onChange?(date: Date): void
19
- /** 自定义开始时间,默认从00:00开始 */
20
- beginTime?: Date
21
- /** 自定义结束使劲啊 */
22
- endTime?: Date
23
- /** 内部展示24:00用 */
24
- enabledEndTimeOfDay?: boolean
25
- }
26
-
27
- interface TimeSpanPickerProps {
28
- /** 选择时间 */
29
- date: Date
30
- /** 选择回调 */
31
- onChange(date: Date): void
32
- disabled?: boolean
33
- /** 最小可选时间,默认一天开始时间 */
34
- min?: Date
35
- /** 最大可选时间,默认一天结束时间 */
36
- max?: Date
37
- /** 定义时间跨度,默认为30分钟 */
38
- span?: number
39
- /** 自定义禁用时间,优先级高于min,max */
40
- disabledSpan?(date: Date): boolean
41
- /** 渲染时间文本展示格式,默认为 HH:mm */
42
- renderItem?(date: Date): ReactNode
43
- /** 自定义渲染开始时间,默认为00:00 */
44
- beginTime?: Date
45
- /** 自定义渲染结束时间 */
46
- endTime?: Date
47
- className?: string
48
- style?: CSSProperties
49
- isInPopup?: boolean
50
- /** 内部为了展示24:00 */
51
- enabledEndTimeOfDay?: boolean
52
- }
53
-
54
- interface GetTime {
55
- (time?: Date): Moment | null
56
- }
57
-
58
- export type { TimeSpanProps, TimeSpanPickerProps, GetTime }
1
+ import { ReactNode, CSSProperties } from 'react'
2
+ import { Moment } from 'moment'
3
+
4
+ interface TimeSpanProps {
5
+ /** 最小可选时间,默认一天的开始时间 */
6
+ min?: Date
7
+ /** 最大可选时间,默认一天的结束时间 */
8
+ max?: Date
9
+ /** 禁用时间函数,优先级大于min,max */
10
+ disabledSpan?(date: Date): boolean
11
+ /** 时间跨度,默认30分钟 */
12
+ span?: number
13
+ /** 选中时间 */
14
+ time?: Date
15
+ /** 渲染选中 */
16
+ renderItem?(date: Date): ReactNode
17
+ /** 选中回调 */
18
+ onChange?(date: Date): void
19
+ /** 自定义开始时间,默认从00:00开始 */
20
+ beginTime?: Date
21
+ /** 自定义结束使劲啊 */
22
+ endTime?: Date
23
+ /** 内部展示24:00用 */
24
+ enabledEndTimeOfDay?: boolean
25
+ }
26
+
27
+ interface TimeSpanPickerProps {
28
+ /** 选择时间 */
29
+ date: Date
30
+ /** 选择回调 */
31
+ onChange(date: Date): void
32
+ disabled?: boolean
33
+ /** 最小可选时间,默认一天开始时间 */
34
+ min?: Date
35
+ /** 最大可选时间,默认一天结束时间 */
36
+ max?: Date
37
+ /** 定义时间跨度,默认为30分钟 */
38
+ span?: number
39
+ /** 自定义禁用时间,优先级高于min,max */
40
+ disabledSpan?(date: Date): boolean
41
+ /** 渲染时间文本展示格式,默认为 HH:mm */
42
+ renderItem?(date: Date): ReactNode
43
+ /** 自定义渲染开始时间,默认为00:00 */
44
+ beginTime?: Date
45
+ /** 自定义渲染结束时间 */
46
+ endTime?: Date
47
+ className?: string
48
+ style?: CSSProperties
49
+ isInPopup?: boolean
50
+ /** 内部为了展示24:00 */
51
+ enabledEndTimeOfDay?: boolean
52
+ }
53
+
54
+ interface GetTime {
55
+ (time?: Date): Moment | null
56
+ }
57
+
58
+ export type { TimeSpanProps, TimeSpanPickerProps, GetTime }
@@ -1,18 +1,18 @@
1
- import moment from 'moment'
2
- import { GetTime } from './types'
3
-
4
- const renderItemFunc = (date: Date): React.ReactNode => {
5
- return moment(date).format('HH:mm')
6
- }
7
-
8
- const getTime: GetTime = (time) => {
9
- if (time) {
10
- const year = moment().year()
11
- const month = moment().month()
12
- const date = moment().date()
13
- return moment(time).set({ year, month, date })
14
- }
15
- return null
16
- }
17
-
18
- export { renderItemFunc, getTime }
1
+ import moment from 'moment'
2
+ import { GetTime } from './types'
3
+
4
+ const renderItemFunc = (date: Date): React.ReactNode => {
5
+ return moment(date).format('HH:mm')
6
+ }
7
+
8
+ const getTime: GetTime = (time) => {
9
+ if (time) {
10
+ const year = moment().year()
11
+ const month = moment().month()
12
+ const date = moment().date()
13
+ return moment(time).set({ year, month, date })
14
+ }
15
+ return null
16
+ }
17
+
18
+ export { renderItemFunc, getTime }
@@ -1,2 +1,2 @@
1
- export { default as Tip } from './tip'
2
- export type { TipProps } from './types'
1
+ export { default as Tip } from './tip'
2
+ export type { TipProps } from './types'
@@ -1,44 +1,44 @@
1
- import React from 'react'
2
- import Tip from './tip'
3
-
4
- let lastTip: string
5
-
6
- export const ComTip = () => (
7
- <div>
8
- <div>
9
- <button onClick={() => (lastTip = Tip.tip('提示啦,提示啦'))}>默认 3s 关闭</button>
10
- <button
11
- onClick={() => {
12
- Tip.success('成功成功')
13
- }}
14
- >
15
- success
16
- </button>
17
- <button
18
- onClick={() => {
19
- Tip.danger('危险危险')
20
- }}
21
- >
22
- danger
23
- </button>
24
- </div>
25
- <div>
26
- <button
27
- onClick={() =>
28
- (lastTip = Tip.success({
29
- children: '需要用户自行关闭的',
30
- time: 0,
31
- onClose: () => console.log('tip closed by user'),
32
- }))
33
- }
34
- >
35
- 需要用户自行关闭的
36
- </button>
37
- <button onClick={() => Tip.clear(lastTip)}>关闭指定 tip (比如最后一个tip)</button>
38
- </div>
39
- </div>
40
- )
41
-
42
- export default {
43
- title: '反馈/Tip',
44
- }
1
+ import React from 'react'
2
+ import Tip from './tip'
3
+
4
+ let lastTip: string
5
+
6
+ export const ComTip = () => (
7
+ <div>
8
+ <div>
9
+ <button onClick={() => (lastTip = Tip.tip('提示啦,提示啦'))}>默认 3s 关闭</button>
10
+ <button
11
+ onClick={() => {
12
+ Tip.success('成功成功')
13
+ }}
14
+ >
15
+ success
16
+ </button>
17
+ <button
18
+ onClick={() => {
19
+ Tip.danger('危险危险')
20
+ }}
21
+ >
22
+ danger
23
+ </button>
24
+ </div>
25
+ <div>
26
+ <button
27
+ onClick={() =>
28
+ (lastTip = Tip.success({
29
+ children: '需要用户自行关闭的',
30
+ time: 0,
31
+ onClose: () => console.log('tip closed by user'),
32
+ }))
33
+ }
34
+ >
35
+ 需要用户自行关闭的
36
+ </button>
37
+ <button onClick={() => Tip.clear(lastTip)}>关闭指定 tip (比如最后一个tip)</button>
38
+ </div>
39
+ </div>
40
+ )
41
+
42
+ export default {
43
+ title: '反馈/Tip',
44
+ }
@@ -1,53 +1,53 @@
1
- .gm-tip {
2
- display: inline-block;
3
- min-width: 250px;
4
- max-width: 600px;
5
- padding: 10px;
6
- background: white;
7
- margin: 20px auto 0;
8
- pointer-events: all;
9
- box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),
10
- 0 9px 28px 8px rgba(0, 0, 0, 0.05);
11
- font-size: 14px;
12
-
13
- .gm-tip-icon {
14
- vertical-align: middle;
15
- font-size: 1.5em;
16
- margin-right: 5px;
17
- }
18
-
19
- .gm-tip-text {
20
- vertical-align: middle;
21
- }
22
-
23
- &.gm-tip-success {
24
- .gm-tip-icon {
25
- color: var(--gm-color-success);
26
- }
27
- }
28
-
29
- &.gm-tip-danger {
30
- .gm-tip-icon {
31
- color: var(--gm-color-danger);
32
- }
33
- }
34
- }
35
-
36
- .gm-tip-warp {
37
- }
38
-
39
- // 在 LayoutRoot 内
40
- .gm-tips {
41
- position: fixed;
42
- left: 0;
43
- right: 0;
44
- top: 10px;
45
- z-index: var(--gm-z-index-tips);
46
- pointer-events: none;
47
- }
48
-
49
- @media print {
50
- .gm-tips {
51
- display: none;
52
- }
53
- }
1
+ .gm-tip {
2
+ display: inline-block;
3
+ min-width: 250px;
4
+ max-width: 600px;
5
+ padding: 10px;
6
+ background: white;
7
+ margin: 20px auto 0;
8
+ pointer-events: all;
9
+ box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),
10
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05);
11
+ font-size: 14px;
12
+
13
+ .gm-tip-icon {
14
+ vertical-align: middle;
15
+ font-size: 1.5em;
16
+ margin-right: 5px;
17
+ }
18
+
19
+ .gm-tip-text {
20
+ vertical-align: middle;
21
+ }
22
+
23
+ &.gm-tip-success {
24
+ .gm-tip-icon {
25
+ color: var(--gm-color-success);
26
+ }
27
+ }
28
+
29
+ &.gm-tip-danger {
30
+ .gm-tip-icon {
31
+ color: var(--gm-color-danger);
32
+ }
33
+ }
34
+ }
35
+
36
+ .gm-tip-warp {
37
+ }
38
+
39
+ // 在 LayoutRoot 内
40
+ .gm-tips {
41
+ position: fixed;
42
+ left: 0;
43
+ right: 0;
44
+ top: 10px;
45
+ z-index: var(--gm-z-index-tips);
46
+ pointer-events: none;
47
+ }
48
+
49
+ @media print {
50
+ .gm-tips {
51
+ display: none;
52
+ }
53
+ }
@@ -1,95 +1,95 @@
1
- import React, { FC, useEffect } from 'react'
2
- import _ from 'lodash'
3
- import { TipProps, TipStatic } from './types'
4
- import { Flex } from '../flex'
5
- import { LayoutRoot } from '../layout_root'
6
- import SVGSuccess from '../../svg/success-circle.svg'
7
- import SVGDanger from '../../svg/close-circle.svg'
8
- import SVGRemove from '../../svg/remove.svg'
9
-
10
- const Tip: FC<TipProps> & TipStatic = ({
11
- type,
12
- time = 3000,
13
- onClose = _.noop,
14
- children,
15
- }) => {
16
- useEffect(() => {
17
- let timer: any
18
- if (time) {
19
- timer = setTimeout(() => {
20
- onClose()
21
- }, time)
22
- }
23
-
24
- return () => {
25
- if (timer) {
26
- clearTimeout(timer)
27
- }
28
- }
29
- }, [])
30
-
31
- return (
32
- <Flex justifyCenter className='gm-tip-warp'>
33
- <Flex className={`gm-tip gm-tip-${type} level`}>
34
- <Flex flex alignCenter>
35
- <span className='gm-tip-icon'>
36
- {type === 'success' && <SVGSuccess />}
37
- {type === 'danger' && <SVGDanger />}
38
- </span>
39
- <span className='gm-tip-text'>{children}</span>
40
- </Flex>
41
- {!time && (
42
- <span
43
- className='gm-tip-close gm-margin-left-5 gm-margin-top-5 gm-cursor'
44
- onClick={() => {
45
- onClose()
46
- }}
47
- >
48
- <SVGRemove />
49
- </span>
50
- )}
51
- </Flex>
52
- </Flex>
53
- )
54
- }
55
-
56
- Tip.tip = (options, type) => {
57
- if (typeof options === 'string') {
58
- options = {
59
- children: options,
60
- }
61
- }
62
- options.type = type
63
-
64
- const id = +new Date() + '' + Math.random()
65
-
66
- const _onClose = options.onClose
67
- options.onClose = () => {
68
- LayoutRoot.removeComponentArray(LayoutRoot.Type.TIP, id)
69
- if (_onClose) {
70
- _onClose()
71
- }
72
- }
73
-
74
- LayoutRoot.setComponentArray(LayoutRoot.Type.TIP, id, <Tip {...options} />)
75
-
76
- return id
77
- }
78
-
79
- Tip.success = (options) => {
80
- return Tip.tip(options, 'success')
81
- }
82
-
83
- Tip.danger = (options) => {
84
- return Tip.tip(options, 'danger')
85
- }
86
-
87
- Tip.clear = (id) => {
88
- LayoutRoot.removeComponentArray(LayoutRoot.Type.TIP, id)
89
- }
90
-
91
- Tip.clearAll = () => {
92
- LayoutRoot.clearComponentArray(LayoutRoot.Type.TIP)
93
- }
94
-
95
- export default Tip
1
+ import React, { FC, useEffect } from 'react'
2
+ import _ from 'lodash'
3
+ import { TipProps, TipStatic } from './types'
4
+ import { Flex } from '../flex'
5
+ import { LayoutRoot } from '../layout_root'
6
+ import SVGSuccess from '../../svg/success-circle.svg'
7
+ import SVGDanger from '../../svg/close-circle.svg'
8
+ import SVGRemove from '../../svg/remove.svg'
9
+
10
+ const Tip: FC<TipProps> & TipStatic = ({
11
+ type,
12
+ time = 3000,
13
+ onClose = _.noop,
14
+ children,
15
+ }) => {
16
+ useEffect(() => {
17
+ let timer: any
18
+ if (time) {
19
+ timer = setTimeout(() => {
20
+ onClose()
21
+ }, time)
22
+ }
23
+
24
+ return () => {
25
+ if (timer) {
26
+ clearTimeout(timer)
27
+ }
28
+ }
29
+ }, [])
30
+
31
+ return (
32
+ <Flex justifyCenter className='gm-tip-warp'>
33
+ <Flex className={`gm-tip gm-tip-${type} level`}>
34
+ <Flex flex alignCenter>
35
+ <span className='gm-tip-icon'>
36
+ {type === 'success' && <SVGSuccess />}
37
+ {type === 'danger' && <SVGDanger />}
38
+ </span>
39
+ <span className='gm-tip-text'>{children}</span>
40
+ </Flex>
41
+ {!time && (
42
+ <span
43
+ className='gm-tip-close gm-margin-left-5 gm-margin-top-5 gm-cursor'
44
+ onClick={() => {
45
+ onClose()
46
+ }}
47
+ >
48
+ <SVGRemove />
49
+ </span>
50
+ )}
51
+ </Flex>
52
+ </Flex>
53
+ )
54
+ }
55
+
56
+ Tip.tip = (options, type) => {
57
+ if (typeof options === 'string') {
58
+ options = {
59
+ children: options,
60
+ }
61
+ }
62
+ options.type = type
63
+
64
+ const id = +new Date() + '' + Math.random()
65
+
66
+ const _onClose = options.onClose
67
+ options.onClose = () => {
68
+ LayoutRoot.removeComponentArray(LayoutRoot.Type.TIP, id)
69
+ if (_onClose) {
70
+ _onClose()
71
+ }
72
+ }
73
+
74
+ LayoutRoot.setComponentArray(LayoutRoot.Type.TIP, id, <Tip {...options} />)
75
+
76
+ return id
77
+ }
78
+
79
+ Tip.success = (options) => {
80
+ return Tip.tip(options, 'success')
81
+ }
82
+
83
+ Tip.danger = (options) => {
84
+ return Tip.tip(options, 'danger')
85
+ }
86
+
87
+ Tip.clear = (id) => {
88
+ LayoutRoot.removeComponentArray(LayoutRoot.Type.TIP, id)
89
+ }
90
+
91
+ Tip.clearAll = () => {
92
+ LayoutRoot.clearComponentArray(LayoutRoot.Type.TIP)
93
+ }
94
+
95
+ export default Tip
@@ -1,20 +1,20 @@
1
- import { ReactNode } from 'react'
2
-
3
- type TipType = 'success' | 'danger'
4
-
5
- interface TipProps {
6
- type?: TipType
7
- time?: number
8
- onClose?(): void
9
- children: ReactNode
10
- }
11
-
12
- interface TipStatic {
13
- tip(props: string | TipProps, type?: TipType): string
14
- success(props: string | TipProps): string
15
- danger(props: string | TipProps): string
16
- clear(id: string): void
17
- clearAll(): void
18
- }
19
-
20
- export type { TipType, TipProps, TipStatic }
1
+ import { ReactNode } from 'react'
2
+
3
+ type TipType = 'success' | 'danger'
4
+
5
+ interface TipProps {
6
+ type?: TipType
7
+ time?: number
8
+ onClose?(): void
9
+ children: ReactNode
10
+ }
11
+
12
+ interface TipStatic {
13
+ tip(props: string | TipProps, type?: TipType): string
14
+ success(props: string | TipProps): string
15
+ danger(props: string | TipProps): string
16
+ clear(id: string): void
17
+ clearAll(): void
18
+ }
19
+
20
+ export type { TipType, TipProps, TipStatic }
@@ -1,2 +1,2 @@
1
- export { default as Tooltip } from './tooltip'
2
- export type { TooltipProps } from './tooltip'
1
+ export { default as Tooltip } from './tooltip'
2
+ export type { TooltipProps } from './tooltip'
@@ -1,32 +1,32 @@
1
- import React from 'react'
2
- import Tooltip from './tooltip'
3
-
4
- export const ComTooltip = () => (
5
- <div style={{ padding: '100px' }}>
6
- <Tooltip
7
- popup={
8
- <div style={{ width: '100px', height: '100px' }}>
9
- <div>hello</div>
10
- </div>
11
- }
12
- />
13
- <Tooltip popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
14
- <span style={{ backgroundColor: 'red' }}>hover tip</span>
15
- </Tooltip>
16
- <br />
17
- <Tooltip right popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
18
- <span>right hover tip</span>
19
- </Tooltip>
20
- <Tooltip center popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
21
- <span>center hover tip</span>
22
- </Tooltip>
23
- <br />
24
- <Tooltip top popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
25
- <span>top hover tip</span>
26
- </Tooltip>
27
- </div>
28
- )
29
-
30
- export default {
31
- title: '反馈/Tooltip',
32
- }
1
+ import React from 'react'
2
+ import Tooltip from './tooltip'
3
+
4
+ export const ComTooltip = () => (
5
+ <div style={{ padding: '100px' }}>
6
+ <Tooltip
7
+ popup={
8
+ <div style={{ width: '100px', height: '100px' }}>
9
+ <div>hello</div>
10
+ </div>
11
+ }
12
+ />
13
+ <Tooltip popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
14
+ <span style={{ backgroundColor: 'red' }}>hover tip</span>
15
+ </Tooltip>
16
+ <br />
17
+ <Tooltip right popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
18
+ <span>right hover tip</span>
19
+ </Tooltip>
20
+ <Tooltip center popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
21
+ <span>center hover tip</span>
22
+ </Tooltip>
23
+ <br />
24
+ <Tooltip top popup={<div style={{ width: '100px', height: '100px' }}>hello</div>}>
25
+ <span>top hover tip</span>
26
+ </Tooltip>
27
+ </div>
28
+ )
29
+
30
+ export default {
31
+ title: '反馈/Tooltip',
32
+ }