plain-design 1.0.0-beta.146 → 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 (716) 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 -1
  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/tag.utils.ts +20 -20
  516. package/src/packages/components/ThemeColor/index.tsx +22 -22
  517. package/src/packages/components/ThemeColor/theme-color.scss +36 -36
  518. package/src/packages/components/ThemeColorSelector/index.tsx +53 -53
  519. package/src/packages/components/ThemeDarkSelector/index.tsx +37 -37
  520. package/src/packages/components/ThemeEditor/index.tsx +199 -199
  521. package/src/packages/components/ThemeEditor/theme-editor.scss +106 -106
  522. package/src/packages/components/ThemeLocaleSelector/index.tsx +41 -41
  523. package/src/packages/components/ThemePrimaryColors/index.ts +5 -5
  524. package/src/packages/components/ThemeShapeSelector/index.tsx +55 -55
  525. package/src/packages/components/ThemeSizeSelector/index.tsx +50 -50
  526. package/src/packages/components/TimePicker/createRangeTimeRender.tsx +80 -80
  527. package/src/packages/components/TimePicker/createSeparateRangeTimeRender.tsx +104 -104
  528. package/src/packages/components/TimePicker/createSingleTimeRender.tsx +202 -202
  529. package/src/packages/components/TimePicker/index.tsx +65 -65
  530. package/src/packages/components/TimePicker/panel/TimeBaseColumn.tsx +136 -136
  531. package/src/packages/components/TimePicker/panel/TimeBasePanel.tsx +172 -172
  532. package/src/packages/components/TimePicker/panel/TimePanel.tsx +94 -94
  533. package/src/packages/components/TimePicker/panel/TimeRangePanel.tsx +141 -141
  534. package/src/packages/components/TimePicker/panel/time-base-column.scss +51 -51
  535. package/src/packages/components/TimePicker/panel/time-base-panel.scss +39 -39
  536. package/src/packages/components/TimePicker/panel/time-panel.utils.ts +16 -16
  537. package/src/packages/components/TimePicker/panel/time-range-panel.scss +9 -9
  538. package/src/packages/components/TimePicker/time.scss +10 -10
  539. package/src/packages/components/TimePicker/time.utils.ts +100 -100
  540. package/src/packages/components/TimePicker/useRangeTimeRender.tsx +236 -236
  541. package/src/packages/components/TimePicker/useTimeHooks.ts +11 -11
  542. package/src/packages/components/Toggle/index.tsx +116 -116
  543. package/src/packages/components/Toggle/toggle.scss +151 -151
  544. package/src/packages/components/Tooltip/index.tsx +118 -118
  545. package/src/packages/components/Tooltip/tooltip.scss +5 -5
  546. package/src/packages/components/Transition/index.tsx +134 -134
  547. package/src/packages/components/Tree/RenderTreeNode.tsx +178 -178
  548. package/src/packages/components/Tree/index.tsx +130 -130
  549. package/src/packages/components/Tree/tree.scss +259 -259
  550. package/src/packages/components/TreeCore/TreeCore.type.tsx +140 -140
  551. package/src/packages/components/TreeCore/createTreeCore.tsx +364 -364
  552. package/src/packages/components/TreeCore/createTreeDraggier.tsx +412 -412
  553. package/src/packages/components/TreeCore/createTreeHooks.ts +16 -16
  554. package/src/packages/components/TreeCore/createTreeMethods.tsx +421 -421
  555. package/src/packages/components/TreeCore/createTreeNode.tsx +244 -244
  556. package/src/packages/components/TreeCore/createTreeProps.ts +76 -76
  557. package/src/packages/components/TreeCore/createTreeUtils.ts +140 -140
  558. package/src/packages/components/TreeCore/fromatNodeData.ts +65 -65
  559. package/src/packages/components/TreeNodeWithMenu/index.tsx +95 -95
  560. package/src/packages/components/TreeNodeWithMenu/tree-node-with-menu.scss +39 -39
  561. package/src/packages/components/TreeNodeWithMenu/treeNodeWithMenu.utils.ts +12 -12
  562. package/src/packages/components/Triangle/index.tsx +88 -88
  563. package/src/packages/components/Triangle/triangle.scss +12 -12
  564. package/src/packages/components/Upload/index.tsx +422 -422
  565. package/src/packages/components/Upload/upload.scss +185 -185
  566. package/src/packages/components/VirtualList/createVirtualDraggier.ts +375 -375
  567. package/src/packages/components/VirtualList/index.tsx +109 -109
  568. package/src/packages/components/VirtualList/useVirtualList.tsx +440 -440
  569. package/src/packages/components/VirtualList/virtual-list.scss +58 -58
  570. package/src/packages/components/VirtualTable/index.tsx +220 -220
  571. package/src/packages/components/VirtualTable/virtual-table.scss +179 -179
  572. package/src/packages/components/_Object/index.tsx +5 -5
  573. package/src/packages/components/buildPlainDefaultUrlConfig/index.tsx +5 -5
  574. package/src/packages/components/createAddressService/index.ts +5 -5
  575. package/src/packages/components/createAutoScrollManager/index.tsx +41 -41
  576. package/src/packages/components/createHttp/http.utils.ts +56 -56
  577. package/src/packages/components/createHttp/index.tsx +29 -29
  578. package/src/packages/components/createObjectService/index.tsx +5 -5
  579. package/src/packages/components/createOvService/index.tsx +5 -5
  580. package/src/packages/components/createPlainAddressService/index.tsx +107 -107
  581. package/src/packages/components/createPopup/index.ts +5 -5
  582. package/src/packages/components/createRequestInterceptor/index.ts +139 -139
  583. package/src/packages/components/createScrollDraggier/index.ts +341 -341
  584. package/src/packages/components/createScrollUtils/index.tsx +163 -163
  585. package/src/packages/components/createSimpleDate/index.ts +49 -49
  586. package/src/packages/components/createTableOptionUser/index.tsx +5 -5
  587. package/src/packages/components/createTransitionHandler/index.ts +46 -46
  588. package/src/packages/components/createUploadService/index.tsx +5 -5
  589. package/src/packages/components/createVirtualDraggier/index.ts +5 -5
  590. package/src/packages/components/createWebDraggier/index.ts +5 -5
  591. package/src/packages/components/i18n/index.tsx +5 -5
  592. package/src/packages/components/loadFile/index.ts +20 -20
  593. package/src/packages/components/nextPopupId/index.ts +5 -5
  594. package/src/packages/components/useAutoScrollUtils/auto-scroll-utils.scss +48 -48
  595. package/src/packages/components/useAutoScrollUtils/index.tsx +86 -86
  596. package/src/packages/components/useContextmenuOptions/index.tsx +40 -40
  597. package/src/packages/components/useDialog/DialogService.tsx +227 -227
  598. package/src/packages/components/useDialog/dialog-service.scss +50 -50
  599. package/src/packages/components/useDialog/dialog.service.utils.tsx +88 -88
  600. package/src/packages/components/useDialog/index.tsx +66 -66
  601. package/src/packages/components/useImage/ImageService.tsx +285 -285
  602. package/src/packages/components/useImage/index.tsx +28 -28
  603. package/src/packages/components/useLoading/LoadingService.tsx +106 -106
  604. package/src/packages/components/useLoading/index.tsx +31 -31
  605. package/src/packages/components/useLoading/loading.service.scss +25 -25
  606. package/src/packages/components/useLoading/loading.service.utils.tsx +13 -13
  607. package/src/packages/components/useMessage/Message.tsx +77 -77
  608. package/src/packages/components/useMessage/MessageContainer.tsx +64 -64
  609. package/src/packages/components/useMessage/MessageManager.tsx +58 -58
  610. package/src/packages/components/useMessage/index.tsx +51 -51
  611. package/src/packages/components/useMessage/message.scss +149 -149
  612. package/src/packages/components/useMessage/message.service.utils.tsx +43 -43
  613. package/src/packages/components/useNotice/Notice.tsx +93 -93
  614. package/src/packages/components/useNotice/NoticeContainer.tsx +65 -65
  615. package/src/packages/components/useNotice/NoticeManager.tsx +58 -58
  616. package/src/packages/components/useNotice/index.tsx +42 -42
  617. package/src/packages/components/useNotice/noitice.service.utils.tsx +48 -48
  618. package/src/packages/components/useNotice/notice.scss +158 -158
  619. package/src/packages/components/usePageRender/index.tsx +3 -3
  620. package/src/packages/components/usePageRenderContext/index.tsx +8 -8
  621. package/src/packages/components/usePopup/PopupItem.tsx +432 -432
  622. package/src/packages/components/usePopup/index.tsx +1 -1
  623. package/src/packages/components/usePopup/popup-item.scss +252 -252
  624. package/src/packages/components/usePopup/refresh/MaxMinTopLeft.ts +38 -38
  625. package/src/packages/components/usePopup/refresh/applyPosition.ts +61 -61
  626. package/src/packages/components/usePopup/refresh/calcPosition.ts +88 -88
  627. package/src/packages/components/usePopup/refresh/refreshArrow.ts +112 -112
  628. package/src/packages/components/usePopup/refresh/refreshPopup.ts +79 -79
  629. package/src/packages/components/usePopup/trigger/useManagerTrigger.click.tsx +56 -56
  630. package/src/packages/components/usePopup/trigger/useManagerTrigger.clickOutside.tsx +39 -39
  631. package/src/packages/components/usePopup/trigger/useManagerTrigger.contextmenu.tsx +59 -59
  632. package/src/packages/components/usePopup/trigger/useManagerTrigger.focus.tsx +30 -30
  633. package/src/packages/components/usePopup/trigger/useManagerTrigger.hover.tsx +60 -60
  634. package/src/packages/components/usePopup/trigger/usePopupTrigger.tsx +56 -56
  635. package/src/packages/components/usePopup/trigger/useReferenceTrigger.tsx +90 -90
  636. package/src/packages/components/usePopup/usePopup.tsx +73 -73
  637. package/src/packages/components/usePopup/usePopupManager.tsx +325 -325
  638. package/src/packages/components/usePopup/utils/closeAllPopper.ts +5 -5
  639. package/src/packages/components/usePopup/utils/createPopperAttrsGetter.ts +5 -5
  640. package/src/packages/components/usePopup/utils/createPopupManagerHooks.tsx +65 -65
  641. package/src/packages/components/usePopup/utils/decodePlacement.ts +16 -16
  642. package/src/packages/components/usePopup/utils/getAvailableDirection.ts +91 -91
  643. package/src/packages/components/usePopup/utils/getBoundary.ts +25 -25
  644. package/src/packages/components/usePopup/utils/getRects.ts +24 -24
  645. package/src/packages/components/usePopup/utils/handleDirection.ts +10 -10
  646. package/src/packages/components/usePopup/utils/ids2map.ts +11 -11
  647. package/src/packages/components/usePopup/utils/popup.utils.ts +239 -239
  648. package/src/packages/components/usePopup/utils/stopPopup.ts +7 -7
  649. package/src/packages/components/usePopupEditor/index.tsx +113 -113
  650. package/src/packages/components/usePopupEditor/popup-editor.utils.ts +15 -15
  651. package/src/packages/components/usePopupManager/index.ts +5 -5
  652. package/src/packages/components/usePopupTrigger/index.tsx +5 -5
  653. package/src/packages/components/useReferenceTrigger/index.tsx +5 -5
  654. package/src/packages/components/useTableFilter/index.ts +73 -73
  655. package/src/packages/components/useTooltip/index.tsx +188 -188
  656. package/src/packages/components/useWatchAutoClear/index.ts +5 -5
  657. package/src/packages/directives/ClickWave/click-wave.scss +57 -57
  658. package/src/packages/directives/ClickWave/index.tsx +78 -78
  659. package/src/packages/directives/ResizeDetector/index.tsx +107 -107
  660. package/src/packages/entry.tsx +322 -322
  661. package/src/packages/i18n/i18n.utils.ts +272 -272
  662. package/src/packages/i18n/index.ts +5 -5
  663. package/src/packages/i18n/lang/en-us.ts +4 -0
  664. package/src/packages/i18n/lang/zh-cn.ts +4 -0
  665. package/src/packages/index.tsx +5 -5
  666. package/src/packages/styles/application/application.public.scss +15 -15
  667. package/src/packages/styles/application/application.public.transition.scss +90 -90
  668. package/src/packages/styles/global.import.scss +194 -194
  669. package/src/packages/uses/createInputPopperAttrs.ts +60 -60
  670. package/src/packages/uses/useCollapseStyles.tsx +56 -56
  671. package/src/packages/uses/useDragHorizontalScroll.ts +81 -81
  672. package/src/packages/uses/useEdit.ts +116 -116
  673. package/src/packages/uses/useFocusHandler.ts +73 -73
  674. package/src/packages/uses/useFunctionWrapper.ts +31 -31
  675. package/src/packages/uses/useMultipleModel.tsx +65 -65
  676. package/src/packages/uses/useRenderReference.tsx +32 -32
  677. package/src/packages/uses/useStyle.tsx +82 -82
  678. package/src/packages/utils/ClientZoom.ts +50 -50
  679. package/src/packages/utils/ComponentUtils.ts +10 -10
  680. package/src/packages/utils/FixInput.ts +3 -3
  681. package/src/packages/utils/InnerTransition.ts +13 -13
  682. package/src/packages/utils/LoadingText.ts +11 -11
  683. package/src/packages/utils/OpenController.ts +15 -15
  684. package/src/packages/utils/buildCycleIndexList.ts +31 -31
  685. package/src/packages/utils/clearFields.ts +16 -16
  686. package/src/packages/utils/color.utils.ts +189 -189
  687. package/src/packages/utils/combineURL.ts +5 -5
  688. package/src/packages/utils/constant.tsx +5 -5
  689. package/src/packages/utils/createAnimate.ts +45 -45
  690. package/src/packages/utils/createCache.ts +32 -32
  691. package/src/packages/utils/createDraggier.ts +256 -256
  692. package/src/packages/utils/createEffectiveHandler.ts +8 -8
  693. package/src/packages/utils/createError.ts +16 -16
  694. package/src/packages/utils/createFlagManager.ts +34 -34
  695. package/src/packages/utils/createKeyHandler.ts +20 -20
  696. package/src/packages/utils/createListUtils.ts +38 -38
  697. package/src/packages/utils/customDeepClone.ts +15 -15
  698. package/src/packages/utils/deepCloneRenderNode.ts +41 -41
  699. package/src/packages/utils/deepIterateObject.ts +14 -14
  700. package/src/packages/utils/findReactElement.tsx +76 -76
  701. package/src/packages/utils/getDeviceInfo.ts +59 -59
  702. package/src/packages/utils/getElementRect.ts +32 -32
  703. package/src/packages/utils/getRowEl.ts +33 -33
  704. package/src/packages/utils/incrementalMerge.ts +8 -8
  705. package/src/packages/utils/inheritSlots.ts +30 -30
  706. package/src/packages/utils/installAllIcons.ts +19 -19
  707. package/src/packages/utils/installAllLazyIcons.ts +17 -17
  708. package/src/packages/utils/isObjectCommonMatch.ts +21 -21
  709. package/src/packages/utils/isSSR.tsx +3 -3
  710. package/src/packages/utils/onParentElementsScroll.tsx +26 -26
  711. package/src/packages/utils/plainDate.ts +203 -203
  712. package/src/packages/utils/renderInputModeTextRangeValue.tsx +25 -25
  713. package/src/packages/utils/renderNothing.tsx +1 -1
  714. package/src/packages/utils/type.ts +11 -11
  715. package/src/packages/utils/useMove.tsx +78 -78
  716. package/src/packages/utils/watchEffectAutoClear.ts +28 -28
@@ -1,332 +1,332 @@
1
- import {computed, ExtractPropTypes, inject, PropType, provide, useStyles} from "@peryl/react-compose";
2
- import {createEnum} from "@peryl/utils/createEnum";
3
- import {unit} from "@peryl/utils/unit";
4
- import {removeUnit} from "@peryl/utils/removeUnit";
5
- import {InputMode, ThemeSize, tStyleComputed} from "../../../uses/useStyle";
6
- import ApplicationConfigurationProvider from "../../ApplicationConfigurationProvider";
7
- import {PlainObject} from "@peryl/utils/event";
8
-
9
- /**
10
- * 表单的文本以及内容对齐方式
11
- * @author 韦胜健
12
- * @date 2022.9.4 23:06
13
- */
14
- export const eFormLabelAlign = createEnum(['left', 'center', 'right'] as const);
15
-
16
- /**
17
- * 表单的内容对其方式
18
- * @author 韦胜健
19
- * @date 2022.9.4 23:19
20
- */
21
- export const eFormContentAlign = createEnum([
22
- 'left',
23
- 'center',
24
- 'right'
25
- ] as const);
26
-
27
- /**
28
- * Form布局相关属性
29
- * @author 韦胜健
30
- * @date 2022.9.4 22:46
31
- */
32
- export const FormLayoutPropsOption = {
33
- size: { type: String as PropType<typeof ThemeSize.TYPE> }, // 表单尺寸
34
- column: { type: [String, Number] as PropType<string | number>, default: 1 }, // 多列表单的列数
35
- columnGutter: { type: [Number, String] as PropType<string | number>, default: '16px' }, // 列之间的间距
36
- singleColumnCenter: { type: Boolean as PropType<boolean> }, // 单列的时候会使得表单内容居中,表单文本标题不计宽度,设置该属性为true则使得文本宽度参与计算居中
37
- labelWidth: { type: [String, Number] as PropType<string | number> }, // formItem 文本宽度
38
- labelAlign: { type: String as PropType<typeof eFormLabelAlign.TYPE> }, // 文本对其方式
39
- contentAlign: { type: String as PropType<typeof eFormContentAlign.TYPE> }, // 内容对其方式
40
- singleColumnContentWidth: { type: Number }, // 单列的时候form item content的宽度
41
- width: { type: [String, Number] as PropType<string | number>, }, // 表单宽度
42
- colon: { type: Boolean as PropType<boolean>, default: true }, // label的冒号
43
- verticalLabel: { type: Boolean as PropType<boolean> }, // 纵向的表单
44
- gutter: { type: Number }, // 列间隔
45
- rowGutter: { type: Number }, // 行间隔
46
- validateMessagePosition: { type: String as PropType<typeof FormValidateMessagePosition.TYPE> }, // 校验消息的位置
47
- hideLabel: { type: Boolean }, // 隐藏form-item的label
48
- inputMode: { type: String as PropType<typeof InputMode.TYPE> }, // 内部Input的类型mode
49
- } as const;
50
-
51
- /**
52
- * FormLayoutProps属性类型
53
- * @author 韦胜健
54
- * @date 2022.9.4 22:48
55
- */
56
- export type tFormLayoutPropsType = ExtractPropTypes<typeof FormLayoutPropsOption>;
57
-
58
- /**
59
- * FormItem布局相关属性
60
- * @author 韦胜健
61
- * @date 2022.9.4 22:46
62
- */
63
- export const FormItemLayoutPropsOption = {
64
- hideLabel: { type: Boolean }, // 隐藏label
65
- labelWidth: { type: [String, Number] as PropType<string | number> }, // 显示文本宽度
66
- column: { type: [String, Number] as PropType<string | number>, default: 1 }, // 多列表单的列数
67
- block: { type: Boolean as PropType<boolean> }, // 占用一行
68
- labelAlign: { type: String as PropType<typeof eFormLabelAlign.TYPE> }, // label 对齐方式
69
- contentAlign: { type: String as PropType<typeof eFormContentAlign.TYPE> }, // content 对齐方式
70
- singleColumnContentWidth: { type: Number }, // 单列的时候form item content的宽度
71
- colon: { type: Boolean as PropType<boolean | null>, default: null }, // label的冒号
72
- validateMessagePosition: { type: String as PropType<typeof FormValidateMessagePosition.TYPE> }, // 校验消息的位置
73
- negativeInnerMarginTop: { type: Boolean }, // inner节点启用负的marginTop值
74
- tip: { type: [String, Function] as PropType<string | (() => any)> }, // 提示说明
75
- } as const;
76
-
77
- /**
78
- * FormItemLayoutProps属性类型
79
- * @author 韦胜健
80
- * @date 2022.9.4 22:49
81
- */
82
- export type tFormItemLayoutPropsType = ExtractPropTypes<typeof FormItemLayoutPropsOption>
83
-
84
- /**
85
- * 默认的文本宽度
86
- * @author 韦胜健
87
- * @date 2022.9.4 23:21
88
- */
89
- export const DefaultFormLabelWidth = (() => {
90
- let value = '150px';
91
- return { value };
92
- })();
93
-
94
- /**
95
- * 布局组合
96
- * @author 韦胜健
97
- * @date 2022.9.4 22:50
98
- */
99
- export const useFormLayout = (() => {
100
-
101
- const FORM_LAYOUT_PROVIDER = '@@FORM_LAYOUT_PROVIDER';
102
- const FORM_ITEM_LAYOUT_PROVIDER = '@@FORM_ITEM_LAYOUT_PROVIDER';
103
-
104
- const useForm = (props: tFormLayoutPropsType, styleComputed: tStyleComputed) => {
105
-
106
- const configuration = ApplicationConfigurationProvider.inject();
107
-
108
- /*是否为单列*/
109
- const isSingleColumn = computed(() => props.column === 1);
110
- /*列间距*/
111
- const gutter = computed((): number => {
112
- if (props.gutter != null) {
113
- return removeUnit(props.gutter) as any;
114
- }
115
- /*单列的情况下不设置列间距*/
116
- return isSingleColumn.value ? 0 : FormSizeGutter[styleComputed.value.size];
117
- });
118
- /*行间距*/
119
- const rowGutter = computed((): number => {
120
- if (props.inputMode === 'text') {return 4;}
121
- if (props.rowGutter != null) {
122
- return removeUnit(props.rowGutter) as any;
123
- }
124
- return Math.max(
125
- 1.25 * ((removeUnit(configuration.value.theme.vars[`margin-${styleComputed.value.size}`]) || 0) as number),
126
- 14,
127
- );
128
- });
129
- /*校验消息的位置*/
130
- const validateMessagePosition = computed(() => {
131
- if (!!props.validateMessagePosition) {return props.validateMessagePosition;}
132
-
133
- /*纵向文本的情况下,校验消息默认放在左下角*/
134
- if (props.verticalLabel) {return FormValidateMessagePosition["bottom-right"];}
135
- if (isSingleColumn.value) {
136
- /*单列的情况下,校验消息默认放在右侧*/
137
- return FormValidateMessagePosition['right'];
138
- } else {
139
- /*其他都放在右下角*/
140
- return FormValidateMessagePosition['bottom-right'];
141
- }
142
- });
143
- /*根节点样式*/
144
- const styles = useStyles((styles) => {
145
- if (!isSingleColumn.value) {
146
- // styles.padding = `${rowGutter.value / 2}px ${gutter.value}px`;
147
- }
148
- });
149
- /*inner节点样式,有列间距时拓展宽度*/
150
- const innerStyles = useStyles(style => {
151
- if (!isSingleColumn.value && !!gutter.value) {
152
- style.width = `calc(100% + ${unit(gutter.value)})`;
153
- }
154
- style.margin = `${-rowGutter.value / 2}px ${unit(-gutter.value / 2)}`;
155
- });
156
- const refer = { props, styles, gutter, rowGutter, innerStyles, isSingleColumn, validateMessagePosition };
157
- provide(FORM_LAYOUT_PROVIDER, refer);
158
- return refer;
159
- };
160
-
161
- const useFormItem = (props: tFormItemLayoutPropsType) => {
162
-
163
- const form = inject<ReturnType<typeof useForm>>(FORM_LAYOUT_PROVIDER)!;
164
-
165
- const parentFormItem = inject<PlainObject | null>(FORM_ITEM_LAYOUT_PROVIDER, null);
166
-
167
- /**
168
- * 文本宽度
169
- * @author 韦胜健
170
- * @date 2022.9.4 23:21
171
- */
172
- const labelWidth = computed((): number | string => {
173
- if (form.props.hideLabel) {
174
- return 0;
175
- }
176
- /*纵向文本表单情况下,文本宽度占用整行*/
177
- if (form.props.verticalLabel) {
178
- return '100%';
179
- }
180
- let width = props.labelWidth != null ? props.labelWidth : form.props.labelWidth;
181
-
182
- /*如果没有设置宽度,单列的情况下不设置宽度使得label自动撑开宽度,多列的情况下设置默认宽度*/
183
- if (width == null && form.props.column !== 1) {
184
- width = DefaultFormLabelWidth.value;
185
- } else {
186
- width = Number(width);
187
- }
188
- return width;
189
- });
190
-
191
- /**
192
- * 占用的列数
193
- * @author 韦胜健
194
- * @date 2022.9.4 23:22
195
- */
196
- const column = computed((): number => {
197
- let column = props.column || 1;
198
- if (props.block) {
199
- column = Number(form.props.column);
200
- }
201
- return Number(column);
202
- });
203
-
204
- /**
205
- * 冒号
206
- * @author 韦胜健
207
- * @date 2022.9.4 23:22
208
- */
209
- const colon = computed((): boolean => {
210
- if (props.colon != null) {
211
- return props.colon;
212
- } else {
213
- return form.props.colon;
214
- }
215
- });
216
-
217
- /**
218
- * 文本对其方式
219
- * @author 韦胜健
220
- * @date 2022.9.4 23:22
221
- */
222
- const labelAlign = computed(() => form.props.verticalLabel ? eFormLabelAlign.left : (props.labelAlign || form.props.labelAlign));
223
-
224
- /**
225
- * 内容对其方式
226
- * @author 韦胜健
227
- * @date 2022.9.4 23:22
228
- */
229
- const contentAlign = computed(() => props.contentAlign || form.props.contentAlign);
230
-
231
- const validateMessagePosition = computed(() => props.validateMessagePosition || form.validateMessagePosition.value);
232
- /**
233
- * 根节点样式
234
- * @author 韦胜健
235
- * @date 2022.9.4 23:23
236
- */
237
- const styles = useStyles((styles) => {
238
- styles.width = (() => {
239
- const totalColumn = Number(form.props.column);
240
- const itemColumn = column.value;
241
- if (itemColumn === totalColumn) {
242
- return '100%';
243
- }
244
- return `calc(${Number((itemColumn / totalColumn).toFixed(4)) * 100}%)`;
245
- })();
246
- styles.padding = `0 ${unit(form.gutter.value / 2)}`;
247
- if (!parentFormItem) {
248
- styles.margin = `${form.rowGutter.value / 2}px 0`;
249
- } else {
250
- styles.marginTop = `${form.rowGutter.value}px`;
251
- }
252
- });
253
-
254
- /**
255
- * label节点样式
256
- * @author 韦胜健
257
- * @date 2022.9.4 23:24
258
- */
259
- const labelStyles = useStyles(style => {
260
- if (!form.isSingleColumn.value) {
261
- if (labelWidth.value != null && !form.props.verticalLabel) {
262
- style.width = unit(labelWidth.value);
263
- }
264
- }
265
- });
266
- /**
267
- * content节点样式
268
- * @author 韦胜健
269
- * @date 2022/10/28 10:34
270
- */
271
- const contentStyles = useStyles(style => {
272
- if (!form.isSingleColumn.value) {
273
- if (labelWidth.value != null && !form.props.verticalLabel) {
274
- style.width = `calc(100% - ${unit(labelWidth.value)})`;
275
- }
276
- } else {
277
- style.width = unit((() => {
278
- if (props.singleColumnContentWidth) {
279
- return props.singleColumnContentWidth;
280
- }
281
- if (form.props.singleColumnContentWidth) {
282
- return form.props.singleColumnContentWidth;
283
- }
284
- if (form.props.column === 1 && !!form.props.labelWidth) {
285
- return `calc(100% - ${unit(form.props.labelWidth)})`;
286
- }
287
- return 400;
288
- })());
289
- }
290
- });
291
-
292
- const contentInnerStyles = useStyles(style => {
293
- if (props.negativeInnerMarginTop) {style.marginTop = `-${form.rowGutter.value}px`;}
294
- });
295
-
296
- const refer = {
297
- colon,
298
- labelAlign,
299
- contentAlign,
300
- styles,
301
- labelStyles,
302
- contentStyles,
303
- contentInnerStyles,
304
- form,
305
- validateMessagePosition,
306
- };
307
-
308
- provide(FORM_ITEM_LAYOUT_PROVIDER, refer);
309
-
310
- return refer;
311
- };
312
-
313
- return { useForm, useFormItem };
314
- })();
315
-
316
- /**
317
- * 不同尺寸下的默认列间距
318
- * @author 韦胜健
319
- * @date 2024.7.18 20:52
320
- */
321
- const FormSizeGutter: Record<typeof ThemeSize.TYPE, number> = {
322
- large: 16,
323
- normal: 12,
324
- small: 8,
325
- mini: 4,
326
- };
327
-
328
- export const FormValidateMessagePosition = createEnum([
329
- 'bottom-left',
330
- 'bottom-right',
331
- 'right'
332
- ] as const);
1
+ import {computed, ExtractPropTypes, inject, PropType, provide, useStyles} from "@peryl/react-compose";
2
+ import {createEnum} from "@peryl/utils/createEnum";
3
+ import {unit} from "@peryl/utils/unit";
4
+ import {removeUnit} from "@peryl/utils/removeUnit";
5
+ import {InputMode, ThemeSize, tStyleComputed} from "../../../uses/useStyle";
6
+ import ApplicationConfigurationProvider from "../../ApplicationConfigurationProvider";
7
+ import {PlainObject} from "@peryl/utils/event";
8
+
9
+ /**
10
+ * 表单的文本以及内容对齐方式
11
+ * @author 韦胜健
12
+ * @date 2022.9.4 23:06
13
+ */
14
+ export const eFormLabelAlign = createEnum(['left', 'center', 'right'] as const);
15
+
16
+ /**
17
+ * 表单的内容对其方式
18
+ * @author 韦胜健
19
+ * @date 2022.9.4 23:19
20
+ */
21
+ export const eFormContentAlign = createEnum([
22
+ 'left',
23
+ 'center',
24
+ 'right'
25
+ ] as const);
26
+
27
+ /**
28
+ * Form布局相关属性
29
+ * @author 韦胜健
30
+ * @date 2022.9.4 22:46
31
+ */
32
+ export const FormLayoutPropsOption = {
33
+ size: { type: String as PropType<typeof ThemeSize.TYPE> }, // 表单尺寸
34
+ column: { type: [String, Number] as PropType<string | number>, default: 1 }, // 多列表单的列数
35
+ columnGutter: { type: [Number, String] as PropType<string | number>, default: '16px' }, // 列之间的间距
36
+ singleColumnCenter: { type: Boolean as PropType<boolean> }, // 单列的时候会使得表单内容居中,表单文本标题不计宽度,设置该属性为true则使得文本宽度参与计算居中
37
+ labelWidth: { type: [String, Number] as PropType<string | number> }, // formItem 文本宽度
38
+ labelAlign: { type: String as PropType<typeof eFormLabelAlign.TYPE> }, // 文本对其方式
39
+ contentAlign: { type: String as PropType<typeof eFormContentAlign.TYPE> }, // 内容对其方式
40
+ singleColumnContentWidth: { type: Number }, // 单列的时候form item content的宽度
41
+ width: { type: [String, Number] as PropType<string | number>, }, // 表单宽度
42
+ colon: { type: Boolean as PropType<boolean>, default: true }, // label的冒号
43
+ verticalLabel: { type: Boolean as PropType<boolean> }, // 纵向的表单
44
+ gutter: { type: Number }, // 列间隔
45
+ rowGutter: { type: Number }, // 行间隔
46
+ validateMessagePosition: { type: String as PropType<typeof FormValidateMessagePosition.TYPE> }, // 校验消息的位置
47
+ hideLabel: { type: Boolean }, // 隐藏form-item的label
48
+ inputMode: { type: String as PropType<typeof InputMode.TYPE> }, // 内部Input的类型mode
49
+ } as const;
50
+
51
+ /**
52
+ * FormLayoutProps属性类型
53
+ * @author 韦胜健
54
+ * @date 2022.9.4 22:48
55
+ */
56
+ export type tFormLayoutPropsType = ExtractPropTypes<typeof FormLayoutPropsOption>;
57
+
58
+ /**
59
+ * FormItem布局相关属性
60
+ * @author 韦胜健
61
+ * @date 2022.9.4 22:46
62
+ */
63
+ export const FormItemLayoutPropsOption = {
64
+ hideLabel: { type: Boolean }, // 隐藏label
65
+ labelWidth: { type: [String, Number] as PropType<string | number> }, // 显示文本宽度
66
+ column: { type: [String, Number] as PropType<string | number>, default: 1 }, // 多列表单的列数
67
+ block: { type: Boolean as PropType<boolean> }, // 占用一行
68
+ labelAlign: { type: String as PropType<typeof eFormLabelAlign.TYPE> }, // label 对齐方式
69
+ contentAlign: { type: String as PropType<typeof eFormContentAlign.TYPE> }, // content 对齐方式
70
+ singleColumnContentWidth: { type: Number }, // 单列的时候form item content的宽度
71
+ colon: { type: Boolean as PropType<boolean | null>, default: null }, // label的冒号
72
+ validateMessagePosition: { type: String as PropType<typeof FormValidateMessagePosition.TYPE> }, // 校验消息的位置
73
+ negativeInnerMarginTop: { type: Boolean }, // inner节点启用负的marginTop值
74
+ tip: { type: [String, Function] as PropType<string | (() => any)> }, // 提示说明
75
+ } as const;
76
+
77
+ /**
78
+ * FormItemLayoutProps属性类型
79
+ * @author 韦胜健
80
+ * @date 2022.9.4 22:49
81
+ */
82
+ export type tFormItemLayoutPropsType = ExtractPropTypes<typeof FormItemLayoutPropsOption>
83
+
84
+ /**
85
+ * 默认的文本宽度
86
+ * @author 韦胜健
87
+ * @date 2022.9.4 23:21
88
+ */
89
+ export const DefaultFormLabelWidth = (() => {
90
+ let value = '150px';
91
+ return { value };
92
+ })();
93
+
94
+ /**
95
+ * 布局组合
96
+ * @author 韦胜健
97
+ * @date 2022.9.4 22:50
98
+ */
99
+ export const useFormLayout = (() => {
100
+
101
+ const FORM_LAYOUT_PROVIDER = '@@FORM_LAYOUT_PROVIDER';
102
+ const FORM_ITEM_LAYOUT_PROVIDER = '@@FORM_ITEM_LAYOUT_PROVIDER';
103
+
104
+ const useForm = (props: tFormLayoutPropsType, styleComputed: tStyleComputed) => {
105
+
106
+ const configuration = ApplicationConfigurationProvider.inject();
107
+
108
+ /*是否为单列*/
109
+ const isSingleColumn = computed(() => props.column === 1);
110
+ /*列间距*/
111
+ const gutter = computed((): number => {
112
+ if (props.gutter != null) {
113
+ return removeUnit(props.gutter) as any;
114
+ }
115
+ /*单列的情况下不设置列间距*/
116
+ return isSingleColumn.value ? 0 : FormSizeGutter[styleComputed.value.size];
117
+ });
118
+ /*行间距*/
119
+ const rowGutter = computed((): number => {
120
+ if (props.inputMode === 'text') {return 4;}
121
+ if (props.rowGutter != null) {
122
+ return removeUnit(props.rowGutter) as any;
123
+ }
124
+ return Math.max(
125
+ 1.25 * ((removeUnit(configuration.value.theme.vars[`margin-${styleComputed.value.size}`]) || 0) as number),
126
+ 14,
127
+ );
128
+ });
129
+ /*校验消息的位置*/
130
+ const validateMessagePosition = computed(() => {
131
+ if (!!props.validateMessagePosition) {return props.validateMessagePosition;}
132
+
133
+ /*纵向文本的情况下,校验消息默认放在左下角*/
134
+ if (props.verticalLabel) {return FormValidateMessagePosition["bottom-right"];}
135
+ if (isSingleColumn.value) {
136
+ /*单列的情况下,校验消息默认放在右侧*/
137
+ return FormValidateMessagePosition['right'];
138
+ } else {
139
+ /*其他都放在右下角*/
140
+ return FormValidateMessagePosition['bottom-right'];
141
+ }
142
+ });
143
+ /*根节点样式*/
144
+ const styles = useStyles((styles) => {
145
+ if (!isSingleColumn.value) {
146
+ // styles.padding = `${rowGutter.value / 2}px ${gutter.value}px`;
147
+ }
148
+ });
149
+ /*inner节点样式,有列间距时拓展宽度*/
150
+ const innerStyles = useStyles(style => {
151
+ if (!isSingleColumn.value && !!gutter.value) {
152
+ style.width = `calc(100% + ${unit(gutter.value)})`;
153
+ }
154
+ style.margin = `${-rowGutter.value / 2}px ${unit(-gutter.value / 2)}`;
155
+ });
156
+ const refer = { props, styles, gutter, rowGutter, innerStyles, isSingleColumn, validateMessagePosition };
157
+ provide(FORM_LAYOUT_PROVIDER, refer);
158
+ return refer;
159
+ };
160
+
161
+ const useFormItem = (props: tFormItemLayoutPropsType) => {
162
+
163
+ const form = inject<ReturnType<typeof useForm>>(FORM_LAYOUT_PROVIDER)!;
164
+
165
+ const parentFormItem = inject<PlainObject | null>(FORM_ITEM_LAYOUT_PROVIDER, null);
166
+
167
+ /**
168
+ * 文本宽度
169
+ * @author 韦胜健
170
+ * @date 2022.9.4 23:21
171
+ */
172
+ const labelWidth = computed((): number | string => {
173
+ if (form.props.hideLabel) {
174
+ return 0;
175
+ }
176
+ /*纵向文本表单情况下,文本宽度占用整行*/
177
+ if (form.props.verticalLabel) {
178
+ return '100%';
179
+ }
180
+ let width = props.labelWidth != null ? props.labelWidth : form.props.labelWidth;
181
+
182
+ /*如果没有设置宽度,单列的情况下不设置宽度使得label自动撑开宽度,多列的情况下设置默认宽度*/
183
+ if (width == null && form.props.column !== 1) {
184
+ width = DefaultFormLabelWidth.value;
185
+ } else {
186
+ width = Number(width);
187
+ }
188
+ return width;
189
+ });
190
+
191
+ /**
192
+ * 占用的列数
193
+ * @author 韦胜健
194
+ * @date 2022.9.4 23:22
195
+ */
196
+ const column = computed((): number => {
197
+ let column = props.column || 1;
198
+ if (props.block) {
199
+ column = Number(form.props.column);
200
+ }
201
+ return Number(column);
202
+ });
203
+
204
+ /**
205
+ * 冒号
206
+ * @author 韦胜健
207
+ * @date 2022.9.4 23:22
208
+ */
209
+ const colon = computed((): boolean => {
210
+ if (props.colon != null) {
211
+ return props.colon;
212
+ } else {
213
+ return form.props.colon;
214
+ }
215
+ });
216
+
217
+ /**
218
+ * 文本对其方式
219
+ * @author 韦胜健
220
+ * @date 2022.9.4 23:22
221
+ */
222
+ const labelAlign = computed(() => form.props.verticalLabel ? eFormLabelAlign.left : (props.labelAlign || form.props.labelAlign));
223
+
224
+ /**
225
+ * 内容对其方式
226
+ * @author 韦胜健
227
+ * @date 2022.9.4 23:22
228
+ */
229
+ const contentAlign = computed(() => props.contentAlign || form.props.contentAlign);
230
+
231
+ const validateMessagePosition = computed(() => props.validateMessagePosition || form.validateMessagePosition.value);
232
+ /**
233
+ * 根节点样式
234
+ * @author 韦胜健
235
+ * @date 2022.9.4 23:23
236
+ */
237
+ const styles = useStyles((styles) => {
238
+ styles.width = (() => {
239
+ const totalColumn = Number(form.props.column);
240
+ const itemColumn = column.value;
241
+ if (itemColumn === totalColumn) {
242
+ return '100%';
243
+ }
244
+ return `calc(${Number((itemColumn / totalColumn).toFixed(4)) * 100}%)`;
245
+ })();
246
+ styles.padding = `0 ${unit(form.gutter.value / 2)}`;
247
+ if (!parentFormItem) {
248
+ styles.margin = `${form.rowGutter.value / 2}px 0`;
249
+ } else {
250
+ styles.marginTop = `${form.rowGutter.value}px`;
251
+ }
252
+ });
253
+
254
+ /**
255
+ * label节点样式
256
+ * @author 韦胜健
257
+ * @date 2022.9.4 23:24
258
+ */
259
+ const labelStyles = useStyles(style => {
260
+ if (!form.isSingleColumn.value) {
261
+ if (labelWidth.value != null && !form.props.verticalLabel) {
262
+ style.width = unit(labelWidth.value);
263
+ }
264
+ }
265
+ });
266
+ /**
267
+ * content节点样式
268
+ * @author 韦胜健
269
+ * @date 2022/10/28 10:34
270
+ */
271
+ const contentStyles = useStyles(style => {
272
+ if (!form.isSingleColumn.value) {
273
+ if (labelWidth.value != null && !form.props.verticalLabel) {
274
+ style.width = `calc(100% - ${unit(labelWidth.value)})`;
275
+ }
276
+ } else {
277
+ style.width = unit((() => {
278
+ if (props.singleColumnContentWidth) {
279
+ return props.singleColumnContentWidth;
280
+ }
281
+ if (form.props.singleColumnContentWidth) {
282
+ return form.props.singleColumnContentWidth;
283
+ }
284
+ if (form.props.column === 1 && !!form.props.labelWidth) {
285
+ return `calc(100% - ${unit(form.props.labelWidth)})`;
286
+ }
287
+ return 400;
288
+ })());
289
+ }
290
+ });
291
+
292
+ const contentInnerStyles = useStyles(style => {
293
+ if (props.negativeInnerMarginTop) {style.marginTop = `-${form.rowGutter.value}px`;}
294
+ });
295
+
296
+ const refer = {
297
+ colon,
298
+ labelAlign,
299
+ contentAlign,
300
+ styles,
301
+ labelStyles,
302
+ contentStyles,
303
+ contentInnerStyles,
304
+ form,
305
+ validateMessagePosition,
306
+ };
307
+
308
+ provide(FORM_ITEM_LAYOUT_PROVIDER, refer);
309
+
310
+ return refer;
311
+ };
312
+
313
+ return { useForm, useFormItem };
314
+ })();
315
+
316
+ /**
317
+ * 不同尺寸下的默认列间距
318
+ * @author 韦胜健
319
+ * @date 2024.7.18 20:52
320
+ */
321
+ const FormSizeGutter: Record<typeof ThemeSize.TYPE, number> = {
322
+ large: 16,
323
+ normal: 12,
324
+ small: 8,
325
+ mini: 4,
326
+ };
327
+
328
+ export const FormValidateMessagePosition = createEnum([
329
+ 'bottom-left',
330
+ 'bottom-right',
331
+ 'right'
332
+ ] as const);