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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) 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 +1 -0
  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/$configuration/index.tsx +60 -60
  13. package/src/packages/components/$dialog/index.tsx +7 -7
  14. package/src/packages/components/$file/index.tsx +255 -255
  15. package/src/packages/components/$image/index.tsx +7 -7
  16. package/src/packages/components/$loading/index.tsx +3 -3
  17. package/src/packages/components/$message/image.service.utils.tsx +161 -161
  18. package/src/packages/components/$message/index.tsx +7 -7
  19. package/src/packages/components/$notice/index.tsx +7 -7
  20. package/src/packages/components/$object/createObjectService.tsx +217 -217
  21. package/src/packages/components/$object/index.ts +5 -5
  22. package/src/packages/components/$object/object.conver.ts +56 -56
  23. package/src/packages/components/$object/object.service.utils.ts +56 -56
  24. package/src/packages/components/$ov/createOvService.ts +86 -86
  25. package/src/packages/components/$ov/index.tsx +5 -5
  26. package/src/packages/components/$ov/ov.utils.ts +11 -11
  27. package/src/packages/components/$previewer/ImagePreviewerFixedContainer.tsx +108 -108
  28. package/src/packages/components/$previewer/image-previewer-fixed-container.scss +18 -18
  29. package/src/packages/components/$previewer/index.tsx +52 -52
  30. package/src/packages/components/$search/SearchFooter.tsx +32 -32
  31. package/src/packages/components/$search/SearchList.tsx +207 -207
  32. package/src/packages/components/$search/SearchServicePanel.tsx +233 -233
  33. package/src/packages/components/$search/createSearchService.tsx +43 -43
  34. package/src/packages/components/$search/index.tsx +6 -6
  35. package/src/packages/components/$search/search-service.scss +221 -221
  36. package/src/packages/components/$search/search.utils.tsx +112 -112
  37. package/src/packages/components/$upload/createUploadService.tsx +57 -57
  38. package/src/packages/components/$upload/upload.utils.ts +18 -18
  39. package/src/packages/components/Address/index.tsx +138 -138
  40. package/src/packages/components/AddressCascade/address-cascade.utils.ts +44 -44
  41. package/src/packages/components/AddressCascade/createAddressCascade.hooks.ts +9 -9
  42. package/src/packages/components/AddressCascade/createAddressCascade.multiple.tsx +53 -53
  43. package/src/packages/components/AddressCascade/createAddressCascade.single.tsx +75 -75
  44. package/src/packages/components/AddressCascade/index.tsx +59 -59
  45. package/src/packages/components/AiChatBox/ai-chat-box.scss +74 -74
  46. package/src/packages/components/AiChatBox/index.tsx +154 -154
  47. package/src/packages/components/Alert/alert.scss +139 -139
  48. package/src/packages/components/Alert/index.tsx +93 -93
  49. package/src/packages/components/Application/application.scss +16 -16
  50. package/src/packages/components/Application/index.tsx +56 -56
  51. package/src/packages/components/Application/service/createApplicationService.tsx +47 -47
  52. package/src/packages/components/Application/service/createApplicationServiceComponent.tsx +41 -41
  53. package/src/packages/components/Application/service/createApplicationServiceManager.tsx +101 -101
  54. package/src/packages/components/Application/service/useApplicationService.tsx +126 -126
  55. package/src/packages/components/Application/theme/theme.ts +282 -282
  56. package/src/packages/components/Application/theme/theme.utils.ts +17 -17
  57. package/src/packages/components/Application/utils/application.utils.ts +21 -21
  58. package/src/packages/components/Application/utils/createServiceReadyObserver.ts +18 -18
  59. package/src/packages/components/ApplicationConfigurationProvider/index.tsx +5 -5
  60. package/src/packages/components/ArrowStep/index.tsx +73 -73
  61. package/src/packages/components/ArrowStepGroup/arrow-step.scss +119 -119
  62. package/src/packages/components/ArrowStepGroup/index.tsx +63 -63
  63. package/src/packages/components/AsyncFormatter/index.tsx +1 -1
  64. package/src/packages/components/AutoLoadingObserver/index.tsx +173 -173
  65. package/src/packages/components/AutoTable/AutoTable.tsx +56 -56
  66. package/src/packages/components/AutoTable/auto-table.scss +463 -463
  67. package/src/packages/components/AutoTable/createTableOptionUser.tsx +77 -77
  68. package/src/packages/components/AutoTable/filter/useTableOption.filter.form.tsx +217 -217
  69. package/src/packages/components/AutoTable/filter/useTableOption.filter.search.tsx +168 -168
  70. package/src/packages/components/AutoTable/filter/useTableOption.filter.state.ts +196 -196
  71. package/src/packages/components/AutoTable/index.tsx +4 -4
  72. package/src/packages/components/AutoTable/setting/useTableOption.setting.all.fitler.tsx +79 -79
  73. package/src/packages/components/AutoTable/setting/useTableOption.setting.cache.tsx +145 -145
  74. package/src/packages/components/AutoTable/setting/useTableOption.setting.config.tsx +260 -260
  75. package/src/packages/components/AutoTable/setting/useTableOption.setting.export.tsx +283 -283
  76. package/src/packages/components/AutoTable/setting/useTableOption.setting.import.tsx +100 -100
  77. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.filter.tsx +385 -385
  78. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.sort.tsx +123 -123
  79. package/src/packages/components/AutoTable/setting/useTableOption.setting.tsx +109 -109
  80. package/src/packages/components/AutoTable/setting/useTableOption.setting.utils.ts +40 -40
  81. package/src/packages/components/AutoTable/use/useTableOption.buttons.tsx +249 -249
  82. package/src/packages/components/AutoTable/use/useTableOption.cache.ts +235 -235
  83. package/src/packages/components/AutoTable/use/useTableOption.cache.utils.ts +83 -83
  84. package/src/packages/components/AutoTable/use/useTableOption.check.tsx +80 -80
  85. package/src/packages/components/AutoTable/use/useTableOption.column.popper.tsx +491 -491
  86. package/src/packages/components/AutoTable/use/useTableOption.confirm.tsx +122 -122
  87. package/src/packages/components/AutoTable/use/useTableOption.fill.tsx +153 -153
  88. package/src/packages/components/AutoTable/use/useTableOption.hooks.tsx +142 -142
  89. package/src/packages/components/AutoTable/use/useTableOption.loading.tsx +77 -77
  90. package/src/packages/components/AutoTable/use/useTableOption.methods.tsx +515 -515
  91. package/src/packages/components/AutoTable/use/useTableOption.pagination.tsx +191 -191
  92. package/src/packages/components/AutoTable/use/useTableOption.parent.tsx +134 -134
  93. package/src/packages/components/AutoTable/use/useTableOption.permission.tsx +16 -16
  94. package/src/packages/components/AutoTable/use/useTableOption.render.tsx +34 -34
  95. package/src/packages/components/AutoTable/use/useTableOption.sort.ts +198 -198
  96. package/src/packages/components/AutoTable/use/useTableOption.state.tsx +31 -31
  97. package/src/packages/components/AutoTable/use/useTableOption.table.tsx +87 -87
  98. package/src/packages/components/AutoTable/use/useTableOption.tips.tsx +87 -87
  99. package/src/packages/components/AutoTable/use/useTableOptionKeyboard.tsx +111 -111
  100. package/src/packages/components/AutoTable/utils/AutoModule.ts +10 -10
  101. package/src/packages/components/AutoTable/utils/AutoTable.utils.ts +120 -120
  102. package/src/packages/components/AutoTable/utils/TableOption.space.tsx +203 -203
  103. package/src/packages/components/AutoTable/utils/TableOption.url.ts +153 -153
  104. package/src/packages/components/AutoTable/utils/TableOption.utils.tsx +57 -57
  105. package/src/packages/components/AutoTable/utils/buildPlainDefaultUrlConfig.ts +134 -134
  106. package/src/packages/components/AutoWidthInput/auto-width-input.scss +25 -25
  107. package/src/packages/components/AutoWidthInput/index.tsx +67 -67
  108. package/src/packages/components/Badge/badge.scss +71 -71
  109. package/src/packages/components/Badge/index.tsx +52 -52
  110. package/src/packages/components/Box/box.scss +6 -6
  111. package/src/packages/components/Box/index.tsx +2 -1
  112. package/src/packages/components/Button/button.scss +203 -203
  113. package/src/packages/components/Button/index.tsx +213 -213
  114. package/src/packages/components/ButtonGroup/button-group.scss +73 -73
  115. package/src/packages/components/ButtonGroup/index.tsx +43 -43
  116. package/src/packages/components/Card/card.scss +122 -122
  117. package/src/packages/components/Card/index.tsx +74 -74
  118. package/src/packages/components/Carousel/carousel.scss +391 -391
  119. package/src/packages/components/Carousel/index.tsx +591 -591
  120. package/src/packages/components/CarouselItem/index.tsx +77 -77
  121. package/src/packages/components/Cascade/CascadeKeys.tsx +158 -158
  122. package/src/packages/components/Cascade/cascade.scss +111 -111
  123. package/src/packages/components/Cascade/cascade.utils.ts +68 -68
  124. package/src/packages/components/Cascade/createCascadeHooks.ts +12 -12
  125. package/src/packages/components/Cascade/createCascadePopper.tsx +120 -120
  126. package/src/packages/components/Cascade/createCascadeUtils.ts +15 -15
  127. package/src/packages/components/Cascade/createMultipleCascadeRender.tsx +156 -156
  128. package/src/packages/components/Cascade/createSingleCascadeRender.tsx +175 -175
  129. package/src/packages/components/Cascade/index.tsx +106 -106
  130. package/src/packages/components/CascadeKeys/index.tsx +5 -5
  131. package/src/packages/components/CascadePanel/cascade-panel.utils.ts +90 -90
  132. package/src/packages/components/CascadePanel/flat/CascadeFlatPanelNode.tsx +56 -56
  133. package/src/packages/components/CascadePanel/flat/cascade-flat-panel.scss +133 -133
  134. package/src/packages/components/CascadePanel/flat/createCascadeFlatRender.tsx +87 -87
  135. package/src/packages/components/CascadePanel/index.tsx +208 -208
  136. package/src/packages/components/CascadePanel/list/CascadeListPanelItem.tsx +93 -93
  137. package/src/packages/components/CascadePanel/list/CascadeListPanelNode.tsx +69 -69
  138. package/src/packages/components/CascadePanel/list/createCascadeListRender.tsx +31 -31
  139. package/src/packages/components/Checkbox/checkbox.scss +77 -77
  140. package/src/packages/components/Checkbox/index.tsx +141 -141
  141. package/src/packages/components/CheckboxGroup/index.tsx +205 -205
  142. package/src/packages/components/CheckboxInner/checkbox-inner.scss +55 -55
  143. package/src/packages/components/CheckboxInner/index.tsx +34 -34
  144. package/src/packages/components/ClientZoom/index.ts +5 -5
  145. package/src/packages/components/Collapse/collapse.scss +44 -44
  146. package/src/packages/components/Collapse/index.tsx +94 -94
  147. package/src/packages/components/CollapseGroup/index.tsx +70 -70
  148. package/src/packages/components/CollapseTransition/index.tsx +184 -184
  149. package/src/packages/components/ColorPicker/color-picker.scss +64 -64
  150. package/src/packages/components/ColorPicker/sub/ColorAlphaSlider.tsx +43 -43
  151. package/src/packages/components/ColorPicker/sub/ColorHueSlider.tsx +17 -17
  152. package/src/packages/components/ColorPicker/sub/ColorSlider.tsx +163 -163
  153. package/src/packages/components/ColorPicker/sub/ColorSvPanel.tsx +125 -125
  154. package/src/packages/components/ColorPicker/sub/color-alpha-slider.scss +8 -8
  155. package/src/packages/components/ColorPicker/sub/color-hue-slider.scss +3 -3
  156. package/src/packages/components/ColorPicker/sub/color-slider.scss +22 -22
  157. package/src/packages/components/ColorPicker/sub/color-sv-panel.scss +55 -55
  158. package/src/packages/components/ColorPicker/useColorPanelEditor.tsx +119 -119
  159. package/src/packages/components/ColorPicker/useColorPanelHistory.tsx +51 -51
  160. package/src/packages/components/ColorPicker/utils/PlainColor.ts +70 -70
  161. package/src/packages/components/ColorPicker/utils/color-picker.utils.tsx +27 -27
  162. package/src/packages/components/ConfirmPopup/confirm-popup.scss +16 -16
  163. package/src/packages/components/ConfirmPopup/index.tsx +72 -72
  164. package/src/packages/components/Corner/corner.scss +14 -14
  165. package/src/packages/components/Corner/index.tsx +80 -80
  166. package/src/packages/components/DatePicker/createDateRender.multiple.tsx +189 -189
  167. package/src/packages/components/DatePicker/createDateRender.single.tsx +169 -169
  168. package/src/packages/components/DatePicker/createRangeDateRender.range.tsx +114 -114
  169. package/src/packages/components/DatePicker/createRangeDateRender.separate.tsx +120 -120
  170. package/src/packages/components/DatePicker/date.mixin.scss +73 -73
  171. package/src/packages/components/DatePicker/date.scss +542 -542
  172. package/src/packages/components/DatePicker/date.utils.tsx +398 -398
  173. package/src/packages/components/DatePicker/index.tsx +84 -84
  174. package/src/packages/components/DatePicker/panel/DatePanel.tsx +99 -99
  175. package/src/packages/components/DatePicker/panel/DatePanelDate.tsx +278 -278
  176. package/src/packages/components/DatePicker/panel/DatePanelMonth.tsx +190 -190
  177. package/src/packages/components/DatePicker/panel/DatePanelQuarter.tsx +50 -50
  178. package/src/packages/components/DatePicker/panel/DatePanelRange.tsx +146 -146
  179. package/src/packages/components/DatePicker/panel/DatePanelWeek.tsx +52 -52
  180. package/src/packages/components/DatePicker/panel/DatePanelYear.tsx +100 -100
  181. package/src/packages/components/DatePicker/panel/useDatePanel.tsx +618 -618
  182. package/src/packages/components/DatePicker/panel/useDateWeek.tsx +153 -153
  183. package/src/packages/components/DatePicker/useRangeDateRender.tsx +318 -318
  184. package/src/packages/components/Dialog/dialog.scss +261 -261
  185. package/src/packages/components/Dialog/index.tsx +439 -439
  186. package/src/packages/components/Dialog/useDialogMovable.tsx +72 -72
  187. package/src/packages/components/Dialog/utils/dialog.mouse.ts +16 -16
  188. package/src/packages/components/Dialog/utils/dialog.utils.ts +10 -10
  189. package/src/packages/components/Dropdown/dropdown.public.scss +94 -94
  190. package/src/packages/components/Dropdown/dropdown.scss +13 -13
  191. package/src/packages/components/Dropdown/dropdown.utils.tsx +108 -108
  192. package/src/packages/components/Dropdown/index.tsx +174 -174
  193. package/src/packages/components/DropdownGroup/index.tsx +18 -18
  194. package/src/packages/components/DropdownOption/index.tsx +74 -74
  195. package/src/packages/components/DropdownSeparator/index.tsx +8 -8
  196. package/src/packages/components/Empty/empty.scss +14 -14
  197. package/src/packages/components/Empty/index.tsx +48 -48
  198. package/src/packages/components/FilterFormMultiple/filter-form-multiple.scss +36 -36
  199. package/src/packages/components/FilterFormMultiple/index.tsx +288 -288
  200. package/src/packages/components/FilterFormSingle/index.tsx +178 -178
  201. package/src/packages/components/FilterService/filter/filter.city.tsx +85 -85
  202. package/src/packages/components/FilterService/filter/filter.date.tsx +85 -85
  203. package/src/packages/components/FilterService/filter/filter.datetime.tsx +68 -68
  204. package/src/packages/components/FilterService/filter/filter.district.tsx +86 -86
  205. package/src/packages/components/FilterService/filter/filter.number.tsx +66 -66
  206. package/src/packages/components/FilterService/filter/filter.province.tsx +91 -91
  207. package/src/packages/components/FilterService/filter/filter.select.tsx +67 -67
  208. package/src/packages/components/FilterService/filter/filter.text.tsx +57 -57
  209. package/src/packages/components/FilterService/filter/fitler.object.tsx +115 -115
  210. package/src/packages/components/FilterService/index.tsx +250 -250
  211. package/src/packages/components/FilterService/utils/filter.service.utils.ts +138 -138
  212. package/src/packages/components/FilterService/utils/mergeQueryParam.ts +80 -80
  213. package/src/packages/components/Form/form.scss +256 -256
  214. package/src/packages/components/Form/index.tsx +74 -74
  215. package/src/packages/components/Form/layout/useFormLayout.tsx +332 -332
  216. package/src/packages/components/Form/types/any.tsx +54 -54
  217. package/src/packages/components/Form/types/array.tsx +55 -55
  218. package/src/packages/components/Form/types/arrayjson.tsx +15 -15
  219. package/src/packages/components/Form/types/arraystring.tsx +15 -15
  220. package/src/packages/components/Form/types/date.tsx +72 -72
  221. package/src/packages/components/Form/types/datetime.tsx +8 -8
  222. package/src/packages/components/Form/types/email.tsx +11 -11
  223. package/src/packages/components/Form/types/idcard.tsx +13 -13
  224. package/src/packages/components/Form/types/number.tsx +59 -59
  225. package/src/packages/components/Form/types/phone.tsx +11 -11
  226. package/src/packages/components/Form/types/qq.tsx +11 -11
  227. package/src/packages/components/Form/types/string.tsx +68 -68
  228. package/src/packages/components/Form/types/time.tsx +8 -8
  229. package/src/packages/components/Form/validate/createValidation.tsx +278 -278
  230. package/src/packages/components/Form/validate/useFormItemValidation.tsx +122 -122
  231. package/src/packages/components/Form/validate/useFormValidation.tsx +137 -137
  232. package/src/packages/components/Form/validate/validate.utils.tsx +439 -439
  233. package/src/packages/components/FormCascade/index.tsx +6 -6
  234. package/src/packages/components/FormCheckbox/index.tsx +6 -6
  235. package/src/packages/components/FormCheckboxGroup/index.tsx +6 -6
  236. package/src/packages/components/FormColorPicker/index.tsx +6 -6
  237. package/src/packages/components/FormDatePicker/index.tsx +6 -6
  238. package/src/packages/components/FormInput/index.tsx +6 -6
  239. package/src/packages/components/FormInputNumber/index.tsx +6 -6
  240. package/src/packages/components/FormItem/FormItemValidateMessage.tsx +16 -16
  241. package/src/packages/components/FormItem/createFormEditor.tsx +87 -87
  242. package/src/packages/components/FormItem/index.tsx +134 -134
  243. package/src/packages/components/FormRadio/index.tsx +6 -6
  244. package/src/packages/components/FormRadioGroup/index.tsx +6 -6
  245. package/src/packages/components/FormRate/index.tsx +6 -6
  246. package/src/packages/components/FormSelect/index.tsx +6 -6
  247. package/src/packages/components/FormSlider/index.tsx +6 -6
  248. package/src/packages/components/FormTimePicker/index.tsx +6 -6
  249. package/src/packages/components/FormToggle/index.tsx +6 -6
  250. package/src/packages/components/Formatter/index.tsx +64 -64
  251. package/src/packages/components/Grid/GridCol.tsx +73 -73
  252. package/src/packages/components/Grid/GridRow.tsx +91 -91
  253. package/src/packages/components/Grid/grid.scss +109 -109
  254. package/src/packages/components/Grid/grid.utils.ts +21 -21
  255. package/src/packages/components/GridCol/index.tsx +5 -5
  256. package/src/packages/components/GridRow/index.tsx +5 -5
  257. package/src/packages/components/Icon/icon.registry.tsx +21 -21
  258. package/src/packages/components/Icon/icon.scss +12 -12
  259. package/src/packages/components/IconPicker/DefaultIcons.ts +7 -0
  260. package/src/packages/components/IconPicker/icon-picker.scss +43 -0
  261. package/src/packages/components/IconPicker/index.tsx +189 -0
  262. package/src/packages/components/Illustration/index.tsx +28 -28
  263. package/src/packages/components/Image/image.scss +334 -334
  264. package/src/packages/components/Image/index.tsx +168 -168
  265. package/src/packages/components/ImagePreviewer/ImagePreviewer.tsx +574 -574
  266. package/src/packages/components/ImagePreviewer/ImagePreviewerButtonBar.tsx +140 -140
  267. package/src/packages/components/ImagePreviewer/ImagePreviewerCarouselImage.tsx +54 -54
  268. package/src/packages/components/ImagePreviewer/ImagePreviewerGallery.tsx +202 -202
  269. package/src/packages/components/ImagePreviewer/PreviewerLoading.tsx +26 -26
  270. package/src/packages/components/ImagePreviewer/image-previewer.scss +244 -244
  271. package/src/packages/components/ImagePreviewer/image-previewer.utils.tsx +136 -136
  272. package/src/packages/components/ImagePreviewer/index.tsx +5 -5
  273. package/src/packages/components/ImagePreviewer/previewer-loading.scss +52 -52
  274. package/src/packages/components/ImageUploader/index.tsx +242 -242
  275. package/src/packages/components/Input/index.scss +446 -446
  276. package/src/packages/components/Input/index.tsx +153 -153
  277. package/src/packages/components/Input/input.utils.ts +119 -119
  278. package/src/packages/components/Input/useMultipleInput.tsx +126 -126
  279. package/src/packages/components/Input/useSingleInput.tsx +45 -45
  280. package/src/packages/components/Input/useSuggestionInput.tsx +218 -218
  281. package/src/packages/components/Input/useTextareaInput.tsx +155 -155
  282. package/src/packages/components/Input/uses/useInputEnterHandler.tsx +83 -83
  283. package/src/packages/components/Input/uses/useInputHooks.tsx +21 -21
  284. package/src/packages/components/Input/uses/useInputMaxLength.tsx +35 -35
  285. package/src/packages/components/Input/uses/useInputSuffixIcon.tsx +67 -67
  286. package/src/packages/components/InputGroup/index.tsx +31 -31
  287. package/src/packages/components/InputGroup/input-group.scss +46 -46
  288. package/src/packages/components/InputNumber/NumberResize.tsx +111 -111
  289. package/src/packages/components/InputNumber/index.tsx +36 -36
  290. package/src/packages/components/InputNumber/input-number.utils.tsx +96 -96
  291. package/src/packages/components/InputNumber/number.scss +95 -95
  292. package/src/packages/components/InputNumber/number.utils.ts +3 -3
  293. package/src/packages/components/InputNumber/useInputNumber.multiple.tsx +121 -121
  294. package/src/packages/components/InputNumber/useInputNumber.public.tsx +478 -478
  295. package/src/packages/components/InputNumber/useInputNumber.single.tsx +137 -137
  296. package/src/packages/components/KeepAlive/KeepAliveCacheItemWrapper.tsx +114 -114
  297. package/src/packages/components/KeepAlive/index.tsx +77 -77
  298. package/src/packages/components/KeepAlive/utils/keepalive.utils.ts +33 -33
  299. package/src/packages/components/Layout/index.tsx +38 -38
  300. package/src/packages/components/Layout/layout.scss +247 -247
  301. package/src/packages/components/Layout/layout.utils.ts +3 -3
  302. package/src/packages/components/LayoutSection/index.tsx +76 -76
  303. package/src/packages/components/LayoutSection/useLayoutSectionResizer.tsx +184 -184
  304. package/src/packages/components/List/index.tsx +74 -74
  305. package/src/packages/components/List/list.scss +3 -3
  306. package/src/packages/components/ListOption/index.tsx +20 -20
  307. package/src/packages/components/ListPanel/index.tsx +30 -30
  308. package/src/packages/components/ListPanel/list-panel.scss +20 -20
  309. package/src/packages/components/Loading/index.tsx +27 -27
  310. package/src/packages/components/Loading/loading.scss +7 -7
  311. package/src/packages/components/LoadingMask/index.tsx +101 -101
  312. package/src/packages/components/LoadingMask/loading-mask.scss +34 -34
  313. package/src/packages/components/NumberRange/index.tsx +93 -93
  314. package/src/packages/components/Object/createObjectHooks.tsx +13 -13
  315. package/src/packages/components/Object/createObjectRender.multiple.tsx +289 -289
  316. package/src/packages/components/Object/createObjectRender.single.tsx +219 -219
  317. package/src/packages/components/Object/index.tsx +104 -104
  318. package/src/packages/components/Object/object.scss +24 -24
  319. package/src/packages/components/Object/object.utils.ts +56 -56
  320. package/src/packages/components/OuterOperation/index.tsx +5 -5
  321. package/src/packages/components/Ov/index.tsx +23 -23
  322. package/src/packages/components/Ov/ov.utils.ts +9 -9
  323. package/src/packages/components/Ov/usePublicOv.tsx +35 -35
  324. package/src/packages/components/PageCard/index.tsx +48 -48
  325. package/src/packages/components/PageCard/page-card.scss +124 -124
  326. package/src/packages/components/PageCardContent/index.tsx +44 -44
  327. package/src/packages/components/PageCardTitle/index.tsx +51 -51
  328. package/src/packages/components/PageRenderList/index.tsx +22 -22
  329. package/src/packages/components/PageThemeUtils/deepmerge.ts +21 -21
  330. package/src/packages/components/PageThemeUtils/index.tsx +262 -262
  331. package/src/packages/components/Pagination/index.tsx +339 -339
  332. package/src/packages/components/Pagination/pagination.scss +126 -126
  333. package/src/packages/components/Paragraph/index.tsx +46 -46
  334. package/src/packages/components/Paragraph/paragraph.scss +12 -12
  335. package/src/packages/components/ParagraphItem/index.tsx +21 -21
  336. package/src/packages/components/Plc/index.tsx +4 -4
  337. package/src/packages/components/PlcAddress/index.tsx +4 -4
  338. package/src/packages/components/PlcAddressItem/index.tsx +4 -4
  339. package/src/packages/components/PlcCheck/index.tsx +5 -5
  340. package/src/packages/components/PlcCheckbox/index.tsx +4 -4
  341. package/src/packages/components/PlcColorPicker/index.tsx +4 -4
  342. package/src/packages/components/PlcDate/index.tsx +4 -4
  343. package/src/packages/components/PlcDateRange/index.tsx +4 -4
  344. package/src/packages/components/PlcDraggier/index.tsx +5 -5
  345. package/src/packages/components/PlcExpand/index.tsx +5 -5
  346. package/src/packages/components/PlcGroup/index.tsx +4 -4
  347. package/src/packages/components/PlcImage/index.tsx +86 -86
  348. package/src/packages/components/PlcIndex/index.tsx +5 -5
  349. package/src/packages/components/PlcInput/index.tsx +4 -4
  350. package/src/packages/components/PlcNumber/index.tsx +4 -4
  351. package/src/packages/components/PlcObject/index.tsx +53 -53
  352. package/src/packages/components/PlcOperation/index.tsx +5 -5
  353. package/src/packages/components/PlcOv/index.tsx +31 -31
  354. package/src/packages/components/PlcRate/index.tsx +4 -4
  355. package/src/packages/components/PlcSelect/index.tsx +4 -4
  356. package/src/packages/components/PlcTextarea/index.tsx +4 -4
  357. package/src/packages/components/PlcTime/index.tsx +4 -4
  358. package/src/packages/components/PlcTimeRange/index.tsx +4 -4
  359. package/src/packages/components/PlcToggle/index.tsx +4 -4
  360. package/src/packages/components/PlcTree/index.tsx +5 -5
  361. package/src/packages/components/Popup/PopupProvider.tsx +20 -20
  362. package/src/packages/components/Popup/index.tsx +403 -403
  363. package/src/packages/components/Popup/popup.scss +13 -13
  364. package/src/packages/components/ProgressBar/index.tsx +87 -87
  365. package/src/packages/components/ProgressBar/progress-bar.scss +40 -40
  366. package/src/packages/components/ProgressBar/progress.utils.ts +24 -24
  367. package/src/packages/components/ProgressCircle/index.tsx +188 -188
  368. package/src/packages/components/ProgressCircle/progress-circle.scss +44 -44
  369. package/src/packages/components/ProgressMini/index.tsx +98 -98
  370. package/src/packages/components/ProgressMini/progress-mini.scss +17 -17
  371. package/src/packages/components/Radio/index.tsx +137 -137
  372. package/src/packages/components/Radio/radio.scss +79 -79
  373. package/src/packages/components/RadioGroup/index.tsx +62 -62
  374. package/src/packages/components/RadioInner/index.tsx +31 -31
  375. package/src/packages/components/RadioInner/radio-inner.scss +17 -17
  376. package/src/packages/components/Rate/index.tsx +152 -152
  377. package/src/packages/components/Rate/rate.scss +32 -32
  378. package/src/packages/components/Reference/ReferenceProvider.tsx +13 -13
  379. package/src/packages/components/Reference/index.tsx +57 -57
  380. package/src/packages/components/RollingNumber/index.tsx +66 -66
  381. package/src/packages/components/Scroll/HorizontalScrollbar.tsx +96 -96
  382. package/src/packages/components/Scroll/VerticalScrollbar.tsx +102 -102
  383. package/src/packages/components/Scroll/index.tsx +419 -419
  384. package/src/packages/components/Scroll/scroll.scss +168 -168
  385. package/src/packages/components/Scroll/useAutoScroll.ts +68 -68
  386. package/src/packages/components/Segment/index.tsx +39 -39
  387. package/src/packages/components/Segment/segment.scss +46 -46
  388. package/src/packages/components/SegmentGroup/index.tsx +48 -48
  389. package/src/packages/components/Select/SelectPanel.tsx +78 -78
  390. package/src/packages/components/Select/createMultipleSelectRender.tsx +248 -248
  391. package/src/packages/components/Select/createPublicSelectRender.tsx +411 -411
  392. package/src/packages/components/Select/createSelectOptionDecoder.tsx +43 -43
  393. package/src/packages/components/Select/createSingleSelectRender.tsx +133 -133
  394. package/src/packages/components/Select/decodeSelectRenderNode.tsx +52 -52
  395. package/src/packages/components/Select/index.tsx +97 -97
  396. package/src/packages/components/Select/select.scss +101 -101
  397. package/src/packages/components/Select/select.utils.tsx +248 -248
  398. package/src/packages/components/SelectDisplay/index.tsx +30 -30
  399. package/src/packages/components/SelectGroup/index.tsx +37 -37
  400. package/src/packages/components/SelectOption/index.tsx +72 -72
  401. package/src/packages/components/Slider/index.tsx +123 -123
  402. package/src/packages/components/Slider/slider.scss +128 -128
  403. package/src/packages/components/Slider/slider.utils.tsx +71 -71
  404. package/src/packages/components/Slider/useSlider.range.tsx +211 -211
  405. package/src/packages/components/Slider/useSlider.single.tsx +148 -148
  406. package/src/packages/components/Slider/useSliderDotDragier.tsx +66 -66
  407. package/src/packages/components/SortList/index.tsx +191 -191
  408. package/src/packages/components/SortList/sort-list.scss +11 -11
  409. package/src/packages/components/Space/index.tsx +36 -36
  410. package/src/packages/components/Space/space.scss +39 -39
  411. package/src/packages/components/StackCard/index.tsx +416 -416
  412. package/src/packages/components/StackCard/stack-card.scss +40 -40
  413. package/src/packages/components/StackCardItem/index.tsx +24 -24
  414. package/src/packages/components/Step/index.tsx +120 -120
  415. package/src/packages/components/StepGroup/index.tsx +63 -63
  416. package/src/packages/components/StepGroup/step-group.scss +411 -411
  417. package/src/packages/components/StepGroup/step.utils.ts +44 -44
  418. package/src/packages/components/Tab/index.tsx +42 -42
  419. package/src/packages/components/TabGroup/TabsHeader.tsx +105 -105
  420. package/src/packages/components/TabGroup/TabsInner.tsx +60 -60
  421. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontal.tsx +94 -94
  422. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalCard.tsx +15 -15
  423. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalShadow.tsx +15 -15
  424. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalText.tsx +66 -66
  425. package/src/packages/components/TabGroup/header/horizontal/tabs-header-card.scss +85 -85
  426. package/src/packages/components/TabGroup/header/horizontal/tabs-header-horizontal.scss +59 -59
  427. package/src/packages/components/TabGroup/header/horizontal/tabs-header-shadow.scss +88 -88
  428. package/src/packages/components/TabGroup/header/horizontal/tabs-header-text.scss +50 -50
  429. package/src/packages/components/TabGroup/header/vertical/TabsHeaderVertical.tsx +24 -24
  430. package/src/packages/components/TabGroup/header/vertical/tabs-header-vertical.scss +116 -116
  431. package/src/packages/components/TabGroup/index.tsx +131 -131
  432. package/src/packages/components/TabGroup/tabs.scss +62 -62
  433. package/src/packages/components/TabGroup/tabs.utils.tsx +22 -22
  434. package/src/packages/components/Table/editor/PlcAddress.tsx +91 -91
  435. package/src/packages/components/Table/editor/PlcAddressItem.tsx +60 -60
  436. package/src/packages/components/Table/editor/PlcCheckbox.tsx +36 -36
  437. package/src/packages/components/Table/editor/PlcColorPicker.tsx +29 -29
  438. package/src/packages/components/Table/editor/PlcDate.tsx +97 -97
  439. package/src/packages/components/Table/editor/PlcDate.utils.tsx +45 -45
  440. package/src/packages/components/Table/editor/PlcDateRange.tsx +73 -73
  441. package/src/packages/components/Table/editor/PlcInput.tsx +21 -21
  442. package/src/packages/components/Table/editor/PlcNumber.tsx +23 -23
  443. package/src/packages/components/Table/editor/PlcRate.tsx +24 -24
  444. package/src/packages/components/Table/editor/PlcSelect.tsx +181 -181
  445. package/src/packages/components/Table/editor/PlcTextarea.tsx +22 -22
  446. package/src/packages/components/Table/editor/PlcTime.tsx +54 -54
  447. package/src/packages/components/Table/editor/PlcTime.utils.ts +15 -15
  448. package/src/packages/components/Table/editor/PlcTimeRange.tsx +66 -66
  449. package/src/packages/components/Table/editor/PlcToggle.tsx +40 -40
  450. package/src/packages/components/Table/index.tsx +4 -4
  451. package/src/packages/components/Table/plc/formatPlcList.tsx +92 -92
  452. package/src/packages/components/Table/plc/group/PlcGroup.tsx +20 -20
  453. package/src/packages/components/Table/plc/plc/Plc.tsx +19 -19
  454. package/src/packages/components/Table/plc/process/copyPlcList.ts +23 -23
  455. package/src/packages/components/Table/plc/process/getPltCellClass.ts +8 -8
  456. package/src/packages/components/Table/plc/process/processAutoFixed.ts +73 -73
  457. package/src/packages/components/Table/plc/process/processHeadPlcList.ts +110 -110
  458. package/src/packages/components/Table/plc/process/processPlcClassAndStyle.ts +43 -43
  459. package/src/packages/components/Table/plc/process/processPlcFixed.ts +81 -81
  460. package/src/packages/components/Table/plc/process/processPlcSort.ts +91 -91
  461. package/src/packages/components/Table/plc/use/useBasePlc.tsx +85 -85
  462. package/src/packages/components/Table/plc/use/useBasePlcGroup.tsx +70 -70
  463. package/src/packages/components/Table/plc/use/usePlc.tsx +136 -136
  464. package/src/packages/components/Table/plc/use/usePlcPropsState.tsx +112 -112
  465. package/src/packages/components/Table/plc/use/useTableAutoSpan.tsx +112 -112
  466. package/src/packages/components/Table/plc/useTablePlc.tsx +229 -229
  467. package/src/packages/components/Table/plc/utils/iteratePlcList.tsx +48 -48
  468. package/src/packages/components/Table/plc/utils/plc.render.ts +122 -122
  469. package/src/packages/components/Table/plc/utils/plc.scope-slots.ts +63 -63
  470. package/src/packages/components/Table/plc/utils/plc.utils.ts +302 -302
  471. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.hooks.tsx +16 -16
  472. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.multiple.tsx +280 -280
  473. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.single.tsx +89 -89
  474. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.tsx +61 -61
  475. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.utils.ts +35 -35
  476. package/src/packages/components/Table/standard/PlcDraggier/PlcDraggier.tsx +55 -55
  477. package/src/packages/components/Table/standard/PlcExclusion.tsx +26 -26
  478. package/src/packages/components/Table/standard/PlcExpand.tsx +204 -204
  479. package/src/packages/components/Table/standard/PlcIndex.tsx +34 -34
  480. package/src/packages/components/Table/standard/PlcOperation/OuterOperation.tsx +210 -210
  481. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.tsx +391 -391
  482. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.utils.tsx +159 -159
  483. package/src/packages/components/Table/standard/PlcOperation/outer-operation.scss +39 -39
  484. package/src/packages/components/Table/standard/PlcOperation/useOperationPermission.ts +53 -53
  485. package/src/packages/components/Table/standard/PlcTree/PlcTree.autoWidth.tsx +52 -52
  486. package/src/packages/components/Table/standard/PlcTree/PlcTree.renderNode.tsx +81 -81
  487. package/src/packages/components/Table/standard/PlcTree/PlcTree.tsx +194 -194
  488. package/src/packages/components/Table/standard/PlcTree/PlcTree.utils.ts +59 -59
  489. package/src/packages/components/Table/standard/PlcTree/PlcTreeHeader.tsx +64 -64
  490. package/src/packages/components/Table/standard/PlcTree/RenderPlcTreeNode.tsx +114 -114
  491. package/src/packages/components/Table/table/Table.tsx +382 -382
  492. package/src/packages/components/Table/table/body/cell.tsx +310 -310
  493. package/src/packages/components/Table/table/body/row.tsx +47 -47
  494. package/src/packages/components/Table/table/body/useCellValue.tsx +145 -145
  495. package/src/packages/components/Table/table/head/head-cell.tsx +100 -100
  496. package/src/packages/components/Table/table/head/useHeadCellResize.ts +79 -79
  497. package/src/packages/components/Table/table/node/useTableNode.tsx +66 -66
  498. package/src/packages/components/Table/table/table.scss +438 -438
  499. package/src/packages/components/Table/table/use/useFixedShadow.ts +48 -48
  500. package/src/packages/components/Table/table/use/useTableDraggier.col.tsx +639 -639
  501. package/src/packages/components/Table/table/use/useTableDraggier.row.tsx +279 -279
  502. package/src/packages/components/Table/table/use/useTableDraggier.tsx +237 -237
  503. package/src/packages/components/Table/table/use/useTableFormEditor.tsx +190 -190
  504. package/src/packages/components/Table/table/use/useTableLoading.tsx +39 -39
  505. package/src/packages/components/Table/table/use/useTableMethods.tsx +65 -65
  506. package/src/packages/components/Table/table/use/useTableModifyEditor.tsx +204 -204
  507. package/src/packages/components/Table/table/use/useTableScroll.tsx +49 -49
  508. package/src/packages/components/Table/table/utils/createTableHooks.ts +70 -70
  509. package/src/packages/components/Table/table/utils/table.utils.ts +286 -286
  510. package/src/packages/components/Table/table/utils/url.utils.ts +23 -23
  511. package/src/packages/components/TableOptionSpace/index.ts +5 -5
  512. package/src/packages/components/TableOptionUtils/index.ts +5 -5
  513. package/src/packages/components/Tag/tag.utils.ts +20 -20
  514. package/src/packages/components/ThemeColor/index.tsx +22 -22
  515. package/src/packages/components/ThemeColor/theme-color.scss +36 -36
  516. package/src/packages/components/ThemeColorSelector/index.tsx +53 -53
  517. package/src/packages/components/ThemeDarkSelector/index.tsx +37 -37
  518. package/src/packages/components/ThemeEditor/index.tsx +199 -199
  519. package/src/packages/components/ThemeEditor/theme-editor.scss +106 -106
  520. package/src/packages/components/ThemeLocaleSelector/index.tsx +41 -41
  521. package/src/packages/components/ThemePrimaryColors/index.ts +5 -5
  522. package/src/packages/components/ThemeShapeSelector/index.tsx +55 -55
  523. package/src/packages/components/ThemeSizeSelector/index.tsx +50 -50
  524. package/src/packages/components/TimePicker/createRangeTimeRender.tsx +80 -80
  525. package/src/packages/components/TimePicker/createSeparateRangeTimeRender.tsx +104 -104
  526. package/src/packages/components/TimePicker/createSingleTimeRender.tsx +202 -202
  527. package/src/packages/components/TimePicker/index.tsx +65 -65
  528. package/src/packages/components/TimePicker/panel/TimeBaseColumn.tsx +136 -136
  529. package/src/packages/components/TimePicker/panel/TimeBasePanel.tsx +172 -172
  530. package/src/packages/components/TimePicker/panel/TimePanel.tsx +94 -94
  531. package/src/packages/components/TimePicker/panel/TimeRangePanel.tsx +141 -141
  532. package/src/packages/components/TimePicker/panel/time-base-column.scss +51 -51
  533. package/src/packages/components/TimePicker/panel/time-base-panel.scss +39 -39
  534. package/src/packages/components/TimePicker/panel/time-panel.utils.ts +16 -16
  535. package/src/packages/components/TimePicker/panel/time-range-panel.scss +9 -9
  536. package/src/packages/components/TimePicker/time.scss +10 -10
  537. package/src/packages/components/TimePicker/time.utils.ts +100 -100
  538. package/src/packages/components/TimePicker/useRangeTimeRender.tsx +236 -236
  539. package/src/packages/components/TimePicker/useTimeHooks.ts +11 -11
  540. package/src/packages/components/Toggle/index.tsx +116 -116
  541. package/src/packages/components/Toggle/toggle.scss +151 -151
  542. package/src/packages/components/Tooltip/index.tsx +118 -118
  543. package/src/packages/components/Tooltip/tooltip.scss +5 -5
  544. package/src/packages/components/Transition/index.tsx +134 -134
  545. package/src/packages/components/Tree/RenderTreeNode.tsx +178 -178
  546. package/src/packages/components/Tree/index.tsx +130 -130
  547. package/src/packages/components/Tree/tree.scss +259 -259
  548. package/src/packages/components/TreeCore/TreeCore.type.tsx +140 -140
  549. package/src/packages/components/TreeCore/createTreeCore.tsx +364 -364
  550. package/src/packages/components/TreeCore/createTreeDraggier.tsx +412 -412
  551. package/src/packages/components/TreeCore/createTreeHooks.ts +16 -16
  552. package/src/packages/components/TreeCore/createTreeMethods.tsx +421 -421
  553. package/src/packages/components/TreeCore/createTreeNode.tsx +244 -244
  554. package/src/packages/components/TreeCore/createTreeProps.ts +76 -76
  555. package/src/packages/components/TreeCore/createTreeUtils.ts +140 -140
  556. package/src/packages/components/TreeCore/fromatNodeData.ts +65 -65
  557. package/src/packages/components/TreeNodeWithMenu/index.tsx +95 -95
  558. package/src/packages/components/TreeNodeWithMenu/tree-node-with-menu.scss +39 -39
  559. package/src/packages/components/TreeNodeWithMenu/treeNodeWithMenu.utils.ts +12 -12
  560. package/src/packages/components/Triangle/index.tsx +88 -88
  561. package/src/packages/components/Triangle/triangle.scss +12 -12
  562. package/src/packages/components/Upload/index.tsx +422 -422
  563. package/src/packages/components/Upload/upload.scss +185 -185
  564. package/src/packages/components/VirtualList/createVirtualDraggier.ts +375 -375
  565. package/src/packages/components/VirtualList/index.tsx +109 -109
  566. package/src/packages/components/VirtualList/useVirtualList.tsx +440 -440
  567. package/src/packages/components/VirtualList/virtual-list.scss +58 -58
  568. package/src/packages/components/VirtualTable/index.tsx +220 -220
  569. package/src/packages/components/VirtualTable/virtual-table.scss +179 -179
  570. package/src/packages/components/_Object/index.tsx +5 -5
  571. package/src/packages/components/buildPlainDefaultUrlConfig/index.tsx +5 -5
  572. package/src/packages/components/createAddressService/index.ts +5 -5
  573. package/src/packages/components/createAutoScrollManager/index.tsx +41 -41
  574. package/src/packages/components/createHttp/http.utils.ts +56 -56
  575. package/src/packages/components/createHttp/index.tsx +29 -29
  576. package/src/packages/components/createObjectService/index.tsx +5 -5
  577. package/src/packages/components/createOvService/index.tsx +5 -5
  578. package/src/packages/components/createPlainAddressService/index.tsx +107 -107
  579. package/src/packages/components/createPopup/index.ts +5 -5
  580. package/src/packages/components/createRequestInterceptor/index.ts +139 -139
  581. package/src/packages/components/createScrollDraggier/index.ts +341 -341
  582. package/src/packages/components/createScrollUtils/index.tsx +163 -163
  583. package/src/packages/components/createSimpleDate/index.ts +49 -49
  584. package/src/packages/components/createTableOptionUser/index.tsx +5 -5
  585. package/src/packages/components/createTransitionHandler/index.ts +46 -46
  586. package/src/packages/components/createUploadService/index.tsx +5 -5
  587. package/src/packages/components/createVirtualDraggier/index.ts +5 -5
  588. package/src/packages/components/createWebDraggier/index.ts +5 -5
  589. package/src/packages/components/i18n/index.tsx +5 -5
  590. package/src/packages/components/loadFile/index.ts +20 -20
  591. package/src/packages/components/nextPopupId/index.ts +5 -5
  592. package/src/packages/components/useAutoScrollUtils/auto-scroll-utils.scss +48 -48
  593. package/src/packages/components/useAutoScrollUtils/index.tsx +86 -86
  594. package/src/packages/components/useContextmenuOptions/index.tsx +40 -40
  595. package/src/packages/components/useDialog/DialogService.tsx +227 -227
  596. package/src/packages/components/useDialog/dialog-service.scss +50 -50
  597. package/src/packages/components/useDialog/dialog.service.utils.tsx +88 -88
  598. package/src/packages/components/useDialog/index.tsx +66 -66
  599. package/src/packages/components/useImage/ImageService.tsx +285 -285
  600. package/src/packages/components/useImage/index.tsx +28 -28
  601. package/src/packages/components/useLoading/LoadingService.tsx +106 -106
  602. package/src/packages/components/useLoading/index.tsx +31 -31
  603. package/src/packages/components/useLoading/loading.service.scss +25 -25
  604. package/src/packages/components/useLoading/loading.service.utils.tsx +13 -13
  605. package/src/packages/components/useMessage/Message.tsx +77 -77
  606. package/src/packages/components/useMessage/MessageContainer.tsx +64 -64
  607. package/src/packages/components/useMessage/MessageManager.tsx +58 -58
  608. package/src/packages/components/useMessage/index.tsx +51 -51
  609. package/src/packages/components/useMessage/message.scss +149 -149
  610. package/src/packages/components/useMessage/message.service.utils.tsx +43 -43
  611. package/src/packages/components/useNotice/Notice.tsx +93 -93
  612. package/src/packages/components/useNotice/NoticeContainer.tsx +65 -65
  613. package/src/packages/components/useNotice/NoticeManager.tsx +58 -58
  614. package/src/packages/components/useNotice/index.tsx +42 -42
  615. package/src/packages/components/useNotice/noitice.service.utils.tsx +48 -48
  616. package/src/packages/components/useNotice/notice.scss +158 -158
  617. package/src/packages/components/usePageRender/index.tsx +3 -3
  618. package/src/packages/components/usePageRenderContext/index.tsx +8 -8
  619. package/src/packages/components/usePopup/PopupItem.tsx +432 -432
  620. package/src/packages/components/usePopup/index.tsx +1 -1
  621. package/src/packages/components/usePopup/popup-item.scss +252 -252
  622. package/src/packages/components/usePopup/refresh/MaxMinTopLeft.ts +38 -38
  623. package/src/packages/components/usePopup/refresh/applyPosition.ts +61 -61
  624. package/src/packages/components/usePopup/refresh/calcPosition.ts +88 -88
  625. package/src/packages/components/usePopup/refresh/refreshArrow.ts +112 -112
  626. package/src/packages/components/usePopup/refresh/refreshPopup.ts +79 -79
  627. package/src/packages/components/usePopup/trigger/useManagerTrigger.click.tsx +56 -56
  628. package/src/packages/components/usePopup/trigger/useManagerTrigger.clickOutside.tsx +39 -39
  629. package/src/packages/components/usePopup/trigger/useManagerTrigger.contextmenu.tsx +59 -59
  630. package/src/packages/components/usePopup/trigger/useManagerTrigger.focus.tsx +30 -30
  631. package/src/packages/components/usePopup/trigger/useManagerTrigger.hover.tsx +60 -60
  632. package/src/packages/components/usePopup/trigger/usePopupTrigger.tsx +56 -56
  633. package/src/packages/components/usePopup/trigger/useReferenceTrigger.tsx +90 -90
  634. package/src/packages/components/usePopup/usePopup.tsx +73 -73
  635. package/src/packages/components/usePopup/usePopupManager.tsx +325 -325
  636. package/src/packages/components/usePopup/utils/closeAllPopper.ts +5 -5
  637. package/src/packages/components/usePopup/utils/createPopperAttrsGetter.ts +5 -5
  638. package/src/packages/components/usePopup/utils/createPopupManagerHooks.tsx +65 -65
  639. package/src/packages/components/usePopup/utils/decodePlacement.ts +16 -16
  640. package/src/packages/components/usePopup/utils/getAvailableDirection.ts +91 -91
  641. package/src/packages/components/usePopup/utils/getBoundary.ts +25 -25
  642. package/src/packages/components/usePopup/utils/getRects.ts +24 -24
  643. package/src/packages/components/usePopup/utils/handleDirection.ts +10 -10
  644. package/src/packages/components/usePopup/utils/ids2map.ts +11 -11
  645. package/src/packages/components/usePopup/utils/popup.utils.ts +239 -239
  646. package/src/packages/components/usePopup/utils/stopPopup.ts +7 -7
  647. package/src/packages/components/usePopupEditor/index.tsx +113 -113
  648. package/src/packages/components/usePopupEditor/popup-editor.utils.ts +15 -15
  649. package/src/packages/components/usePopupManager/index.ts +5 -5
  650. package/src/packages/components/usePopupTrigger/index.tsx +5 -5
  651. package/src/packages/components/useReferenceTrigger/index.tsx +5 -5
  652. package/src/packages/components/useTableFilter/index.ts +73 -73
  653. package/src/packages/components/useTooltip/index.tsx +188 -188
  654. package/src/packages/components/useWatchAutoClear/index.ts +5 -5
  655. package/src/packages/directives/ClickWave/click-wave.scss +57 -57
  656. package/src/packages/directives/ClickWave/index.tsx +78 -78
  657. package/src/packages/directives/ResizeDetector/index.tsx +107 -107
  658. package/src/packages/entry.tsx +1 -0
  659. package/src/packages/i18n/i18n.utils.ts +272 -272
  660. package/src/packages/i18n/index.ts +5 -5
  661. package/src/packages/i18n/lang/en-us.ts +3 -0
  662. package/src/packages/i18n/lang/zh-cn.ts +3 -0
  663. package/src/packages/index.tsx +5 -5
  664. package/src/packages/styles/application/application.public.scss +15 -15
  665. package/src/packages/styles/application/application.public.transition.scss +90 -90
  666. package/src/packages/styles/global.import.scss +194 -194
  667. package/src/packages/uses/createInputPopperAttrs.ts +67 -60
  668. package/src/packages/uses/useCollapseStyles.tsx +56 -56
  669. package/src/packages/uses/useDragHorizontalScroll.ts +81 -81
  670. package/src/packages/uses/useEdit.ts +116 -116
  671. package/src/packages/uses/useFocusHandler.ts +73 -73
  672. package/src/packages/uses/useFunctionWrapper.ts +31 -31
  673. package/src/packages/uses/useMultipleModel.tsx +65 -65
  674. package/src/packages/uses/useRenderReference.tsx +32 -32
  675. package/src/packages/uses/useStyle.tsx +82 -82
  676. package/src/packages/utils/ClientZoom.ts +50 -50
  677. package/src/packages/utils/ComponentUtils.ts +10 -10
  678. package/src/packages/utils/FixInput.ts +3 -3
  679. package/src/packages/utils/InnerTransition.ts +13 -13
  680. package/src/packages/utils/LoadingText.ts +11 -11
  681. package/src/packages/utils/OpenController.ts +15 -15
  682. package/src/packages/utils/buildCycleIndexList.ts +31 -31
  683. package/src/packages/utils/clearFields.ts +16 -16
  684. package/src/packages/utils/color.utils.ts +189 -189
  685. package/src/packages/utils/combineURL.ts +5 -5
  686. package/src/packages/utils/constant.tsx +5 -5
  687. package/src/packages/utils/createAnimate.ts +45 -45
  688. package/src/packages/utils/createCache.ts +32 -32
  689. package/src/packages/utils/createDraggier.ts +256 -256
  690. package/src/packages/utils/createEffectiveHandler.ts +8 -8
  691. package/src/packages/utils/createError.ts +16 -16
  692. package/src/packages/utils/createFlagManager.ts +34 -34
  693. package/src/packages/utils/createKeyHandler.ts +20 -20
  694. package/src/packages/utils/createListUtils.ts +38 -38
  695. package/src/packages/utils/customDeepClone.ts +15 -15
  696. package/src/packages/utils/deepCloneRenderNode.ts +41 -41
  697. package/src/packages/utils/deepIterateObject.ts +14 -14
  698. package/src/packages/utils/findReactElement.tsx +76 -76
  699. package/src/packages/utils/getDeviceInfo.ts +59 -59
  700. package/src/packages/utils/getElementRect.ts +32 -32
  701. package/src/packages/utils/getRowEl.ts +33 -33
  702. package/src/packages/utils/incrementalMerge.ts +8 -8
  703. package/src/packages/utils/inheritSlots.ts +30 -30
  704. package/src/packages/utils/installAllIcons.ts +2 -1
  705. package/src/packages/utils/installAllLazyIcons.ts +17 -17
  706. package/src/packages/utils/isObjectCommonMatch.ts +21 -21
  707. package/src/packages/utils/isSSR.tsx +3 -3
  708. package/src/packages/utils/onParentElementsScroll.tsx +26 -26
  709. package/src/packages/utils/plainDate.ts +203 -203
  710. package/src/packages/utils/renderInputModeTextRangeValue.tsx +25 -25
  711. package/src/packages/utils/renderNothing.tsx +1 -1
  712. package/src/packages/utils/type.ts +11 -11
  713. package/src/packages/utils/useMove.tsx +78 -78
  714. 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
+ }