@pisell/materials 1.8.41 → 1.8.43

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 (849) 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 +51 -216
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +51 -216
  9. package/es/components/Pagination/index.js +43 -9
  10. package/es/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-dev.md +2 -5
  11. package/es/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-test.md +171 -169
  12. package/es/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.md +27 -87
  13. package/es/components/PisellCards/components/GraphicTextCard/types.d.ts +7 -18
  14. package/es/components/PisellCards/components/TextCard/TextCard.js +3 -2
  15. package/es/components/PisellCards/components/TextCard/components/BadgeWrapper.js +6 -20
  16. package/es/components/PisellCards/components/TextCard/components/TextContent.js +1 -3
  17. package/es/components/PisellCards/components/TextCard/docs/TextCard.$tab-dev.md +5 -36
  18. package/es/components/PisellCards/components/TextCard/docs/TextCard.$tab-test.md +258 -2434
  19. package/es/components/PisellCards/components/TextCard/docs/TextCard.md +13 -78
  20. package/es/components/PisellCards/index.d.ts +0 -3
  21. package/es/components/PisellCards/index.js +1 -3
  22. package/es/components/PisellLayouts/index.d.ts +1 -1
  23. package/es/components/PisellProcedure/components/ProcedureHeader.js +1 -1
  24. package/es/components/PisellTabbar/PisellTabbar.js +1 -1
  25. package/es/components/PisellTabbar/template/Template1/PisellTabbar.js +1 -1
  26. package/es/components/SafeAreaTop/index.d.ts +6 -0
  27. package/es/components/SafeAreaTop/index.js +112 -0
  28. package/es/components/SafeAreaTop/index.less +11 -0
  29. package/es/components/SafeAreaTop/types.d.ts +13 -0
  30. package/es/components/appVersionControl/index.js +2 -3
  31. package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +4 -4
  32. package/es/components/dataSourceComponents/dataSourceForm/formItem.js +1 -1
  33. package/es/components/dataSourceComponents/dataSourceForm/index.js +1 -1
  34. package/es/components/dataSourceComponents/dataSourceForm/submitButton/index.js +3 -3
  35. package/es/components/dataSourceComponents/dataSourceForm/utils.js +3 -3
  36. package/es/components/dataSourceComponents/dataSourceShow/dataSourceTypography/index.js +1 -1
  37. package/es/components/dataSourceComponents/dataSourceSubForm/index.js +1 -1
  38. package/es/components/dataSourceComponents/dataSourceTable/BaseTable.js +2 -2
  39. package/es/components/dataSourceComponents/dataSourceTable/filter/index.js +1 -1
  40. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.js +2 -3
  41. package/es/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -1
  42. package/es/components/dataSourceComponents/dataSourceWrapper/BaseWrapper.js +1 -1
  43. package/es/components/dataSourceComponents/fields/DatePicker/WithMode.js +0 -4
  44. package/es/components/dataSourceComponents/fields/IconSelect/WithMode.js +1 -1
  45. package/es/components/dataSourceComponents/fields/Input/WithMode.js +1 -1
  46. package/es/components/dataSourceComponents/fields/Input.Phone/serve.js +1 -4
  47. package/es/components/dataSourceComponents/fields/Radio/WithMode.js +1 -1
  48. package/es/components/dataSourceComponents/fields/TimePicker/WithMode.js +1 -1
  49. package/es/components/dataSourceComponents/hooks/useActions.js +1 -1
  50. package/es/components/dataSourceComponents/provider/dataSource/DataSourceProvider.js +1 -1
  51. package/es/components/drag-sort-tree/index.d.ts +0 -1
  52. package/es/components/drag-sort-tree/index.js +1 -0
  53. package/es/components/drawer/index.js +6 -7
  54. package/es/components/filter/components/Dropdown/index.js +4 -2
  55. package/es/components/filter/components/Dropdown/index.less +186 -0
  56. package/es/components/filter/components/FilterButton/index.js +41 -13
  57. package/es/components/filter/components/FilterButton/index.less +29 -0
  58. package/es/components/filter/components/FilterButton/types.d.ts +5 -0
  59. package/es/components/filter/components/FilterItem/index.js +93 -16
  60. package/es/components/filter/components/QuickFilter/index.js +7 -4
  61. package/es/components/filter/types.d.ts +4 -0
  62. package/es/components/login-and-register/index.js +5 -4
  63. package/es/components/page/index.js +1 -1
  64. package/es/components/pisellAppCard/PisellAppCard.js +1 -1
  65. package/es/components/pisellCardList/index.js +1 -1
  66. package/es/components/pisellCurrency/PisellCurrency.js +6 -13
  67. package/es/components/pisellCurrency/PisellCurrency.less +123 -0
  68. package/es/components/pisellDataSourceContainer/components/Pagination/index.js +9 -3
  69. package/es/components/pisellDataSourceContainer/docs/PisellDataSourceContainer.md +240 -189
  70. package/es/components/pisellDataSourceContainer/type.d.ts +1 -1
  71. package/es/components/pisellDateTimeDisplay/docs/pisellDateTimeDisplay.md +556 -556
  72. package/es/components/pisellEmail/PisellEmail.js +6 -13
  73. package/es/components/pisellEmail/PisellEmail.less +92 -0
  74. package/es/components/pisellEmpty/index.d.ts +1 -1
  75. package/es/components/pisellFilter/docs/PisellFilter.md +2 -2
  76. package/es/components/pisellFilter/index.js +7 -3
  77. package/es/components/pisellFind/docs/pisellFind.md +2 -2
  78. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +2 -1
  79. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +480 -88
  80. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +62 -0
  81. package/es/components/pisellFloorMapLayout/appearance/floorMapAppearance.d.ts +4 -0
  82. package/es/components/pisellFloorMapLayout/appearance/floorMapAppearance.js +22 -0
  83. package/es/components/pisellFloorMapLayout/components/CanvasTabs.js +18 -3
  84. package/es/components/pisellFloorMapLayout/components/CanvasTabs.less +23 -0
  85. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.js +3 -2
  86. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
  87. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +209 -74
  88. package/es/components/pisellFloorMapLayout/components/FloorMapBuiltinShapeElement.d.ts +11 -0
  89. package/es/components/pisellFloorMapLayout/components/FloorMapBuiltinShapeElement.js +123 -0
  90. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +88 -12
  91. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +15 -0
  92. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +169 -23
  93. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +95 -1
  94. package/es/components/pisellFloorMapLayout/components/FloorMapOverview.js +94 -0
  95. package/es/components/pisellFloorMapLayout/components/FloorMapOverview.less +65 -0
  96. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +153 -38
  97. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +178 -4
  98. package/es/components/pisellFloorMapLayout/components/HistoryIcons.js +64 -0
  99. package/es/components/pisellFloorMapLayout/components/ItemLayer.js +32 -10
  100. package/es/components/pisellFloorMapLayout/components/ItemLayer.less +30 -2
  101. package/es/components/pisellFloorMapLayout/components/ViewControls.js +119 -65
  102. package/es/components/pisellFloorMapLayout/components/ViewControls.less +263 -50
  103. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +4 -0
  104. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +3 -1
  105. package/es/components/pisellFloorMapLayout/docs/pisellFloorMapLayout.md +559 -194
  106. package/es/components/pisellFloorMapLayout/floorMapLayoutConstants.js +21 -0
  107. package/es/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +47 -0
  108. package/es/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +95 -0
  109. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +105 -25
  110. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +400 -66
  111. package/es/components/pisellFloorMapLayout/index.d.ts +5 -2
  112. package/es/components/pisellFloorMapLayout/locales-ja.js +39 -1
  113. package/es/components/pisellFloorMapLayout/locales-pt.js +39 -1
  114. package/es/components/pisellFloorMapLayout/locales.js +117 -3
  115. package/es/components/pisellFloorMapLayout/types.d.ts +86 -10
  116. package/es/components/pisellFloorMapLayout/types.js +7 -1
  117. package/es/components/pisellFloorMapLayout/utils/floorMapBuiltinShapes.d.ts +46 -0
  118. package/es/components/pisellFloorMapLayout/utils/floorMapBuiltinShapes.js +533 -0
  119. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasStage.js +139 -0
  120. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +11 -2
  121. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +3 -1
  122. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +3 -1
  123. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +31 -7
  124. package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +52 -0
  125. package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +61 -0
  126. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +12 -1
  127. package/es/components/pisellFloorMapLayout/utils/floorMapOverviewLayout.js +64 -0
  128. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +3 -2
  129. package/es/components/pisellGoodPassCard/index.less +1 -0
  130. package/es/components/pisellGridPro/GridView/docs/GridView.md +47 -48
  131. package/es/components/pisellGridPro/ToolBar/docs/ToolBar.$tab-dev.md +4 -2
  132. package/es/components/pisellGridPro/ToolBar/docs/ToolBar.md +95 -81
  133. package/es/components/pisellGridPro/ToolBar/index.less +5 -4
  134. package/es/components/pisellGridPro/docs/PisellGridPro.md +173 -262
  135. package/es/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-dev.md +3 -6
  136. package/es/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-test.md +3 -4
  137. package/es/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.md +1 -2
  138. package/es/components/pisellLongText/PisellLongText.js +6 -13
  139. package/es/components/pisellLongText/PisellLongText.less +67 -0
  140. package/es/components/pisellLookup/PisellLookup.js +1 -1
  141. package/es/components/pisellLookup/PisellLookup.less +46 -4
  142. package/es/components/pisellLookup/components/LookupResultHost.js +1 -1
  143. package/es/components/pisellLookup/components/LookupTrigger.js +6 -8
  144. package/es/components/pisellLookup/docs/pisellLookup.md +1 -1
  145. package/es/components/pisellMobileDateRangePicker/PisellMobileDateRangePicker.d.ts +9 -0
  146. package/es/components/pisellMobileDateRangePicker/PisellMobileDateRangePicker.js +149 -0
  147. package/es/components/pisellMobileDateRangePicker/PisellMobileDateRangePicker.less +73 -0
  148. package/es/components/pisellMobileDateRangePicker/index.d.ts +2 -0
  149. package/es/components/pisellMobileDateRangePicker/types.d.ts +31 -0
  150. package/es/components/pisellMobileDateRangePicker/types.js +4 -0
  151. package/es/components/pisellMultipleSelect/PisellMultipleSelect.js +5 -7
  152. package/es/components/pisellMultipleSelect/PisellMultipleSelect.less +139 -18
  153. package/es/components/pisellMultipleSelect/components/EditView.js +0 -1
  154. package/es/components/pisellNavigationMenu/PisellNavigationMenu.js +0 -4
  155. package/es/components/pisellNumber/PisellNumber.js +6 -13
  156. package/es/components/pisellNumber/PisellNumber.less +103 -0
  157. package/es/components/pisellPhone/PisellPhone.js +6 -13
  158. package/es/components/pisellPhone/PisellPhone.less +119 -0
  159. package/es/components/pisellPhone/components/EditView.js +19 -37
  160. package/es/components/pisellPhone/constants/countryCodes.js +25 -26
  161. package/es/components/pisellPhone/types.d.ts +2 -2
  162. package/es/components/pisellPhone/utils/countryCodeHelper.js +2 -2
  163. package/es/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.md +1 -1
  164. package/es/components/pisellRating/PisellRating.js +3 -5
  165. package/es/components/pisellRecordBoard/PisellRecordBoard.js +29 -10
  166. package/es/components/pisellRecordBoard/README.md +12 -0
  167. package/es/components/pisellRecordBoard/docs/PisellRecordBoard.md +716 -70
  168. package/es/components/pisellRecordBoard/docs/ShellFrame.md +62 -44
  169. package/es/components/pisellRecordBoard/index.d.ts +8 -1
  170. package/es/components/pisellRecordBoard/index.js +5 -0
  171. package/es/components/pisellRecordBoard/layouts/GridLayout/Grid.js +174 -17
  172. package/es/components/pisellRecordBoard/layouts/GridLayout/Grid.less +79 -0
  173. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.js +758 -0
  174. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.less +313 -0
  175. package/es/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +5 -1
  176. package/es/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.js +10 -8
  177. package/es/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.js +191 -0
  178. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.js +22 -0
  179. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +1 -1
  180. package/es/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.js +39 -0
  181. package/es/components/pisellRecordBoard/shellFrame/Calendar/hooks/useBookingCalendarDayOverlayLayout.js +74 -0
  182. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarBlockPanel.js +61 -0
  183. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarOverflowListLayer.js +26 -0
  184. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.js +79 -0
  185. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.js +61 -0
  186. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.js +37 -0
  187. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.js +20 -0
  188. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.js +532 -0
  189. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarSelectionUtils.js +17 -0
  190. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.js +31 -0
  191. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.js +583 -0
  192. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarGroupRowHeader.js +41 -0
  193. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.js +111 -0
  194. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarResourceView.js +612 -0
  195. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.js +168 -0
  196. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.js +8 -0
  197. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDayHourRemaining.js +33 -0
  198. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDaySelection.js +37 -0
  199. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceCellToggle.js +18 -0
  200. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceDayHeaderRemaining.js +33 -0
  201. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/useBookingCalendarGoToDayFromCell.js +29 -0
  202. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +2 -1
  203. package/es/components/pisellRecordBoard/shellFrame/Pagination/index.js +7 -1
  204. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +43 -0
  205. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +14 -0
  206. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +436 -0
  207. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +11 -0
  208. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +9 -0
  209. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.js +179 -0
  210. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.js +62 -0
  211. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.js +57 -0
  212. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +88 -0
  213. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.js +83 -0
  214. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +218 -0
  215. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.less +339 -0
  216. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
  217. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.js +153 -0
  218. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +32 -0
  219. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +170 -0
  220. package/es/components/pisellRecordBoard/shellFrame/Search/index.js +1 -1
  221. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -1
  222. package/es/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +30 -3
  223. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +157 -68
  224. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +11 -0
  225. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +56 -0
  226. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +406 -14
  227. package/es/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +14 -4
  228. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +9 -2
  229. package/es/components/pisellRecordBoard/shellFrame/index.js +73 -19
  230. package/es/components/pisellRecordBoard/types.d.ts +413 -8
  231. package/es/components/pisellRecordBoard/types.js +12 -0
  232. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +16 -0
  233. package/es/components/pisellRecordBoard/utils/recordBoardPhoneGrid.d.ts +22 -0
  234. package/es/components/pisellRecordBoard/utils/recordBoardPhoneGrid.js +46 -0
  235. package/es/components/pisellReservationSchedule/PisellReservationSchedule.js +67 -15
  236. package/es/components/pisellReservationSchedule/PisellReservationSchedule.less +23 -0
  237. package/es/components/pisellReservationSchedule/locales.js +21 -3
  238. package/es/components/pisellReservationSchedule/types.d.ts +5 -0
  239. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +11 -6
  240. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +37 -4
  241. package/es/components/pisellReservationScheduleBand/index.d.ts +2 -1
  242. package/es/components/pisellReservationScheduleBand/types.d.ts +13 -2
  243. package/es/components/pisellReservationScheduleBand/utils/formatScheduleAtLabel.d.ts +13 -0
  244. package/es/components/pisellReservationScheduleBand/utils/formatScheduleAtLabel.js +17 -0
  245. package/es/components/pisellShellFrame/PisellShellFrame.js +2 -2
  246. package/es/components/pisellShellFrame/PisellShellFrame.less +18 -2
  247. package/es/components/pisellShellFrame/types.d.ts +6 -0
  248. package/es/components/pisellSingleLineText/PisellSingleLineText.js +14 -21
  249. package/es/components/pisellSingleLineText/PisellSingleLineText.less +143 -0
  250. package/es/components/pisellSingleLineText/docs/pisellSingleLineText.md +256 -256
  251. package/es/components/pisellSingleSelect/PisellSingleSelect.js +4 -7
  252. package/es/components/pisellSingleSelect/PisellSingleSelect.less +106 -5
  253. package/es/components/pisellSingleSelect/docs/pisellSingleSelect.md +428 -525
  254. package/es/components/pisellSort/docs/PisellSort.md +131 -67
  255. package/es/components/pisellStatisticList/index.js +0 -1
  256. package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +227 -58
  257. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +128 -15
  258. package/es/components/pisellTimeNavigator/components/CursorLayer.js +3 -3
  259. package/es/components/pisellTimeNavigator/components/GestureLayer.js +12 -3
  260. package/es/components/pisellTimeNavigator/components/ScaleLayer.js +34 -6
  261. package/es/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-dev.md +26 -42
  262. package/es/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-test.md +5 -5
  263. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.js +43 -23
  264. package/es/components/pisellTimeNavigator/index.d.ts +1 -1
  265. package/es/components/pisellTimeNavigator/types.d.ts +15 -0
  266. package/es/components/pisellTimeNavigator/utils/index.d.ts +25 -4
  267. package/es/components/pisellTimeNavigator/utils/index.js +85 -17
  268. package/es/components/pisellTimeRangeDisplay/docs/pisellTimeRangeDisplay.md +226 -227
  269. package/es/components/pisellUrl/PisellUrl.js +6 -13
  270. package/es/components/pisellWalletPassCard/index.js +5 -11
  271. package/es/components/productCard/cartSkuCard/components/Gift/index.js +34 -0
  272. package/es/components/productCard/cartSkuCard/components/Gift/index.less +84 -0
  273. package/es/components/productCard/cartSkuCard/components/Promotion/index.js +23 -0
  274. package/es/components/productCard/cartSkuCard/components/Promotion/index.less +16 -0
  275. package/es/components/productCard/cartSkuCard/components/basicInfo/index.js +65 -4
  276. package/es/components/productCard/cartSkuCard/components/basicInfo/index.less +80 -1
  277. package/es/components/productCard/cartSkuCard/components/holders/index.js +1 -1
  278. package/es/components/productCard/cartSkuCard/components/packages/index.js +24 -9
  279. package/es/components/productCard/cartSkuCard/components/specs/index.js +22 -7
  280. package/es/components/productCard/cartSkuCard/components/specs/index.less +11 -0
  281. package/es/components/productCard/cartSkuCard/components/timeRange/index.js +2 -1
  282. package/es/components/productCard/cartSkuCard/components/weighing/index.js +27 -0
  283. package/es/components/productCard/cartSkuCard/components/weighing/index.less +25 -0
  284. package/es/components/productCard/cartSkuCard/index.js +68 -8
  285. package/es/components/productCard/cartSkuCard/locales.js +40 -5
  286. package/es/components/productCard/components/Header/DeleteButton/index.js +2 -2
  287. package/es/components/productCard/components/Header/DeleteButton/index.less +1 -2
  288. package/es/components/productCard/components/Header/EditButton/index.js +2 -1
  289. package/es/components/productCard/components/Header/index.less +1 -1
  290. package/es/components/productCard/components/Time/components/SelectHolder/index.js +2 -3
  291. package/es/components/productCard/components/Time/components/SelectHolderModal/index.js +1 -1
  292. package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.js +2 -2
  293. package/es/components/productCard/components/Time/components/SelectResource/index.js +3 -6
  294. package/es/components/productCard/components/Time/index.js +2 -3
  295. package/es/components/productCard/index.d.ts +1 -0
  296. package/es/components/productCard/index.js +2 -0
  297. package/es/components/productCard/lineItem/BookingLineItem.js +173 -0
  298. package/es/components/productCard/lineItem/index.js +195 -0
  299. package/es/components/productCard/lineItem/index.less +195 -0
  300. package/es/components/productCard/lineItem/locales.js +25 -0
  301. package/es/components/productCard/status.js +3 -0
  302. package/es/components/productCard/types.d.ts +10 -0
  303. package/es/components/productCard/utils.js +1 -1
  304. package/es/components/select/index.js +1 -1
  305. package/es/components/select-time/index.js +1 -0
  306. package/es/components/table/Actions/component/ExportImport/index.js +4 -3
  307. package/es/components/table/Actions/component/GallerySetting/index.js +9 -10
  308. package/es/components/table/Actions/component/ViewMode/index.js +3 -4
  309. package/es/components/table/Actions/index.js +1 -1
  310. package/es/components/table/BasicTable/index.js +2 -2
  311. package/es/components/table/Gallery/components/GalleryItem/components/Title/index.less +1 -1
  312. package/es/components/table/Gallery/components/GalleryItem/index.js +4 -12
  313. package/es/components/table/Gallery/components/GalleryItem/index.less +0 -1
  314. package/es/components/table/Gallery/index.js +3 -11
  315. package/es/components/table/Table/fields/text/Show/index.js +1 -1
  316. package/es/components/table/Table/index.js +1 -2
  317. package/es/components/table/Table/tableConfig/header/index.js +1 -1
  318. package/es/components/table/Table/utils.js +1 -5
  319. package/es/components/table/hooks/useTableSetting.js +0 -3
  320. package/es/components/table/hooks/useTransDataSource.js +3 -4
  321. package/es/components/table/index.js +1 -1
  322. package/es/components/tabs/index.less +1 -1
  323. package/es/components/translation/index.d.ts +0 -1
  324. package/es/components/translation/index.js +10 -36
  325. package/es/components/translation/index.less +0 -12
  326. package/es/components/versionModal/index.d.ts +0 -1
  327. package/es/components/versionModal/index.js +2 -2
  328. package/es/components/versionSelect/index.js +1 -1
  329. package/es/components/virtual-keyboard/Amount/index.js +1 -1
  330. package/es/index.d.ts +101 -106
  331. package/es/index.js +97 -94
  332. package/es/locales/en-US.js +195 -70
  333. package/es/locales/ja.js +196 -13
  334. package/es/locales/pt.js +196 -13
  335. package/es/locales/zh-CN.js +189 -64
  336. package/es/locales/zh-TW.js +194 -69
  337. package/es/pisell-materials.tw.css +0 -1
  338. package/es/tailwind-input.css +3 -1
  339. package/lib/components/Pagination/index.js +42 -8
  340. package/lib/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-dev.md +2 -5
  341. package/lib/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.$tab-test.md +171 -169
  342. package/lib/components/PisellCards/components/GraphicTextCard/docs/GraphicTextCard.md +27 -87
  343. package/lib/components/PisellCards/components/GraphicTextCard/types.d.ts +7 -18
  344. package/lib/components/PisellCards/components/TextCard/TextCard.js +3 -2
  345. package/lib/components/PisellCards/components/TextCard/components/BadgeWrapper.js +6 -20
  346. package/lib/components/PisellCards/components/TextCard/components/TextContent.js +1 -3
  347. package/lib/components/PisellCards/components/TextCard/docs/TextCard.$tab-dev.md +5 -36
  348. package/lib/components/PisellCards/components/TextCard/docs/TextCard.$tab-test.md +258 -2434
  349. package/lib/components/PisellCards/components/TextCard/docs/TextCard.md +13 -78
  350. package/lib/components/PisellCards/index.d.ts +0 -3
  351. package/lib/components/PisellCards/index.js +1 -3
  352. package/lib/components/PisellLayouts/index.d.ts +1 -1
  353. package/lib/components/PisellProcedure/components/ProcedureHeader.js +1 -1
  354. package/lib/components/PisellTabbar/PisellTabbar.js +6 -6
  355. package/lib/components/PisellTabbar/template/Template1/PisellTabbar.js +6 -6
  356. package/lib/components/SafeAreaTop/index.d.ts +6 -0
  357. package/lib/components/SafeAreaTop/index.js +115 -0
  358. package/lib/components/SafeAreaTop/index.less +11 -0
  359. package/lib/components/SafeAreaTop/types.d.ts +13 -0
  360. package/lib/components/appVersionControl/index.js +11 -12
  361. package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +6 -6
  362. package/lib/components/dataSourceComponents/dataSourceForm/formItem.js +1 -1
  363. package/lib/components/dataSourceComponents/dataSourceForm/index.js +1 -1
  364. package/lib/components/dataSourceComponents/dataSourceForm/submitButton/index.js +3 -3
  365. package/lib/components/dataSourceComponents/dataSourceForm/utils.js +3 -3
  366. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceTypography/index.js +1 -1
  367. package/lib/components/dataSourceComponents/dataSourceSubForm/index.js +1 -1
  368. package/lib/components/dataSourceComponents/dataSourceTable/BaseTable.js +2 -2
  369. package/lib/components/dataSourceComponents/dataSourceTable/filter/index.js +1 -1
  370. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.js +2 -3
  371. package/lib/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -1
  372. package/lib/components/dataSourceComponents/dataSourceWrapper/BaseWrapper.js +1 -1
  373. package/lib/components/dataSourceComponents/fields/DatePicker/WithMode.js +0 -4
  374. package/lib/components/dataSourceComponents/fields/IconSelect/WithMode.js +1 -1
  375. package/lib/components/dataSourceComponents/fields/Input/WithMode.js +1 -1
  376. package/lib/components/dataSourceComponents/fields/Input.Phone/serve.js +1 -4
  377. package/lib/components/dataSourceComponents/fields/Radio/WithMode.js +1 -1
  378. package/lib/components/dataSourceComponents/fields/TimePicker/WithMode.js +4 -4
  379. package/lib/components/dataSourceComponents/hooks/useActions.js +1 -1
  380. package/lib/components/dataSourceComponents/provider/dataSource/DataSourceProvider.js +1 -1
  381. package/lib/components/drag-sort-tree/index.d.ts +0 -1
  382. package/lib/components/drag-sort-tree/index.js +1 -0
  383. package/lib/components/drawer/index.js +6 -7
  384. package/lib/components/filter/components/Dropdown/index.js +5 -2
  385. package/lib/components/filter/components/Dropdown/index.less +186 -0
  386. package/lib/components/filter/components/FilterButton/index.js +40 -12
  387. package/lib/components/filter/components/FilterButton/index.less +29 -0
  388. package/lib/components/filter/components/FilterButton/types.d.ts +5 -0
  389. package/lib/components/filter/components/FilterItem/index.js +94 -16
  390. package/lib/components/filter/components/QuickFilter/index.js +7 -4
  391. package/lib/components/filter/types.d.ts +4 -0
  392. package/lib/components/login-and-register/index.js +5 -4
  393. package/lib/components/page/index.js +1 -1
  394. package/lib/components/pisellAppCard/PisellAppCard.js +7 -7
  395. package/lib/components/pisellCardList/index.js +6 -6
  396. package/lib/components/pisellCurrency/PisellCurrency.js +6 -13
  397. package/lib/components/pisellCurrency/PisellCurrency.less +123 -0
  398. package/lib/components/pisellDataSourceContainer/components/Pagination/index.js +9 -3
  399. package/lib/components/pisellDataSourceContainer/docs/PisellDataSourceContainer.md +240 -189
  400. package/lib/components/pisellDataSourceContainer/type.d.ts +1 -1
  401. package/lib/components/pisellDateTimeDisplay/docs/pisellDateTimeDisplay.md +556 -556
  402. package/lib/components/pisellEmail/PisellEmail.js +6 -13
  403. package/lib/components/pisellEmail/PisellEmail.less +92 -0
  404. package/lib/components/pisellEmpty/index.d.ts +1 -1
  405. package/lib/components/pisellFilter/docs/PisellFilter.md +2 -2
  406. package/lib/components/pisellFilter/index.js +7 -3
  407. package/lib/components/pisellFind/docs/pisellFind.md +2 -2
  408. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +2 -1
  409. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +478 -86
  410. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +62 -0
  411. package/lib/components/pisellFloorMapLayout/appearance/floorMapAppearance.d.ts +4 -0
  412. package/lib/components/pisellFloorMapLayout/appearance/floorMapAppearance.js +22 -0
  413. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.js +18 -3
  414. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.less +23 -0
  415. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.js +3 -2
  416. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
  417. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +209 -74
  418. package/lib/components/pisellFloorMapLayout/components/FloorMapBuiltinShapeElement.d.ts +11 -0
  419. package/lib/components/pisellFloorMapLayout/components/FloorMapBuiltinShapeElement.js +125 -0
  420. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +86 -10
  421. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +15 -0
  422. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +168 -22
  423. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +95 -1
  424. package/lib/components/pisellFloorMapLayout/components/FloorMapOverview.js +97 -0
  425. package/lib/components/pisellFloorMapLayout/components/FloorMapOverview.less +65 -0
  426. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +150 -35
  427. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +178 -4
  428. package/lib/components/pisellFloorMapLayout/components/HistoryIcons.js +67 -0
  429. package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +32 -10
  430. package/lib/components/pisellFloorMapLayout/components/ItemLayer.less +30 -2
  431. package/lib/components/pisellFloorMapLayout/components/ViewControls.js +118 -64
  432. package/lib/components/pisellFloorMapLayout/components/ViewControls.less +263 -50
  433. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +4 -0
  434. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +3 -1
  435. package/lib/components/pisellFloorMapLayout/docs/pisellFloorMapLayout.md +559 -194
  436. package/lib/components/pisellFloorMapLayout/floorMapLayoutConstants.js +25 -0
  437. package/lib/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +52 -0
  438. package/lib/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +96 -0
  439. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +104 -24
  440. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +399 -65
  441. package/lib/components/pisellFloorMapLayout/index.d.ts +5 -2
  442. package/lib/components/pisellFloorMapLayout/locales-ja.js +39 -1
  443. package/lib/components/pisellFloorMapLayout/locales-pt.js +39 -1
  444. package/lib/components/pisellFloorMapLayout/locales.js +117 -3
  445. package/lib/components/pisellFloorMapLayout/types.d.ts +86 -10
  446. package/lib/components/pisellFloorMapLayout/types.js +7 -0
  447. package/lib/components/pisellFloorMapLayout/utils/floorMapBuiltinShapes.d.ts +46 -0
  448. package/lib/components/pisellFloorMapLayout/utils/floorMapBuiltinShapes.js +536 -0
  449. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasStage.js +140 -0
  450. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +11 -2
  451. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +3 -1
  452. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +3 -1
  453. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +30 -5
  454. package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +52 -0
  455. package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +64 -0
  456. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +11 -0
  457. package/lib/components/pisellFloorMapLayout/utils/floorMapOverviewLayout.js +64 -0
  458. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +4 -2
  459. package/lib/components/pisellGoodPassCard/index.less +1 -0
  460. package/lib/components/pisellGridPro/GridView/docs/GridView.md +47 -48
  461. package/lib/components/pisellGridPro/ToolBar/docs/ToolBar.$tab-dev.md +4 -2
  462. package/lib/components/pisellGridPro/ToolBar/docs/ToolBar.md +95 -81
  463. package/lib/components/pisellGridPro/ToolBar/index.less +5 -4
  464. package/lib/components/pisellGridPro/docs/PisellGridPro.md +173 -262
  465. package/lib/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-dev.md +3 -6
  466. package/lib/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.$tab-test.md +3 -4
  467. package/lib/components/pisellHierarchicalSummaryList/docs/pisellHierarchicalSummaryList.md +1 -2
  468. package/lib/components/pisellLongText/PisellLongText.js +6 -13
  469. package/lib/components/pisellLongText/PisellLongText.less +67 -0
  470. package/lib/components/pisellLookup/PisellLookup.js +1 -1
  471. package/lib/components/pisellLookup/PisellLookup.less +46 -4
  472. package/lib/components/pisellLookup/components/LookupResultHost.js +1 -1
  473. package/lib/components/pisellLookup/components/LookupTrigger.js +6 -8
  474. package/lib/components/pisellLookup/docs/pisellLookup.md +1 -1
  475. package/lib/components/pisellMobileDateRangePicker/PisellMobileDateRangePicker.d.ts +9 -0
  476. package/lib/components/pisellMobileDateRangePicker/PisellMobileDateRangePicker.js +160 -0
  477. package/lib/components/pisellMobileDateRangePicker/PisellMobileDateRangePicker.less +73 -0
  478. package/lib/components/pisellMobileDateRangePicker/index.d.ts +2 -0
  479. package/lib/components/pisellMobileDateRangePicker/types.d.ts +31 -0
  480. package/lib/components/pisellMobileDateRangePicker/types.js +4 -0
  481. package/lib/components/pisellMultipleSelect/PisellMultipleSelect.js +4 -6
  482. package/lib/components/pisellMultipleSelect/PisellMultipleSelect.less +139 -18
  483. package/lib/components/pisellMultipleSelect/components/EditView.js +0 -1
  484. package/lib/components/pisellNavigationMenu/PisellNavigationMenu.js +0 -4
  485. package/lib/components/pisellNumber/PisellNumber.js +6 -13
  486. package/lib/components/pisellNumber/PisellNumber.less +103 -0
  487. package/lib/components/pisellPhone/PisellPhone.js +6 -13
  488. package/lib/components/pisellPhone/PisellPhone.less +119 -0
  489. package/lib/components/pisellPhone/components/EditView.js +19 -37
  490. package/lib/components/pisellPhone/constants/countryCodes.js +25 -26
  491. package/lib/components/pisellPhone/types.d.ts +2 -2
  492. package/lib/components/pisellPhone/utils/countryCodeHelper.js +2 -2
  493. package/lib/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.md +1 -1
  494. package/lib/components/pisellRating/PisellRating.js +2 -4
  495. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +29 -10
  496. package/lib/components/pisellRecordBoard/README.md +12 -0
  497. package/lib/components/pisellRecordBoard/docs/PisellRecordBoard.md +716 -70
  498. package/lib/components/pisellRecordBoard/docs/ShellFrame.md +62 -44
  499. package/lib/components/pisellRecordBoard/index.d.ts +8 -1
  500. package/lib/components/pisellRecordBoard/index.js +5 -0
  501. package/lib/components/pisellRecordBoard/layouts/GridLayout/Grid.js +174 -16
  502. package/lib/components/pisellRecordBoard/layouts/GridLayout/Grid.less +79 -0
  503. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.js +760 -0
  504. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.less +313 -0
  505. package/lib/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +5 -1
  506. package/lib/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.js +11 -8
  507. package/lib/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.js +197 -0
  508. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.js +23 -0
  509. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +1 -1
  510. package/lib/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.js +44 -0
  511. package/lib/components/pisellRecordBoard/shellFrame/Calendar/hooks/useBookingCalendarDayOverlayLayout.js +75 -0
  512. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarBlockPanel.js +63 -0
  513. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/BookingCalendarOverflowListLayer.js +28 -0
  514. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.js +81 -0
  515. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.js +64 -0
  516. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.js +39 -0
  517. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.js +21 -0
  518. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.js +562 -0
  519. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarSelectionUtils.js +17 -0
  520. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.js +33 -0
  521. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.js +585 -0
  522. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarGroupRowHeader.js +43 -0
  523. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.js +113 -0
  524. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarResourceView.js +614 -0
  525. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.js +170 -0
  526. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.js +10 -0
  527. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDayHourRemaining.js +34 -0
  528. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/day/useBookingCalendarDaySelection.js +38 -0
  529. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceCellToggle.js +19 -0
  530. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/resource/useBookingCalendarResourceDayHeaderRemaining.js +34 -0
  531. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/useBookingCalendarGoToDayFromCell.js +30 -0
  532. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +2 -1
  533. package/lib/components/pisellRecordBoard/shellFrame/Pagination/index.js +7 -1
  534. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +45 -0
  535. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +14 -0
  536. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +439 -0
  537. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +11 -0
  538. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +9 -0
  539. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.js +181 -0
  540. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.js +64 -0
  541. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.js +57 -0
  542. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +88 -0
  543. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.js +85 -0
  544. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +220 -0
  545. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.less +339 -0
  546. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
  547. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.js +153 -0
  548. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +32 -0
  549. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +181 -0
  550. package/lib/components/pisellRecordBoard/shellFrame/Search/index.js +1 -1
  551. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -1
  552. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +30 -3
  553. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +170 -81
  554. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +14 -0
  555. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +63 -0
  556. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +406 -14
  557. package/lib/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +14 -4
  558. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +9 -2
  559. package/lib/components/pisellRecordBoard/shellFrame/index.js +73 -19
  560. package/lib/components/pisellRecordBoard/types.d.ts +413 -8
  561. package/lib/components/pisellRecordBoard/types.js +12 -0
  562. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +16 -0
  563. package/lib/components/pisellRecordBoard/utils/recordBoardPhoneGrid.d.ts +22 -0
  564. package/lib/components/pisellRecordBoard/utils/recordBoardPhoneGrid.js +50 -0
  565. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.js +67 -15
  566. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.less +23 -0
  567. package/lib/components/pisellReservationSchedule/locales.js +21 -3
  568. package/lib/components/pisellReservationSchedule/types.d.ts +5 -0
  569. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +11 -6
  570. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +37 -4
  571. package/lib/components/pisellReservationScheduleBand/index.d.ts +2 -1
  572. package/lib/components/pisellReservationScheduleBand/types.d.ts +13 -2
  573. package/lib/components/pisellReservationScheduleBand/utils/formatScheduleAtLabel.d.ts +13 -0
  574. package/lib/components/pisellReservationScheduleBand/utils/formatScheduleAtLabel.js +17 -0
  575. package/lib/components/pisellShellFrame/PisellShellFrame.js +2 -2
  576. package/lib/components/pisellShellFrame/PisellShellFrame.less +18 -2
  577. package/lib/components/pisellShellFrame/types.d.ts +6 -0
  578. package/lib/components/pisellSingleLineText/PisellSingleLineText.js +14 -21
  579. package/lib/components/pisellSingleLineText/PisellSingleLineText.less +143 -0
  580. package/lib/components/pisellSingleLineText/docs/pisellSingleLineText.md +256 -256
  581. package/lib/components/pisellSingleSelect/PisellSingleSelect.js +4 -7
  582. package/lib/components/pisellSingleSelect/PisellSingleSelect.less +106 -5
  583. package/lib/components/pisellSingleSelect/docs/pisellSingleSelect.md +428 -525
  584. package/lib/components/pisellSort/docs/PisellSort.md +131 -67
  585. package/lib/components/pisellStatisticList/index.js +0 -1
  586. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +226 -57
  587. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +128 -15
  588. package/lib/components/pisellTimeNavigator/components/CursorLayer.js +3 -3
  589. package/lib/components/pisellTimeNavigator/components/GestureLayer.js +12 -3
  590. package/lib/components/pisellTimeNavigator/components/ScaleLayer.js +34 -6
  591. package/lib/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-dev.md +26 -42
  592. package/lib/components/pisellTimeNavigator/docs/pisellTimeNavigator.$tab-test.md +5 -5
  593. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.js +42 -22
  594. package/lib/components/pisellTimeNavigator/index.d.ts +1 -1
  595. package/lib/components/pisellTimeNavigator/types.d.ts +15 -0
  596. package/lib/components/pisellTimeNavigator/utils/index.d.ts +25 -4
  597. package/lib/components/pisellTimeNavigator/utils/index.js +88 -17
  598. package/lib/components/pisellTimeRangeDisplay/docs/pisellTimeRangeDisplay.md +226 -227
  599. package/lib/components/pisellUrl/PisellUrl.js +6 -13
  600. package/lib/components/pisellWalletPassCard/index.js +5 -11
  601. package/lib/components/productCard/cartSkuCard/components/Gift/index.js +36 -0
  602. package/lib/components/productCard/cartSkuCard/components/Gift/index.less +84 -0
  603. package/lib/components/productCard/cartSkuCard/components/Promotion/index.js +25 -0
  604. package/lib/components/productCard/cartSkuCard/components/Promotion/index.less +16 -0
  605. package/lib/components/productCard/cartSkuCard/components/basicInfo/index.js +69 -8
  606. package/lib/components/productCard/cartSkuCard/components/basicInfo/index.less +80 -1
  607. package/lib/components/productCard/cartSkuCard/components/holders/index.js +1 -1
  608. package/lib/components/productCard/cartSkuCard/components/packages/index.js +26 -11
  609. package/lib/components/productCard/cartSkuCard/components/specs/index.js +23 -8
  610. package/lib/components/productCard/cartSkuCard/components/specs/index.less +11 -0
  611. package/lib/components/productCard/cartSkuCard/components/timeRange/index.js +2 -1
  612. package/lib/components/productCard/cartSkuCard/components/weighing/index.js +29 -0
  613. package/lib/components/productCard/cartSkuCard/components/weighing/index.less +25 -0
  614. package/lib/components/productCard/cartSkuCard/index.js +68 -8
  615. package/lib/components/productCard/cartSkuCard/locales.js +40 -5
  616. package/lib/components/productCard/components/Header/DeleteButton/index.js +2 -2
  617. package/lib/components/productCard/components/Header/DeleteButton/index.less +1 -2
  618. package/lib/components/productCard/components/Header/EditButton/index.js +2 -1
  619. package/lib/components/productCard/components/Header/index.less +1 -1
  620. package/lib/components/productCard/components/Time/components/SelectHolder/index.js +2 -3
  621. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.js +5 -5
  622. package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.js +2 -2
  623. package/lib/components/productCard/components/Time/components/SelectResource/index.js +3 -6
  624. package/lib/components/productCard/components/Time/index.js +2 -3
  625. package/lib/components/productCard/index.d.ts +1 -0
  626. package/lib/components/productCard/index.js +2 -0
  627. package/lib/components/productCard/lineItem/BookingLineItem.js +177 -0
  628. package/lib/components/productCard/lineItem/index.js +197 -0
  629. package/lib/components/productCard/lineItem/index.less +195 -0
  630. package/lib/components/productCard/lineItem/locales.js +25 -0
  631. package/lib/components/productCard/status.js +3 -0
  632. package/lib/components/productCard/types.d.ts +10 -0
  633. package/lib/components/productCard/utils.js +1 -1
  634. package/lib/components/select/index.js +1 -1
  635. package/lib/components/select-time/index.js +1 -0
  636. package/lib/components/table/Actions/component/ExportImport/index.js +4 -3
  637. package/lib/components/table/Actions/component/GallerySetting/index.js +11 -12
  638. package/lib/components/table/Actions/component/ViewMode/index.js +5 -6
  639. package/lib/components/table/Actions/index.js +1 -1
  640. package/lib/components/table/BasicTable/index.js +2 -2
  641. package/lib/components/table/Gallery/components/GalleryItem/components/Title/index.less +1 -1
  642. package/lib/components/table/Gallery/components/GalleryItem/index.js +9 -17
  643. package/lib/components/table/Gallery/components/GalleryItem/index.less +0 -1
  644. package/lib/components/table/Gallery/index.js +3 -11
  645. package/lib/components/table/Table/fields/text/Show/index.js +1 -1
  646. package/lib/components/table/Table/index.js +1 -2
  647. package/lib/components/table/Table/tableConfig/header/index.js +2 -2
  648. package/lib/components/table/Table/utils.js +1 -5
  649. package/lib/components/table/hooks/useTableSetting.js +0 -3
  650. package/lib/components/table/hooks/useTransDataSource.js +3 -4
  651. package/lib/components/table/index.js +1 -1
  652. package/lib/components/tabs/index.less +1 -1
  653. package/lib/components/translation/index.d.ts +0 -1
  654. package/lib/components/translation/index.js +9 -35
  655. package/lib/components/translation/index.less +0 -12
  656. package/lib/components/versionModal/index.d.ts +0 -1
  657. package/lib/components/versionModal/index.js +2 -2
  658. package/lib/components/versionSelect/index.js +4 -4
  659. package/lib/components/virtual-keyboard/Amount/index.js +4 -4
  660. package/lib/index.d.ts +101 -106
  661. package/lib/index.js +314 -298
  662. package/lib/locales/en-US.js +195 -70
  663. package/lib/locales/ja.js +196 -13
  664. package/lib/locales/pt.js +196 -13
  665. package/lib/locales/zh-CN.js +189 -64
  666. package/lib/locales/zh-TW.js +194 -69
  667. package/lib/pisell-materials.tw.css +0 -1
  668. package/lib/tailwind-input.css +3 -1
  669. package/package.json +1 -1
  670. package/es/components/PisellContactBrief/PisellContactBrief.d.ts +0 -34
  671. package/es/components/PisellContactBrief/PisellContactBrief.js +0 -156
  672. package/es/components/PisellContactBrief/PisellContactBrief.less +0 -192
  673. package/es/components/PisellContactBrief/components/ContactFormModal.js +0 -140
  674. package/es/components/PisellContactBrief/docs/PisellContactBrief.$tab-design.md +0 -109
  675. package/es/components/PisellContactBrief/docs/PisellContactBrief.$tab-dev.md +0 -106
  676. package/es/components/PisellContactBrief/docs/PisellContactBrief.$tab-test.md +0 -125
  677. package/es/components/PisellContactBrief/docs/PisellContactBrief.md +0 -129
  678. package/es/components/PisellContactBrief/index.d.ts +0 -2
  679. package/es/components/PisellContactBrief/locales.js +0 -57
  680. package/es/components/PisellContactBrief/types.d.ts +0 -86
  681. package/es/components/Template/[ComponentName].less +0 -1
  682. package/es/components/Template/docs/[ComponentName].$tab-design.md +0 -7
  683. package/es/components/Template/docs/[ComponentName].$tab-dev.md +0 -1137
  684. package/es/components/Template/docs/[ComponentName].$tab-test.md +0 -7
  685. package/es/components/Template/docs/[ComponentName].md +0 -510
  686. package/es/components/hardwareErrorTip/errorCard/index.d.ts +0 -25
  687. package/es/components/hardwareErrorTip/errorCard/index.js +0 -68
  688. package/es/components/hardwareErrorTip/errorCard/index.less +0 -137
  689. package/es/components/hardwareErrorTip/errorTipStatistics/index.d.ts +0 -10
  690. package/es/components/hardwareErrorTip/errorTipStatistics/index.js +0 -31
  691. package/es/components/hardwareErrorTip/errorTipStatistics/index.less +0 -34
  692. package/es/components/hardwareErrorTip/index.d.ts +0 -20
  693. package/es/components/hardwareErrorTip/index.js +0 -151
  694. package/es/components/hardwareErrorTip/index.less +0 -95
  695. package/es/components/hardwareErrorTip/logCard/index.d.ts +0 -25
  696. package/es/components/hardwareErrorTip/logCard/index.js +0 -72
  697. package/es/components/hardwareErrorTip/logCard/index.less +0 -121
  698. package/es/components/hardwareErrorTip/readme.md +0 -309
  699. package/es/components/hardwareErrorTip/types.js +0 -54
  700. package/es/components/pisellActionPanel/PisellActionPanel.d.ts +0 -24
  701. package/es/components/pisellActionPanel/PisellActionPanel.js +0 -68
  702. package/es/components/pisellActionPanel/PisellActionPanel.less +0 -69
  703. package/es/components/pisellActionPanel/docs/pisellActionPanel.$tab-design.md +0 -148
  704. package/es/components/pisellActionPanel/docs/pisellActionPanel.$tab-dev.md +0 -53
  705. package/es/components/pisellActionPanel/docs/pisellActionPanel.$tab-test.md +0 -64
  706. package/es/components/pisellActionPanel/docs/pisellActionPanel.md +0 -160
  707. package/es/components/pisellActionPanel/index.d.ts +0 -2
  708. package/es/components/pisellActionPanel/types.d.ts +0 -87
  709. package/es/components/pisellBaseCard/PisellBaseCard.d.ts +0 -20
  710. package/es/components/pisellBaseCard/PisellBaseCard.js +0 -73
  711. package/es/components/pisellBaseCard/PisellBaseCard.less +0 -25
  712. package/es/components/pisellBaseCard/docs/pisellBaseCard.$tab-design.md +0 -144
  713. package/es/components/pisellBaseCard/docs/pisellBaseCard.$tab-dev.md +0 -92
  714. package/es/components/pisellBaseCard/docs/pisellBaseCard.$tab-test.md +0 -86
  715. package/es/components/pisellBaseCard/docs/pisellBaseCard.md +0 -165
  716. package/es/components/pisellBaseCard/index.d.ts +0 -2
  717. package/es/components/pisellBaseCard/types.d.ts +0 -49
  718. package/es/components/pisellCustomerBrief/PisellCustomerBrief.d.ts +0 -57
  719. package/es/components/pisellCustomerBrief/PisellCustomerBrief.js +0 -92
  720. package/es/components/pisellCustomerBrief/PisellCustomerBrief.less +0 -8
  721. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-design.md +0 -115
  722. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-dev.md +0 -73
  723. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-test.md +0 -66
  724. package/es/components/pisellCustomerBrief/docs/pisellCustomerBrief.md +0 -132
  725. package/es/components/pisellCustomerBrief/index.d.ts +0 -2
  726. package/es/components/pisellCustomerBrief/types.d.ts +0 -86
  727. package/es/components/pisellEntityCard/PisellEntityCard.d.ts +0 -47
  728. package/es/components/pisellEntityCard/PisellEntityCard.js +0 -315
  729. package/es/components/pisellEntityCard/PisellEntityCard.less +0 -362
  730. package/es/components/pisellEntityCard/docs/pisellEntityCard.$tab-design.md +0 -209
  731. package/es/components/pisellEntityCard/docs/pisellEntityCard.$tab-dev.md +0 -82
  732. package/es/components/pisellEntityCard/docs/pisellEntityCard.$tab-test.md +0 -122
  733. package/es/components/pisellEntityCard/docs/pisellEntityCard.md +0 -176
  734. package/es/components/pisellEntityCard/index.d.ts +0 -2
  735. package/es/components/pisellEntityCard/types.d.ts +0 -148
  736. package/es/components/pisellExport/PisellExport.d.ts +0 -11
  737. package/es/components/pisellExport/PisellExport.js +0 -44
  738. package/es/components/pisellExport/PisellExport.less +0 -141
  739. package/es/components/pisellExport/docs/pisellExport.$tab-design.md +0 -116
  740. package/es/components/pisellExport/docs/pisellExport.$tab-dev.md +0 -132
  741. package/es/components/pisellExport/docs/pisellExport.$tab-test.md +0 -61
  742. package/es/components/pisellExport/docs/pisellExport.md +0 -162
  743. package/es/components/pisellExport/index.d.ts +0 -2
  744. package/es/components/pisellExport/types.d.ts +0 -67
  745. package/es/components/pisellImport/PisellImport.d.ts +0 -11
  746. package/es/components/pisellImport/PisellImport.js +0 -81
  747. package/es/components/pisellImport/PisellImport.less +0 -141
  748. package/es/components/pisellImport/docs/pisellImport.$tab-design.md +0 -121
  749. package/es/components/pisellImport/docs/pisellImport.$tab-dev.md +0 -137
  750. package/es/components/pisellImport/docs/pisellImport.$tab-test.md +0 -69
  751. package/es/components/pisellImport/docs/pisellImport.md +0 -174
  752. package/es/components/pisellImport/index.d.ts +0 -2
  753. package/es/components/pisellImport/types.d.ts +0 -89
  754. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +0 -3811
  755. package/es/components/productCard/components/Header/Actions/index.less +0 -15
  756. package/es/theme/pisell-components.js +0 -76
  757. package/lib/components/PisellContactBrief/PisellContactBrief.d.ts +0 -34
  758. package/lib/components/PisellContactBrief/PisellContactBrief.js +0 -158
  759. package/lib/components/PisellContactBrief/PisellContactBrief.less +0 -192
  760. package/lib/components/PisellContactBrief/components/ContactFormModal.js +0 -139
  761. package/lib/components/PisellContactBrief/docs/PisellContactBrief.$tab-design.md +0 -109
  762. package/lib/components/PisellContactBrief/docs/PisellContactBrief.$tab-dev.md +0 -106
  763. package/lib/components/PisellContactBrief/docs/PisellContactBrief.$tab-test.md +0 -125
  764. package/lib/components/PisellContactBrief/docs/PisellContactBrief.md +0 -129
  765. package/lib/components/PisellContactBrief/index.d.ts +0 -2
  766. package/lib/components/PisellContactBrief/locales.js +0 -57
  767. package/lib/components/PisellContactBrief/types.d.ts +0 -86
  768. package/lib/components/Template/[ComponentName].less +0 -1
  769. package/lib/components/Template/docs/[ComponentName].$tab-design.md +0 -7
  770. package/lib/components/Template/docs/[ComponentName].$tab-dev.md +0 -1137
  771. package/lib/components/Template/docs/[ComponentName].$tab-test.md +0 -7
  772. package/lib/components/Template/docs/[ComponentName].md +0 -510
  773. package/lib/components/hardwareErrorTip/errorCard/index.d.ts +0 -25
  774. package/lib/components/hardwareErrorTip/errorCard/index.js +0 -71
  775. package/lib/components/hardwareErrorTip/errorCard/index.less +0 -137
  776. package/lib/components/hardwareErrorTip/errorTipStatistics/index.d.ts +0 -10
  777. package/lib/components/hardwareErrorTip/errorTipStatistics/index.js +0 -34
  778. package/lib/components/hardwareErrorTip/errorTipStatistics/index.less +0 -34
  779. package/lib/components/hardwareErrorTip/index.d.ts +0 -20
  780. package/lib/components/hardwareErrorTip/index.js +0 -153
  781. package/lib/components/hardwareErrorTip/index.less +0 -95
  782. package/lib/components/hardwareErrorTip/logCard/index.d.ts +0 -25
  783. package/lib/components/hardwareErrorTip/logCard/index.js +0 -75
  784. package/lib/components/hardwareErrorTip/logCard/index.less +0 -121
  785. package/lib/components/hardwareErrorTip/readme.md +0 -309
  786. package/lib/components/hardwareErrorTip/types.js +0 -57
  787. package/lib/components/pisellActionPanel/PisellActionPanel.d.ts +0 -24
  788. package/lib/components/pisellActionPanel/PisellActionPanel.js +0 -71
  789. package/lib/components/pisellActionPanel/PisellActionPanel.less +0 -69
  790. package/lib/components/pisellActionPanel/docs/pisellActionPanel.$tab-design.md +0 -148
  791. package/lib/components/pisellActionPanel/docs/pisellActionPanel.$tab-dev.md +0 -53
  792. package/lib/components/pisellActionPanel/docs/pisellActionPanel.$tab-test.md +0 -64
  793. package/lib/components/pisellActionPanel/docs/pisellActionPanel.md +0 -160
  794. package/lib/components/pisellActionPanel/index.d.ts +0 -2
  795. package/lib/components/pisellActionPanel/types.d.ts +0 -87
  796. package/lib/components/pisellBaseCard/PisellBaseCard.d.ts +0 -20
  797. package/lib/components/pisellBaseCard/PisellBaseCard.js +0 -76
  798. package/lib/components/pisellBaseCard/PisellBaseCard.less +0 -25
  799. package/lib/components/pisellBaseCard/docs/pisellBaseCard.$tab-design.md +0 -144
  800. package/lib/components/pisellBaseCard/docs/pisellBaseCard.$tab-dev.md +0 -92
  801. package/lib/components/pisellBaseCard/docs/pisellBaseCard.$tab-test.md +0 -86
  802. package/lib/components/pisellBaseCard/docs/pisellBaseCard.md +0 -165
  803. package/lib/components/pisellBaseCard/index.d.ts +0 -2
  804. package/lib/components/pisellBaseCard/types.d.ts +0 -49
  805. package/lib/components/pisellCustomerBrief/PisellCustomerBrief.d.ts +0 -57
  806. package/lib/components/pisellCustomerBrief/PisellCustomerBrief.js +0 -94
  807. package/lib/components/pisellCustomerBrief/PisellCustomerBrief.less +0 -8
  808. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-design.md +0 -115
  809. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-dev.md +0 -73
  810. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.$tab-test.md +0 -66
  811. package/lib/components/pisellCustomerBrief/docs/pisellCustomerBrief.md +0 -132
  812. package/lib/components/pisellCustomerBrief/index.d.ts +0 -2
  813. package/lib/components/pisellCustomerBrief/types.d.ts +0 -86
  814. package/lib/components/pisellEntityCard/PisellEntityCard.d.ts +0 -47
  815. package/lib/components/pisellEntityCard/PisellEntityCard.js +0 -318
  816. package/lib/components/pisellEntityCard/PisellEntityCard.less +0 -362
  817. package/lib/components/pisellEntityCard/docs/pisellEntityCard.$tab-design.md +0 -209
  818. package/lib/components/pisellEntityCard/docs/pisellEntityCard.$tab-dev.md +0 -82
  819. package/lib/components/pisellEntityCard/docs/pisellEntityCard.$tab-test.md +0 -122
  820. package/lib/components/pisellEntityCard/docs/pisellEntityCard.md +0 -176
  821. package/lib/components/pisellEntityCard/index.d.ts +0 -2
  822. package/lib/components/pisellEntityCard/types.d.ts +0 -148
  823. package/lib/components/pisellExport/PisellExport.d.ts +0 -11
  824. package/lib/components/pisellExport/PisellExport.js +0 -47
  825. package/lib/components/pisellExport/PisellExport.less +0 -141
  826. package/lib/components/pisellExport/docs/pisellExport.$tab-design.md +0 -116
  827. package/lib/components/pisellExport/docs/pisellExport.$tab-dev.md +0 -132
  828. package/lib/components/pisellExport/docs/pisellExport.$tab-test.md +0 -61
  829. package/lib/components/pisellExport/docs/pisellExport.md +0 -162
  830. package/lib/components/pisellExport/index.d.ts +0 -2
  831. package/lib/components/pisellExport/types.d.ts +0 -67
  832. package/lib/components/pisellImport/PisellImport.d.ts +0 -11
  833. package/lib/components/pisellImport/PisellImport.js +0 -84
  834. package/lib/components/pisellImport/PisellImport.less +0 -141
  835. package/lib/components/pisellImport/docs/pisellImport.$tab-design.md +0 -121
  836. package/lib/components/pisellImport/docs/pisellImport.$tab-dev.md +0 -137
  837. package/lib/components/pisellImport/docs/pisellImport.$tab-test.md +0 -69
  838. package/lib/components/pisellImport/docs/pisellImport.md +0 -174
  839. package/lib/components/pisellImport/index.d.ts +0 -2
  840. package/lib/components/pisellImport/types.d.ts +0 -89
  841. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +0 -3813
  842. package/lib/components/productCard/components/Header/Actions/index.less +0 -15
  843. package/lib/theme/pisell-components.js +0 -76
  844. /package/es/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.$tab-design.md +0 -0
  845. /package/es/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.$tab-dev.md +0 -0
  846. /package/es/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.$tab-test.md +0 -0
  847. /package/lib/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.$tab-design.md +0 -0
  848. /package/lib/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.$tab-dev.md +0 -0
  849. /package/lib/components/pisellQuickFilter/{doc → docs}/PisellQuickFilter.$tab-test.md +0 -0
@@ -4,24 +4,28 @@ import ItemLayer from "./components/ItemLayer.js";
4
4
  import EditableItemLayer from "./components/EditableItemLayer.js";
5
5
  import { getElementKindConfig, getSceneElementRenderIssue } from "./utils/floorMapElementKindUtils.js";
6
6
  import { isFloorMapPaletteDrag, parsePaletteDragPayload, sceneXYFromContentDropOffset } from "./utils/floorMapDropUtils.js";
7
+ import { FLOOR_MAP_LAYOUT_CLASS_PREFIX, FLOOR_MAP_OVERVIEW_TAB_ID } from "./floorMapLayoutConstants.js";
7
8
  import FloorMapToolbar from "./components/FloorMapToolbar.js";
8
9
  import useEngineContext from "../../hooks/useEngineContext.js";
9
10
  import { initFloorMapLayoutLocales } from "./utils/floorMapCanvasDisplay.js";
10
11
  import CanvasTabs from "./components/CanvasTabs.js";
11
12
  import FloorMapEditTopBar from "./components/FloorMapEditTopBar.js";
13
+ import { mergeCanvasesForTabs } from "./utils/mergeCanvasesForTabs.js";
14
+ import FloorMapOverview from "./components/FloorMapOverview.js";
12
15
  import FloorMapEditPanel from "./components/FloorMapEditPanel.js";
13
16
  import { ViewControlsWithZoom } from "./components/ViewControlsWithZoom.js";
14
17
  import { gapToPx } from "./utils/layoutMeasurements.js";
15
18
  import { useFloorMapEditState } from "./hooks/useFloorMapEditState.js";
16
19
  import { useFloorMapTransformMetrics } from "./hooks/useFloorMapTransformMetrics.js";
17
20
  import { renderFloorMapFallbackPlaceholder, renderFloorMapRenderError } from "./utils/floorMapFallbackRender.js";
21
+ import { getFloorMapAppearanceTokens } from "./appearance/floorMapAppearance.js";
18
22
  import { useFloorMapPaletteTouchDrag } from "./hooks/useFloorMapPaletteTouchDrag.js";
19
- import { mergeCanvasesForTabs } from "./utils/mergeCanvasesForTabs.js";
23
+ import { buildFloorMapOverviewLayout } from "./utils/floorMapOverviewLayout.js";
20
24
  import { useFloorMapLayoutContext } from "./context/FloorMapLayoutContext.js";
21
25
  import { mergeFloorMapLayoutPropsFromContext } from "./context/mergeFloorMapLayoutContext.js";
22
- import React, { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
26
+ import React, { useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
23
27
  import { locales } from "@pisell/utils";
24
- import { theme } from "antd";
28
+ import { Drawer, theme } from "antd";
25
29
  import classNames from "classnames";
26
30
  import { TransformComponent, TransformWrapper } from "react-zoom-pan-pinch";
27
31
  import "./PisellFloorMapLayout.less";
@@ -30,10 +34,13 @@ import "./PisellFloorMapLayout.less";
30
34
  * PisellFloorMapLayout - 空间布局视图
31
35
  * 支持两种用法:1) 仅传入 items + renderItem(原有用法);2) 传入 floorMapConfig + dataSources + mode 使用平面图视图(含多画布/编辑态)
32
36
  */
33
- const PREFIX = "pisell-floor-map-layout";
37
+ /**
38
+ * 布局根实现(由 {@link PisellFloorMapLayout} forwardRef 包裹)。
39
+ * 负责:上下文与 props 合并、编辑态/阅读态分支、Transform 视口、图元层与工具栏联动。
40
+ */
34
41
  function PisellFloorMapLayoutInner(props, ref) {
35
- var _engineCtx$engine, _config$sceneElements;
36
- const { className, style, items: itemsProp, renderItem, rowKey, renderItemByKind, getMergedItemWrapperStyle, mapLayer, cellSize: cellSizeProp, itemUnit = "cell", zoom = {}, pan = {}, controls = {}, enableHover = true, onItemClick, onItemHover, onItemLeave, mode = "read", floorMapConfig: floorMapConfigProp, dataSources, onSave, onDataSourceRecordSave, dataSourceLabels, dataSourceFormColumns, dataSourceRecordForm, loading, saveError, onElementRenderError, toolbarShowSave = true, floorMapFullscreenMode, showDataSourceRecordFormBlock, floorMapViewportOverlay, viewportOverlayPlacement = "top-start", viewportOverlayClassName, canvasTabsBarTrailing, viewportDockTrailing } = mergeFloorMapLayoutPropsFromContext(props, useFloorMapLayoutContext());
42
+ var _ref, _currentCanvas$mapLay2, _currentCanvas$mapLay3, _mapLayer$backgroundC, _engineCtx$engine, _mapLayer$boundingPad, _config$sceneElements;
43
+ const { className, style, items: itemsProp, renderItem, rowKey, renderItemByKind, getMergedItemWrapperStyle, mapLayer, cellSize: cellSizeProp, itemUnit = "cell", zoom = {}, pan = {}, controls = {}, enableHover = true, readModeSelectedItemId, onItemClick, onItemHover, onItemLeave, mode = "read", floorMapConfig: floorMapConfigProp, dataSources, onSave, onExitEdit, onDataSourceRecordSave, dataSourceLabels, dataSourceFormColumns, dataSourceRecordForm, loading, saveError, onElementRenderError, toolbarShowSave = true, floorMapFullscreenMode, appearanceMode = "light", showDataSourceRecordFormBlock, floorMapViewportOverlay, viewportOverlayPlacement = "top-start", viewportOverlayClassName, editTopBarPhoneLayout = false, canvasTabsBarTrailing, viewportDockToolButtons, viewportDockTrailing, viewportPersist = true, viewportPersistNamespace } = mergeFloorMapLayoutPropsFromContext(props, useFloorMapLayoutContext());
37
44
  const { token } = theme.useToken();
38
45
  const isFloorMapView = Boolean(floorMapConfigProp);
39
46
  const contentOffsetRef = useRef({
@@ -42,7 +49,7 @@ function PisellFloorMapLayoutInner(props, ref) {
42
49
  });
43
50
  const mapDropLayerRef = useRef(null);
44
51
  const transformRef = useRef(null);
45
- const { config, currentCanvasId, setCurrentCanvasId, selectedId, setSelectedId, placeMode, setPlaceMode, items, saving, savingRecord, handleAddCanvas, handleRemoveCanvas, handleRenameCanvas, handleUpdateItem, handleCanvasPlaceClick, handleSave, placeSceneElementFromPaletteDrop, editPanelParams, placeOverlayClass, isLayoutDirty, toggleDraftCanvasShowGrid, toggleSelectedLayoutLock, duplicateSelectedElement, deleteSelectedElement } = useFloorMapEditState({
52
+ const { config, currentCanvasId, setCurrentCanvasId, selectedId, setSelectedId, placeMode, setPlaceMode, items, saving, savingRecord, handleAddCanvas, handleRemoveCanvas, handleRenameCanvas, handleUpdateItem, handleCanvasPlaceClick, handleSave, placeSceneElementFromPaletteDrop, editPanelParams, placeOverlayClass, isLayoutDirty, toggleDraftCanvasShowGrid, toggleSelectedLayoutLock, duplicateSelectedElement, deleteSelectedElement, undoDraft, redoDraft, canUndo, canRedo, discardDraft } = useFloorMapEditState({
46
53
  floorMapConfigProp,
47
54
  isFloorMapView,
48
55
  itemsProp,
@@ -53,42 +60,130 @@ function PisellFloorMapLayoutInner(props, ref) {
53
60
  dataSourceFormColumns,
54
61
  dataSourceRecordForm,
55
62
  dataSourceLabels,
56
- layoutPrefix: PREFIX,
63
+ layoutPrefix: FLOOR_MAP_LAYOUT_CLASS_PREFIX,
57
64
  contentOffsetRef,
58
65
  showDataSourceRecordFormBlock
59
66
  });
60
- const effectiveMapLayer = useMemo(() => {
61
- var _canvas$mapLayer;
62
- if (!isFloorMapView || !config || !currentCanvasId) return mapLayer;
63
- const canvas = config.canvases.find((c) => c.id === currentCanvasId);
64
- return _objectSpread2(_objectSpread2({}, mapLayer !== null && mapLayer !== void 0 ? mapLayer : {}), (_canvas$mapLayer = canvas === null || canvas === void 0 ? void 0 : canvas.mapLayer) !== null && _canvas$mapLayer !== void 0 ? _canvas$mapLayer : {});
67
+ /**
68
+ * 当前选中的画布配置:用于提取当前画布级 mapLayer 显式配置。
69
+ */
70
+ const currentCanvas = useMemo(() => {
71
+ var _config$canvases$find;
72
+ if (!isFloorMapView || !config || !currentCanvasId) return null;
73
+ return (_config$canvases$find = config.canvases.find((canvas) => canvas.id === currentCanvasId)) !== null && _config$canvases$find !== void 0 ? _config$canvases$find : null;
65
74
  }, [
66
75
  isFloorMapView,
67
76
  config,
68
- currentCanvasId,
77
+ currentCanvasId
78
+ ]);
79
+ /**
80
+ * 「取消编辑」组合:先丢弃 draft(同步把 draftConfig replace 回上游 props 的值),
81
+ * 再调用业务侧 onExitEdit 退出编辑模式。
82
+ *
83
+ * 不在 onExitEdit 本身做 discard,是因为「完成」按钮链路也会调 onExitEdit,
84
+ * 完成时草稿应保留等 props 回写(参考 useFloorMapEditState.handleSave 的 baseline 处理),
85
+ * 一旦在 onExitEdit 里 discard 会把保存中的视觉态闪回旧值。
86
+ */
87
+ const handleCancelEdit = useCallback(() => {
88
+ discardDraft();
89
+ onExitEdit === null || onExitEdit === void 0 || onExitEdit();
90
+ }, [discardDraft, onExitEdit]);
91
+ /** 当前画布下的 mapLayer:全局 `mapLayer` 与画布级配置合并,供 MapLayer / 吸附等读取 */
92
+ const effectiveMapLayer = useMemo(() => {
93
+ var _currentCanvas$mapLay;
94
+ if (!isFloorMapView || !currentCanvas) return mapLayer;
95
+ return _objectSpread2(_objectSpread2({}, mapLayer !== null && mapLayer !== void 0 ? mapLayer : {}), (_currentCanvas$mapLay = currentCanvas.mapLayer) !== null && _currentCanvas$mapLay !== void 0 ? _currentCanvas$mapLay : {});
96
+ }, [
97
+ isFloorMapView,
98
+ currentCanvas,
69
99
  mapLayer
70
100
  ]);
101
+ const appearanceTokens = useMemo(() => getFloorMapAppearanceTokens(appearanceMode), [appearanceMode]);
102
+ const canvasBackgroundColor = (_ref = (_currentCanvas$mapLay2 = currentCanvas === null || currentCanvas === void 0 || (_currentCanvas$mapLay3 = currentCanvas.mapLayer) === null || _currentCanvas$mapLay3 === void 0 ? void 0 : _currentCanvas$mapLay3.backgroundColor) !== null && _currentCanvas$mapLay2 !== void 0 ? _currentCanvas$mapLay2 : mapLayer === null || mapLayer === void 0 ? void 0 : mapLayer.backgroundColor) !== null && _ref !== void 0 ? _ref : appearanceTokens.fallbackCanvasBackgroundColor;
103
+ /**
104
+ * All 视图整体背景色:不再按各画布区域分别取色(用户明确要求「不要按区域来」),
105
+ * 改成跟单画布同一套**根级 + appearance 兜底**链。这样:
106
+ * - root `mapLayer.backgroundColor` 配的深色背景,All 视图整张背景都吃到;
107
+ * - 没显式配色时按 `appearanceMode`(dark/light)兜底;
108
+ * - 画布级的 `canvas.mapLayer.backgroundColor` 在 All 视图刻意不读,避免某张画布
109
+ * 的私有背景污染整体 All 视图。
110
+ */
111
+ const overviewBackgroundColor = (_mapLayer$backgroundC = mapLayer === null || mapLayer === void 0 ? void 0 : mapLayer.backgroundColor) !== null && _mapLayer$backgroundC !== void 0 ? _mapLayer$backgroundC : appearanceTokens.fallbackCanvasBackgroundColor;
71
112
  /**
72
113
  * 必须与下方 TransformWrapper 的 `key` 完全一致。
73
114
  * 远程/合并配置落地后 boundingPadding 等会变 → Wrapper 重挂载 → 若 autoFit 仍按旧「仅 canvasId」帧认为已 done,首屏会停在初始 transform;切换画布才因 id 变化再次 fit。
74
115
  */
116
+ /**
117
+ * 「全览」状态:仅阅读态下、启用画布 ≥ 2 时通过画布 Tab 最前的「All」入口进入。
118
+ * 不写入 `currentCanvasId`,避免:
119
+ * - useFloorMapEditState 内的「画布存在性同步」effect 把当前 id 立刻 reset 掉;
120
+ * - 触发 transformWrapperKey 变化导致单画布视角缓存被清。
121
+ * 仅由本组件根据 mode/画布数量切换;外部不感知。
122
+ */
123
+ const [isOverview, setIsOverview] = useState(false);
124
+ /**
125
+ * 与下方 TransformWrapper `key` 完全一致;远程合并 padding/默认缩放回包后变化触发重挂载,
126
+ * 单画布 ↔ 全览(All)切换也通过本 key 切换,避免视角与缓存交叉污染。
127
+ */
75
128
  const transformWrapperKey = useMemo(() => {
76
- var _effectiveMapLayer$bo, _zoom$defaultScale;
129
+ var _ref2, _zoom$defaultScale;
77
130
  if (!isFloorMapView) return "fmap-layout";
78
- const bp = (_effectiveMapLayer$bo = effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.boundingPadding) !== null && _effectiveMapLayer$bo !== void 0 ? _effectiveMapLayer$bo : "d";
131
+ const bp = (_ref2 = isOverview ? mapLayer === null || mapLayer === void 0 ? void 0 : mapLayer.boundingPadding : effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.boundingPadding) !== null && _ref2 !== void 0 ? _ref2 : "d";
79
132
  const z = (_zoom$defaultScale = zoom.defaultScale) !== null && _zoom$defaultScale !== void 0 ? _zoom$defaultScale : 1;
133
+ if (isOverview) return `fmap-overview-bp${bp}-z${z}`;
80
134
  return `fmap-${currentCanvasId !== null && currentCanvasId !== void 0 ? currentCanvasId : "na"}-bp${bp}-z${z}`;
81
135
  }, [
82
136
  isFloorMapView,
137
+ isOverview,
83
138
  currentCanvasId,
84
139
  effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.boundingPadding,
140
+ mapLayer === null || mapLayer === void 0 ? void 0 : mapLayer.boundingPadding,
85
141
  zoom.defaultScale
86
142
  ]);
87
- const canvasesForTabs = useMemo(() => config ? mergeCanvasesForTabs(config) : [], [config]);
143
+ /** 供顶栏 Tab 使用:合并草稿画布等后的画布列表(基础列表,不含「全览」) */
144
+ const canvasesForTabsBase = useMemo(() => config ? mergeCanvasesForTabs(config) : [], [config]);
88
145
  const engineCtx = useEngineContext();
89
146
  const engineLocale = (engineCtx === null || engineCtx === void 0 || (_engineCtx$engine = engineCtx.engine) === null || _engineCtx$engine === void 0 || (_engineCtx$engine = _engineCtx$engine.props) === null || _engineCtx$engine === void 0 ? void 0 : _engineCtx$engine.locale) || "zh-CN";
90
147
  const hasCanvasTabsBarTrailing = canvasTabsBarTrailing != null && canvasTabsBarTrailing !== false;
91
- const enabledCanvasCount = useMemo(() => canvasesForTabs.filter((c) => c.enabled).length, [canvasesForTabs]);
148
+ const enabledCanvasCount = useMemo(() => canvasesForTabsBase.filter((c) => c.enabled).length, [canvasesForTabsBase]);
149
+ /** 仅阅读态、启用画布 > 1 时,在 Tab 列表最前插入「All」伪 tab */
150
+ const showOverviewTab = isFloorMapView && mode === "read" && enabledCanvasCount > 1;
151
+ const overviewTabLabel = useMemo(() => {
152
+ initFloorMapLayoutLocales(engineLocale);
153
+ return locales.getText("pisell-floor-map-layout.canvas-tabs.overview");
154
+ }, [engineLocale]);
155
+ /**
156
+ * 给 CanvasTabs 渲染用的最终列表:阅读态多画布时在列表最前插入「All」伪 tab。
157
+ * order 取当前最小 order - 1,保证排序后位于第一个;其它字段留空。
158
+ */
159
+ const canvasesForTabs = useMemo(() => {
160
+ if (!showOverviewTab) return canvasesForTabsBase;
161
+ const minOrder = canvasesForTabsBase.reduce((min, c) => c.order < min ? c.order : min, Number.POSITIVE_INFINITY);
162
+ return [{
163
+ id: FLOOR_MAP_OVERVIEW_TAB_ID,
164
+ name: overviewTabLabel,
165
+ order: Number.isFinite(minOrder) ? minOrder - 1 : -1,
166
+ enabled: true
167
+ }, ...canvasesForTabsBase];
168
+ }, [
169
+ canvasesForTabsBase,
170
+ showOverviewTab,
171
+ overviewTabLabel
172
+ ]);
173
+ /** 编辑态强制退出全览(多画布编辑流程不应进入只读全览界面) */
174
+ useEffect(() => {
175
+ if (mode !== "read") {
176
+ if (isOverview) setIsOverview(false);
177
+ return;
178
+ }
179
+ /** 阅读态下若启用画布回落到 1 张以内,全览 Tab 已不再展示,需自动退出 */
180
+ if (isOverview && enabledCanvasCount <= 1) setIsOverview(false);
181
+ }, [
182
+ mode,
183
+ isOverview,
184
+ enabledCanvasCount
185
+ ]);
186
+ /** 阅读态是否展示画布 Tab:多启用画布或配置了 `canvasTabsBarTrailing` 时出现 */
92
187
  const showReadModeCanvasTabsBar = useMemo(() => {
93
188
  if (!isFloorMapView || mode !== "read" || !config) return false;
94
189
  if (hasCanvasTabsBarTrailing) return true;
@@ -100,12 +195,12 @@ function PisellFloorMapLayoutInner(props, ref) {
100
195
  hasCanvasTabsBarTrailing,
101
196
  enabledCanvasCount
102
197
  ]);
198
+ /** 阅读态画布 Tab 工具条的无障碍标签(随引擎语言初始化文案) */
103
199
  const readCanvasTabsAriaLabel = useMemo(() => {
104
200
  initFloorMapLayoutLocales(engineLocale);
105
201
  return locales.getText("pisell-floor-map-layout.read-canvas-tabs.aria");
106
202
  }, [engineLocale]);
107
- /** 编辑态始终保留顶栏 Tab(单画布也要能「添加画布」);仅阅读态在单画布时可隐藏 Tab 行 */
108
- const showEditCompactTopBar = isFloorMapView && mode === "edit" && Boolean(config) && !useFullTopChrome;
203
+ /** 加载遮罩上的文案 */
109
204
  const loadingLabel = useMemo(() => {
110
205
  initFloorMapLayoutLocales(engineLocale);
111
206
  return locales.getText("pisell-floor-map-layout.loading");
@@ -145,42 +240,205 @@ function PisellFloorMapLayoutInner(props, ref) {
145
240
  deleteSelectedElement
146
241
  ]);
147
242
  const cellSize = cellSizeProp !== null && cellSizeProp !== void 0 ? cellSizeProp : 64;
243
+ /** 图元间距(像素):由 mapLayer.gap 解析 */
148
244
  const itemGap = useMemo(() => gapToPx(effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.gap), [effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.gap]);
245
+ /** 平面图坐标始终按像素;非平面图沿用 props `itemUnit` */
149
246
  const effectiveItemUnit = isFloorMapView ? "pixel" : itemUnit;
150
- const { containerRef, mapAreaRef, mapAreaSize, contentWidth, contentHeight, contentOffsetX, contentOffsetY, initialPositionX, initialPositionY, zoomConfig, scale, setScale, isFullscreen, toggleFullscreen, fitBounds, lastTransformRef, isInteractingWithElement, setIsInteractingWithElement } = useFloorMapTransformMetrics({
151
- items,
247
+ /**
248
+ * 「全览」视图布局:把所有启用画布按各自原始尺寸(同一比例尺)紧凑装箱,
249
+ * 主 TransformWrapper 用整体 totalWidth/Height 作为 stage 尺寸,
250
+ * FloorMapOverview 按 areas[].x/y 把对应画布的图元绝对定位渲染。
251
+ * 与单画布共用同一套缩放/平移/锁定/全屏/fitBounds。
252
+ */
253
+ const overviewLayout = useMemo(() => {
254
+ if (!isFloorMapView || !isOverview || !config) return null;
255
+ return buildFloorMapOverviewLayout({
256
+ config,
257
+ globalMapLayer: mapLayer,
258
+ cellSize,
259
+ itemUnit: effectiveItemUnit,
260
+ areaGap: 32
261
+ });
262
+ }, [
263
+ isFloorMapView,
264
+ isOverview,
265
+ config,
266
+ mapLayer,
267
+ cellSize,
268
+ effectiveItemUnit
269
+ ]);
270
+ /**
271
+ * 视口持久化 key:
272
+ * - 仅平面图模式启用(其它模式没有「画布」概念)
273
+ * - `viewportPersist === false` 或无 currentCanvasId 时关闭
274
+ * - 有 namespace 时拼成 `${ns}:${canvasId}`,隔离不同业务场景(店铺 / 平面图)
275
+ * - 未传 namespace 时 fallback 为仅 `${canvasId}`,小心跨场景可能共享视角
276
+ * - 不感知 boundingPadding / defaultScale 等渲染参数变化,避免 padding 调整导致缓存失效
277
+ * - 「全览」模式使用独立的 `__overview__` key,与单画布缓存互不影响
278
+ */
279
+ const viewportPersistKey = useMemo(() => {
280
+ if (viewportPersist === false) return void 0;
281
+ if (!isFloorMapView) return void 0;
282
+ if (isOverview) return viewportPersistNamespace ? `${viewportPersistNamespace}:__overview__` : "__overview__";
283
+ if (!currentCanvasId) return void 0;
284
+ return viewportPersistNamespace ? `${viewportPersistNamespace}:${currentCanvasId}` : currentCanvasId;
285
+ }, [
286
+ viewportPersist,
287
+ viewportPersistNamespace,
288
+ isFloorMapView,
289
+ isOverview,
290
+ currentCanvasId
291
+ ]);
292
+ /**
293
+ * 全览模式下喂给 metrics 的虚拟 item:让 stage / fitBounds 把整体当作一张
294
+ * 0,0,totalWidth,totalHeight 的大图元处理;不参与渲染(渲染走 FloorMapOverview)。
295
+ * 类型上仅需 FloorMapItemBase,metrics 内部不读 `_sceneElement` 等扩展字段。
296
+ */
297
+ const overviewMetricsItems = useMemo(() => {
298
+ if (!overviewLayout) return [];
299
+ return [{
300
+ id: "__pisell_floor_map_overview_stage__",
301
+ x: 0,
302
+ y: 0,
303
+ width: overviewLayout.totalWidth,
304
+ height: overviewLayout.totalHeight,
305
+ shape: "rect"
306
+ }];
307
+ }, [overviewLayout]);
308
+ const { containerRef, mapAreaRef, mapAreaSize, contentWidth, contentHeight, contentOffsetX, contentOffsetY, initialPositionX, initialPositionY, zoomConfig, scale, setScale, isFullscreen, toggleFullscreen, fitBounds, isAtFitBounds, notifyTransformed, persistCurrentViewport, attachTransformContext, isInteractingWithElement, setIsInteractingWithElement, viewportLocked, toggleViewportLocked } = useFloorMapTransformMetrics({
309
+ items: isOverview && overviewLayout ? overviewMetricsItems : items,
152
310
  cellSize,
153
- itemGap,
311
+ itemGap: isOverview ? 0 : itemGap,
154
312
  effectiveItemUnit,
155
313
  isFloorMapView,
156
314
  mode,
157
315
  zoom,
158
316
  transformRef,
159
317
  contentOffsetRef,
160
- boundingPadding: effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.boundingPadding,
161
- frameResetKey: isFloorMapView ? transformWrapperKey : void 0
318
+ boundingPadding: isOverview ? (_mapLayer$boundingPad = mapLayer === null || mapLayer === void 0 ? void 0 : mapLayer.boundingPadding) !== null && _mapLayer$boundingPad !== void 0 ? _mapLayer$boundingPad : 56 : effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.boundingPadding,
319
+ frameResetKey: isFloorMapView ? transformWrapperKey : void 0,
320
+ viewportPersistKey
162
321
  });
163
- /** 编辑态全屏策略:toggle 可切换;locked 始终全屏顶栏且不可在组件内退出;disabled 无全屏按钮 */
322
+ /** 手机:选中图元种类后一键落在当前视口中心(与点击画布落点坐标换算一致) */
323
+ const handlePlaceActiveAtViewportCenter = useCallback(() => {
324
+ if (!placeMode || placeMode.type !== "scene") return;
325
+ const w = mapAreaSize.width;
326
+ const h = mapAreaSize.height;
327
+ if (w <= 0 || h <= 0) return;
328
+ const { x: ox, y: oy } = contentOffsetRef.current;
329
+ placeSceneElementFromPaletteDrop(Math.round(w / 2 - ox), Math.round(h / 2 - oy), placeMode);
330
+ }, [
331
+ placeMode,
332
+ mapAreaSize.width,
333
+ mapAreaSize.height,
334
+ placeSceneElementFromPaletteDrop
335
+ ]);
336
+ /** 编辑态全屏策略:toggle 全屏与编辑态强绑定;locked 始终全屏顶栏;disabled 无全屏 */
164
337
  const fsMode = floorMapFullscreenMode !== null && floorMapFullscreenMode !== void 0 ? floorMapFullscreenMode : "toggle";
165
338
  const useFullTopChrome = isFloorMapView && mode === "edit" && (fsMode === "locked" || fsMode === "toggle" && isFullscreen);
166
- /** toggle 时左下 Dock 展示全屏;locked/disabled 不传 API */
167
- const dockToggleFullscreen = isFloorMapView && fsMode === "toggle" ? toggleFullscreen : void 0;
339
+ /**
340
+ * 平面图编辑态:全屏与编辑模式强绑定(用户需求:"编辑的时候就是全屏,非编辑模式就不是全屏")。
341
+ * 因此 toggle 策略下不再展示左下角 Dock 的进出全屏按钮——
342
+ * 退出全屏 = 退出编辑,由顶栏「保存 / 退出编辑」入口承担。
343
+ * locked / disabled 行为保持原样:locked 也无按钮;disabled 不允许全屏。
344
+ */
345
+ const dockToggleFullscreen = void 0;
346
+ /**
347
+ * 平面图编辑态全屏与编辑模式双向同步:
348
+ * - 进 edit → 自动进入伪全屏
349
+ * - 退出 edit → 自动退出伪全屏
350
+ * - 仅 toggle 策略下生效(locked 已由 useFullTopChrome 强制;disabled 不允许全屏)
351
+ * 强同步:依赖中包含 isFullscreen,万一被外部 / 副作用切到不一致状态会被纠正回来。
352
+ * ESC 退出全屏的监听已在 metrics hook 中移除,避免按 ESC 后被本 effect 强制拉回来导致闪烁。
353
+ */
354
+ useEffect(() => {
355
+ if (!isFloorMapView) return;
356
+ if (fsMode !== "toggle") return;
357
+ if (mode === "edit" !== isFullscreen) toggleFullscreen();
358
+ }, [
359
+ mode,
360
+ isFloorMapView,
361
+ fsMode,
362
+ isFullscreen,
363
+ toggleFullscreen
364
+ ]);
365
+ /** 编辑态始终保留顶栏 Tab(单画布也要能「添加画布」);仅阅读态在单画布时可隐藏 Tab 行 */
366
+ const showEditCompactTopBar = isFloorMapView && mode === "edit" && Boolean(config) && !useFullTopChrome;
367
+ /**
368
+ * 右下角视口控件:平面图下默认带出全屏按钮(若当前策略允许 toggle),
369
+ * 并默认带出「视口锁定」按钮(与是否将视口保存到本地解耦;无持久化 key 时仅内存态,默认未锁定)。
370
+ */
168
371
  const viewControlsConfig = useMemo(() => {
169
- var _controls$showFullscr;
372
+ var _controls$showFullscr, _controls$showViewpor;
170
373
  if (!isFloorMapView) return controls;
171
- return _objectSpread2(_objectSpread2({}, controls), {}, { showFullscreen: (_controls$showFullscr = controls.showFullscreen) !== null && _controls$showFullscr !== void 0 ? _controls$showFullscr : Boolean(dockToggleFullscreen) });
374
+ return _objectSpread2(_objectSpread2({}, controls), {}, {
375
+ showFullscreen: (_controls$showFullscr = controls.showFullscreen) !== null && _controls$showFullscr !== void 0 ? _controls$showFullscr : Boolean(dockToggleFullscreen),
376
+ showViewportLock: (_controls$showViewpor = controls.showViewportLock) !== null && _controls$showViewpor !== void 0 ? _controls$showViewpor : true
377
+ });
172
378
  }, [
173
379
  isFloorMapView,
174
380
  controls,
175
381
  dockToggleFullscreen
176
382
  ]);
177
383
  const topBarExtraActions = null;
384
+ /** 从侧栏/调色板拖入画布时,地图区高亮态(用于 dragleave/over 判定) */
178
385
  const [mapPaletteDragActive, setMapPaletteDragActive] = useState(false);
386
+ /** 全局 dragend 时清除调色板拖入高亮,避免松手在画布外仍保持 active */
179
387
  useEffect(() => {
180
388
  const clear = () => setMapPaletteDragActive(false);
181
389
  window.addEventListener("dragend", clear);
182
390
  return () => window.removeEventListener("dragend", clear);
183
391
  }, []);
392
+ /**
393
+ * 编辑态下的撤销 / 重做键盘快捷键:
394
+ * - Ctrl/⌘ + Z → undo
395
+ * - Ctrl/⌘ + Shift + Z 或 Ctrl/⌘ + Y → redo
396
+ * 在 input/textarea/contenteditable 聚焦时跳过,避免抢走表单原生撤销。
397
+ * 仅在容器内或容器获得焦点时响应,避免页面其它编辑区被劫持。
398
+ */
399
+ useEffect(() => {
400
+ if (!isFloorMapView || mode !== "edit" || !(config === null || config === void 0 ? void 0 : config.canvasUi.canEdit)) return;
401
+ const onKeyDown = (e) => {
402
+ if (!(e.ctrlKey || e.metaKey)) return;
403
+ const key = e.key.toLowerCase();
404
+ const isUndoCombo = key === "z" && !e.shiftKey && !e.altKey;
405
+ const isRedoCombo = key === "z" && e.shiftKey && !e.altKey || key === "y" && !e.shiftKey && !e.altKey;
406
+ if (!isUndoCombo && !isRedoCombo) return;
407
+ const target = e.target;
408
+ if (target) {
409
+ const tag = target.tagName;
410
+ if (tag === "INPUT" || tag === "TEXTAREA") return;
411
+ if (target.isContentEditable) return;
412
+ }
413
+ const root = containerRef.current;
414
+ if (!root) return;
415
+ const active = document.activeElement;
416
+ const focusInside = active ? root.contains(active) : false;
417
+ const targetInside = target ? root.contains(target) : false;
418
+ if (!focusInside && !targetInside) return;
419
+ if (isUndoCombo && canUndo) {
420
+ e.preventDefault();
421
+ undoDraft();
422
+ } else if (isRedoCombo && canRedo) {
423
+ e.preventDefault();
424
+ redoDraft();
425
+ }
426
+ };
427
+ window.addEventListener("keydown", onKeyDown);
428
+ return () => window.removeEventListener("keydown", onKeyDown);
429
+ }, [
430
+ isFloorMapView,
431
+ mode,
432
+ config === null || config === void 0 ? void 0 : config.canvasUi.canEdit,
433
+ canUndo,
434
+ canRedo,
435
+ undoDraft,
436
+ redoDraft,
437
+ containerRef
438
+ ]);
439
+ /**
440
+ * 桌面端:在画布 drop 层释放拖拽时,解析 dataTransfer 并在场景坐标下落位图元。
441
+ */
184
442
  const handlePaletteDropOnCanvas = useCallback((e) => {
185
443
  e.preventDefault();
186
444
  e.stopPropagation();
@@ -194,13 +452,17 @@ function PisellFloorMapLayoutInner(props, ref) {
194
452
  elementKind: payload.elementKind,
195
453
  dataSourceKey: payload.dataSourceKey,
196
454
  recordId: payload.recordId,
197
- recordIds: payload.recordIds
455
+ recordIds: payload.recordIds,
456
+ builtinShapeKey: payload.builtinShapeKey
198
457
  });
199
458
  }, [
200
459
  isFloorMapView,
201
460
  mode,
202
461
  placeSceneElementFromPaletteDrop
203
462
  ]);
463
+ /**
464
+ * 触摸拖拽模拟 drop:由 {@link useFloorMapPaletteTouchDrag} 在松手时调用,逻辑同桌面 drop。
465
+ */
204
466
  const applyPaletteTouchDropInScene = useCallback((payload, cx, cy) => {
205
467
  if (!isFloorMapView || mode !== "edit") return;
206
468
  placeSceneElementFromPaletteDrop(cx, cy, {
@@ -208,7 +470,8 @@ function PisellFloorMapLayoutInner(props, ref) {
208
470
  elementKind: payload.elementKind,
209
471
  dataSourceKey: payload.dataSourceKey,
210
472
  recordId: payload.recordId,
211
- recordIds: payload.recordIds
473
+ recordIds: payload.recordIds,
474
+ builtinShapeKey: payload.builtinShapeKey
212
475
  });
213
476
  }, [
214
477
  isFloorMapView,
@@ -224,9 +487,13 @@ function PisellFloorMapLayoutInner(props, ref) {
224
487
  setMapPaletteDragActive,
225
488
  onDropInScene: applyPaletteTouchDropInScene
226
489
  });
490
+ /** 平面图下未配置对应 kind 的 `renderItemByKind` 时的占位渲染 */
227
491
  const fallbackPlaceholderRender = useCallback((item) => {
228
492
  return renderFloorMapFallbackPlaceholder(item);
229
493
  }, []);
494
+ /**
495
+ * 统一图元渲染入口:平面图优先按 kind 查 `renderItemByKind`,校验绑定/配置问题后回退占位或 `renderItem`。
496
+ */
230
497
  const effectiveRenderItem = useCallback((item, index, options) => {
231
498
  const merged = item;
232
499
  const kind = merged === null || merged === void 0 ? void 0 : merged.elementKind;
@@ -252,6 +519,7 @@ function PisellFloorMapLayoutInner(props, ref) {
252
519
  fallbackPlaceholderRender,
253
520
  onElementRenderError
254
521
  ]);
522
+ /** 点击图元:编辑态同步选中 id,并透传业务 `onItemClick` */
255
523
  const handleItemClick = useCallback((item, index, e) => {
256
524
  if (isFloorMapView && mode === "edit") setSelectedId(item.id);
257
525
  onItemClick === null || onItemClick === void 0 || onItemClick(item, index, e);
@@ -261,6 +529,7 @@ function PisellFloorMapLayoutInner(props, ref) {
261
529
  onItemClick,
262
530
  setSelectedId
263
531
  ]);
532
+ /** 对外 ref:缩放/复位/套合视口/保存布局,见 {@link PisellFloorMapLayoutRef} */
264
533
  useImperativeHandle(ref, () => ({
265
534
  zoomIn: () => {
266
535
  var _transformRef$current;
@@ -287,23 +556,59 @@ function PisellFloorMapLayoutInner(props, ref) {
287
556
  const handleMapAreaBackgroundClick = useCallback((e) => {
288
557
  if (!isFloorMapView || mode !== "edit") return;
289
558
  const t = e.target;
290
- if (t.closest(`.${PREFIX}-editable-item`)) return;
291
- if (t.closest(`.${PREFIX}-edit-panel-wrap`)) return;
292
- if (t.closest(`.${PREFIX}-view-controls`)) return;
293
- if (t.closest(`.${PREFIX}-viewport-overlay`)) return;
294
- if (t.closest(`.${PREFIX}-place-overlay`)) return;
295
- if (t.closest(`.${PREFIX}-map-drop-layer`)) return;
559
+ if (t.closest(`.pisell-floor-map-layout-editable-item`)) return;
560
+ if (t.closest(`.pisell-floor-map-layout-edit-panel-wrap`)) return;
561
+ if (t.closest(`.pisell-floor-map-layout-view-controls`)) return;
562
+ if (t.closest(`.pisell-floor-map-layout-viewport-overlay`)) return;
563
+ if (t.closest(`.pisell-floor-map-layout-place-overlay`)) return;
564
+ if (t.closest(`.pisell-floor-map-layout-map-drop-layer`)) return;
296
565
  setSelectedId(null);
297
566
  }, [
298
567
  isFloorMapView,
299
568
  mode,
300
569
  setSelectedId
301
570
  ]);
302
- return /* @__PURE__ */ React.createElement("div", {
571
+ /** 右侧手机 Drawer:open props 驱动关闭动画,选中清除延后到 afterOpenChange(false) */
572
+ const [phoneEditDrawerOpen, setPhoneEditDrawerOpen] = useState(false);
573
+ useLayoutEffect(() => {
574
+ if (editTopBarPhoneLayout && (editPanelParams === null || editPanelParams === void 0 ? void 0 : editPanelParams.itemId)) setPhoneEditDrawerOpen(true);
575
+ }, [editTopBarPhoneLayout, editPanelParams === null || editPanelParams === void 0 ? void 0 : editPanelParams.itemId]);
576
+ useEffect(() => {
577
+ if (!editTopBarPhoneLayout || !editPanelParams) setPhoneEditDrawerOpen(false);
578
+ }, [editTopBarPhoneLayout, editPanelParams]);
579
+ const handlePhoneEditDrawerClose = useCallback(() => {
580
+ setPhoneEditDrawerOpen(false);
581
+ }, []);
582
+ const handlePhoneEditDrawerAfterOpenChange = useCallback((open) => {
583
+ if (!open) setSelectedId(null);
584
+ }, [setSelectedId]);
585
+ const handleCanvasTabChange = useCallback((id) => {
586
+ if (id === "__pisell_floor_map_overview__") {
587
+ /**
588
+ * 进入全览:保留 `currentCanvasId`(用户上次浏览的画布),
589
+ * 这样全览中点回某画布或退出后还能继承视角缓存。
590
+ */
591
+ setIsOverview(true);
592
+ setSelectedId(null);
593
+ return;
594
+ }
595
+ setIsOverview(false);
596
+ setCurrentCanvasId(id);
597
+ setSelectedId(null);
598
+ }, [setCurrentCanvasId, setSelectedId]);
599
+ /** 全览态下 CanvasTabs 高亮的 id;非全览态用真实当前画布 id */
600
+ const tabsCurrentCanvasId = isOverview ? FLOOR_MAP_OVERVIEW_TAB_ID : currentCanvasId;
601
+ /**
602
+ * 新版 All 视图为「单画布平铺所有画布区域」,区域单击/双击不再切换画布;
603
+ * 切回单画布仅通过顶部 Tab,handleCanvasTabChange 负责退出全览。
604
+ */
605
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
303
606
  ref: containerRef,
304
- className: classNames(PREFIX, className, {
305
- [`${PREFIX}-floor-map-view`]: isFloorMapView,
306
- [`${PREFIX}-mode-edit`]: isFloorMapView && mode === "edit"
607
+ "data-appearance-mode": appearanceMode,
608
+ className: classNames(FLOOR_MAP_LAYOUT_CLASS_PREFIX, className, {
609
+ [`${FLOOR_MAP_LAYOUT_CLASS_PREFIX}-floor-map-view`]: isFloorMapView,
610
+ [`${FLOOR_MAP_LAYOUT_CLASS_PREFIX}-mode-edit`]: isFloorMapView && mode === "edit",
611
+ [`${FLOOR_MAP_LAYOUT_CLASS_PREFIX}--pseudo-fullscreen`]: isFullscreen
307
612
  }),
308
613
  style: _objectSpread2(_objectSpread2(_objectSpread2({
309
614
  display: "flex",
@@ -314,25 +619,24 @@ function PisellFloorMapLayoutInner(props, ref) {
314
619
  config,
315
620
  canvases: canvasesForTabs,
316
621
  currentCanvasId,
317
- onTabChange: (id) => {
318
- setCurrentCanvasId(id);
319
- setSelectedId(null);
320
- },
622
+ onTabChange: handleCanvasTabChange,
321
623
  canEditTabs: config.canvasUi.canEdit,
322
624
  onAddCanvas: handleAddCanvas,
323
625
  onRemoveCanvas: handleRemoveCanvas,
324
626
  onRenameCanvas: handleRenameCanvas,
325
627
  controls,
326
- canvasTabsBarTrailing
628
+ canvasTabsBarTrailing,
629
+ phoneLayout: editTopBarPhoneLayout,
630
+ onUndo: config.canvasUi.canEdit ? undoDraft : void 0,
631
+ onRedo: config.canvasUi.canEdit ? redoDraft : void 0,
632
+ canUndo,
633
+ canRedo
327
634
  }), isFloorMapView && mode === "edit" && config && useFullTopChrome && /* @__PURE__ */ React.createElement(FloorMapEditTopBar, {
328
635
  mode: "full",
329
636
  config,
330
637
  canvases: canvasesForTabs,
331
638
  currentCanvasId,
332
- onTabChange: (id) => {
333
- setCurrentCanvasId(id);
334
- setSelectedId(null);
335
- },
639
+ onTabChange: handleCanvasTabChange,
336
640
  canEditTabs: config.canvasUi.canEdit,
337
641
  onAddCanvas: handleAddCanvas,
338
642
  onRemoveCanvas: handleRemoveCanvas,
@@ -344,25 +648,30 @@ function PisellFloorMapLayoutInner(props, ref) {
344
648
  isFullscreen,
345
649
  controls,
346
650
  extraActions: topBarExtraActions,
347
- canvasTabsBarTrailing
651
+ canvasTabsBarTrailing,
652
+ onUndo: config.canvasUi.canEdit ? undoDraft : void 0,
653
+ onRedo: config.canvasUi.canEdit ? redoDraft : void 0,
654
+ canUndo,
655
+ canRedo,
656
+ onExitEdit,
657
+ onCancelEdit: onExitEdit ? handleCancelEdit : void 0,
658
+ phoneLayout: editTopBarPhoneLayout
348
659
  }), showReadModeCanvasTabsBar && /* @__PURE__ */ React.createElement("div", {
349
- className: `${PREFIX}-edit-top-bar ${PREFIX}-read-canvas-tabs-bar`,
660
+ className: `pisell-floor-map-layout-edit-top-bar pisell-floor-map-layout-read-canvas-tabs-bar`,
350
661
  role: "toolbar",
351
662
  "aria-label": readCanvasTabsAriaLabel
352
- }, /* @__PURE__ */ React.createElement("div", { className: `${PREFIX}-edit-top-bar-tabs` }, /* @__PURE__ */ React.createElement(CanvasTabs, {
663
+ }, /* @__PURE__ */ React.createElement("div", { className: `pisell-floor-map-layout-edit-top-bar-tabs` }, /* @__PURE__ */ React.createElement(CanvasTabs, {
353
664
  canvases: canvasesForTabs,
354
- currentCanvasId,
355
- onTabChange: (id) => {
356
- setCurrentCanvasId(id);
357
- setSelectedId(null);
358
- },
665
+ currentCanvasId: tabsCurrentCanvasId,
666
+ onTabChange: handleCanvasTabChange,
359
667
  canEdit: false,
360
- className: `${PREFIX}-edit-top-bar-canvas-tabs`
361
- })), hasCanvasTabsBarTrailing ? /* @__PURE__ */ React.createElement("div", { className: `${PREFIX}-edit-top-bar-actions` }, canvasTabsBarTrailing) : null), loading && /* @__PURE__ */ React.createElement("div", { className: `${PREFIX}-loading` }, /* @__PURE__ */ React.createElement("span", null, loadingLabel)), saveError && !(isFloorMapView && mode === "edit" && config) && /* @__PURE__ */ React.createElement("div", { className: `${PREFIX}-save-error` }, typeof saveError === "string" ? saveError : saveError === null || saveError === void 0 ? void 0 : saveError.message), /* @__PURE__ */ React.createElement("div", {
362
- className: showSidebar ? `${PREFIX}-edit-layout` : void 0,
668
+ className: `pisell-floor-map-layout-edit-top-bar-canvas-tabs`
669
+ })), hasCanvasTabsBarTrailing ? /* @__PURE__ */ React.createElement("div", { className: `pisell-floor-map-layout-edit-top-bar-actions` }, canvasTabsBarTrailing) : null), loading && /* @__PURE__ */ React.createElement("div", { className: `pisell-floor-map-layout-loading` }, /* @__PURE__ */ React.createElement("span", null, loadingLabel)), saveError && !(isFloorMapView && mode === "edit" && config) && /* @__PURE__ */ React.createElement("div", { className: `pisell-floor-map-layout-save-error` }, typeof saveError === "string" ? saveError : saveError === null || saveError === void 0 ? void 0 : saveError.message), /* @__PURE__ */ React.createElement("div", {
670
+ className: classNames(showSidebar && `pisell-floor-map-layout-edit-layout`, showSidebar && editTopBarPhoneLayout && `pisell-floor-map-layout-edit-layout--phone-toolbar`),
363
671
  style: {
364
672
  flex: 1,
365
- display: "flex",
673
+ display: showSidebar && editTopBarPhoneLayout ? "block" : "flex",
674
+ flexDirection: showSidebar && !editTopBarPhoneLayout ? "row" : void 0,
366
675
  minHeight: 0
367
676
  }
368
677
  }, showSidebar && /* @__PURE__ */ React.createElement(FloorMapToolbar, {
@@ -384,16 +693,26 @@ function PisellFloorMapLayoutInner(props, ref) {
384
693
  saveError,
385
694
  layoutDirty: isLayoutDirty,
386
695
  onPaletteCardPointerDown: paletteTouchDrag.handlePaletteCardPointerDown,
387
- consumeToolbarClickIfTouchDrag: paletteTouchDrag.consumeToolbarClickIfTouchDrag
696
+ consumeToolbarClickIfTouchDrag: paletteTouchDrag.consumeToolbarClickIfTouchDrag,
697
+ phoneLayout: editTopBarPhoneLayout,
698
+ defaultCollapsed: editTopBarPhoneLayout,
699
+ onRequestPlaceAtCanvasCenter: editTopBarPhoneLayout ? handlePlaceActiveAtViewportCenter : void 0
388
700
  }), /* @__PURE__ */ React.createElement("div", {
389
701
  ref: mapAreaRef,
390
- className: classNames(showSidebar && `${PREFIX}-map-area`, editPanelVisible && `${PREFIX}-map-area--edit-panel-inset`),
391
- style: {
702
+ className: classNames(showSidebar && `pisell-floor-map-layout-map-area`, editTopBarPhoneLayout && showSidebar && `pisell-floor-map-layout-map-area--phone-fill`, editPanelVisible && !editTopBarPhoneLayout && `pisell-floor-map-layout-map-area--edit-panel-inset`),
703
+ style: _objectSpread2(_objectSpread2({}, editTopBarPhoneLayout && showSidebar ? {
704
+ position: "absolute",
705
+ left: 0,
706
+ right: 0,
707
+ top: 0,
708
+ bottom: 0
709
+ } : {
392
710
  flex: 1,
393
- position: "relative",
711
+ position: "relative"
712
+ }), {}, {
394
713
  minWidth: 0,
395
714
  overflow: "hidden"
396
- },
715
+ }),
397
716
  onClick: handleMapAreaBackgroundClick,
398
717
  onDragEnter: (e) => {
399
718
  if (!isFloorMapView || mode !== "edit") return;
@@ -411,6 +730,8 @@ function PisellFloorMapLayoutInner(props, ref) {
411
730
  var _mapAreaRef$current;
412
731
  if (!mapPaletteDragActive) return;
413
732
  const related = e.relatedTarget;
733
+ /** 图元侧栏经 Portal 挂到 body 时,移入侧栏不算离开「有效拖放区」链 */
734
+ if (related && related instanceof Element && (related.closest(`.pisell-floor-map-layout-toolbar`) || related.closest(`.pisell-floor-map-layout-edit-panel-wrap`) || related.closest(`.pisell-floor-map-layout-toolbar-phone-drawer-root`) || related.closest(`.pisell-floor-map-layout-edit-panel-phone-drawer-root`) || related.closest(".ant-drawer") || related.closest(".pisell-lowcode-drawer"))) return;
414
735
  if (!((_mapAreaRef$current = mapAreaRef.current) === null || _mapAreaRef$current === void 0 ? void 0 : _mapAreaRef$current.contains(related))) setMapPaletteDragActive(false);
415
736
  }
416
737
  }, /* @__PURE__ */ React.createElement(TransformWrapper, _objectSpread2(_objectSpread2({
@@ -424,26 +745,40 @@ function PisellFloorMapLayoutInner(props, ref) {
424
745
  limitToBounds: pan.boundary !== "none"
425
746
  }, { step: zoomConfig.step }), {}, {
426
747
  panning: {
427
- disabled: pan.enabled === false || isInteractingWithElement,
748
+ disabled: pan.enabled === false || isInteractingWithElement || viewportLocked,
428
749
  velocityDisabled: true
429
750
  },
751
+ wheel: { disabled: viewportLocked },
752
+ pinch: { disabled: viewportLocked },
430
753
  doubleClick: { disabled: true },
431
754
  onTransformed: (_, state) => {
432
755
  setScale(state.scale);
433
- lastTransformRef.current = {
434
- x: state.positionX,
435
- y: state.positionY,
436
- scale: state.scale
437
- };
438
- }
756
+ /**
757
+ * 由 hook 内部写 lastTransformRef、判定 fitBounds 激活态。
758
+ * 不在 onTransformed 持久化:挂载/重挂载会触发一次「初始 transform」回调,
759
+ * 写到 localStorage 会覆盖用户上次保存的视角;
760
+ * 持久化改由 onPanningStop / onZoomStop / onPinchingStop / onWheelStop 触发。
761
+ */
762
+ notifyTransformed(state.positionX, state.positionY, state.scale);
763
+ },
764
+ onPanningStop: persistCurrentViewport,
765
+ onZoomStop: persistCurrentViewport,
766
+ onPinchingStop: persistCurrentViewport,
767
+ onWheelStop: persistCurrentViewport
439
768
  }), (ctx) => {
440
769
  var _effectiveMapLayer$sn;
441
- transformRef.current = ctx;
770
+ /**
771
+ * 不直接 transformRef.current = ctx:
772
+ * attachTransformContext 内部会比对 ctx 实例并在每次 wrapper 重挂载时
773
+ * 立即 schedule 一次 restore,避免「namespace 异步 → autoFit 抢跑 →
774
+ * restore 被 autoFit 动画吃掉」导致首屏不应用缓存的时序坑。
775
+ */
776
+ attachTransformContext(ctx);
442
777
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(TransformComponent, {
443
778
  wrapperStyle: {
444
779
  width: "100%",
445
780
  height: "100%",
446
- backgroundColor: "#F2F4F7",
781
+ backgroundColor: isOverview ? overviewBackgroundColor : canvasBackgroundColor,
447
782
  overflow: "visible"
448
783
  },
449
784
  contentStyle: {
@@ -453,9 +788,36 @@ function PisellFloorMapLayoutInner(props, ref) {
453
788
  minHeight: contentHeight,
454
789
  position: "relative",
455
790
  overflow: "visible",
456
- backgroundColor: "#F2F4F7"
791
+ backgroundColor: isOverview ? overviewBackgroundColor : canvasBackgroundColor
457
792
  }
458
- }, /* @__PURE__ */ React.createElement(MapLayer, {
793
+ }, isOverview && overviewLayout && config ? /* @__PURE__ */ React.createElement(
794
+ "div",
795
+ /**
796
+ * 全览模式:不渲染 MapLayer 背景 / 网格 / placeOverlay / dropLayer;
797
+ * 每个画布的图元由 FloorMapOverview 在 contentOffset 的内部绝对定位渲染,
798
+ * 缩放/平移/锁定/全屏/fitBounds 由外层 TransformWrapper + ViewControls 接管。
799
+ */
800
+ { style: {
801
+ position: "absolute",
802
+ left: contentOffsetX,
803
+ top: contentOffsetY,
804
+ width: overviewLayout.totalWidth,
805
+ height: overviewLayout.totalHeight
806
+ } },
807
+ /* @__PURE__ */ React.createElement(FloorMapOverview, {
808
+ overviewLayout,
809
+ config,
810
+ itemUnit: effectiveItemUnit,
811
+ renderItem: effectiveRenderItem,
812
+ viewportScale: scale,
813
+ enableHover,
814
+ onItemClick: handleItemClick,
815
+ onItemHover,
816
+ onItemLeave,
817
+ getMergedItemWrapperStyle,
818
+ readModeSelectedItemId
819
+ })
820
+ ) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(MapLayer, {
459
821
  config: effectiveMapLayer,
460
822
  contentWidth,
461
823
  contentHeight,
@@ -484,6 +846,7 @@ function PisellFloorMapLayoutInner(props, ref) {
484
846
  }) : /* @__PURE__ */ React.createElement(ItemLayer, {
485
847
  items,
486
848
  renderItem: effectiveRenderItem,
849
+ viewportScale: scale,
487
850
  rowKey,
488
851
  cellSize,
489
852
  itemUnit: effectiveItemUnit,
@@ -498,7 +861,8 @@ function PisellFloorMapLayoutInner(props, ref) {
498
861
  onItemHover,
499
862
  onItemLeave,
500
863
  getMergedItemWrapperStyle,
501
- onInteractionChange: setIsInteractingWithElement
864
+ onInteractionChange: setIsInteractingWithElement,
865
+ readModeSelectedItemId
502
866
  }), isFloorMapView && mode === "edit" && (placeMode === null || placeMode === void 0 ? void 0 : placeMode.type) === "scene" && /* @__PURE__ */ React.createElement("div", {
503
867
  className: placeOverlayClass,
504
868
  style: {
@@ -508,7 +872,7 @@ function PisellFloorMapLayoutInner(props, ref) {
508
872
  onClick: handleCanvasPlaceClick
509
873
  }), isFloorMapView && mode === "edit" && /* @__PURE__ */ React.createElement("div", {
510
874
  ref: mapDropLayerRef,
511
- className: classNames(`${PREFIX}-map-drop-layer`, { [`${PREFIX}-map-drop-layer-active`]: mapPaletteDragActive }),
875
+ className: classNames(`pisell-floor-map-layout-map-drop-layer`, { [`pisell-floor-map-layout-map-drop-layer-active`]: mapPaletteDragActive }),
512
876
  style: {
513
877
  width: contentWidth,
514
878
  height: contentHeight
@@ -518,24 +882,28 @@ function PisellFloorMapLayoutInner(props, ref) {
518
882
  ev.stopPropagation();
519
883
  },
520
884
  onDrop: handlePaletteDropOnCanvas
521
- })), /* @__PURE__ */ React.createElement(ViewControlsWithZoom, {
885
+ }))), /* @__PURE__ */ React.createElement(ViewControlsWithZoom, {
522
886
  config: viewControlsConfig,
523
887
  scale,
524
888
  isFullscreen,
889
+ fitBoundsActive: isAtFitBounds,
525
890
  fitBounds,
526
891
  toggleFullscreen: dockToggleFullscreen,
527
- mapGridVisible: Boolean(effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.showGrid),
528
- onToggleMapGrid: isFloorMapView ? toggleDraftCanvasShowGrid : void 0,
892
+ mapGridVisible: isOverview ? false : Boolean(effectiveMapLayer === null || effectiveMapLayer === void 0 ? void 0 : effectiveMapLayer.showGrid),
893
+ onToggleMapGrid: isFloorMapView && !isOverview ? toggleDraftCanvasShowGrid : void 0,
894
+ viewportLocked,
895
+ onToggleViewportLock: isFloorMapView ? toggleViewportLocked : void 0,
529
896
  dockChrome: isFloorMapView,
897
+ dockExpandedToolButtons: viewportDockToolButtons,
530
898
  dockExpandedTrailing: viewportDockTrailing,
531
899
  autoCollapseDockMs: 1e4
532
- }), isFloorMapView && floorMapViewportOverlay != null ? /* @__PURE__ */ React.createElement("div", { className: classNames(`${PREFIX}-viewport-overlay`, { [`${PREFIX}-viewport-overlay--bottom-start`]: viewportOverlayPlacement === "bottom-start" }, viewportOverlayClassName) }, typeof floorMapViewportOverlay === "function" ? floorMapViewportOverlay({
900
+ }), isFloorMapView && floorMapViewportOverlay != null ? /* @__PURE__ */ React.createElement("div", { className: classNames(`${FLOOR_MAP_LAYOUT_CLASS_PREFIX}-viewport-overlay`, { [`${FLOOR_MAP_LAYOUT_CLASS_PREFIX}-viewport-overlay--bottom-start`]: viewportOverlayPlacement === "bottom-start" }, viewportOverlayClassName) }, typeof floorMapViewportOverlay === "function" ? floorMapViewportOverlay({
533
901
  items,
534
902
  dataSources,
535
903
  currentCanvasId,
536
904
  mode
537
- }) : floorMapViewportOverlay) : null, isFloorMapView && mode === "edit" && editPanelParams && config && dataSources && /* @__PURE__ */ React.createElement("div", {
538
- className: classNames(`${PREFIX}-edit-panel-wrap`, mapAreaSize.height > 0 && `${PREFIX}-edit-panel-wrap-constrained`),
905
+ }) : floorMapViewportOverlay) : null, isFloorMapView && mode === "edit" && editPanelParams && config && dataSources && !editTopBarPhoneLayout && /* @__PURE__ */ React.createElement("div", {
906
+ className: classNames(`pisell-floor-map-layout-edit-panel-wrap`, mapAreaSize.height > 0 && `pisell-floor-map-layout-edit-panel-wrap-constrained`),
539
907
  style: mapAreaSize.height > 0 ? {
540
908
  height: mapAreaSize.height - 32,
541
909
  maxHeight: mapAreaSize.height - 32,
@@ -548,8 +916,32 @@ function PisellFloorMapLayoutInner(props, ref) {
548
916
  dataSources,
549
917
  savingRecord
550
918
  }))));
551
- }))));
919
+ })))), editTopBarPhoneLayout && editPanelParams && config && dataSources && /* @__PURE__ */ React.createElement(Drawer, {
920
+ placement: "right",
921
+ open: phoneEditDrawerOpen,
922
+ onClose: handlePhoneEditDrawerClose,
923
+ afterOpenChange: handlePhoneEditDrawerAfterOpenChange,
924
+ width: "min(320px, 88vw)",
925
+ zIndex: 2002,
926
+ maskClosable: true,
927
+ destroyOnClose: false,
928
+ closable: false,
929
+ rootClassName: `pisell-floor-map-layout-edit-panel-phone-drawer-root`,
930
+ classNames: { body: `pisell-floor-map-layout-edit-panel-phone-drawer-body` },
931
+ styles: { body: {
932
+ padding: 0,
933
+ overflow: "auto",
934
+ height: "100%"
935
+ } },
936
+ getContainer: typeof document !== "undefined" ? () => document.body : void 0
937
+ }, /* @__PURE__ */ React.createElement("div", { className: classNames(`pisell-floor-map-layout-edit-panel-wrap`, `pisell-floor-map-layout-edit-panel-wrap--phone-drawer`) }, /* @__PURE__ */ React.createElement(FloorMapEditPanel, _objectSpread2(_objectSpread2({}, editPanelParams), {}, {
938
+ config,
939
+ dataSources,
940
+ savingRecord,
941
+ className: `pisell-floor-map-layout-edit-panel--phone-drawer`
942
+ })))));
552
943
  }
944
+ /** 空间布局根组件:阅读/编辑、列表与平面图双模式,ref 见 {@link PisellFloorMapLayoutRef} */
553
945
  const PisellFloorMapLayout = React.forwardRef(PisellFloorMapLayoutInner);
554
946
  //#endregion
555
947
  export { PisellFloorMapLayout as default };