@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
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
require("../../../_virtual/_rolldown/runtime.js");
|
|
2
2
|
const require_objectSpread2 = require("../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js");
|
|
3
3
|
const require_layoutMeasurements = require("../utils/layoutMeasurements.js");
|
|
4
|
+
const require_floorMapCanvasStage = require("../utils/floorMapCanvasStage.js");
|
|
5
|
+
const require_floorMapViewportPersistence = require("./floorMapViewportPersistence.js");
|
|
4
6
|
let react = require("react");
|
|
5
7
|
//#region src/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.ts
|
|
6
8
|
/**
|
|
7
9
|
* 视口 / 地图区尺寸、内容区宽高与偏移、缩放与全屏、fitBounds、拖拽图元后恢复 transform
|
|
8
10
|
*/
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
/**
|
|
12
|
+
* react-zoom-pan-pinch:`setTransform` 未显式传 `animationTime` 时默认约 200ms 缓动;
|
|
13
|
+
* 兜底清除「全览激活保持」略大于该值,避免极少数帧未到容差时限位不解除。
|
|
14
|
+
*/
|
|
15
|
+
const FIT_BOUNDS_PROGRAMMATIC_TWEEN_GUARD_MS = 400;
|
|
13
16
|
function useFloorMapTransformMetrics(params) {
|
|
14
|
-
const { items, cellSize, itemGap, effectiveItemUnit, isFloorMapView, mode, zoom, transformRef, contentOffsetRef, boundingPadding: boundingPaddingProp, frameResetKey } = params;
|
|
15
|
-
const padSingle = boundingPaddingProp !== null && boundingPaddingProp !== void 0 ? boundingPaddingProp :
|
|
17
|
+
const { items, cellSize, itemGap, effectiveItemUnit, isFloorMapView, mode, zoom, transformRef, contentOffsetRef, boundingPadding: boundingPaddingProp, frameResetKey, viewportPersistKey } = params;
|
|
18
|
+
const padSingle = boundingPaddingProp !== null && boundingPaddingProp !== void 0 ? boundingPaddingProp : 56;
|
|
16
19
|
const containerRef = (0, react.useRef)(null);
|
|
17
20
|
const mapAreaRef = (0, react.useRef)(null);
|
|
18
21
|
const [viewportSize, setViewportSize] = (0, react.useState)({
|
|
@@ -73,37 +76,76 @@ function useFloorMapTransformMetrics(params) {
|
|
|
73
76
|
]);
|
|
74
77
|
const [scale, setScale] = (0, react.useState)(zoomConfig.initialScale);
|
|
75
78
|
const [isFullscreen, setIsFullscreen] = (0, react.useState)(false);
|
|
79
|
+
/**
|
|
80
|
+
* 「适配视口」激活态:当前 transform 与最近一次 fitBounds 计算出的目标 transform 在容差内一致时为 true。
|
|
81
|
+
* 由 fitBounds 写入快照、notifyTransformed 比较;用户主动拖动/缩放后立即失活。
|
|
82
|
+
*/
|
|
83
|
+
const lastFitSnapshotRef = (0, react.useRef)(null);
|
|
84
|
+
const [isAtFitBounds, setIsAtFitBounds] = (0, react.useState)(false);
|
|
85
|
+
/**
|
|
86
|
+
* 程序化 fitBounds 使用库默认缓动时,`onTransformed` 中间帧与快照不等会关掉「全览」激活态。
|
|
87
|
+
* 缓动持有期内不按中间帧降级,仅在到达快照(容差内)或兜底超时后再按真实 transform 对齐。
|
|
88
|
+
*/
|
|
89
|
+
const fitBoundsTweenHoldRef = (0, react.useRef)(false);
|
|
90
|
+
const fitBoundsTweenHoldClearTimerRef = (0, react.useRef)(null);
|
|
91
|
+
const clearFitBoundsTweenHold = (0, react.useCallback)(() => {
|
|
92
|
+
if (fitBoundsTweenHoldClearTimerRef.current != null) {
|
|
93
|
+
clearTimeout(fitBoundsTweenHoldClearTimerRef.current);
|
|
94
|
+
fitBoundsTweenHoldClearTimerRef.current = null;
|
|
95
|
+
}
|
|
96
|
+
fitBoundsTweenHoldRef.current = false;
|
|
97
|
+
}, []);
|
|
98
|
+
/**
|
|
99
|
+
* 视口锁定态:有 viewportPersistKey 时按 key 读写到 localStorage;无 key 时仅组件内存态(不写本地)。
|
|
100
|
+
* - 切 / 挂载时:有 key 则读持久化初值;无 key 则默认未锁定;
|
|
101
|
+
* - 用户切换时:有 key 则写回 localStorage;
|
|
102
|
+
* - 锁定后 fitBounds / 程序化 zoom 入口与 PisellFloorMapLayout 透传到 TransformWrapper 的
|
|
103
|
+
* panning/wheel/pinch.disabled 共同把所有视角写入路径关闭。
|
|
104
|
+
* 切 canvas(key 变化)时跟随新 key 重新初始化,互不影响。
|
|
105
|
+
*/
|
|
106
|
+
const [viewportLocked, setViewportLockedState] = (0, react.useState)(() => viewportPersistKey ? require_floorMapViewportPersistence.readPersistedViewportLock(viewportPersistKey) : false);
|
|
107
|
+
const viewportLockedRef = (0, react.useRef)(viewportLocked);
|
|
108
|
+
viewportLockedRef.current = viewportLocked;
|
|
109
|
+
(0, react.useEffect)(() => {
|
|
110
|
+
if (!viewportPersistKey) {
|
|
111
|
+
setViewportLockedState(false);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
setViewportLockedState(require_floorMapViewportPersistence.readPersistedViewportLock(viewportPersistKey));
|
|
115
|
+
}, [viewportPersistKey]);
|
|
116
|
+
const setViewportLocked = (0, react.useCallback)((next) => {
|
|
117
|
+
setViewportLockedState(next);
|
|
118
|
+
const key = viewportPersistKey;
|
|
119
|
+
if (!key) return;
|
|
120
|
+
require_floorMapViewportPersistence.writePersistedViewportLock(key, next);
|
|
121
|
+
}, [viewportPersistKey]);
|
|
122
|
+
const toggleViewportLocked = (0, react.useCallback)(() => {
|
|
123
|
+
setViewportLocked(!viewportLockedRef.current);
|
|
124
|
+
}, [setViewportLocked]);
|
|
76
125
|
const { contentWidth, contentHeight, contentOffsetX, contentOffsetY, alignPadSingle } = (0, react.useMemo)(() => {
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
126
|
+
const stage = require_floorMapCanvasStage.computeFloorMapContentStage({
|
|
127
|
+
items,
|
|
128
|
+
cellSize,
|
|
129
|
+
itemGap,
|
|
130
|
+
itemUnit: effectiveItemUnit,
|
|
131
|
+
boundingPadding: padSingle,
|
|
132
|
+
preferPixelBoundingBox: isFloorMapView
|
|
133
|
+
});
|
|
134
|
+
let result = {
|
|
135
|
+
contentWidth: stage.contentWidth,
|
|
136
|
+
contentHeight: stage.contentHeight,
|
|
137
|
+
contentOffsetX: stage.contentOffsetX,
|
|
138
|
+
contentOffsetY: stage.contentOffsetY,
|
|
139
|
+
alignPadSingle: stage.alignPadSingle
|
|
82
140
|
};
|
|
83
|
-
const box = isFloorMapView && effectiveItemUnit === "pixel" && items.length > 0 ? require_layoutMeasurements.getPixelBoundingBox(items, cellSize) : null;
|
|
84
|
-
let padded;
|
|
85
|
-
let alignPad = null;
|
|
86
|
-
if (box) {
|
|
87
|
-
padded = {
|
|
88
|
-
contentWidth: box.maxRight - box.minLeft + pad,
|
|
89
|
-
contentHeight: box.maxBottom - box.minTop + pad,
|
|
90
|
-
contentOffsetX: padSingle - box.minLeft,
|
|
91
|
-
contentOffsetY: padSingle - box.minTop
|
|
92
|
-
};
|
|
93
|
-
alignPad = padSingle;
|
|
94
|
-
} else padded = require_objectSpread2._objectSpread2({
|
|
95
|
-
contentWidth: fromItems.contentWidth + pad,
|
|
96
|
-
contentHeight: fromItems.contentHeight + pad
|
|
97
|
-
}, zeroOffset);
|
|
98
|
-
let result = require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, padded), {}, { alignPadSingle: alignPad });
|
|
99
141
|
/** 像素平面图:阅读态与编辑态均将内容区至少撑满视口,便于大空白处平移 */
|
|
100
142
|
if (!isFloorMapView || effectiveItemUnit !== "pixel") return result;
|
|
101
143
|
const vw = mapAreaSize.width > 0 ? mapAreaSize.width : viewportSize.width;
|
|
102
144
|
const vh = mapAreaSize.height > 0 ? mapAreaSize.height : viewportSize.height;
|
|
103
145
|
if (vw <= 0 || vh <= 0) return result;
|
|
104
146
|
result = require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, result), {}, {
|
|
105
|
-
contentWidth: Math.max(
|
|
106
|
-
contentHeight: Math.max(
|
|
147
|
+
contentWidth: Math.max(stage.contentWidth, vw),
|
|
148
|
+
contentHeight: Math.max(stage.contentHeight, vh)
|
|
107
149
|
});
|
|
108
150
|
return result;
|
|
109
151
|
}, [
|
|
@@ -119,8 +161,8 @@ function useFloorMapTransformMetrics(params) {
|
|
|
119
161
|
padSingle
|
|
120
162
|
]);
|
|
121
163
|
const padForAlign = alignPadSingle !== null && alignPadSingle !== void 0 ? alignPadSingle : 0;
|
|
122
|
-
const initialPositionX =
|
|
123
|
-
const initialPositionY =
|
|
164
|
+
const initialPositionX = 16 - padForAlign * zoomConfig.initialScale;
|
|
165
|
+
const initialPositionY = 16 - padForAlign * zoomConfig.initialScale;
|
|
124
166
|
contentOffsetRef.current = {
|
|
125
167
|
x: contentOffsetX,
|
|
126
168
|
y: contentOffsetY
|
|
@@ -172,69 +214,128 @@ function useFloorMapTransformMetrics(params) {
|
|
|
172
214
|
transformRef,
|
|
173
215
|
autoFitOnMount
|
|
174
216
|
]);
|
|
217
|
+
/**
|
|
218
|
+
* 伪全屏:用 `position: fixed; inset: 0` 撑满视口,不调用浏览器 Fullscreen API。
|
|
219
|
+
* 与「资源墙大屏」一致的体验:避免浏览器全屏带来的右键菜单受限、第三方弹层被全屏元素隔绝等。
|
|
220
|
+
*
|
|
221
|
+
* 对应 className 与 body overflow 锁定见 PisellFloorMapLayout.less 中
|
|
222
|
+
* `.pisell-floor-map-layout--pseudo-fullscreen` 与 `body.pisell-floor-map-layout-fullscreen-host`。
|
|
223
|
+
*
|
|
224
|
+
* 注意:不再监听 ESC 退出全屏。平面图编辑态全屏与编辑模式强绑定(PisellFloorMapLayout 中 effect),
|
|
225
|
+
* 若 ESC 直接 setIsFullscreen(false) 会立刻被同步 effect 拉回 true,徒增闪烁。
|
|
226
|
+
* 退出全屏 = 退出编辑,由顶栏退出按钮承担。
|
|
227
|
+
*/
|
|
175
228
|
(0, react.useEffect)(() => {
|
|
176
|
-
|
|
177
|
-
if (
|
|
178
|
-
const
|
|
179
|
-
document.
|
|
180
|
-
return () =>
|
|
229
|
+
if (!isFullscreen) return;
|
|
230
|
+
if (typeof document === "undefined") return;
|
|
231
|
+
const bodyCls = "pisell-floor-map-layout-fullscreen-host";
|
|
232
|
+
document.body.classList.add(bodyCls);
|
|
233
|
+
return () => {
|
|
234
|
+
document.body.classList.remove(bodyCls);
|
|
235
|
+
};
|
|
236
|
+
}, [isFullscreen]);
|
|
237
|
+
/** 卸载兜底:组件被卸载时不要把 body 锁住的样式残留 */
|
|
238
|
+
(0, react.useEffect)(() => {
|
|
239
|
+
return () => {
|
|
240
|
+
if (typeof document === "undefined") return;
|
|
241
|
+
document.body.classList.remove("pisell-floor-map-layout-fullscreen-host");
|
|
242
|
+
};
|
|
181
243
|
}, []);
|
|
182
244
|
const toggleFullscreen = (0, react.useCallback)(() => {
|
|
183
|
-
|
|
184
|
-
if (!el) return;
|
|
185
|
-
if (document.fullscreenElement) {
|
|
186
|
-
var _document$exitFullscr, _document;
|
|
187
|
-
(_document$exitFullscr = (_document = document).exitFullscreen) === null || _document$exitFullscr === void 0 || _document$exitFullscr.call(_document);
|
|
188
|
-
} else {
|
|
189
|
-
var _el$requestFullscreen;
|
|
190
|
-
(_el$requestFullscreen = el.requestFullscreen) === null || _el$requestFullscreen === void 0 || _el$requestFullscreen.call(el);
|
|
191
|
-
}
|
|
245
|
+
setIsFullscreen((prev) => !prev);
|
|
192
246
|
}, []);
|
|
247
|
+
/**
|
|
248
|
+
* 仅保留 fitBoundsRef 给手动 fitBounds 按钮用。
|
|
249
|
+
*
|
|
250
|
+
* 历史上这里有个 useEffect:进入伪全屏时自动 fitBounds 适配新视口。
|
|
251
|
+
* 但现在「编辑态自动全屏 + 视口持久化」的组合下,这会把用户上次保存的视角
|
|
252
|
+
* 覆盖成 fit 结果,导致每次进编辑都被强制全览,违背用户意图。
|
|
253
|
+
* 视口尺寸变化由 ResizeObserver 自然处理,transform 不变即「保留用户视角」。
|
|
254
|
+
*/
|
|
255
|
+
const fitBoundsRef = (0, react.useRef)(null);
|
|
193
256
|
/** @returns 是否已调用 setTransform(用于首屏 autoFit:避免空跑仍标记 done) */
|
|
194
257
|
const fitBounds = (0, react.useCallback)(() => {
|
|
195
|
-
|
|
258
|
+
/**
|
|
259
|
+
* 锁定态:拦截所有 fitBounds 触发路径(按钮 / autoFit useLayoutEffect / ref API),
|
|
260
|
+
* 让画布严格停留在用户锁定时的视角。返回 true 让 autoFit 调用方将 done 置位,
|
|
261
|
+
* 避免被无限重试占用 rAF。
|
|
262
|
+
*/
|
|
263
|
+
if (viewportLockedRef.current) return true;
|
|
196
264
|
const ctx = transformRef.current;
|
|
197
265
|
const container = containerRef.current;
|
|
198
266
|
if (!ctx || !container) return false;
|
|
199
267
|
const wrapper = container.querySelector(".react-transform-wrapper");
|
|
200
268
|
if (!wrapper) return false;
|
|
201
269
|
const wrapperRect = wrapper.getBoundingClientRect();
|
|
202
|
-
|
|
270
|
+
const wEl = wrapper;
|
|
271
|
+
/**
|
|
272
|
+
* 祖先链上若有 transform: scale / zoom,getBoundingClientRect 为「视觉」尺寸,
|
|
273
|
+
* clientWidth/Height 为布局盒尺寸。react-zoom-pan-pinch 的平移/缩放工作在布局坐标系,
|
|
274
|
+
* 若全览仅用 rect 算 avail 与 position,会与库内部不一致(日志:visual/layout≈0.864)。
|
|
275
|
+
*/
|
|
276
|
+
const layoutW = wEl.clientWidth > 0 ? wEl.clientWidth : wrapperRect.width;
|
|
277
|
+
const layoutH = wEl.clientHeight > 0 ? wEl.clientHeight : wrapperRect.height;
|
|
278
|
+
if (layoutW <= 0 || layoutH <= 0) return false;
|
|
279
|
+
/** 程序化 setTransform 默认带缓动:写入快照后立即保持「全览激活」,缓动结束前不因中间帧关掉 */
|
|
280
|
+
const applyProgrammaticFit = (fx, fy, fScale) => {
|
|
281
|
+
clearFitBoundsTweenHold();
|
|
282
|
+
lastFitSnapshotRef.current = {
|
|
283
|
+
x: fx,
|
|
284
|
+
y: fy,
|
|
285
|
+
scale: fScale
|
|
286
|
+
};
|
|
287
|
+
setIsAtFitBounds(true);
|
|
288
|
+
fitBoundsTweenHoldRef.current = true;
|
|
289
|
+
fitBoundsTweenHoldClearTimerRef.current = setTimeout(() => {
|
|
290
|
+
fitBoundsTweenHoldClearTimerRef.current = null;
|
|
291
|
+
fitBoundsTweenHoldRef.current = false;
|
|
292
|
+
const cur = lastTransformRef.current;
|
|
293
|
+
const s = lastFitSnapshotRef.current;
|
|
294
|
+
if (!s) return;
|
|
295
|
+
setIsAtFitBounds(Math.abs(s.x - cur.x) < .5 && Math.abs(s.y - cur.y) < .5 && Math.abs(s.scale - cur.scale) < .005);
|
|
296
|
+
}, FIT_BOUNDS_PROGRAMMATIC_TWEEN_GUARD_MS);
|
|
297
|
+
ctx.setTransform(fx, fy, fScale);
|
|
298
|
+
};
|
|
203
299
|
/**
|
|
204
300
|
* 平面图像素模式:按「图元轴对齐包围盒」缩放并居中,不按整块 content(含编辑态撑满视口的空白)适配。
|
|
205
301
|
* 画布 DOM 尺寸与网格空白不变,仅改变视口 transform;视口边可贴边(edgePx=0)。
|
|
206
302
|
*/
|
|
207
303
|
const pixelBox = isFloorMapView && effectiveItemUnit === "pixel" && items.length > 0 ? require_layoutMeasurements.getPixelBoundingBox(items, cellSize) : null;
|
|
304
|
+
/**
|
|
305
|
+
* 把按容器算出来的 raw fit 缩放夹到 `[zoom.min, zoom.max]`:
|
|
306
|
+
* - 上限保留原行为,避免 1×1 内容被放到比 max 还大;
|
|
307
|
+
* - **下限新增**:全览态下多画布拼合后 raw 经常 < minScale(如 40%),
|
|
308
|
+
* 原先直接落到 raw 会让 TransformWrapper 处于「比配置最小缩放更小」的
|
|
309
|
+
* 状态,用户再用鼠标 / +/- 一动就跳回 minScale,体验很怪。
|
|
310
|
+
* 夹到 minScale 后会自动按真实 minScale 居中,超出部分由用户平移浏览。
|
|
311
|
+
*/
|
|
312
|
+
const clampFitScale = (raw) => {
|
|
313
|
+
var _zoom$min2, _zoom$max2;
|
|
314
|
+
return Math.max((_zoom$min2 = zoom.min) !== null && _zoom$min2 !== void 0 ? _zoom$min2 : .5, Math.min(raw, (_zoom$max2 = zoom.max) !== null && _zoom$max2 !== void 0 ? _zoom$max2 : 2));
|
|
315
|
+
};
|
|
208
316
|
if (pixelBox) {
|
|
209
|
-
var _zoom$max2;
|
|
210
317
|
const bw = Math.max(1, pixelBox.maxRight - pixelBox.minLeft);
|
|
211
318
|
const bh = Math.max(1, pixelBox.maxBottom - pixelBox.minTop);
|
|
212
319
|
const edgePx = 0;
|
|
213
|
-
const availW = Math.max(1,
|
|
214
|
-
const availH = Math.max(1,
|
|
215
|
-
const
|
|
216
|
-
const nextScale = Math.min(raw, (_zoom$max2 = zoom.max) !== null && _zoom$max2 !== void 0 ? _zoom$max2 : 2);
|
|
320
|
+
const availW = Math.max(1, layoutW - 2 * edgePx);
|
|
321
|
+
const availH = Math.max(1, layoutH - 2 * edgePx);
|
|
322
|
+
const nextScale = clampFitScale(Math.min(availW / bw, availH / bh));
|
|
217
323
|
const ap = alignPadSingle !== null && alignPadSingle !== void 0 ? alignPadSingle : padSingle;
|
|
218
324
|
const bboxCx = ap + bw / 2;
|
|
219
325
|
const bboxCy = ap + bh / 2;
|
|
220
|
-
|
|
221
|
-
const y = wrapperRect.height / 2 - bboxCy * nextScale;
|
|
222
|
-
ctx.setTransform(x, y, nextScale);
|
|
326
|
+
applyProgrammaticFit(layoutW / 2 - bboxCx * nextScale, layoutH / 2 - bboxCy * nextScale, nextScale);
|
|
223
327
|
return true;
|
|
224
328
|
}
|
|
225
329
|
if (contentWidth <= 0 || contentHeight <= 0) return false;
|
|
226
|
-
|
|
227
|
-
const raw = Math.min(wrapperRect.width / contentWidth, wrapperRect.height / contentHeight);
|
|
228
|
-
const nextScale = Math.min(raw, (_zoom$max3 = zoom.max) !== null && _zoom$max3 !== void 0 ? _zoom$max3 : 2);
|
|
330
|
+
const nextScale = clampFitScale(Math.min(layoutW / contentWidth, layoutH / contentHeight));
|
|
229
331
|
const padA = alignPadSingle !== null && alignPadSingle !== void 0 ? alignPadSingle : 0;
|
|
230
|
-
|
|
231
|
-
const y = VIEWPORT_TOP_LEFT_MARGIN - padA * nextScale;
|
|
232
|
-
ctx.setTransform(x, y, nextScale);
|
|
332
|
+
applyProgrammaticFit(16 - padA * nextScale, 16 - padA * nextScale, nextScale);
|
|
233
333
|
return true;
|
|
234
334
|
}, [
|
|
335
|
+
clearFitBoundsTweenHold,
|
|
235
336
|
contentWidth,
|
|
236
337
|
contentHeight,
|
|
237
|
-
zoom
|
|
338
|
+
zoom,
|
|
238
339
|
transformRef,
|
|
239
340
|
alignPadSingle,
|
|
240
341
|
isFloorMapView,
|
|
@@ -243,6 +344,8 @@ function useFloorMapTransformMetrics(params) {
|
|
|
243
344
|
cellSize,
|
|
244
345
|
padSingle
|
|
245
346
|
]);
|
|
347
|
+
/** 让"进入伪全屏后自动 fit"的 effect 能拿到最新的 fitBounds 实现 */
|
|
348
|
+
fitBoundsRef.current = fitBounds;
|
|
246
349
|
/**
|
|
247
350
|
* autoFitOnMount:每个画布在「有图元且 content 尺寸已按包围盒算好」后执行一次 fitBounds。
|
|
248
351
|
* 避免首帧 items 仍为空时用占位尺寸 fit 完并标记 done,导致异步图元加载后不再适配。
|
|
@@ -253,6 +356,13 @@ function useFloorMapTransformMetrics(params) {
|
|
|
253
356
|
});
|
|
254
357
|
const prevItemsCountForAutoFitRef = (0, react.useRef)(null);
|
|
255
358
|
/**
|
|
359
|
+
* 记录「本 frame 的 transform 已由视口缓存接管」:
|
|
360
|
+
* 命中 localStorage 恢复或 restore effect 完成后写入当前 frame。
|
|
361
|
+
* 只要等于当前 frame,autoFit 所有分支(包括 items 从 0→N 的 reset done)一律放弃,
|
|
362
|
+
* 防止 items 异步加载后 autoFit 覆盖恢复值 → onTransformed 又把 fit 结果回写到 localStorage。
|
|
363
|
+
*/
|
|
364
|
+
const cachedRestoredFrameRef = (0, react.useRef)("");
|
|
365
|
+
/**
|
|
256
366
|
* 首屏 auto fit:时序上易出现「Transform 未挂载 / wrapper 尺寸为 0 / 内容区尚未提交」,
|
|
257
367
|
* 用 layoutEffect + 双 rAF 贴近浏览器布局完成时刻;仅 fitBounds 真正 setTransform 后才记 done;
|
|
258
368
|
* viewportSize 纳入依赖以便父级 flex 迟到的尺寸更新后重试(超次不伪造 done)。
|
|
@@ -266,10 +376,24 @@ function useFloorMapTransformMetrics(params) {
|
|
|
266
376
|
done: false
|
|
267
377
|
};
|
|
268
378
|
prevItemsCountForAutoFitRef.current = null;
|
|
379
|
+
/**
|
|
380
|
+
* 命中视口缓存:跳过本帧 autoFit,让恢复 effect 用缓存 transform 接管。
|
|
381
|
+
* 避免「先 autoFit 一次再被恢复覆盖」造成的视觉闪烁。
|
|
382
|
+
* 同步打上「缓存接管」标记,防止下面的「items 0→N reset done」再度启用 autoFit
|
|
383
|
+
* 覆盖恢复值并把 fit 结果通过 onTransformed 回写 localStorage。
|
|
384
|
+
*/
|
|
385
|
+
if (viewportPersistKey && require_floorMapViewportPersistence.readPersistedViewport(viewportPersistKey)) {
|
|
386
|
+
autoFitOnceRef.current.done = true;
|
|
387
|
+
cachedRestoredFrameRef.current = frame;
|
|
388
|
+
} else if (cachedRestoredFrameRef.current !== frame) cachedRestoredFrameRef.current = "";
|
|
269
389
|
}
|
|
270
390
|
const itemCount = items.length;
|
|
271
391
|
const prevN = prevItemsCountForAutoFitRef.current;
|
|
272
|
-
|
|
392
|
+
/**
|
|
393
|
+
* 已由缓存接管本 frame 的 transform:items 异步加载完成后绝不重新启用 autoFit,
|
|
394
|
+
* 否则会把用户上次拖拽的位置覆盖成适配视口,且被 onTransformed 回写 localStorage。
|
|
395
|
+
*/
|
|
396
|
+
if (prevN !== null && prevN === 0 && itemCount > 0 && cachedRestoredFrameRef.current !== frame) autoFitOnceRef.current.done = false;
|
|
273
397
|
prevItemsCountForAutoFitRef.current = itemCount;
|
|
274
398
|
if (autoFitOnceRef.current.done) return;
|
|
275
399
|
if (effectiveItemUnit === "pixel" && itemCount === 0) return;
|
|
@@ -327,7 +451,8 @@ function useFloorMapTransformMetrics(params) {
|
|
|
327
451
|
mapAreaSize.width,
|
|
328
452
|
mapAreaSize.height,
|
|
329
453
|
fitBounds,
|
|
330
|
-
transformRef
|
|
454
|
+
transformRef,
|
|
455
|
+
viewportPersistKey
|
|
331
456
|
]);
|
|
332
457
|
const lastTransformRef = (0, react.useRef)({
|
|
333
458
|
x: 0,
|
|
@@ -350,6 +475,208 @@ function useFloorMapTransformMetrics(params) {
|
|
|
350
475
|
});
|
|
351
476
|
return () => cancelAnimationFrame(raf);
|
|
352
477
|
}, [isInteractingWithElement, transformRef]);
|
|
478
|
+
/**
|
|
479
|
+
* 视口持久化:写入节流 + 切 canvas 时清掉 pending;
|
|
480
|
+
* persistKeyRef 保证 debounce 触发时仍然写到「触发时刻」对应的 key(避免 key 变化后被错位写入)。
|
|
481
|
+
*/
|
|
482
|
+
const persistKeyRef = (0, react.useRef)(viewportPersistKey);
|
|
483
|
+
persistKeyRef.current = viewportPersistKey;
|
|
484
|
+
const persistTimerRef = (0, react.useRef)(null);
|
|
485
|
+
const flushPersistRef = (0, react.useRef)(null);
|
|
486
|
+
const schedulePersistViewport = (0, react.useCallback)((snapshot) => {
|
|
487
|
+
const key = persistKeyRef.current;
|
|
488
|
+
if (!key) return;
|
|
489
|
+
if (persistTimerRef.current != null) {
|
|
490
|
+
clearTimeout(persistTimerRef.current);
|
|
491
|
+
persistTimerRef.current = null;
|
|
492
|
+
}
|
|
493
|
+
const targetKey = key;
|
|
494
|
+
const doWrite = () => {
|
|
495
|
+
persistTimerRef.current = null;
|
|
496
|
+
flushPersistRef.current = null;
|
|
497
|
+
require_floorMapViewportPersistence.writePersistedViewport(targetKey, snapshot);
|
|
498
|
+
};
|
|
499
|
+
flushPersistRef.current = doWrite;
|
|
500
|
+
persistTimerRef.current = setTimeout(doWrite, 300);
|
|
501
|
+
}, []);
|
|
502
|
+
/**
|
|
503
|
+
* 由 onTransformed 回调统一上报当前 transform:
|
|
504
|
+
* - 写 lastTransformRef(替代父组件直接赋值)
|
|
505
|
+
* - 与最近一次 fitBounds 快照比较,更新激活态
|
|
506
|
+
*
|
|
507
|
+
* ❗注意:故意不在这里写 localStorage。
|
|
508
|
+
* react-zoom-pan-pinch 在挂载、`setTransform`、`fitBounds`、`resetTransform` 等程序化路径
|
|
509
|
+
* 也会触发 onTransformed(含挂载初始值 {x:16, y:16, scale:1}),若在此持久化,
|
|
510
|
+
* wrapper 重挂载时会用这份"初始值"覆盖 localStorage 里用户上次保存的视角。
|
|
511
|
+
* 持久化改由 onPanningStop / onPinchingStop / onZoomStop / onWheelStop 触发,
|
|
512
|
+
* 那些事件只在「用户真的拖完/缩放完」时才发生。
|
|
513
|
+
*/
|
|
514
|
+
const notifyTransformed = (0, react.useCallback)((x, y, nextScale) => {
|
|
515
|
+
lastTransformRef.current = {
|
|
516
|
+
x,
|
|
517
|
+
y,
|
|
518
|
+
scale: nextScale
|
|
519
|
+
};
|
|
520
|
+
const snap = lastFitSnapshotRef.current;
|
|
521
|
+
if (snap) {
|
|
522
|
+
const same = Math.abs(snap.x - x) < .5 && Math.abs(snap.y - y) < .5 && Math.abs(snap.scale - nextScale) < .005;
|
|
523
|
+
if (fitBoundsTweenHoldRef.current) {
|
|
524
|
+
if (same) {
|
|
525
|
+
clearFitBoundsTweenHold();
|
|
526
|
+
setIsAtFitBounds(true);
|
|
527
|
+
}
|
|
528
|
+
/** 缓动中间帧:保持已设的「全览激活」,不因尚未对齐快照而关掉 */
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
setIsAtFitBounds((prev) => prev === same ? prev : same);
|
|
532
|
+
} else setIsAtFitBounds((prev) => prev ? false : prev);
|
|
533
|
+
}, [clearFitBoundsTweenHold]);
|
|
534
|
+
/**
|
|
535
|
+
* 用户交互结束时(pan / zoom / pinch / wheel stop)调用:
|
|
536
|
+
* 以 lastTransformRef 当前值为快照写 localStorage(debounce 兜底高频 stop)。
|
|
537
|
+
* 程序化的 setTransform / fitBounds / 挂载初始化都不会调这里,避免污染缓存。
|
|
538
|
+
*/
|
|
539
|
+
const persistCurrentViewport = (0, react.useCallback)(() => {
|
|
540
|
+
const snapshot = lastTransformRef.current;
|
|
541
|
+
schedulePersistViewport({
|
|
542
|
+
x: snapshot.x,
|
|
543
|
+
y: snapshot.y,
|
|
544
|
+
scale: snapshot.scale
|
|
545
|
+
});
|
|
546
|
+
}, [schedulePersistViewport]);
|
|
547
|
+
/** 让 restore 路径读到最新 frameResetKey,避免 closure 过期 */
|
|
548
|
+
const frameResetKeyRef = (0, react.useRef)(frameResetKey);
|
|
549
|
+
frameResetKeyRef.current = frameResetKey;
|
|
550
|
+
const viewportPersistKeyRef = (0, react.useRef)(viewportPersistKey);
|
|
551
|
+
viewportPersistKeyRef.current = viewportPersistKey;
|
|
552
|
+
/**
|
|
553
|
+
* 把缓存视角立即贴到画布上的统一入口(restore effect 与 attachTransformContext 共用)。
|
|
554
|
+
*
|
|
555
|
+
* 关键点:
|
|
556
|
+
* 1. setTransform 的 animationTime 必须传 0:
|
|
557
|
+
* - react-zoom-pan-pinch 默认 200ms 缓动;
|
|
558
|
+
* - 首屏若 namespace 异步、autoFit 抢先 setTransform(fit) 并仍在缓动中,
|
|
559
|
+
* restore 这次 setTransform 会被库认为是「动画过程中无意义的同向 set」吃掉
|
|
560
|
+
* 或与原动画合成,最终视觉停在 fit 处;
|
|
561
|
+
* - 传 0 等价于"立即落点",强制覆盖任何在飞动画。
|
|
562
|
+
* 2. 命中后立刻把 cachedRestoredFrameRef / autoFit done / initialAlign done 都打上,
|
|
563
|
+
* 防止后续 effect 反向覆盖缓存值。
|
|
564
|
+
*/
|
|
565
|
+
const applyPersistedViewport = (0, react.useCallback)((cached) => {
|
|
566
|
+
clearFitBoundsTweenHold();
|
|
567
|
+
const ctx = transformRef.current;
|
|
568
|
+
if (!ctx) return false;
|
|
569
|
+
ctx.setTransform(cached.x, cached.y, cached.scale, 0);
|
|
570
|
+
lastTransformRef.current = require_objectSpread2._objectSpread2({}, cached);
|
|
571
|
+
lastFitSnapshotRef.current = null;
|
|
572
|
+
setIsAtFitBounds(false);
|
|
573
|
+
autoFitOnceRef.current.done = true;
|
|
574
|
+
initialAlignRef.current.done = true;
|
|
575
|
+
const currentFrame = frameResetKeyRef.current;
|
|
576
|
+
if (currentFrame !== void 0) cachedRestoredFrameRef.current = String(currentFrame);
|
|
577
|
+
return true;
|
|
578
|
+
}, [clearFitBoundsTweenHold, transformRef]);
|
|
579
|
+
/**
|
|
580
|
+
* 切换 viewportPersistKey 或 frameResetKey 时(含挂载、wrapper 重挂载):
|
|
581
|
+
* 尝试从 localStorage 读取上次视角并恢复。命中缓存 → 阻止本帧 autoFitOnMount /
|
|
582
|
+
* 首次左上对齐覆盖。未命中保持原行为。
|
|
583
|
+
*
|
|
584
|
+
* ❗frameResetKey 必须在依赖里:
|
|
585
|
+
* `transformWrapperKey` 在远端配置(boundingPadding / defaultScale)回包后会变,
|
|
586
|
+
* 触发 TransformWrapper 卸载重挂载并以 `initialPositionX/Y/Scale` (≈16,16,1) 渲染。
|
|
587
|
+
* 仅依赖 viewportPersistKey 时此处不会重跑,画布会停在初始 transform,
|
|
588
|
+
* 用户上次保存的视角虽然在 localStorage 里却没"贴回"画布。
|
|
589
|
+
*/
|
|
590
|
+
(0, react.useEffect)(() => {
|
|
591
|
+
if (!viewportPersistKey) return;
|
|
592
|
+
const cached = require_floorMapViewportPersistence.readPersistedViewport(viewportPersistKey);
|
|
593
|
+
if (!cached) return;
|
|
594
|
+
let cancelled = false;
|
|
595
|
+
let raf1 = 0;
|
|
596
|
+
let raf2 = 0;
|
|
597
|
+
let attempts = 0;
|
|
598
|
+
const MAX_ATTEMPTS = 60;
|
|
599
|
+
const tick = () => {
|
|
600
|
+
if (cancelled) return;
|
|
601
|
+
if (!applyPersistedViewport(cached)) {
|
|
602
|
+
if (attempts++ < MAX_ATTEMPTS) raf1 = requestAnimationFrame(tick);
|
|
603
|
+
}
|
|
604
|
+
};
|
|
605
|
+
/** 双 rAF:等 TransformWrapper 的 ctx 就绪后再写 */
|
|
606
|
+
raf1 = requestAnimationFrame(() => {
|
|
607
|
+
raf2 = requestAnimationFrame(tick);
|
|
608
|
+
});
|
|
609
|
+
return () => {
|
|
610
|
+
cancelled = true;
|
|
611
|
+
cancelAnimationFrame(raf1);
|
|
612
|
+
cancelAnimationFrame(raf2);
|
|
613
|
+
};
|
|
614
|
+
}, [
|
|
615
|
+
viewportPersistKey,
|
|
616
|
+
frameResetKey,
|
|
617
|
+
applyPersistedViewport
|
|
618
|
+
]);
|
|
619
|
+
/**
|
|
620
|
+
* PisellFloorMapLayout 在 TransformWrapper children render 中调用:
|
|
621
|
+
* {(ctx) => { attachTransformContext(ctx); return <>...</> }}
|
|
622
|
+
*
|
|
623
|
+
* 用途:wrapper 首次挂载 / 重挂载时,立刻 schedule 一次 restore,
|
|
624
|
+
* 避免依赖 useEffect、namespace 异步、autoFit 抢先 setTransform 之间的复杂时序。
|
|
625
|
+
*
|
|
626
|
+
* ⚠️ 不要用「ctx 引用是否变化」做去重:
|
|
627
|
+
* react-zoom-pan-pinch 在每次内部状态更新(缩放 / 平移过程中的 onTransformed)
|
|
628
|
+
* 都会让父组件重 render,children render 函数会再次被调用,部分版本下 ctx 是新对象引用。
|
|
629
|
+
* 一旦把它判成「新 ctx」再次 schedule restore,就会把用户刚做的缩放/平移
|
|
630
|
+
* 又覆盖回缓存,表现成「拖动可以,缩放回弹/缩放不动」。
|
|
631
|
+
*
|
|
632
|
+
* 改用 cachedRestoredFrameRef 做幂等:每个 frame(= TransformWrapper 的 key)
|
|
633
|
+
* 在生命周期内只 restore 一次。frame 真变化(wrapper 卸载重挂载)时,autoFit
|
|
634
|
+
* useLayoutEffect 的 reset 分支会清掉 / 重置该 ref,attach 自然能再次触发。
|
|
635
|
+
*/
|
|
636
|
+
const attachTransformContext = (0, react.useCallback)((ctx) => {
|
|
637
|
+
transformRef.current = ctx;
|
|
638
|
+
const key = viewportPersistKeyRef.current;
|
|
639
|
+
const currentFrame = frameResetKeyRef.current;
|
|
640
|
+
if (!key || currentFrame === void 0) return;
|
|
641
|
+
const frameStr = String(currentFrame);
|
|
642
|
+
/** 该 frame 已经 restore 过(attach 触发或 autoFit reset 分支命中均会标记) */
|
|
643
|
+
if (cachedRestoredFrameRef.current === frameStr) return;
|
|
644
|
+
const cached = require_floorMapViewportPersistence.readPersistedViewport(key);
|
|
645
|
+
if (!cached) return;
|
|
646
|
+
/**
|
|
647
|
+
* 立刻占座:避免本帧后续如果触发 attach 重入 / restore useEffect 同步跑
|
|
648
|
+
* 出现两条 setTransform 路径并发。applyPersistedViewport 内部还会再设一次
|
|
649
|
+
* (等于幂等)。
|
|
650
|
+
*/
|
|
651
|
+
cachedRestoredFrameRef.current = frameStr;
|
|
652
|
+
/**
|
|
653
|
+
* 双 rAF 等 wrapper 内部 useEffect / 初始 onTransformed 走完,
|
|
654
|
+
* 否则可能被库的 init 回调把 transform 又重置回 initial。
|
|
655
|
+
*/
|
|
656
|
+
requestAnimationFrame(() => {
|
|
657
|
+
requestAnimationFrame(() => {
|
|
658
|
+
/** 等待期间 frame 又变了(快速切画布)则交给新 frame 的 attach 处理 */
|
|
659
|
+
if (frameResetKeyRef.current !== currentFrame) return;
|
|
660
|
+
applyPersistedViewport(cached);
|
|
661
|
+
});
|
|
662
|
+
});
|
|
663
|
+
}, [transformRef, applyPersistedViewport]);
|
|
664
|
+
/** 卸载 / key 变化时把待写的视口立刻 flush,避免快速来回切丢失最后一次操作 */
|
|
665
|
+
(0, react.useEffect)(() => {
|
|
666
|
+
return () => {
|
|
667
|
+
var _flushPersistRef$curr;
|
|
668
|
+
if (persistTimerRef.current != null) {
|
|
669
|
+
clearTimeout(persistTimerRef.current);
|
|
670
|
+
persistTimerRef.current = null;
|
|
671
|
+
}
|
|
672
|
+
(_flushPersistRef$curr = flushPersistRef.current) === null || _flushPersistRef$curr === void 0 || _flushPersistRef$curr.call(flushPersistRef);
|
|
673
|
+
flushPersistRef.current = null;
|
|
674
|
+
if (fitBoundsTweenHoldClearTimerRef.current != null) {
|
|
675
|
+
clearTimeout(fitBoundsTweenHoldClearTimerRef.current);
|
|
676
|
+
fitBoundsTweenHoldClearTimerRef.current = null;
|
|
677
|
+
}
|
|
678
|
+
};
|
|
679
|
+
}, [viewportPersistKey]);
|
|
353
680
|
return {
|
|
354
681
|
containerRef,
|
|
355
682
|
mapAreaRef,
|
|
@@ -367,9 +694,16 @@ function useFloorMapTransformMetrics(params) {
|
|
|
367
694
|
isFullscreen,
|
|
368
695
|
toggleFullscreen,
|
|
369
696
|
fitBounds,
|
|
697
|
+
isAtFitBounds,
|
|
698
|
+
notifyTransformed,
|
|
699
|
+
persistCurrentViewport,
|
|
700
|
+
attachTransformContext,
|
|
370
701
|
lastTransformRef,
|
|
371
702
|
isInteractingWithElement,
|
|
372
|
-
setIsInteractingWithElement
|
|
703
|
+
setIsInteractingWithElement,
|
|
704
|
+
viewportLocked,
|
|
705
|
+
setViewportLocked,
|
|
706
|
+
toggleViewportLocked
|
|
373
707
|
};
|
|
374
708
|
}
|
|
375
709
|
//#endregion
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { DataSourceFormColumn, FLOOR_MAP_IMAGE_ELEMENT_KIND, FLOOR_MAP_STAGE_ELEMENT_KIND, FloorMapBackgroundType, FloorMapCanvas, FloorMapCanvasNameI18n, FloorMapCanvasUiConfig, FloorMapControlsConfig, FloorMapDataSourceRecordFormContent, FloorMapDataSources, FloorMapEdge, FloorMapElementDataBindingPolicy, FloorMapElementDefaultPresentation, FloorMapElementKindCategory, FloorMapElementKindConfig, FloorMapFullscreenMode, FloorMapGridLayoutConfig, FloorMapItemBase, FloorMapItemShape, FloorMapItemUnit, FloorMapLayerConfig, FloorMapLayoutContextValue, FloorMapLayoutMode, FloorMapMergedItem, FloorMapPanBoundary, FloorMapPanConfig, FloorMapRecordFormRenderContext, FloorMapRenderOptions, FloorMapSceneElement, FloorMapSceneElementDataBinding, FloorMapTextSlot, FloorMapViewConfig, FloorMapViewportOverlayRenderArgs, FloorMapZoomConfig, PisellFloorMapLayoutProps, PisellFloorMapLayoutRef } from "./types.js";
|
|
1
|
+
import { DataSourceFormColumn, FLOOR_MAP_BUILTIN_SHAPE_ELEMENT_KIND, FLOOR_MAP_IMAGE_ELEMENT_KIND, FLOOR_MAP_STAGE_ELEMENT_KIND, FloorMapBackgroundType, FloorMapCanvas, FloorMapCanvasNameI18n, FloorMapCanvasUiConfig, FloorMapControlsConfig, FloorMapDataSourceRecordFormContent, FloorMapDataSources, FloorMapEdge, FloorMapElementDataBindingPolicy, FloorMapElementDefaultPresentation, FloorMapElementKindCategory, FloorMapElementKindConfig, FloorMapFullscreenMode, FloorMapGridLayoutConfig, FloorMapItemBase, FloorMapItemShape, FloorMapItemUnit, FloorMapLayerConfig, FloorMapLayoutContextValue, FloorMapLayoutMode, FloorMapMergedItem, FloorMapPanBoundary, FloorMapPanConfig, FloorMapRecordFormRenderContext, FloorMapRenderOptions, FloorMapSceneElement, FloorMapSceneElementDataBinding, FloorMapTextSlot, FloorMapViewConfig, FloorMapViewportOverlayRenderArgs, FloorMapZoomConfig, PisellFloorMapLayoutProps, PisellFloorMapLayoutRef } from "./types.js";
|
|
2
2
|
import { PisellFloorMapLayout } from "./PisellFloorMapLayout.js";
|
|
3
3
|
import { renderFloorMapFallbackPlaceholder } from "./utils/floorMapFallbackRender.js";
|
|
4
|
-
import { isFloorMapImageElementKind } from "./utils/floorMapElementKindUtils.js";
|
|
4
|
+
import { isFloorMapBuiltinShapeElementKind, isFloorMapImageElementKind } from "./utils/floorMapElementKindUtils.js";
|
|
5
|
+
import { FLOOR_MAP_BUILTIN_SHAPES, FloorMapBuiltinShapeDef, FloorMapBuiltinShapeRenderProps, getFloorMapBuiltinShapeDef } from "./utils/floorMapBuiltinShapes.js";
|
|
6
|
+
import { NAME_AS_TITLE_EXT_KEY, buildNameAsTitleExtensionsPatch, isElementNameAsTitleEnabled, resolveSceneElementDisplayTitle } from "./utils/floorMapElementNameAsTitle.js";
|
|
5
7
|
import { FloorMapBindingPlaceholderReason, FloorMapDataSourceRow, findFloorMapRowByDataBinding, getFloorMapBindingPlaceholderReason } from "./utils/floorMapDataBindingUtils.js";
|
|
6
8
|
import { CreateShopFloorPlanClientOptions, EnsureShopFloorPlanByCodeOptions, PostShopFloorPlanBody, PutShopFloorPlanBody, SHOP_FLOOR_PLAN_DUPLICATE_CODE, ShopFloorPlanByCodeRequestOptions, ShopFloorPlanDetail, ShopFloorPlanHttpAdapter, ShopFloorPlanLayoutItem } from "./shopFloorPlan/shopFloorPlanTypes.js";
|
|
7
9
|
import { createShopFloorPlanClient } from "./shopFloorPlan/shopFloorPlanClient.js";
|
|
@@ -12,4 +14,5 @@ import { WrapFloorMapOnSaveWithRemotePersistParams, wrapFloorMapOnSaveWithRemote
|
|
|
12
14
|
import { EMPTY_FLOOR_MAP_LAYOUT_CONTEXT, FloorMapLayoutProvider, FloorMapLayoutProviderProps, useFloorMapLayoutContext } from "./context/FloorMapLayoutContext.js";
|
|
13
15
|
import { mergeFloorMapLayoutPropsFromContext } from "./context/mergeFloorMapLayoutContext.js";
|
|
14
16
|
import { FloorMapImageElement } from "./components/FloorMapImageElement.js";
|
|
17
|
+
import { FloorMapBuiltinShapeElement } from "./components/FloorMapBuiltinShapeElement.js";
|
|
15
18
|
import { FigmaTableCardItem, FigmaTableStatus, getFigmaTableCardFromMerged, getRenderItemByKindRoundTable, getRenderItemByKindTable, renderFigmaStyleRoundTableCard, renderFigmaStyleTableCard } from "./components/FigmaTableCard.js";
|