@pisell/materials 1.8.38 → 1.8.41

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 (758) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/meta.js +3 -3
  5. package/build/lowcode/render/default/view.css +1 -1
  6. package/build/lowcode/render/default/view.js +216 -51
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +216 -51
  9. package/es/components/Pagination/index.js +9 -43
  10. package/es/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-dev.md +5 -2
  11. package/es/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-test.md +169 -171
  12. package/es/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.md +87 -27
  13. package/es/components/PisellCards/components/GraphicTextCard/types.d.ts +18 -7
  14. package/es/components/PisellCards/components/TextCard/TextCard.js +2 -3
  15. package/es/components/PisellCards/components/TextCard/components/BadgeWrapper.js +20 -6
  16. package/es/components/PisellCards/components/TextCard/components/TextContent.js +3 -1
  17. package/es/components/PisellCards/components/TextCard/docs/TextCard.$tab-dev.md +36 -5
  18. package/es/components/PisellCards/components/TextCard/docs/TextCard.$tab-test.md +2434 -258
  19. package/es/components/PisellCards/components/TextCard/docs/TextCard.md +78 -13
  20. package/es/components/PisellCards/index.d.ts +3 -0
  21. package/es/components/PisellCards/index.js +3 -1
  22. package/es/components/PisellContactBrief/PisellContactBrief.d.ts +34 -0
  23. package/es/components/PisellContactBrief/PisellContactBrief.js +156 -0
  24. package/es/components/PisellContactBrief/PisellContactBrief.less +192 -0
  25. package/es/components/PisellContactBrief/components/ContactFormModal.js +140 -0
  26. package/es/components/PisellContactBrief/docs/PisellContactBrief.$tab-design.md +109 -0
  27. package/es/components/PisellContactBrief/docs/PisellContactBrief.$tab-dev.md +106 -0
  28. package/es/components/PisellContactBrief/docs/PisellContactBrief.$tab-test.md +125 -0
  29. package/es/components/PisellContactBrief/docs/PisellContactBrief.md +129 -0
  30. package/es/components/PisellContactBrief/index.d.ts +2 -0
  31. package/es/components/PisellContactBrief/locales.js +57 -0
  32. package/es/components/PisellContactBrief/types.d.ts +86 -0
  33. package/es/components/PisellLayouts/index.d.ts +1 -1
  34. package/es/components/PisellProcedure/components/ProcedureHeader.js +1 -1
  35. package/es/components/PisellTabbar/PisellTabbar.js +1 -1
  36. package/es/components/PisellTabbar/template/Template1/PisellTabbar.js +1 -1
  37. package/es/components/Template/[ComponentName].less +1 -0
  38. package/es/components/Template/docs/[ComponentName].$tab-design.md +7 -0
  39. package/es/components/Template/docs/[ComponentName].$tab-dev.md +1137 -0
  40. package/es/components/Template/docs/[ComponentName].$tab-test.md +7 -0
  41. package/es/components/Template/docs/[ComponentName].md +510 -0
  42. package/es/components/appVersionControl/index.js +3 -2
  43. package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +4 -4
  44. package/es/components/dataSourceComponents/dataSourceForm/formItem.js +1 -1
  45. package/es/components/dataSourceComponents/dataSourceForm/index.js +1 -1
  46. package/es/components/dataSourceComponents/dataSourceForm/submitButton/index.js +3 -3
  47. package/es/components/dataSourceComponents/dataSourceForm/utils.js +3 -3
  48. package/es/components/dataSourceComponents/dataSourceShow/dataSourceTypography/index.js +1 -1
  49. package/es/components/dataSourceComponents/dataSourceSubForm/index.js +1 -1
  50. package/es/components/dataSourceComponents/dataSourceTable/BaseTable.js +2 -2
  51. package/es/components/dataSourceComponents/dataSourceTable/filter/index.js +1 -1
  52. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.js +3 -2
  53. package/es/components/dataSourceComponents/dataSourceTable/type.d.ts +1 -0
  54. package/es/components/dataSourceComponents/dataSourceWrapper/BaseWrapper.js +1 -1
  55. package/es/components/dataSourceComponents/fields/DatePicker/WithMode.js +4 -0
  56. package/es/components/dataSourceComponents/fields/IconSelect/WithMode.js +1 -1
  57. package/es/components/dataSourceComponents/fields/Input/WithMode.js +1 -1
  58. package/es/components/dataSourceComponents/fields/Input.Phone/serve.js +4 -1
  59. package/es/components/dataSourceComponents/fields/Radio/WithMode.js +1 -1
  60. package/es/components/dataSourceComponents/fields/TimePicker/WithMode.js +1 -1
  61. package/es/components/dataSourceComponents/hooks/useActions.js +1 -1
  62. package/es/components/dataSourceComponents/provider/dataSource/DataSourceProvider.js +1 -1
  63. package/es/components/drag-sort-tree/index.d.ts +1 -0
  64. package/es/components/drag-sort-tree/index.js +0 -1
  65. package/es/components/drawer/index.js +7 -6
  66. package/es/components/filter/components/FilterItem/index.js +1 -3
  67. package/es/components/filter/components/QuickFilter/index.js +2 -3
  68. package/es/components/hardwareErrorTip/errorCard/index.d.ts +25 -0
  69. package/es/components/hardwareErrorTip/errorCard/index.js +68 -0
  70. package/es/components/hardwareErrorTip/errorCard/index.less +137 -0
  71. package/es/components/hardwareErrorTip/errorTipStatistics/index.d.ts +10 -0
  72. package/es/components/hardwareErrorTip/errorTipStatistics/index.js +31 -0
  73. package/es/components/hardwareErrorTip/errorTipStatistics/index.less +34 -0
  74. package/es/components/hardwareErrorTip/index.d.ts +20 -0
  75. package/es/components/hardwareErrorTip/index.js +151 -0
  76. package/es/components/hardwareErrorTip/index.less +95 -0
  77. package/es/components/hardwareErrorTip/logCard/index.d.ts +25 -0
  78. package/es/components/hardwareErrorTip/logCard/index.js +72 -0
  79. package/es/components/hardwareErrorTip/logCard/index.less +121 -0
  80. package/es/components/hardwareErrorTip/readme.md +309 -0
  81. package/es/components/hardwareErrorTip/types.js +54 -0
  82. package/es/components/iconfont/index.js +1 -1
  83. package/es/components/login-and-register/index.js +4 -5
  84. package/es/components/page/index.js +1 -1
  85. package/es/components/pisellActionPanel/PisellActionPanel.d.ts +24 -0
  86. package/es/components/pisellActionPanel/PisellActionPanel.js +68 -0
  87. package/es/components/pisellActionPanel/PisellActionPanel.less +69 -0
  88. package/es/components/pisellActionPanel/docs/pisellActionPanel.$tab-design.md +148 -0
  89. package/es/components/pisellActionPanel/docs/pisellActionPanel.$tab-dev.md +53 -0
  90. package/es/components/pisellActionPanel/docs/pisellActionPanel.$tab-test.md +64 -0
  91. package/es/components/pisellActionPanel/docs/pisellActionPanel.md +160 -0
  92. package/es/components/pisellActionPanel/index.d.ts +2 -0
  93. package/es/components/pisellActionPanel/types.d.ts +87 -0
  94. package/es/components/pisellAppCard/PisellAppCard.js +1 -1
  95. package/es/components/pisellBaseCard/PisellBaseCard.d.ts +20 -0
  96. package/es/components/pisellBaseCard/PisellBaseCard.js +73 -0
  97. package/es/components/pisellBaseCard/PisellBaseCard.less +25 -0
  98. package/es/components/pisellBaseCard/docs/pisellBaseCard.$tab-design.md +144 -0
  99. package/es/components/pisellBaseCard/docs/pisellBaseCard.$tab-dev.md +92 -0
  100. package/es/components/pisellBaseCard/docs/pisellBaseCard.$tab-test.md +86 -0
  101. package/es/components/pisellBaseCard/docs/pisellBaseCard.md +165 -0
  102. package/es/components/pisellBaseCard/index.d.ts +2 -0
  103. package/es/components/pisellBaseCard/types.d.ts +49 -0
  104. package/es/components/pisellCardList/index.js +1 -1
  105. package/es/components/pisellCurrency/PisellCurrency.js +13 -6
  106. package/es/components/pisellCurrency/PisellCurrency.less +0 -123
  107. package/es/components/pisellCustomerBrief/PisellCustomerBrief.d.ts +57 -0
  108. package/es/components/pisellCustomerBrief/PisellCustomerBrief.js +92 -0
  109. package/es/components/pisellCustomerBrief/PisellCustomerBrief.less +8 -0
  110. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-design.md +115 -0
  111. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-dev.md +73 -0
  112. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-test.md +66 -0
  113. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.md +132 -0
  114. package/es/components/pisellCustomerBrief/index.d.ts +2 -0
  115. package/es/components/pisellCustomerBrief/types.d.ts +86 -0
  116. package/es/components/pisellDataSourceContainer/components/Pagination/index.js +3 -9
  117. package/es/components/pisellDataSourceContainer/docs/PisellDataSourceContainer.md +189 -240
  118. package/es/components/pisellDataSourceContainer/type.d.ts +1 -1
  119. package/es/components/pisellDateTimeDisplay/docs/pisellDateTimeDisplay.md +556 -556
  120. package/es/components/pisellEmail/PisellEmail.js +13 -6
  121. package/es/components/pisellEmail/PisellEmail.less +0 -92
  122. package/es/components/pisellEmpty/index.d.ts +1 -1
  123. package/es/components/pisellEntityCard/PisellEntityCard.d.ts +47 -0
  124. package/es/components/pisellEntityCard/PisellEntityCard.js +315 -0
  125. package/es/components/pisellEntityCard/PisellEntityCard.less +362 -0
  126. package/es/components/pisellEntityCard/docs/pisellEntityCard.$tab-design.md +209 -0
  127. package/es/components/pisellEntityCard/docs/pisellEntityCard.$tab-dev.md +82 -0
  128. package/es/components/pisellEntityCard/docs/pisellEntityCard.$tab-test.md +122 -0
  129. package/es/components/pisellEntityCard/docs/pisellEntityCard.md +176 -0
  130. package/es/components/pisellEntityCard/index.d.ts +2 -0
  131. package/es/components/pisellEntityCard/types.d.ts +148 -0
  132. package/es/components/pisellExport/PisellExport.d.ts +11 -0
  133. package/es/components/pisellExport/PisellExport.js +44 -0
  134. package/es/components/pisellExport/PisellExport.less +141 -0
  135. package/es/components/pisellExport/docs/pisellExport.$tab-design.md +116 -0
  136. package/es/components/pisellExport/docs/pisellExport.$tab-dev.md +132 -0
  137. package/es/components/pisellExport/docs/pisellExport.$tab-test.md +61 -0
  138. package/es/components/pisellExport/docs/pisellExport.md +162 -0
  139. package/es/components/pisellExport/index.d.ts +2 -0
  140. package/es/components/pisellExport/types.d.ts +67 -0
  141. package/es/components/pisellFilter/docs/PisellFilter.md +2 -2
  142. package/es/components/pisellFind/docs/pisellFind.md +2 -2
  143. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +1 -2
  144. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +51 -230
  145. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +0 -22
  146. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.js +2 -3
  147. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
  148. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +74 -209
  149. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +5 -40
  150. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +12 -131
  151. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +1 -9
  152. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +3 -24
  153. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +4 -97
  154. package/es/components/pisellFloorMapLayout/components/ItemLayer.js +9 -29
  155. package/es/components/pisellFloorMapLayout/components/ItemLayer.less +2 -19
  156. package/es/components/pisellFloorMapLayout/components/ViewControls.js +65 -119
  157. package/es/components/pisellFloorMapLayout/components/ViewControls.less +44 -208
  158. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +0 -4
  159. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +1 -3
  160. package/es/components/pisellFloorMapLayout/docs/pisellFloorMapLayout.md +194 -559
  161. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +16 -82
  162. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +36 -369
  163. package/es/components/pisellFloorMapLayout/index.d.ts +0 -1
  164. package/es/components/pisellFloorMapLayout/locales-ja.js +1 -21
  165. package/es/components/pisellFloorMapLayout/locales-pt.js +1 -21
  166. package/es/components/pisellFloorMapLayout/locales.js +3 -63
  167. package/es/components/pisellFloorMapLayout/types.d.ts +9 -70
  168. package/es/components/pisellGoodPassCard/index.less +0 -1
  169. package/es/components/pisellGridPro/GridView/docs/GridView.md +48 -47
  170. package/es/components/pisellGridPro/ToolBar/docs/ToolBar.$tab-dev.md +2 -4
  171. package/es/components/pisellGridPro/ToolBar/docs/ToolBar.md +81 -95
  172. package/es/components/pisellGridPro/ToolBar/index.less +4 -5
  173. package/es/components/pisellGridPro/docs/PisellGridPro.md +262 -173
  174. package/es/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-dev.md +6 -3
  175. package/es/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-test.md +4 -3
  176. package/es/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.md +2 -1
  177. package/es/components/pisellImport/PisellImport.d.ts +11 -0
  178. package/es/components/pisellImport/PisellImport.js +81 -0
  179. package/es/components/pisellImport/PisellImport.less +141 -0
  180. package/es/components/pisellImport/docs/pisellImport.$tab-design.md +121 -0
  181. package/es/components/pisellImport/docs/pisellImport.$tab-dev.md +137 -0
  182. package/es/components/pisellImport/docs/pisellImport.$tab-test.md +69 -0
  183. package/es/components/pisellImport/docs/pisellImport.md +174 -0
  184. package/es/components/pisellImport/index.d.ts +2 -0
  185. package/es/components/pisellImport/types.d.ts +89 -0
  186. package/es/components/pisellLongText/PisellLongText.js +13 -6
  187. package/es/components/pisellLongText/PisellLongText.less +0 -67
  188. package/es/components/pisellLookup/PisellLookup.less +1 -1
  189. package/es/components/pisellLookup/components/LookupTrigger.js +8 -6
  190. package/es/components/pisellLookup/docs/pisellLookup.md +1 -1
  191. package/es/components/pisellMultipleSelect/PisellMultipleSelect.js +7 -5
  192. package/es/components/pisellMultipleSelect/PisellMultipleSelect.less +18 -139
  193. package/es/components/pisellMultipleSelect/components/EditView.js +1 -0
  194. package/es/components/pisellNavigationMenu/PisellNavigationMenu.js +4 -0
  195. package/es/components/pisellNumber/PisellNumber.js +13 -6
  196. package/es/components/pisellNumber/PisellNumber.less +0 -103
  197. package/es/components/pisellPhone/PisellPhone.js +13 -6
  198. package/es/components/pisellPhone/PisellPhone.less +0 -119
  199. package/es/components/pisellPhone/components/EditView.js +37 -19
  200. package/es/components/pisellPhone/constants/countryCodes.js +26 -25
  201. package/es/components/pisellPhone/types.d.ts +2 -2
  202. package/es/components/pisellPhone/utils/countryCodeHelper.js +2 -2
  203. package/es/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.md +1 -1
  204. package/es/components/pisellRating/PisellRating.js +5 -3
  205. package/es/components/pisellRecordBoard/PisellRecordBoard.js +10 -26
  206. package/es/components/pisellRecordBoard/README.md +0 -12
  207. package/es/components/pisellRecordBoard/docs/PisellRecordBoard.md +70 -716
  208. package/es/components/pisellRecordBoard/docs/ShellFrame.md +44 -62
  209. package/es/components/pisellRecordBoard/index.d.ts +1 -7
  210. package/es/components/pisellRecordBoard/index.js +0 -4
  211. package/es/components/pisellRecordBoard/layouts/GridLayout/Grid.js +9 -147
  212. package/es/components/pisellRecordBoard/layouts/GridLayout/Grid.less +0 -31
  213. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +3811 -0
  214. package/es/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +1 -5
  215. package/es/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.js +8 -10
  216. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +1 -1
  217. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +1 -2
  218. package/es/components/pisellRecordBoard/shellFrame/Pagination/index.js +1 -7
  219. package/es/components/pisellRecordBoard/shellFrame/Search/index.js +1 -1
  220. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +1 -5
  221. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +65 -143
  222. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +13 -181
  223. package/es/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +2 -10
  224. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +2 -9
  225. package/es/components/pisellRecordBoard/shellFrame/index.js +19 -73
  226. package/es/components/pisellRecordBoard/types.d.ts +8 -374
  227. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +0 -16
  228. package/es/components/pisellReservationSchedule/PisellReservationSchedule.js +15 -67
  229. package/es/components/pisellReservationSchedule/PisellReservationSchedule.less +0 -23
  230. package/es/components/pisellReservationSchedule/locales.js +3 -21
  231. package/es/components/pisellReservationSchedule/types.d.ts +0 -5
  232. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +2 -2
  233. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +4 -37
  234. package/es/components/pisellReservationScheduleBand/types.d.ts +0 -4
  235. package/es/components/pisellShellFrame/PisellShellFrame.js +2 -2
  236. package/es/components/pisellShellFrame/PisellShellFrame.less +2 -18
  237. package/es/components/pisellShellFrame/types.d.ts +0 -6
  238. package/es/components/pisellSingleLineText/PisellSingleLineText.js +21 -14
  239. package/es/components/pisellSingleLineText/PisellSingleLineText.less +0 -143
  240. package/es/components/pisellSingleLineText/docs/pisellSingleLineText.md +256 -256
  241. package/es/components/pisellSingleSelect/PisellSingleSelect.js +7 -4
  242. package/es/components/pisellSingleSelect/PisellSingleSelect.less +5 -106
  243. package/es/components/pisellSingleSelect/docs/pisellSingleSelect.md +525 -428
  244. package/es/components/pisellSort/docs/PisellSort.md +67 -131
  245. package/es/components/pisellStatisticList/index.js +1 -0
  246. package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +37 -151
  247. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +13 -126
  248. package/es/components/pisellTimeNavigator/components/CursorLayer.js +2 -2
  249. package/es/components/pisellTimeNavigator/components/GestureLayer.js +3 -12
  250. package/es/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-dev.md +42 -26
  251. package/es/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-test.md +5 -5
  252. package/es/components/pisellTimeNavigator/index.d.ts +1 -1
  253. package/es/components/pisellTimeNavigator/utils/index.d.ts +3 -9
  254. package/es/components/pisellTimeNavigator/utils/index.js +6 -15
  255. package/es/components/pisellTimeRangeDisplay/docs/pisellTimeRangeDisplay.md +227 -226
  256. package/es/components/pisellUrl/PisellUrl.js +13 -6
  257. package/es/components/pisellWalletPassCard/index.js +11 -5
  258. package/es/components/productCard/cartSkuCard/components/basicInfo/index.js +4 -65
  259. package/es/components/productCard/cartSkuCard/components/basicInfo/index.less +1 -80
  260. package/es/components/productCard/cartSkuCard/components/holders/index.js +1 -1
  261. package/es/components/productCard/cartSkuCard/components/packages/index.js +9 -24
  262. package/es/components/productCard/cartSkuCard/components/specs/index.js +7 -22
  263. package/es/components/productCard/cartSkuCard/components/specs/index.less +0 -11
  264. package/es/components/productCard/cartSkuCard/components/timeRange/index.js +1 -2
  265. package/es/components/productCard/cartSkuCard/index.js +8 -68
  266. package/es/components/productCard/cartSkuCard/locales.js +5 -40
  267. package/es/components/productCard/components/Header/Actions/index.less +15 -0
  268. package/es/components/productCard/components/Header/DeleteButton/index.js +2 -2
  269. package/es/components/productCard/components/Header/DeleteButton/index.less +2 -1
  270. package/es/components/productCard/components/Header/EditButton/index.js +1 -2
  271. package/es/components/productCard/components/Header/index.less +1 -1
  272. package/es/components/productCard/components/Time/components/SelectHolder/index.js +3 -2
  273. package/es/components/productCard/components/Time/components/SelectHolderModal/index.js +1 -1
  274. package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.js +2 -2
  275. package/es/components/productCard/components/Time/components/SelectResource/index.js +6 -3
  276. package/es/components/productCard/components/Time/index.js +3 -2
  277. package/es/components/productCard/status.js +0 -3
  278. package/es/components/productCard/types.d.ts +0 -10
  279. package/es/components/productCard/utils.js +1 -1
  280. package/es/components/select-time/index.js +0 -1
  281. package/es/components/table/Actions/component/ExportImport/index.js +3 -4
  282. package/es/components/table/Actions/component/GallerySetting/index.js +10 -9
  283. package/es/components/table/Actions/component/ViewMode/index.js +4 -3
  284. package/es/components/table/Actions/index.js +1 -1
  285. package/es/components/table/BasicTable/index.js +4 -3
  286. package/es/components/table/Gallery/components/GalleryItem/components/Title/index.less +1 -1
  287. package/es/components/table/Gallery/components/GalleryItem/index.js +12 -4
  288. package/es/components/table/Gallery/components/GalleryItem/index.less +1 -0
  289. package/es/components/table/Gallery/index.js +11 -3
  290. package/es/components/table/Table/fields/text/Show/index.js +1 -1
  291. package/es/components/table/Table/index.js +2 -1
  292. package/es/components/table/Table/tableConfig/header/index.js +1 -1
  293. package/es/components/table/Table/utils.js +5 -1
  294. package/es/components/table/hooks/useTableSetting.js +3 -0
  295. package/es/components/table/hooks/useTransDataSource.js +4 -3
  296. package/es/components/table/index.js +1 -1
  297. package/es/components/tabs/index.less +1 -1
  298. package/es/components/translation/index.d.ts +1 -0
  299. package/es/components/translation/index.js +36 -10
  300. package/es/components/translation/index.less +12 -0
  301. package/es/components/versionModal/index.d.ts +1 -0
  302. package/es/components/versionModal/index.js +2 -2
  303. package/es/components/versionSelect/index.js +1 -1
  304. package/es/components/virtual-keyboard/Amount/index.js +2 -1
  305. package/es/components/virtual-keyboard/Amount/types.d.ts +1 -0
  306. package/es/index.d.ts +105 -94
  307. package/es/index.js +92 -90
  308. package/es/locales/en-US.js +69 -191
  309. package/es/locales/ja.js +12 -192
  310. package/es/locales/pt.js +12 -192
  311. package/es/locales/zh-CN.js +63 -185
  312. package/es/locales/zh-TW.js +68 -190
  313. package/es/pisell-materials.tw.css +1 -2414
  314. package/es/tailwind-input.css +1 -3
  315. package/es/theme/pisell-components.js +76 -0
  316. package/lib/components/Pagination/index.js +8 -42
  317. package/lib/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-dev.md +5 -2
  318. package/lib/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-test.md +169 -171
  319. package/lib/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.md +87 -27
  320. package/lib/components/PisellCards/components/GraphicTextCard/types.d.ts +18 -7
  321. package/lib/components/PisellCards/components/TextCard/TextCard.js +2 -3
  322. package/lib/components/PisellCards/components/TextCard/components/BadgeWrapper.js +20 -6
  323. package/lib/components/PisellCards/components/TextCard/components/TextContent.js +3 -1
  324. package/lib/components/PisellCards/components/TextCard/docs/TextCard.$tab-dev.md +36 -5
  325. package/lib/components/PisellCards/components/TextCard/docs/TextCard.$tab-test.md +2434 -258
  326. package/lib/components/PisellCards/components/TextCard/docs/TextCard.md +78 -13
  327. package/lib/components/PisellCards/index.d.ts +3 -0
  328. package/lib/components/PisellCards/index.js +3 -1
  329. package/lib/components/PisellContactBrief/PisellContactBrief.d.ts +34 -0
  330. package/lib/components/PisellContactBrief/PisellContactBrief.js +158 -0
  331. package/lib/components/PisellContactBrief/PisellContactBrief.less +192 -0
  332. package/lib/components/PisellContactBrief/components/ContactFormModal.js +139 -0
  333. package/lib/components/PisellContactBrief/docs/PisellContactBrief.$tab-design.md +109 -0
  334. package/lib/components/PisellContactBrief/docs/PisellContactBrief.$tab-dev.md +106 -0
  335. package/lib/components/PisellContactBrief/docs/PisellContactBrief.$tab-test.md +125 -0
  336. package/lib/components/PisellContactBrief/docs/PisellContactBrief.md +129 -0
  337. package/lib/components/PisellContactBrief/index.d.ts +2 -0
  338. package/lib/components/PisellContactBrief/locales.js +57 -0
  339. package/lib/components/PisellContactBrief/types.d.ts +86 -0
  340. package/lib/components/PisellLayouts/index.d.ts +1 -1
  341. package/lib/components/PisellProcedure/components/ProcedureHeader.js +1 -1
  342. package/lib/components/PisellTabbar/PisellTabbar.js +6 -6
  343. package/lib/components/PisellTabbar/template/Template1/PisellTabbar.js +6 -6
  344. package/lib/components/Template/[ComponentName].less +1 -0
  345. package/lib/components/Template/docs/[ComponentName].$tab-design.md +7 -0
  346. package/lib/components/Template/docs/[ComponentName].$tab-dev.md +1137 -0
  347. package/lib/components/Template/docs/[ComponentName].$tab-test.md +7 -0
  348. package/lib/components/Template/docs/[ComponentName].md +510 -0
  349. package/lib/components/appVersionControl/index.js +12 -11
  350. package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +6 -6
  351. package/lib/components/dataSourceComponents/dataSourceForm/formItem.js +1 -1
  352. package/lib/components/dataSourceComponents/dataSourceForm/index.js +1 -1
  353. package/lib/components/dataSourceComponents/dataSourceForm/submitButton/index.js +3 -3
  354. package/lib/components/dataSourceComponents/dataSourceForm/utils.js +3 -3
  355. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceTypography/index.js +1 -1
  356. package/lib/components/dataSourceComponents/dataSourceSubForm/index.js +1 -1
  357. package/lib/components/dataSourceComponents/dataSourceTable/BaseTable.js +2 -2
  358. package/lib/components/dataSourceComponents/dataSourceTable/filter/index.js +1 -1
  359. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.js +3 -2
  360. package/lib/components/dataSourceComponents/dataSourceTable/type.d.ts +1 -0
  361. package/lib/components/dataSourceComponents/dataSourceWrapper/BaseWrapper.js +1 -1
  362. package/lib/components/dataSourceComponents/fields/DatePicker/WithMode.js +4 -0
  363. package/lib/components/dataSourceComponents/fields/IconSelect/WithMode.js +1 -1
  364. package/lib/components/dataSourceComponents/fields/Input/WithMode.js +1 -1
  365. package/lib/components/dataSourceComponents/fields/Input.Phone/serve.js +4 -1
  366. package/lib/components/dataSourceComponents/fields/Radio/WithMode.js +1 -1
  367. package/lib/components/dataSourceComponents/fields/TimePicker/WithMode.js +4 -4
  368. package/lib/components/dataSourceComponents/hooks/useActions.js +1 -1
  369. package/lib/components/dataSourceComponents/provider/dataSource/DataSourceProvider.js +1 -1
  370. package/lib/components/drag-sort-tree/index.d.ts +1 -0
  371. package/lib/components/drag-sort-tree/index.js +0 -1
  372. package/lib/components/drawer/index.js +7 -6
  373. package/lib/components/filter/components/FilterItem/index.js +1 -3
  374. package/lib/components/filter/components/QuickFilter/index.js +2 -3
  375. package/lib/components/hardwareErrorTip/errorCard/index.d.ts +25 -0
  376. package/lib/components/hardwareErrorTip/errorCard/index.js +71 -0
  377. package/lib/components/hardwareErrorTip/errorCard/index.less +137 -0
  378. package/lib/components/hardwareErrorTip/errorTipStatistics/index.d.ts +10 -0
  379. package/lib/components/hardwareErrorTip/errorTipStatistics/index.js +34 -0
  380. package/lib/components/hardwareErrorTip/errorTipStatistics/index.less +34 -0
  381. package/lib/components/hardwareErrorTip/index.d.ts +20 -0
  382. package/lib/components/hardwareErrorTip/index.js +153 -0
  383. package/lib/components/hardwareErrorTip/index.less +95 -0
  384. package/lib/components/hardwareErrorTip/logCard/index.d.ts +25 -0
  385. package/lib/components/hardwareErrorTip/logCard/index.js +75 -0
  386. package/lib/components/hardwareErrorTip/logCard/index.less +121 -0
  387. package/lib/components/hardwareErrorTip/readme.md +309 -0
  388. package/lib/components/hardwareErrorTip/types.js +57 -0
  389. package/lib/components/iconfont/index.js +1 -1
  390. package/lib/components/login-and-register/index.js +4 -5
  391. package/lib/components/page/index.js +1 -1
  392. package/lib/components/pisellActionPanel/PisellActionPanel.d.ts +24 -0
  393. package/lib/components/pisellActionPanel/PisellActionPanel.js +71 -0
  394. package/lib/components/pisellActionPanel/PisellActionPanel.less +69 -0
  395. package/lib/components/pisellActionPanel/docs/pisellActionPanel.$tab-design.md +148 -0
  396. package/lib/components/pisellActionPanel/docs/pisellActionPanel.$tab-dev.md +53 -0
  397. package/lib/components/pisellActionPanel/docs/pisellActionPanel.$tab-test.md +64 -0
  398. package/lib/components/pisellActionPanel/docs/pisellActionPanel.md +160 -0
  399. package/lib/components/pisellActionPanel/index.d.ts +2 -0
  400. package/lib/components/pisellActionPanel/types.d.ts +87 -0
  401. package/lib/components/pisellAppCard/PisellAppCard.js +7 -7
  402. package/lib/components/pisellBaseCard/PisellBaseCard.d.ts +20 -0
  403. package/lib/components/pisellBaseCard/PisellBaseCard.js +76 -0
  404. package/lib/components/pisellBaseCard/PisellBaseCard.less +25 -0
  405. package/lib/components/pisellBaseCard/docs/pisellBaseCard.$tab-design.md +144 -0
  406. package/lib/components/pisellBaseCard/docs/pisellBaseCard.$tab-dev.md +92 -0
  407. package/lib/components/pisellBaseCard/docs/pisellBaseCard.$tab-test.md +86 -0
  408. package/lib/components/pisellBaseCard/docs/pisellBaseCard.md +165 -0
  409. package/lib/components/pisellBaseCard/index.d.ts +2 -0
  410. package/lib/components/pisellBaseCard/types.d.ts +49 -0
  411. package/lib/components/pisellCardList/index.js +6 -6
  412. package/lib/components/pisellCurrency/PisellCurrency.js +13 -6
  413. package/lib/components/pisellCurrency/PisellCurrency.less +0 -123
  414. package/lib/components/pisellCustomerBrief/PisellCustomerBrief.d.ts +57 -0
  415. package/lib/components/pisellCustomerBrief/PisellCustomerBrief.js +94 -0
  416. package/lib/components/pisellCustomerBrief/PisellCustomerBrief.less +8 -0
  417. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-design.md +115 -0
  418. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-dev.md +73 -0
  419. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-test.md +66 -0
  420. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.md +132 -0
  421. package/lib/components/pisellCustomerBrief/index.d.ts +2 -0
  422. package/lib/components/pisellCustomerBrief/types.d.ts +86 -0
  423. package/lib/components/pisellDataSourceContainer/components/Pagination/index.js +3 -9
  424. package/lib/components/pisellDataSourceContainer/docs/PisellDataSourceContainer.md +189 -240
  425. package/lib/components/pisellDataSourceContainer/type.d.ts +1 -1
  426. package/lib/components/pisellDateTimeDisplay/docs/pisellDateTimeDisplay.md +556 -556
  427. package/lib/components/pisellEmail/PisellEmail.js +13 -6
  428. package/lib/components/pisellEmail/PisellEmail.less +0 -92
  429. package/lib/components/pisellEmpty/index.d.ts +1 -1
  430. package/lib/components/pisellEntityCard/PisellEntityCard.d.ts +47 -0
  431. package/lib/components/pisellEntityCard/PisellEntityCard.js +318 -0
  432. package/lib/components/pisellEntityCard/PisellEntityCard.less +362 -0
  433. package/lib/components/pisellEntityCard/docs/pisellEntityCard.$tab-design.md +209 -0
  434. package/lib/components/pisellEntityCard/docs/pisellEntityCard.$tab-dev.md +82 -0
  435. package/lib/components/pisellEntityCard/docs/pisellEntityCard.$tab-test.md +122 -0
  436. package/lib/components/pisellEntityCard/docs/pisellEntityCard.md +176 -0
  437. package/lib/components/pisellEntityCard/index.d.ts +2 -0
  438. package/lib/components/pisellEntityCard/types.d.ts +148 -0
  439. package/lib/components/pisellExport/PisellExport.d.ts +11 -0
  440. package/lib/components/pisellExport/PisellExport.js +47 -0
  441. package/lib/components/pisellExport/PisellExport.less +141 -0
  442. package/lib/components/pisellExport/docs/pisellExport.$tab-design.md +116 -0
  443. package/lib/components/pisellExport/docs/pisellExport.$tab-dev.md +132 -0
  444. package/lib/components/pisellExport/docs/pisellExport.$tab-test.md +61 -0
  445. package/lib/components/pisellExport/docs/pisellExport.md +162 -0
  446. package/lib/components/pisellExport/index.d.ts +2 -0
  447. package/lib/components/pisellExport/types.d.ts +67 -0
  448. package/lib/components/pisellFilter/docs/PisellFilter.md +2 -2
  449. package/lib/components/pisellFind/docs/pisellFind.md +2 -2
  450. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +1 -2
  451. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +51 -230
  452. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +0 -22
  453. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.js +2 -3
  454. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
  455. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +74 -209
  456. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +4 -39
  457. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +11 -130
  458. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +1 -9
  459. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +2 -23
  460. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +4 -97
  461. package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +9 -29
  462. package/lib/components/pisellFloorMapLayout/components/ItemLayer.less +2 -19
  463. package/lib/components/pisellFloorMapLayout/components/ViewControls.js +64 -118
  464. package/lib/components/pisellFloorMapLayout/components/ViewControls.less +44 -208
  465. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +0 -4
  466. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +1 -3
  467. package/lib/components/pisellFloorMapLayout/docs/pisellFloorMapLayout.md +194 -559
  468. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +16 -82
  469. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +36 -369
  470. package/lib/components/pisellFloorMapLayout/index.d.ts +0 -1
  471. package/lib/components/pisellFloorMapLayout/locales-ja.js +1 -21
  472. package/lib/components/pisellFloorMapLayout/locales-pt.js +1 -21
  473. package/lib/components/pisellFloorMapLayout/locales.js +3 -63
  474. package/lib/components/pisellFloorMapLayout/types.d.ts +9 -70
  475. package/lib/components/pisellGoodPassCard/index.less +0 -1
  476. package/lib/components/pisellGridPro/GridView/docs/GridView.md +48 -47
  477. package/lib/components/pisellGridPro/ToolBar/docs/ToolBar.$tab-dev.md +2 -4
  478. package/lib/components/pisellGridPro/ToolBar/docs/ToolBar.md +81 -95
  479. package/lib/components/pisellGridPro/ToolBar/index.less +4 -5
  480. package/lib/components/pisellGridPro/docs/PisellGridPro.md +262 -173
  481. package/lib/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-dev.md +6 -3
  482. package/lib/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-test.md +4 -3
  483. package/lib/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.md +2 -1
  484. package/lib/components/pisellImport/PisellImport.d.ts +11 -0
  485. package/lib/components/pisellImport/PisellImport.js +84 -0
  486. package/lib/components/pisellImport/PisellImport.less +141 -0
  487. package/lib/components/pisellImport/docs/pisellImport.$tab-design.md +121 -0
  488. package/lib/components/pisellImport/docs/pisellImport.$tab-dev.md +137 -0
  489. package/lib/components/pisellImport/docs/pisellImport.$tab-test.md +69 -0
  490. package/lib/components/pisellImport/docs/pisellImport.md +174 -0
  491. package/lib/components/pisellImport/index.d.ts +2 -0
  492. package/lib/components/pisellImport/types.d.ts +89 -0
  493. package/lib/components/pisellLongText/PisellLongText.js +13 -6
  494. package/lib/components/pisellLongText/PisellLongText.less +0 -67
  495. package/lib/components/pisellLookup/PisellLookup.less +1 -1
  496. package/lib/components/pisellLookup/components/LookupTrigger.js +8 -6
  497. package/lib/components/pisellLookup/docs/pisellLookup.md +1 -1
  498. package/lib/components/pisellMultipleSelect/PisellMultipleSelect.js +6 -4
  499. package/lib/components/pisellMultipleSelect/PisellMultipleSelect.less +18 -139
  500. package/lib/components/pisellMultipleSelect/components/EditView.js +1 -0
  501. package/lib/components/pisellNavigationMenu/PisellNavigationMenu.js +4 -0
  502. package/lib/components/pisellNumber/PisellNumber.js +13 -6
  503. package/lib/components/pisellNumber/PisellNumber.less +0 -103
  504. package/lib/components/pisellPhone/PisellPhone.js +13 -6
  505. package/lib/components/pisellPhone/PisellPhone.less +0 -119
  506. package/lib/components/pisellPhone/components/EditView.js +37 -19
  507. package/lib/components/pisellPhone/constants/countryCodes.js +26 -25
  508. package/lib/components/pisellPhone/types.d.ts +2 -2
  509. package/lib/components/pisellPhone/utils/countryCodeHelper.js +2 -2
  510. package/lib/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.md +1 -1
  511. package/lib/components/pisellRating/PisellRating.js +4 -2
  512. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +10 -26
  513. package/lib/components/pisellRecordBoard/README.md +0 -12
  514. package/lib/components/pisellRecordBoard/docs/PisellRecordBoard.md +70 -716
  515. package/lib/components/pisellRecordBoard/docs/ShellFrame.md +44 -62
  516. package/lib/components/pisellRecordBoard/index.d.ts +1 -7
  517. package/lib/components/pisellRecordBoard/index.js +0 -4
  518. package/lib/components/pisellRecordBoard/layouts/GridLayout/Grid.js +8 -146
  519. package/lib/components/pisellRecordBoard/layouts/GridLayout/Grid.less +0 -31
  520. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +3813 -0
  521. package/lib/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +1 -5
  522. package/lib/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.js +8 -11
  523. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +1 -1
  524. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +1 -2
  525. package/lib/components/pisellRecordBoard/shellFrame/Pagination/index.js +1 -7
  526. package/lib/components/pisellRecordBoard/shellFrame/Search/index.js +1 -1
  527. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +1 -5
  528. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +78 -156
  529. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +13 -181
  530. package/lib/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +2 -10
  531. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +2 -9
  532. package/lib/components/pisellRecordBoard/shellFrame/index.js +19 -73
  533. package/lib/components/pisellRecordBoard/types.d.ts +8 -374
  534. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +0 -16
  535. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.js +15 -67
  536. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.less +0 -23
  537. package/lib/components/pisellReservationSchedule/locales.js +3 -21
  538. package/lib/components/pisellReservationSchedule/types.d.ts +0 -5
  539. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +2 -2
  540. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +4 -37
  541. package/lib/components/pisellReservationScheduleBand/types.d.ts +0 -4
  542. package/lib/components/pisellShellFrame/PisellShellFrame.js +2 -2
  543. package/lib/components/pisellShellFrame/PisellShellFrame.less +2 -18
  544. package/lib/components/pisellShellFrame/types.d.ts +0 -6
  545. package/lib/components/pisellSingleLineText/PisellSingleLineText.js +21 -14
  546. package/lib/components/pisellSingleLineText/PisellSingleLineText.less +0 -143
  547. package/lib/components/pisellSingleLineText/docs/pisellSingleLineText.md +256 -256
  548. package/lib/components/pisellSingleSelect/PisellSingleSelect.js +7 -4
  549. package/lib/components/pisellSingleSelect/PisellSingleSelect.less +5 -106
  550. package/lib/components/pisellSingleSelect/docs/pisellSingleSelect.md +525 -428
  551. package/lib/components/pisellSort/docs/PisellSort.md +67 -131
  552. package/lib/components/pisellStatisticList/index.js +1 -0
  553. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +38 -152
  554. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +13 -126
  555. package/lib/components/pisellTimeNavigator/components/CursorLayer.js +2 -2
  556. package/lib/components/pisellTimeNavigator/components/GestureLayer.js +3 -12
  557. package/lib/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-dev.md +42 -26
  558. package/lib/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-test.md +5 -5
  559. package/lib/components/pisellTimeNavigator/index.d.ts +1 -1
  560. package/lib/components/pisellTimeNavigator/utils/index.d.ts +3 -9
  561. package/lib/components/pisellTimeNavigator/utils/index.js +5 -16
  562. package/lib/components/pisellTimeRangeDisplay/docs/pisellTimeRangeDisplay.md +227 -226
  563. package/lib/components/pisellUrl/PisellUrl.js +13 -6
  564. package/lib/components/pisellWalletPassCard/index.js +11 -5
  565. package/lib/components/productCard/cartSkuCard/components/basicInfo/index.js +8 -69
  566. package/lib/components/productCard/cartSkuCard/components/basicInfo/index.less +1 -80
  567. package/lib/components/productCard/cartSkuCard/components/holders/index.js +1 -1
  568. package/lib/components/productCard/cartSkuCard/components/packages/index.js +11 -26
  569. package/lib/components/productCard/cartSkuCard/components/specs/index.js +8 -23
  570. package/lib/components/productCard/cartSkuCard/components/specs/index.less +0 -11
  571. package/lib/components/productCard/cartSkuCard/components/timeRange/index.js +1 -2
  572. package/lib/components/productCard/cartSkuCard/index.js +8 -68
  573. package/lib/components/productCard/cartSkuCard/locales.js +5 -40
  574. package/lib/components/productCard/components/Header/Actions/index.less +15 -0
  575. package/lib/components/productCard/components/Header/DeleteButton/index.js +2 -2
  576. package/lib/components/productCard/components/Header/DeleteButton/index.less +2 -1
  577. package/lib/components/productCard/components/Header/EditButton/index.js +1 -2
  578. package/lib/components/productCard/components/Header/index.less +1 -1
  579. package/lib/components/productCard/components/Time/components/SelectHolder/index.js +3 -2
  580. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.js +5 -5
  581. package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.js +2 -2
  582. package/lib/components/productCard/components/Time/components/SelectResource/index.js +6 -3
  583. package/lib/components/productCard/components/Time/index.js +3 -2
  584. package/lib/components/productCard/status.js +0 -3
  585. package/lib/components/productCard/types.d.ts +0 -10
  586. package/lib/components/productCard/utils.js +1 -1
  587. package/lib/components/select-time/index.js +0 -1
  588. package/lib/components/table/Actions/component/ExportImport/index.js +3 -4
  589. package/lib/components/table/Actions/component/GallerySetting/index.js +12 -11
  590. package/lib/components/table/Actions/component/ViewMode/index.js +6 -5
  591. package/lib/components/table/Actions/index.js +1 -1
  592. package/lib/components/table/BasicTable/index.js +4 -3
  593. package/lib/components/table/Gallery/components/GalleryItem/components/Title/index.less +1 -1
  594. package/lib/components/table/Gallery/components/GalleryItem/index.js +17 -9
  595. package/lib/components/table/Gallery/components/GalleryItem/index.less +1 -0
  596. package/lib/components/table/Gallery/index.js +11 -3
  597. package/lib/components/table/Table/fields/text/Show/index.js +1 -1
  598. package/lib/components/table/Table/index.js +2 -1
  599. package/lib/components/table/Table/tableConfig/header/index.js +2 -2
  600. package/lib/components/table/Table/utils.js +5 -1
  601. package/lib/components/table/hooks/useTableSetting.js +3 -0
  602. package/lib/components/table/hooks/useTransDataSource.js +4 -3
  603. package/lib/components/table/index.js +1 -1
  604. package/lib/components/tabs/index.less +1 -1
  605. package/lib/components/translation/index.d.ts +1 -0
  606. package/lib/components/translation/index.js +35 -9
  607. package/lib/components/translation/index.less +12 -0
  608. package/lib/components/versionModal/index.d.ts +1 -0
  609. package/lib/components/versionModal/index.js +2 -2
  610. package/lib/components/versionSelect/index.js +4 -4
  611. package/lib/components/virtual-keyboard/Amount/index.js +5 -4
  612. package/lib/components/virtual-keyboard/Amount/types.d.ts +1 -0
  613. package/lib/index.d.ts +105 -94
  614. package/lib/index.js +298 -299
  615. package/lib/locales/en-US.js +69 -191
  616. package/lib/locales/ja.js +12 -192
  617. package/lib/locales/pt.js +12 -192
  618. package/lib/locales/zh-CN.js +63 -185
  619. package/lib/locales/zh-TW.js +68 -190
  620. package/lib/pisell-materials.tw.css +1 -2414
  621. package/lib/tailwind-input.css +1 -3
  622. package/lib/theme/pisell-components.js +76 -0
  623. package/lowcode/pisell-time-navigator/meta.ts +10 -0
  624. package/package.json +3 -2
  625. package/es/components/SafeAreaTop/index.d.ts +0 -6
  626. package/es/components/SafeAreaTop/index.js +0 -112
  627. package/es/components/SafeAreaTop/index.less +0 -11
  628. package/es/components/SafeAreaTop/types.d.ts +0 -13
  629. package/es/components/pisellFloorMapLayout/appearance/floorMapAppearance.d.ts +0 -4
  630. package/es/components/pisellFloorMapLayout/appearance/floorMapAppearance.js +0 -22
  631. package/es/components/pisellFloorMapLayout/components/HistoryIcons.js +0 -64
  632. package/es/components/pisellFloorMapLayout/floorMapLayoutConstants.js +0 -7
  633. package/es/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +0 -47
  634. package/es/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +0 -95
  635. package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +0 -52
  636. package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +0 -61
  637. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.js +0 -758
  638. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.less +0 -313
  639. package/es/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.js +0 -191
  640. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.js +0 -22
  641. package/es/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.js +0 -39
  642. package/es/components/pisellRecordBoard/shellFrame/Calendar/hooks/useBookingCalendarDayOverlayLayout.js +0 -74
  643. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarBlockPanel.js +0 -61
  644. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarOverflowListLayer.js +0 -26
  645. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.js +0 -79
  646. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.js +0 -48
  647. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.js +0 -37
  648. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.js +0 -20
  649. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.js +0 -532
  650. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarSelectionUtils.js +0 -17
  651. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.js +0 -31
  652. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.js +0 -583
  653. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarGroupRowHeader.js +0 -41
  654. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.js +0 -111
  655. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarResourceView.js +0 -612
  656. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.js +0 -162
  657. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.js +0 -8
  658. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDayHourRemaining.js +0 -33
  659. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDaySelection.js +0 -37
  660. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceCellToggle.js +0 -18
  661. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceDayHeaderRemaining.js +0 -33
  662. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/useBookingCalendarGoToDayFromCell.js +0 -29
  663. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +0 -43
  664. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +0 -14
  665. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +0 -436
  666. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +0 -11
  667. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +0 -9
  668. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.js +0 -179
  669. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.js +0 -62
  670. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.js +0 -57
  671. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +0 -45
  672. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.js +0 -91
  673. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +0 -218
  674. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.less +0 -339
  675. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +0 -52
  676. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.js +0 -153
  677. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +0 -32
  678. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +0 -170
  679. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +0 -11
  680. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +0 -56
  681. package/es/components/pisellRecordBoard/types.js +0 -12
  682. package/es/components/pisellTimeNavigator/timeNavigatorConstants.js +0 -7
  683. package/es/components/productCard/cartSkuCard/components/Gift/index.js +0 -34
  684. package/es/components/productCard/cartSkuCard/components/Gift/index.less +0 -84
  685. package/es/components/productCard/cartSkuCard/components/Promotion/index.js +0 -23
  686. package/es/components/productCard/cartSkuCard/components/Promotion/index.less +0 -16
  687. package/es/components/productCard/cartSkuCard/components/weighing/index.js +0 -27
  688. package/es/components/productCard/cartSkuCard/components/weighing/index.less +0 -25
  689. package/lib/components/SafeAreaTop/index.d.ts +0 -6
  690. package/lib/components/SafeAreaTop/index.js +0 -115
  691. package/lib/components/SafeAreaTop/index.less +0 -11
  692. package/lib/components/SafeAreaTop/types.d.ts +0 -13
  693. package/lib/components/pisellFloorMapLayout/appearance/floorMapAppearance.d.ts +0 -4
  694. package/lib/components/pisellFloorMapLayout/appearance/floorMapAppearance.js +0 -22
  695. package/lib/components/pisellFloorMapLayout/components/HistoryIcons.js +0 -67
  696. package/lib/components/pisellFloorMapLayout/floorMapLayoutConstants.js +0 -7
  697. package/lib/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +0 -52
  698. package/lib/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +0 -96
  699. package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +0 -52
  700. package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +0 -64
  701. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.js +0 -760
  702. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.less +0 -313
  703. package/lib/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.js +0 -197
  704. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.js +0 -23
  705. package/lib/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.js +0 -44
  706. package/lib/components/pisellRecordBoard/shellFrame/Calendar/hooks/useBookingCalendarDayOverlayLayout.js +0 -75
  707. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarBlockPanel.js +0 -63
  708. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarOverflowListLayer.js +0 -28
  709. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.js +0 -81
  710. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.js +0 -50
  711. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.js +0 -39
  712. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.js +0 -21
  713. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.js +0 -562
  714. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarSelectionUtils.js +0 -17
  715. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.js +0 -33
  716. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.js +0 -585
  717. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarGroupRowHeader.js +0 -43
  718. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.js +0 -113
  719. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarResourceView.js +0 -614
  720. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.js +0 -164
  721. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.js +0 -10
  722. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDayHourRemaining.js +0 -34
  723. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDaySelection.js +0 -38
  724. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceCellToggle.js +0 -19
  725. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceDayHeaderRemaining.js +0 -34
  726. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/useBookingCalendarGoToDayFromCell.js +0 -30
  727. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +0 -45
  728. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +0 -14
  729. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +0 -439
  730. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +0 -11
  731. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +0 -9
  732. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.js +0 -181
  733. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.js +0 -64
  734. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.js +0 -57
  735. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +0 -45
  736. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.js +0 -93
  737. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +0 -220
  738. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.less +0 -339
  739. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +0 -52
  740. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.js +0 -153
  741. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +0 -32
  742. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +0 -181
  743. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +0 -14
  744. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +0 -63
  745. package/lib/components/pisellRecordBoard/types.js +0 -12
  746. package/lib/components/pisellTimeNavigator/timeNavigatorConstants.js +0 -7
  747. package/lib/components/productCard/cartSkuCard/components/Gift/index.js +0 -36
  748. package/lib/components/productCard/cartSkuCard/components/Gift/index.less +0 -84
  749. package/lib/components/productCard/cartSkuCard/components/Promotion/index.js +0 -25
  750. package/lib/components/productCard/cartSkuCard/components/Promotion/index.less +0 -16
  751. package/lib/components/productCard/cartSkuCard/components/weighing/index.js +0 -29
  752. package/lib/components/productCard/cartSkuCard/components/weighing/index.less +0 -25
  753. /package/es/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.$tab-design.md +0 -0
  754. /package/es/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.$tab-dev.md +0 -0
  755. /package/es/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.$tab-test.md +0 -0
  756. /package/lib/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.$tab-design.md +0 -0
  757. /package/lib/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.$tab-dev.md +0 -0
  758. /package/lib/components/pisellQuickFilter/{docs → doc}/PisellQuickFilter.$tab-test.md +0 -0
@@ -0,0 +1,1137 @@
1
+ ---
2
+ title: 开发文档
3
+ order: 3
4
+ category: pro
5
+ ---
6
+
7
+ # PisellProcedure 开发文档
8
+
9
+ ## 1. 组件基本信息
10
+
11
+ ### 1.1 组件名称
12
+
13
+ - **中文名称**:流程容器
14
+ - **英文名称**:PisellProcedure
15
+ - **组件编号**:pcp_de_procedure_V1.0
16
+
17
+ ### 1.2 组件版本
18
+
19
+ - **当前版本**:1.0.0
20
+ - **更新日期**:2025-12-11
21
+ - **版本说明**:首次发布
22
+
23
+ ### 1.3 组件分类
24
+
25
+ - **类型**:Pro Components
26
+ - **分类**:Data Entry(数据录入)
27
+ - **依赖**:PisellLayout、PisellSteps、PisellModal、Ant Design Button/Dropdown
28
+
29
+ ## 2. 组件描述
30
+
31
+ PisellProcedure 是一个用于管理多步骤流程的复合容器组件。它通过三段式布局(头部步骤区、主体内容区、底部操作区)引导用户完成复杂流程,如订单创建、数据配置、多步骤表单等场景。
32
+
33
+ ### 2.1 核心能力
34
+
35
+ 1. **步骤导航**:通过 PisellSteps 组件展示流程进度
36
+ 2. **内容分区**:左右分栏布局,支持内容区与信息摘要区
37
+ 3. **滚动行为**:
38
+ - 内容区跟随整体页面滚动,不设置独立滚动条
39
+ - 信息区使用 sticky 定位,有独立滚动条,不跟随页面滚动
40
+ 4. **响应式适配**:根据屏幕宽度自动调整布局和信息区宽度
41
+ 5. **操作区管理**:底部固定操作区,支持按钮溢出自动收纳
42
+ 6. **移动端适配**:信息区隐藏,通过弹窗方式展示
43
+ 7. **步骤控制**:支持上一步/下一步事件拦截和确认弹窗
44
+
45
+ ### 2.2 适用场景
46
+
47
+ - 多步骤流程页:商品配置、下单、审批、注册引导
48
+ - 复杂表单提交:分阶段信息填写
49
+ - 电商结账流程:地址确认 → 支付方式 → 订单预览
50
+ - 配置向导:系统设置、产品配置
51
+
52
+ ## 3. API 文档
53
+
54
+ ### 3.1 PisellProcedureProps
55
+
56
+ #### 通用属性
57
+
58
+ | 属性 | 类型 | 默认值 | 说明 |
59
+ | -------------- | ------------- | ------ | ------------------------- |
60
+ | className | string | - | 自定义类名 |
61
+ | style | CSSProperties | - | 自定义样式 |
62
+ | showHeader | boolean | true | 是否显示头部区域 |
63
+ | showSidebar | boolean | true | 是否显示信息区 |
64
+ | showFooter | boolean | true | 是否显示底部区域 |
65
+ | defaultCurrent | number | 0 | 初始步骤索引(从 0 开始) |
66
+
67
+ #### 区域配置
68
+
69
+ | 属性 | 类型 | 说明 |
70
+ | ----------- | -------------------- | ------------ |
71
+ | headerProps | ProcedureHeaderProps | 头部区域配置 |
72
+ | bodyProps | ProcedureBodyProps | 主体区域配置 |
73
+ | footerProps | ProcedureFooterProps | 底部区域配置 |
74
+
75
+ #### 事件回调
76
+
77
+ | 事件 | 类型 | 说明 |
78
+ | --------------- | ----------------------------------------------- | -------------------------------------------------------- |
79
+ | onStepsChange | (result: StepChangeResult) => void | 步骤变化回调,返回 { success, currentStep, currentItem } |
80
+ | onPrev | (current: number) => boolean \| void | 上一步事件回调,返回 false 可阻止步骤更新 |
81
+ | onNext | (current: number) => boolean \| void | 下一步事件回调,返回 false 可阻止步骤更新 |
82
+ | onFirstStepBack | () => void | 首步返回按钮点击回调,不传递则默认跳转首页(/) |
83
+ | onClose | () => void | 关闭按钮点击回调 |
84
+ | onBackConfirm | (action: 'cancel' \| 'ok' \| 'confirm') => void | 返回确认弹窗按钮回调 |
85
+ | onCloseConfirm | (action: 'cancel' \| 'ok' \| 'confirm') => void | 关闭确认弹窗按钮回调 |
86
+
87
+ ### 3.2 ProcedureHeaderProps(头部区域配置)
88
+
89
+ | 属性 | 类型 | 默认值 | 说明 |
90
+ | ------------------- | ---------------------- | ------ | ------------------------------ |
91
+ | className | string | - | 自定义类名 |
92
+ | style | CSSProperties | - | 自定义样式 |
93
+ | left | ReactNode | - | 左侧插槽(返回按钮等) |
94
+ | right | ReactNode | - | 右侧插槽(关闭按钮等) |
95
+ | stepsProps | PisellStepsProps | - | 步骤条配置,透传给 PisellSteps |
96
+ | showBackOnFirstStep | boolean | false | 第一步时是否显示返回按钮 |
97
+ | backConfirmModal | BackConfirmModalConfig | - | 返回确认弹窗配置 |
98
+ | closeConfirmModal | BackConfirmModalConfig | - | 关闭确认弹窗配置 |
99
+
100
+ ### 3.3 ProcedureBodyProps(主体区域配置)
101
+
102
+ | 属性 | 类型 | 默认值 | 说明 |
103
+ | ---------------- | -------------------------- | ------------ | ------------------------- |
104
+ | className | string | - | 自定义类名 |
105
+ | style | CSSProperties | - | 自定义样式 |
106
+ | direction | 'horizontal' \| 'vertical' | 'horizontal' | 排列方向(横向/纵向) |
107
+ | layoutMode | 'fixed' \| 'ratio' | 'fixed' | 布局模式 |
108
+ | layoutRatio | string | '7:3' | 比例配置(仅 ratio 模式) |
109
+ | contentSlot | ReactNode | - | 内容区插槽 |
110
+ | contentClassName | string | - | 内容区类名 |
111
+ | contentStyle | CSSProperties | - | 内容区样式 |
112
+ | sidebarSlot | ReactNode | - | 信息区插槽 |
113
+ | sidebarClassName | string | - | 信息区类名 |
114
+ | sidebarStyle | CSSProperties | - | 信息区样式 |
115
+
116
+ ### 3.4 ProcedureFooterProps(底部区域配置)
117
+
118
+ | 属性 | 类型 | 默认值 | 说明 |
119
+ | ----------------- | ------------------ | --------------- | ---------------- |
120
+ | className | string | - | 自定义类名 |
121
+ | style | CSSProperties | - | 自定义样式 |
122
+ | leftSlot | ReactNode | - | 左侧插槽 |
123
+ | summaryButton | ReactNode | - | 移动端总结按钮 |
124
+ | actions | ReactNode | - | 右侧操作按钮组 |
125
+ | position | FooterPositionMode | 'float-sidebar' | 底部位置模式 |
126
+ | enableOverflow | boolean | true | 是否启用溢出收纳 |
127
+ | moreText | string | 'More' | More 按钮文案 |
128
+ | summaryModalTitle | string | '详情' | 移动端弹窗标题 |
129
+
130
+ ### 3.5 BackConfirmModalConfig(确认弹窗配置)
131
+
132
+ | 属性 | 类型 | 默认值 | 说明 |
133
+ | -------- | ------- | ------ | ---------------------- |
134
+ | enabled | boolean | true | 是否启用确认弹窗 |
135
+ | title | string | - | 弹窗标题(支持多语言) |
136
+ | describe | string | - | 弹窗描述内容 |
137
+ | footer | array | - | 弹窗底部按钮配置数组 |
138
+
139
+ **footer 按钮配置:**
140
+
141
+ ```typescript
142
+ {
143
+ text: string; // 按钮文本
144
+ type?: 'primary' | 'default' | 'dashed' | 'link' | 'text';
145
+ onClick?: () => void; // 自定义点击回调
146
+ }
147
+ ```
148
+
149
+ ## 4. 使用示例
150
+
151
+ ### 4.1 基础用法
152
+
153
+ ```
154
+ import { PisellProcedure } from '@pisell/materials';
155
+ import { Button } from 'antd';
156
+ import { ArrowLeftOutlined, CloseOutlined } from '@ant-design/icons';
157
+
158
+ function App() {
159
+ return (
160
+ <PisellProcedure
161
+ defaultCurrent={0}
162
+ headerProps={{
163
+ left: <Button icon={<ArrowLeftOutlined />}>返回</Button>,
164
+ right: <Button icon={<CloseOutlined />}>关闭</Button>,
165
+ stepsProps: {
166
+ items: [
167
+ { title: '第一步', description: '基础信息' },
168
+ { title: '第二步', description: '详细配置' },
169
+ { title: '第三步', description: '确认提交' },
170
+ ],
171
+ },
172
+ }}
173
+ bodyProps={{
174
+ contentSlot: <div>主要内容区域</div>,
175
+ sidebarSlot: <div>信息摘要区域</div>,
176
+ }}
177
+ footerProps={{
178
+ leftSlot: <div>总价:¥100</div>,
179
+ summaryButton: <Button icon={<ShoppingCartOutlined />} shape="circle" />,
180
+ actions: (
181
+ <>
182
+ <Button data-action="prev">上一步</Button>
183
+ <Button type="primary">下一步</Button>
184
+ </>
185
+ ),
186
+ }}
187
+ onStepsChange={(result) => {
188
+ console.log('步骤变化:', result.currentStep, result.currentItem);
189
+ }}
190
+ onClose={() => {
191
+ console.log('关闭流程');
192
+ }}
193
+ />
194
+ );
195
+ }
196
+ ```
197
+
198
+ ### 4.2 启用确认弹窗
199
+
200
+ ```
201
+ <PisellProcedure
202
+ headerProps={{
203
+ // 返回确认弹窗(默认启用)
204
+ backConfirmModal: {
205
+ enabled: true,
206
+ title: '确认返回',
207
+ describe: '确定要返回上一步吗?当前填写的内容将不会保存',
208
+ footer: [
209
+ { text: '取消', action: 'cancel' },
210
+ { text: '确认返回', type: 'primary', action: 'confirm' },
211
+ ],
212
+ },
213
+ // 关闭确认弹窗
214
+ closeConfirmModal: {
215
+ enabled: true,
216
+ title: '确认关闭',
217
+ describe: '确定要关闭吗?所有未保存的数据将丢失',
218
+ footer: [
219
+ { text: '继续编辑', action: 'cancel' },
220
+ { text: '确认关闭', type: 'primary', action: 'confirm' },
221
+ ],
222
+ },
223
+ }}
224
+ onBackConfirm={(action) => {
225
+ console.log('返回确认:', action);
226
+ if (action === 'confirm') {
227
+ // 用户点击了"确认返回",可以清除当前步骤数据
228
+ }
229
+ }}
230
+ onCloseConfirm={(action) => {
231
+ console.log('关闭确认:', action);
232
+ }}
233
+ />
234
+ ```
235
+
236
+ ### 4.3 步骤验证拦截
237
+
238
+ ```
239
+ <PisellProcedure
240
+ onPrev={(current) => {
241
+ console.log('准备返回上一步,当前步骤:', current);
242
+ // 可以在这里进行验证,返回 false 阻止步骤更新
243
+ if (hasUnsavedData()) {
244
+ message.warning('请先保存当前数据');
245
+ return false;
246
+ }
247
+ }}
248
+ onNext={(current) => {
249
+ console.log('准备进入下一步,当前步骤:', current);
250
+ // 可以在这里进行验证,返回 false 阻止步骤更新
251
+ if (!validateCurrentStep()) {
252
+ message.error('请填写必填项');
253
+ return false;
254
+ }
255
+ }}
256
+ />
257
+ ```
258
+
259
+ ### 4.4 首步返回自定义
260
+
261
+ ```
262
+ <PisellProcedure
263
+ headerProps={{
264
+ showBackOnFirstStep: true, // 第一步显示返回按钮
265
+ }}
266
+ onFirstStepBack={() => {
267
+ // 自定义首步返回逻辑
268
+ router.push('/home');
269
+ }}
270
+ />
271
+ ```
272
+
273
+ ### 4.5 比例布局模式
274
+
275
+ ```
276
+ <PisellProcedure
277
+ bodyProps={{
278
+ layoutMode: 'ratio', // 使用比例模式
279
+ layoutRatio: '7:3', // 内容区 70%,信息区 30%
280
+ contentSlot: <div>内容区</div>,
281
+ sidebarSlot: <div>信息区</div>,
282
+ }}
283
+ />
284
+ ```
285
+
286
+ ### 4.6 纵向排列模式
287
+
288
+ ```
289
+ <PisellProcedure
290
+ bodyProps={{
291
+ direction: 'vertical', // 纵向排列(上下布局)
292
+ contentSlot: <div>内容区(上方)</div>,
293
+ sidebarSlot: <div>信息区(下方)</div>,
294
+ }}
295
+ />
296
+ ```
297
+
298
+ ### 4.7 自定义底部位置
299
+
300
+ ```
301
+ <PisellProcedure
302
+ footerProps={{
303
+ position: 'fixed-bottom', // 固定在整体底部
304
+ leftSlot: <div>总价:¥100</div>,
305
+ actions: (
306
+ <>
307
+ <Button>保存草稿</Button>
308
+ <Button data-action="prev">上一步</Button>
309
+ <Button type="primary">下一步</Button>
310
+ </>
311
+ ),
312
+ }}
313
+ />
314
+ ```
315
+
316
+ ## 5. 类型定义
317
+
318
+ ### 5.1 StepItem(步骤项)
319
+
320
+ ```typescript
321
+ interface StepItem {
322
+ index?: number;
323
+ title?: ReactNode;
324
+ description?: ReactNode;
325
+ [key: string]: any;
326
+ }
327
+ ```
328
+
329
+ ### 5.2 StepChangeResult(步骤变化结果)
330
+
331
+ ```typescript
332
+ interface StepChangeResult {
333
+ success: boolean; // 是否成功
334
+ currentStep: number; // 当前步骤索引
335
+ currentItem: StepItem | null; // 当前步骤数据
336
+ }
337
+ ```
338
+
339
+ ### 5.3 BackConfirmModalConfig(确认弹窗配置)
340
+
341
+ ```typescript
342
+ interface BackConfirmModalConfig {
343
+ enabled?: boolean; // 是否启用
344
+ title?: string; // 弹窗标题
345
+ describe?: string; // 弹窗描述
346
+ footer?: Array<{
347
+ // 底部按钮配置
348
+ text?: string;
349
+ type?: 'primary' | 'default' | 'dashed' | 'link' | 'text';
350
+ action?: 'confirm' | 'cancel';
351
+ onClick?: () => void;
352
+ }>;
353
+ }
354
+ ```
355
+
356
+ ### 5.4 FooterPositionMode(底部位置模式)
357
+
358
+ ```typescript
359
+ type FooterPositionMode =
360
+ | 'fixed-bottom' // 固定在整体底部
361
+ | 'fixed-content-bottom' // 内嵌在 content 区域底部
362
+ | 'fixed-sidebar-bottom' // 内嵌在 sidebar 区域底部
363
+ | 'float-all' // 悬浮在整体区域
364
+ | 'float-content' // 悬浮在 content 区域
365
+ | 'float-sidebar'; // 悬浮在 sidebar 区域(默认)
366
+ ```
367
+
368
+ ### 5.5 BodyLayoutMode(布局模式)
369
+
370
+ ```typescript
371
+ type BodyLayoutMode = 'fixed' | 'ratio';
372
+ ```
373
+
374
+ ### 5.6 BodyLayoutRatio(布局比例)
375
+
376
+ ```typescript
377
+ type BodyLayoutRatio = `${number}:${number}`;
378
+ // 示例:'7:3' | '6:4'
379
+ ```
380
+
381
+ ## 6. 事件详解
382
+
383
+ ### 6.1 onStepsChange(步骤变化)
384
+
385
+ **触发时机**:步骤更新后
386
+
387
+ **参数**:
388
+
389
+ ```typescript
390
+ {
391
+ success: boolean; // 是否成功
392
+ currentStep: number; // 当前步骤索引
393
+ currentItem: StepItem | null; // 当前步骤数据
394
+ }
395
+ ```
396
+
397
+ **示例**:
398
+
399
+ ```
400
+ onStepsChange={(result) => {
401
+ console.log('步骤变化:', result.currentStep);
402
+ console.log('当前步骤数据:', result.currentItem);
403
+ }}
404
+ ```
405
+
406
+ ### 6.2 onPrev / onNext(步骤控制)
407
+
408
+ **触发时机**:步骤更新之前
409
+
410
+ **参数**:`current: number` - 当前步骤索引
411
+
412
+ **返回值**:`boolean | void` - 返回 false 可阻止步骤更新
413
+
414
+ **示例**:
415
+
416
+ ```
417
+ onPrev={(current) => {
418
+ console.log('准备返回,当前步骤:', current);
419
+ if (!confirmBack()) {
420
+ return false; // 阻止返回
421
+ }
422
+ }}
423
+
424
+ onNext={(current) => {
425
+ console.log('准备前进,当前步骤:', current);
426
+ if (!validateStep(current)) {
427
+ message.error('请完成必填项');
428
+ return false; // 阻止前进
429
+ }
430
+ }}
431
+ ```
432
+
433
+ ### 6.3 onFirstStepBack(首步返回)
434
+
435
+ **触发时机**:第一步且显示返回按钮时点击
436
+
437
+ **参数**:无
438
+
439
+ **说明**:如果不传递,默认跳转到首页(/)
440
+
441
+ **示例**:
442
+
443
+ ```
444
+ onFirstStepBack={() => {
445
+ router.push('/dashboard');
446
+ }}
447
+ ```
448
+
449
+ ### 6.4 onBackConfirm / onCloseConfirm(确认弹窗)
450
+
451
+ **触发时机**:点击确认弹窗的按钮
452
+
453
+ **参数**:`action: 'cancel' | 'ok' | 'confirm'`
454
+
455
+ - `'cancel'` - 点击取消/清除按钮
456
+ - `'ok'` / `'confirm'` - 点击确认/保留按钮
457
+
458
+ **示例**:
459
+
460
+ ```
461
+ onBackConfirm={(action) => {
462
+ if (action === 'confirm') {
463
+ console.log('用户点击了确认返回');
464
+ clearCurrentStepData(); // 清除数据
465
+ }
466
+ }}
467
+
468
+ onCloseConfirm={(action) => {
469
+ if (action === 'confirm') {
470
+ console.log('用户确认关闭');
471
+ router.push('/home');
472
+ }
473
+ }}
474
+ ```
475
+
476
+ ## 7. 步骤导航机制
477
+
478
+ ### 7.1 步骤条点击
479
+
480
+ **功能**:点击头部步骤条可以直接跳转到指定步骤
481
+
482
+ **处理逻辑**:
483
+
484
+ - 步骤条点击和返回按钮点击统一走 `handleBackClick` 方法
485
+ - 步骤条点击传递步骤索引参数:`handleBackClick(step)`
486
+ - 返回按钮点击不传参数:`handleBackClick()`
487
+ - 根据参数区分是步骤跳转(`step >= 0`)还是返回上一步(`step < 0`)
488
+
489
+ **确认弹窗**:
490
+
491
+ - 如果启用了 `backConfirmModal.enabled`,会先显示确认弹窗
492
+ - 确认后根据保存的目标步骤决定调用 `goToStep(step)` 还是 `goPrev()`
493
+ - 步骤跳转和返回上一步使用同一个确认弹窗配置
494
+
495
+ **示例**:
496
+
497
+ ```
498
+ <PisellProcedure
499
+ headerProps={{
500
+ stepsProps: {
501
+ clickable: true,
502
+ items: [
503
+ { title: '第一步' },
504
+ { title: '第二步' },
505
+ { title: '第三步' },
506
+ ],
507
+ },
508
+ backConfirmModal: {
509
+ enabled: true,
510
+ title: '确认跳转',
511
+ describe: '确定要跳转到该步骤吗?',
512
+ },
513
+ }}
514
+ onStepsChange={(result) => {
515
+ console.log('跳转到步骤:', result.currentStep);
516
+ }}
517
+ />
518
+ ```
519
+
520
+ ### 7.2 底部按钮事件注入
521
+
522
+ 组件会自动为底部按钮注入步骤控制事件:
523
+
524
+ 1. **data-action="prev"**:触发上一步(goPrev)
525
+ 2. **data-action="next"**:触发下一步(goNext)
526
+
527
+ ### 7.3 底部按钮示例
528
+
529
+ ```
530
+ <PisellProcedure
531
+ footerProps={{
532
+ actions: (
533
+ <>
534
+ <Button data-action="prev">上一步</Button>
535
+ <Button onClick={() => saveDraft()}>保存草稿</Button>
536
+ <Button type="primary">下一步</Button> {/* 最后一个,自动触发 goNext */}
537
+ </>
538
+ ),
539
+ }}
540
+ />
541
+ ```
542
+
543
+ ### 7.4 显式指定底部按钮 action
544
+
545
+ ```
546
+ <Button data-action="next">提交</Button> {/* 显式指定触发下一步 */}
547
+ ```
548
+
549
+ ## 8. 响应式设计
550
+
551
+ ### 8.1 信息区自适应
552
+
553
+ | 屏幕宽度 | 信息区宽度 | 说明 |
554
+ | ----------- | ---------- | ---------- |
555
+ | ≥1366px | 405px | 标准布局 |
556
+ | 1133-1366px | 405px | - |
557
+ | 960-1133px | 376px | - |
558
+ | 744-960px | 290px | - |
559
+ | <744px | 隐藏 | 移动端模式 |
560
+
561
+ ### 8.2 移动端适配
562
+
563
+ **< 744px 时:**
564
+
565
+ - 信息区(sidebar)隐藏
566
+ - 显示移动端总结按钮(summaryButton)
567
+ - 点击总结按钮打开 PisellModal 展示信息区内容
568
+ - **底部操作区自动改为吸底悬浮模式**(`position: 'float-all'`)
569
+ - 固定在屏幕底部(`position: fixed`)
570
+ - 带顶部阴影效果
571
+ - 无视用户配置的 `footerProps.position` 参数
572
+ - 主体内容区自动添加底部内边距,避免内容被操作区遮挡
573
+
574
+ **示例:**
575
+
576
+ ```
577
+ <PisellProcedure
578
+ bodyProps={{
579
+ sidebarSlot: <OrderSummary />,
580
+ }}
581
+ footerProps={{
582
+ summaryButton: <Button icon={<ShoppingCartOutlined />} shape="circle" />,
583
+ summaryModalTitle: '订单摘要',
584
+ }}
585
+ />
586
+ ```
587
+
588
+ ## 9. 最佳实践
589
+
590
+ ### 9.1 步骤管理
591
+
592
+ ```
593
+ function MyProcedure() {
594
+ const [stepData, setStepData] = useState({});
595
+
596
+ return (
597
+ <PisellProcedure
598
+ defaultCurrent={0}
599
+ onStepsChange={(result) => {
600
+ console.log('步骤变化:', result);
601
+ }}
602
+ onNext={(current) => {
603
+ // 步骤前进前验证
604
+ const valid = validateStep(current);
605
+ if (!valid) {
606
+ message.error('请完成必填项');
607
+ return false;
608
+ }
609
+ }}
610
+ />
611
+ );
612
+ }
613
+ ```
614
+
615
+ ### 9.2 数据流管理
616
+
617
+ ```
618
+ function OrderProcedure() {
619
+ const [orderData, setOrderData] = useState({});
620
+
621
+ return (
622
+ <PisellProcedure
623
+ bodyProps={{
624
+ contentSlot: (
625
+ <OrderForm
626
+ data={orderData}
627
+ onChange={setOrderData}
628
+ />
629
+ ),
630
+ sidebarSlot: (
631
+ <OrderSummary data={orderData} />
632
+ ),
633
+ }}
634
+ onBackConfirm={(action) => {
635
+ if (action === 'confirm') {
636
+ // 用户选择清除数据
637
+ setOrderData({});
638
+ }
639
+ }}
640
+ />
641
+ );
642
+ }
643
+ ```
644
+
645
+ ### 9.3 完整示例
646
+
647
+ ```
648
+ import { PisellProcedure } from '@pisell/materials';
649
+ import { Button, message } from 'antd';
650
+
651
+ function CompleteExample() {
652
+ return (
653
+ <PisellProcedure
654
+ defaultCurrent={0}
655
+ showHeader={true}
656
+ showSidebar={true}
657
+ showFooter={true}
658
+
659
+ // 头部配置
660
+ headerProps={{
661
+ left: <Button icon={<ArrowLeftOutlined />}>返回</Button>,
662
+ right: <Button icon={<CloseOutlined />}>关闭</Button>,
663
+ stepsProps: {
664
+ items: [
665
+ { title: '基础信息', description: '填写基本信息' },
666
+ { title: '详细配置', description: '完善详细配置' },
667
+ { title: '确认提交', description: '确认并提交' },
668
+ ],
669
+ },
670
+ showBackOnFirstStep: false,
671
+ backConfirmModal: {
672
+ enabled: true,
673
+ },
674
+ closeConfirmModal: {
675
+ enabled: true,
676
+ },
677
+ }}
678
+
679
+ // 主体配置
680
+ bodyProps={{
681
+ layoutMode: 'ratio',
682
+ layoutRatio: '7:3',
683
+ contentSlot: <div>主要内容</div>,
684
+ sidebarSlot: <div>信息摘要</div>,
685
+ }}
686
+
687
+ // 底部配置
688
+ footerProps={{
689
+ position: 'float-sidebar',
690
+ leftSlot: <div>总价: ¥100</div>,
691
+ summaryButton: <Button icon={<ShoppingCartOutlined />} shape="circle" />,
692
+ summaryModalTitle: '订单摘要',
693
+ actions: (
694
+ <>
695
+ <Button data-action="prev">上一步</Button>
696
+ <Button onClick={() => saveDraft()}>保存草稿</Button>
697
+ <Button type="primary">下一步</Button>
698
+ </>
699
+ ),
700
+ }}
701
+
702
+ // 事件回调
703
+ onStepsChange={(result) => {
704
+ console.log('步骤变化:', result);
705
+ }}
706
+ onPrev={(current) => {
707
+ console.log('返回上一步,当前:', current);
708
+ return true;
709
+ }}
710
+ onNext={(current) => {
711
+ console.log('进入下一步,当前:', current);
712
+ if (!validate(current)) {
713
+ return false;
714
+ }
715
+ }}
716
+ onFirstStepBack={() => {
717
+ router.push('/home');
718
+ }}
719
+ onClose={() => {
720
+ router.push('/dashboard');
721
+ }}
722
+ onBackConfirm={(action) => {
723
+ if (action === 'confirm') {
724
+ clearStepData();
725
+ }
726
+ }}
727
+ onCloseConfirm={(action) => {
728
+ if (action === 'confirm') {
729
+ clearAllData();
730
+ }
731
+ }}
732
+ />
733
+ );
734
+ }
735
+ ```
736
+
737
+ ## 10. 注意事项
738
+
739
+ ### 10.1 步骤数据管理
740
+
741
+ - 组件内部只管理 `currentStep` 状态
742
+ - 步骤数据需要外部通过 `onStepsChange` 事件管理
743
+ - 使用 `result.currentItem` 获取当前步骤配置
744
+
745
+ ### 10.2 事件触发顺序
746
+
747
+ **下一步操作顺序:**
748
+
749
+ 1. 触发 `onNext(current)` - 可阻止
750
+ 2. 更新 `currentStep`
751
+ 3. 触发 `onStepsChange(result)`
752
+
753
+ **返回操作顺序(有确认弹窗):**
754
+
755
+ 1. 显示确认弹窗
756
+ 2. 用户点击按钮,触发 `onBackConfirm(action)`
757
+ 3. 执行 `goPrev()` - 可被 `onPrev` 阻止
758
+ 4. 更新 `currentStep`
759
+ 5. 触发 `onStepsChange(result)`
760
+
761
+ ### 10.3 底部按钮配置
762
+
763
+ - **不设置 data-action**:最后一个按钮自动触发下一步
764
+ - **设置 data-action="prev"**:触发上一步
765
+ - **设置 data-action="next"**:显式触发下一步
766
+ - 按钮原有的 `onClick` 会先执行,再触发步骤控制
767
+
768
+ ### 10.4 确认弹窗按钮
769
+
770
+ - 弹窗按钮需要设置 `action` 字段
771
+ - `action: 'confirm'` / `'ok'` - 确认操作
772
+ - `action: 'cancel'` - 取消操作
773
+ - 点击右上角 X 只关闭弹窗,不触发回调
774
+
775
+ ### 10.5 移动端总结按钮
776
+
777
+ - 只在 < 744px 时显示
778
+ - 点击打开 PisellModal 展示信息区内容
779
+ - 默认配置为购物车图标按钮
780
+ - 弹窗标题通过 `summaryModalTitle` 配置
781
+
782
+ ### 10.6 首步返回逻辑
783
+
784
+ - 默认不显示首步返回按钮
785
+ - `showBackOnFirstStep: true` 时显示
786
+ - 点击触发 `onFirstStepBack` 回调
787
+ - 不传递回调时默认跳转首页(`window.location.href = '/'`)
788
+ - 首步返回不会触发返回确认弹窗
789
+
790
+ ## 11. 常见问题
791
+
792
+ ### Q1: 如何控制步骤不允许返回?
793
+
794
+ ```
795
+ <PisellProcedure
796
+ onPrev={() => {
797
+ message.warning('当前步骤不允许返回');
798
+ return false; // 阻止返回
799
+ }}
800
+ />
801
+ ```
802
+
803
+ ### Q2: 如何在最后一步隐藏下一步按钮?
804
+
805
+ ```
806
+ <PisellProcedure
807
+ headerProps={{
808
+ stepsProps: {
809
+ items: steps,
810
+ },
811
+ }}
812
+ footerProps={{
813
+ actions: currentStep === steps.length - 1 ? (
814
+ <Button type="primary" onClick={handleSubmit}>提交</Button>
815
+ ) : (
816
+ <>
817
+ <Button data-action="prev">上一步</Button>
818
+ <Button type="primary">下一步</Button>
819
+ </>
820
+ ),
821
+ }}
822
+ />
823
+ ```
824
+
825
+ ### Q3: 如何自定义确认弹窗的按钮?
826
+
827
+ ```
828
+ <PisellProcedure
829
+ headerProps={{
830
+ backConfirmModal: {
831
+ enabled: true,
832
+ title: '自定义标题',
833
+ describe: '自定义描述',
834
+ footer: [
835
+ { text: '取消', action: 'cancel' },
836
+ { text: '确定', type: 'primary', action: 'confirm' },
837
+ ],
838
+ },
839
+ }}
840
+ />
841
+ ```
842
+
843
+ ### Q4: 如何禁用溢出收纳功能?
844
+
845
+ ```
846
+ <PisellProcedure
847
+ footerProps={{
848
+ enableOverflow: false, // 禁用溢出收纳
849
+ actions: <>{/* 按钮 */}</>,
850
+ }}
851
+ />
852
+ ```
853
+
854
+ ### Q5: 如何在步骤条点击时拦截?
855
+
856
+ ```
857
+ <PisellProcedure
858
+ headerProps={{
859
+ stepsProps: {
860
+ items: steps,
861
+ onChange: (step) => {
862
+ // 拦截步骤条点击
863
+ if (!validateStep(currentStep)) {
864
+ message.error('请完成当前步骤');
865
+ return;
866
+ }
867
+ // 允许跳转,由组件内部处理
868
+ },
869
+ },
870
+ }}
871
+ />
872
+ ```
873
+
874
+ ## 12. 组件架构
875
+
876
+ ### 12.1 组件结构
877
+
878
+ ```
879
+ PisellProcedure
880
+ ├── ProcedureHeader(头部区域)
881
+ │ ├── left(左侧插槽)
882
+ │ ├── PisellSteps(步骤条)
883
+ │ └── right(右侧插槽)
884
+ ├── ProcedureBody(主体区域)
885
+ │ ├── ProcedureContent(内容区)
886
+ │ │ ├── contentSlot(内容插槽)
887
+ │ │ └── contentFooter(底部,条件渲染)
888
+ │ └── ProcedureSidebar(信息区)
889
+ │ ├── sidebarSlot(信息插槽)
890
+ │ └── sidebarFooter(底部,条件渲染)
891
+ └── ProcedureFooter(底部操作区,条件渲染)
892
+ ├── summaryButton(移动端总结按钮)
893
+ ├── leftSlot(左侧插槽)
894
+ └── actions(操作按钮组)
895
+ ├── FooterActions(溢出收纳)
896
+ └── More 菜单
897
+ ```
898
+
899
+ ### 12.2 状态管理
900
+
901
+ - **currentStep**:当前步骤索引(内部 useState)
902
+ - **summaryModalOpen**:移动端弹窗状态(内部 useState)
903
+ - **backModalType**:确认弹窗类型(Header 内部 useState)
904
+
905
+ ### 12.3 数据流向
906
+
907
+ ```
908
+ 用户操作
909
+
910
+ 事件触发(onPrev / onNext)
911
+
912
+ 验证拦截(return false 可阻止)
913
+
914
+ 更新 currentStep
915
+
916
+ 触发 onStepsChange
917
+
918
+ 外部更新业务数据
919
+ ```
920
+
921
+ ## 13. 多语言支持
922
+
923
+ 组件内置多语言支持,包含以下文案:
924
+
925
+ **返回确认弹窗:**
926
+
927
+ - `pisell-procedure-header-back-confirm-title` - 标题
928
+ - `pisell-procedure-header-back-confirm-desc` - 描述
929
+ - `pisell-procedure-header-back-confirm-no` - 取消按钮
930
+ - `pisell-procedure-header-back-confirm-yes` - 确认按钮
931
+
932
+ **关闭确认弹窗:**
933
+
934
+ - `pisell-procedure-header-close-confirm-title` - 标题
935
+ - `pisell-procedure-header-close-confirm-desc` - 描述
936
+ - `pisell-procedure-header-close-confirm-no` - 取消按钮
937
+ - `pisell-procedure-header-close-confirm-yes` - 确认按钮
938
+
939
+ 支持语言:zh-CN、en-US、zh-TW、zh-HK
940
+
941
+ ## 14. 自定义 Hooks
942
+
943
+ ### 14.1 useStepManager(步骤管理)
944
+
945
+ 管理步骤状态和操作的 Hook。
946
+
947
+ **接口定义:**
948
+
949
+ ```typescript
950
+ interface UseStepManagerOptions {
951
+ stepsProps?: PisellStepsProps;
952
+ defaultCurrent?: number;
953
+ onPrev?: (current: number) => boolean | void;
954
+ onNext?: (current: number) => boolean | void;
955
+ onStepsChange?: (result: StepChangeResult) => void;
956
+ }
957
+
958
+ interface UseStepManagerReturn {
959
+ currentStep: number;
960
+ items: any[];
961
+ totalSteps: number;
962
+ goPrev: () => StepChangeResult | null;
963
+ goNext: () => StepChangeResult | null;
964
+ }
965
+ ```
966
+
967
+ **使用示例:**
968
+
969
+ ```typescript
970
+ const { currentStep, goPrev, goNext } = useStepManager({
971
+ stepsProps: headerProps?.stepsProps,
972
+ defaultCurrent: 0,
973
+ onPrev: (current) => {
974
+ console.log('上一步前', current);
975
+ return validateStep(current);
976
+ },
977
+ onNext: (current) => {
978
+ console.log('下一步前', current);
979
+ return validateStep(current);
980
+ },
981
+ onStepsChange: (result) => {
982
+ console.log('步骤变化', result);
983
+ },
984
+ });
985
+ ```
986
+
987
+ **返回值说明:**
988
+
989
+ - `goPrev()` / `goNext()` 返回 `StepChangeResult | null`
990
+ - 返回 `StepChangeResult` - 步骤更新成功
991
+ - 返回 `null` - 步骤未更新(已是边界或被拦截)
992
+
993
+ ### 14.2 useMobile(移动端检测)
994
+
995
+ 检测是否是移动端的 Hook(从 `@pisell/materials/hooks` 导入)。
996
+
997
+ **使用示例:**
998
+
999
+ ```typescript
1000
+ const isMobile = useMobile(744); // < 744px 返回 true
1001
+
1002
+ // 移动端强制使用 float-all 模式
1003
+ const footerPosition = useMemo(() => {
1004
+ if (isMobile) return 'float-all';
1005
+ return footerProps?.position || 'float-sidebar';
1006
+ }, [isMobile, footerProps?.position]);
1007
+ ```
1008
+
1009
+ ### 14.3 useElementHeight(元素高度计算)
1010
+
1011
+ 计算指定元素高度的 Hook,用于动态计算信息区的最大高度。
1012
+
1013
+ **接口定义:**
1014
+
1015
+ ```typescript
1016
+ interface UseElementHeightOptions {
1017
+ selector: string; // 元素选择器(类名、ID 或其他 CSS 选择器)
1018
+ enabled?: boolean; // 是否启用监听(默认 true)
1019
+ defaultHeight?: number; // 默认高度(元素不存在时使用,默认 0)
1020
+ }
1021
+
1022
+ const height: number = useElementHeight(options);
1023
+ ```
1024
+
1025
+ **使用示例:**
1026
+
1027
+ ```typescript
1028
+ // 计算 header 高度
1029
+ const headerHeight = useElementHeight({
1030
+ selector: '.pisell-procedure-header',
1031
+ defaultHeight: 64,
1032
+ });
1033
+
1034
+ // 计算 footer 高度(仅在 float-all 模式下)
1035
+ const footerHeight = useElementHeight({
1036
+ selector: '.pisell-procedure-footer--float-all',
1037
+ enabled: footerIsGlobal,
1038
+ defaultHeight: 0,
1039
+ });
1040
+
1041
+ // 计算信息区高度:视口高度 - header高度 - footer高度 - body padding
1042
+ const siderHeight = useMemo(() => {
1043
+ if (typeof window === 'undefined') return undefined;
1044
+ const viewportHeight = window.innerHeight;
1045
+ const bodyPadding = 16 * 2; // 上下各16px
1046
+ const calculatedHeight =
1047
+ viewportHeight - headerHeight - footerHeight - bodyPadding - 1;
1048
+ return calculatedHeight > 0 ? calculatedHeight : undefined;
1049
+ }, [headerHeight, footerHeight]);
1050
+ ```
1051
+
1052
+ **特性:**
1053
+
1054
+ - 自动监听窗口大小变化(resize 事件)
1055
+ - 自动监听 DOM 变化(MutationObserver)
1056
+ - 返回元素的实际高度(使用 `offsetHeight`,包含 padding、border、滚动条)
1057
+
1058
+ ## 15. 布局和滚动行为
1059
+
1060
+ ### 15.1 主体区域布局
1061
+
1062
+ - **主体区域**:使用 `height: 100%` 填满父容器
1063
+ - **内部 Layout**:使用 `align-items: stretch` 让子元素拉伸填满高度
1064
+ - **内容区**:跟随整体页面滚动,不设置独立滚动条
1065
+ - **信息区**:使用 `position: sticky` 定位,有独立滚动条
1066
+
1067
+ ### 15.2 信息区滚动机制
1068
+
1069
+ **信息区定位:**
1070
+
1071
+ - 使用 `position: sticky` 和 `top` 属性固定在视口顶部
1072
+ - 高度通过 `useElementHeight` Hook 动态计算
1073
+ - 计算公式:`视口高度 - header高度 - footer高度 - body padding - 1px`
1074
+
1075
+ **信息区滚动:**
1076
+
1077
+ - 信息区容器设置 `overflow: hidden`
1078
+ - 信息区内容区域(`.pisell-procedure-sider-content-top`)设置 `overflow-y: auto`
1079
+ - 当内容超出信息区高度时,在信息区内滚动,不跟随整体页面滚动
1080
+
1081
+ **内容区滚动:**
1082
+
1083
+ - 内容区不设置 `overflow`,跟随整体页面滚动
1084
+ - 内容高度由内容自然撑开,不限制最大高度
1085
+ - 当内容超出视口时,通过整体页面滚动查看
1086
+
1087
+ ### 15.3 高度计算
1088
+
1089
+ 信息区高度通过 `useElementHeight` Hook 动态计算:
1090
+
1091
+ ```typescript
1092
+ // 获取 header 和 footer 高度
1093
+ const headerHeight = useElementHeight({
1094
+ selector: '.pisell-procedure-header',
1095
+ });
1096
+
1097
+ const footerHeight = useElementHeight({
1098
+ selector: '.pisell-procedure-footer--float-all',
1099
+ enabled: footerIsGlobal,
1100
+ });
1101
+
1102
+ // 计算信息区高度
1103
+ const siderHeight = useMemo(() => {
1104
+ if (typeof window === 'undefined') return undefined;
1105
+ const viewportHeight = window.innerHeight;
1106
+ const bodyPadding = 16 * 2; // 上下各16px
1107
+ const calculatedHeight =
1108
+ viewportHeight - headerHeight - footerHeight - bodyPadding - 1;
1109
+ return calculatedHeight > 0 ? calculatedHeight : undefined;
1110
+ }, [headerHeight, footerHeight]);
1111
+ ```
1112
+
1113
+ ## 16. 性能优化
1114
+
1115
+ - 使用 `useMemo` 缓存样式和配置对象
1116
+ - 使用 `useCallback` 缓存事件处理函数
1117
+ - 避免不必要的组件重渲染
1118
+ - 底部按钮溢出采用动态计算,避免固定配置
1119
+ - 移动端检测使用防抖优化(通过 resize 事件)
1120
+ - `useElementHeight` Hook 自动监听窗口大小和 DOM 变化,确保高度计算准确
1121
+
1122
+ ## 17. 浏览器兼容性
1123
+
1124
+ - Chrome ≥ 90
1125
+ - Safari ≥ 14
1126
+ - Firefox ≥ 88
1127
+ - Edge ≥ 90
1128
+
1129
+ **注意:** `position: sticky` 需要浏览器支持,现代浏览器均已支持。
1130
+
1131
+ ## 18. 相关组件
1132
+
1133
+ - PisellLayout - 布局组件
1134
+ - PisellSteps - 步骤条组件
1135
+ - PisellModal - 弹窗组件
1136
+ - PisellHeader - 头部组件
1137
+ - PisellFooter - 底部组件