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