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