@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
@@ -32,85 +32,44 @@ PisellFloorMapLayout 是**空间布局视图**组件,在二维平面内按坐
32
32
  - 🗺 **底图层**:支持无背景 / 纯色 / 图片 / SVG 背景、可选网格线、底层 padding 与 gap。
33
33
  - 🎯 **Item 交互**:支持 hover 高亮与开关(`enableHover`),以及 `onItemClick`、`onItemHover`、`onItemLeave` 事件。
34
34
  - 🎭 **TypeScript**:完整类型导出(Props、Ref、FloorMapItemBase、各类 Config、Shape 等)。
35
- - 📦 **可选 Context**:**`FloorMapLayoutProvider`** 注入 **`FloorMapLayoutContextValue`**(配置/保存/数据源/侧栏表单等);*
36
- *`PisellRecordBoard`** 根级 **`floorMapLayoutContext`** 由 Shell **内置 Provider**,无需再包一层。
37
35
 
38
- ## 运行模式与代码结构
36
+ ## 组件结构
39
37
 
40
- ### 两种用法
41
-
42
- | 模式 | 条件 | 渲染数据来源 | 说明 |
43
- |----------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
44
- | **基础布局** | 不传 `floorMapConfig` | 外部传入的 **`items`** + **`renderItem`** | 与早期版本一致;`itemUnit` 可为 `cell` 或 `pixel`。 |
45
- | **平面图** | 传入 **`floorMapConfig`** | 内部用 **`mergeCanvasItems`** 合并当前画布的 **`sceneElements`** 得到 **`FloorMapMergedItem[]`**(`id` = `instanceId`),作为内部 `items`;**`itemUnit` 强制为 `pixel`** | 需同时提供 **`dataSources`**;行级绑定见各图元的 **`dataBinding`**;可选 **`renderItemByKind`**、**`onElementRenderError`**。 |
46
-
47
- 逻辑封装在 **`useFloorMapEditState`**(草稿/画布/选中/落位/侧栏参数)与 **`useFloorMapTransformMetrics`**(内容区尺寸、缩放
48
- fitBounds、全屏等);纯计算在 **`utils/layoutMeasurements.ts`**、**`utils/floorMapConfigMerge.ts`**,占位渲染在 *
49
- *`utils/floorMapFallbackRender.tsx`**。目录与职责详见 [开发文档](./pisellFloorMapLayout.$tab-dev.md)。
50
-
51
- ### 阅读态下的组件树(未传 floorMapConfig 或 mode='read')
52
-
53
- 根容器内由 **react-zoom-pan-pinch** 的 `TransformWrapper` 提供缩放/平移;**`ViewControlsWithZoom`** 在 Wrapper 子树内使用
54
- `useControls` 桥接 **`ViewControls`**。
55
-
56
- ```
57
- PisellFloorMapLayout 根容器
58
- └── TransformWrapper
59
- ├── TransformComponent
60
- │ ├── MapLayer(背景、网格、padding、gap)
61
- │ └── ItemLayer(items + renderItem,可选 hover/点击)
62
- └── ViewControlsWithZoom → ViewControls(左下角:缩放 / 复位 / fitBounds / 全屏)
63
- ```
64
-
65
- ### 编辑态下的组件树(floorMapConfig + mode='edit')
66
-
67
- 在「阅读态」树之外,增加:**顶部 `FloorMapEditTopBar`(内含 `CanvasTabs` + 保存/全屏/区域定位等)**、**左侧 `FloorMapToolbar`
68
- **、**Transform 内 `EditableItemLayer` 替代 `ItemLayer`**、可选 **落点遮罩**、**拖入图源层**、**右侧 `FloorMapEditPanel`**。
38
+ 当前组件的层级与职责如下。根容器内由 **react-zoom-pan-pinch** 的 `TransformWrapper` 提供缩放/平移能力,可变换内容放在
39
+ `TransformComponent` 内(底图层 + 展示层),视图控制条在 wrapper 内、内容区外,固定在视口左下角。
69
40
 
70
41
  ```
71
42
  PisellFloorMapLayout 根容器
72
- ├── FloorMapEditTopBartoggle:紧凑顶栏含进入全屏 / 全屏后含保存与退出;locked:始终全屏顶栏且无退出;disabled:仅 Tab
73
- └── 双栏 flex
74
- ├── FloorMapToolbar(图元调色板可拖至画布、绑定数据;保存见 toolbarShowSave
75
- └── 地图区
76
- └── TransformWrapper
77
- ├── TransformComponent
78
- │ ├── MapLayer(编辑态底层通常 pointer-events: none)
79
- │ ├── EditableItemLayer(选中、拖拽、缩放)或 ItemLayer(只读)
80
- │ ├── [可选] 落点遮罩 .pisell-floor-map-layout-place-overlay
81
- │ └── 拖入图源层 .pisell-floor-map-layout-map-drop-layer(激活时接收 drop)
82
- ├── ViewControlsWithZoom(编辑态下全屏/fitBounds 已迁至顶栏时,此处仅缩放等)
83
- └── FloorMapEditPanel(图元属性 + 数据源记录)
43
+ └── TransformWrapperreact-zoom-pan-pinch
44
+ ├── TransformComponent(可缩放/平移的内容区)
45
+ ├── MapLayer 底图层(背景、网格线、padding、gap
46
+ └── ItemLayer 展示层(按 items + renderItem 渲染资源项)
47
+ └── ViewControls(左下角固定:缩放 Stepper / 复位 / 区域定位 / 全屏)
84
48
  ```
85
49
 
86
- | 节点 | 职责 | 主要输入 |
87
- |-----------------------------------|---------------------------------------------------------------------------|---------------------------------------------------|
88
- | **PisellFloorMapLayout** | 编排子组件;`forwardRef` 暴露缩放/fitBounds;注入 `contentOffsetRef` 供落点换算 | **API** 与 `types.ts` |
89
- | **useFloorMapEditState** | `draftConfig`、`mergedItems`、`placeMode`、`editPanelParams`、落点/侧栏回调 | `floorMapConfig`、`dataSources`、`onSave` |
90
- | **useFloorMapTransformMetrics** | `contentWidth/Height`、`contentOffsetX/Y`、`fitBounds`、全屏、拖拽图元后恢复 transform | `items`、`zoom`、`mode`、refs |
91
- | **MapLayer** | 底层背景/网格/padding | `mapLayer`、content 尺寸 |
92
- | **ItemLayer / EditableItemLayer** | 按坐标渲染图元;编辑态可拖拽缩放 | `items`、`renderItem` 或 `effectiveRenderItem` |
93
- | **FloorMapEditTopBar** | 画布 Tab、布局保存、全屏、可选区域定位 | `config`、`onSave`、`controls`、`toggleFullscreen` |
94
- | **FloorMapToolbar** | 放置模式、数据源预览;保存可选(`toolbarShowSave`) | `config`、`dataSources`、`placeMode` |
95
- | **FloorMapEditPanel** | 图元表单;**数据源记录**(绑定行 + `FloorMapDataForm` **或** `dataSourceRecordForm`) | `editPanelParams` |
96
- | **ViewControlsWithZoom** | 在 Transform 上下文内连接 `ViewControls` | `fitBounds`、`toggleFullscreen`、`scale` |
97
-
98
- **数据流简述(基础模式)**:外部 `items` + `mapLayer` + `cellSize` + `itemUnit` → `useFloorMapTransformMetrics` 中
99
- `getContentSize` / `getPixelBoundingBox` 得到 content 尺寸与偏移 → MapLayer、ItemLayer;缩放由 `onTransformed` 同步。
50
+ | 节点 | 职责 | 主要输入 |
51
+ |--------------------------|-----------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
52
+ | **PisellFloorMapLayout** | 解析 props、计算 content 尺寸、组装子组件、暴露 Ref(zoomIn/zoomOut/reset/fitBounds) | items、renderItem、mapLayer、zoom、pan、controls |
53
+ | **TransformWrapper** | 提供缩放/平移上下文与 API;onTransformed 同步 scale 给 ViewControls | initialScale、minScale、maxScale、step、panning |
54
+ | **TransformComponent** | 承载可缩放、可平移的 DOM 区域,尺寸为 contentWidth × contentHeight | contentStyle、wrapperStyle |
55
+ | **MapLayer** | 渲染底层:背景(无/纯色/图片/SVG)、可选网格线、padding/gap | config(mapLayer)、contentWidth、contentHeight、cellSize |
56
+ | **ItemLayer** | 按 items 的 (x, y) 与单位(cell/pixel)定位,用 renderItem 渲染每个资源项;派发点击、hover 事件 | itemsrenderItem、rowKey、cellSize、itemUnit、itemGap、content 尺寸、事件回调 |
57
+ | **ViewControls** | 左下角固定:缩放 Stepper(减号 + 百分比 + 加号)、复位、区域定位、全屏按钮 | api(zoomIn/zoomOut/resetTransform/fitBounds/toggleFullscreen)、config(显隐)、scale、isFullscreen |
100
58
 
101
- **数据流简述(平面图编辑)**:外部 `floorMapConfig` 写入 **`draftConfig`**(内存草稿)→ **`onSave(draftConfig)`**
102
- 持久化布局;业务行数据通过 **`onDataSourceRecordSave`** 写回各数据源,**与布局配置分离**。
59
+ **数据流简述**:`items`、`mapLayer`、`cellSize`、`itemUnit` 等由父组件传入 → 主组件用 `getContentSize` 算出 `contentWidth` /
60
+ `contentHeight` 传给 MapLayer、ItemLayer;缩放状态由 TransformWrapper 的 `onTransformed` 回写为 `scale`,再传入
61
+ ViewControls 显示百分比。交互:用户操作 ViewControls 或直接滚轮/拖拽 → TransformWrapper 更新变换 → 仅展示与事件向上抛出,无内部业务状态。
103
62
 
104
63
  **使用技术**:
105
64
 
106
- | 技术 | 用途 |
107
- |--------------------------|--------------------------------------------------------------------------------------------------|
108
- | **React** | 组件与 Hooks;主文件组合双 Hook |
109
- | **TypeScript** | `types.ts`:`PisellFloorMapLayoutProps`、`FloorMapViewConfig`、`FloorMapRecordFormRenderContext` 等。 |
110
- | **react-zoom-pan-pinch** | `TransformWrapper` / `TransformComponent`、`useControls`。 |
111
- | **Less** | 类名前缀 `pisell-floor-map-layout`。 |
112
- | **classNames** | 根样式变体(floor-map-view、mode-edit)。 |
113
- | **@ant-design/icons** | 视图控制图标;侧栏关闭等。 |
65
+ | 技术 | 用途 |
66
+ |--------------------------|---------------------------------------------------------------------------------------------|
67
+ | **React** | 组件框架;使用 useMemo、useRef、useImperativeHandle、useCallback、useState 等 Hooks。 |
68
+ | **TypeScript** | 类型定义与导出(Props、Ref、FloorMapItemBase、各类 Config 等见 `types.ts`)。 |
69
+ | **react-zoom-pan-pinch** | 缩放与平移:`TransformWrapper` 提供上下文与 API,`TransformComponent` 承载可变换内容;支持滚轮、捏合、拖拽。 |
70
+ | **Less** | 样式:主组件与子组件(MapLayer、ItemLayer、ViewControls)均使用 `.less` 编写,类名统一前缀 `pisell-floor-map-layout`。 |
71
+ | **classNames** | 动态类名拼接。 |
72
+ | **@ant-design/icons** | ViewControls 中缩放 Stepper 的减号、加号图标(MinusOutlined、PlusOutlined)。 |
114
73
 
115
74
  ## 基础用法
116
75
 
@@ -131,37 +90,35 @@ const itemColors: Record<string, { bg: string; border: string }> = {
131
90
  C: {bg: '#fff7e6', border: '#fa8c16'},
132
91
  };
133
92
 
134
- export default function Demo() {
135
- return (
136
- <PisellFloorMapLayout
137
- items={items}
138
- renderItem={(item) => {
139
- const {bg, border} = itemColors[item.id] || {bg: '#f5f5f5', border: '#d9d9d9'};
140
- return (
141
- <div style={{
142
- width: '100%',
143
- height: '100%',
144
- boxSizing: 'border-box',
145
- display: 'flex',
146
- alignItems: 'center',
147
- justifyContent: 'center',
148
- background: bg,
149
- border: `3px solid ${border}`,
150
- borderRadius: 6,
151
- fontWeight: 600,
152
- color: '#262626'
153
- }}>
154
- {item.id}
155
- </div>
156
- );
157
- }}
158
- mapLayer={{backgroundType: 'color', backgroundColor: '#f0f0f0', padding: 16, gap: 8}}
159
- zoom={{defaultScale: 1, min: 0.5, max: 2}}
160
- pan={{enabled: true}}
161
- style={{height: 400}}
162
- />
163
- );
164
- }
93
+ export default () => (
94
+ <PisellFloorMapLayout
95
+ items={items}
96
+ renderItem={(item) => {
97
+ const {bg, border} = itemColors[item.id] || {bg: '#f5f5f5', border: '#d9d9d9'};
98
+ return (
99
+ <div style={{
100
+ width: '100%',
101
+ height: '100%',
102
+ boxSizing: 'border-box',
103
+ display: 'flex',
104
+ alignItems: 'center',
105
+ justifyContent: 'center',
106
+ background: bg,
107
+ border: `3px solid ${border}`,
108
+ borderRadius: 6,
109
+ fontWeight: 600,
110
+ color: '#262626'
111
+ }}>
112
+ {item.id}
113
+ </div>
114
+ );
115
+ }}
116
+ mapLayer={{backgroundType: 'color', backgroundColor: '#f0f0f0', padding: 16, gap: 8}}
117
+ zoom={{defaultScale: 1, min: 0.5, max: 2}}
118
+ pan={{enabled: true}}
119
+ style={{height: 400}}
120
+ />
121
+ );
165
122
  ```
166
123
 
167
124
  ## 坐标与尺寸单位(itemUnit)
@@ -183,30 +140,28 @@ const items: FloorMapItemBase[] = [
183
140
  {id: '2', x: 1, y: 0, width: 2, height: 1},
184
141
  ];
185
142
 
186
- export default function CellDemo() {
187
- return (
188
- <PisellFloorMapLayout
189
- itemUnit="cell"
190
- cellSize={64}
191
- mapLayer={{gap: 8, backgroundType: 'color', backgroundColor: '#e8e8e8'}}
192
- items={items}
193
- renderItem={(item) => (
194
- <div
195
- style={{
196
- width: '100%', height: '100%', boxSizing: 'border-box',
197
- display: 'flex', alignItems: 'center', justifyContent: 'center',
198
- background: item.id === '1' ? '#d6e4ff' : '#d9f7be',
199
- border: `3px solid ${item.id === '1' ? '#597ef7' : '#73d13d'}`,
200
- borderRadius: 6, fontWeight: 600, color: '#262626',
201
- }}
202
- >
203
- {item.id}
204
- </div>
205
- )}
206
- style={{height: 320}}
207
- />
208
- );
209
- }
143
+ export default () => (
144
+ <PisellFloorMapLayout
145
+ itemUnit="cell"
146
+ cellSize={64}
147
+ mapLayer={{gap: 8, backgroundType: 'color', backgroundColor: '#e8e8e8'}}
148
+ items={items}
149
+ renderItem={(item) => (
150
+ <div
151
+ style={{
152
+ width: '100%', height: '100%', boxSizing: 'border-box',
153
+ display: 'flex', alignItems: 'center', justifyContent: 'center',
154
+ background: item.id === '1' ? '#d6e4ff' : '#d9f7be',
155
+ border: `3px solid ${item.id === '1' ? '#597ef7' : '#73d13d'}`,
156
+ borderRadius: 6, fontWeight: 600, color: '#262626',
157
+ }}
158
+ >
159
+ {item.id}
160
+ </div>
161
+ )}
162
+ style={{height: 320}}
163
+ />
164
+ );
210
165
  ```
211
166
 
212
167
  **像素布局示例**(自由位置与尺寸):
@@ -221,30 +176,28 @@ const items: FloorMapItemBase[] = [
221
176
  {id: '2', x: 140, y: 20, width: 200, height: 80},
222
177
  ];
223
178
 
224
- export default function PixelDemo() {
225
- return (
226
- <PisellFloorMapLayout
227
- itemUnit="pixel"
228
- cellSize={64}
229
- items={items}
230
- mapLayer={{backgroundType: 'color', backgroundColor: '#f0f0f0', padding: 12}}
231
- renderItem={(item) => (
232
- <div
233
- style={{
234
- width: '100%', height: '100%', boxSizing: 'border-box',
235
- display: 'flex', alignItems: 'center', justifyContent: 'center',
236
- background: item.id === '1' ? '#ffd6e7' : '#ffe7ba',
237
- border: `3px solid ${item.id === '1' ? '#eb2f96' : '#fa8c16'}`,
238
- borderRadius: 8, fontWeight: 600, color: '#262626',
239
- }}
240
- >
241
- {item.id}
242
- </div>
243
- )}
244
- style={{height: 320}}
245
- />
246
- );
247
- }
179
+ export default () => (
180
+ <PisellFloorMapLayout
181
+ itemUnit="pixel"
182
+ cellSize={64}
183
+ items={items}
184
+ mapLayer={{backgroundType: 'color', backgroundColor: '#f0f0f0', padding: 12}}
185
+ renderItem={(item) => (
186
+ <div
187
+ style={{
188
+ width: '100%', height: '100%', boxSizing: 'border-box',
189
+ display: 'flex', alignItems: 'center', justifyContent: 'center',
190
+ background: item.id === '1' ? '#ffd6e7' : '#ffe7ba',
191
+ border: `3px solid ${item.id === '1' ? '#eb2f96' : '#fa8c16'}`,
192
+ borderRadius: 8, fontWeight: 600, color: '#262626',
193
+ }}
194
+ >
195
+ {item.id}
196
+ </div>
197
+ )}
198
+ style={{height: 320}}
199
+ />
200
+ );
248
201
  ```
249
202
 
250
203
  ## 视图控制与 Ref
@@ -253,11 +206,6 @@ export default function PixelDemo() {
253
206
  `showFitBounds`、`showFullscreen` 才会显示复位、区域定位与全屏按钮。全屏按钮点击后对根容器调用 `requestFullscreen()`,再次点击或按
254
207
  Esc 退出全屏。
255
208
 
256
- **平面图编辑态**(`floorMapConfig` + `mode='edit'`):默认 **`floorMapFullscreenMode='toggle'`** 时,**非浏览器全屏**顶栏为*
257
- *画布 Tab + 进入全屏**;**全屏**后顶栏另含保存、`showFitBounds` 区域定位与**退出全屏**。设为 **`locked`** 时始终使用「全屏顶栏」布局且
258
- **不展示退出全屏**(适合外层遮罩铺满);**`disabled`** 时**无全屏按钮**,保存仍在侧栏(与 `toolbarShowSave` 一致)。左下角控件条保留缩放(及
259
- `showReset` 若开启)。
260
-
261
209
  通过 **ref** 可编程控制视图:
262
210
 
263
211
  | 方法 | 说明 |
@@ -274,7 +222,7 @@ import type {PisellFloorMapLayoutRef, FloorMapItemBase} from '@pisell/materials'
274
222
 
275
223
  const items: FloorMapItemBase[] = [{id: '1', x: 0, y: 0}];
276
224
 
277
- export default function Demo() {
225
+ export default () => {
278
226
  const ref = useRef<PisellFloorMapLayoutRef>(null);
279
227
  return (
280
228
  <>
@@ -308,7 +256,7 @@ export default function Demo() {
308
256
  />
309
257
  </>
310
258
  );
311
- }
259
+ };
312
260
  ```
313
261
 
314
262
  ## 事件
@@ -319,323 +267,25 @@ export default function Demo() {
319
267
 
320
268
  可通过 `enableHover={false}` 关闭 hover 高亮与 hover 事件。
321
269
 
322
- ## 平面图与数据源(可选)
323
-
324
- 当传入 **`floorMapConfig`** 时进入**平面图模式**:
325
-
326
- - **布局持久化**:编辑态修改画布列表、落位、装饰等,通过顶栏 **「保存」**(`onSave`)将完整 **`FloorMapViewConfig`**
327
- (草稿)交给上游保存。若需在左侧工具栏重复保存按钮,可设 **`toolbarShowSave`**。
328
- - **侧栏拖拽落位**:从左侧图元栏**拖拽**图元卡片到画布,在落点生成对应 `sceneElement`
329
- (规则与先选类型再点击画布落点一致)。不再支持将外部图片文件/链接拖入画布自动转为图源图元。
330
- - **业务记录**:侧栏「数据源记录」通过 **`onDataSourceRecordSave(dataSourceKey, recordId, partialRecord)`** 更新单行;与表格等
331
- UI 同源时,应在同一 state 上合并,保证列表与画布卡片一致。
332
- - **记录表单**:
333
- - **`dataSourceFormColumns`**:按数据源 key 配置列,内置 **`FloorMapDataForm`** 自动生成表单项;
334
- - **`dataSourceRecordForm`**:按 key 传入 **`ReactNode`** 或 **`(ctx: FloorMapRecordFormRenderContext) => ReactNode`**,
335
- **替换**该 key 下的内置表单,用于复杂校验、分步、联动;`ctx.onSaveRecord` 与内置保存通道一致(需配置
336
- `onDataSourceRecordSave`)。
337
- - **与 RecordBoard**:`floorMap` 使用本组件 **`Partial<PisellFloorMapLayoutProps>`**;根级还可传 **`floorMapLayoutContext`
338
- **(与 **`FloorMapLayoutContextValue`** 同形),由 Shell **内置 `FloorMapLayoutProvider`**。完整组合示例见下文「RecordBoard
339
- 根级注入」;Story **PisellRecordBoard → Default** 已拆分 `floorMapLayoutContext` 与精简 `FloorMap`。
340
-
341
- ### FloorMapLayoutProvider 与数据分流
342
-
343
- **合并规则**:`PisellFloorMapLayout` 内部对 Context 承载字段按 **`props ?? context`** 合并,**Layout 上显式传入的 props 优先
344
- **。未使用 Provider 或未传某字段时,行为与原先全部走 props 一致。
345
-
346
- **适合放入 Context(`FloorMapLayoutContextValue`)的字段**:`floorMapConfig`、`dataSources`(见下注意)、`onSave`、
347
- `onDataSourceRecordSave`、`dataSourceLabels`、`dataSourceFormColumns`、`dataSourceRecordForm`、`loading`、`saveError`、
348
- `onElementRenderError`、`toolbarShowSave`、`floorMapFullscreenMode`。
349
-
350
- **建议仍走 Layout / RecordBoard `floorMap` 的 props**:`renderItem`、`renderItemByKind`、`mapLayer`、`cellSize`、`zoom` /
351
- `pan` / `controls`、`className` / `style`、基础模式 `items`、`enableHover`、`onItemClick` 等展示与交互。
352
-
353
- **RecordBoard 与 `dataSources`**:Shell 会将根级 **`dataSources`** 与 **`floorMap.dataSources`** 合并后以 **props** 传入
354
- Layout,**会覆盖** Context 中的 **`dataSources`**。表格与平面图共用多数据源时,请仍使用根级 / `floorMap` 的 **`dataSources`
355
- **,不要仅依赖 **`floorMapLayoutContext.dataSources`**。
356
-
357
- **工具栏读取配置**:平面图节点在 **`FloorMapLayoutProvider`** 子树内;**`useRecordBoardContext().floorMapLayoutContext`**
358
- 与注入 Provider 的 value **同源**,供 ToolBar 等不在平面图 DOM 子树内的节点读取。
359
-
360
- | 数据类型 | Context / `floorMapLayoutContext` | 直接 `PisellFloorMapLayout` props | RecordBoard `floorMap` + 根级 `dataSources` |
361
- |--------------------------------------|-----------------------------------|---------------------------------|-------------------------------------------|
362
- | 布局配置、保存回调、加载/错误 | 推荐 | 可 | 可(合并后以 props 进入 Layout) |
363
- | 与表格共用的 `dataSources` | 易被 RecordBoard 的 props 覆盖 | 可 | **推荐** |
364
- | `renderItem`、`mapLayer`、`controls` 等 | 不推荐放入 Context | 推荐 | **推荐写在 `floorMap` / `FloorMap`** |
365
-
366
- #### 示例一:单独页面 — `FloorMapLayoutProvider` + Layout(仅展示向在 Layout)
367
-
368
- 业务在父组件请求/聚合配置与数据源,将 **`value` 用 `useMemo` 稳定化**;子树内任意深度的 **`PisellFloorMapLayout`** 均可合并到
369
- Context。
370
-
371
- ```tsx
372
- import React, {useCallback, useMemo, useState} from 'react';
373
- import {
374
- PisellFloorMapLayout,
375
- FloorMapLayoutProvider,
376
- } from '@pisell/materials';
377
- import type {FloorMapLayoutContextValue, FloorMapViewConfig} from '@pisell/materials';
378
-
379
- export default function FloorMapEditorWithProvider() {
380
- const [config, setConfig] = useState<FloorMapViewConfig | undefined>();
381
- const [tables, setTables] = useState<Array<{ id: string; name?: string }>>([]);
382
- const [loading] = useState(false);
383
- const [saveError, setSaveError] = useState<Error | undefined>();
384
-
385
- const handleSave = useCallback((next: FloorMapViewConfig) => {
386
- setSaveError(undefined);
387
- setConfig(next);
388
- void fetch('/api/floor-map', {
389
- method: 'PUT',
390
- body: JSON.stringify(next),
391
- }).catch((e) => {
392
- setSaveError(e instanceof Error ? e : new Error(String(e)));
393
- });
394
- }, []);
395
-
396
- const providerValue = useMemo<FloorMapLayoutContextValue>(
397
- () => ({
398
- floorMapConfig: config,
399
- dataSources: {tables},
400
- onSave: handleSave,
401
- onDataSourceRecordSave: (key, id, partial) => {
402
- setTables((prev) =>
403
- prev.map((row) => (row.id === id ? {...row, ...partial} : row))
404
- );
405
- },
406
- dataSourceLabels: {tables: '桌台'},
407
- loading,
408
- saveError,
409
- }),
410
- [config, tables, handleSave, loading, saveError]
411
- );
412
-
413
- return (
414
- <FloorMapLayoutProvider value={providerValue}>
415
- <div style={{height: '100vh'}}>
416
- <PisellFloorMapLayout
417
- items={[]}
418
- mode="edit"
419
- mapLayer={{backgroundType: 'color', backgroundColor: '#f0f0f0', padding: 16}}
420
- controls={{showFitBounds: true}}
421
- renderItem={(item) => <span>{item.id}</span>}
422
- />
423
- </div>
424
- </FloorMapLayoutProvider>
425
- );
426
- }
427
- ```
428
-
429
- #### 示例二:props 覆盖 Context
430
-
431
- 同一 Provider 下,某一 Layout 需要**不同的** `loading` 等时,在 **`PisellFloorMapLayout`** 上显式传入即可(该字段优先)。
432
-
433
- ```tsx
434
- import React, {useMemo} from 'react';
435
- import {
436
- PisellFloorMapLayout,
437
- FloorMapLayoutProvider,
438
- } from '@pisell/materials';
439
- import type {FloorMapLayoutContextValue} from '@pisell/materials';
440
-
441
- export default function FloorMapOverrideLoading() {
442
- const providerValue = useMemo<FloorMapLayoutContextValue>(
443
- () => ({loading: true}),
444
- []
445
- );
446
- return (
447
- <FloorMapLayoutProvider value={providerValue}>
448
- <PisellFloorMapLayout
449
- items={[{id: '1', x: 0, y: 0}]}
450
- renderItem={(item) => <span>{item.id}</span>}
451
- loading={false}
452
- mapLayer={{backgroundType: 'color', backgroundColor: '#f5f5f5', padding: 16}}
453
- />
454
- </FloorMapLayoutProvider>
455
- );
456
- }
457
- ```
458
-
459
- #### 示例三:深层节点读取 — `useFloorMapLayoutContext`
460
-
461
- ```tsx
462
- import React from 'react';
463
- import {useFloorMapLayoutContext} from '@pisell/materials';
464
-
465
- export default function FloorMapCanvasTitle() {
466
- const ctx = useFloorMapLayoutContext();
467
- const name = ctx?.floorMapConfig?.canvases?.[0]?.name ?? '—';
468
- return <span>当前画布:{name}</span>;
469
- }
470
- ```
471
-
472
- 无 Provider 时 **`useFloorMapLayoutContext()`** 返回 **`undefined`**,调用方需判空。该组件须渲染在 *
473
- *`FloorMapLayoutProvider`** 子树下(RecordBoard 下即平面图区域所在子树)。
474
-
475
- #### 示例四:PisellRecordBoard — 根级 `floorMapLayoutContext`(无需再包 Provider)
476
-
477
- **`floorMap` / `PisellRecordBoard.FloorMap`** 写展示向配置;**`floorMapLayoutContext`** 写 **`floorMapConfig`**、*
478
- *`onSave`**、侧栏表单等。Shell 内 **`GridLayout` / 列配置**
479
- 等见 [PisellRecordBoard 文档](../pisellRecordBoard/docs/PisellRecordBoard.md)。
480
-
481
- ```tsx
482
- import React, {useCallback, useMemo, useState} from 'react';
483
- import {PisellRecordBoard} from '@pisell/materials';
484
- import type {FloorMapLayoutContextValue, FloorMapViewConfig} from '@pisell/materials';
485
-
486
- export default function RecordBoardFloorMapContextDemo() {
487
- const [floorMapConfig, setFloorMapConfig] = useState<FloorMapViewConfig | undefined>();
488
- const handleSaveLayout = useCallback((config: FloorMapViewConfig) => {
489
- setFloorMapConfig(config);
490
- }, []);
491
- const handleSaveRecord = useCallback(
492
- (_dataSourceKey: string, _id: string, _patch: Record<string, unknown>) => {
493
- },
494
- []
495
- );
496
-
497
- const floorMapLayoutContext = useMemo<FloorMapLayoutContextValue>(
498
- () => ({
499
- floorMapConfig,
500
- onSave: handleSaveLayout,
501
- onDataSourceRecordSave: handleSaveRecord,
502
- loading: false,
503
- floorMapFullscreenMode: 'toggle',
504
- }),
505
- [floorMapConfig, handleSaveLayout, handleSaveRecord]
506
- );
507
-
508
- return (
509
- <PisellRecordBoard
510
- data={[]}
511
- dataSources={{tables: []}}
512
- pagination={{pageNumber: 1, pageSize: 10}}
513
- onPageChange={() => {
514
- }}
515
- searchParams={{}}
516
- onSearch={() => {
517
- }}
518
- floorMapLayoutContext={floorMapLayoutContext}
519
- floorMap={{
520
- mode: 'edit',
521
- mapLayer: {backgroundType: 'color', backgroundColor: '#f5f5f5', padding: 16},
522
- items: [],
523
- renderItem: () => null,
524
- }}
525
- grid={{
526
- columns: [{title: 'ID', dataIndex: 'id', key: 'id'}],
527
- }}
528
- >
529
- <PisellRecordBoard.ShellFrame>
530
- <PisellRecordBoard.GridLayout/>
531
- <PisellRecordBoard.FloorMap/>
532
- </PisellRecordBoard.ShellFrame>
533
- </PisellRecordBoard>
534
- );
535
- }
536
- ```
537
-
538
- **导出说明**(自 **`@pisell/materials`** 或包内 **`pisellFloorMapLayout`**):**`FloorMapLayoutProvider`**、*
539
- *`FloorMapLayoutProviderProps`**、**`useFloorMapLayoutContext`**、**`EMPTY_FLOOR_MAP_LAYOUT_CONTEXT`**、*
540
- *`mergeFloorMapLayoutPropsFromContext`**、类型 **`FloorMapLayoutContextValue`**。详见下文 **API** 小节。
541
-
542
- 更多实现细节见 **`types.ts`** 与 [开发文档](./pisellFloorMapLayout.$tab-dev.md)。
543
-
544
- **自定义记录表单最小示例**(自包含,需已安装 `antd`):
545
-
546
- ```tsx
547
- import React from 'react';
548
- import {Form, Input, Button} from 'antd';
549
- import type {FloorMapRecordFormRenderContext} from '@pisell/materials';
550
-
551
- export default function buildSalesRecordForm() {
552
- return {
553
- sales: (ctx: FloorMapRecordFormRenderContext) => (
554
- <Form
555
- layout="vertical"
556
- size="small"
557
- initialValues={ctx.record}
558
- onFinish={(values) => ctx.onSaveRecord?.(values as Record<string, unknown>)}
559
- >
560
- <Form.Item name="name" label="名称">
561
- <Input/>
562
- </Form.Item>
563
- <Button type="primary" htmlType="submit" loading={ctx.savingRecord} block size="small">
564
- 保存
565
- </Button>
566
- </Form>
567
- ),
568
- };
569
- }
570
-
571
- // 传入 PisellFloorMapLayout:dataSourceRecordForm={buildSalesRecordForm()}
572
- ```
573
-
574
270
  ## API
575
271
 
576
- ### PisellFloorMapLayout Props(基础)
577
-
578
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
579
- |------------------|----------------------------------------------|--------------------------------------------------------|----------------------|----|
580
- | items | 资源列表;**平面图模式下由内部合并结果覆盖,可传 `[]` 占位** | `T[]` | 必填 | - |
581
- | renderItem | 渲染每项内容;平面图下无 `renderItemByKind` 匹配时仍可能走到此项 | `(item, index, options?) => ReactNode` | 必填 | - |
582
- | rowKey | 列表 key,用于 React key | `string \| (item, index) => string` | `item.id` | - |
583
- | renderItemByKind | **仅平面图**:按 `elementKind` 渲染,优先于 `renderItem` | `Record<string, (item, index, options?) => ReactNode>` | - | - |
584
- | mapLayer | 底图层:背景、网格、padding、gap | `FloorMapLayerConfig` | - | - |
585
- | cellSize | 格子像素尺寸(cell 模式);pixel 模式缺省宽高时用此值 | `number` | `64` | - |
586
- | itemUnit | 坐标与尺寸单位 | `'cell' \| 'pixel'` | `'cell'` | - |
587
- | zoom | 缩放配置 | `FloorMapZoomConfig` | - | - |
588
- | pan | 平移配置 | `FloorMapPanConfig` | `{ enabled: false }` | - |
589
- | controls | 视图控制显隐 | `FloorMapControlsConfig` | 见下 | - |
590
- | enableHover | 是否开启 hover 高亮与事件 | `boolean` | `true` | - |
591
- | onItemClick | 项点击回调 | `(item, index, e) => void` | - | - |
592
- | onItemHover | 项 hover 进入 | `(item, index) => void` | - | - |
593
- | onItemLeave | 项 hover 离开 | `(item, index) => void` | - | - |
594
-
595
- ### PisellFloorMapLayout Props(平面图 / 编辑)
596
-
597
- 以下在传入 **`floorMapConfig`** 时生效(具体类型见 `types.ts`)。
598
-
599
- | 参数 | 说明 | 类型 | 默认值 |
600
- |---------------------------|--------------------------------------------------------------------------|---------------------------------------------------|------------|
601
- | floorMapConfig | 画布列表、`canvasUi`、`sceneElements`、`elementKindCategories`、`elementKinds` 等 | `FloorMapViewConfig` | - |
602
- | mode | `'read'` 只读;`'edit'` 可编辑(工具栏、侧栏、拖拽) | `'read' \| 'edit'` | `'read'` |
603
- | dataSources | 多数据源:`Record<key, Array<{ id, ... }>>`,落位 `dataSourceKey` + `id` 对应其中一行 | `FloorMapDataSources` | - |
604
- | onSave | 编辑态保存**布局草稿** | `(config: FloorMapViewConfig) => void` | - |
605
- | onDataSourceRecordSave | 侧栏保存**单条业务记录** | `(dataSourceKey, id, newData) => void` | - |
606
- | dataSourceLabels | 工具栏等处数据源展示名 | `Record<string, string>` | - |
607
- | dataSourceFormColumns | 内置 `FloorMapDataForm` 的列配置 | `Record<string, DataSourceFormColumn[]>` | - |
608
- | dataSourceRecordForm | **自定义**记录区:按 key 的 `ReactNode` 或 render prop,**优先生效** | `Record<string, ReactNode \| (ctx) => ReactNode>` | - |
609
- | getMergedItemWrapperStyle | 合并图元**外层定位容器**额外样式(如列表/搜索未命中时 `opacity`);不影响子项内部布局 | `(item, index) => CSSProperties \| undefined` | - |
610
- | onElementRenderError | `renderItemByKind` 抛错或绑定校验失败时回调(失败时画布上仍会显示错误占位) | `(element, error) => void` | - |
611
- | floorMapFullscreenMode | 编辑态全屏 UI:`toggle`(默认,可进/退全屏)、`locked`(始终全屏顶栏、组件内不可退出)、`disabled`(无全屏按钮) | `FloorMapFullscreenMode` | `'toggle'` |
612
- | toolbarShowSave | 是否在左侧工具栏显示保存(全屏或 `locked` 顶栏已含保存时侧栏保存会隐藏) | `boolean` | `true` |
613
- | loading | 编辑/加载态 | `boolean` | - |
614
- | saveError | 保存错误提示 | `Error \| string` | - |
615
-
616
- 上述字段也可通过 **`FloorMapLayoutContextValue`**(**`FloorMapLayoutProvider`** 或 RecordBoard **`floorMapLayoutContext`
617
- **)注入,与 props 按 **`??`** 合并,**props 优先**。
618
-
619
- ### FloorMapLayoutProvider / Context(导出)
620
-
621
- | 名称 | 说明 |
622
- |-------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
623
- | **`FloorMapLayoutProvider`** | 接收 **`value: FloorMapLayoutContextValue`** 与 **`children`**,注入 Context;**`value` 建议 `useMemo` 稳定引用**。 |
624
- | **`FloorMapLayoutProviderProps`** | Provider 的 props 类型。 |
625
- | **`useFloorMapLayoutContext()`** | 返回当前 Context 或 **`undefined`**(无 Provider)。 |
626
- | **`EMPTY_FLOOR_MAP_LAYOUT_CONTEXT`** | 模块级稳定空对象;RecordBoard Shell 在未传 **`floorMapLayoutContext`** 时用作 Provider **`value`**。 |
627
- | **`mergeFloorMapLayoutPropsFromContext(props, ctx)`** | 将 Layout props 与 Context 按字段合并(与组件内部逻辑一致),供测试或二次封装。 |
628
- | **`FloorMapLayoutContextValue`** | Context 值类型,为 **`PisellFloorMapLayoutProps`** 中平面图相关字段的 **`Partial<Pick<...>>`**。 |
629
-
630
- #### `floorMapConfig.canvasUi`(画布编辑能力)
631
-
632
- | 字段 | 说明 |
633
- |-------------|------------------------------------------------|
634
- | `canCreate` | 是否展示左侧调色板并允许「新建图元」落点模式。 |
635
- | `canEdit` | 是否允许画布 Tab 增删改名、选中图元侧栏、`onSave` 保存布局、侧栏绑定与删除等。 |
636
-
637
- 从侧栏注入的 **`floorMapConfig`** 在运行时应包含 **`canvasUi`**。若仅兼容历史根级 `canCreate` / `canEdit`(无 `canvasUi`),
638
- `useFloorMapEditState` 会在同步草稿时自动归并为 `canvasUi`。
272
+ ### PisellFloorMapLayout Props
273
+
274
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
275
+ |-------------|-----------------------------------------------------|-------------------------------------|----------------------|----|
276
+ | items | 资源列表,每项至少含 `id`、`x`、`y`;可含 `width`、`height`、`shape` | `T[]` | 必填 | - |
277
+ | renderItem | 渲染每项内容 | `(item, index) => ReactNode` | 必填 | - |
278
+ | rowKey | 列表 key,用于 React key | `string \| (item, index) => string` | `item.id` | - |
279
+ | mapLayer | 底图层:背景、网格、padding、gap | `FloorMapLayerConfig` | - | - |
280
+ | cellSize | 格子像素尺寸(cell 模式);pixel 模式缺省宽高时用此值 | `number` | `64` | - |
281
+ | itemUnit | 坐标与尺寸单位 | `'cell' \| 'pixel'` | `'cell'` | - |
282
+ | zoom | 缩放配置 | `FloorMapZoomConfig` | - | - |
283
+ | pan | 平移配置 | `FloorMapPanConfig` | `{ enabled: false }` | - |
284
+ | controls | 视图控制显隐 | `FloorMapControlsConfig` | 见下 | - |
285
+ | enableHover | 是否开启 hover 高亮与事件 | `boolean` | `true` | - |
286
+ | onItemClick | 项点击回调 | `(item, index, e) => void` | - | - |
287
+ | onItemHover | 项 hover 进入 | `(item, index) => void` | - | - |
288
+ | onItemLeave | 项 hover 离开 | `(item, index) => void` | - | - |
639
289
 
640
290
  ### controls(视图控制)
641
291
 
@@ -676,14 +326,9 @@ export default function buildSalesRecordForm() {
676
326
 
677
327
  ### 类型导出
678
328
 
679
- 可从 `@pisell/materials`(或包内 `pisellFloorMapLayout` 路径)获取:`PisellFloorMapLayoutProps`、`PisellFloorMapLayoutRef`、
680
- `FloorMapItemBase`、`FloorMapMergedItem`、`FloorMapSceneElement`、`FloorMapViewConfig`、`FloorMapDataSources`、
681
- `FloorMapElementKindConfig`、`FloorMapRecordFormRenderContext`、`FloorMapDataSourceRecordFormContent`、
682
- `FloorMapFullscreenMode`、**`FloorMapLayoutContextValue`**、**`FloorMapLayoutProviderProps`**、
683
- `FLOOR_MAP_STAGE_ELEMENT_KIND`,以及各类 Layer/Zoom/Pan/Controls/Shape 等配置类型(见 `types.ts` 与 `index.tsx` 导出列表)。
684
-
685
- 命名空间 **`PisellLayouts`** 下亦 re-export **`FloorMapLayoutProvider`**、**`useFloorMapLayoutContext`**、*
686
- *`mergeFloorMapLayoutPropsFromContext`**、**`EMPTY_FLOOR_MAP_LAYOUT_CONTEXT`** 及上述类型(见 `PisellLayouts/index.tsx`)。
329
+ 可从 `@pisell/materials` 获取:`PisellFloorMapLayoutProps`、`PisellFloorMapLayoutRef`、`FloorMapItemBase`、
330
+ `FloorMapItemUnit`、`FloorMapLayerConfig`、`FloorMapZoomConfig`、`FloorMapPanConfig`、`FloorMapControlsConfig`、
331
+ `FloorMapItemShape`、`FloorMapBackgroundType`、`FloorMapPanBoundary`、`FloorMapLayoutMode`、`FloorMapGridLayoutConfig` 等。
687
332
 
688
333
  ---
689
334
 
@@ -705,22 +350,18 @@ npm run storybook
705
350
 
706
351
  ### Story 列表与说明
707
352
 
708
- | Story 名称 | 说明 |
709
- |--------------------------------------|--------------------------------------------------------------------------------------|
710
- | **Default** | 基础渲染:5×4 格子布局、默认 controls(仅缩放)、简单格子样式。 |
711
- | **WithGrid** | 开启底图网格线(`mapLayer.showGrid: true`)、平移。 |
712
- | **WithPan** | 平移与视图控制条。 |
713
- | **WithShapes** | 多种形状(矩形、圆、三角)与不同 width/height。 |
714
- | **WithVariableSizes** | cell 模式下不同格子宽高(跨格)。 |
715
- | **PixelUnits** | pixel 模式:自由像素位置与尺寸。 |
716
- | **WithEvents** | 点击、hover、leave 事件与回调示例。 |
717
- | **WithRefControls** | 通过 ref 调用 zoomIn/zoomOut/reset/fitBounds,配合外部按钮。 |
718
- | **ControlsHidden** | 隐藏视图控制(`controls.showZoom: false` 等)。 |
719
- | **FloorMapWithLayoutProvider** | **`FloorMapLayoutProvider`** 注入 `floorMapConfig` / `dataSources`,Layout 仅传展示向 props。 |
720
- | **FloorMapViewEdit** | 平面图 **编辑态**:Tab、工具栏、侧栏、`mergeCanvasItems` + Figma 桌卡片。 |
721
- | **FloorMapViewRead** | 平面图 **只读**:无工具栏/侧栏。 |
722
- | **FloorMapViewEditCustomRecordForm** | 编辑态 + **`dataSourceRecordForm.sales`** 自定义侧栏表单示例。 |
723
- | **FigmaDesign** | **Figma 设计稿还原**:顶部 Tab + 图例 + 像素布局桌台图(见下)。 |
353
+ | Story 名称 | 说明 |
354
+ |-----------------------|--------------------------------------------------|
355
+ | **Default** | 基础渲染:5×4 格子布局、默认 controls(仅缩放)、简单格子样式。 |
356
+ | **WithGrid** | 开启底图网格线(`mapLayer.showGrid: true`)、平移。 |
357
+ | **WithPan** | 平移与视图控制条。 |
358
+ | **WithShapes** | 多种形状(矩形、圆、三角)与不同 width/height。 |
359
+ | **WithVariableSizes** | cell 模式下不同格子宽高(跨格)。 |
360
+ | **PixelUnits** | pixel 模式:自由像素位置与尺寸。 |
361
+ | **WithEvents** | 点击、hover、leave 事件与回调示例。 |
362
+ | **WithRefControls** | 通过 ref 调用 zoomIn/zoomOut/reset/fitBounds,配合外部按钮。 |
363
+ | **ControlsHidden** | 隐藏视图控制(`controls.showZoom: false` 等)。 |
364
+ | **FigmaDesign** | **Figma 设计稿还原**:顶部 Tab + 图例 + 像素布局桌台图(见下)。 |
724
365
 
725
366
  ### Figma 完整示例代码(与 Storybook FigmaDesign 一致)
726
367
 
@@ -1116,71 +757,70 @@ function LegendItem14131({color, label, fill = false}: { color: string; label: s
1116
757
  );
1117
758
  }
1118
759
 
1119
- export default function FigmaDesignDemo() {
1120
- return (
1121
- <div style={{
760
+ export default () => (
761
+ <div style={{
762
+ display: 'flex',
763
+ flexDirection: 'column',
764
+ gap: 20,
765
+ background: FIGMA.gray50,
766
+ padding: 24,
767
+ borderRadius: 12,
768
+ fontFamily: FIGMA.fontFamily
769
+ }}>
770
+ <div className="figma-story-header-14131" style={{
1122
771
  display: 'flex',
1123
- flexDirection: 'column',
1124
- gap: 20,
1125
- background: FIGMA.gray50,
1126
- padding: 24,
1127
- borderRadius: 12,
1128
- fontFamily: FIGMA.fontFamily
772
+ flexDirection: 'row',
773
+ alignItems: 'center',
774
+ justifyContent: 'space-between',
775
+ flexWrap: 'nowrap',
776
+ gap: 24
1129
777
  }}>
1130
- <div className="figma-story-header-14131" style={{
1131
- display: 'flex',
1132
- flexDirection: 'row',
1133
- alignItems: 'center',
1134
- justifyContent: 'space-between',
1135
- flexWrap: 'nowrap',
1136
- gap: 24
778
+ <div className="figma-story-tabs-wrap-14131" style={{
779
+ flexShrink: 0,
780
+ background: FIGMA.gray50,
781
+ border: `1px solid ${FIGMA.gray200}`,
782
+ padding: 6,
783
+ borderRadius: 8,
784
+ display: 'inline-flex',
785
+ gap: 8
1137
786
  }}>
1138
- <div className="figma-story-tabs-wrap-14131" style={{
1139
- flexShrink: 0,
1140
- background: FIGMA.gray50,
1141
- border: `1px solid ${FIGMA.gray200}`,
1142
- padding: 6,
1143
- borderRadius: 8,
1144
- display: 'inline-flex',
1145
- gap: 8
1146
- }}>
1147
- <Tabs defaultActiveKey="main" size="middle" style={{marginBottom: 0}}
1148
- items={[{key: 'main', label: 'Main Area'}, {
1149
- key: 'secondary',
1150
- label: 'Secondary Area'
1151
- }, {key: 'vip', label: 'VIP Area'}]} className="figma-story-tabs figma-story-tabs-14131"/>
1152
- </div>
1153
- <div className="figma-story-legend-14131" style={{
1154
- display: 'flex',
1155
- flexWrap: 'wrap',
1156
- gap: '12px 40px',
1157
- alignItems: 'center',
1158
- justifyContent: 'flex-end',
1159
- minWidth: 0
1160
- }}>
1161
- <LegendItem14131 color={FIGMA.gray200} label="Available (4)" fill={false}/>
1162
- <LegendItem14131 color={FIGMA.legendReserved} label="Reserved (2)" fill/>
1163
- <LegendItem14131 color={FIGMA.legendWaiting} label="Waiting (3)" fill/>
1164
- <LegendItem14131 color={FIGMA.legendDining} label="Dining (1)" fill/>
1165
- <LegendItem14131 color={FIGMA.legendBilled} label="Billed (2)" fill/>
1166
- <LegendItem14131 color={FIGMA.legendAvailableSoon} label="Available Soon (1)" fill/>
1167
- </div>
787
+ <Tabs defaultActiveKey="main" size="middle" style={{marginBottom: 0}}
788
+ items={[{key: 'main', label: 'Main Area'}, {
789
+ key: 'secondary',
790
+ label: 'Secondary Area'
791
+ }, {key: 'vip', label: 'VIP Area'}]} className="figma-story-tabs figma-story-tabs-14131"/>
1168
792
  </div>
1169
- <div className="figma-story-map-wrap" style={{
1170
- height: 520,
1171
- background: FIGMA.white,
1172
- border: `4px solid ${FIGMA.gray200}`,
1173
- borderRadius: 8,
1174
- overflow: 'hidden',
1175
- boxShadow: FIGMA.shadowSm
793
+ <div className="figma-story-legend-14131" style={{
794
+ display: 'flex',
795
+ flexWrap: 'wrap',
796
+ gap: '12px 40px',
797
+ alignItems: 'center',
798
+ justifyContent: 'flex-end',
799
+ minWidth: 0
1176
800
  }}>
1177
- <PisellFloorMapLayout className="figma-story-map" items={figma13998PixelItems}
1178
- renderItem={(item) => renderFigmaTableCard(item as FigmaTableItem)}
1179
- itemUnit="pixel" cellSize={64} mapLayer={{showGrid: false, padding: 20}}
1180
- zoom={{defaultScale: 0.8, min: 0.5, max: 2}} pan={{enabled: true}}
1181
- controls={{showZoom: true}} style={{height: '100%'}}/>
801
+ <LegendItem14131 color={FIGMA.gray200} label="Available (4)" fill={false}/>
802
+ <LegendItem14131 color={FIGMA.legendReserved} label="Reserved (2)" fill/>
803
+ <LegendItem14131 color={FIGMA.legendWaiting} label="Waiting (3)" fill/>
804
+ <LegendItem14131 color={FIGMA.legendDining} label="Dining (1)" fill/>
805
+ <LegendItem14131 color={FIGMA.legendBilled} label="Billed (2)" fill/>
806
+ <LegendItem14131 color={FIGMA.legendAvailableSoon} label="Available Soon (1)" fill/>
1182
807
  </div>
1183
- <style>{`
808
+ </div>
809
+ <div className="figma-story-map-wrap" style={{
810
+ height: 520,
811
+ background: FIGMA.white,
812
+ border: `4px solid ${FIGMA.gray200}`,
813
+ borderRadius: 8,
814
+ overflow: 'hidden',
815
+ boxShadow: FIGMA.shadowSm
816
+ }}>
817
+ <PisellFloorMapLayout className="figma-story-map" items={figma13998PixelItems}
818
+ renderItem={(item) => renderFigmaTableCard(item as FigmaTableItem)} itemUnit="pixel"
819
+ cellSize={64} mapLayer={{showGrid: false, padding: 20}}
820
+ zoom={{defaultScale: 0.8, min: 0.5, max: 2}} pan={{enabled: true}}
821
+ controls={{showZoom: true}} style={{height: '100%'}}/>
822
+ </div>
823
+ <style>{`
1184
824
  .figma-story-tabs-wrap-14131 .ant-tabs-nav { margin: 0; }
1185
825
  .figma-story-tabs-wrap-14131 .ant-tabs-nav-list { gap: 8px; }
1186
826
  .figma-story-tabs.figma-story-tabs-14131 .ant-tabs-tab { font-family: ${FIGMA.fontFamily}; padding: 10px 14px; margin: 0; font-size: 16px; font-weight: 600; line-height: 24px; color: ${FIGMA.gray500}; border-radius: 6px; }
@@ -1194,9 +834,8 @@ export default function FigmaDesignDemo() {
1194
834
  .figma-table-card { color: ${FIGMA.gray900}; }
1195
835
  .figma-table-card .ant-avatar { flex-shrink: 0; }
1196
836
  `}</style>
1197
- </div>
1198
- );
1199
- }
837
+ </div>
838
+ );
1200
839
  ```
1201
840
 
1202
841
  ### Figma 示例(FigmaDesign)说明
@@ -1243,7 +882,3 @@ export default function FigmaDesignDemo() {
1243
882
  ## 测试指南
1244
883
 
1245
884
  详见 [测试文档](./pisellFloorMapLayout.$tab-test.md)
1246
-
1247
- ## 后端接口
1248
-
1249
- 店铺端平面图 CRUD 与 `layout` 载荷说明见 [平面图编辑器 API](pisellFloorMapLayout.$tab-api.md)。