plain-design 1.0.0-beta.145 → 1.0.0-beta.147

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 (718) hide show
  1. package/README.md +2 -2
  2. package/dist/plain-design.commonjs.min.js +1 -1
  3. package/dist/plain-design.min.css +2 -2
  4. package/dist/plain-design.min.js +1 -1
  5. package/dist/report.html +2 -2
  6. package/package.json +1 -1
  7. package/src/index.ts +1 -1
  8. package/src/packages/build.ts +7 -7
  9. package/src/packages/components/$address/address.utils.ts +31 -31
  10. package/src/packages/components/$address/createAddressService.tsx +208 -208
  11. package/src/packages/components/$address/index.tsx +7 -7
  12. package/src/packages/components/$ai/index.tsx +227 -227
  13. package/src/packages/components/$configuration/index.tsx +60 -60
  14. package/src/packages/components/$dialog/index.tsx +7 -7
  15. package/src/packages/components/$file/index.tsx +255 -255
  16. package/src/packages/components/$image/index.tsx +7 -7
  17. package/src/packages/components/$loading/index.tsx +3 -3
  18. package/src/packages/components/$message/image.service.utils.tsx +161 -161
  19. package/src/packages/components/$message/index.tsx +7 -7
  20. package/src/packages/components/$notice/index.tsx +7 -7
  21. package/src/packages/components/$object/createObjectService.tsx +217 -217
  22. package/src/packages/components/$object/index.ts +5 -5
  23. package/src/packages/components/$object/object.conver.ts +56 -56
  24. package/src/packages/components/$object/object.service.utils.ts +56 -56
  25. package/src/packages/components/$ov/createOvService.ts +86 -86
  26. package/src/packages/components/$ov/index.tsx +5 -5
  27. package/src/packages/components/$ov/ov.utils.ts +11 -11
  28. package/src/packages/components/$previewer/ImagePreviewerFixedContainer.tsx +108 -108
  29. package/src/packages/components/$previewer/image-previewer-fixed-container.scss +18 -18
  30. package/src/packages/components/$previewer/index.tsx +52 -52
  31. package/src/packages/components/$search/SearchFooter.tsx +32 -32
  32. package/src/packages/components/$search/SearchList.tsx +207 -207
  33. package/src/packages/components/$search/SearchServicePanel.tsx +233 -233
  34. package/src/packages/components/$search/createSearchService.tsx +43 -43
  35. package/src/packages/components/$search/index.tsx +6 -6
  36. package/src/packages/components/$search/search-service.scss +221 -221
  37. package/src/packages/components/$search/search.utils.tsx +112 -112
  38. package/src/packages/components/$upload/createUploadService.tsx +57 -57
  39. package/src/packages/components/$upload/upload.utils.ts +18 -18
  40. package/src/packages/components/Address/index.tsx +138 -138
  41. package/src/packages/components/AddressCascade/address-cascade.utils.ts +44 -44
  42. package/src/packages/components/AddressCascade/createAddressCascade.hooks.ts +9 -9
  43. package/src/packages/components/AddressCascade/createAddressCascade.multiple.tsx +53 -53
  44. package/src/packages/components/AddressCascade/createAddressCascade.single.tsx +75 -75
  45. package/src/packages/components/AddressCascade/index.tsx +59 -59
  46. package/src/packages/components/AiChatBox/ai-chat-box.scss +74 -74
  47. package/src/packages/components/AiChatBox/index.tsx +154 -154
  48. package/src/packages/components/Alert/alert.scss +139 -139
  49. package/src/packages/components/Alert/index.tsx +93 -93
  50. package/src/packages/components/Application/application.scss +16 -16
  51. package/src/packages/components/Application/index.tsx +56 -56
  52. package/src/packages/components/Application/service/createApplicationService.tsx +47 -47
  53. package/src/packages/components/Application/service/createApplicationServiceComponent.tsx +41 -41
  54. package/src/packages/components/Application/service/createApplicationServiceManager.tsx +101 -101
  55. package/src/packages/components/Application/service/useApplicationService.tsx +126 -126
  56. package/src/packages/components/Application/theme/theme.ts +282 -282
  57. package/src/packages/components/Application/theme/theme.utils.ts +17 -17
  58. package/src/packages/components/Application/utils/application.utils.ts +21 -21
  59. package/src/packages/components/Application/utils/createServiceReadyObserver.ts +18 -18
  60. package/src/packages/components/ApplicationConfigurationProvider/index.tsx +5 -5
  61. package/src/packages/components/ArrowStep/index.tsx +73 -73
  62. package/src/packages/components/ArrowStepGroup/arrow-step.scss +119 -119
  63. package/src/packages/components/ArrowStepGroup/index.tsx +63 -63
  64. package/src/packages/components/AsyncFormatter/index.tsx +1 -1
  65. package/src/packages/components/AutoLoadingObserver/index.tsx +173 -173
  66. package/src/packages/components/AutoTable/AutoTable.tsx +56 -56
  67. package/src/packages/components/AutoTable/auto-table.scss +463 -463
  68. package/src/packages/components/AutoTable/createTableOptionUser.tsx +77 -77
  69. package/src/packages/components/AutoTable/filter/useTableOption.filter.form.tsx +217 -217
  70. package/src/packages/components/AutoTable/filter/useTableOption.filter.search.tsx +168 -168
  71. package/src/packages/components/AutoTable/filter/useTableOption.filter.state.ts +196 -196
  72. package/src/packages/components/AutoTable/index.tsx +4 -4
  73. package/src/packages/components/AutoTable/setting/useTableOption.setting.all.fitler.tsx +79 -79
  74. package/src/packages/components/AutoTable/setting/useTableOption.setting.cache.tsx +145 -145
  75. package/src/packages/components/AutoTable/setting/useTableOption.setting.config.tsx +260 -260
  76. package/src/packages/components/AutoTable/setting/useTableOption.setting.export.tsx +283 -283
  77. package/src/packages/components/AutoTable/setting/useTableOption.setting.import.tsx +100 -100
  78. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.filter.tsx +385 -385
  79. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.sort.tsx +123 -123
  80. package/src/packages/components/AutoTable/setting/useTableOption.setting.tsx +109 -109
  81. package/src/packages/components/AutoTable/setting/useTableOption.setting.utils.ts +40 -40
  82. package/src/packages/components/AutoTable/use/useTableOption.buttons.tsx +249 -249
  83. package/src/packages/components/AutoTable/use/useTableOption.cache.ts +235 -235
  84. package/src/packages/components/AutoTable/use/useTableOption.cache.utils.ts +83 -83
  85. package/src/packages/components/AutoTable/use/useTableOption.check.tsx +80 -80
  86. package/src/packages/components/AutoTable/use/useTableOption.column.popper.tsx +491 -491
  87. package/src/packages/components/AutoTable/use/useTableOption.confirm.tsx +122 -122
  88. package/src/packages/components/AutoTable/use/useTableOption.fill.tsx +153 -153
  89. package/src/packages/components/AutoTable/use/useTableOption.hooks.tsx +142 -142
  90. package/src/packages/components/AutoTable/use/useTableOption.loading.tsx +77 -77
  91. package/src/packages/components/AutoTable/use/useTableOption.methods.tsx +515 -515
  92. package/src/packages/components/AutoTable/use/useTableOption.pagination.tsx +191 -191
  93. package/src/packages/components/AutoTable/use/useTableOption.parent.tsx +134 -134
  94. package/src/packages/components/AutoTable/use/useTableOption.permission.tsx +16 -16
  95. package/src/packages/components/AutoTable/use/useTableOption.render.tsx +34 -34
  96. package/src/packages/components/AutoTable/use/useTableOption.sort.ts +198 -198
  97. package/src/packages/components/AutoTable/use/useTableOption.state.tsx +31 -31
  98. package/src/packages/components/AutoTable/use/useTableOption.table.tsx +87 -87
  99. package/src/packages/components/AutoTable/use/useTableOption.tips.tsx +87 -87
  100. package/src/packages/components/AutoTable/use/useTableOptionKeyboard.tsx +111 -111
  101. package/src/packages/components/AutoTable/utils/AutoModule.ts +10 -10
  102. package/src/packages/components/AutoTable/utils/AutoTable.utils.ts +120 -120
  103. package/src/packages/components/AutoTable/utils/TableOption.space.tsx +203 -203
  104. package/src/packages/components/AutoTable/utils/TableOption.url.ts +153 -153
  105. package/src/packages/components/AutoTable/utils/TableOption.utils.tsx +57 -57
  106. package/src/packages/components/AutoTable/utils/buildPlainDefaultUrlConfig.ts +134 -134
  107. package/src/packages/components/AutoWidthInput/auto-width-input.scss +25 -25
  108. package/src/packages/components/AutoWidthInput/index.tsx +67 -67
  109. package/src/packages/components/Badge/badge.scss +71 -71
  110. package/src/packages/components/Badge/index.tsx +52 -52
  111. package/src/packages/components/Box/box.scss +6 -6
  112. package/src/packages/components/Box/index.tsx +30 -30
  113. package/src/packages/components/Button/button.scss +203 -203
  114. package/src/packages/components/Button/index.tsx +213 -213
  115. package/src/packages/components/ButtonGroup/button-group.scss +73 -73
  116. package/src/packages/components/ButtonGroup/index.tsx +43 -43
  117. package/src/packages/components/Card/card.scss +122 -122
  118. package/src/packages/components/Card/index.tsx +74 -74
  119. package/src/packages/components/Carousel/carousel.scss +391 -391
  120. package/src/packages/components/Carousel/index.tsx +591 -591
  121. package/src/packages/components/CarouselItem/index.tsx +77 -77
  122. package/src/packages/components/Cascade/CascadeKeys.tsx +158 -158
  123. package/src/packages/components/Cascade/cascade.scss +111 -111
  124. package/src/packages/components/Cascade/cascade.utils.ts +68 -68
  125. package/src/packages/components/Cascade/createCascadeHooks.ts +12 -12
  126. package/src/packages/components/Cascade/createCascadePopper.tsx +120 -120
  127. package/src/packages/components/Cascade/createCascadeUtils.ts +15 -15
  128. package/src/packages/components/Cascade/createMultipleCascadeRender.tsx +156 -156
  129. package/src/packages/components/Cascade/createSingleCascadeRender.tsx +175 -175
  130. package/src/packages/components/Cascade/index.tsx +106 -106
  131. package/src/packages/components/CascadeKeys/index.tsx +5 -5
  132. package/src/packages/components/CascadePanel/cascade-panel.utils.ts +90 -90
  133. package/src/packages/components/CascadePanel/flat/CascadeFlatPanelNode.tsx +56 -56
  134. package/src/packages/components/CascadePanel/flat/cascade-flat-panel.scss +133 -133
  135. package/src/packages/components/CascadePanel/flat/createCascadeFlatRender.tsx +87 -87
  136. package/src/packages/components/CascadePanel/index.tsx +208 -208
  137. package/src/packages/components/CascadePanel/list/CascadeListPanelItem.tsx +93 -93
  138. package/src/packages/components/CascadePanel/list/CascadeListPanelNode.tsx +69 -69
  139. package/src/packages/components/CascadePanel/list/createCascadeListRender.tsx +31 -31
  140. package/src/packages/components/Checkbox/checkbox.scss +77 -77
  141. package/src/packages/components/Checkbox/index.tsx +141 -141
  142. package/src/packages/components/CheckboxGroup/index.tsx +205 -205
  143. package/src/packages/components/CheckboxInner/checkbox-inner.scss +55 -55
  144. package/src/packages/components/CheckboxInner/index.tsx +34 -34
  145. package/src/packages/components/ClientZoom/index.ts +5 -5
  146. package/src/packages/components/Collapse/collapse.scss +44 -44
  147. package/src/packages/components/Collapse/index.tsx +94 -94
  148. package/src/packages/components/CollapseGroup/index.tsx +70 -70
  149. package/src/packages/components/CollapseTransition/index.tsx +184 -184
  150. package/src/packages/components/ColorPicker/ColorPanel.tsx +146 -125
  151. package/src/packages/components/ColorPicker/color-panel.scss +117 -97
  152. package/src/packages/components/ColorPicker/color-picker.scss +64 -64
  153. package/src/packages/components/ColorPicker/index.tsx +144 -131
  154. package/src/packages/components/ColorPicker/sub/ColorAlphaSlider.tsx +43 -43
  155. package/src/packages/components/ColorPicker/sub/ColorHueSlider.tsx +17 -17
  156. package/src/packages/components/ColorPicker/sub/ColorSlider.tsx +163 -163
  157. package/src/packages/components/ColorPicker/sub/ColorSvPanel.tsx +125 -125
  158. package/src/packages/components/ColorPicker/sub/color-alpha-slider.scss +8 -8
  159. package/src/packages/components/ColorPicker/sub/color-hue-slider.scss +3 -3
  160. package/src/packages/components/ColorPicker/sub/color-slider.scss +22 -22
  161. package/src/packages/components/ColorPicker/sub/color-sv-panel.scss +55 -55
  162. package/src/packages/components/ColorPicker/useColorPanelEditor.tsx +119 -119
  163. package/src/packages/components/ColorPicker/useColorPanelHistory.tsx +51 -51
  164. package/src/packages/components/ColorPicker/utils/PlainColor.ts +70 -70
  165. package/src/packages/components/ColorPicker/utils/color-picker.utils.tsx +27 -27
  166. package/src/packages/components/ConfirmPopup/confirm-popup.scss +16 -16
  167. package/src/packages/components/ConfirmPopup/index.tsx +72 -72
  168. package/src/packages/components/Corner/corner.scss +14 -14
  169. package/src/packages/components/Corner/index.tsx +80 -80
  170. package/src/packages/components/DatePicker/createDateRender.multiple.tsx +189 -189
  171. package/src/packages/components/DatePicker/createDateRender.single.tsx +169 -169
  172. package/src/packages/components/DatePicker/createRangeDateRender.range.tsx +114 -114
  173. package/src/packages/components/DatePicker/createRangeDateRender.separate.tsx +120 -120
  174. package/src/packages/components/DatePicker/date.mixin.scss +73 -73
  175. package/src/packages/components/DatePicker/date.scss +542 -542
  176. package/src/packages/components/DatePicker/date.utils.tsx +398 -398
  177. package/src/packages/components/DatePicker/index.tsx +84 -84
  178. package/src/packages/components/DatePicker/panel/DatePanel.tsx +99 -99
  179. package/src/packages/components/DatePicker/panel/DatePanelDate.tsx +278 -278
  180. package/src/packages/components/DatePicker/panel/DatePanelMonth.tsx +190 -190
  181. package/src/packages/components/DatePicker/panel/DatePanelQuarter.tsx +50 -50
  182. package/src/packages/components/DatePicker/panel/DatePanelRange.tsx +146 -146
  183. package/src/packages/components/DatePicker/panel/DatePanelWeek.tsx +52 -52
  184. package/src/packages/components/DatePicker/panel/DatePanelYear.tsx +100 -100
  185. package/src/packages/components/DatePicker/panel/useDatePanel.tsx +618 -618
  186. package/src/packages/components/DatePicker/panel/useDateWeek.tsx +153 -153
  187. package/src/packages/components/DatePicker/useRangeDateRender.tsx +318 -318
  188. package/src/packages/components/Dialog/dialog.scss +261 -261
  189. package/src/packages/components/Dialog/index.tsx +439 -439
  190. package/src/packages/components/Dialog/useDialogMovable.tsx +72 -72
  191. package/src/packages/components/Dialog/utils/dialog.mouse.ts +16 -16
  192. package/src/packages/components/Dialog/utils/dialog.utils.ts +10 -10
  193. package/src/packages/components/Dropdown/dropdown.public.scss +94 -94
  194. package/src/packages/components/Dropdown/dropdown.scss +13 -13
  195. package/src/packages/components/Dropdown/dropdown.utils.tsx +108 -108
  196. package/src/packages/components/Dropdown/index.tsx +174 -174
  197. package/src/packages/components/DropdownGroup/index.tsx +18 -18
  198. package/src/packages/components/DropdownOption/index.tsx +74 -74
  199. package/src/packages/components/DropdownSeparator/index.tsx +8 -8
  200. package/src/packages/components/Empty/empty.scss +14 -14
  201. package/src/packages/components/Empty/index.tsx +48 -48
  202. package/src/packages/components/FilterFormMultiple/filter-form-multiple.scss +36 -36
  203. package/src/packages/components/FilterFormMultiple/index.tsx +288 -288
  204. package/src/packages/components/FilterFormSingle/index.tsx +178 -178
  205. package/src/packages/components/FilterService/filter/filter.city.tsx +85 -85
  206. package/src/packages/components/FilterService/filter/filter.date.tsx +85 -85
  207. package/src/packages/components/FilterService/filter/filter.datetime.tsx +68 -68
  208. package/src/packages/components/FilterService/filter/filter.district.tsx +86 -86
  209. package/src/packages/components/FilterService/filter/filter.number.tsx +66 -66
  210. package/src/packages/components/FilterService/filter/filter.province.tsx +91 -91
  211. package/src/packages/components/FilterService/filter/filter.select.tsx +67 -67
  212. package/src/packages/components/FilterService/filter/filter.text.tsx +57 -57
  213. package/src/packages/components/FilterService/filter/fitler.object.tsx +115 -115
  214. package/src/packages/components/FilterService/index.tsx +250 -250
  215. package/src/packages/components/FilterService/utils/filter.service.utils.ts +138 -138
  216. package/src/packages/components/FilterService/utils/mergeQueryParam.ts +80 -80
  217. package/src/packages/components/Form/form.scss +256 -256
  218. package/src/packages/components/Form/index.tsx +74 -74
  219. package/src/packages/components/Form/layout/useFormLayout.tsx +332 -332
  220. package/src/packages/components/Form/types/any.tsx +54 -54
  221. package/src/packages/components/Form/types/array.tsx +55 -55
  222. package/src/packages/components/Form/types/arrayjson.tsx +15 -15
  223. package/src/packages/components/Form/types/arraystring.tsx +15 -15
  224. package/src/packages/components/Form/types/date.tsx +72 -72
  225. package/src/packages/components/Form/types/datetime.tsx +8 -8
  226. package/src/packages/components/Form/types/email.tsx +11 -11
  227. package/src/packages/components/Form/types/idcard.tsx +13 -13
  228. package/src/packages/components/Form/types/number.tsx +59 -59
  229. package/src/packages/components/Form/types/phone.tsx +11 -11
  230. package/src/packages/components/Form/types/qq.tsx +11 -11
  231. package/src/packages/components/Form/types/string.tsx +68 -68
  232. package/src/packages/components/Form/types/time.tsx +8 -8
  233. package/src/packages/components/Form/validate/createValidation.tsx +278 -278
  234. package/src/packages/components/Form/validate/useFormItemValidation.tsx +122 -122
  235. package/src/packages/components/Form/validate/useFormValidation.tsx +137 -137
  236. package/src/packages/components/Form/validate/validate.utils.tsx +439 -439
  237. package/src/packages/components/FormCascade/index.tsx +6 -6
  238. package/src/packages/components/FormCheckbox/index.tsx +6 -6
  239. package/src/packages/components/FormCheckboxGroup/index.tsx +6 -6
  240. package/src/packages/components/FormColorPicker/index.tsx +6 -6
  241. package/src/packages/components/FormDatePicker/index.tsx +6 -6
  242. package/src/packages/components/FormInput/index.tsx +6 -6
  243. package/src/packages/components/FormInputNumber/index.tsx +6 -6
  244. package/src/packages/components/FormItem/FormItemValidateMessage.tsx +16 -16
  245. package/src/packages/components/FormItem/createFormEditor.tsx +87 -87
  246. package/src/packages/components/FormItem/index.tsx +134 -134
  247. package/src/packages/components/FormRadio/index.tsx +6 -6
  248. package/src/packages/components/FormRadioGroup/index.tsx +6 -6
  249. package/src/packages/components/FormRate/index.tsx +6 -6
  250. package/src/packages/components/FormSelect/index.tsx +6 -6
  251. package/src/packages/components/FormSlider/index.tsx +6 -6
  252. package/src/packages/components/FormTimePicker/index.tsx +6 -6
  253. package/src/packages/components/FormToggle/index.tsx +6 -6
  254. package/src/packages/components/Formatter/index.tsx +64 -64
  255. package/src/packages/components/Grid/GridCol.tsx +73 -73
  256. package/src/packages/components/Grid/GridRow.tsx +91 -91
  257. package/src/packages/components/Grid/grid.scss +109 -109
  258. package/src/packages/components/Grid/grid.utils.ts +21 -21
  259. package/src/packages/components/GridCol/index.tsx +5 -5
  260. package/src/packages/components/GridRow/index.tsx +5 -5
  261. package/src/packages/components/Icon/icon.external.tsx +6 -0
  262. package/src/packages/components/Icon/icon.registry.tsx +21 -21
  263. package/src/packages/components/Icon/icon.scss +12 -12
  264. package/src/packages/components/Illustration/index.tsx +28 -28
  265. package/src/packages/components/Image/image.scss +334 -334
  266. package/src/packages/components/Image/index.tsx +168 -168
  267. package/src/packages/components/ImagePreviewer/ImagePreviewer.tsx +574 -574
  268. package/src/packages/components/ImagePreviewer/ImagePreviewerButtonBar.tsx +140 -140
  269. package/src/packages/components/ImagePreviewer/ImagePreviewerCarouselImage.tsx +54 -54
  270. package/src/packages/components/ImagePreviewer/ImagePreviewerGallery.tsx +202 -202
  271. package/src/packages/components/ImagePreviewer/PreviewerLoading.tsx +26 -26
  272. package/src/packages/components/ImagePreviewer/image-previewer.scss +244 -244
  273. package/src/packages/components/ImagePreviewer/image-previewer.utils.tsx +136 -136
  274. package/src/packages/components/ImagePreviewer/index.tsx +5 -5
  275. package/src/packages/components/ImagePreviewer/previewer-loading.scss +52 -52
  276. package/src/packages/components/ImageUploader/index.tsx +242 -242
  277. package/src/packages/components/Input/index.scss +446 -446
  278. package/src/packages/components/Input/index.tsx +153 -153
  279. package/src/packages/components/Input/input.utils.ts +119 -119
  280. package/src/packages/components/Input/useMultipleInput.tsx +126 -126
  281. package/src/packages/components/Input/useSingleInput.tsx +45 -45
  282. package/src/packages/components/Input/useSuggestionInput.tsx +218 -218
  283. package/src/packages/components/Input/useTextareaInput.tsx +155 -155
  284. package/src/packages/components/Input/uses/useInputEnterHandler.tsx +83 -83
  285. package/src/packages/components/Input/uses/useInputHooks.tsx +21 -21
  286. package/src/packages/components/Input/uses/useInputMaxLength.tsx +35 -35
  287. package/src/packages/components/Input/uses/useInputSuffixIcon.tsx +67 -67
  288. package/src/packages/components/InputGroup/index.tsx +31 -31
  289. package/src/packages/components/InputGroup/input-group.scss +46 -46
  290. package/src/packages/components/InputNumber/NumberResize.tsx +111 -111
  291. package/src/packages/components/InputNumber/index.tsx +36 -36
  292. package/src/packages/components/InputNumber/input-number.utils.tsx +96 -96
  293. package/src/packages/components/InputNumber/number.scss +95 -95
  294. package/src/packages/components/InputNumber/number.utils.ts +3 -3
  295. package/src/packages/components/InputNumber/useInputNumber.multiple.tsx +121 -121
  296. package/src/packages/components/InputNumber/useInputNumber.public.tsx +478 -478
  297. package/src/packages/components/InputNumber/useInputNumber.single.tsx +137 -137
  298. package/src/packages/components/KeepAlive/KeepAliveCacheItemWrapper.tsx +114 -114
  299. package/src/packages/components/KeepAlive/index.tsx +77 -77
  300. package/src/packages/components/KeepAlive/utils/keepalive.utils.ts +33 -33
  301. package/src/packages/components/Layout/index.tsx +38 -38
  302. package/src/packages/components/Layout/layout.scss +247 -247
  303. package/src/packages/components/Layout/layout.utils.ts +3 -3
  304. package/src/packages/components/LayoutSection/index.tsx +76 -76
  305. package/src/packages/components/LayoutSection/useLayoutSectionResizer.tsx +184 -184
  306. package/src/packages/components/List/index.tsx +74 -74
  307. package/src/packages/components/List/list.scss +3 -3
  308. package/src/packages/components/ListOption/index.tsx +20 -20
  309. package/src/packages/components/ListPanel/index.tsx +30 -30
  310. package/src/packages/components/ListPanel/list-panel.scss +20 -20
  311. package/src/packages/components/Loading/index.tsx +27 -27
  312. package/src/packages/components/Loading/loading.scss +7 -7
  313. package/src/packages/components/LoadingMask/index.tsx +101 -101
  314. package/src/packages/components/LoadingMask/loading-mask.scss +34 -34
  315. package/src/packages/components/NumberRange/index.tsx +93 -93
  316. package/src/packages/components/Object/createObjectHooks.tsx +13 -13
  317. package/src/packages/components/Object/createObjectRender.multiple.tsx +289 -289
  318. package/src/packages/components/Object/createObjectRender.single.tsx +219 -219
  319. package/src/packages/components/Object/index.tsx +104 -104
  320. package/src/packages/components/Object/object.scss +24 -24
  321. package/src/packages/components/Object/object.utils.ts +56 -56
  322. package/src/packages/components/OuterOperation/index.tsx +5 -5
  323. package/src/packages/components/Ov/index.tsx +23 -23
  324. package/src/packages/components/Ov/ov.utils.ts +9 -9
  325. package/src/packages/components/Ov/usePublicOv.tsx +35 -35
  326. package/src/packages/components/PageCard/index.tsx +48 -48
  327. package/src/packages/components/PageCard/page-card.scss +124 -124
  328. package/src/packages/components/PageCardContent/index.tsx +44 -44
  329. package/src/packages/components/PageCardTitle/index.tsx +51 -51
  330. package/src/packages/components/PageRenderList/index.tsx +22 -22
  331. package/src/packages/components/PageThemeUtils/deepmerge.ts +21 -21
  332. package/src/packages/components/PageThemeUtils/index.tsx +262 -262
  333. package/src/packages/components/Pagination/index.tsx +339 -339
  334. package/src/packages/components/Pagination/pagination.scss +126 -126
  335. package/src/packages/components/Paragraph/index.tsx +46 -46
  336. package/src/packages/components/Paragraph/paragraph.scss +12 -12
  337. package/src/packages/components/ParagraphItem/index.tsx +21 -21
  338. package/src/packages/components/Plc/index.tsx +4 -4
  339. package/src/packages/components/PlcAddress/index.tsx +4 -4
  340. package/src/packages/components/PlcAddressItem/index.tsx +4 -4
  341. package/src/packages/components/PlcCheck/index.tsx +5 -5
  342. package/src/packages/components/PlcCheckbox/index.tsx +4 -4
  343. package/src/packages/components/PlcColorPicker/index.tsx +4 -4
  344. package/src/packages/components/PlcDate/index.tsx +4 -4
  345. package/src/packages/components/PlcDateRange/index.tsx +4 -4
  346. package/src/packages/components/PlcDraggier/index.tsx +5 -5
  347. package/src/packages/components/PlcExpand/index.tsx +5 -5
  348. package/src/packages/components/PlcGroup/index.tsx +4 -4
  349. package/src/packages/components/PlcImage/index.tsx +86 -86
  350. package/src/packages/components/PlcIndex/index.tsx +5 -5
  351. package/src/packages/components/PlcInput/index.tsx +4 -4
  352. package/src/packages/components/PlcNumber/index.tsx +4 -4
  353. package/src/packages/components/PlcObject/index.tsx +53 -53
  354. package/src/packages/components/PlcOperation/index.tsx +5 -5
  355. package/src/packages/components/PlcOv/index.tsx +31 -31
  356. package/src/packages/components/PlcRate/index.tsx +4 -4
  357. package/src/packages/components/PlcSelect/index.tsx +4 -4
  358. package/src/packages/components/PlcTextarea/index.tsx +4 -4
  359. package/src/packages/components/PlcTime/index.tsx +4 -4
  360. package/src/packages/components/PlcTimeRange/index.tsx +4 -4
  361. package/src/packages/components/PlcToggle/index.tsx +4 -4
  362. package/src/packages/components/PlcTree/index.tsx +5 -5
  363. package/src/packages/components/Popup/PopupProvider.tsx +20 -20
  364. package/src/packages/components/Popup/index.tsx +403 -403
  365. package/src/packages/components/Popup/popup.scss +13 -13
  366. package/src/packages/components/ProgressBar/index.tsx +87 -87
  367. package/src/packages/components/ProgressBar/progress-bar.scss +40 -40
  368. package/src/packages/components/ProgressBar/progress.utils.ts +24 -24
  369. package/src/packages/components/ProgressCircle/index.tsx +188 -188
  370. package/src/packages/components/ProgressCircle/progress-circle.scss +44 -44
  371. package/src/packages/components/ProgressMini/index.tsx +98 -98
  372. package/src/packages/components/ProgressMini/progress-mini.scss +17 -17
  373. package/src/packages/components/Radio/index.tsx +137 -137
  374. package/src/packages/components/Radio/radio.scss +79 -79
  375. package/src/packages/components/RadioGroup/index.tsx +62 -62
  376. package/src/packages/components/RadioInner/index.tsx +31 -31
  377. package/src/packages/components/RadioInner/radio-inner.scss +17 -17
  378. package/src/packages/components/Rate/index.tsx +152 -152
  379. package/src/packages/components/Rate/rate.scss +32 -32
  380. package/src/packages/components/Reference/ReferenceProvider.tsx +13 -13
  381. package/src/packages/components/Reference/index.tsx +57 -57
  382. package/src/packages/components/RollingNumber/index.tsx +66 -66
  383. package/src/packages/components/Scroll/HorizontalScrollbar.tsx +96 -96
  384. package/src/packages/components/Scroll/VerticalScrollbar.tsx +102 -102
  385. package/src/packages/components/Scroll/index.tsx +419 -419
  386. package/src/packages/components/Scroll/scroll.scss +168 -168
  387. package/src/packages/components/Scroll/useAutoScroll.ts +68 -68
  388. package/src/packages/components/Segment/index.tsx +39 -39
  389. package/src/packages/components/Segment/segment.scss +46 -46
  390. package/src/packages/components/SegmentGroup/index.tsx +48 -48
  391. package/src/packages/components/Select/SelectPanel.tsx +78 -78
  392. package/src/packages/components/Select/createMultipleSelectRender.tsx +248 -248
  393. package/src/packages/components/Select/createPublicSelectRender.tsx +411 -411
  394. package/src/packages/components/Select/createSelectOptionDecoder.tsx +43 -43
  395. package/src/packages/components/Select/createSingleSelectRender.tsx +133 -133
  396. package/src/packages/components/Select/decodeSelectRenderNode.tsx +52 -52
  397. package/src/packages/components/Select/index.tsx +97 -97
  398. package/src/packages/components/Select/select.scss +101 -101
  399. package/src/packages/components/Select/select.utils.tsx +248 -248
  400. package/src/packages/components/SelectDisplay/index.tsx +30 -30
  401. package/src/packages/components/SelectGroup/index.tsx +37 -37
  402. package/src/packages/components/SelectOption/index.tsx +72 -72
  403. package/src/packages/components/Slider/index.tsx +123 -123
  404. package/src/packages/components/Slider/slider.scss +128 -128
  405. package/src/packages/components/Slider/slider.utils.tsx +71 -71
  406. package/src/packages/components/Slider/useSlider.range.tsx +211 -211
  407. package/src/packages/components/Slider/useSlider.single.tsx +148 -148
  408. package/src/packages/components/Slider/useSliderDotDragier.tsx +66 -66
  409. package/src/packages/components/SortList/index.tsx +191 -191
  410. package/src/packages/components/SortList/sort-list.scss +11 -11
  411. package/src/packages/components/Space/index.tsx +36 -36
  412. package/src/packages/components/Space/space.scss +39 -39
  413. package/src/packages/components/StackCard/index.tsx +416 -416
  414. package/src/packages/components/StackCard/stack-card.scss +40 -40
  415. package/src/packages/components/StackCardItem/index.tsx +24 -24
  416. package/src/packages/components/Step/index.tsx +120 -120
  417. package/src/packages/components/StepGroup/index.tsx +63 -63
  418. package/src/packages/components/StepGroup/step-group.scss +411 -411
  419. package/src/packages/components/StepGroup/step.utils.ts +44 -44
  420. package/src/packages/components/Tab/index.tsx +42 -42
  421. package/src/packages/components/TabGroup/TabsHeader.tsx +105 -105
  422. package/src/packages/components/TabGroup/TabsInner.tsx +60 -60
  423. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontal.tsx +94 -94
  424. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalCard.tsx +15 -15
  425. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalShadow.tsx +15 -15
  426. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalText.tsx +66 -66
  427. package/src/packages/components/TabGroup/header/horizontal/tabs-header-card.scss +85 -85
  428. package/src/packages/components/TabGroup/header/horizontal/tabs-header-horizontal.scss +59 -59
  429. package/src/packages/components/TabGroup/header/horizontal/tabs-header-shadow.scss +88 -88
  430. package/src/packages/components/TabGroup/header/horizontal/tabs-header-text.scss +50 -50
  431. package/src/packages/components/TabGroup/header/vertical/TabsHeaderVertical.tsx +24 -24
  432. package/src/packages/components/TabGroup/header/vertical/tabs-header-vertical.scss +116 -116
  433. package/src/packages/components/TabGroup/index.tsx +131 -131
  434. package/src/packages/components/TabGroup/tabs.scss +62 -62
  435. package/src/packages/components/TabGroup/tabs.utils.tsx +22 -22
  436. package/src/packages/components/Table/editor/PlcAddress.tsx +91 -91
  437. package/src/packages/components/Table/editor/PlcAddressItem.tsx +60 -60
  438. package/src/packages/components/Table/editor/PlcCheckbox.tsx +36 -36
  439. package/src/packages/components/Table/editor/PlcColorPicker.tsx +29 -29
  440. package/src/packages/components/Table/editor/PlcDate.tsx +97 -97
  441. package/src/packages/components/Table/editor/PlcDate.utils.tsx +45 -45
  442. package/src/packages/components/Table/editor/PlcDateRange.tsx +73 -73
  443. package/src/packages/components/Table/editor/PlcInput.tsx +21 -21
  444. package/src/packages/components/Table/editor/PlcNumber.tsx +23 -23
  445. package/src/packages/components/Table/editor/PlcRate.tsx +24 -24
  446. package/src/packages/components/Table/editor/PlcSelect.tsx +181 -181
  447. package/src/packages/components/Table/editor/PlcTextarea.tsx +22 -22
  448. package/src/packages/components/Table/editor/PlcTime.tsx +54 -54
  449. package/src/packages/components/Table/editor/PlcTime.utils.ts +15 -15
  450. package/src/packages/components/Table/editor/PlcTimeRange.tsx +66 -66
  451. package/src/packages/components/Table/editor/PlcToggle.tsx +40 -40
  452. package/src/packages/components/Table/index.tsx +4 -4
  453. package/src/packages/components/Table/plc/formatPlcList.tsx +92 -92
  454. package/src/packages/components/Table/plc/group/PlcGroup.tsx +20 -20
  455. package/src/packages/components/Table/plc/plc/Plc.tsx +19 -19
  456. package/src/packages/components/Table/plc/process/copyPlcList.ts +23 -23
  457. package/src/packages/components/Table/plc/process/getPltCellClass.ts +8 -8
  458. package/src/packages/components/Table/plc/process/processAutoFixed.ts +73 -73
  459. package/src/packages/components/Table/plc/process/processHeadPlcList.ts +110 -110
  460. package/src/packages/components/Table/plc/process/processPlcClassAndStyle.ts +43 -43
  461. package/src/packages/components/Table/plc/process/processPlcFixed.ts +81 -81
  462. package/src/packages/components/Table/plc/process/processPlcSort.ts +91 -91
  463. package/src/packages/components/Table/plc/use/useBasePlc.tsx +85 -85
  464. package/src/packages/components/Table/plc/use/useBasePlcGroup.tsx +70 -70
  465. package/src/packages/components/Table/plc/use/usePlc.tsx +136 -136
  466. package/src/packages/components/Table/plc/use/usePlcPropsState.tsx +112 -112
  467. package/src/packages/components/Table/plc/use/useTableAutoSpan.tsx +112 -112
  468. package/src/packages/components/Table/plc/useTablePlc.tsx +229 -229
  469. package/src/packages/components/Table/plc/utils/iteratePlcList.tsx +48 -48
  470. package/src/packages/components/Table/plc/utils/plc.render.ts +122 -122
  471. package/src/packages/components/Table/plc/utils/plc.scope-slots.ts +63 -63
  472. package/src/packages/components/Table/plc/utils/plc.utils.ts +302 -302
  473. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.hooks.tsx +16 -16
  474. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.multiple.tsx +280 -280
  475. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.single.tsx +89 -89
  476. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.tsx +61 -61
  477. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.utils.ts +35 -35
  478. package/src/packages/components/Table/standard/PlcDraggier/PlcDraggier.tsx +55 -55
  479. package/src/packages/components/Table/standard/PlcExclusion.tsx +26 -26
  480. package/src/packages/components/Table/standard/PlcExpand.tsx +204 -204
  481. package/src/packages/components/Table/standard/PlcIndex.tsx +34 -34
  482. package/src/packages/components/Table/standard/PlcOperation/OuterOperation.tsx +210 -210
  483. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.tsx +391 -391
  484. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.utils.tsx +159 -159
  485. package/src/packages/components/Table/standard/PlcOperation/outer-operation.scss +39 -39
  486. package/src/packages/components/Table/standard/PlcOperation/useOperationPermission.ts +53 -53
  487. package/src/packages/components/Table/standard/PlcTree/PlcTree.autoWidth.tsx +52 -52
  488. package/src/packages/components/Table/standard/PlcTree/PlcTree.renderNode.tsx +81 -81
  489. package/src/packages/components/Table/standard/PlcTree/PlcTree.tsx +194 -194
  490. package/src/packages/components/Table/standard/PlcTree/PlcTree.utils.ts +59 -59
  491. package/src/packages/components/Table/standard/PlcTree/PlcTreeHeader.tsx +64 -64
  492. package/src/packages/components/Table/standard/PlcTree/RenderPlcTreeNode.tsx +114 -114
  493. package/src/packages/components/Table/table/Table.tsx +382 -382
  494. package/src/packages/components/Table/table/body/cell.tsx +310 -310
  495. package/src/packages/components/Table/table/body/row.tsx +47 -47
  496. package/src/packages/components/Table/table/body/useCellValue.tsx +145 -145
  497. package/src/packages/components/Table/table/head/head-cell.tsx +100 -100
  498. package/src/packages/components/Table/table/head/useHeadCellResize.ts +79 -79
  499. package/src/packages/components/Table/table/node/useTableNode.tsx +66 -66
  500. package/src/packages/components/Table/table/table.scss +438 -438
  501. package/src/packages/components/Table/table/use/useFixedShadow.ts +48 -48
  502. package/src/packages/components/Table/table/use/useTableDraggier.col.tsx +639 -639
  503. package/src/packages/components/Table/table/use/useTableDraggier.row.tsx +279 -279
  504. package/src/packages/components/Table/table/use/useTableDraggier.tsx +237 -237
  505. package/src/packages/components/Table/table/use/useTableFormEditor.tsx +190 -190
  506. package/src/packages/components/Table/table/use/useTableLoading.tsx +39 -39
  507. package/src/packages/components/Table/table/use/useTableMethods.tsx +65 -65
  508. package/src/packages/components/Table/table/use/useTableModifyEditor.tsx +204 -204
  509. package/src/packages/components/Table/table/use/useTableScroll.tsx +49 -49
  510. package/src/packages/components/Table/table/utils/createTableHooks.ts +70 -70
  511. package/src/packages/components/Table/table/utils/table.utils.ts +286 -286
  512. package/src/packages/components/Table/table/utils/url.utils.ts +23 -23
  513. package/src/packages/components/TableOptionSpace/index.ts +5 -5
  514. package/src/packages/components/TableOptionUtils/index.ts +5 -5
  515. package/src/packages/components/Tag/index.tsx +8 -3
  516. package/src/packages/components/Tag/tag.scss +10 -1
  517. package/src/packages/components/Tag/tag.utils.ts +20 -20
  518. package/src/packages/components/ThemeColor/index.tsx +22 -22
  519. package/src/packages/components/ThemeColor/theme-color.scss +36 -36
  520. package/src/packages/components/ThemeColorSelector/index.tsx +53 -53
  521. package/src/packages/components/ThemeDarkSelector/index.tsx +37 -37
  522. package/src/packages/components/ThemeEditor/index.tsx +199 -199
  523. package/src/packages/components/ThemeEditor/theme-editor.scss +106 -106
  524. package/src/packages/components/ThemeLocaleSelector/index.tsx +41 -41
  525. package/src/packages/components/ThemePrimaryColors/index.ts +5 -5
  526. package/src/packages/components/ThemeShapeSelector/index.tsx +55 -55
  527. package/src/packages/components/ThemeSizeSelector/index.tsx +50 -50
  528. package/src/packages/components/TimePicker/createRangeTimeRender.tsx +80 -80
  529. package/src/packages/components/TimePicker/createSeparateRangeTimeRender.tsx +104 -104
  530. package/src/packages/components/TimePicker/createSingleTimeRender.tsx +202 -202
  531. package/src/packages/components/TimePicker/index.tsx +65 -65
  532. package/src/packages/components/TimePicker/panel/TimeBaseColumn.tsx +136 -136
  533. package/src/packages/components/TimePicker/panel/TimeBasePanel.tsx +172 -172
  534. package/src/packages/components/TimePicker/panel/TimePanel.tsx +94 -94
  535. package/src/packages/components/TimePicker/panel/TimeRangePanel.tsx +141 -141
  536. package/src/packages/components/TimePicker/panel/time-base-column.scss +51 -51
  537. package/src/packages/components/TimePicker/panel/time-base-panel.scss +39 -39
  538. package/src/packages/components/TimePicker/panel/time-panel.utils.ts +16 -16
  539. package/src/packages/components/TimePicker/panel/time-range-panel.scss +9 -9
  540. package/src/packages/components/TimePicker/time.scss +10 -10
  541. package/src/packages/components/TimePicker/time.utils.ts +100 -100
  542. package/src/packages/components/TimePicker/useRangeTimeRender.tsx +236 -236
  543. package/src/packages/components/TimePicker/useTimeHooks.ts +11 -11
  544. package/src/packages/components/Toggle/index.tsx +116 -116
  545. package/src/packages/components/Toggle/toggle.scss +151 -151
  546. package/src/packages/components/Tooltip/index.tsx +118 -118
  547. package/src/packages/components/Tooltip/tooltip.scss +5 -5
  548. package/src/packages/components/Transition/index.tsx +134 -134
  549. package/src/packages/components/Tree/RenderTreeNode.tsx +178 -178
  550. package/src/packages/components/Tree/index.tsx +130 -130
  551. package/src/packages/components/Tree/tree.scss +259 -259
  552. package/src/packages/components/TreeCore/TreeCore.type.tsx +140 -140
  553. package/src/packages/components/TreeCore/createTreeCore.tsx +364 -364
  554. package/src/packages/components/TreeCore/createTreeDraggier.tsx +412 -412
  555. package/src/packages/components/TreeCore/createTreeHooks.ts +16 -16
  556. package/src/packages/components/TreeCore/createTreeMethods.tsx +421 -421
  557. package/src/packages/components/TreeCore/createTreeNode.tsx +244 -244
  558. package/src/packages/components/TreeCore/createTreeProps.ts +76 -76
  559. package/src/packages/components/TreeCore/createTreeUtils.ts +140 -140
  560. package/src/packages/components/TreeCore/fromatNodeData.ts +65 -65
  561. package/src/packages/components/TreeNodeWithMenu/index.tsx +95 -95
  562. package/src/packages/components/TreeNodeWithMenu/tree-node-with-menu.scss +39 -39
  563. package/src/packages/components/TreeNodeWithMenu/treeNodeWithMenu.utils.ts +12 -12
  564. package/src/packages/components/Triangle/index.tsx +88 -88
  565. package/src/packages/components/Triangle/triangle.scss +12 -12
  566. package/src/packages/components/Upload/index.tsx +422 -422
  567. package/src/packages/components/Upload/upload.scss +185 -185
  568. package/src/packages/components/VirtualList/createVirtualDraggier.ts +375 -375
  569. package/src/packages/components/VirtualList/index.tsx +109 -109
  570. package/src/packages/components/VirtualList/useVirtualList.tsx +440 -440
  571. package/src/packages/components/VirtualList/virtual-list.scss +58 -58
  572. package/src/packages/components/VirtualTable/index.tsx +220 -220
  573. package/src/packages/components/VirtualTable/virtual-table.scss +179 -179
  574. package/src/packages/components/_Object/index.tsx +5 -5
  575. package/src/packages/components/buildPlainDefaultUrlConfig/index.tsx +5 -5
  576. package/src/packages/components/createAddressService/index.ts +5 -5
  577. package/src/packages/components/createAutoScrollManager/index.tsx +41 -41
  578. package/src/packages/components/createHttp/http.utils.ts +56 -56
  579. package/src/packages/components/createHttp/index.tsx +29 -29
  580. package/src/packages/components/createObjectService/index.tsx +5 -5
  581. package/src/packages/components/createOvService/index.tsx +5 -5
  582. package/src/packages/components/createPlainAddressService/index.tsx +107 -107
  583. package/src/packages/components/createPopup/index.ts +5 -5
  584. package/src/packages/components/createRequestInterceptor/index.ts +139 -139
  585. package/src/packages/components/createScrollDraggier/index.ts +341 -341
  586. package/src/packages/components/createScrollUtils/index.tsx +163 -163
  587. package/src/packages/components/createSimpleDate/index.ts +49 -49
  588. package/src/packages/components/createTableOptionUser/index.tsx +5 -5
  589. package/src/packages/components/createTransitionHandler/index.ts +46 -46
  590. package/src/packages/components/createUploadService/index.tsx +5 -5
  591. package/src/packages/components/createVirtualDraggier/index.ts +5 -5
  592. package/src/packages/components/createWebDraggier/index.ts +5 -5
  593. package/src/packages/components/i18n/index.tsx +5 -5
  594. package/src/packages/components/loadFile/index.ts +20 -20
  595. package/src/packages/components/nextPopupId/index.ts +5 -5
  596. package/src/packages/components/useAutoScrollUtils/auto-scroll-utils.scss +48 -48
  597. package/src/packages/components/useAutoScrollUtils/index.tsx +86 -86
  598. package/src/packages/components/useContextmenuOptions/index.tsx +40 -40
  599. package/src/packages/components/useDialog/DialogService.tsx +227 -227
  600. package/src/packages/components/useDialog/dialog-service.scss +50 -50
  601. package/src/packages/components/useDialog/dialog.service.utils.tsx +88 -88
  602. package/src/packages/components/useDialog/index.tsx +66 -66
  603. package/src/packages/components/useImage/ImageService.tsx +285 -285
  604. package/src/packages/components/useImage/index.tsx +28 -28
  605. package/src/packages/components/useLoading/LoadingService.tsx +106 -106
  606. package/src/packages/components/useLoading/index.tsx +31 -31
  607. package/src/packages/components/useLoading/loading.service.scss +25 -25
  608. package/src/packages/components/useLoading/loading.service.utils.tsx +13 -13
  609. package/src/packages/components/useMessage/Message.tsx +77 -77
  610. package/src/packages/components/useMessage/MessageContainer.tsx +64 -64
  611. package/src/packages/components/useMessage/MessageManager.tsx +58 -58
  612. package/src/packages/components/useMessage/index.tsx +51 -51
  613. package/src/packages/components/useMessage/message.scss +149 -149
  614. package/src/packages/components/useMessage/message.service.utils.tsx +43 -43
  615. package/src/packages/components/useNotice/Notice.tsx +93 -93
  616. package/src/packages/components/useNotice/NoticeContainer.tsx +65 -65
  617. package/src/packages/components/useNotice/NoticeManager.tsx +58 -58
  618. package/src/packages/components/useNotice/index.tsx +42 -42
  619. package/src/packages/components/useNotice/noitice.service.utils.tsx +48 -48
  620. package/src/packages/components/useNotice/notice.scss +158 -158
  621. package/src/packages/components/usePageRender/index.tsx +3 -3
  622. package/src/packages/components/usePageRenderContext/index.tsx +8 -8
  623. package/src/packages/components/usePopup/PopupItem.tsx +432 -432
  624. package/src/packages/components/usePopup/index.tsx +1 -1
  625. package/src/packages/components/usePopup/popup-item.scss +252 -252
  626. package/src/packages/components/usePopup/refresh/MaxMinTopLeft.ts +38 -38
  627. package/src/packages/components/usePopup/refresh/applyPosition.ts +61 -61
  628. package/src/packages/components/usePopup/refresh/calcPosition.ts +88 -88
  629. package/src/packages/components/usePopup/refresh/refreshArrow.ts +112 -112
  630. package/src/packages/components/usePopup/refresh/refreshPopup.ts +79 -79
  631. package/src/packages/components/usePopup/trigger/useManagerTrigger.click.tsx +56 -56
  632. package/src/packages/components/usePopup/trigger/useManagerTrigger.clickOutside.tsx +39 -39
  633. package/src/packages/components/usePopup/trigger/useManagerTrigger.contextmenu.tsx +59 -59
  634. package/src/packages/components/usePopup/trigger/useManagerTrigger.focus.tsx +30 -30
  635. package/src/packages/components/usePopup/trigger/useManagerTrigger.hover.tsx +60 -60
  636. package/src/packages/components/usePopup/trigger/usePopupTrigger.tsx +56 -56
  637. package/src/packages/components/usePopup/trigger/useReferenceTrigger.tsx +90 -90
  638. package/src/packages/components/usePopup/usePopup.tsx +73 -73
  639. package/src/packages/components/usePopup/usePopupManager.tsx +325 -325
  640. package/src/packages/components/usePopup/utils/closeAllPopper.ts +5 -5
  641. package/src/packages/components/usePopup/utils/createPopperAttrsGetter.ts +5 -5
  642. package/src/packages/components/usePopup/utils/createPopupManagerHooks.tsx +65 -65
  643. package/src/packages/components/usePopup/utils/decodePlacement.ts +16 -16
  644. package/src/packages/components/usePopup/utils/getAvailableDirection.ts +91 -91
  645. package/src/packages/components/usePopup/utils/getBoundary.ts +25 -25
  646. package/src/packages/components/usePopup/utils/getRects.ts +24 -24
  647. package/src/packages/components/usePopup/utils/handleDirection.ts +10 -10
  648. package/src/packages/components/usePopup/utils/ids2map.ts +11 -11
  649. package/src/packages/components/usePopup/utils/popup.utils.ts +239 -239
  650. package/src/packages/components/usePopup/utils/stopPopup.ts +7 -7
  651. package/src/packages/components/usePopupEditor/index.tsx +113 -113
  652. package/src/packages/components/usePopupEditor/popup-editor.utils.ts +15 -15
  653. package/src/packages/components/usePopupManager/index.ts +5 -5
  654. package/src/packages/components/usePopupTrigger/index.tsx +5 -5
  655. package/src/packages/components/useReferenceTrigger/index.tsx +5 -5
  656. package/src/packages/components/useTableFilter/index.ts +73 -73
  657. package/src/packages/components/useTooltip/index.tsx +188 -188
  658. package/src/packages/components/useWatchAutoClear/index.ts +5 -5
  659. package/src/packages/directives/ClickWave/click-wave.scss +57 -57
  660. package/src/packages/directives/ClickWave/index.tsx +78 -78
  661. package/src/packages/directives/ResizeDetector/index.tsx +107 -107
  662. package/src/packages/entry.tsx +322 -322
  663. package/src/packages/i18n/i18n.utils.ts +272 -272
  664. package/src/packages/i18n/index.ts +5 -5
  665. package/src/packages/i18n/lang/en-us.ts +4 -0
  666. package/src/packages/i18n/lang/zh-cn.ts +4 -0
  667. package/src/packages/index.tsx +5 -5
  668. package/src/packages/styles/application/application.public.scss +15 -15
  669. package/src/packages/styles/application/application.public.transition.scss +90 -90
  670. package/src/packages/styles/global.import.scss +194 -194
  671. package/src/packages/uses/createInputPopperAttrs.ts +60 -60
  672. package/src/packages/uses/useCollapseStyles.tsx +56 -56
  673. package/src/packages/uses/useDragHorizontalScroll.ts +81 -81
  674. package/src/packages/uses/useEdit.ts +116 -116
  675. package/src/packages/uses/useFocusHandler.ts +73 -73
  676. package/src/packages/uses/useFunctionWrapper.ts +31 -31
  677. package/src/packages/uses/useMultipleModel.tsx +65 -65
  678. package/src/packages/uses/useRenderReference.tsx +32 -32
  679. package/src/packages/uses/useStyle.tsx +82 -82
  680. package/src/packages/utils/ClientZoom.ts +50 -50
  681. package/src/packages/utils/ComponentUtils.ts +10 -10
  682. package/src/packages/utils/FixInput.ts +3 -3
  683. package/src/packages/utils/InnerTransition.ts +13 -13
  684. package/src/packages/utils/LoadingText.ts +11 -11
  685. package/src/packages/utils/OpenController.ts +15 -15
  686. package/src/packages/utils/buildCycleIndexList.ts +31 -31
  687. package/src/packages/utils/clearFields.ts +16 -16
  688. package/src/packages/utils/color.utils.ts +189 -189
  689. package/src/packages/utils/combineURL.ts +5 -5
  690. package/src/packages/utils/constant.tsx +5 -5
  691. package/src/packages/utils/createAnimate.ts +45 -45
  692. package/src/packages/utils/createCache.ts +32 -32
  693. package/src/packages/utils/createDraggier.ts +256 -256
  694. package/src/packages/utils/createEffectiveHandler.ts +8 -8
  695. package/src/packages/utils/createError.ts +16 -16
  696. package/src/packages/utils/createFlagManager.ts +34 -34
  697. package/src/packages/utils/createKeyHandler.ts +20 -20
  698. package/src/packages/utils/createListUtils.ts +38 -38
  699. package/src/packages/utils/customDeepClone.ts +15 -15
  700. package/src/packages/utils/deepCloneRenderNode.ts +41 -41
  701. package/src/packages/utils/deepIterateObject.ts +14 -14
  702. package/src/packages/utils/findReactElement.tsx +76 -76
  703. package/src/packages/utils/getDeviceInfo.ts +59 -59
  704. package/src/packages/utils/getElementRect.ts +32 -32
  705. package/src/packages/utils/getRowEl.ts +33 -33
  706. package/src/packages/utils/incrementalMerge.ts +8 -8
  707. package/src/packages/utils/inheritSlots.ts +30 -30
  708. package/src/packages/utils/installAllIcons.ts +19 -19
  709. package/src/packages/utils/installAllLazyIcons.ts +17 -17
  710. package/src/packages/utils/isObjectCommonMatch.ts +21 -21
  711. package/src/packages/utils/isSSR.tsx +3 -3
  712. package/src/packages/utils/onParentElementsScroll.tsx +26 -26
  713. package/src/packages/utils/plainDate.ts +203 -203
  714. package/src/packages/utils/renderInputModeTextRangeValue.tsx +25 -25
  715. package/src/packages/utils/renderNothing.tsx +1 -1
  716. package/src/packages/utils/type.ts +11 -11
  717. package/src/packages/utils/useMove.tsx +78 -78
  718. package/src/packages/utils/watchEffectAutoClear.ts +28 -28
@@ -1,398 +1,398 @@
1
- /**
2
- * 当前面板的视图
3
- * @author 韦胜健
4
- * @date 2021/1/18 10:43
5
- */
6
- import {ComponentEvent, createSyncHooks, ExtractPropTypes, getComponentCls, mergeAttrs, PropType, RenderNode, tSlotsType} from "@peryl/react-compose";
7
- import {PDate, plainDate} from "../../utils/plainDate";
8
- import {classnames} from "@peryl/utils/classnames";
9
- import {UseDateType} from "./panel/useDatePanel";
10
- import {eMultipleValueType} from "../../uses/useMultipleModel";
11
- import {EditProps, tEditComputed} from "../../uses/useEdit";
12
- import {StyleProps, tStyleComputed} from "../../uses/useStyle";
13
- import {Input} from "../Input";
14
- import i18n from "../i18n";
15
- import {iPopupEditorUseOption} from "../usePopupEditor";
16
- import React from "react";
17
-
18
- /**
19
- * 日期面板视图类型,对应各个组件,一个面板至少有一个或者两个视图
20
- * @author 韦胜健
21
- * @date 2022.7.4 13:58
22
- */
23
- export enum eDateView {
24
- year = 'year', // 年份面板
25
- month = 'month', // 月份面板
26
- date = 'date', // 日期面板
27
- time = 'time', // 时间面板
28
- }
29
-
30
- /**
31
- * 日期面板视图类型,对应各个组件
32
- * @author 韦胜健
33
- * @date 2022.7.4 13:59
34
- */
35
- export enum eDatePanel {
36
- year = 'year',
37
- month = 'month',
38
- date = 'date',
39
- week = 'week',
40
- quarter = 'quarter',
41
- }
42
-
43
- /**
44
- * 跟节点切换动画的方向
45
- * @author 韦胜健
46
- * @date 2021/1/18 10:43
47
- */
48
- export enum eSlideTransitionDirection {
49
- next = 'next',
50
- prev = 'prev'
51
- }
52
-
53
- /**
54
- * 在派发modelValue时,派发的start还是end事件
55
- * @author 韦胜健
56
- * @date 2021/1/18 10:44
57
- */
58
- export enum eDateEmitRangeType {
59
- start = 'start',
60
- end = 'end',
61
- }
62
-
63
- /**
64
- * 面板的默认格式化字符串
65
- * @author 韦胜健
66
- * @date 2021/1/18 10:46
67
- */
68
- export const DefaultDateFormatString = {
69
- year: 'YYYY',
70
- month: 'YYYY-MM',
71
- date: 'YYYY-MM-DD',
72
- datetime: 'YYYY-MM-DD HH:mm:ss',
73
- week: 'YYYY-MM-DD',
74
- Hms: 'HH:mm:ss',
75
- };
76
-
77
- export const getDefaultDateFormatter = (() => {
78
- function getDefaultDateValueFormat(panel: keyof typeof eDatePanel, datetime?: boolean) {
79
- switch (panel) {
80
- case eDatePanel.year:
81
- return DefaultDateFormatString.year;
82
- case eDatePanel.month:
83
- return DefaultDateFormatString.month;
84
- case eDatePanel.date:
85
- return datetime ? DefaultDateFormatString.datetime : DefaultDateFormatString.date;
86
- case eDatePanel.week:
87
- return DefaultDateFormatString.date;
88
- case eDatePanel.quarter:
89
- return DefaultDateFormatString.month;
90
- }
91
- throw new Error(`can't recognise date panel:` + panel);
92
- }
93
-
94
- function getDefaultDateDisplayFormat(panel: keyof typeof eDatePanel, datetime?: boolean) {
95
- switch (panel) {
96
- case eDatePanel.year:
97
- return DefaultDateFormatString.year;
98
- case eDatePanel.month:
99
- return DefaultDateFormatString.month;
100
- case eDatePanel.date:
101
- return datetime ? DefaultDateFormatString.datetime : DefaultDateFormatString.date;
102
- case eDatePanel.week:
103
- return i18n.$it('formatter.week').d('gggg年第ww周');
104
- case eDatePanel.quarter:
105
- return i18n.$it('formatter.quarter').d('YYYY年第Q季度');
106
- }
107
- throw new Error(`can't recognise date panel:` + panel);
108
- }
109
-
110
- return (panel: keyof typeof eDatePanel, datetime?: boolean) => ({
111
- displayFormat: getDefaultDateDisplayFormat(panel, datetime),
112
- valueFormat: getDefaultDateValueFormat(panel, datetime),
113
- });
114
- })();
115
-
116
- /**
117
- * 面板的优先级
118
- * @author 韦胜健
119
- * @date 2022.7.4 14:01
120
- */
121
- export const eDateViewSeq = {
122
- year: 1,
123
- month: 2,
124
- date: 3,
125
- time: 4,
126
- };
127
-
128
- /**
129
- * 各个面板组件公共属性
130
- * @author 韦胜健
131
- * @date 2022.7.4 14:01
132
- */
133
- export const DatePublicProps = {
134
- modelValue: { type: [String, Array] as PropType<string | string[]> }, // 双向绑定值,单选时为单个字符串,多选时为字符串数组
135
- start: { type: String }, // 范围选择,起始值绑定值
136
- end: { type: String }, // 范围选择,截止值绑定值
137
- displayFormat: { type: String }, // 显示值格式化字符串
138
- valueFormat: { type: String }, // 值格式化字符串
139
- max: { type: String }, // 最大值
140
- min: { type: String }, // 最小值
141
- range: { type: Boolean, default: false }, // 是否为范围选择,与multiple多选只能二选一
142
- multiple: { type: Boolean }, // 是否为 多选,与range多选只能二选一
143
- valueType: { type: String as PropType<typeof eMultipleValueType.TYPE> }, // 多选的时候值的类型
144
- separate: { type: Boolean }, // 范围选择的时候,是否分开选择开始结束时间
145
-
146
- firstWeekDay: { type: Number, default: 1 }, // 一周的第一个是星期几,0是星期天,1是星期一
147
- defaultTime: { type: String, default: '00:00:00' }, // 默认时间,如果没有初始值,选择日期的时候时间会取这里的默认时间
148
- defaultStartTime: { type: String, default: '00:00:00' }, // 日期范围选择起始选择框日期面板,默认时间,如果没有初始值,选择日期的时候时间会取这里的默认时间
149
- defaultEndTime: { type: String, default: '23:59:59' }, // 日期范围选择截止选择框日期面板,默认时间,如果没有初始值,选择日期的时候时间会取这里的默认时间
150
- startPlaceholder: { type: String }, // 日期范围开始时间输入框空值占位符
151
- endPlaceholder: { type: String }, // 日期范围结束时间输入框空值占位符
152
-
153
- showQuarter: { type: Boolean }, // 月份面板是否显示季度
154
- isQuarterActive: { type: Function as PropType<(did: DateItemData) => boolean> },// 季度是否高亮判断函数
155
- panel: { type: String as PropType<eDatePanel | keyof typeof eDatePanel>, default: eDatePanel.date }, // 使用的面板类型
156
- isItemDisabled: { type: Function as PropType<(pd: PDate, jdView: string) => boolean> },// 判断选项是否禁用
157
- focusRangeType: { type: String as PropType<eDateEmitRangeType> }, // 当前获取焦点的范围选择位置
158
-
159
- /*inner props*/
160
- direction: { type: String, default: 'horizontal' }, // 根节点在 transition-slide 动画下的动画方向,是horizontal还是vertical
161
- view: { type: String as PropType<eDateView>, default: eDateView.month }, // 当前视图
162
- selectDate: { type: Object as PropType<PDate> }, // 当前面板的年月日期对象
163
- datetime: { type: Boolean }, // 是否为日期时间视图
164
- };
165
-
166
- export const DatePropsOptions = {
167
- ...StyleProps,
168
- ...EditProps,
169
- ...DatePublicProps,
170
- popperAttrs: { type: Object as PropType<iPopupEditorUseOption> },
171
- inputAttrs: { type: Object as PropType<Partial<typeof Input.use.props>> },
172
- };
173
-
174
- export type iDatePropsType = ExtractPropTypes<typeof DatePropsOptions>
175
-
176
- /**
177
- * 所有面板的公共属性对象类型
178
- * @author 韦胜健
179
- * @date 2021/1/18 10:45
180
- */
181
- export type tDatePublicPropsType = ExtractPropTypes<typeof DatePublicProps>
182
-
183
- /**
184
- * 所有面板的公共派发事件配置对象
185
- * @author 韦胜健
186
- * @date 2021/1/18 10:45
187
- */
188
- export const DatePublicEmits = {
189
- onUpdateModelValue: (val?: string | string[], rangeType?: eDateEmitRangeType) => true,
190
- onUpdateStart: (val?: string) => true,
191
- onUpdateEnd: (val?: string) => true,
192
- onUpdateView: (view: eDateView) => true,
193
- onReady: (data: UseDateType) => true,
194
- } as const;
195
-
196
- /**
197
- * 单个日期选项的数据类型
198
- * @author 韦胜健
199
- * @date 2021/1/18 16:04
200
- */
201
- export interface DateItemData {
202
- label: string | number,
203
- active: boolean,
204
- now: boolean,
205
- disabled: boolean,
206
- start: boolean,
207
- hover: boolean,
208
- end: boolean,
209
- clickable: boolean,
210
- pd: PDate,
211
- range: boolean,
212
- externals?: any,
213
- tempStart: boolean,
214
- tempEnd: boolean,
215
- tempHover: boolean,
216
- }
217
-
218
- /**
219
- * 面板容器渲染
220
- * @author 韦胜健
221
- * @date 2022.7.4 14:02
222
- */
223
- export function DatePanelWrapper(slots: {
224
- key?: string,
225
- className: string,
226
- left?: RenderNode,
227
- center: RenderNode,
228
- right?: RenderNode,
229
- content: RenderNode,
230
- bodyAttrs?: any,
231
- }) {
232
- return (
233
- <div key={slots.key || 'default'} className={`${getComponentCls("date-base-panel")} ${slots.className}`}>
234
- <div className="date-base-panel-header">
235
- <div>{slots.left}</div>
236
- <div>{slots.center}</div>
237
- <div>{slots.right}</div>
238
- </div>
239
- <div {...mergeAttrs(
240
- { className: 'date-base-panel-body' },
241
- slots.bodyAttrs,
242
- )}>
243
- {slots.content}
244
- </div>
245
- </div>
246
- );
247
- }
248
-
249
- /**
250
- * 面板中选项渲染
251
- * @author 韦胜健
252
- * @date 2022.7.4 14:02
253
- */
254
- export function DatePanelItemWrapper(
255
- {
256
- Node,
257
- item,
258
- onClick,
259
- onMouseEnter,
260
- }: {
261
- Node: any, // 容器节点
262
- item: DateItemData, // item 数据
263
- onClick: (item: DateItemData) => void, // 点击item事件处理句柄
264
- onMouseEnter: (item: DateItemData) => void, // 进入item事件处理句柄
265
- }) {
266
-
267
- let listener = {} as any;
268
- item.clickable && (listener.onClick = () => onClick(item));
269
- !item.disabled && (listener.onMouseEnter = () => onMouseEnter(item));
270
-
271
- return React.cloneElement(
272
- Node,
273
- mergeAttrs(Node.props, {
274
- className: `${Node.props.class} ${classnames([
275
- 'date-base-panel-item',
276
- {
277
- 'date-base-panel-item-active': item.active,
278
- 'date-base-panel-item-now': item.now,
279
- 'date-base-panel-item-disabled': item.disabled,
280
- 'date-base-panel-item-hover-start': item.start,
281
- 'date-base-panel-item-hover': item.hover,
282
- 'date-base-panel-item-hover-end': item.end,
283
- 'date-base-panel-item-temp-start': item.tempStart,
284
- 'date-base-panel-item-temp-end': item.tempEnd,
285
- 'date-base-panel-item-temp-hover': item.tempHover,
286
- }
287
- ])}`,
288
- ...listener,
289
- }),
290
- (
291
- <div>
292
- <span>{item.label}</span>
293
- </div>
294
- )
295
- );
296
- }
297
-
298
- /**
299
- * 日期公共工具函数
300
- * @author 韦胜健
301
- * @date 2022.7.4 14:02
302
- */
303
- export const DateCommonUtils = {
304
- /*今天*/
305
- today: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => plainDate(new Date(), { displayFormat, valueFormat }).getDayJs(),
306
- /*昨天*/
307
- yesterday: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
308
- const today = DateCommonUtils.today(displayFormat, valueFormat);
309
- return today.day(-1);
310
- },
311
- /*明天*/
312
- tomorrow: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
313
- const today = DateCommonUtils.today(displayFormat, valueFormat);
314
- return today.day(+1);
315
- },
316
- week: {
317
- start: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
318
- const today = DateCommonUtils.today(displayFormat, valueFormat);
319
- return today.startOf('week');
320
- },
321
- end: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
322
- const today = DateCommonUtils.today(displayFormat, valueFormat);
323
- return today.endOf('week');
324
- },
325
- },
326
- month: {
327
- start: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
328
- const today = DateCommonUtils.today(displayFormat, valueFormat);
329
- return today.startOf('month');
330
- },
331
- end: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
332
- const today = DateCommonUtils.today(displayFormat, valueFormat);
333
- return today.endOf('month');
334
- },
335
- },
336
- year: {
337
- start: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
338
- const today = DateCommonUtils.today(displayFormat, valueFormat);
339
- return today.startOf('year');
340
- },
341
- end: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
342
- const today = DateCommonUtils.today(displayFormat, valueFormat);
343
- return today.endOf('year');
344
- },
345
- },
346
- };
347
-
348
- /*
349
- console.log('今天', DateCommonUtils.today().format('YYYY-MM-DD'))
350
- console.log('明天', DateCommonUtils.tomorrow().format('YYYY-MM-DD'))
351
- console.log('昨天', DateCommonUtils.yesterday().format('YYYY-MM-DD'))
352
- console.log('本周第一天', DateCommonUtils.week.start().format('YYYY-MM-DD'))
353
- console.log('本周最后一天', DateCommonUtils.week.end().format('YYYY-MM-DD'))
354
- console.log('本月第一天', DateCommonUtils.month.start().format('YYYY-MM-DD'))
355
- console.log('本月最后一天', DateCommonUtils.month.end().format('YYYY-MM-DD'))
356
- console.log('本年第一天', DateCommonUtils.year.start().format('YYYY-MM-DD'))
357
- console.log('本年最后一天', DateCommonUtils.year.end().format('YYYY-MM-DD'))*/
358
-
359
- /**
360
- * Date选择器内部钩子
361
- * @author 韦胜健
362
- * @date 2022.7.4 14:02
363
- */
364
- export const useDatePickerHooks = () => {
365
- return {
366
- onRenderInput: createSyncHooks<(content: RenderNode) => void>(),
367
- };
368
- };
369
-
370
- export const DateEmitsOptions = {
371
- ...DatePublicEmits,
372
- onBlur: (e: FocusEvent) => true,
373
- onFocus: (e: FocusEvent) => true,
374
- } as const;
375
-
376
- export const DateSlotsOption = ['foot', 'default'] as const;
377
-
378
- export type tDatePickerHooks = ReturnType<typeof useDatePickerHooks>
379
-
380
- export type tDateCompositionPublicParams = {
381
- props: tDatePublicPropsType & { inputAttrs?: any },
382
- emit: ComponentEvent<typeof DateEmitsOptions>["emit"],
383
- hooks: tDatePickerHooks,
384
- slots: tSlotsType<typeof DateSlotsOption>,
385
- formatString: {
386
- value: {
387
- displayFormat: string,
388
- valueFormat: string,
389
- }
390
- },
391
- getPublicPopperAttrs: () => any,
392
- editComputed: tEditComputed,
393
- styleComputed: tStyleComputed,
394
- getInheritPublicDateAttrs: () => any,
395
- displayPattern: { value: RegExp },
396
- today: { value: PDate },
397
- maxmin: { value: { max: null | PDate, min: null | PDate } },
398
- }
1
+ /**
2
+ * 当前面板的视图
3
+ * @author 韦胜健
4
+ * @date 2021/1/18 10:43
5
+ */
6
+ import {ComponentEvent, createSyncHooks, ExtractPropTypes, getComponentCls, mergeAttrs, PropType, RenderNode, tSlotsType} from "@peryl/react-compose";
7
+ import {PDate, plainDate} from "../../utils/plainDate";
8
+ import {classnames} from "@peryl/utils/classnames";
9
+ import {UseDateType} from "./panel/useDatePanel";
10
+ import {eMultipleValueType} from "../../uses/useMultipleModel";
11
+ import {EditProps, tEditComputed} from "../../uses/useEdit";
12
+ import {StyleProps, tStyleComputed} from "../../uses/useStyle";
13
+ import {Input} from "../Input";
14
+ import i18n from "../i18n";
15
+ import {iPopupEditorUseOption} from "../usePopupEditor";
16
+ import React from "react";
17
+
18
+ /**
19
+ * 日期面板视图类型,对应各个组件,一个面板至少有一个或者两个视图
20
+ * @author 韦胜健
21
+ * @date 2022.7.4 13:58
22
+ */
23
+ export enum eDateView {
24
+ year = 'year', // 年份面板
25
+ month = 'month', // 月份面板
26
+ date = 'date', // 日期面板
27
+ time = 'time', // 时间面板
28
+ }
29
+
30
+ /**
31
+ * 日期面板视图类型,对应各个组件
32
+ * @author 韦胜健
33
+ * @date 2022.7.4 13:59
34
+ */
35
+ export enum eDatePanel {
36
+ year = 'year',
37
+ month = 'month',
38
+ date = 'date',
39
+ week = 'week',
40
+ quarter = 'quarter',
41
+ }
42
+
43
+ /**
44
+ * 跟节点切换动画的方向
45
+ * @author 韦胜健
46
+ * @date 2021/1/18 10:43
47
+ */
48
+ export enum eSlideTransitionDirection {
49
+ next = 'next',
50
+ prev = 'prev'
51
+ }
52
+
53
+ /**
54
+ * 在派发modelValue时,派发的start还是end事件
55
+ * @author 韦胜健
56
+ * @date 2021/1/18 10:44
57
+ */
58
+ export enum eDateEmitRangeType {
59
+ start = 'start',
60
+ end = 'end',
61
+ }
62
+
63
+ /**
64
+ * 面板的默认格式化字符串
65
+ * @author 韦胜健
66
+ * @date 2021/1/18 10:46
67
+ */
68
+ export const DefaultDateFormatString = {
69
+ year: 'YYYY',
70
+ month: 'YYYY-MM',
71
+ date: 'YYYY-MM-DD',
72
+ datetime: 'YYYY-MM-DD HH:mm:ss',
73
+ week: 'YYYY-MM-DD',
74
+ Hms: 'HH:mm:ss',
75
+ };
76
+
77
+ export const getDefaultDateFormatter = (() => {
78
+ function getDefaultDateValueFormat(panel: keyof typeof eDatePanel, datetime?: boolean) {
79
+ switch (panel) {
80
+ case eDatePanel.year:
81
+ return DefaultDateFormatString.year;
82
+ case eDatePanel.month:
83
+ return DefaultDateFormatString.month;
84
+ case eDatePanel.date:
85
+ return datetime ? DefaultDateFormatString.datetime : DefaultDateFormatString.date;
86
+ case eDatePanel.week:
87
+ return DefaultDateFormatString.date;
88
+ case eDatePanel.quarter:
89
+ return DefaultDateFormatString.month;
90
+ }
91
+ throw new Error(`can't recognise date panel:` + panel);
92
+ }
93
+
94
+ function getDefaultDateDisplayFormat(panel: keyof typeof eDatePanel, datetime?: boolean) {
95
+ switch (panel) {
96
+ case eDatePanel.year:
97
+ return DefaultDateFormatString.year;
98
+ case eDatePanel.month:
99
+ return DefaultDateFormatString.month;
100
+ case eDatePanel.date:
101
+ return datetime ? DefaultDateFormatString.datetime : DefaultDateFormatString.date;
102
+ case eDatePanel.week:
103
+ return i18n.$it('formatter.week').d('gggg年第ww周');
104
+ case eDatePanel.quarter:
105
+ return i18n.$it('formatter.quarter').d('YYYY年第Q季度');
106
+ }
107
+ throw new Error(`can't recognise date panel:` + panel);
108
+ }
109
+
110
+ return (panel: keyof typeof eDatePanel, datetime?: boolean) => ({
111
+ displayFormat: getDefaultDateDisplayFormat(panel, datetime),
112
+ valueFormat: getDefaultDateValueFormat(panel, datetime),
113
+ });
114
+ })();
115
+
116
+ /**
117
+ * 面板的优先级
118
+ * @author 韦胜健
119
+ * @date 2022.7.4 14:01
120
+ */
121
+ export const eDateViewSeq = {
122
+ year: 1,
123
+ month: 2,
124
+ date: 3,
125
+ time: 4,
126
+ };
127
+
128
+ /**
129
+ * 各个面板组件公共属性
130
+ * @author 韦胜健
131
+ * @date 2022.7.4 14:01
132
+ */
133
+ export const DatePublicProps = {
134
+ modelValue: { type: [String, Array] as PropType<string | string[]> }, // 双向绑定值,单选时为单个字符串,多选时为字符串数组
135
+ start: { type: String }, // 范围选择,起始值绑定值
136
+ end: { type: String }, // 范围选择,截止值绑定值
137
+ displayFormat: { type: String }, // 显示值格式化字符串
138
+ valueFormat: { type: String }, // 值格式化字符串
139
+ max: { type: String }, // 最大值
140
+ min: { type: String }, // 最小值
141
+ range: { type: Boolean, default: false }, // 是否为范围选择,与multiple多选只能二选一
142
+ multiple: { type: Boolean }, // 是否为 多选,与range多选只能二选一
143
+ valueType: { type: String as PropType<typeof eMultipleValueType.TYPE> }, // 多选的时候值的类型
144
+ separate: { type: Boolean }, // 范围选择的时候,是否分开选择开始结束时间
145
+
146
+ firstWeekDay: { type: Number, default: 1 }, // 一周的第一个是星期几,0是星期天,1是星期一
147
+ defaultTime: { type: String, default: '00:00:00' }, // 默认时间,如果没有初始值,选择日期的时候时间会取这里的默认时间
148
+ defaultStartTime: { type: String, default: '00:00:00' }, // 日期范围选择起始选择框日期面板,默认时间,如果没有初始值,选择日期的时候时间会取这里的默认时间
149
+ defaultEndTime: { type: String, default: '23:59:59' }, // 日期范围选择截止选择框日期面板,默认时间,如果没有初始值,选择日期的时候时间会取这里的默认时间
150
+ startPlaceholder: { type: String }, // 日期范围开始时间输入框空值占位符
151
+ endPlaceholder: { type: String }, // 日期范围结束时间输入框空值占位符
152
+
153
+ showQuarter: { type: Boolean }, // 月份面板是否显示季度
154
+ isQuarterActive: { type: Function as PropType<(did: DateItemData) => boolean> },// 季度是否高亮判断函数
155
+ panel: { type: String as PropType<eDatePanel | keyof typeof eDatePanel>, default: eDatePanel.date }, // 使用的面板类型
156
+ isItemDisabled: { type: Function as PropType<(pd: PDate, jdView: string) => boolean> },// 判断选项是否禁用
157
+ focusRangeType: { type: String as PropType<eDateEmitRangeType> }, // 当前获取焦点的范围选择位置
158
+
159
+ /*inner props*/
160
+ direction: { type: String, default: 'horizontal' }, // 根节点在 transition-slide 动画下的动画方向,是horizontal还是vertical
161
+ view: { type: String as PropType<eDateView>, default: eDateView.month }, // 当前视图
162
+ selectDate: { type: Object as PropType<PDate> }, // 当前面板的年月日期对象
163
+ datetime: { type: Boolean }, // 是否为日期时间视图
164
+ };
165
+
166
+ export const DatePropsOptions = {
167
+ ...StyleProps,
168
+ ...EditProps,
169
+ ...DatePublicProps,
170
+ popperAttrs: { type: Object as PropType<iPopupEditorUseOption> },
171
+ inputAttrs: { type: Object as PropType<Partial<typeof Input.use.props>> },
172
+ };
173
+
174
+ export type iDatePropsType = ExtractPropTypes<typeof DatePropsOptions>
175
+
176
+ /**
177
+ * 所有面板的公共属性对象类型
178
+ * @author 韦胜健
179
+ * @date 2021/1/18 10:45
180
+ */
181
+ export type tDatePublicPropsType = ExtractPropTypes<typeof DatePublicProps>
182
+
183
+ /**
184
+ * 所有面板的公共派发事件配置对象
185
+ * @author 韦胜健
186
+ * @date 2021/1/18 10:45
187
+ */
188
+ export const DatePublicEmits = {
189
+ onUpdateModelValue: (val?: string | string[], rangeType?: eDateEmitRangeType) => true,
190
+ onUpdateStart: (val?: string) => true,
191
+ onUpdateEnd: (val?: string) => true,
192
+ onUpdateView: (view: eDateView) => true,
193
+ onReady: (data: UseDateType) => true,
194
+ } as const;
195
+
196
+ /**
197
+ * 单个日期选项的数据类型
198
+ * @author 韦胜健
199
+ * @date 2021/1/18 16:04
200
+ */
201
+ export interface DateItemData {
202
+ label: string | number,
203
+ active: boolean,
204
+ now: boolean,
205
+ disabled: boolean,
206
+ start: boolean,
207
+ hover: boolean,
208
+ end: boolean,
209
+ clickable: boolean,
210
+ pd: PDate,
211
+ range: boolean,
212
+ externals?: any,
213
+ tempStart: boolean,
214
+ tempEnd: boolean,
215
+ tempHover: boolean,
216
+ }
217
+
218
+ /**
219
+ * 面板容器渲染
220
+ * @author 韦胜健
221
+ * @date 2022.7.4 14:02
222
+ */
223
+ export function DatePanelWrapper(slots: {
224
+ key?: string,
225
+ className: string,
226
+ left?: RenderNode,
227
+ center: RenderNode,
228
+ right?: RenderNode,
229
+ content: RenderNode,
230
+ bodyAttrs?: any,
231
+ }) {
232
+ return (
233
+ <div key={slots.key || 'default'} className={`${getComponentCls("date-base-panel")} ${slots.className}`}>
234
+ <div className="date-base-panel-header">
235
+ <div>{slots.left}</div>
236
+ <div>{slots.center}</div>
237
+ <div>{slots.right}</div>
238
+ </div>
239
+ <div {...mergeAttrs(
240
+ { className: 'date-base-panel-body' },
241
+ slots.bodyAttrs,
242
+ )}>
243
+ {slots.content}
244
+ </div>
245
+ </div>
246
+ );
247
+ }
248
+
249
+ /**
250
+ * 面板中选项渲染
251
+ * @author 韦胜健
252
+ * @date 2022.7.4 14:02
253
+ */
254
+ export function DatePanelItemWrapper(
255
+ {
256
+ Node,
257
+ item,
258
+ onClick,
259
+ onMouseEnter,
260
+ }: {
261
+ Node: any, // 容器节点
262
+ item: DateItemData, // item 数据
263
+ onClick: (item: DateItemData) => void, // 点击item事件处理句柄
264
+ onMouseEnter: (item: DateItemData) => void, // 进入item事件处理句柄
265
+ }) {
266
+
267
+ let listener = {} as any;
268
+ item.clickable && (listener.onClick = () => onClick(item));
269
+ !item.disabled && (listener.onMouseEnter = () => onMouseEnter(item));
270
+
271
+ return React.cloneElement(
272
+ Node,
273
+ mergeAttrs(Node.props, {
274
+ className: `${Node.props.class} ${classnames([
275
+ 'date-base-panel-item',
276
+ {
277
+ 'date-base-panel-item-active': item.active,
278
+ 'date-base-panel-item-now': item.now,
279
+ 'date-base-panel-item-disabled': item.disabled,
280
+ 'date-base-panel-item-hover-start': item.start,
281
+ 'date-base-panel-item-hover': item.hover,
282
+ 'date-base-panel-item-hover-end': item.end,
283
+ 'date-base-panel-item-temp-start': item.tempStart,
284
+ 'date-base-panel-item-temp-end': item.tempEnd,
285
+ 'date-base-panel-item-temp-hover': item.tempHover,
286
+ }
287
+ ])}`,
288
+ ...listener,
289
+ }),
290
+ (
291
+ <div>
292
+ <span>{item.label}</span>
293
+ </div>
294
+ )
295
+ );
296
+ }
297
+
298
+ /**
299
+ * 日期公共工具函数
300
+ * @author 韦胜健
301
+ * @date 2022.7.4 14:02
302
+ */
303
+ export const DateCommonUtils = {
304
+ /*今天*/
305
+ today: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => plainDate(new Date(), { displayFormat, valueFormat }).getDayJs(),
306
+ /*昨天*/
307
+ yesterday: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
308
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
309
+ return today.day(-1);
310
+ },
311
+ /*明天*/
312
+ tomorrow: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
313
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
314
+ return today.day(+1);
315
+ },
316
+ week: {
317
+ start: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
318
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
319
+ return today.startOf('week');
320
+ },
321
+ end: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
322
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
323
+ return today.endOf('week');
324
+ },
325
+ },
326
+ month: {
327
+ start: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
328
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
329
+ return today.startOf('month');
330
+ },
331
+ end: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
332
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
333
+ return today.endOf('month');
334
+ },
335
+ },
336
+ year: {
337
+ start: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
338
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
339
+ return today.startOf('year');
340
+ },
341
+ end: (displayFormat = 'YYYY-MM-DD', valueFormat = 'YYYY-MM-DD') => {
342
+ const today = DateCommonUtils.today(displayFormat, valueFormat);
343
+ return today.endOf('year');
344
+ },
345
+ },
346
+ };
347
+
348
+ /*
349
+ console.log('今天', DateCommonUtils.today().format('YYYY-MM-DD'))
350
+ console.log('明天', DateCommonUtils.tomorrow().format('YYYY-MM-DD'))
351
+ console.log('昨天', DateCommonUtils.yesterday().format('YYYY-MM-DD'))
352
+ console.log('本周第一天', DateCommonUtils.week.start().format('YYYY-MM-DD'))
353
+ console.log('本周最后一天', DateCommonUtils.week.end().format('YYYY-MM-DD'))
354
+ console.log('本月第一天', DateCommonUtils.month.start().format('YYYY-MM-DD'))
355
+ console.log('本月最后一天', DateCommonUtils.month.end().format('YYYY-MM-DD'))
356
+ console.log('本年第一天', DateCommonUtils.year.start().format('YYYY-MM-DD'))
357
+ console.log('本年最后一天', DateCommonUtils.year.end().format('YYYY-MM-DD'))*/
358
+
359
+ /**
360
+ * Date选择器内部钩子
361
+ * @author 韦胜健
362
+ * @date 2022.7.4 14:02
363
+ */
364
+ export const useDatePickerHooks = () => {
365
+ return {
366
+ onRenderInput: createSyncHooks<(content: RenderNode) => void>(),
367
+ };
368
+ };
369
+
370
+ export const DateEmitsOptions = {
371
+ ...DatePublicEmits,
372
+ onBlur: (e: FocusEvent) => true,
373
+ onFocus: (e: FocusEvent) => true,
374
+ } as const;
375
+
376
+ export const DateSlotsOption = ['foot', 'default'] as const;
377
+
378
+ export type tDatePickerHooks = ReturnType<typeof useDatePickerHooks>
379
+
380
+ export type tDateCompositionPublicParams = {
381
+ props: tDatePublicPropsType & { inputAttrs?: any },
382
+ emit: ComponentEvent<typeof DateEmitsOptions>["emit"],
383
+ hooks: tDatePickerHooks,
384
+ slots: tSlotsType<typeof DateSlotsOption>,
385
+ formatString: {
386
+ value: {
387
+ displayFormat: string,
388
+ valueFormat: string,
389
+ }
390
+ },
391
+ getPublicPopperAttrs: () => any,
392
+ editComputed: tEditComputed,
393
+ styleComputed: tStyleComputed,
394
+ getInheritPublicDateAttrs: () => any,
395
+ displayPattern: { value: RegExp },
396
+ today: { value: PDate },
397
+ maxmin: { value: { max: null | PDate, min: null | PDate } },
398
+ }