@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
|
@@ -1,758 +0,0 @@
|
|
|
1
|
-
import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
2
|
-
import { _asyncToGenerator } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js";
|
|
3
|
-
import { buildCalendarTimelineSlotStartsFromRange } from "../../../pisellTimeNavigator/utils/index.js";
|
|
4
|
-
import { useCalendarPersist } from "./calendarPersistGuard.js";
|
|
5
|
-
import { DEFAULT_CALENDAR_TIMELINE } from "./const/bookingCalendarConstants.js";
|
|
6
|
-
import { tCal } from "./calendarI18n.js";
|
|
7
|
-
import { addDays, dayAndHourToDayjs, fmtDate, groupSelectedSlots, isFreeSelectionContiguousSameResource, isHourInTimelineSlots, monthCalendarDays, monthGrid, rangeDays, startOfWeek } from "./utils/bookingCalendarDateUtils.js";
|
|
8
|
-
import { MoveConfirmModal } from "./modal/MoveConfirmModal.js";
|
|
9
|
-
import { BookingCalendarBlockPanel } from "./modal/BookingCalendarBlockPanel.js";
|
|
10
|
-
import { buildGroupedCourtRows } from "./bookingCalendarViewShared.js";
|
|
11
|
-
import { BookingCalendarOverflowListLayer } from "./modal/BookingCalendarOverflowListLayer.js";
|
|
12
|
-
import { BookingCalendarMonthView } from "./view/BookingCalendarMonthView.js";
|
|
13
|
-
import { BookingCalendarWeekView } from "./view/BookingCalendarWeekView.js";
|
|
14
|
-
import { BookingCalendarDayView } from "./view/BookingCalendarDayView.js";
|
|
15
|
-
import { BookingCalendarResourceView } from "./view/BookingCalendarResourceView.js";
|
|
16
|
-
import { BookingCalendarDaySelectionBar } from "./view/BookingCalendarDaySelectionBar.js";
|
|
17
|
-
import { isResourceSelectionContiguousSameCourt } from "./utils/bookingCalendarSelectionUtils.js";
|
|
18
|
-
import { useBookingCalendarDayOverlayLayout } from "./hooks/useBookingCalendarDayOverlayLayout.js";
|
|
19
|
-
import { useBookingCalendarDayHourRemaining } from "./view/day/useBookingCalendarDayHourRemaining.js";
|
|
20
|
-
import { useBookingCalendarDaySelection } from "./view/day/useBookingCalendarDaySelection.js";
|
|
21
|
-
import { useBookingCalendarResourceDayHeaderRemaining } from "./view/resource/useBookingCalendarResourceDayHeaderRemaining.js";
|
|
22
|
-
import { useBookingCalendarResourceCellToggle } from "./view/resource/useBookingCalendarResourceCellToggle.js";
|
|
23
|
-
import { useBookingCalendarGoToDayFromCell } from "./view/useBookingCalendarGoToDayFromCell.js";
|
|
24
|
-
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
25
|
-
import { Spin, message } from "antd";
|
|
26
|
-
import "./BookingCalendar.less";
|
|
27
|
-
//#region src/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.tsx
|
|
28
|
-
/**
|
|
29
|
-
* RecordBoard 预约日历:月 / 周 / 日三视图,资源分组与折叠、锁台、拖拽改期、日视图多 lane overlay。
|
|
30
|
-
* 受控:`calendarView`、`anchorDate`、`bookings` 等见 {@link RecordBoardCalendarProps};未传时由内部 state 驱动(便于 Story)。
|
|
31
|
-
*/
|
|
32
|
-
/** 看板日历根组件:内含主题 CSS 与 Spin,按 `view` 挂载月 / 周 / 日子组件 */
|
|
33
|
-
function BookingCalendar(props = {}) {
|
|
34
|
-
var _hourSlots$;
|
|
35
|
-
const allowPersist = useCalendarPersist();
|
|
36
|
-
/** 将 `resources` 规范为 `{ id, name, type }`,供分组与三视图共用 */
|
|
37
|
-
const courts = useMemo(() => {
|
|
38
|
-
const r = props.resources;
|
|
39
|
-
if (Array.isArray(r) && r.length > 0) {
|
|
40
|
-
const mapped = r.filter((x) => x && x.id !== void 0 && x.id !== null && String(x.id).trim() !== "").map((x) => ({
|
|
41
|
-
id: String(x.id),
|
|
42
|
-
name: x.name != null && String(x.name).trim() !== "" ? String(x.name) : String(x.id),
|
|
43
|
-
type: x.groupType && String(x.groupType).trim() !== "" ? String(x.groupType) : tCal("pisell2.recordBoard.calendar.common.resourceFallback")
|
|
44
|
-
}));
|
|
45
|
-
if (mapped.length > 0) return mapped;
|
|
46
|
-
}
|
|
47
|
-
return [];
|
|
48
|
-
}, [props.resources]);
|
|
49
|
-
/** 顶栏受控:有 props 用 props,无则回退本地 state(便于 Story 单测) */
|
|
50
|
-
const isLight = props.appearance === "light";
|
|
51
|
-
const [internalView, setInternalView] = useState("month");
|
|
52
|
-
const [internalAnchor, setInternalAnchor] = useState(() => /* @__PURE__ */ new Date());
|
|
53
|
-
const view = props.calendarView != null ? props.calendarView : internalView;
|
|
54
|
-
const anchorDate = useMemo(() => {
|
|
55
|
-
if (props.anchorDate != null) return new Date(props.anchorDate);
|
|
56
|
-
return internalAnchor;
|
|
57
|
-
}, [props.anchorDate != null ? props.anchorDate.getTime() : null, internalAnchor]);
|
|
58
|
-
const resolvedSlotMinutes = useMemo(() => {
|
|
59
|
-
var _props$slotStepMinute;
|
|
60
|
-
const raw = (_props$slotStepMinute = props.slotStepMinutes) !== null && _props$slotStepMinute !== void 0 ? _props$slotStepMinute : 60;
|
|
61
|
-
const n = Math.round(Number(raw));
|
|
62
|
-
if (!Number.isFinite(n) || n < 1) return 60;
|
|
63
|
-
return Math.min(1440, n);
|
|
64
|
-
}, [props.slotStepMinutes]);
|
|
65
|
-
const slotStepHours = resolvedSlotMinutes / 60;
|
|
66
|
-
/** 每槽一列固定为「原整点列」宽度,细粒度仅增加列数,由容器横向滚动承载(日/周等时间轴) */
|
|
67
|
-
const slotColWidth = 92;
|
|
68
|
-
/** 资源视图:按「日」分列,单列单独加宽 */
|
|
69
|
-
const resourceViewSlotColWidth = 102;
|
|
70
|
-
const timelinePxPerHour = 92 / slotStepHours;
|
|
71
|
-
/** 切换月/周/日:先 `onCalendarViewChange`,无受控回调时再 `setInternalView` */
|
|
72
|
-
const commitView = (v) => {
|
|
73
|
-
var _props$onCalendarView;
|
|
74
|
-
(_props$onCalendarView = props.onCalendarViewChange) === null || _props$onCalendarView === void 0 || _props$onCalendarView.call(props, v);
|
|
75
|
-
if (!props.onCalendarViewChange) setInternalView(v);
|
|
76
|
-
};
|
|
77
|
-
/** 切换锚定日:先 `onAnchorDateChange`,无受控时再 `setInternalAnchor` */
|
|
78
|
-
const commitAnchor = (d) => {
|
|
79
|
-
var _props$onAnchorDateCh;
|
|
80
|
-
(_props$onAnchorDateCh = props.onAnchorDateChange) === null || _props$onAnchorDateCh === void 0 || _props$onAnchorDateCh.call(props, d);
|
|
81
|
-
if (!props.onAnchorDateChange) setInternalAnchor(d);
|
|
82
|
-
};
|
|
83
|
-
const [internalBookings, setBookings] = useState([]);
|
|
84
|
-
/** 预约与锁台片段列表;受控时用 props,否则用本地演示数据 */
|
|
85
|
-
const bookings = props.bookings != null ? props.bookings : internalBookings;
|
|
86
|
-
/** 锚定日或视图变化时上报当前可视区间,供业务按范围拉数 */
|
|
87
|
-
useEffect(() => {
|
|
88
|
-
if (!props.onViewportChange) return;
|
|
89
|
-
const a = new Date(anchorDate);
|
|
90
|
-
let rangeStart;
|
|
91
|
-
let rangeEnd;
|
|
92
|
-
if (view === "month") {
|
|
93
|
-
rangeStart = new Date(a.getFullYear(), a.getMonth(), 1);
|
|
94
|
-
rangeEnd = new Date(a.getFullYear(), a.getMonth() + 1, 0);
|
|
95
|
-
} else if (view === "resource") {
|
|
96
|
-
rangeStart = new Date(a.getFullYear(), a.getMonth(), 1);
|
|
97
|
-
rangeEnd = new Date(a.getFullYear(), a.getMonth() + 1, 0);
|
|
98
|
-
} else if (view === "week") {
|
|
99
|
-
rangeStart = startOfWeek(a);
|
|
100
|
-
rangeEnd = addDays(rangeStart, 6);
|
|
101
|
-
} else {
|
|
102
|
-
rangeStart = new Date(a);
|
|
103
|
-
rangeEnd = new Date(a);
|
|
104
|
-
}
|
|
105
|
-
props.onViewportChange({
|
|
106
|
-
view,
|
|
107
|
-
anchorDate: a,
|
|
108
|
-
rangeStart,
|
|
109
|
-
rangeEnd
|
|
110
|
-
});
|
|
111
|
-
}, [
|
|
112
|
-
view,
|
|
113
|
-
anchorDate,
|
|
114
|
-
props.onViewportChange
|
|
115
|
-
]);
|
|
116
|
-
const [selectedFreeSlots, setSelectedFreeSlots] = useState([]);
|
|
117
|
-
const [selectedBlockSlots, setSelectedBlockSlots] = useState([]);
|
|
118
|
-
const [selectedResourceCells, setSelectedResourceCells] = useState([]);
|
|
119
|
-
const [focusedCourtId, setFocusedCourtId] = useState(null);
|
|
120
|
-
const [showBlockPanel, setShowBlockPanel] = useState(false);
|
|
121
|
-
const [blockFormName, setBlockFormName] = useState(() => tCal("pisell2.recordBoard.calendar.block.defaultTitle"));
|
|
122
|
-
const [blockModalNote, setBlockModalNote] = useState("");
|
|
123
|
-
const [blockResourceId, setBlockResourceId] = useState("");
|
|
124
|
-
const [blockTimeRange, setBlockTimeRange] = useState(null);
|
|
125
|
-
const [blockSaving, setBlockSaving] = useState(false);
|
|
126
|
-
const [transitioningToDay, setTransitioningToDay] = useState(null);
|
|
127
|
-
const [navDirection, setNavDirection] = useState(0);
|
|
128
|
-
const [overflowPopover, setOverflowPopover] = useState(null);
|
|
129
|
-
const [overflowListModal, setOverflowListModal] = useState(null);
|
|
130
|
-
const [draggingItem, setDraggingItem] = useState(null);
|
|
131
|
-
const [moveConfirm, setMoveConfirm] = useState(null);
|
|
132
|
-
const [moveDraft, setMoveDraft] = useState(null);
|
|
133
|
-
const [collapsedGroups, setCollapsedGroups] = useState({
|
|
134
|
-
VIP: false,
|
|
135
|
-
Standard: false
|
|
136
|
-
});
|
|
137
|
-
/**
|
|
138
|
-
* 进入日视图(含首次即以日视图打开、从周/月切换、从格子 goToDay 等)时递增,
|
|
139
|
-
* 供日视图将横向 scroll 定位到「当前时间」列。
|
|
140
|
-
*/
|
|
141
|
-
const [dayTimelineScrollToNowToken, setDayTimelineScrollToNowToken] = useState(0);
|
|
142
|
-
const [resourceMonthScrollToTodayToken, setResourceMonthScrollToTodayToken] = useState(0);
|
|
143
|
-
const prevCalendarViewRef = useRef(null);
|
|
144
|
-
const prevViewForSlotIsolationRef = useRef(view);
|
|
145
|
-
/** 任意入口切入 `day` 时递增一次(含首屏即为日视图:`prev === null`) */
|
|
146
|
-
useLayoutEffect(() => {
|
|
147
|
-
const prev = prevCalendarViewRef.current;
|
|
148
|
-
if (view === "day" && (prev === null || prev !== "day")) setDayTimelineScrollToNowToken((t) => t + 1);
|
|
149
|
-
if (view === "resource" && (prev === null || prev !== "resource")) setResourceMonthScrollToTodayToken((t) => t + 1);
|
|
150
|
-
prevCalendarViewRef.current = view;
|
|
151
|
-
}, [view]);
|
|
152
|
-
const blockPanelRef = useRef(null);
|
|
153
|
-
const overflowPanelRef = useRef(null);
|
|
154
|
-
const moveConfirmRef = useRef(null);
|
|
155
|
-
/** 与 `courts` 相同别名,便于子视图语义(可见资源列表) */
|
|
156
|
-
const visibleCourts = useMemo(() => courts, [courts]);
|
|
157
|
-
/**
|
|
158
|
-
* 日/周/月左侧行模型:VIP/Standard 与按 `type` 分组,可折叠。
|
|
159
|
-
* 全部分组折叠时保留仅 group 头行(与周视图一致,不自动平铺 court)。
|
|
160
|
-
*/
|
|
161
|
-
const visibleCourtRows = useMemo(() => buildGroupedCourtRows(visibleCourts, collapsedGroups), [visibleCourts, collapsedGroups]);
|
|
162
|
-
/** 当前锚定日的 `YYYY-MM-DD`(日视图主键) */
|
|
163
|
-
const dayKey = fmtDate(anchorDate);
|
|
164
|
-
/** 时间轴上的槽位起始小时(含 `slotStepMinutes` 细粒度) */
|
|
165
|
-
const hourSlots = useMemo(() => {
|
|
166
|
-
var _props$timelineRange;
|
|
167
|
-
return buildCalendarTimelineSlotStartsFromRange((_props$timelineRange = props.timelineRange) !== null && _props$timelineRange !== void 0 ? _props$timelineRange : DEFAULT_CALENDAR_TIMELINE, anchorDate, resolvedSlotMinutes);
|
|
168
|
-
}, [
|
|
169
|
-
props.timelineRange,
|
|
170
|
-
anchorDate,
|
|
171
|
-
resolvedSlotMinutes
|
|
172
|
-
]);
|
|
173
|
-
/**
|
|
174
|
-
* 日视图 overlay 行高 / 并行 lane / +N 溢出(详见 hook 内注释)。
|
|
175
|
-
*/
|
|
176
|
-
const { dayRowHeights, overlayBookings, courtDayDisplayLaneCount, hiddenDayOverlayIdSet, dayOverlayOverflowPluses } = useBookingCalendarDayOverlayLayout(visibleCourtRows, dayKey, bookings, hourSlots, slotStepHours);
|
|
177
|
-
/** 周视图表头对应的 7 个自然日 */
|
|
178
|
-
const weekDays = useMemo(() => rangeDays(anchorDate), [anchorDate]);
|
|
179
|
-
/** 资源视图:当月每日一列 */
|
|
180
|
-
const resourceMonthDays = useMemo(() => monthCalendarDays(anchorDate), [anchorDate]);
|
|
181
|
-
useMemo(() => new Set(weekDays.map((d) => fmtDate(d))), [weekDays]);
|
|
182
|
-
const firstTimelineHour = (_hourSlots$ = hourSlots[0]) !== null && _hourSlots$ !== void 0 ? _hourSlots$ : 0;
|
|
183
|
-
const endTimelineExclusive = hourSlots.length ? hourSlots[hourSlots.length - 1] + slotStepHours : 24;
|
|
184
|
-
/** 槽位起始小时是否落在当前营业/时间轴配置内 */
|
|
185
|
-
const isBusinessHour = useCallback((h) => isHourInTimelineSlots(h, hourSlots), [hourSlots]);
|
|
186
|
-
const dayHourRemaining = useBookingCalendarDayHourRemaining(visibleCourts, dayKey, bookings, hourSlots, slotStepHours, isBusinessHour);
|
|
187
|
-
const resourceDayHeaderRemaining = useBookingCalendarResourceDayHeaderRemaining(resourceMonthDays, visibleCourts, bookings, hourSlots, slotStepHours);
|
|
188
|
-
/**
|
|
189
|
-
* 资源视图:选区是否可触发 Block / Create Booking。
|
|
190
|
-
* - 任何选中 → SelectionBar 显示「Cancel」。
|
|
191
|
-
* - 同 court + 连续多天(含单日) → 才显示「Block / Create」按钮。
|
|
192
|
-
*/
|
|
193
|
-
const resourceSelectionContiguous = useMemo(() => isResourceSelectionContiguousSameCourt(selectedResourceCells), [selectedResourceCells]);
|
|
194
|
-
const resourceSelectionBarMeta = useMemo(() => {
|
|
195
|
-
if (selectedResourceCells.length === 0) return null;
|
|
196
|
-
return {
|
|
197
|
-
freePickCount: selectedResourceCells.length,
|
|
198
|
-
blockPickCount: selectedResourceCells.length,
|
|
199
|
-
freeAllowsBlockPanel: resourceSelectionContiguous
|
|
200
|
-
};
|
|
201
|
-
}, [selectedResourceCells, resourceSelectionContiguous]);
|
|
202
|
-
/** 日视图与资源视图选中隔离:切换视图时清空另一侧 */
|
|
203
|
-
useEffect(() => {
|
|
204
|
-
if (prevViewForSlotIsolationRef.current !== view) {
|
|
205
|
-
if (view === "day") setSelectedResourceCells([]);
|
|
206
|
-
if (view === "resource") {
|
|
207
|
-
setSelectedFreeSlots([]);
|
|
208
|
-
setSelectedBlockSlots([]);
|
|
209
|
-
}
|
|
210
|
-
prevViewForSlotIsolationRef.current = view;
|
|
211
|
-
}
|
|
212
|
-
}, [view]);
|
|
213
|
-
/** 月历每格摘要(占用点、锁台等),供月视图渲染 */
|
|
214
|
-
const monthDays = useMemo(() => monthGrid(anchorDate, bookings, courts, hourSlots, slotStepHours), [
|
|
215
|
-
anchorDate,
|
|
216
|
-
bookings,
|
|
217
|
-
courts,
|
|
218
|
-
hourSlots,
|
|
219
|
-
slotStepHours
|
|
220
|
-
]);
|
|
221
|
-
/** 日视图内容区总高度(表头 + 各资源行叠加以 overlay 抬高后的高度) */
|
|
222
|
-
const dayContentHeight = 56 + dayRowHeights.reduce((sum, h) => sum + h, 0);
|
|
223
|
-
/** 点击文档空白处关闭锁台面版、溢出浮层、改期确认等面板 */
|
|
224
|
-
useEffect(() => {
|
|
225
|
-
function handleOutside(e) {
|
|
226
|
-
const target = e.target;
|
|
227
|
-
if (!(target instanceof Node)) return;
|
|
228
|
-
if (showBlockPanel && blockPanelRef.current && !blockPanelRef.current.contains(target)) setShowBlockPanel(false);
|
|
229
|
-
if (overflowPopover && overflowPanelRef.current && !overflowPanelRef.current.contains(target)) setOverflowPopover(null);
|
|
230
|
-
if (overflowListModal && overflowPanelRef.current && !overflowPanelRef.current.contains(target)) setOverflowListModal(null);
|
|
231
|
-
if (moveConfirm && moveConfirmRef.current && !moveConfirmRef.current.contains(target)) setMoveConfirm(null);
|
|
232
|
-
}
|
|
233
|
-
document.addEventListener("mousedown", handleOutside);
|
|
234
|
-
return () => document.removeEventListener("mousedown", handleOutside);
|
|
235
|
-
}, [
|
|
236
|
-
showBlockPanel,
|
|
237
|
-
overflowPopover,
|
|
238
|
-
overflowListModal,
|
|
239
|
-
moveConfirm
|
|
240
|
-
]);
|
|
241
|
-
/** 锁台面版打开时若选区不再连续同资源则自动收起(避免与表单状态不一致) */
|
|
242
|
-
useEffect(() => {
|
|
243
|
-
if (!showBlockPanel) return;
|
|
244
|
-
if (view === "resource") {
|
|
245
|
-
if (!resourceSelectionContiguous) setShowBlockPanel(false);
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
if (!isFreeSelectionContiguousSameResource(selectedFreeSlots, slotStepHours)) setShowBlockPanel(false);
|
|
249
|
-
}, [
|
|
250
|
-
showBlockPanel,
|
|
251
|
-
view,
|
|
252
|
-
selectedFreeSlots,
|
|
253
|
-
resourceSelectionContiguous,
|
|
254
|
-
slotStepHours
|
|
255
|
-
]);
|
|
256
|
-
/** 打开锁台面版时用当前选中的空闲连续段预填资源与时间范围(仅内置锁台面版) */
|
|
257
|
-
useEffect(() => {
|
|
258
|
-
if (props.onBlockedTimePanelRequest) return;
|
|
259
|
-
if (!showBlockPanel) return;
|
|
260
|
-
if (view === "resource") {
|
|
261
|
-
var _bizHours$, _bizHours;
|
|
262
|
-
if (!resourceSelectionContiguous) return;
|
|
263
|
-
const sortedDates = [...selectedResourceCells].map((s) => s.dateKey).sort();
|
|
264
|
-
const firstDate = sortedDates[0];
|
|
265
|
-
const lastDate = sortedDates[sortedDates.length - 1];
|
|
266
|
-
const bizHours = hourSlots.filter((h) => isHourInTimelineSlots(h, hourSlots));
|
|
267
|
-
const h0 = (_bizHours$ = bizHours[0]) !== null && _bizHours$ !== void 0 ? _bizHours$ : 0;
|
|
268
|
-
const hLast = (_bizHours = bizHours[bizHours.length - 1]) !== null && _bizHours !== void 0 ? _bizHours : h0;
|
|
269
|
-
const slotStep = slotStepHours > 0 ? slotStepHours : 1;
|
|
270
|
-
setBlockResourceId(String(selectedResourceCells[0].courtId));
|
|
271
|
-
setBlockTimeRange([dayAndHourToDayjs(firstDate, h0), dayAndHourToDayjs(lastDate, hLast + slotStep)]);
|
|
272
|
-
setBlockFormName(tCal("pisell2.recordBoard.calendar.block.defaultTitle"));
|
|
273
|
-
setBlockModalNote("");
|
|
274
|
-
return;
|
|
275
|
-
}
|
|
276
|
-
if (selectedFreeSlots.length === 0) return;
|
|
277
|
-
const g = groupSelectedSlots(selectedFreeSlots, slotStepHours)[0];
|
|
278
|
-
if (!g) return;
|
|
279
|
-
setBlockResourceId(String(g.courtId));
|
|
280
|
-
setBlockTimeRange([dayAndHourToDayjs(g.date, g.startHour), dayAndHourToDayjs(g.date, g.endHour)]);
|
|
281
|
-
setBlockFormName(tCal("pisell2.recordBoard.calendar.block.defaultTitle"));
|
|
282
|
-
setBlockModalNote("");
|
|
283
|
-
}, [
|
|
284
|
-
showBlockPanel,
|
|
285
|
-
view,
|
|
286
|
-
selectedFreeSlots,
|
|
287
|
-
selectedResourceCells,
|
|
288
|
-
resourceSelectionContiguous,
|
|
289
|
-
hourSlots,
|
|
290
|
-
slotStepHours,
|
|
291
|
-
props.onBlockedTimePanelRequest
|
|
292
|
-
]);
|
|
293
|
-
/** 周/月跳入日视图时的短动画标记,超时清除 */
|
|
294
|
-
useEffect(() => {
|
|
295
|
-
if (!transitioningToDay) return;
|
|
296
|
-
const timer = setTimeout(() => setTransitioningToDay(null), 280);
|
|
297
|
-
return () => clearTimeout(timer);
|
|
298
|
-
}, [transitioningToDay]);
|
|
299
|
-
const goToDayFromCell = useBookingCalendarGoToDayFromCell(anchorDate, commitAnchor, commitView, setNavDirection, setTransitioningToDay, setSelectedFreeSlots, setSelectedBlockSlots, setSelectedResourceCells, setFocusedCourtId);
|
|
300
|
-
const toggleResourceCell = useBookingCalendarResourceCellToggle(setSelectedResourceCells);
|
|
301
|
-
const { isFreeSelected, isBlockSelected, toggleSlot } = useBookingCalendarDaySelection(dayKey, bookings, hourSlots, slotStepHours, courts, selectedFreeSlots, selectedBlockSlots, setSelectedFreeSlots, setSelectedBlockSlots);
|
|
302
|
-
/** 卡片详情:业务若 `onBookingClick` 返回 true 则视为已消费;否则关闭溢出气泡 */
|
|
303
|
-
const openBookingDetail = useCallback((item) => {
|
|
304
|
-
var _props$onBookingClick;
|
|
305
|
-
if (((_props$onBookingClick = props.onBookingClick) === null || _props$onBookingClick === void 0 ? void 0 : _props$onBookingClick.call(props, item)) === true) return;
|
|
306
|
-
setOverflowPopover(null);
|
|
307
|
-
}, [props.onBookingClick]);
|
|
308
|
-
/** 清空空闲与锁台多选 */
|
|
309
|
-
function deselectAll() {
|
|
310
|
-
setSelectedFreeSlots([]);
|
|
311
|
-
setSelectedBlockSlots([]);
|
|
312
|
-
}
|
|
313
|
-
/** 将连续空闲选区合并为一条或多条本地预约(演示/未接写接口时) */
|
|
314
|
-
function createBookingFromSelection() {
|
|
315
|
-
if (selectedFreeSlots.length === 0) return;
|
|
316
|
-
const groups = groupSelectedSlots(selectedFreeSlots, slotStepHours);
|
|
317
|
-
const host = props.onCreateBookingFromSelection;
|
|
318
|
-
if (host) {
|
|
319
|
-
_asyncToGenerator(function* () {
|
|
320
|
-
try {
|
|
321
|
-
if ((yield Promise.resolve(host({
|
|
322
|
-
mode: "day",
|
|
323
|
-
groups: groups.map((g) => ({
|
|
324
|
-
courtId: g.courtId,
|
|
325
|
-
date: g.date,
|
|
326
|
-
startHour: g.startHour,
|
|
327
|
-
endHour: g.endHour
|
|
328
|
-
}))
|
|
329
|
-
}))) !== false) setSelectedFreeSlots([]);
|
|
330
|
-
} catch (_unused) {}
|
|
331
|
-
})();
|
|
332
|
-
return;
|
|
333
|
-
}
|
|
334
|
-
if (!allowPersist("createBooking")) return;
|
|
335
|
-
const newBookings = groups.map((slot, idx) => ({
|
|
336
|
-
id: `new-${slot.courtId}-${slot.date}-${slot.startHour}-${idx}`,
|
|
337
|
-
courtId: slot.courtId,
|
|
338
|
-
date: slot.date,
|
|
339
|
-
startHour: slot.startHour,
|
|
340
|
-
endHour: slot.endHour,
|
|
341
|
-
name: tCal("pisell2.recordBoard.calendar.common.newBookingName"),
|
|
342
|
-
kind: "booking"
|
|
343
|
-
}));
|
|
344
|
-
setBookings((prev) => [...newBookings, ...prev]);
|
|
345
|
-
setSelectedFreeSlots([]);
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* 资源视图:连续多天 → 一条跨日整天预约,时间 = 营业开始 → 营业结束。
|
|
349
|
-
* 单日 → 同样按整天写入。仅在 `resourceSelectionContiguous` 为 true 时执行。
|
|
350
|
-
*/
|
|
351
|
-
function createBookingFromResourceSelection() {
|
|
352
|
-
var _bizHours$2, _bizHours2;
|
|
353
|
-
if (!resourceSelectionContiguous) return;
|
|
354
|
-
const sortedDates = [...selectedResourceCells].map((s) => s.dateKey).sort();
|
|
355
|
-
const firstDate = sortedDates[0];
|
|
356
|
-
const lastDate = sortedDates[sortedDates.length - 1];
|
|
357
|
-
const courtId = selectedResourceCells[0].courtId;
|
|
358
|
-
const bizHours = hourSlots.filter((h) => isHourInTimelineSlots(h, hourSlots));
|
|
359
|
-
const h0 = (_bizHours$2 = bizHours[0]) !== null && _bizHours$2 !== void 0 ? _bizHours$2 : 0;
|
|
360
|
-
const endHour = ((_bizHours2 = bizHours[bizHours.length - 1]) !== null && _bizHours2 !== void 0 ? _bizHours2 : h0) + (slotStepHours > 0 ? slotStepHours : 1);
|
|
361
|
-
const host = props.onCreateBookingFromSelection;
|
|
362
|
-
if (host) {
|
|
363
|
-
_asyncToGenerator(function* () {
|
|
364
|
-
try {
|
|
365
|
-
if ((yield Promise.resolve(host({
|
|
366
|
-
mode: "resource",
|
|
367
|
-
courtId,
|
|
368
|
-
dates: sortedDates,
|
|
369
|
-
startHour: h0,
|
|
370
|
-
endHour
|
|
371
|
-
}))) !== false) setSelectedResourceCells([]);
|
|
372
|
-
} catch (_unused2) {}
|
|
373
|
-
})();
|
|
374
|
-
return;
|
|
375
|
-
}
|
|
376
|
-
if (!allowPersist("createBooking")) return;
|
|
377
|
-
const newBooking = {
|
|
378
|
-
id: `new-${courtId}-${firstDate}-${Date.now()}`,
|
|
379
|
-
courtId,
|
|
380
|
-
date: firstDate,
|
|
381
|
-
endDate: lastDate !== firstDate ? lastDate : void 0,
|
|
382
|
-
startHour: h0,
|
|
383
|
-
endHour,
|
|
384
|
-
name: tCal("pisell2.recordBoard.calendar.common.newBookingName"),
|
|
385
|
-
kind: "booking"
|
|
386
|
-
};
|
|
387
|
-
setBookings((prev) => [newBooking, ...prev]);
|
|
388
|
-
setSelectedResourceCells([]);
|
|
389
|
-
}
|
|
390
|
-
/** 屏蔽:宿主 lock 弹窗,或内置锁台面版 */
|
|
391
|
-
const handleOpenBlockPanelFromSelection = useCallback(_asyncToGenerator(function* () {
|
|
392
|
-
if (!isFreeSelectionContiguousSameResource(selectedFreeSlots, slotStepHours)) return;
|
|
393
|
-
const g = groupSelectedSlots(selectedFreeSlots, slotStepHours)[0];
|
|
394
|
-
if (!g) return;
|
|
395
|
-
if (props.onBlockedTimePanelRequest) {
|
|
396
|
-
try {
|
|
397
|
-
const slotsPayload = selectedFreeSlots.map((s) => {
|
|
398
|
-
const slot = {
|
|
399
|
-
courtId: s.courtId,
|
|
400
|
-
date: s.date,
|
|
401
|
-
hour: s.hour
|
|
402
|
-
};
|
|
403
|
-
const extra = s;
|
|
404
|
-
if (extra.court !== void 0 && extra.court !== "") slot.court = extra.court;
|
|
405
|
-
return slot;
|
|
406
|
-
});
|
|
407
|
-
const payload = {
|
|
408
|
-
slotStepHours,
|
|
409
|
-
slotStepMinutes: resolvedSlotMinutes,
|
|
410
|
-
dayKey: g.date,
|
|
411
|
-
selectedFreeSlots: slotsPayload,
|
|
412
|
-
mergedRange: {
|
|
413
|
-
courtId: g.courtId,
|
|
414
|
-
date: g.date,
|
|
415
|
-
startHour: g.startHour,
|
|
416
|
-
endHour: g.endHour
|
|
417
|
-
}
|
|
418
|
-
};
|
|
419
|
-
if ((yield props.onBlockedTimePanelRequest(payload)) !== false) setSelectedFreeSlots([]);
|
|
420
|
-
} catch (_unused3) {}
|
|
421
|
-
return;
|
|
422
|
-
}
|
|
423
|
-
setShowBlockPanel(true);
|
|
424
|
-
}), [
|
|
425
|
-
selectedFreeSlots,
|
|
426
|
-
slotStepHours,
|
|
427
|
-
resolvedSlotMinutes,
|
|
428
|
-
props.onBlockedTimePanelRequest
|
|
429
|
-
]);
|
|
430
|
-
/**
|
|
431
|
-
* 资源视图:仅在「同 court + 连续多天」时打开 Block 面板,按整天预填资源 + 跨日时间范围。
|
|
432
|
-
*/
|
|
433
|
-
const handleOpenBlockPanelFromResource = useCallback(_asyncToGenerator(function* () {
|
|
434
|
-
var _bizHours$3, _bizHours3;
|
|
435
|
-
if (!resourceSelectionContiguous) return;
|
|
436
|
-
const sortedDates = [...selectedResourceCells].map((s) => s.dateKey).sort();
|
|
437
|
-
const firstDate = sortedDates[0];
|
|
438
|
-
const lastDate = sortedDates[sortedDates.length - 1];
|
|
439
|
-
const courtId = selectedResourceCells[0].courtId;
|
|
440
|
-
const court = courts.find((c) => c.id === courtId);
|
|
441
|
-
const bizHours = hourSlots.filter((h) => isHourInTimelineSlots(h, hourSlots));
|
|
442
|
-
const h0 = (_bizHours$3 = bizHours[0]) !== null && _bizHours$3 !== void 0 ? _bizHours$3 : 0;
|
|
443
|
-
const hLast = (_bizHours3 = bizHours[bizHours.length - 1]) !== null && _bizHours3 !== void 0 ? _bizHours3 : h0;
|
|
444
|
-
const slotStep = slotStepHours > 0 ? slotStepHours : 1;
|
|
445
|
-
const startHour = h0;
|
|
446
|
-
const endHour = hLast + slotStep;
|
|
447
|
-
if (props.onBlockedTimePanelRequest) {
|
|
448
|
-
try {
|
|
449
|
-
const payload = {
|
|
450
|
-
slotStepHours,
|
|
451
|
-
slotStepMinutes: resolvedSlotMinutes,
|
|
452
|
-
dayKey: firstDate,
|
|
453
|
-
selectedFreeSlots: sortedDates.map((d) => _objectSpread2({
|
|
454
|
-
courtId,
|
|
455
|
-
date: d,
|
|
456
|
-
hour: startHour
|
|
457
|
-
}, (court === null || court === void 0 ? void 0 : court.name) ? { court: court.name } : {})),
|
|
458
|
-
mergedRange: {
|
|
459
|
-
courtId,
|
|
460
|
-
date: firstDate,
|
|
461
|
-
endDate: lastDate !== firstDate ? lastDate : void 0,
|
|
462
|
-
startHour,
|
|
463
|
-
endHour
|
|
464
|
-
}
|
|
465
|
-
};
|
|
466
|
-
if ((yield props.onBlockedTimePanelRequest(payload)) !== false) setSelectedResourceCells([]);
|
|
467
|
-
} catch (_unused4) {}
|
|
468
|
-
return;
|
|
469
|
-
}
|
|
470
|
-
setShowBlockPanel(true);
|
|
471
|
-
}), [
|
|
472
|
-
selectedResourceCells,
|
|
473
|
-
resourceSelectionContiguous,
|
|
474
|
-
hourSlots,
|
|
475
|
-
slotStepHours,
|
|
476
|
-
courts,
|
|
477
|
-
resolvedSlotMinutes,
|
|
478
|
-
props.onBlockedTimePanelRequest
|
|
479
|
-
]);
|
|
480
|
-
/** 提交锁台:优先走 `onBlockedTimeSave`;否则写入本地 block 片段 */
|
|
481
|
-
function saveBlockedTime() {
|
|
482
|
-
return _saveBlockedTime.apply(this, arguments);
|
|
483
|
-
}
|
|
484
|
-
function _saveBlockedTime() {
|
|
485
|
-
_saveBlockedTime = _asyncToGenerator(function* () {
|
|
486
|
-
var _props$blockedTimeSal;
|
|
487
|
-
if (!(blockTimeRange === null || blockTimeRange === void 0 ? void 0 : blockTimeRange[0]) || !(blockTimeRange === null || blockTimeRange === void 0 ? void 0 : blockTimeRange[1])) {
|
|
488
|
-
message.warning(tCal("pisell2.recordBoard.calendar.block.warnSelectTime"));
|
|
489
|
-
return;
|
|
490
|
-
}
|
|
491
|
-
const [start, end] = blockTimeRange;
|
|
492
|
-
if (!end.isAfter(start)) {
|
|
493
|
-
message.warning(tCal("pisell2.recordBoard.calendar.block.warnEndAfterStart"));
|
|
494
|
-
return;
|
|
495
|
-
}
|
|
496
|
-
const rid = Number(blockResourceId);
|
|
497
|
-
if (!Number.isFinite(rid) || rid <= 0) {
|
|
498
|
-
message.warning(tCal("pisell2.recordBoard.calendar.block.warnSelectResource"));
|
|
499
|
-
return;
|
|
500
|
-
}
|
|
501
|
-
const channels = (_props$blockedTimeSal = props.blockedTimeSalesChannels) !== null && _props$blockedTimeSal !== void 0 ? _props$blockedTimeSal : ["online_store"];
|
|
502
|
-
const payload = {
|
|
503
|
-
name: (blockFormName || "").trim() || tCal("pisell2.recordBoard.calendar.block.defaultTitle"),
|
|
504
|
-
note: (blockModalNote || "").trim(),
|
|
505
|
-
resource_ids: [rid],
|
|
506
|
-
blocked_sales_channels: channels,
|
|
507
|
-
start_time: start.format("YYYY-MM-DD HH:mm"),
|
|
508
|
-
end_time: end.format("YYYY-MM-DD HH:mm")
|
|
509
|
-
};
|
|
510
|
-
if (props.onBlockedTimeSave) {
|
|
511
|
-
setBlockSaving(true);
|
|
512
|
-
try {
|
|
513
|
-
if ((yield props.onBlockedTimeSave(payload)) === false) return;
|
|
514
|
-
setShowBlockPanel(false);
|
|
515
|
-
setSelectedFreeSlots([]);
|
|
516
|
-
setSelectedResourceCells([]);
|
|
517
|
-
setBlockModalNote("");
|
|
518
|
-
} finally {
|
|
519
|
-
setBlockSaving(false);
|
|
520
|
-
}
|
|
521
|
-
return;
|
|
522
|
-
}
|
|
523
|
-
const courtId = String(blockResourceId);
|
|
524
|
-
const date = start.format("YYYY-MM-DD");
|
|
525
|
-
const endDate = end.format("YYYY-MM-DD");
|
|
526
|
-
const startHour = start.hour() + start.minute() / 60;
|
|
527
|
-
const endHour = end.hour() + end.minute() / 60;
|
|
528
|
-
const nextBlock = {
|
|
529
|
-
id: `block-local-${courtId}-${date}-${startHour}-${Date.now()}`,
|
|
530
|
-
courtId,
|
|
531
|
-
date,
|
|
532
|
-
endDate: endDate !== date ? endDate : void 0,
|
|
533
|
-
startHour,
|
|
534
|
-
endHour,
|
|
535
|
-
name: payload.name,
|
|
536
|
-
note: payload.note,
|
|
537
|
-
blockedAt: date,
|
|
538
|
-
kind: "block"
|
|
539
|
-
};
|
|
540
|
-
if (!allowPersist("createBlock")) return;
|
|
541
|
-
setBookings((prev) => [nextBlock, ...prev]);
|
|
542
|
-
setSelectedFreeSlots([]);
|
|
543
|
-
setSelectedResourceCells([]);
|
|
544
|
-
setShowBlockPanel(false);
|
|
545
|
-
setBlockModalNote("");
|
|
546
|
-
});
|
|
547
|
-
return _saveBlockedTime.apply(this, arguments);
|
|
548
|
-
}
|
|
549
|
-
/** 拖拽改期松手:宿主接管改约,或弹出内置确认框 */
|
|
550
|
-
const handleDropMove = useCallback((targetCourtId, targetDate, targetHour) => {
|
|
551
|
-
if (!draggingItem) return;
|
|
552
|
-
const duration = draggingItem.endHour - draggingItem.startHour;
|
|
553
|
-
const nextStart = targetHour;
|
|
554
|
-
const nextEnd = targetHour + duration;
|
|
555
|
-
if (!isHourInTimelineSlots(nextStart, hourSlots) || nextEnd > endTimelineExclusive) return;
|
|
556
|
-
const targetCourt = targetCourtId !== null && targetCourtId !== void 0 ? targetCourtId : draggingItem.courtId;
|
|
557
|
-
const itemSnapshot = draggingItem;
|
|
558
|
-
const draft = {
|
|
559
|
-
targetCourtId: targetCourt,
|
|
560
|
-
targetDate,
|
|
561
|
-
targetHour
|
|
562
|
-
};
|
|
563
|
-
setDraggingItem(null);
|
|
564
|
-
if (props.onBookingMoveRequest) {
|
|
565
|
-
Promise.resolve(props.onBookingMoveRequest({
|
|
566
|
-
item: itemSnapshot,
|
|
567
|
-
draft
|
|
568
|
-
})).catch(() => {});
|
|
569
|
-
return;
|
|
570
|
-
}
|
|
571
|
-
setMoveConfirm({
|
|
572
|
-
item: itemSnapshot,
|
|
573
|
-
targetCourtId: targetCourt,
|
|
574
|
-
targetDate,
|
|
575
|
-
targetHour
|
|
576
|
-
});
|
|
577
|
-
setMoveDraft(draft);
|
|
578
|
-
}, [
|
|
579
|
-
draggingItem,
|
|
580
|
-
hourSlots,
|
|
581
|
-
endTimelineExclusive,
|
|
582
|
-
props.onBookingMoveRequest
|
|
583
|
-
]);
|
|
584
|
-
/** 周/月格 drop:保持原开始小时,仅换日或资源 */
|
|
585
|
-
const handleGridDropMove = useCallback((targetDate, targetCourtId = null) => {
|
|
586
|
-
if (!draggingItem || draggingItem.kind === "block") return;
|
|
587
|
-
handleDropMove(targetCourtId !== null && targetCourtId !== void 0 ? targetCourtId : draggingItem.courtId, targetDate, draggingItem.startHour);
|
|
588
|
-
}, [draggingItem, handleDropMove]);
|
|
589
|
-
/** 确认改期:在 bookings 中平移该条的起止小时与 court/date */
|
|
590
|
-
function confirmMove() {
|
|
591
|
-
if (!moveConfirm || !moveDraft) return;
|
|
592
|
-
if (!allowPersist("moveBooking")) return;
|
|
593
|
-
const { item } = moveConfirm;
|
|
594
|
-
const { targetCourtId, targetDate, targetHour } = moveDraft;
|
|
595
|
-
const duration = item.endHour - item.startHour;
|
|
596
|
-
setBookings((prev) => prev.map((b) => b.id === item.id ? _objectSpread2(_objectSpread2({}, b), {}, {
|
|
597
|
-
courtId: targetCourtId,
|
|
598
|
-
date: targetDate,
|
|
599
|
-
startHour: targetHour,
|
|
600
|
-
endHour: targetHour + duration
|
|
601
|
-
}) : b));
|
|
602
|
-
setMoveConfirm(null);
|
|
603
|
-
setMoveDraft(null);
|
|
604
|
-
}
|
|
605
|
-
return /* @__PURE__ */ React.createElement(Spin, {
|
|
606
|
-
spinning: Boolean(props.loading),
|
|
607
|
-
wrapperClassName: "pisell-rb-cal-spin-wrap flex min-h-0 flex-1 flex-col"
|
|
608
|
-
}, /* @__PURE__ */ React.createElement("div", { className: `theme-root theme-app flex h-full min-h-0 flex-col ${isLight ? "theme-light" : "theme-dark"}` }, /* @__PURE__ */ React.createElement("div", {
|
|
609
|
-
className: "theme-shell soft-shadow mx-0 flex h-full min-h-0 w-full max-w-none flex-1 flex-col overflow-hidden transition-[padding-right] duration-200",
|
|
610
|
-
style: { paddingRight: 0 }
|
|
611
|
-
}, /* @__PURE__ */ React.createElement("div", { className: "flex min-h-0 flex-1 flex-col" }, view === "month" && /* @__PURE__ */ React.createElement(BookingCalendarMonthView, {
|
|
612
|
-
isLight,
|
|
613
|
-
anchorDate,
|
|
614
|
-
monthDays,
|
|
615
|
-
bookings,
|
|
616
|
-
goToDayFromCell,
|
|
617
|
-
handleGridDropMove,
|
|
618
|
-
setDraggingItem,
|
|
619
|
-
openBookingDetail,
|
|
620
|
-
overflowPopover,
|
|
621
|
-
setOverflowPopover,
|
|
622
|
-
overflowListModal,
|
|
623
|
-
setOverflowListModal,
|
|
624
|
-
overflowPanelRef,
|
|
625
|
-
renderMonthWeekBooking: props.renderMonthWeekBooking
|
|
626
|
-
}), view === "week" && /* @__PURE__ */ React.createElement(BookingCalendarWeekView, {
|
|
627
|
-
calendarProps: props,
|
|
628
|
-
isLight,
|
|
629
|
-
weekDays,
|
|
630
|
-
bookings,
|
|
631
|
-
courts,
|
|
632
|
-
hourSlots,
|
|
633
|
-
slotStepHours,
|
|
634
|
-
visibleCourts,
|
|
635
|
-
visibleCourtRows,
|
|
636
|
-
isBusinessHour,
|
|
637
|
-
goToDayFromCell,
|
|
638
|
-
handleGridDropMove,
|
|
639
|
-
openBookingDetail,
|
|
640
|
-
setDraggingItem,
|
|
641
|
-
setCollapsedGroups,
|
|
642
|
-
overflowPopover,
|
|
643
|
-
setOverflowPopover,
|
|
644
|
-
overflowListModal,
|
|
645
|
-
setOverflowListModal,
|
|
646
|
-
overflowPanelRef
|
|
647
|
-
}), view === "resource" && /* @__PURE__ */ React.createElement(BookingCalendarResourceView, {
|
|
648
|
-
calendarProps: props,
|
|
649
|
-
isLight,
|
|
650
|
-
anchorDate,
|
|
651
|
-
monthDays: resourceMonthDays,
|
|
652
|
-
slotColWidth: resourceViewSlotColWidth,
|
|
653
|
-
bookings,
|
|
654
|
-
hourSlots,
|
|
655
|
-
slotStepHours,
|
|
656
|
-
visibleCourts,
|
|
657
|
-
visibleCourtRows,
|
|
658
|
-
handleGridDropMove,
|
|
659
|
-
openBookingDetail,
|
|
660
|
-
setDraggingItem,
|
|
661
|
-
setCollapsedGroups,
|
|
662
|
-
overflowPopover,
|
|
663
|
-
setOverflowPopover,
|
|
664
|
-
setOverflowListModal,
|
|
665
|
-
overflowPanelRef,
|
|
666
|
-
resourceMonthScrollToTodayToken,
|
|
667
|
-
resourceDayHeaderRemaining,
|
|
668
|
-
toggleResourceCell,
|
|
669
|
-
selectedResourceCells
|
|
670
|
-
}), view === "day" && /* @__PURE__ */ React.createElement(BookingCalendarDayView, {
|
|
671
|
-
calendarProps: props,
|
|
672
|
-
isLight,
|
|
673
|
-
view,
|
|
674
|
-
anchorDate,
|
|
675
|
-
dayKey,
|
|
676
|
-
hourSlots,
|
|
677
|
-
resolvedSlotMinutes,
|
|
678
|
-
slotColWidth,
|
|
679
|
-
firstTimelineHour,
|
|
680
|
-
endTimelineExclusive,
|
|
681
|
-
isBusinessHour,
|
|
682
|
-
dayHourRemaining,
|
|
683
|
-
timelinePxPerHour,
|
|
684
|
-
dayContentHeight,
|
|
685
|
-
dayRowHeights,
|
|
686
|
-
visibleCourtRows,
|
|
687
|
-
overlayBookings,
|
|
688
|
-
dayOverlayOverflowPluses,
|
|
689
|
-
setCollapsedGroups,
|
|
690
|
-
visibleCourts,
|
|
691
|
-
bookings,
|
|
692
|
-
slotStepHours,
|
|
693
|
-
isFreeSelected,
|
|
694
|
-
isBlockSelected,
|
|
695
|
-
toggleSlot,
|
|
696
|
-
handleDropMove,
|
|
697
|
-
hiddenDayOverlayIdSet,
|
|
698
|
-
courtDayDisplayLaneCount,
|
|
699
|
-
openBookingDetail,
|
|
700
|
-
setDraggingItem,
|
|
701
|
-
setNavDirection,
|
|
702
|
-
commitAnchor,
|
|
703
|
-
setFocusedCourtId,
|
|
704
|
-
setOverflowListModal,
|
|
705
|
-
selectedFreeSlots,
|
|
706
|
-
selectedBlockSlots,
|
|
707
|
-
focusedCourtId,
|
|
708
|
-
dayTimelineScrollToNowToken
|
|
709
|
-
}))), view === "day" && (selectedFreeSlots.length > 0 || selectedBlockSlots.length > 0) || view === "resource" && selectedResourceCells.length > 0 ? /* @__PURE__ */ React.createElement(BookingCalendarDaySelectionBar, {
|
|
710
|
-
slotStepHours,
|
|
711
|
-
selectedFreeSlots: view === "resource" ? [] : selectedFreeSlots,
|
|
712
|
-
resourceSelectionSummary: view === "resource" ? resourceSelectionBarMeta : void 0,
|
|
713
|
-
deselectAll: view === "resource" ? () => setSelectedResourceCells([]) : deselectAll,
|
|
714
|
-
onOpenBlockPanel: view === "resource" ? handleOpenBlockPanelFromResource : handleOpenBlockPanelFromSelection,
|
|
715
|
-
createBookingFromSelection: view === "resource" ? createBookingFromResourceSelection : createBookingFromSelection
|
|
716
|
-
}) : null, showBlockPanel && !props.onBlockedTimePanelRequest && (view === "resource" ? resourceSelectionContiguous : selectedFreeSlots.length > 0 && isFreeSelectionContiguousSameResource(selectedFreeSlots, slotStepHours)) && /* @__PURE__ */ React.createElement(BookingCalendarBlockPanel, {
|
|
717
|
-
blockPanelRef,
|
|
718
|
-
isLight,
|
|
719
|
-
blockFormName,
|
|
720
|
-
setBlockFormName,
|
|
721
|
-
blockModalNote,
|
|
722
|
-
setBlockModalNote,
|
|
723
|
-
blockResourceId,
|
|
724
|
-
setBlockResourceId,
|
|
725
|
-
blockTimeRange,
|
|
726
|
-
setBlockTimeRange,
|
|
727
|
-
resolvedSlotMinutes,
|
|
728
|
-
visibleCourts,
|
|
729
|
-
blockSaving,
|
|
730
|
-
onClose: () => setShowBlockPanel(false),
|
|
731
|
-
onSave: saveBlockedTime
|
|
732
|
-
}), overflowListModal && /* @__PURE__ */ React.createElement(BookingCalendarOverflowListLayer, {
|
|
733
|
-
overflowPanelRef,
|
|
734
|
-
isLight,
|
|
735
|
-
modal: overflowListModal,
|
|
736
|
-
onClose: () => setOverflowListModal(null),
|
|
737
|
-
onPickItem: openBookingDetail
|
|
738
|
-
}), moveConfirm && /* @__PURE__ */ React.createElement(MoveConfirmModal, {
|
|
739
|
-
moveConfirm,
|
|
740
|
-
moveDraft,
|
|
741
|
-
setMoveDraft,
|
|
742
|
-
panelRef: moveConfirmRef,
|
|
743
|
-
isLight,
|
|
744
|
-
courts,
|
|
745
|
-
visibleCourts,
|
|
746
|
-
hourSlots,
|
|
747
|
-
isBusinessHour,
|
|
748
|
-
firstTimelineHour,
|
|
749
|
-
endTimelineExclusive,
|
|
750
|
-
onConfirm: confirmMove,
|
|
751
|
-
onClose: () => {
|
|
752
|
-
setMoveConfirm(null);
|
|
753
|
-
setMoveDraft(null);
|
|
754
|
-
}
|
|
755
|
-
}), transitioningToDay && /* @__PURE__ */ React.createElement("div", { className: "fixed inset-6 z-[60] rounded-[28px] border border-violet-400/20 bg-[#151220] pointer-events-none" })));
|
|
756
|
-
}
|
|
757
|
-
//#endregion
|
|
758
|
-
export { BookingCalendar as default };
|