plain-design 1.0.0-beta.99 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/dist/plain-design.commonjs.min.js +2 -18
  2. package/dist/plain-design.commonjs.min.js.LICENSE.txt +18 -0
  3. package/dist/plain-design.min.css +22 -21
  4. package/dist/plain-design.min.js +2 -18
  5. package/dist/plain-design.min.js.LICENSE.txt +18 -0
  6. package/dist/report.html +3 -3
  7. package/package.json +42 -40
  8. package/src/packages/components/$address/createAddressService.tsx +8 -3
  9. package/src/packages/components/$ai/index.tsx +368 -0
  10. package/src/packages/components/$configuration/index.tsx +4 -2
  11. package/src/packages/components/$file/index.tsx +44 -1
  12. package/src/packages/components/$imageSelector/index.tsx +56 -0
  13. package/src/packages/components/$message/image.service.utils.tsx +1 -1
  14. package/src/packages/components/$object/createObjectService.tsx +6 -6
  15. package/src/packages/components/$object/object.conver.ts +3 -3
  16. package/src/packages/components/$object/object.service.utils.ts +2 -2
  17. package/src/packages/components/$ov/createOvService.ts +2 -2
  18. package/src/packages/components/$previewer/ImagePreviewerFixedContainer.tsx +6 -6
  19. package/src/packages/components/$previewer/index.tsx +1 -1
  20. package/src/packages/components/$search/SearchFooter.tsx +1 -1
  21. package/src/packages/components/$search/SearchList.tsx +2 -2
  22. package/src/packages/components/$search/SearchServicePanel.tsx +4 -4
  23. package/src/packages/components/$search/createSearchService.tsx +1 -1
  24. package/src/packages/components/$search/search-service.scss +1 -0
  25. package/src/packages/components/$search/search.utils.tsx +1 -1
  26. package/src/packages/components/$upload/upload.utils.ts +7 -6
  27. package/src/packages/components/Address/index.tsx +2 -2
  28. package/src/packages/components/AddressCascade/address-cascade.utils.ts +1 -1
  29. package/src/packages/components/AddressCascade/createAddressCascade.hooks.ts +1 -1
  30. package/src/packages/components/AddressCascade/createAddressCascade.multiple.tsx +5 -6
  31. package/src/packages/components/AddressCascade/createAddressCascade.single.tsx +6 -7
  32. package/src/packages/components/AddressCascade/index.tsx +1 -1
  33. package/src/packages/components/AiChatBox/ai-chat-box.scss +74 -0
  34. package/src/packages/components/AiChatBox/index.tsx +306 -0
  35. package/src/packages/components/Alert/index.tsx +1 -1
  36. package/src/packages/components/Application/index.tsx +1 -1
  37. package/src/packages/components/Application/service/createApplicationService.tsx +2 -2
  38. package/src/packages/components/Application/service/createApplicationServiceComponent.tsx +1 -1
  39. package/src/packages/components/Application/service/createApplicationServiceManager.tsx +2 -2
  40. package/src/packages/components/Application/service/useApplicationService.tsx +3 -3
  41. package/src/packages/components/Application/utils/application.utils.ts +3 -4
  42. package/src/packages/components/Application/utils/createServiceReadyObserver.ts +1 -1
  43. package/src/packages/components/ArrowStep/index.tsx +1 -1
  44. package/src/packages/components/ArrowStepGroup/index.tsx +2 -2
  45. package/src/packages/components/AutoLoadingObserver/index.tsx +3 -3
  46. package/src/packages/components/AutoTable/AutoTable.tsx +1 -1
  47. package/src/packages/components/AutoTable/auto-table.scss +25 -3
  48. package/src/packages/components/AutoTable/createTableOptionUser.tsx +3 -1
  49. package/src/packages/components/AutoTable/filter/useTableOption.filter.form.tsx +8 -5
  50. package/src/packages/components/AutoTable/filter/useTableOption.filter.search.tsx +2 -2
  51. package/src/packages/components/AutoTable/filter/useTableOption.filter.state.ts +12 -7
  52. package/src/packages/components/AutoTable/setting/useTableOption.setting.all.fitler.tsx +1 -1
  53. package/src/packages/components/AutoTable/setting/useTableOption.setting.cache.tsx +3 -3
  54. package/src/packages/components/AutoTable/setting/useTableOption.setting.config.tsx +59 -17
  55. package/src/packages/components/AutoTable/setting/useTableOption.setting.export.tsx +5 -30
  56. package/src/packages/components/AutoTable/setting/useTableOption.setting.import.tsx +3 -3
  57. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.filter.tsx +388 -385
  58. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.sort.tsx +15 -8
  59. package/src/packages/components/AutoTable/setting/useTableOption.setting.tsx +109 -109
  60. package/src/packages/components/AutoTable/setting/useTableOption.setting.utils.ts +2 -2
  61. package/src/packages/components/AutoTable/use/useTableOption.ai.tsx +640 -0
  62. package/src/packages/components/AutoTable/use/useTableOption.buttons.tsx +27 -17
  63. package/src/packages/components/AutoTable/use/useTableOption.cache.ts +2 -2
  64. package/src/packages/components/AutoTable/use/useTableOption.check.tsx +3 -3
  65. package/src/packages/components/AutoTable/use/useTableOption.column.popper.tsx +5 -5
  66. package/src/packages/components/AutoTable/use/useTableOption.confirm.tsx +2 -2
  67. package/src/packages/components/AutoTable/use/useTableOption.fill.tsx +8 -8
  68. package/src/packages/components/AutoTable/use/useTableOption.hooks.tsx +6 -4
  69. package/src/packages/components/AutoTable/use/useTableOption.loading.tsx +3 -3
  70. package/src/packages/components/AutoTable/use/useTableOption.methods.tsx +7 -4
  71. package/src/packages/components/AutoTable/use/useTableOption.pagination.tsx +3 -3
  72. package/src/packages/components/AutoTable/use/useTableOption.parent.tsx +5 -2
  73. package/src/packages/components/AutoTable/use/useTableOption.permission.tsx +1 -1
  74. package/src/packages/components/AutoTable/use/useTableOption.sort.ts +8 -7
  75. package/src/packages/components/AutoTable/use/useTableOption.state.tsx +1 -1
  76. package/src/packages/components/AutoTable/use/useTableOption.table.tsx +7 -5
  77. package/src/packages/components/AutoTable/use/useTableOption.tips.tsx +3 -3
  78. package/src/packages/components/AutoTable/use/useTableOptionKeyboard.tsx +13 -4
  79. package/src/packages/components/AutoTable/utils/AutoModule.ts +1 -1
  80. package/src/packages/components/AutoTable/utils/AutoTable.utils.ts +76 -1
  81. package/src/packages/components/AutoTable/utils/TableOption.space.tsx +10 -6
  82. package/src/packages/components/AutoTable/utils/TableOption.url.ts +1 -1
  83. package/src/packages/components/AutoTable/utils/TableOption.utils.tsx +3 -3
  84. package/src/packages/components/AutoTable/utils/buildPlainDefaultUrlConfig.ts +6 -6
  85. package/src/packages/components/AutoWidthInput/index.tsx +2 -2
  86. package/src/packages/components/Badge/badge.scss +4 -0
  87. package/src/packages/components/Badge/index.tsx +1 -1
  88. package/src/packages/components/Box/index.tsx +31 -30
  89. package/src/packages/components/Button/index.tsx +11 -4
  90. package/src/packages/components/ButtonGroup/index.tsx +2 -2
  91. package/src/packages/components/Card/index.tsx +2 -2
  92. package/src/packages/components/Carousel/index.tsx +8 -8
  93. package/src/packages/components/CarouselItem/index.tsx +3 -3
  94. package/src/packages/components/Cascade/CascadeKeys.tsx +158 -0
  95. package/src/packages/components/Cascade/cascade.utils.ts +1 -1
  96. package/src/packages/components/Cascade/createCascadeHooks.ts +1 -1
  97. package/src/packages/components/Cascade/createCascadePopper.tsx +5 -4
  98. package/src/packages/components/Cascade/createCascadeUtils.ts +2 -2
  99. package/src/packages/components/Cascade/createMultipleCascadeRender.tsx +5 -6
  100. package/src/packages/components/Cascade/createSingleCascadeRender.tsx +7 -7
  101. package/src/packages/components/Cascade/index.tsx +3 -3
  102. package/src/packages/components/CascadeKeys/index.tsx +5 -0
  103. package/src/packages/components/CascadePanel/cascade-panel.utils.ts +3 -3
  104. package/src/packages/components/CascadePanel/flat/CascadeFlatPanelNode.tsx +1 -1
  105. package/src/packages/components/CascadePanel/flat/createCascadeFlatRender.tsx +14 -9
  106. package/src/packages/components/CascadePanel/index.tsx +22 -4
  107. package/src/packages/components/CascadePanel/list/CascadeListPanelItem.tsx +1 -1
  108. package/src/packages/components/CascadePanel/list/CascadeListPanelNode.tsx +1 -1
  109. package/src/packages/components/CascadePanel/list/createCascadeListRender.tsx +6 -2
  110. package/src/packages/components/Checkbox/index.tsx +8 -10
  111. package/src/packages/components/CheckboxGroup/index.tsx +1 -1
  112. package/src/packages/components/CheckboxInner/index.tsx +1 -1
  113. package/src/packages/components/Collapse/index.tsx +2 -2
  114. package/src/packages/components/CollapseGroup/index.tsx +1 -1
  115. package/src/packages/components/CollapseTransition/index.tsx +5 -5
  116. package/src/packages/components/ColorPicker/ColorPanel.tsx +146 -125
  117. package/src/packages/components/ColorPicker/color-panel.scss +117 -97
  118. package/src/packages/components/ColorPicker/index.tsx +144 -131
  119. package/src/packages/components/ColorPicker/sub/ColorAlphaSlider.tsx +1 -1
  120. package/src/packages/components/ColorPicker/sub/ColorHueSlider.tsx +1 -1
  121. package/src/packages/components/ColorPicker/sub/ColorSlider.tsx +5 -5
  122. package/src/packages/components/ColorPicker/sub/ColorSvPanel.tsx +4 -4
  123. package/src/packages/components/ColorPicker/useColorPanelEditor.tsx +1 -1
  124. package/src/packages/components/ColorPicker/useColorPanelHistory.tsx +1 -1
  125. package/src/packages/components/ColorPicker/utils/color-picker.utils.tsx +1 -1
  126. package/src/packages/components/ConfirmPopup/index.tsx +1 -1
  127. package/src/packages/components/Corner/index.tsx +3 -3
  128. package/src/packages/components/DatePicker/createDateRender.multiple.tsx +7 -7
  129. package/src/packages/components/DatePicker/createDateRender.single.tsx +8 -7
  130. package/src/packages/components/DatePicker/createRangeDateRender.range.tsx +3 -3
  131. package/src/packages/components/DatePicker/createRangeDateRender.separate.tsx +3 -3
  132. package/src/packages/components/DatePicker/date.utils.tsx +2 -2
  133. package/src/packages/components/DatePicker/index.tsx +3 -1
  134. package/src/packages/components/DatePicker/panel/DatePanel.tsx +1 -1
  135. package/src/packages/components/DatePicker/panel/DatePanelDate.tsx +2 -2
  136. package/src/packages/components/DatePicker/panel/DatePanelMonth.tsx +1 -1
  137. package/src/packages/components/DatePicker/panel/DatePanelQuarter.tsx +1 -1
  138. package/src/packages/components/DatePicker/panel/DatePanelRange.tsx +1 -1
  139. package/src/packages/components/DatePicker/panel/DatePanelWeek.tsx +1 -1
  140. package/src/packages/components/DatePicker/panel/DatePanelYear.tsx +1 -1
  141. package/src/packages/components/DatePicker/panel/useDatePanel.tsx +2 -2
  142. package/src/packages/components/DatePicker/panel/useDateWeek.tsx +2 -2
  143. package/src/packages/components/DatePicker/useRangeDateRender.tsx +8 -8
  144. package/src/packages/components/Dialog/index.tsx +11 -7
  145. package/src/packages/components/Dialog/useDialogMovable.tsx +1 -1
  146. package/src/packages/components/Dialog/utils/dialog.utils.ts +1 -1
  147. package/src/packages/components/Dropdown/dropdown.utils.tsx +2 -3
  148. package/src/packages/components/Dropdown/index.tsx +18 -5
  149. package/src/packages/components/DropdownGroup/index.tsx +1 -1
  150. package/src/packages/components/DropdownOption/index.tsx +2 -2
  151. package/src/packages/components/DropdownSeparator/index.tsx +1 -1
  152. package/src/packages/components/Empty/index.tsx +1 -1
  153. package/src/packages/components/FilterFormMultiple/index.tsx +12 -7
  154. package/src/packages/components/FilterFormSingle/index.tsx +178 -173
  155. package/src/packages/components/FilterService/filter/filter.city.tsx +4 -3
  156. package/src/packages/components/FilterService/filter/filter.district.tsx +4 -3
  157. package/src/packages/components/FilterService/filter/filter.number.tsx +2 -2
  158. package/src/packages/components/FilterService/filter/filter.province.tsx +1 -1
  159. package/src/packages/components/FilterService/filter/filter.select.tsx +3 -2
  160. package/src/packages/components/FilterService/filter/fitler.object.tsx +1 -1
  161. package/src/packages/components/FilterService/index.tsx +2 -2
  162. package/src/packages/components/FilterService/utils/filter.service.utils.ts +2 -2
  163. package/src/packages/components/FilterService/utils/mergeQueryParam.ts +3 -3
  164. package/src/packages/components/Form/form.scss +4 -0
  165. package/src/packages/components/Form/index.tsx +1 -1
  166. package/src/packages/components/Form/layout/useFormLayout.tsx +6 -5
  167. package/src/packages/components/Form/types/any.tsx +1 -1
  168. package/src/packages/components/Form/types/array.tsx +1 -1
  169. package/src/packages/components/Form/types/date.tsx +1 -1
  170. package/src/packages/components/Form/types/number.tsx +1 -1
  171. package/src/packages/components/Form/types/string.tsx +1 -1
  172. package/src/packages/components/Form/validate/createValidation.tsx +2 -2
  173. package/src/packages/components/Form/validate/useFormItemValidation.tsx +32 -31
  174. package/src/packages/components/Form/validate/useFormValidation.tsx +2 -2
  175. package/src/packages/components/Form/validate/validate.utils.tsx +4 -4
  176. package/src/packages/components/FormItem/FormItemValidateMessage.tsx +1 -1
  177. package/src/packages/components/FormItem/createFormEditor.tsx +2 -2
  178. package/src/packages/components/FormItem/index.tsx +8 -1
  179. package/src/packages/components/Grid/GridCol.tsx +1 -1
  180. package/src/packages/components/Grid/GridRow.tsx +3 -3
  181. package/src/packages/components/Icon/icon.external.tsx +117 -0
  182. package/src/packages/components/Icon/icon.registry.tsx +2 -2
  183. package/src/packages/components/Icon/index.tsx +13 -7
  184. package/src/packages/components/IconPicker/DefaultIcons.ts +7 -0
  185. package/src/packages/components/IconPicker/icon-picker.scss +43 -0
  186. package/src/packages/components/IconPicker/index.tsx +189 -0
  187. package/src/packages/components/Illustration/index.tsx +1 -1
  188. package/src/packages/components/Image/image.scss +9 -1
  189. package/src/packages/components/Image/index.tsx +15 -7
  190. package/src/packages/components/ImagePreviewer/ImagePreviewer.tsx +6 -6
  191. package/src/packages/components/ImagePreviewer/ImagePreviewerButtonBar.tsx +1 -1
  192. package/src/packages/components/ImagePreviewer/ImagePreviewerCarouselImage.tsx +2 -2
  193. package/src/packages/components/ImagePreviewer/ImagePreviewerGallery.tsx +3 -3
  194. package/src/packages/components/ImagePreviewer/PreviewerLoading.tsx +1 -1
  195. package/src/packages/components/ImagePreviewer/image-previewer.utils.tsx +4 -4
  196. package/src/packages/components/ImageSelector/image-selector.scss +70 -0
  197. package/src/packages/components/ImageSelector/index.tsx +59 -0
  198. package/src/packages/components/ImageUploader/index.tsx +32 -16
  199. package/src/packages/components/Input/index.scss +14 -2
  200. package/src/packages/components/Input/index.tsx +3 -3
  201. package/src/packages/components/Input/input.utils.ts +1 -1
  202. package/src/packages/components/Input/useMultipleInput.tsx +11 -10
  203. package/src/packages/components/Input/useSingleInput.tsx +2 -2
  204. package/src/packages/components/Input/useSuggestionInput.tsx +9 -9
  205. package/src/packages/components/Input/useTextareaInput.tsx +6 -6
  206. package/src/packages/components/Input/uses/useInputEnterHandler.tsx +24 -13
  207. package/src/packages/components/Input/uses/useInputHooks.tsx +1 -1
  208. package/src/packages/components/Input/uses/useInputMaxLength.tsx +1 -1
  209. package/src/packages/components/Input/uses/useInputSuffixIcon.tsx +2 -2
  210. package/src/packages/components/InputGroup/index.tsx +1 -1
  211. package/src/packages/components/InputGroup/input-group.scss +9 -0
  212. package/src/packages/components/InputNumber/NumberResize.tsx +4 -4
  213. package/src/packages/components/InputNumber/index.tsx +1 -1
  214. package/src/packages/components/InputNumber/input-number.utils.tsx +1 -1
  215. package/src/packages/components/InputNumber/number.scss +3 -0
  216. package/src/packages/components/InputNumber/number.utils.ts +1 -1
  217. package/src/packages/components/InputNumber/useInputNumber.multiple.tsx +2 -2
  218. package/src/packages/components/InputNumber/useInputNumber.public.tsx +12 -11
  219. package/src/packages/components/InputNumber/useInputNumber.single.tsx +2 -2
  220. package/src/packages/components/Layout/index.tsx +9 -2
  221. package/src/packages/components/Layout/layout.scss +20 -0
  222. package/src/packages/components/Layout/layout.utils.ts +1 -1
  223. package/src/packages/components/LayoutSection/index.tsx +12 -3
  224. package/src/packages/components/LayoutSection/useLayoutSectionResizer.tsx +2 -2
  225. package/src/packages/components/List/index.tsx +1 -1
  226. package/src/packages/components/ListOption/index.tsx +20 -0
  227. package/src/packages/components/ListPanel/index.tsx +30 -0
  228. package/src/packages/components/ListPanel/list-panel.scss +20 -0
  229. package/src/packages/components/Loading/index.tsx +2 -2
  230. package/src/packages/components/LoadingMask/index.tsx +2 -2
  231. package/src/packages/components/NumberRange/index.tsx +94 -93
  232. package/src/packages/components/Object/createObjectHooks.tsx +1 -1
  233. package/src/packages/components/Object/createObjectRender.multiple.tsx +10 -10
  234. package/src/packages/components/Object/createObjectRender.single.tsx +18 -14
  235. package/src/packages/components/Object/index.tsx +3 -3
  236. package/src/packages/components/Object/object.utils.ts +5 -3
  237. package/src/packages/components/Ov/index.tsx +1 -1
  238. package/src/packages/components/Ov/ov.utils.ts +1 -1
  239. package/src/packages/components/Ov/usePublicOv.tsx +1 -1
  240. package/src/packages/components/PageCard/index.tsx +4 -1
  241. package/src/packages/components/PageCardContent/index.tsx +4 -1
  242. package/src/packages/components/PageCardTitle/index.tsx +1 -1
  243. package/src/packages/components/PageRenderList/index.tsx +1 -1
  244. package/src/packages/components/PageThemeUtils/index.tsx +3 -3
  245. package/src/packages/components/Pagination/index.tsx +3 -3
  246. package/src/packages/components/Paragraph/index.tsx +1 -1
  247. package/src/packages/components/ParagraphItem/index.tsx +1 -1
  248. package/src/packages/components/PlcImage/index.tsx +6 -6
  249. package/src/packages/components/PlcObject/index.tsx +2 -2
  250. package/src/packages/components/PlcOv/index.tsx +1 -1
  251. package/src/packages/components/Popup/PopupProvider.tsx +1 -2
  252. package/src/packages/components/Popup/index.tsx +2 -2
  253. package/src/packages/components/ProgressBar/index.tsx +1 -1
  254. package/src/packages/components/ProgressBar/progress.utils.ts +2 -2
  255. package/src/packages/components/ProgressCircle/index.tsx +2 -2
  256. package/src/packages/components/ProgressMini/index.tsx +2 -2
  257. package/src/packages/components/Radio/index.tsx +4 -4
  258. package/src/packages/components/RadioGroup/index.tsx +1 -1
  259. package/src/packages/components/RadioInner/index.tsx +1 -1
  260. package/src/packages/components/Rate/index.tsx +3 -3
  261. package/src/packages/components/Reference/ReferenceProvider.tsx +1 -1
  262. package/src/packages/components/Reference/index.tsx +1 -1
  263. package/src/packages/components/RollingNumber/index.tsx +2 -2
  264. package/src/packages/components/Scroll/HorizontalScrollbar.tsx +4 -4
  265. package/src/packages/components/Scroll/VerticalScrollbar.tsx +4 -4
  266. package/src/packages/components/Scroll/index.tsx +6 -5
  267. package/src/packages/components/Scroll/useAutoScroll.ts +1 -1
  268. package/src/packages/components/Segment/index.tsx +1 -1
  269. package/src/packages/components/SegmentGroup/index.tsx +1 -1
  270. package/src/packages/components/Select/SelectPanel.tsx +1 -1
  271. package/src/packages/components/Select/createMultipleSelectRender.tsx +12 -8
  272. package/src/packages/components/Select/createPublicSelectRender.tsx +18 -12
  273. package/src/packages/components/Select/createSelectOptionDecoder.tsx +1 -1
  274. package/src/packages/components/Select/createSingleSelectRender.tsx +13 -9
  275. package/src/packages/components/Select/decodeSelectRenderNode.tsx +6 -4
  276. package/src/packages/components/Select/index.tsx +13 -1
  277. package/src/packages/components/Select/select.utils.tsx +5 -4
  278. package/src/packages/components/SelectDisplay/index.tsx +3 -3
  279. package/src/packages/components/SelectGroup/index.tsx +1 -1
  280. package/src/packages/components/SelectOption/index.tsx +2 -2
  281. package/src/packages/components/Skeleton/index.tsx +44 -0
  282. package/src/packages/components/Skeleton/skeleton.scss +27 -0
  283. package/src/packages/components/Slider/index.tsx +3 -3
  284. package/src/packages/components/Slider/slider.utils.tsx +1 -1
  285. package/src/packages/components/Slider/useSlider.range.tsx +13 -10
  286. package/src/packages/components/Slider/useSlider.single.tsx +8 -9
  287. package/src/packages/components/Slider/useSliderDotDragier.tsx +4 -4
  288. package/src/packages/components/SortList/index.tsx +4 -4
  289. package/src/packages/components/Space/index.tsx +1 -1
  290. package/src/packages/components/StackCard/index.tsx +4 -4
  291. package/src/packages/components/StackCardItem/index.tsx +1 -1
  292. package/src/packages/components/Step/index.tsx +1 -1
  293. package/src/packages/components/StepGroup/index.tsx +1 -1
  294. package/src/packages/components/Tab/index.tsx +1 -1
  295. package/src/packages/components/TabGroup/TabsHeader.tsx +1 -1
  296. package/src/packages/components/TabGroup/TabsInner.tsx +1 -1
  297. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontal.tsx +3 -3
  298. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalCard.tsx +1 -1
  299. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalShadow.tsx +1 -1
  300. package/src/packages/components/TabGroup/header/horizontal/TabsHeaderHorizontalText.tsx +2 -2
  301. package/src/packages/components/TabGroup/header/vertical/TabsHeaderVertical.tsx +1 -1
  302. package/src/packages/components/TabGroup/index.tsx +1 -1
  303. package/src/packages/components/TabGroup/tabs.utils.tsx +1 -1
  304. package/src/packages/components/Table/editor/PlcAddress.tsx +1 -1
  305. package/src/packages/components/Table/editor/PlcAddressItem.tsx +1 -1
  306. package/src/packages/components/Table/editor/PlcCheckbox.tsx +1 -1
  307. package/src/packages/components/Table/editor/PlcColorPicker.tsx +1 -1
  308. package/src/packages/components/Table/editor/PlcDate.tsx +1 -1
  309. package/src/packages/components/Table/editor/PlcDate.utils.tsx +2 -2
  310. package/src/packages/components/Table/editor/PlcDateRange.tsx +1 -1
  311. package/src/packages/components/Table/editor/PlcInput.tsx +1 -1
  312. package/src/packages/components/Table/editor/PlcNumber.tsx +1 -1
  313. package/src/packages/components/Table/editor/PlcRate.tsx +1 -1
  314. package/src/packages/components/Table/editor/PlcSelect.tsx +2 -1
  315. package/src/packages/components/Table/editor/PlcTextarea.tsx +1 -1
  316. package/src/packages/components/Table/editor/PlcTime.tsx +1 -1
  317. package/src/packages/components/Table/editor/PlcTime.utils.ts +2 -2
  318. package/src/packages/components/Table/editor/PlcTimeRange.tsx +1 -1
  319. package/src/packages/components/Table/editor/PlcToggle.tsx +1 -1
  320. package/src/packages/components/Table/plc/group/PlcGroup.tsx +1 -1
  321. package/src/packages/components/Table/plc/plc/Plc.tsx +1 -1
  322. package/src/packages/components/Table/plc/process/copyPlcList.ts +1 -1
  323. package/src/packages/components/Table/plc/process/processPlcFixed.ts +1 -1
  324. package/src/packages/components/Table/plc/process/processPlcSort.ts +1 -1
  325. package/src/packages/components/Table/plc/use/useBasePlc.tsx +3 -3
  326. package/src/packages/components/Table/plc/use/useBasePlcGroup.tsx +1 -1
  327. package/src/packages/components/Table/plc/use/usePlc.tsx +1 -1
  328. package/src/packages/components/Table/plc/use/usePlcPropsState.tsx +2 -2
  329. package/src/packages/components/Table/plc/use/useTableAutoSpan.tsx +112 -0
  330. package/src/packages/components/Table/plc/useTablePlc.tsx +7 -4
  331. package/src/packages/components/Table/plc/utils/plc.render.ts +1 -1
  332. package/src/packages/components/Table/plc/utils/plc.scope-slots.ts +1 -1
  333. package/src/packages/components/Table/plc/utils/plc.utils.ts +9 -6
  334. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.hooks.tsx +3 -3
  335. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.multiple.tsx +7 -8
  336. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.single.tsx +4 -5
  337. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.tsx +2 -2
  338. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.utils.ts +3 -3
  339. package/src/packages/components/Table/standard/PlcDraggier/PlcDraggier.tsx +2 -2
  340. package/src/packages/components/Table/standard/PlcExclusion.tsx +2 -2
  341. package/src/packages/components/Table/standard/PlcExpand.tsx +2 -2
  342. package/src/packages/components/Table/standard/PlcIndex.tsx +1 -1
  343. package/src/packages/components/Table/standard/PlcOperation/OuterOperation.tsx +3 -2
  344. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.tsx +12 -6
  345. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.utils.tsx +4 -4
  346. package/src/packages/components/Table/standard/PlcOperation/useOperationPermission.ts +1 -1
  347. package/src/packages/components/Table/standard/PlcTree/PlcTree.autoWidth.tsx +1 -1
  348. package/src/packages/components/Table/standard/PlcTree/PlcTree.renderNode.tsx +2 -2
  349. package/src/packages/components/Table/standard/PlcTree/PlcTree.tsx +4 -4
  350. package/src/packages/components/Table/standard/PlcTree/PlcTree.utils.ts +2 -2
  351. package/src/packages/components/Table/standard/PlcTree/PlcTreeHeader.tsx +3 -3
  352. package/src/packages/components/Table/standard/PlcTree/RenderPlcTreeNode.tsx +6 -5
  353. package/src/packages/components/Table/table/Table.tsx +14 -10
  354. package/src/packages/components/Table/table/body/cell.tsx +36 -5
  355. package/src/packages/components/Table/table/body/row.tsx +1 -1
  356. package/src/packages/components/Table/table/body/useCellValue.tsx +15 -6
  357. package/src/packages/components/Table/table/head/head-cell.tsx +8 -2
  358. package/src/packages/components/Table/table/head/useHeadCellResize.ts +4 -4
  359. package/src/packages/components/Table/table/node/useTableNode.tsx +2 -2
  360. package/src/packages/components/Table/table/table.scss +4 -0
  361. package/src/packages/components/Table/table/use/useFixedShadow.ts +2 -2
  362. package/src/packages/components/Table/table/use/useTableDraggier.col.tsx +6 -6
  363. package/src/packages/components/Table/table/use/useTableDraggier.row.tsx +7 -7
  364. package/src/packages/components/Table/table/use/useTableDraggier.tsx +3 -3
  365. package/src/packages/components/Table/table/use/useTableFormEditor.tsx +47 -39
  366. package/src/packages/components/Table/table/use/useTableLoading.tsx +2 -2
  367. package/src/packages/components/Table/table/use/useTableMethods.tsx +2 -2
  368. package/src/packages/components/Table/table/use/useTableModifyEditor.tsx +12 -6
  369. package/src/packages/components/Table/table/use/useTableScroll.tsx +1 -1
  370. package/src/packages/components/Table/table/utils/createTableHooks.ts +7 -5
  371. package/src/packages/components/Table/table/utils/table.utils.ts +7 -5
  372. package/src/packages/components/Tag/index.tsx +8 -3
  373. package/src/packages/components/Tag/tag.scss +10 -1
  374. package/src/packages/components/ThemeColor/index.tsx +1 -1
  375. package/src/packages/components/ThemeColorSelector/index.tsx +1 -1
  376. package/src/packages/components/ThemeDarkSelector/index.tsx +1 -2
  377. package/src/packages/components/ThemeEditor/index.tsx +3 -3
  378. package/src/packages/components/ThemeLocaleSelector/index.tsx +1 -2
  379. package/src/packages/components/ThemeShapeSelector/index.tsx +1 -2
  380. package/src/packages/components/ThemeSizeSelector/index.tsx +1 -2
  381. package/src/packages/components/TimePicker/createRangeTimeRender.tsx +3 -3
  382. package/src/packages/components/TimePicker/createSeparateRangeTimeRender.tsx +3 -3
  383. package/src/packages/components/TimePicker/createSingleTimeRender.tsx +7 -8
  384. package/src/packages/components/TimePicker/index.tsx +1 -1
  385. package/src/packages/components/TimePicker/panel/TimeBaseColumn.tsx +4 -4
  386. package/src/packages/components/TimePicker/panel/TimeBasePanel.tsx +1 -1
  387. package/src/packages/components/TimePicker/panel/TimePanel.tsx +2 -2
  388. package/src/packages/components/TimePicker/panel/TimeRangePanel.tsx +1 -1
  389. package/src/packages/components/TimePicker/panel/time-panel.utils.ts +1 -1
  390. package/src/packages/components/TimePicker/time.utils.ts +1 -1
  391. package/src/packages/components/TimePicker/useRangeTimeRender.tsx +9 -9
  392. package/src/packages/components/TimePicker/useTimeHooks.ts +1 -1
  393. package/src/packages/components/Toggle/index.tsx +4 -4
  394. package/src/packages/components/Tooltip/index.tsx +2 -2
  395. package/src/packages/components/Transition/index.tsx +5 -2
  396. package/src/packages/components/Tree/RenderTreeNode.tsx +4 -3
  397. package/src/packages/components/Tree/index.tsx +2 -2
  398. package/src/packages/components/TreeCore/TreeCore.type.tsx +3 -1
  399. package/src/packages/components/TreeCore/createTreeCore.tsx +3 -3
  400. package/src/packages/components/TreeCore/createTreeDraggier.tsx +9 -9
  401. package/src/packages/components/TreeCore/createTreeHooks.ts +1 -1
  402. package/src/packages/components/TreeCore/createTreeMethods.tsx +2 -2
  403. package/src/packages/components/TreeCore/createTreeNode.tsx +11 -6
  404. package/src/packages/components/TreeCore/createTreeProps.ts +4 -3
  405. package/src/packages/components/TreeCore/createTreeUtils.ts +2 -2
  406. package/src/packages/components/TreeNodeWithMenu/index.tsx +5 -1
  407. package/src/packages/components/TreeNodeWithMenu/treeNodeWithMenu.utils.ts +1 -1
  408. package/src/packages/components/Triangle/index.tsx +2 -2
  409. package/src/packages/components/Upload/index.tsx +6 -6
  410. package/src/packages/components/VirtualList/createVirtualDraggier.ts +7 -7
  411. package/src/packages/components/VirtualList/index.tsx +1 -1
  412. package/src/packages/components/VirtualList/useVirtualList.tsx +11 -11
  413. package/src/packages/components/VirtualTable/index.tsx +10 -4
  414. package/src/packages/components/VirtualTable/virtual-table.scss +3 -3
  415. package/src/packages/components/createPlainAddressService/index.tsx +2 -2
  416. package/src/packages/components/createRequestInterceptor/index.ts +2 -2
  417. package/src/packages/components/createScrollDraggier/index.ts +5 -5
  418. package/src/packages/components/createScrollUtils/index.tsx +1 -1
  419. package/src/packages/components/createSimpleDate/index.ts +49 -0
  420. package/src/packages/components/createTransitionHandler/index.ts +1 -1
  421. package/src/packages/components/useAutoScrollUtils/index.tsx +4 -4
  422. package/src/packages/components/useContextmenuOptions/index.tsx +40 -0
  423. package/src/packages/components/useDialog/DialogService.tsx +9 -9
  424. package/src/packages/components/useDialog/dialog.service.utils.tsx +5 -5
  425. package/src/packages/components/useDialog/index.tsx +4 -4
  426. package/src/packages/components/useImage/ImageService.tsx +5 -5
  427. package/src/packages/components/useLoading/LoadingService.tsx +3 -3
  428. package/src/packages/components/useLoading/index.tsx +1 -1
  429. package/src/packages/components/useLoading/loading.service.utils.tsx +2 -2
  430. package/src/packages/components/useMessage/Message.tsx +1 -1
  431. package/src/packages/components/useMessage/MessageContainer.tsx +1 -1
  432. package/src/packages/components/useMessage/MessageManager.tsx +1 -1
  433. package/src/packages/components/useMessage/index.tsx +1 -1
  434. package/src/packages/components/useMessage/message.service.utils.tsx +4 -4
  435. package/src/packages/components/useNotice/Notice.tsx +1 -1
  436. package/src/packages/components/useNotice/NoticeContainer.tsx +1 -1
  437. package/src/packages/components/useNotice/NoticeManager.tsx +1 -1
  438. package/src/packages/components/useNotice/index.tsx +1 -1
  439. package/src/packages/components/useNotice/noitice.service.utils.tsx +4 -4
  440. package/src/packages/components/usePageRenderContext/index.tsx +1 -1
  441. package/src/packages/components/usePopup/PopupItem.tsx +17 -10
  442. package/src/packages/components/usePopup/refresh/refreshArrow.ts +1 -1
  443. package/src/packages/components/usePopup/trigger/useManagerTrigger.clickOutside.tsx +19 -24
  444. package/src/packages/components/usePopup/trigger/usePopupTrigger.tsx +2 -2
  445. package/src/packages/components/usePopup/trigger/useReferenceTrigger.tsx +52 -46
  446. package/src/packages/components/usePopup/usePopup.tsx +2 -2
  447. package/src/packages/components/usePopup/usePopupManager.tsx +14 -3
  448. package/src/packages/components/usePopup/utils/createPopupManagerHooks.tsx +1 -1
  449. package/src/packages/components/usePopup/utils/ids2map.ts +1 -1
  450. package/src/packages/components/usePopup/utils/popup.utils.ts +3 -4
  451. package/src/packages/components/usePopupEditor/index.tsx +6 -9
  452. package/src/packages/components/usePopupEditor/popup-editor.utils.ts +1 -1
  453. package/src/packages/components/useTableFilter/index.ts +73 -0
  454. package/src/packages/components/useTooltip/index.tsx +6 -7
  455. package/src/packages/directives/ClickWave/index.tsx +2 -2
  456. package/src/packages/directives/ResizeDetector/index.tsx +2 -2
  457. package/src/packages/entry.tsx +326 -287
  458. package/src/packages/i18n/i18n.utils.ts +5 -5
  459. package/src/packages/i18n/lang/en-us.ts +37 -14
  460. package/src/packages/i18n/lang/zh-cn.ts +24 -1
  461. package/src/packages/styles/application/application.public.scss +7 -0
  462. package/src/packages/styles/global.import.scss +60 -15
  463. package/src/packages/uses/createInputPopperAttrs.ts +10 -3
  464. package/src/packages/uses/useCollapseStyles.tsx +2 -2
  465. package/src/packages/uses/useDragHorizontalScroll.ts +4 -5
  466. package/src/packages/uses/useEdit.ts +42 -15
  467. package/src/packages/uses/useFocusHandler.ts +26 -13
  468. package/src/packages/uses/useFunctionWrapper.ts +3 -1
  469. package/src/packages/uses/useMultipleModel.tsx +6 -4
  470. package/src/packages/uses/useRenderReference.tsx +1 -1
  471. package/src/packages/uses/useStyle.tsx +4 -4
  472. package/src/packages/utils/ClientZoom.ts +1 -1
  473. package/src/packages/utils/FixInput.ts +1 -1
  474. package/src/packages/utils/InnerTransition.ts +2 -2
  475. package/src/packages/utils/LoadingText.ts +1 -1
  476. package/src/packages/utils/OpenController.ts +1 -1
  477. package/src/packages/utils/constant.tsx +1 -1
  478. package/src/packages/utils/createDraggier.ts +7 -7
  479. package/src/packages/utils/createFlagManager.ts +1 -1
  480. package/src/packages/utils/findReactElement.tsx +1 -1
  481. package/src/packages/utils/getDeviceInfo.ts +1 -1
  482. package/src/packages/utils/getRowEl.ts +2 -2
  483. package/src/packages/utils/incrementalMerge.ts +1 -1
  484. package/src/packages/utils/inheritSlots.ts +3 -1
  485. package/src/packages/utils/installAllIcons.ts +20 -19
  486. package/src/packages/utils/installAllLazyIcons.ts +1 -1
  487. package/src/packages/utils/isObjectCommonMatch.ts +1 -1
  488. package/src/packages/utils/onParentElementsScroll.tsx +2 -2
  489. package/src/packages/utils/plainDate.ts +1 -1
  490. package/src/packages/utils/useMove.tsx +3 -3
  491. package/src/packages/utils/watchEffectAutoClear.ts +2 -2
  492. package/src/packages/components/KeyboardService/index.ts +0 -214
  493. package/src/packages/components/ThemeDarkSelector/theme-dark-selector.scss +0 -5
  494. package/src/packages/components/ThemeLocaleSelector/theme-locale-selector.scss +0 -5
  495. package/src/packages/components/ThemeShapeSelector/theme-shape-selector.scss +0 -5
  496. package/src/packages/components/ThemeSizeSelector/theme-size-selector.scss +0 -5
  497. package/src/packages/components/createProvider/index.ts +0 -5
  498. package/src/packages/utils/createProvider.tsx +0 -35
@@ -1,7 +1,7 @@
1
- import {createSyncHooks, reactive} from "plain-design-composition";
1
+ import {anonymousEffects, createHooks, reactive} from "@peryl/react-compose";
2
2
  import {ZhCnLocale} from './lang/zh-cn';
3
3
  import {deepmerge} from "../components/PageThemeUtils/deepmerge";
4
- import {PlainObject} from "plain-utils/utils/event";
4
+ import {PlainObject} from "@peryl/utils/event";
5
5
  import {createCache} from "../utils/createCache";
6
6
 
7
7
  /**
@@ -51,8 +51,8 @@ export const i18n = (() => {
51
51
  });
52
52
 
53
53
  const hooks = {
54
- onChangeLang: createSyncHooks<() => void>(),
55
- onUpdateLangs: createSyncHooks<() => void>()
54
+ onChangeLang: createHooks<() => void>(anonymousEffects),
55
+ onUpdateLangs: createHooks<() => void>(anonymousEffects)
56
56
  };
57
57
 
58
58
  /**
@@ -73,7 +73,7 @@ export const i18n = (() => {
73
73
  for (let i = 0, j = array.length; i < j; i++) {
74
74
  const property = array[i];
75
75
  let value = current[property];
76
- if (i === j - 1) return !options ? value : formatLang(value, options);
76
+ if (i === j - 1) return !options ? value : formatLang(value, options)!;
77
77
  if (!value) return '';
78
78
  current = value;
79
79
  }
@@ -29,7 +29,7 @@ export const EnUsLocale: tZhCnLocale = {
29
29
  main: 'Main',
30
30
  fixed: 'Fixed',
31
31
  hide: 'Hidden',
32
- exportData: 'Export data',
32
+ exportData: 'Export Data',
33
33
  custom: 'Custom',
34
34
  setting: 'Setting',
35
35
  asc: 'Asc',
@@ -116,6 +116,13 @@ export const EnUsLocale: tZhCnLocale = {
116
116
  summary: 'Sum',
117
117
  save: 'Save',
118
118
  done: 'Done',
119
+ undo: 'Undo',
120
+ redo: 'Redo',
121
+ import: 'Import',
122
+ export: 'Export',
123
+ clear: 'Clear',
124
+ forward: 'Forward',
125
+ backward: 'Backward',
119
126
  },
120
127
  yes: 'YES',
121
128
  no: 'NO',
@@ -176,21 +183,22 @@ export const EnUsLocale: tZhCnLocale = {
176
183
  configSeniorFilter: 'Senior filter',
177
184
  formFilter: 'Form filter',
178
185
  formQuery: 'Form query',
186
+ aiButton: 'AI Chat',
179
187
  searchBar: 'Search bar',
180
188
  pleaseEditSearchParam: 'Please input search param directly',
181
- allFilter: 'All filter',
189
+ allFilter: 'All Filter',
182
190
  noFilter: 'No filter',
183
191
  clearAll: 'Clear all',
184
192
  pleaseInputThConfigurationName: 'Please input configuration name',
185
193
  bak: 'Backup',
186
194
  areYouSureToOverrideTheConfiguration: 'Are you sure to override "{title}" to be the latest configuration',
187
- cacheSetting: 'Cache setting',
195
+ cacheSetting: 'Cache Setting',
188
196
  clearFilterSortAndConfiguration: 'Clear filter, sort and configuration',
189
197
  withoutAnyConfiguration: 'Use none configuration',
190
198
  saveToNewConfiguration: 'Save current to be new configuration',
191
199
  cacheName: 'Cache name',
192
200
  createTime: 'Create time',
193
- customSetting: 'Custom setting',
201
+ customSetting: 'Custom Setting',
194
202
  title: 'Title',
195
203
  alignType: 'Align type',
196
204
  alignLeft: 'Left',
@@ -210,20 +218,21 @@ export const EnUsLocale: tZhCnLocale = {
210
218
  exportShowData: 'Export show data',
211
219
  fieldName: 'Field name',
212
220
  exportAgain: 'Export again',
213
- importData: 'Import data',
221
+ importData: 'Import Data',
214
222
  pleaseEnterCompleteParamsForCondition: 'Please input complete param for the {invalidIndex} condition ',
215
- seniorFilter: 'Senior filter',
223
+ seniorFilter: 'Senior Filter',
216
224
  pleaseAddFilterCondition: 'Please add filter condition',
217
- seniorQuery: 'Senior query',
225
+ seniorQuery: 'Senior Query',
218
226
  ascOrDesc: 'Asc Or Desc',
219
- formEdit: 'Form edit',
220
- batchCreate: 'Batch create',
221
- batchDelete: 'Batch delete',
222
- batchEdit: 'Batch edit',
223
- batchModify: 'Batch modify',
224
- seniorSort: 'Senior sort',
227
+ formEdit: 'Form Edit',
228
+ batchCreate: 'Batch Create',
229
+ aiCreate: 'AI Create',
230
+ batchDelete: 'Batch Delete',
231
+ batchEdit: 'Batch Edit',
232
+ batchModify: 'Batch Modify',
233
+ seniorSort: 'Senior Sort',
225
234
  canNotDeleteUsingCache: 'Can not delete cache which is using',
226
- columnFilter: 'Column filter',
235
+ columnFilter: 'Column Filter',
227
236
  distinctFilter: 'Distinct filter',
228
237
  filterTipInclude: '{field} includes {val}',
229
238
  clearDistinctFilter: 'Clear distinct filter',
@@ -316,4 +325,18 @@ export const EnUsLocale: tZhCnLocale = {
316
325
  searchHistory: 'Search History',
317
326
  favorite: 'Favorite'
318
327
  },
328
+ colorPicker: {
329
+ notSupportDropper: 'Your browser does not support color pickers. It is recommended to use Google Chrome',
330
+ exitDropperMode: 'Press the ESC key to close the color suction tube',
331
+ },
332
+ iconPicker: {
333
+ placeholder: 'Please select or input icon name',
334
+ },
335
+ ai: {
336
+ placeholder: 'Please enter the content to be sent to the AI, such as: Who are you?',
337
+ require: 'The content of the question cannot be empty',
338
+ tableAiPlaceholder: 'You can have a conversation with the AI to achieve the functions of querying, sorting, and configuring the list. For example, query the data with the number approximately equal to 129 and the creation time greater than the day before yesterday, sort it in descending order by the creation time first, and then in ascending order by the update time. Finally, adjust the width of the number field.',
339
+ formAiPlaceholder: 'Describe the data content you want to edit in one sentence.',
340
+ smartFilling: 'Smart Filling',
341
+ }
319
342
  };
@@ -47,7 +47,7 @@ export const ZhCnLocale = {
47
47
  invalidAmount: '无效金额',
48
48
  province: '省',
49
49
  city: '市',
50
- district: '区/县',
50
+ district: '区县',
51
51
  lookUp: '查看',
52
52
  operation: '操作',
53
53
  noFilter: '暂无筛选',
@@ -114,6 +114,13 @@ export const ZhCnLocale = {
114
114
  summary: '合计',
115
115
  save: '保存',
116
116
  done: '完成',
117
+ undo: '撤销',
118
+ redo: '重做',
119
+ import: '导入',
120
+ export: '导出',
121
+ clear: '清空',
122
+ forward: '前移',
123
+ backward: '后移',
117
124
  },
118
125
  yes: '是',
119
126
  no: '否',
@@ -174,6 +181,7 @@ export const ZhCnLocale = {
174
181
  configSeniorFilter: '配置高级查询',
175
182
  formFilter: '表单筛选',
176
183
  formQuery: '表单查询',
184
+ aiButton: 'AI对话',
177
185
  searchBar: '搜索栏',
178
186
  pleaseEditSearchParam: '请直接编辑搜索栏筛选参数',
179
187
  allFilter: '所有筛选',
@@ -216,6 +224,7 @@ export const ZhCnLocale = {
216
224
  ascOrDesc: '升序还是降序',
217
225
  formEdit: '表单编辑',
218
226
  batchCreate: '批量新建',
227
+ aiCreate: '智能新建',
219
228
  batchDelete: '批量删除',
220
229
  batchEdit: '批量编辑',
221
230
  batchModify: '批量修改',
@@ -314,6 +323,20 @@ export const ZhCnLocale = {
314
323
  searchHistory: '搜索历史',
315
324
  favorite: '收藏'
316
325
  },
326
+ colorPicker: {
327
+ notSupportDropper: '您的浏览器不支持颜色拾取器,推荐使用谷歌浏览器',
328
+ exitDropperMode: '按 ESC 键关闭取色吸管',
329
+ },
330
+ iconPicker: {
331
+ placeholder: '请选择或者输入图标',
332
+ },
333
+ ai: {
334
+ placeholder: '请输入要发送给ai的内容如:你是谁',
335
+ require: '提问的内容不能为空',
336
+ tableAiPlaceholder: '你可以与ai对话实现对列表的查询、排序以及配置功能;比如:查询编号约等于129,创建时间大于前天的数据,先按照创建时间降序,再按照更新时间升序排序;最后是调宽编号字段的宽度',
337
+ formAiPlaceholder: '一句话描述你要编辑的数据内容',
338
+ smartFilling: '智能填写',
339
+ }
317
340
  } as const;
318
341
 
319
342
  type ZhCnLocaleUtils<T> = { [k in keyof T]: T[k] extends string ? string : ZhCnLocaleUtils<T[k]> }
@@ -6,3 +6,10 @@
6
6
  transition: none !important;
7
7
  }
8
8
  }
9
+
10
+ @include comp(theme-selector) {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ color: plv(text-1);
15
+ }
@@ -57,6 +57,7 @@
57
57
  @mixin hover($component) {
58
58
  &:not(.#{$component}-disabled):not(.#{$component}-loading):not(.#{$component}-readonly):not(.#{$component}-focus) {
59
59
  &:hover, &.#{$component}-hover {
60
+ z-index: 2;
60
61
  @content;
61
62
  }
62
63
  }
@@ -99,21 +100,65 @@
99
100
  }
100
101
  @content;
101
102
 
102
- &.mt{margin-top: $margin}
103
- &.mb{margin-bottom: $margin}
104
- &.ml{margin-left: $margin}
105
- &.mr{margin-right: $margin}
106
- &.mx{margin-left: $margin;margin-right: $margin}
107
- &.my{margin-top: $margin;margin-bottom: $margin}
108
- &.margin {margin: $margin}
109
-
110
- &.pt{padding-top: $margin}
111
- &.pb{padding-bottom: $margin}
112
- &.pl{padding-left: $margin}
113
- &.pr{padding-right: $margin}
114
- &.px{padding-left: $margin;padding-right: $margin}
115
- &.py{padding-top: $margin;padding-bottom: $margin}
116
- &.padding {padding: $margin}
103
+ &.mt {
104
+ margin-top: $margin
105
+ }
106
+
107
+ &.mb {
108
+ margin-bottom: $margin
109
+ }
110
+
111
+ &.ml {
112
+ margin-left: $margin
113
+ }
114
+
115
+ &.mr {
116
+ margin-right: $margin
117
+ }
118
+
119
+ &.mx {
120
+ margin-left: $margin;
121
+ margin-right: $margin
122
+ }
123
+
124
+ &.my {
125
+ margin-top: $margin;
126
+ margin-bottom: $margin
127
+ }
128
+
129
+ &.margin {
130
+ margin: $margin
131
+ }
132
+
133
+ &.pt {
134
+ padding-top: $margin
135
+ }
136
+
137
+ &.pb {
138
+ padding-bottom: $margin
139
+ }
140
+
141
+ &.pl {
142
+ padding-left: $margin
143
+ }
144
+
145
+ &.pr {
146
+ padding-right: $margin
147
+ }
148
+
149
+ &.px {
150
+ padding-left: $margin;
151
+ padding-right: $margin
152
+ }
153
+
154
+ &.py {
155
+ padding-top: $margin;
156
+ padding-bottom: $margin
157
+ }
158
+
159
+ &.padding {
160
+ padding: $margin
161
+ }
117
162
  }
118
163
  }
119
164
  }
@@ -1,4 +1,4 @@
1
- import {computed, reactive, useModel} from "plain-design-composition";
1
+ import {computed, reactive, useModel} from "@peryl/react-compose";
2
2
 
3
3
  export function createInputPopperAttrs<T>(
4
4
  {
@@ -8,10 +8,11 @@ export function createInputPopperAttrs<T>(
8
8
  emit,
9
9
  popper,
10
10
  disableHideOnBlur,
11
+ handleInputChange,
11
12
  }: {
12
13
  getValue: () => T,
13
14
  emitChange: (val: T) => void,
14
- isValidInputValue: (val: any) => boolean,
15
+ isValidInputValue?: (val: any) => boolean,
15
16
  emit: {
16
17
  onFocus: (e: FocusEvent) => void,
17
18
  onBlur: (e: FocusEvent) => void,
@@ -24,6 +25,7 @@ export function createInputPopperAttrs<T>(
24
25
  },
25
26
  },
26
27
  disableHideOnBlur?: boolean,
28
+ handleInputChange?: (val: string | null | undefined) => void,
27
29
  }) {
28
30
 
29
31
  const model = useModel(getValue, emitChange, { onChange: (val: any) => {state.inputValue = val;} });
@@ -33,9 +35,14 @@ export function createInputPopperAttrs<T>(
33
35
  const handler = {
34
36
  onInputChange: (val: any) => {
35
37
  state.inputValue = val;
36
- if (isValidInputValue(val)) {
38
+ if (!isValidInputValue) {
37
39
  model.value = val;
40
+ } else {
41
+ if (isValidInputValue(val)) {
42
+ model.value = val;
43
+ }
38
44
  }
45
+ handleInputChange?.(val);
39
46
  },
40
47
  onInputFocus: (e: FocusEvent) => {emit.onFocus(e);},
41
48
  onInputBlur: (e: FocusEvent) => {
@@ -1,5 +1,5 @@
1
- import {computed, iTransitionEvent, reactive, StyleProperties, useStyleCache, watch} from "plain-design-composition";
2
- import {delay} from "plain-utils/utils/delay";
1
+ import {computed, iTransitionEvent, reactive, StyleProperties, useStyleCache, watch} from "@peryl/react-compose";
2
+ import {delay} from "@peryl/utils/delay";
3
3
 
4
4
  export function useCollapseStyles(
5
5
  {
@@ -1,6 +1,5 @@
1
- import {createEffects} from "plain-utils/utils/createEffects";
2
1
  import {ClientZoom} from "../utils/ClientZoom";
3
- import {watch} from "plain-design-composition";
2
+ import {createEffectsOfReaction} from "@peryl/react-compose";
4
3
 
5
4
  export function useDragHorizontalScroll(getEl: () => HTMLElement | null | undefined, config?: { onDragStart: () => void, onDragEnd: () => void }) {
6
5
 
@@ -17,7 +16,7 @@ export function useDragHorizontalScroll(getEl: () => HTMLElement | null | undefi
17
16
  }
18
17
  };
19
18
 
20
- const { effects } = createEffects();
19
+ const { effects, effectWatch } = createEffectsOfReaction();
21
20
 
22
21
  const handler = {
23
22
  mousedown: (e: MouseEvent) => {
@@ -60,7 +59,7 @@ export function useDragHorizontalScroll(getEl: () => HTMLElement | null | undefi
60
59
  },
61
60
  };
62
61
 
63
- effects.push(watch(() => getEl(), el => {
62
+ effectWatch(() => getEl(), el => {
64
63
  if (!!staticState.el) {
65
64
  staticState.el.removeEventListener('mousedown', handler.mousedown);
66
65
  staticState.el.removeEventListener('wheel', handler.onWheel);
@@ -69,7 +68,7 @@ export function useDragHorizontalScroll(getEl: () => HTMLElement | null | undefi
69
68
  if (!staticState.el) {return;}
70
69
  staticState.el.addEventListener('mousedown', handler.mousedown);
71
70
  staticState.el.addEventListener('wheel', handler.onWheel);
72
- }));
71
+ });
73
72
 
74
73
  effects.push(() => {
75
74
  if (!!staticState.el) {
@@ -1,6 +1,8 @@
1
1
  import {useFunctionWrapper} from "./useFunctionWrapper";
2
- import {computed, inject, onBeforeUnmount, PropType, provide, reactive} from 'plain-design-composition';
2
+ import {computed, inject, onBeforeUnmount, PropType, provide, reactive} from '@peryl/react-compose';
3
3
  import {eMultipleValueType} from "./useMultipleModel";
4
+ import {PlainObject} from "@peryl/utils/event";
5
+ import {createEffects} from "@peryl/utils/createEffects";
4
6
 
5
7
  export const EDIT_PROVIDER = '@@EDIT_PROVIDER';
6
8
 
@@ -15,6 +17,7 @@ export const EditProps = {
15
17
  } as const;
16
18
 
17
19
  export interface EditProvideData {
20
+ editable: boolean | null,
18
21
  disabled: boolean | null,
19
22
  readonly: boolean | null,
20
23
  loading: boolean | null,
@@ -28,11 +31,17 @@ export const useEdit = useFunctionWrapper(
28
31
  'edit',
29
32
  (ctx, option: { adjust?: (data: EditProvideData) => void | EditProvideData } = {}) => {
30
33
 
34
+ /*销毁时处理掉useEdit产生的副作用*/
35
+ const { effects } = createEffects();
36
+
31
37
  const parentEditComputed = inject(EDIT_PROVIDER, null) as null | { value: EditProvideData };
32
38
 
33
39
  const editState = reactive({ loading: null as null | boolean });
34
40
 
35
- const editComputed = computed(() => {
41
+ const editComputed = computed((): EditProvideData => {
42
+
43
+ if (ctx.isDestroyed) {return {} as EditProvideData;}
44
+
36
45
  const {
37
46
  disabled,
38
47
  readonly,
@@ -40,7 +49,7 @@ export const useEdit = useFunctionWrapper(
40
49
  placeholder
41
50
  } = ctx.props as any as EditProvideData;
42
51
 
43
- let data = { disabled, readonly, loading, placeholder };
52
+ let data: EditProvideData = { disabled, readonly, loading, placeholder, editable: false };
44
53
 
45
54
  if (data.disabled == null) data.disabled = !!parentEditComputed ? parentEditComputed.value.disabled : false;
46
55
  if (data.readonly == null) data.readonly = !!parentEditComputed ? parentEditComputed.value.readonly : false;
@@ -51,6 +60,11 @@ export const useEdit = useFunctionWrapper(
51
60
  data.loading = editState.loading;
52
61
  }
53
62
 
63
+ /*合并自身的onChange以及父edit的onChange*/
64
+ data.onChange = mergeHandlers({ methodName: 'onChange', parent: parentEditComputed?.value, self: data, });
65
+ /*合并自身的onBlur以及父edit的onBlur*/
66
+ data.onBlur = mergeHandlers({ methodName: 'onBlur', parent: parentEditComputed?.value, self: data, });
67
+
54
68
  if (!!option.adjust) data = option.adjust(data) || data;
55
69
 
56
70
  return {
@@ -58,25 +72,25 @@ export const useEdit = useFunctionWrapper(
58
72
  editable: !data.disabled && !data.readonly && !data.loading
59
73
  };
60
74
  });
75
+ effects.push(() => {editComputed.effect.stop();});
61
76
 
62
77
  provide(EDIT_PROVIDER, editComputed);
63
78
 
64
79
  const event = (ctx as any).event;
65
80
 
66
- if (!!parentEditComputed) {
67
- if (!!parentEditComputed.value.onBlur && !!event && !!event.on.onBlur) {
68
- event.on.onBlur(parentEditComputed.value.onBlur);
69
- onBeforeUnmount(() => event.off.onBlur(parentEditComputed.value.onBlur!));
70
- }
71
- if (!!parentEditComputed.value.onChange && !!event && !!event.on.onChange) {
72
- event.on.onChange(parentEditComputed.value.onChange);
73
- onBeforeUnmount(() => event.off.onChange(parentEditComputed.value.onChange!));
74
- }
81
+ /*处理onBlur事件传递*/
82
+ if (event.on.onBlur && !!editComputed.value.onBlur) {
83
+ event.on.onBlur(editComputed.value.onBlur);
84
+ effects.push(() => event.off.onBlur(editComputed.value.onBlur));
75
85
  }
76
86
 
77
- onBeforeUnmount(() => {
78
- editComputed.effect.stop();
79
- });
87
+ /*处理onChange传递*/
88
+ if (event.on.onChange && !!editComputed.value.onChange) {
89
+ event.on.onChange(editComputed.value.onChange);
90
+ effects.push(() => event.off.onChange(editComputed.value.onChange));
91
+ }
92
+
93
+ onBeforeUnmount(effects.clear);
80
94
 
81
95
  return {
82
96
  editState,
@@ -87,3 +101,16 @@ export const useEdit = useFunctionWrapper(
87
101
  export type tEditControl = ReturnType<typeof useEdit>
88
102
 
89
103
  export type tEditComputed = tEditControl["editComputed"]
104
+
105
+ const mergeHandlers = ({ methodName, parent, self }: { methodName: string, parent: PlainObject | undefined, self: PlainObject }) => {
106
+ if (parent?.[methodName] || self[methodName]) {
107
+ const selfOnChange = self[methodName];
108
+ const parentOnChange = parent?.[methodName];
109
+ return (...args: any[]) => {
110
+ // console.log({ args, methodName, parentOnChange, selfOnChange });
111
+ selfOnChange?.(...args);
112
+ parentOnChange?.(...args);
113
+ };
114
+ }
115
+ return undefined;
116
+ };
@@ -1,5 +1,6 @@
1
- import {reactive, watchEffect} from "plain-design-composition";
2
- import {toArray} from 'plain-utils/utils/toArray';
1
+ import {globalWatchEffect, onBeforeUnmount, reactive} from "@peryl/react-compose";
2
+ import {toArray} from '@peryl/utils/toArray';
3
+ import {createEffects, iEffects} from "@peryl/utils/createEffects";
3
4
 
4
5
  /**
5
6
  * 得到元素(input,textarea,editable div,button)的focus状态,如果是多个元素,则元素在失去焦点之后的100ms之后才会派发blur事件,否则期间任何一个元素获取焦点,都会取消派发blur事件这个动作
@@ -10,19 +11,26 @@ export function useFocusHandler(
10
11
  {
11
12
  getEls,
12
13
  onFocus,
13
- onBlur
14
+ onBlur,
15
+ effects: setupEffects
14
16
  }: {
15
17
  getEls: () => (HTMLElement | null | undefined) | (HTMLElement | null | undefined)[],
16
18
  onFocus: (e: FocusEvent) => void,
17
19
  onBlur: (e: FocusEvent) => void,
20
+ effects?: iEffects,
18
21
  }
19
22
  ) {
20
23
 
24
+ if (!setupEffects) {
25
+ setupEffects = createEffects().effects;
26
+ onBeforeUnmount(() => setupEffects!.clear());
27
+ }
28
+
21
29
  const isFocus = reactive({ value: false });
30
+
22
31
  let blurTimer: any = null;
23
32
 
24
33
  const handler = {
25
- elements: [] as (HTMLElement | null | undefined)[],
26
34
  onFocus: (e: FocusEvent) => {
27
35
  if (!!blurTimer) {
28
36
  clearTimeout(blurTimer);
@@ -41,20 +49,25 @@ export function useFocusHandler(
41
49
  },
42
50
  };
43
51
 
44
- watchEffect(() => {
45
- handler.elements.forEach(el => {
46
- if (!el) {return;}
47
- el.removeEventListener('focus', handler.onFocus);
48
- el.removeEventListener('blur', handler.onBlur);
49
- });
50
- handler.elements = toArray(getEls());
51
- handler.elements.forEach(el => {
52
+ const { effects } = createEffects();
53
+
54
+ setupEffects.push(globalWatchEffect(() => {
55
+ effects.clear();
56
+
57
+ const elements = toArray(getEls());
58
+ elements.forEach(el => {
52
59
  if (!el) {return;}
53
60
  el.addEventListener('focus', handler.onFocus);
54
61
  el.addEventListener('blur', handler.onBlur);
55
62
  });
63
+ effects.push(() => elements.forEach(el => {
64
+ if (!el) {return;}
65
+ el.removeEventListener('focus', handler.onFocus);
66
+ el.removeEventListener('blur', handler.onBlur);
67
+ }));
68
+ }));
56
69
 
57
- });
70
+ setupEffects.push(() => effects.clear());
58
71
 
59
72
  return { isFocus };
60
73
  }
@@ -1,4 +1,5 @@
1
- import {getCurrentDesignInstance} from 'plain-design-composition';
1
+ import {getCurrentDesignInstance, onBeforeUnmount} from '@peryl/react-compose';
2
+ import {delay} from "@peryl/utils/delay";
2
3
 
3
4
  type Shift<T> = T extends [infer L, ...infer R] ? R : T
4
5
 
@@ -9,6 +10,7 @@ export function useFunctionWrapper<T extends (ctx: any, ...args: any[]) => any>(
9
10
  return (...args) => {
10
11
  const ctx = getCurrentDesignInstance() as any;
11
12
  if (!ctx._use) ctx._use = {};
13
+ onBeforeUnmount(() => delay().then(() => {delete ctx._use;}));
12
14
 
13
15
  if (!!ctx._use[key]) {
14
16
  throw new Error(`use ${key} can only be executed once!`);
@@ -1,6 +1,7 @@
1
- import {UseModelConfig} from "plain-design-composition/src/use/useModel";
2
- import {useModel} from "plain-design-composition";
3
- import {createEnum} from "plain-utils/utils/createEnum";
1
+ import {UseModelConfig} from "@peryl/react-compose/src/use/useModel";
2
+ import {useModel} from "@peryl/react-compose";
3
+ import {createEnum} from "@peryl/utils/createEnum";
4
+ import {iEffects} from "@peryl/utils/createEffects";
4
5
 
5
6
  /**
6
7
  * 多选的时候值的类型
@@ -23,6 +24,7 @@ export function useMultipleModel<T>(
23
24
  emitter: (val: T) => void,
24
25
  props: { valueType?: typeof eMultipleValueType.TYPE, multiple?: boolean },
25
26
  config?: UseModelConfig<T>,
27
+ effects?: iEffects
26
28
  ) {
27
29
 
28
30
  /*最后一次emit的值*/
@@ -59,5 +61,5 @@ export function useMultipleModel<T>(
59
61
  }
60
62
  emitter(val);
61
63
  }
62
- }, config);
64
+ }, config, effects);
63
65
  }
@@ -1,4 +1,4 @@
1
- import {reactive, RenderNode} from "plain-design-composition";
1
+ import {reactive, RenderNode} from "@peryl/react-compose";
2
2
  import {Reference} from "../components/Reference";
3
3
 
4
4
  /**
@@ -1,6 +1,6 @@
1
- import {computed, inject, onBeforeUnmount, PropType, provide} from "plain-design-composition";
1
+ import {computed, inject, onBeforeUnmount, PropType, provide} from "@peryl/react-compose";
2
2
  import {useFunctionWrapper} from "./useFunctionWrapper";
3
- import {createEnum} from "plain-utils/utils/createEnum";
3
+ import {createEnum} from "@peryl/utils/createEnum";
4
4
  import {ApplicationConfigurationProvider} from "../components/Application/utils/application.utils";
5
5
 
6
6
  /**
@@ -47,6 +47,8 @@ export const useStyle = useFunctionWrapper('style', (ctx, option: UseStyleOption
47
47
  const parent = inject(USE_STYLE_PROVIDER, null) as null | { value: UseStyleProvideData };
48
48
 
49
49
  const styleComputed = computed(() => {
50
+ if (ctx.isDestroyed) {return {} as UseStyleProvideData;}
51
+
50
52
  const defaultData = Object.assign({ shape: applicationConfiguration.value.default.shape, size: applicationConfiguration.value.default.size, inputMode: applicationConfiguration.value.default.inputMode }, option);
51
53
 
52
54
  const { shape, size, status, inputMode } = ctx.props;
@@ -70,8 +72,6 @@ export const useStyle = useFunctionWrapper('style', (ctx, option: UseStyleOption
70
72
 
71
73
  onBeforeUnmount(() => {
72
74
  setTimeout(() => {
73
- (styleComputed.value as any).ctx = null;
74
- (styleComputed.value as any).parent = null;
75
75
  styleComputed.effect.stop();
76
76
  });
77
77
  });
@@ -1,4 +1,4 @@
1
- import {iMouseEvent} from 'plain-design-composition';
1
+ import {iMouseEvent} from '@peryl/react-compose';
2
2
 
3
3
  export const ClientZoom = (() => {
4
4
  let zoom: '' | number = '';
@@ -1,3 +1,3 @@
1
- import {fixInputCursor} from "plain-design-composition";
1
+ import {fixInputCursor} from "@peryl/react-compose";
2
2
 
3
3
  export const FixInput = fixInputCursor('input')
@@ -1,5 +1,5 @@
1
- import {addClass} from "plain-utils/dom/addClass";
2
- import {removeClass} from "plain-utils/dom/removeClass";
1
+ import {addClass} from "@peryl/utils/addClass";
2
+ import {removeClass} from "@peryl/utils/removeClass";
3
3
 
4
4
  const cls = "plain-disable-inner-transition";
5
5
 
@@ -1,4 +1,4 @@
1
- import {reactive} from "plain-design-composition";
1
+ import {reactive} from "@peryl/react-compose";
2
2
 
3
3
  export const LoadingText = reactive({ value: '...' });
4
4