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,97 +1,117 @@
1
- @include prefix(color-panel) {
2
- display: inline-flex;
3
- flex-direction: column;
4
- align-items: stretch;
5
- justify-content: flex-start;
6
- border: solid 1px plv(border-color);
7
- background-color: plv(background-light);
8
-
9
- .color-panel-card {
10
- padding: 10px 10px 0;
11
- }
12
-
13
- .color-panel-slider-bar {
14
- display: flex;
15
-
16
- .color-panel-slider-container {
17
- flex: 1;
18
- overflow: hidden;
19
-
20
- @include comp(color-slider) {
21
- margin-top: 4px;
22
- }
23
- }
24
-
25
- .color-panel-slider-color {
26
- margin-top: 4px;
27
- height: 24px;
28
- width: 24px;
29
- margin-left: 4px;
30
- border-radius: plv(box-size-small-border-radius);
31
- box-shadow: rgb(0 0 0 / 15%) 0 0 0 1px inset, rgb(0 0 0 / 25%) 0 0 4px inset;
32
- }
33
- }
34
-
35
- .color-panel-editor {
36
- margin-top: 4px;
37
- font-size: 12px;
38
- width: 200px;
39
-
40
- $hexWidth: 60px;
41
-
42
- & > div {
43
- display: inline-flex;
44
- flex-direction: column;
45
- align-items: center;
46
- justify-content: center;
47
- width: calc((200px - #{$hexWidth}) / 4);
48
- box-sizing: border-box;
49
-
50
- &:first-child {
51
- width: $hexWidth;
52
- }
53
-
54
- &:not(:first-child) {
55
- padding-left: 6px;
56
- }
57
-
58
- input {
59
- margin-bottom: 4px;
60
- width: 100%;
61
- font-size: 12px;
62
- height: 20px;
63
- padding: 0;
64
- border-radius: 0;
65
- box-shadow: #{plv(secondary-4)} 0 0 0 1px inset;
66
- border: none;
67
- outline: none;
68
- text-align: center;
69
- background-color: plv(background-light);
70
- color: plv(text-2);
71
- border-radius: plv(box-size-small-border-radius);
72
- }
73
- }
74
- }
75
-
76
- .color-panel-history {
77
- display: flex;
78
- flex-wrap: wrap;
79
- width: 200px;
80
- margin-top: 5px;
81
- border-top: solid 1px plv(border-color);
82
- padding: 10px 10px 0;
83
-
84
- .color-panel-history-item {
85
- height: 16px;
86
- width: 16px;
87
- margin-bottom: 10px;
88
- box-shadow: rgba(0, 0, 0, 0.15) 0 0 0 1px inset, rgba(0, 0, 0, 0.25) 0 0 4px inset;
89
- cursor: pointer;
90
- border-radius: plv(box-size-small-border-radius);
91
-
92
- &:not(:nth-child(8n)) {
93
- margin-right: 10px;
94
- }
95
- }
96
- }
97
- }
1
+ @include prefix(color-panel) {
2
+ display: inline-flex;
3
+ flex-direction: column;
4
+ align-items: stretch;
5
+ justify-content: flex-start;
6
+ border: solid 1px plv(border-color);
7
+ background-color: plv(background-light);
8
+
9
+ .color-panel-card {
10
+ padding: 10px 10px 0;
11
+ }
12
+
13
+ .color-panel-slider-bar {
14
+ display: flex;
15
+
16
+ .color-panel-slider-container {
17
+ flex: 1;
18
+ overflow: hidden;
19
+
20
+ @include comp(color-slider) {
21
+ margin-top: 4px;
22
+ }
23
+ }
24
+
25
+ .color-panel-slider-color {
26
+ margin-top: 4px;
27
+ height: 24px;
28
+ width: 24px;
29
+ margin-left: 4px;
30
+ border-radius: plv(box-size-small-border-radius);
31
+ box-shadow: rgb(0 0 0 / 15%) 0 0 0 1px inset, rgb(0 0 0 / 25%) 0 0 4px inset;
32
+ }
33
+
34
+ .color-panel-dropper {
35
+ margin-top: 4px;
36
+ height: 24px;
37
+ width: 24px;
38
+ margin-right: 4px;
39
+ border-radius: plv(box-size-small-border-radius);
40
+ //box-shadow: rgb(0 0 0 / 15%) 0 0 0 1px inset, rgb(0 0 0 / 25%) 0 0 4px inset;
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ background-color: plv(secondary-light-2);
45
+ transition: all ease 300ms;
46
+ cursor: pointer;
47
+
48
+ &:hover {
49
+ background-color: plv(primary-6);
50
+ color: plv(pbfc);
51
+ }
52
+ }
53
+ }
54
+
55
+ .color-panel-editor {
56
+ margin-top: 4px;
57
+ font-size: 12px;
58
+ width: 200px;
59
+
60
+ $hexWidth: 60px;
61
+
62
+ & > div {
63
+ display: inline-flex;
64
+ flex-direction: column;
65
+ align-items: center;
66
+ justify-content: center;
67
+ width: calc((200px - #{$hexWidth}) / 4);
68
+ box-sizing: border-box;
69
+
70
+ &:first-child {
71
+ width: $hexWidth;
72
+ }
73
+
74
+ &:not(:first-child) {
75
+ padding-left: 6px;
76
+ }
77
+
78
+ input {
79
+ margin-bottom: 4px;
80
+ width: 100%;
81
+ font-size: 12px;
82
+ height: 20px;
83
+ padding: 0;
84
+ border-radius: 0;
85
+ box-shadow: #{plv(secondary-4)} 0 0 0 1px inset;
86
+ border: none;
87
+ outline: none;
88
+ text-align: center;
89
+ background-color: plv(background-light);
90
+ color: plv(text-2);
91
+ border-radius: plv(box-size-small-border-radius);
92
+ }
93
+ }
94
+ }
95
+
96
+ .color-panel-history {
97
+ display: flex;
98
+ flex-wrap: wrap;
99
+ width: 200px;
100
+ margin-top: 5px;
101
+ border-top: solid 1px plv(border-color);
102
+ padding: 10px 10px 0;
103
+
104
+ .color-panel-history-item {
105
+ height: 16px;
106
+ width: 16px;
107
+ margin-bottom: 10px;
108
+ box-shadow: rgba(0, 0, 0, 0.15) 0 0 0 1px inset, rgba(0, 0, 0, 0.25) 0 0 4px inset;
109
+ cursor: pointer;
110
+ border-radius: plv(box-size-small-border-radius);
111
+
112
+ &:not(:nth-child(8n)) {
113
+ margin-right: 10px;
114
+ }
115
+ }
116
+ }
117
+ }
@@ -1,131 +1,144 @@
1
- import {designComponent, getComponentCls, mergeAttrs, onBeforeUnmount, PropType, reactive, RenderNode, useClasses, useRefs} from "plain-design-composition";
2
- import {ColorPanel} from "./ColorPanel";
3
- import {ColorSvPanel} from "./sub/ColorSvPanel";
4
- import {ColorHueSlider} from "./sub/ColorHueSlider";
5
- import {ColorAlphaSlider} from "./sub/ColorAlphaSlider";
6
- import {Input} from "../Input";
7
- import './color-picker.scss';
8
- import Color from "color";
9
- import {delay} from "plain-utils/utils/delay";
10
- //@ts-ignore
11
- import opacityImage from './utils/opacity.png';
12
- import {Reference} from "../Reference";
13
- import {EditProps, useEdit} from "../../uses/useEdit";
14
- import {StyleProps, useStyle} from "../../uses/useStyle";
15
- import {createInputPopperAttrs} from "../../uses/createInputPopperAttrs";
16
- import {ColorPanelPublicPropOptions, renderColorButton} from "./utils/color-picker.utils";
17
- import {usePopperEditor} from "../usePopupEditor";
18
- import {iPopupUseOption} from "../usePopup/utils/popup.utils";
19
-
20
- export const ColorPicker = designComponent({
21
- name: '-color',
22
- expose: {
23
- ColorPanel,
24
- ColorSvPanel,
25
- ColorHueSlider,
26
- ColorAlphaSlider,
27
- },
28
- inheritPropsType: Input,
29
- props: {
30
- ...EditProps,
31
- ...StyleProps,
32
- ...ColorPanelPublicPropOptions,
33
- popperAttrs: { type: Object as PropType<iPopupUseOption> },
34
- type: { type: String },
35
- },
36
- emits: {
37
- onUpdateModelValue: (val?: string) => true,
38
- onBlur: (e: FocusEvent) => true,
39
- onFocus: (e: FocusEvent) => true,
40
- },
41
- scopeSlots: {
42
- default: (scope: { color?: string }) => {},
43
- },
44
- setup({ props, event: { emit }, scopeSlots }) {
45
-
46
- const { editComputed } = useEdit();
47
- const { styleComputed } = useStyle();
48
- const classes = useClasses(() => [getComponentCls('color-picker'),]);
49
- const { refs, onRef } = useRefs({ input: Input });
50
-
51
- const scopedSlotsRender = (() => {
52
- const state = reactive({
53
- el: null as null | HTMLElement
54
- });
55
- const render = (defaultRender: () => RenderNode) => {
56
- if (scopeSlots.default.isExist() || props.type === 'button') {
57
- const content = scopeSlots.default.isExist() ? scopeSlots.default({ color: model.value || props.defaultColor }) : renderColorButton({ size: styleComputed.value.size, value: model.value });
58
- return (<Reference onElementDetected={el => state.el = el}>{content}</Reference>);
59
- } else {
60
- return defaultRender();
61
- }
62
- };
63
- return { state, render };
64
- })();
65
-
66
- const popper = usePopperEditor({
67
- popperAttrs: () => ({
68
- offset: 1,
69
- noArrow: true,
70
- noPadding: true,
71
- ...props.popperAttrs,
72
- }),
73
- reference: () => !editComputed.value.editable ? null : (scopedSlotsRender.state.el || refs.input?.refs.el),
74
- popper: () => (
75
- <ColorPanel
76
- v-model={model.value}
77
- enableAlpha={props.enableAlpha}
78
- format={props.format}
79
- defaultColor={props.defaultColor}
80
- onChange={val => state.inputValue = val}
81
- onDblclickSvPanel={popper.methods.hide}
82
- onMouseDown={(e: any) => {
83
- if (e.target.nodeName === 'INPUT') {return;}
84
- delay().then(() => {refs.input?.focus();});
85
- }}
86
- />
87
- )
88
- });
89
-
90
- const { inputAttrs, state, model } = createInputPopperAttrs({
91
- getValue: () => props.modelValue,
92
- emitChange: emit.onUpdateModelValue,
93
- disableHideOnBlur: true,
94
- emit,
95
- popper,
96
- isValidInputValue: (val) => {
97
- if (!val) {return true;}
98
- try {
99
- Color(val);
100
- return true;
101
- } catch (e) {
102
- return false;
103
- }
104
- },
105
- });
106
-
107
- onBeforeUnmount(() => {popper.methods.dispose();});
108
-
109
- return {
110
- render: () => {
111
- return scopedSlotsRender.render(() =>
112
- <Input
113
- ref={onRef.input}
114
- {...mergeAttrs(
115
- { class: classes.value },
116
- inputAttrs.value,
117
- )}
118
- >
119
- {{
120
- prefix: () => (
121
- <div className="color-picker-tag" style={{ backgroundImage: `url(${opacityImage})` }}>
122
- <div className="color-picker-tag-inner" style={{ backgroundColor: model.value }}/>
123
- </div>
124
- )
125
- }}
126
- </Input>
127
- );
128
- }
129
- };
130
- },
131
- });
1
+ import {designComponent, getComponentCls, mergeAttrs, onBeforeUnmount, PropType, reactive, RenderNode, useClasses, useRefs} from "@peryl/react-compose";
2
+ import {ColorPanel} from "./ColorPanel";
3
+ import {ColorSvPanel} from "./sub/ColorSvPanel";
4
+ import {ColorHueSlider} from "./sub/ColorHueSlider";
5
+ import {ColorAlphaSlider} from "./sub/ColorAlphaSlider";
6
+ import {Input} from "../Input";
7
+ import './color-picker.scss';
8
+ import Color from "color";
9
+ import {delay} from "@peryl/utils/delay";
10
+ //@ts-ignore
11
+ import opacityImage from './utils/opacity.png';
12
+ import {Reference} from "../Reference";
13
+ import {EditProps, useEdit} from "../../uses/useEdit";
14
+ import {StyleProps, useStyle} from "../../uses/useStyle";
15
+ import {createInputPopperAttrs} from "../../uses/createInputPopperAttrs";
16
+ import {ColorPanelPublicPropOptions, renderColorButton} from "./utils/color-picker.utils";
17
+ import {usePopperEditor} from "../usePopupEditor";
18
+ import {iPopupUseOption} from "../usePopup/utils/popup.utils";
19
+
20
+ export const ColorPicker = designComponent({
21
+ name: '-color',
22
+ expose: {
23
+ ColorPanel,
24
+ ColorSvPanel,
25
+ ColorHueSlider,
26
+ ColorAlphaSlider,
27
+ },
28
+ inheritPropsType: Input,
29
+ props: {
30
+ ...EditProps,
31
+ ...StyleProps,
32
+ ...ColorPanelPublicPropOptions,
33
+ popperAttrs: { type: Object as PropType<iPopupUseOption> },
34
+ type: { type: String },
35
+ strict: { type: Boolean, default: true },
36
+ },
37
+ emits: {
38
+ onUpdateModelValue: (val?: string) => true,
39
+ onBlur: (e: FocusEvent) => true,
40
+ onFocus: (e: FocusEvent) => true,
41
+ },
42
+ scopeSlots: {
43
+ default: (scope: { color?: string }) => {},
44
+ },
45
+ setup({ props, event: { emit }, scopeSlots }) {
46
+
47
+ const { editComputed } = useEdit();
48
+ const { styleComputed } = useStyle();
49
+ const classes = useClasses(() => [getComponentCls('color-picker'),]);
50
+ const { refs, onRef } = useRefs({ input: Input });
51
+
52
+ const scopedSlotsRender = (() => {
53
+ const state = reactive({
54
+ el: null as null | HTMLElement
55
+ });
56
+ const render = (defaultRender: () => RenderNode) => {
57
+ if (scopeSlots.default.isExist() || props.type === 'button') {
58
+ const content = scopeSlots.default.isExist() ? scopeSlots.default({ color: model.value || props.defaultColor }) : renderColorButton({ size: styleComputed.value.size, value: model.value });
59
+ return (<Reference onElementDetected={el => state.el = el}>{content}</Reference>);
60
+ } else {
61
+ return defaultRender();
62
+ }
63
+ };
64
+ return { state, render };
65
+ })();
66
+
67
+ const popper = usePopperEditor({
68
+ popperAttrs: () => ({
69
+ offset: 1,
70
+ noArrow: true,
71
+ noPadding: true,
72
+ ...props.popperAttrs,
73
+ }),
74
+ reference: () => !editComputed.value.editable ? null : (scopedSlotsRender.state.el || refs.input?.refs.el),
75
+ popper: () => {
76
+ const validColorString = (() => {
77
+ try {
78
+ Color(model.value);
79
+ return model.value;
80
+ } catch (e) {
81
+ return undefined;
82
+ }
83
+ })();
84
+ return (
85
+ <ColorPanel
86
+ modelValue={validColorString}
87
+ onUpdateModelValue={val => model.value = val}
88
+ enableAlpha={props.enableAlpha}
89
+ format={props.format}
90
+ defaultColor={props.defaultColor}
91
+ onChange={val => state.inputValue = val}
92
+ onDblclickSvPanel={popper.methods.hide}
93
+ onMouseDown={(e: any) => {
94
+ if (e.target.nodeName === 'INPUT') {return;}
95
+ delay().then(() => {refs.input?.focus();});
96
+ }}
97
+ />
98
+ );
99
+ }
100
+ });
101
+
102
+ const { inputAttrs, state, model } = createInputPopperAttrs({
103
+ getValue: () => props.modelValue,
104
+ emitChange: emit.onUpdateModelValue,
105
+ disableHideOnBlur: true,
106
+ emit,
107
+ popper,
108
+ isValidInputValue: (val) => {
109
+ if (!props.strict) {return true;}
110
+ if (!val) {return true;}
111
+ try {
112
+ Color(val);
113
+ return true;
114
+ } catch (e) {
115
+ return false;
116
+ }
117
+ },
118
+ });
119
+
120
+ onBeforeUnmount(() => {popper.methods.dispose();});
121
+
122
+ return {
123
+ render: () => {
124
+ return scopedSlotsRender.render(() =>
125
+ <Input
126
+ ref={onRef.input}
127
+ {...mergeAttrs(
128
+ { class: classes.value },
129
+ inputAttrs.value,
130
+ )}
131
+ >
132
+ {{
133
+ prefix: () => (
134
+ <div className="color-picker-tag" style={{ backgroundImage: `url(${opacityImage})` }}>
135
+ <div className="color-picker-tag-inner" style={{ backgroundColor: model.value }}/>
136
+ </div>
137
+ )
138
+ }}
139
+ </Input>
140
+ );
141
+ }
142
+ };
143
+ },
144
+ });
@@ -1,4 +1,4 @@
1
- import {designComponent, getComponentCls, useStyles} from 'plain-design-composition';
1
+ import {designComponent, getComponentCls, useStyles} from '@peryl/react-compose';
2
2
  import './color-alpha-slider.scss';
3
3
  // @ts-ignore
4
4
  import opacityImage from '../utils/opacity.png';
@@ -1,4 +1,4 @@
1
- import {designComponent, getComponentCls} from 'plain-design-composition';
1
+ import {designComponent, getComponentCls} from '@peryl/react-compose';
2
2
  import './color-hue-slider.scss';
3
3
  import {ColorSlider} from "./ColorSlider";
4
4
 
@@ -1,9 +1,9 @@
1
- import {computed, designComponent, getComponentCls, iMouseEvent, useClasses, useModel, useMounted, useRefs, useStyles} from "plain-design-composition";
1
+ import {computed, designComponent, getComponentCls, iMouseEvent, useClasses, useModel, useMounted, useRefs, useStyles} from "@peryl/react-compose";
2
2
  import {EditProps, useEdit} from "../../../uses/useEdit";
3
- import {unit} from "plain-utils/string/unit";
4
- import {createEffects} from "plain-utils/utils/createEffects";
5
- import {disabledUserSelect} from "plain-utils/dom/disabledUserSelect";
6
- import {enableUserSelect} from "plain-utils/dom/enableUserSelect";
3
+ import {unit} from "@peryl/utils/unit";
4
+ import {createEffects} from "@peryl/utils/createEffects";
5
+ import {disabledUserSelect} from "@peryl/utils/disabledUserSelect";
6
+ import {enableUserSelect} from "@peryl/utils/enableUserSelect";
7
7
  import './color-slider.scss';
8
8
  import {ClientZoom} from "../../ClientZoom";
9
9
 
@@ -1,8 +1,8 @@
1
1
  import './color-sv-panel.scss';
2
- import {computed, designComponent, getComponentCls, iMouseEvent, reactive, useRefs, useStyles, watch} from "plain-design-composition";
3
- import {unit} from "plain-utils/string/unit";
4
- import {disabledUserSelect} from "plain-utils/dom/disabledUserSelect";
5
- import {enableUserSelect} from "plain-utils/dom/enableUserSelect";
2
+ import {computed, designComponent, getComponentCls, iMouseEvent, reactive, useRefs, useStyles, watch} from "@peryl/react-compose";
3
+ import {unit} from "@peryl/utils/unit";
4
+ import {disabledUserSelect} from "@peryl/utils/disabledUserSelect";
5
+ import {enableUserSelect} from "@peryl/utils/enableUserSelect";
6
6
  import {getRgbColor} from "../../../utils/color.utils";
7
7
  import Color from 'color';
8
8
  import {ClientZoom} from "../../..";
@@ -1,4 +1,4 @@
1
- import {computed, reactive, watch} from "plain-design-composition";
1
+ import {computed, reactive, watch} from "@peryl/react-compose";
2
2
  import {PlainColor} from "./utils/PlainColor";
3
3
  import {iColorPublicPropsType} from "./utils/color-picker.utils";
4
4
 
@@ -1,4 +1,4 @@
1
- import {computed, reactive} from "plain-design-composition";
1
+ import {computed, reactive} from "@peryl/react-compose";
2
2
  import {PlainColor} from "./utils/PlainColor";
3
3
 
4
4
  export function useColorPanelHistory(
@@ -1,6 +1,6 @@
1
1
  //@ts-ignore
2
2
  import opacityImage from "./opacity.png";
3
- import {classnames, ExtractPropTypes, getComponentCls, PropType} from "plain-design-composition";
3
+ import {classnames, ExtractPropTypes, getComponentCls, PropType} from "@peryl/react-compose";
4
4
 
5
5
  export function renderColorButton({ size, value }: { size: string, value: any }) {
6
6
  return (
@@ -1,4 +1,4 @@
1
- import {designComponent, getComponentCls, PropType, useModel} from "plain-design-composition";
1
+ import {designComponent, getComponentCls, PropType, useModel} from "@peryl/react-compose";
2
2
  import Popup from "../Popup";
3
3
  import Space from "../Space";
4
4
  import Button from "../Button";
@@ -1,8 +1,8 @@
1
- import {designComponent, getComponentCls, PropType, useClassCache, useStyleCache} from "plain-design-composition";
1
+ import {designComponent, getComponentCls, PropType, useClassCache, useStyleCache} from "@peryl/react-compose";
2
2
  import {StyleProps, useStyle} from "../../uses/useStyle";
3
- import {unit} from "plain-utils/string/unit";
3
+ import {unit} from "@peryl/utils/unit";
4
4
  import './corner.scss';
5
- import {createEnum} from "plain-utils/utils/createEnum";
5
+ import {createEnum} from "@peryl/utils/createEnum";
6
6
 
7
7
  const eCornerType = createEnum([
8
8
  'bottom-left',
@@ -1,13 +1,12 @@
1
- import {computed, getComponentCls, reactive, useRefs} from "plain-design-composition";
1
+ import {createEffectsOfReaction, getComponentCls, reactive, useRefs} from "@peryl/react-compose";
2
2
  import Input from "../Input";
3
- import {delay} from "plain-utils/utils/delay";
3
+ import {delay} from "@peryl/utils/delay";
4
4
  import {PDate, plainDate} from "../../utils/plainDate";
5
5
  import {DatePanel} from "./panel/DatePanel";
6
6
  import {limitDatetimeTimePlainData} from "../TimePicker/time.utils";
7
7
  import {tDateCompositionPublicParams} from "./date.utils";
8
8
  import {useRenderReference} from "../../uses/useRenderReference";
9
9
  import {useMultipleModel} from "../../uses/useMultipleModel";
10
- import {createEffects} from "plain-utils/utils/createEffects";
11
10
  import {createPopupEditor} from "../usePopupEditor";
12
11
 
13
12
  /**
@@ -16,13 +15,14 @@ import {createPopupEditor} from "../usePopupEditor";
16
15
  * @date 2022.7.4 14:05
17
16
  */
18
17
  export function createDateRenderMultiple({ props, emit, formatString, getPublicPopperAttrs, editComputed, getInheritPublicDateAttrs, slots, displayPattern, today, hooks, maxmin, }: tDateCompositionPublicParams) {
19
- const { effects } = createEffects();
20
- const { refs, onRef } = useRefs({ input: Input });
18
+ const { effects, effectComputed } = createEffectsOfReaction();
19
+ const { refs, onRef } = useRefs({ input: Input }, { effects });
21
20
  const { getReference, renderReference } = useRenderReference();
22
21
 
22
+ const format = effectComputed((): null | PDate[] => !model.value ? [] : model.value.map?.(i => plainDate(i, formatString.value)));
23
+
23
24
  const getFormatValue = () => format.value?.map(i => i.getDisplay());
24
- const model = useMultipleModel(() => (props.modelValue as string[] | undefined), emit.onUpdateModelValue, props, { onChange: () => delay().then(() => state.input = getFormatValue()) });
25
- const format = computed((): null | PDate[] => !model.value ? [] : model.value.map?.(i => plainDate(i, formatString.value)));
25
+ const model = useMultipleModel(() => (props.modelValue as string[] | undefined), emit.onUpdateModelValue, props, { onChange: () => delay().then(() => state.input = getFormatValue()) }, effects);
26
26
  const state = reactive({ input: getFormatValue() });
27
27
 
28
28
  const popper = createPopupEditor({
@@ -3,23 +3,24 @@
3
3
  * @author 韦胜健
4
4
  * @date 2022.7.4 14:04
5
5
  */
6
- import {computed, getComponentCls, reactive, useModel, useRefs} from "plain-design-composition";
6
+ import {createEffectsOfReaction, getComponentCls, reactive, useModel, useRefs} from "@peryl/react-compose";
7
7
  import {tDateCompositionPublicParams} from "./date.utils";
8
8
  import Input from "../Input";
9
- import {delay} from "plain-utils/utils/delay";
9
+ import {delay} from "@peryl/utils/delay";
10
10
  import {PDate, plainDate} from "../../utils/plainDate";
11
11
  import {DatePanel} from "./panel/DatePanel";
12
12
  import {limitDatetimeTimePlainData} from "../TimePicker/time.utils";
13
13
  import {useRenderReference} from "../../uses/useRenderReference";
14
- import {createEffects} from "plain-utils/utils/createEffects";
15
14
  import {createPopupEditor} from "../usePopupEditor";
16
15
 
17
16
  export function createDateRenderSingle({ props, emit, slots, hooks, formatString, getPublicPopperAttrs, editComputed, getInheritPublicDateAttrs, displayPattern, today, maxmin }: tDateCompositionPublicParams) {
18
17
 
19
- const { effects } = createEffects();
20
- const { refs, onRef } = useRefs({ input: Input });
21
- const model = useModel(() => props.modelValue, emit.onUpdateModelValue, { onChange: () => delay().then(() => state.input = format.value?.getDisplay()) });
22
- const format = computed((): null | PDate => !model.value ? null : plainDate(model.value as string, formatString.value));
18
+ const { effects, effectComputed } = createEffectsOfReaction();
19
+ const { refs, onRef } = useRefs({ input: Input }, { effects });
20
+
21
+ const format = effectComputed((): null | PDate => !model.value ? null : plainDate(model.value as string, formatString.value));
22
+
23
+ const model = useModel(() => props.modelValue, emit.onUpdateModelValue, { onChange: () => delay().then(() => state.input = format.value?.getDisplay()) }, effects);
23
24
  const state = reactive({ input: format.value?.getDisplay() });
24
25
  const reference = useRenderReference();
25
26