@pisell/materials 6.11.28 → 6.11.30
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/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +8 -8
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +16 -16
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +16 -16
- package/es/components/PisellCards/components/GraphicTextCard/GraphicTextCard.d.ts +0 -1
- package/es/components/PisellCards/index.d.ts +0 -1
- package/es/components/PisellFields/index.d.ts +0 -1
- package/es/components/PisellMetrics/index.d.ts +0 -1
- package/es/components/appVersionControl/index.d.ts +0 -1
- package/es/components/auto-complete-number/index.d.ts +0 -1
- package/es/components/badge/index.d.ts +0 -1
- package/es/components/batch-editor/fields/index.d.ts +0 -1
- package/es/components/batch-editor/index.d.ts +0 -1
- package/es/components/calendar/index.d.ts +0 -1
- package/es/components/checkbox/index.d.ts +0 -1
- package/es/components/classicLayout/index.d.ts +0 -1
- package/es/components/colorPicker/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/ColorPicker/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/DateRangePicker/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Email/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.TextArea/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Input.Url/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/TimePicker/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Translation/ReadPretty.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/index.d.ts +6 -6
- package/es/components/drag-sort-tree/TreeItem/index.d.ts +0 -1
- package/es/components/drag-sort-tree/index.d.ts +0 -1
- package/es/components/dropdown/index.d.ts +0 -1
- package/es/components/filter/components/items/index.d.ts +0 -1
- package/es/components/filter/components/items/text/Editor/index.d.ts +0 -1
- package/es/components/filter/components/items/text/Preview/index.d.ts +0 -1
- package/es/components/filter/components/items/text/index.d.ts +0 -1
- package/es/components/page/index.d.ts +0 -1
- package/es/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
- package/es/components/pisellCard/index.d.ts +0 -1
- package/es/components/pisellDatePicker/index.d.ts +0 -1
- package/es/components/pisellFilter/index.d.ts +0 -1
- package/es/components/pisellInformationEntry/Scan/index.d.ts +0 -1
- package/es/components/pisellInput/index.d.ts +0 -1
- package/es/components/pisellRecordBoard/PisellRecordBoard.js +8 -5
- package/es/components/pisellRecordBoard/index.d.ts +7 -2
- package/es/components/pisellRecordBoard/index.js +4 -2
- package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +324 -312
- package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +18 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +13 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +37 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +9 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +157 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +8 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +9 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +14 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +513 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +14 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +82 -0
- package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -2
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +58 -19
- package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +5 -3
- package/es/components/pisellRecordBoard/shellFrame/index.d.ts +4 -3
- package/es/components/pisellRecordBoard/shellFrame/index.js +49 -11
- package/es/components/pisellRecordBoard/types.d.ts +78 -2
- package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +5 -2
- package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +18 -0
- package/es/components/pisellReservationSchedule/locales.d.ts +43 -0
- package/es/components/pisellReservationSchedule/types.d.ts +52 -0
- package/es/components/pisellReservationScheduleBand/types.d.ts +61 -0
- package/es/components/pisellTimeNavigator/utils/index.d.ts +41 -0
- package/es/components/pisellUpload/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/resources/index.d.ts +0 -1
- package/es/components/productCard/cartSkuCard/components/timeRange/index.d.ts +0 -1
- package/es/components/productCard/components/Divider/index.d.ts +0 -1
- package/es/components/productCard/components/Header/DeleteButton/index.d.ts +0 -1
- package/es/components/productCard/components/Time/components/Like/index.d.ts +0 -1
- package/es/components/radio/index.d.ts +0 -1
- package/es/components/segmented/index.d.ts +0 -1
- package/es/components/select-time/RightPanel/index.d.ts +0 -1
- package/es/components/select-time/index.d.ts +0 -1
- package/es/components/skeleton/index.d.ts +0 -1
- package/es/components/slider/index.d.ts +0 -1
- package/es/components/sort/components/InlineMenu/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +0 -1
- package/es/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +0 -1
- package/es/components/table/Actions/component/Group/PopoverContent.d.ts +0 -1
- package/es/components/table/Actions/component/ViewMode/index.d.ts +0 -1
- package/es/components/table/Summary/index.d.ts +0 -1
- package/es/components/table/Table/fields/date/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/date/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/image/index.d.ts +0 -1
- package/es/components/table/Table/fields/index.d.ts +2 -2
- package/es/components/table/Table/fields/link/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/link/index.d.ts +0 -1
- package/es/components/table/Table/fields/number/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/number/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/numberRange/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/numberRange/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/oldRangePicker/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/pSwitch/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/rangePicker/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/search/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/search/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/select/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/text/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/text/Sort/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/Config/index.d.ts +0 -1
- package/es/components/table/Table/fields/treeSelect/Sort/index.d.ts +0 -1
- package/es/components/table/Table/tableConfig/summary/index.d.ts +0 -1
- package/es/components/table/Table/utils.d.ts +1 -1
- package/es/components/table/TableFilter/SortIcon.d.ts +0 -1
- package/es/components/time-picker/index.d.ts +0 -1
- package/es/components/upload/index.d.ts +0 -1
- package/es/components/versionSelect/index.d.ts +0 -1
- package/es/components/virtual-keyboard/Time/utils.d.ts +0 -1
- package/es/components/walletCard/Guest/index.d.ts +0 -1
- package/es/components/walletCard/Guide/index.d.ts +0 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +1 -0
- package/es/locales/en-US.d.ts +389 -0
- package/es/locales/en-US.js +1 -0
- package/es/locales/ja.d.ts +358 -0
- package/es/locales/ja.js +1 -0
- package/es/locales/pt.d.ts +358 -0
- package/es/locales/pt.js +1 -0
- package/es/locales/zh-CN.d.ts +384 -0
- package/es/locales/zh-CN.js +1 -0
- package/es/locales/zh-TW.d.ts +384 -0
- package/es/locales/zh-TW.js +1 -0
- package/es/pisell-materials.tw.css +1 -1
- package/lib/components/PisellCards/components/GraphicTextCard/GraphicTextCard.d.ts +0 -1
- package/lib/components/PisellCards/index.d.ts +0 -1
- package/lib/components/PisellFields/index.d.ts +0 -1
- package/lib/components/PisellMetrics/index.d.ts +0 -1
- package/lib/components/appVersionControl/index.d.ts +0 -1
- package/lib/components/auto-complete-number/index.d.ts +0 -1
- package/lib/components/badge/index.d.ts +0 -1
- package/lib/components/batch-editor/fields/index.d.ts +0 -1
- package/lib/components/batch-editor/index.d.ts +0 -1
- package/lib/components/calendar/index.d.ts +0 -1
- package/lib/components/checkbox/index.d.ts +0 -1
- package/lib/components/classicLayout/index.d.ts +0 -1
- package/lib/components/colorPicker/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/ColorPicker/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/DateRangePicker/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input.Email/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input.TextArea/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Input.Url/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/TimePicker/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Translation/ReadPretty.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/index.d.ts +6 -6
- package/lib/components/drag-sort-tree/TreeItem/index.d.ts +0 -1
- package/lib/components/drag-sort-tree/index.d.ts +0 -1
- package/lib/components/dropdown/index.d.ts +0 -1
- package/lib/components/filter/components/items/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/Editor/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/Preview/index.d.ts +0 -1
- package/lib/components/filter/components/items/text/index.d.ts +0 -1
- package/lib/components/page/index.d.ts +0 -1
- package/lib/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
- package/lib/components/pisellCard/index.d.ts +0 -1
- package/lib/components/pisellDatePicker/index.d.ts +0 -1
- package/lib/components/pisellFilter/index.d.ts +0 -1
- package/lib/components/pisellInformationEntry/Scan/index.d.ts +0 -1
- package/lib/components/pisellInput/index.d.ts +0 -1
- package/lib/components/pisellRecordBoard/PisellRecordBoard.js +8 -3
- package/lib/components/pisellRecordBoard/index.d.ts +7 -2
- package/lib/components/pisellRecordBoard/index.js +4 -0
- package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +143 -215
- package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +18 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +13 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +60 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +9 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +163 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +8 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +27 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +14 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +636 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +14 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +110 -0
- package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -2
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +45 -14
- package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +5 -3
- package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +4 -3
- package/lib/components/pisellRecordBoard/shellFrame/index.js +57 -7
- package/lib/components/pisellRecordBoard/types.d.ts +78 -2
- package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +5 -2
- package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +18 -0
- package/lib/components/pisellReservationSchedule/locales.d.ts +43 -0
- package/lib/components/pisellReservationSchedule/types.d.ts +52 -0
- package/lib/components/pisellReservationScheduleBand/types.d.ts +61 -0
- package/lib/components/pisellTimeNavigator/utils/index.d.ts +41 -0
- package/lib/components/pisellUpload/index.d.ts +0 -1
- package/lib/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +0 -1
- package/lib/components/productCard/cartSkuCard/components/resources/index.d.ts +0 -1
- package/lib/components/productCard/cartSkuCard/components/timeRange/index.d.ts +0 -1
- package/lib/components/productCard/components/Divider/index.d.ts +0 -1
- package/lib/components/productCard/components/Header/DeleteButton/index.d.ts +0 -1
- package/lib/components/productCard/components/Time/components/Like/index.d.ts +0 -1
- package/lib/components/radio/index.d.ts +0 -1
- package/lib/components/segmented/index.d.ts +0 -1
- package/lib/components/select-time/RightPanel/index.d.ts +0 -1
- package/lib/components/select-time/index.d.ts +0 -1
- package/lib/components/skeleton/index.d.ts +0 -1
- package/lib/components/slider/index.d.ts +0 -1
- package/lib/components/sort/components/InlineMenu/index.d.ts +0 -1
- package/lib/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +0 -1
- package/lib/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +0 -1
- package/lib/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +0 -1
- package/lib/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +0 -1
- package/lib/components/table/Actions/component/Group/PopoverContent.d.ts +0 -1
- package/lib/components/table/Actions/component/ViewMode/index.d.ts +0 -1
- package/lib/components/table/Summary/index.d.ts +0 -1
- package/lib/components/table/Table/fields/date/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/date/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/image/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/image/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/image/index.d.ts +0 -1
- package/lib/components/table/Table/fields/index.d.ts +2 -2
- package/lib/components/table/Table/fields/link/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/link/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/link/index.d.ts +0 -1
- package/lib/components/table/Table/fields/number/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/number/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/numberRange/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/numberRange/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/oldRangePicker/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/oldRangePicker/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/pSwitch/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/pSwitch/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/pSwitch/index.d.ts +0 -1
- package/lib/components/table/Table/fields/rangePicker/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/rangePicker/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/search/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/search/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/select/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/select/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/text/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/text/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/fields/treeSelect/Config/index.d.ts +0 -1
- package/lib/components/table/Table/fields/treeSelect/Sort/index.d.ts +0 -1
- package/lib/components/table/Table/tableConfig/summary/index.d.ts +0 -1
- package/lib/components/table/Table/utils.d.ts +1 -1
- package/lib/components/table/TableFilter/SortIcon.d.ts +0 -1
- package/lib/components/time-picker/index.d.ts +0 -1
- package/lib/components/upload/index.d.ts +0 -1
- package/lib/components/versionSelect/index.d.ts +0 -1
- package/lib/components/virtual-keyboard/Time/utils.d.ts +0 -1
- package/lib/components/walletCard/Guest/index.d.ts +0 -1
- package/lib/components/walletCard/Guide/index.d.ts +0 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +5 -0
- package/lib/locales/en-US.d.ts +389 -0
- package/lib/locales/en-US.js +1 -0
- package/lib/locales/ja.d.ts +358 -0
- package/lib/locales/ja.js +1 -0
- package/lib/locales/pt.d.ts +358 -0
- package/lib/locales/pt.js +1 -0
- package/lib/locales/zh-CN.d.ts +384 -0
- package/lib/locales/zh-CN.js +1 -0
- package/lib/locales/zh-TW.d.ts +384 -0
- package/lib/locales/zh-TW.js +1 -0
- package/lib/pisell-materials.tw.css +1 -1
- package/package.json +3 -3
|
@@ -35,10 +35,12 @@ module.exports = __toCommonJS(BookingCalendarDemo_exports);
|
|
|
35
35
|
var import_react = __toESM(require("react"));
|
|
36
36
|
var import_antd = require("antd");
|
|
37
37
|
var import_react_window = require("react-window");
|
|
38
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
38
39
|
var import_utils = require("../../../pisellTimeNavigator/utils");
|
|
39
40
|
var import_pisellDateTimeDisplay = require("../../../pisellDateTimeDisplay");
|
|
40
41
|
var import_calendarPersistGuard = require("./calendarPersistGuard");
|
|
41
42
|
var import_lucide_react = require("lucide-react");
|
|
43
|
+
var { RangePicker } = import_antd.DatePicker;
|
|
42
44
|
function omitMotionOnlyProps(props) {
|
|
43
45
|
const {
|
|
44
46
|
initial: _i,
|
|
@@ -77,7 +79,6 @@ var DEFAULT_COURTS = [
|
|
|
77
79
|
{ id: "normal6", name: "Standard Court 6", type: "Standard" }
|
|
78
80
|
];
|
|
79
81
|
var weekdayNames = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
|
|
80
|
-
var weekdaysMap = [1, 2, 3, 4, 5, 6, 0];
|
|
81
82
|
var timeSliceMinutes = 60;
|
|
82
83
|
var DEFAULT_CALENDAR_TIMELINE = { start: "02:00", end: "02:00" };
|
|
83
84
|
var frozenColWidth = 132;
|
|
@@ -528,6 +529,15 @@ function courtDaySummary(courtId, dateKey, bookings, hourSlots, slotStepHours) {
|
|
|
528
529
|
function sameSlot(a, b) {
|
|
529
530
|
return a.courtId === b.courtId && a.date === b.date && a.hour === b.hour;
|
|
530
531
|
}
|
|
532
|
+
function dayAndHourToDayjs(dateStr, hourFloat) {
|
|
533
|
+
const h = Math.floor(hourFloat);
|
|
534
|
+
const m = Math.round((hourFloat - h) * 60);
|
|
535
|
+
const mm = Math.min(59, Math.max(0, m));
|
|
536
|
+
return (0, import_dayjs.default)(
|
|
537
|
+
`${dateStr} ${String(h).padStart(2, "0")}:${String(mm).padStart(2, "0")}`,
|
|
538
|
+
"YYYY-MM-DD HH:mm"
|
|
539
|
+
);
|
|
540
|
+
}
|
|
531
541
|
function statusTagMeta(tag) {
|
|
532
542
|
switch (tag) {
|
|
533
543
|
case "cancel":
|
|
@@ -1819,7 +1829,7 @@ function BookingCard({
|
|
|
1819
1829
|
);
|
|
1820
1830
|
}
|
|
1821
1831
|
function BookingCalendarDemo(props = {}) {
|
|
1822
|
-
var _a, _b, _c, _d, _e
|
|
1832
|
+
var _a, _b, _c, _d, _e;
|
|
1823
1833
|
const allowPersist = (0, import_calendarPersistGuard.useCalendarPersist)();
|
|
1824
1834
|
const courts = (0, import_react.useMemo)(() => {
|
|
1825
1835
|
const r = props.resources;
|
|
@@ -1895,12 +1905,11 @@ function BookingCalendarDemo(props = {}) {
|
|
|
1895
1905
|
const [selectedBlockSlots, setSelectedBlockSlots] = (0, import_react.useState)([]);
|
|
1896
1906
|
const [focusedCourtId, setFocusedCourtId] = (0, import_react.useState)(null);
|
|
1897
1907
|
const [showBlockPanel, setShowBlockPanel] = (0, import_react.useState)(false);
|
|
1898
|
-
const [
|
|
1899
|
-
const [
|
|
1900
|
-
const [
|
|
1901
|
-
const [
|
|
1902
|
-
const [
|
|
1903
|
-
const [blockWeekdays, setBlockWeekdays] = (0, import_react.useState)([3]);
|
|
1908
|
+
const [blockFormName, setBlockFormName] = (0, import_react.useState)("屏蔽时间");
|
|
1909
|
+
const [blockModalNote, setBlockModalNote] = (0, import_react.useState)("");
|
|
1910
|
+
const [blockResourceId, setBlockResourceId] = (0, import_react.useState)("");
|
|
1911
|
+
const [blockTimeRange, setBlockTimeRange] = (0, import_react.useState)(null);
|
|
1912
|
+
const [blockSaving, setBlockSaving] = (0, import_react.useState)(false);
|
|
1904
1913
|
const [transitioningToDay, setTransitioningToDay] = (0, import_react.useState)(null);
|
|
1905
1914
|
const [navDirection, setNavDirection] = (0, import_react.useState)(0);
|
|
1906
1915
|
const [detailItem, setDetailItem] = (0, import_react.useState)(null);
|
|
@@ -2014,8 +2023,6 @@ function BookingCalendarDemo(props = {}) {
|
|
|
2014
2023
|
const detailPrefRef = (0, import_react.useRef)(null);
|
|
2015
2024
|
const summaryChangeMenuRef = (0, import_react.useRef)(null);
|
|
2016
2025
|
const noteEditorRef = (0, import_react.useRef)(null);
|
|
2017
|
-
const blockStartInputRef = (0, import_react.useRef)(null);
|
|
2018
|
-
const blockEndInputRef = (0, import_react.useRef)(null);
|
|
2019
2026
|
const visibleCourts = (0, import_react.useMemo)(() => courts, [courts]);
|
|
2020
2027
|
const visibleCourtRows = (0, import_react.useMemo)(
|
|
2021
2028
|
() => buildGroupedCourtRows(visibleCourts, collapsedGroups),
|
|
@@ -2447,11 +2454,6 @@ function BookingCalendarDemo(props = {}) {
|
|
|
2447
2454
|
}, 180);
|
|
2448
2455
|
return () => clearTimeout(timer);
|
|
2449
2456
|
}, [view, focusedCourtId, anchorDate]);
|
|
2450
|
-
(0, import_react.useEffect)(() => {
|
|
2451
|
-
if (!showBlockPanel) return;
|
|
2452
|
-
setBlockRangeStart(dayKey);
|
|
2453
|
-
setBlockRangeEnd(dayKey);
|
|
2454
|
-
}, [showBlockPanel, dayKey]);
|
|
2455
2457
|
(0, import_react.useEffect)(() => {
|
|
2456
2458
|
if (!showBlockPanel) return;
|
|
2457
2459
|
if (!isFreeSelectionContiguousSameResource(
|
|
@@ -2461,6 +2463,19 @@ function BookingCalendarDemo(props = {}) {
|
|
|
2461
2463
|
setShowBlockPanel(false);
|
|
2462
2464
|
}
|
|
2463
2465
|
}, [showBlockPanel, selectedFreeSlots, slotStepHours]);
|
|
2466
|
+
(0, import_react.useEffect)(() => {
|
|
2467
|
+
if (!showBlockPanel || selectedFreeSlots.length === 0) return;
|
|
2468
|
+
const groups = groupSelectedSlots(selectedFreeSlots, slotStepHours);
|
|
2469
|
+
const g = groups[0];
|
|
2470
|
+
if (!g) return;
|
|
2471
|
+
setBlockResourceId(String(g.courtId));
|
|
2472
|
+
setBlockTimeRange([
|
|
2473
|
+
dayAndHourToDayjs(g.date, g.startHour),
|
|
2474
|
+
dayAndHourToDayjs(g.date, g.endHour)
|
|
2475
|
+
]);
|
|
2476
|
+
setBlockFormName("屏蔽时间");
|
|
2477
|
+
setBlockModalNote("");
|
|
2478
|
+
}, [showBlockPanel, selectedFreeSlots, slotStepHours]);
|
|
2464
2479
|
(0, import_react.useEffect)(() => {
|
|
2465
2480
|
if (!transitioningToDay) return;
|
|
2466
2481
|
const timer = setTimeout(() => setTransitioningToDay(null), 280);
|
|
@@ -2577,77 +2592,76 @@ function BookingCalendarDemo(props = {}) {
|
|
|
2577
2592
|
);
|
|
2578
2593
|
setSelectedBlockSlots([]);
|
|
2579
2594
|
}
|
|
2580
|
-
function
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
if (
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
(
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
for (let d = new Date(start); d <= end; d = addDays(d, 1)) {
|
|
2615
|
-
if (!blockWeekdays.includes(d.getDay())) continue;
|
|
2616
|
-
const dateKey = fmtDate(d);
|
|
2617
|
-
baseByKey.forEach((slot) => {
|
|
2618
|
-
nextBlocks.push({
|
|
2619
|
-
id: `block-repeat-${slot.courtId}-${dateKey}-${slot.startHour}-${slot.endHour}`,
|
|
2620
|
-
courtId: slot.courtId,
|
|
2621
|
-
date: dateKey,
|
|
2622
|
-
startHour: slot.startHour,
|
|
2623
|
-
endHour: slot.endHour,
|
|
2624
|
-
name: blockNote || "Block",
|
|
2625
|
-
note: blockNote || "",
|
|
2626
|
-
blockBy,
|
|
2627
|
-
blockedAt: dayKey,
|
|
2628
|
-
kind: "block"
|
|
2629
|
-
});
|
|
2630
|
-
});
|
|
2595
|
+
async function saveBlockedTime() {
|
|
2596
|
+
if (!(blockTimeRange == null ? void 0 : blockTimeRange[0]) || !(blockTimeRange == null ? void 0 : blockTimeRange[1])) {
|
|
2597
|
+
import_antd.message.warning("请选择屏蔽时段");
|
|
2598
|
+
return;
|
|
2599
|
+
}
|
|
2600
|
+
const [start, end] = blockTimeRange;
|
|
2601
|
+
if (!end.isAfter(start)) {
|
|
2602
|
+
import_antd.message.warning("结束时间须晚于开始时间");
|
|
2603
|
+
return;
|
|
2604
|
+
}
|
|
2605
|
+
const rid = Number(blockResourceId);
|
|
2606
|
+
if (!Number.isFinite(rid) || rid <= 0) {
|
|
2607
|
+
import_antd.message.warning("请选择资源");
|
|
2608
|
+
return;
|
|
2609
|
+
}
|
|
2610
|
+
const channels = props.blockedTimeSalesChannels ?? ["online_store"];
|
|
2611
|
+
const payload = {
|
|
2612
|
+
name: (blockFormName || "").trim() || "屏蔽时间",
|
|
2613
|
+
note: (blockModalNote || "").trim(),
|
|
2614
|
+
resource_ids: [rid],
|
|
2615
|
+
blocked_sales_channels: channels,
|
|
2616
|
+
start_time: start.format("YYYY-MM-DD HH:mm"),
|
|
2617
|
+
end_time: end.format("YYYY-MM-DD HH:mm")
|
|
2618
|
+
};
|
|
2619
|
+
if (props.onBlockedTimeSave) {
|
|
2620
|
+
setBlockSaving(true);
|
|
2621
|
+
try {
|
|
2622
|
+
const ok = await props.onBlockedTimeSave(payload);
|
|
2623
|
+
if (ok === false) return;
|
|
2624
|
+
setShowBlockPanel(false);
|
|
2625
|
+
setSelectedFreeSlots([]);
|
|
2626
|
+
setBlockModalNote("");
|
|
2627
|
+
} finally {
|
|
2628
|
+
setBlockSaving(false);
|
|
2631
2629
|
}
|
|
2630
|
+
return;
|
|
2632
2631
|
}
|
|
2633
|
-
const
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2632
|
+
const courtId = String(blockResourceId);
|
|
2633
|
+
const date = start.format("YYYY-MM-DD");
|
|
2634
|
+
const endDate = end.format("YYYY-MM-DD");
|
|
2635
|
+
const startHour = start.hour() + start.minute() / 60;
|
|
2636
|
+
const endHour = end.hour() + end.minute() / 60;
|
|
2637
|
+
const nextBlock = {
|
|
2638
|
+
id: `block-local-${courtId}-${date}-${startHour}-${Date.now()}`,
|
|
2639
|
+
courtId,
|
|
2640
|
+
date,
|
|
2641
|
+
endDate: endDate !== date ? endDate : void 0,
|
|
2642
|
+
startHour,
|
|
2643
|
+
endHour,
|
|
2644
|
+
name: payload.name,
|
|
2645
|
+
note: payload.note,
|
|
2646
|
+
blockedAt: date,
|
|
2647
|
+
kind: "block"
|
|
2648
|
+
};
|
|
2649
|
+
const conflicts = overlappingBookings(
|
|
2650
|
+
bookings,
|
|
2651
|
+
courtId,
|
|
2652
|
+
date,
|
|
2653
|
+
startHour,
|
|
2654
|
+
endDate === date ? endHour : 24
|
|
2641
2655
|
);
|
|
2642
2656
|
if (conflicts.length > 0) {
|
|
2643
|
-
setBlockConflict({ nextBlocks, conflicts });
|
|
2657
|
+
setBlockConflict({ nextBlocks: [nextBlock], conflicts });
|
|
2644
2658
|
return;
|
|
2645
2659
|
}
|
|
2646
2660
|
if (!allowPersist("createBlock")) return;
|
|
2647
|
-
setBookings((prev) => [
|
|
2661
|
+
setBookings((prev) => [nextBlock, ...prev]);
|
|
2648
2662
|
setSelectedFreeSlots([]);
|
|
2649
2663
|
setShowBlockPanel(false);
|
|
2650
|
-
|
|
2664
|
+
setBlockModalNote("");
|
|
2651
2665
|
}
|
|
2652
2666
|
function confirmBlockWithUnsetCourts() {
|
|
2653
2667
|
if (!blockConflict) return;
|
|
@@ -2789,6 +2803,7 @@ function BookingCalendarDemo(props = {}) {
|
|
|
2789
2803
|
[key]: { ...prev[key] || {}, [filesSubtab]: true }
|
|
2790
2804
|
}));
|
|
2791
2805
|
}, [detailItem, detailMode, detailTab, filesSubtab]);
|
|
2806
|
+
console.log(visibleCourtRows, "visibleCourtRows1234", visibleCourts, collapsedGroups);
|
|
2792
2807
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
2793
2808
|
import_antd.Spin,
|
|
2794
2809
|
{
|
|
@@ -3935,192 +3950,105 @@ function BookingCalendarDemo(props = {}) {
|
|
|
3935
3950
|
exit: { scale: 0.96, y: 10 },
|
|
3936
3951
|
className: `w-full max-w-[720px] max-h-[92vh] overflow-y-auto rounded-t-3xl md:rounded-3xl border p-4 md:p-6 shadow-2xl ${isLight ? "theme-panel theme-border soft-shadow" : "border-zinc-700 bg-[#121217]"}`
|
|
3937
3952
|
},
|
|
3938
|
-
/* @__PURE__ */ import_react.default.createElement("div", { className: "mb-4 flex items-center justify-between" }, /* @__PURE__ */ import_react.default.createElement("div",
|
|
3939
|
-
"div",
|
|
3940
|
-
{
|
|
3941
|
-
className: `mt-1 text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
3942
|
-
},
|
|
3943
|
-
"Selected time range:",
|
|
3944
|
-
" ",
|
|
3945
|
-
selectedFreeSlots.length > 0 ? `${formatHourLabel((_d = groupSelectedSlots(selectedFreeSlots, slotStepHours)[0]) == null ? void 0 : _d.startHour)} - ${formatHourLabel((_e = groupSelectedSlots(selectedFreeSlots, slotStepHours)[0]) == null ? void 0 : _e.endHour)}` : "-"
|
|
3946
|
-
)), /* @__PURE__ */ import_react.default.createElement(
|
|
3953
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "mb-4 flex items-center justify-between gap-3" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "text-xl font-semibold" }, "新建屏蔽时间"), /* @__PURE__ */ import_react.default.createElement(
|
|
3947
3954
|
"button",
|
|
3948
3955
|
{
|
|
3956
|
+
type: "button",
|
|
3957
|
+
"aria-label": "关闭",
|
|
3949
3958
|
onClick: () => setShowBlockPanel(false),
|
|
3950
|
-
className: `rounded-xl
|
|
3959
|
+
className: `rounded-xl p-2 ${isLight ? "btn-neutral" : "border border-zinc-700 text-zinc-300 hover:bg-zinc-800"}`
|
|
3951
3960
|
},
|
|
3952
|
-
|
|
3953
|
-
)),
|
|
3954
|
-
/* @__PURE__ */ import_react.default.createElement("div", { className: "mb-5 grid gap-3 md:gap-4 md:grid-cols-2" }, /* @__PURE__ */ import_react.default.createElement(
|
|
3955
|
-
"button",
|
|
3956
|
-
{
|
|
3957
|
-
onClick: () => setBlockMode("single"),
|
|
3958
|
-
className: `rounded-2xl border p-4 text-left ${blockMode === "single" ? isLight ? "theme-brand-surface border-[var(--brand-light)]" : "border-violet-500 bg-violet-500/10" : isLight ? "theme-panel-alt theme-border" : "border-zinc-700 bg-[#171820]"}`
|
|
3959
|
-
},
|
|
3960
|
-
/* @__PURE__ */ import_react.default.createElement("div", { className: "font-semibold" }, "Only selected date"),
|
|
3961
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
3962
|
-
"div",
|
|
3963
|
-
{
|
|
3964
|
-
className: `mt-1 text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
3965
|
-
},
|
|
3966
|
-
"Create a block only for the currently selected date and time range."
|
|
3967
|
-
)
|
|
3968
|
-
), /* @__PURE__ */ import_react.default.createElement(
|
|
3969
|
-
"button",
|
|
3970
|
-
{
|
|
3971
|
-
onClick: () => setBlockMode("repeat"),
|
|
3972
|
-
className: `rounded-2xl border p-4 text-left ${blockMode === "repeat" ? isLight ? "theme-brand-surface border-[var(--brand-light)]" : "border-violet-500 bg-violet-500/10" : isLight ? "theme-panel-alt theme-border" : "border-zinc-700 bg-[#171820]"}`
|
|
3973
|
-
},
|
|
3974
|
-
/* @__PURE__ */ import_react.default.createElement("div", { className: "font-semibold" }, "Every matching date"),
|
|
3975
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
3976
|
-
"div",
|
|
3977
|
-
{
|
|
3978
|
-
className: `mt-1 text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
3979
|
-
},
|
|
3980
|
-
"Create repeating blocks by date range and weekday rules."
|
|
3981
|
-
)
|
|
3961
|
+
/* @__PURE__ */ import_react.default.createElement(import_lucide_react.X, { size: 20 })
|
|
3982
3962
|
)),
|
|
3983
3963
|
/* @__PURE__ */ import_react.default.createElement(
|
|
3984
3964
|
"div",
|
|
3985
3965
|
{
|
|
3986
3966
|
className: `space-y-4 rounded-2xl border p-4 ${isLight ? "theme-panel-alt theme-border" : "border-zinc-700 bg-[#171820]"}`
|
|
3987
3967
|
},
|
|
3988
|
-
/* @__PURE__ */ import_react.default.createElement("div",
|
|
3968
|
+
/* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
3989
3969
|
"label",
|
|
3990
3970
|
{
|
|
3991
3971
|
className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
3992
3972
|
},
|
|
3993
|
-
"
|
|
3973
|
+
"标题"
|
|
3994
3974
|
), /* @__PURE__ */ import_react.default.createElement(
|
|
3995
3975
|
"input",
|
|
3996
3976
|
{
|
|
3997
|
-
value:
|
|
3998
|
-
onChange: (e) =>
|
|
3999
|
-
placeholder: "
|
|
3977
|
+
value: blockFormName,
|
|
3978
|
+
onChange: (e) => setBlockFormName(e.target.value),
|
|
3979
|
+
placeholder: "屏蔽时间",
|
|
4000
3980
|
className: `w-full rounded-xl px-3 py-2 outline-none ${isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#111218] text-white"}`
|
|
4001
3981
|
}
|
|
4002
|
-
)),
|
|
3982
|
+
)),
|
|
3983
|
+
/* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
4003
3984
|
"label",
|
|
4004
3985
|
{
|
|
4005
3986
|
className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
4006
3987
|
},
|
|
4007
|
-
"
|
|
3988
|
+
"备注"
|
|
4008
3989
|
), /* @__PURE__ */ import_react.default.createElement(
|
|
4009
3990
|
"input",
|
|
4010
3991
|
{
|
|
4011
|
-
value:
|
|
4012
|
-
onChange: (e) =>
|
|
4013
|
-
placeholder: "
|
|
4014
|
-
className:
|
|
3992
|
+
value: blockModalNote,
|
|
3993
|
+
onChange: (e) => setBlockModalNote(e.target.value),
|
|
3994
|
+
placeholder: "选填",
|
|
3995
|
+
className: `w-full rounded-xl px-3 py-2 outline-none ${isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#111218] text-white"}`
|
|
4015
3996
|
}
|
|
4016
|
-
))
|
|
4017
|
-
|
|
3997
|
+
)),
|
|
3998
|
+
/* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
4018
3999
|
"label",
|
|
4019
4000
|
{
|
|
4020
4001
|
className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
4021
4002
|
},
|
|
4022
|
-
"
|
|
4003
|
+
"资源"
|
|
4023
4004
|
), /* @__PURE__ */ import_react.default.createElement(
|
|
4024
|
-
"
|
|
4005
|
+
"select",
|
|
4025
4006
|
{
|
|
4026
|
-
|
|
4007
|
+
value: blockResourceId,
|
|
4008
|
+
onChange: (e) => setBlockResourceId(e.target.value),
|
|
4009
|
+
className: `w-full rounded-xl px-3 py-2 outline-none ${isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#111218] text-white"}`
|
|
4027
4010
|
},
|
|
4028
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
type: "date",
|
|
4033
|
-
value: blockRangeStart,
|
|
4034
|
-
onChange: (e) => setBlockRangeStart(e.target.value),
|
|
4035
|
-
className: "w-full bg-transparent outline-none"
|
|
4036
|
-
}
|
|
4037
|
-
),
|
|
4038
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
4039
|
-
"button",
|
|
4040
|
-
{
|
|
4041
|
-
type: "button",
|
|
4042
|
-
onClick: () => {
|
|
4043
|
-
var _a2;
|
|
4044
|
-
return (_a2 = blockStartInputRef.current) == null ? void 0 : _a2.focus();
|
|
4045
|
-
},
|
|
4046
|
-
className: "rounded-lg p-1 hover:bg-zinc-800"
|
|
4047
|
-
},
|
|
4048
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
4049
|
-
import_lucide_react.CalendarDays,
|
|
4050
|
-
{
|
|
4051
|
-
size: 18,
|
|
4052
|
-
className: "text-zinc-400"
|
|
4053
|
-
}
|
|
4054
|
-
)
|
|
4055
|
-
)
|
|
4056
|
-
)), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
4011
|
+
/* @__PURE__ */ import_react.default.createElement("option", { value: "" }, "无资源"),
|
|
4012
|
+
visibleCourts.map((c) => /* @__PURE__ */ import_react.default.createElement("option", { key: c.id, value: String(c.id) }, c.name))
|
|
4013
|
+
)),
|
|
4014
|
+
/* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
4057
4015
|
"label",
|
|
4058
4016
|
{
|
|
4059
4017
|
className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
4060
4018
|
},
|
|
4061
|
-
"
|
|
4062
|
-
), /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-2 rounded-xl border border-zinc-700 bg-[#111218] px-3 py-2" }, /* @__PURE__ */ import_react.default.createElement(
|
|
4063
|
-
"input",
|
|
4064
|
-
{
|
|
4065
|
-
ref: blockEndInputRef,
|
|
4066
|
-
type: "date",
|
|
4067
|
-
value: blockRangeEnd,
|
|
4068
|
-
onChange: (e) => setBlockRangeEnd(e.target.value),
|
|
4069
|
-
className: "w-full bg-transparent outline-none"
|
|
4070
|
-
}
|
|
4019
|
+
"屏蔽时段"
|
|
4071
4020
|
), /* @__PURE__ */ import_react.default.createElement(
|
|
4072
|
-
|
|
4021
|
+
RangePicker,
|
|
4073
4022
|
{
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4023
|
+
style: { width: "100%" },
|
|
4024
|
+
showTime: {
|
|
4025
|
+
format: "HH:mm",
|
|
4026
|
+
minuteStep: resolvedSlotMinutes >= 60 ? 60 : Math.max(1, resolvedSlotMinutes)
|
|
4078
4027
|
},
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
{
|
|
4084
|
-
size: 18,
|
|
4085
|
-
className: "text-zinc-400"
|
|
4086
|
-
}
|
|
4087
|
-
)
|
|
4088
|
-
)))), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
4089
|
-
"label",
|
|
4090
|
-
{
|
|
4091
|
-
className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
|
|
4092
|
-
},
|
|
4093
|
-
"Weekdays in range"
|
|
4094
|
-
), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-2 gap-2 sm:flex sm:flex-wrap" }, weekdayNames.map((name, idx) => /* @__PURE__ */ import_react.default.createElement(
|
|
4095
|
-
"button",
|
|
4096
|
-
{
|
|
4097
|
-
key: name,
|
|
4098
|
-
onClick: () => toggleBlockWeekday(weekdaysMap[idx]),
|
|
4099
|
-
className: `rounded-xl px-4 py-2 text-sm ${blockWeekdays.includes(weekdaysMap[idx]) ? "btn-pill-active" : isLight ? "btn-pill-neutral" : "bg-zinc-800 text-zinc-300"}`
|
|
4100
|
-
},
|
|
4101
|
-
name
|
|
4102
|
-
)))), /* @__PURE__ */ import_react.default.createElement(
|
|
4103
|
-
"div",
|
|
4104
|
-
{
|
|
4105
|
-
className: `rounded-xl px-3 py-3 text-sm ${isLight ? "theme-panel theme-border theme-text-muted" : "bg-zinc-900/80 text-zinc-300"}`
|
|
4106
|
-
},
|
|
4107
|
-
"Example: choose 1 Sep to 1 Oct, then select every Wednesday. The chosen time range will be blocked on all matching Wednesdays."
|
|
4028
|
+
format: "YYYY-MM-DD HH:mm",
|
|
4029
|
+
value: blockTimeRange,
|
|
4030
|
+
onChange: (v) => setBlockTimeRange(v)
|
|
4031
|
+
}
|
|
4108
4032
|
))
|
|
4109
4033
|
),
|
|
4110
4034
|
/* @__PURE__ */ import_react.default.createElement("div", { className: "mt-6 flex flex-col-reverse sm:flex-row items-stretch sm:items-center justify-end gap-3" }, /* @__PURE__ */ import_react.default.createElement(
|
|
4111
4035
|
"button",
|
|
4112
4036
|
{
|
|
4037
|
+
type: "button",
|
|
4038
|
+
disabled: blockSaving,
|
|
4113
4039
|
onClick: () => setShowBlockPanel(false),
|
|
4114
4040
|
className: `rounded-xl px-4 py-2 ${isLight ? "btn-neutral" : "border border-zinc-700 text-zinc-300 hover:bg-zinc-800"}`
|
|
4115
4041
|
},
|
|
4116
|
-
"
|
|
4042
|
+
"取消"
|
|
4117
4043
|
), /* @__PURE__ */ import_react.default.createElement(
|
|
4118
4044
|
"button",
|
|
4119
4045
|
{
|
|
4120
|
-
|
|
4121
|
-
|
|
4046
|
+
type: "button",
|
|
4047
|
+
disabled: blockSaving,
|
|
4048
|
+
onClick: () => void saveBlockedTime(),
|
|
4049
|
+
className: `rounded-xl px-5 py-3 text-sm font-semibold disabled:opacity-50 ${isLight ? "btn-brand" : "bg-violet-600 text-white hover:bg-violet-500"}`
|
|
4122
4050
|
},
|
|
4123
|
-
"
|
|
4051
|
+
blockSaving ? "保存中…" : "保存"
|
|
4124
4052
|
))
|
|
4125
4053
|
)
|
|
4126
4054
|
)),
|
|
@@ -4589,7 +4517,7 @@ function BookingCalendarDemo(props = {}) {
|
|
|
4589
4517
|
ref: detailPanelRef
|
|
4590
4518
|
},
|
|
4591
4519
|
(() => {
|
|
4592
|
-
var _a2, _b2, _c2, _d2, _e2,
|
|
4520
|
+
var _a2, _b2, _c2, _d2, _e2, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
4593
4521
|
const detail = getBookingDetailData(detailItem, courts);
|
|
4594
4522
|
const detailWithNoteOverrides = {
|
|
4595
4523
|
...detail,
|
|
@@ -4614,9 +4542,9 @@ function BookingCalendarDemo(props = {}) {
|
|
|
4614
4542
|
const customerCard = selectedCustomer || {
|
|
4615
4543
|
name: ((_d2 = detail.customer) == null ? void 0 : _d2.name) || detail.headerSummary.customerName,
|
|
4616
4544
|
phone: (((_e2 = detail.customer) == null ? void 0 : _e2.phone) || "").split(" ").slice(-1)[0] || "0412888999",
|
|
4617
|
-
email: ((
|
|
4545
|
+
email: ((_f = detail.customer) == null ? void 0 : _f.email) || "tina.wu@pisell.com",
|
|
4618
4546
|
membership: "Gold",
|
|
4619
|
-
registeredAt: (((_h = (
|
|
4547
|
+
registeredAt: (((_h = (_g = detail.history) == null ? void 0 : _g[0]) == null ? void 0 : _h.time) || "2026-03-18").slice(0, 10).split("-").join("/")
|
|
4620
4548
|
};
|
|
4621
4549
|
const tabs = [
|
|
4622
4550
|
"summary",
|
|
@@ -6621,7 +6549,7 @@ function BookingCalendarDemo(props = {}) {
|
|
|
6621
6549
|
checkinModal.name,
|
|
6622
6550
|
" ·",
|
|
6623
6551
|
" ",
|
|
6624
|
-
((
|
|
6552
|
+
((_d = courts.find((c) => c.id === checkinModal.courtId)) == null ? void 0 : _d.name) || "Unassigned"
|
|
6625
6553
|
)), /* @__PURE__ */ import_react.default.createElement(
|
|
6626
6554
|
"button",
|
|
6627
6555
|
{
|
|
@@ -6823,7 +6751,7 @@ function BookingCalendarDemo(props = {}) {
|
|
|
6823
6751
|
mergeOrderModal.item.name,
|
|
6824
6752
|
" ·",
|
|
6825
6753
|
" ",
|
|
6826
|
-
((
|
|
6754
|
+
((_e = courts.find((c) => c.id === mergeOrderModal.item.courtId)) == null ? void 0 : _e.name) || "Unassigned"
|
|
6827
6755
|
)
|
|
6828
6756
|
),
|
|
6829
6757
|
/* @__PURE__ */ import_react.default.createElement("div", { className: "mt-4" }, /* @__PURE__ */ import_react.default.createElement(
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** 日历内会改本地预约数据的动作类型,供业务层拦截(如平面图未支持写接口时 toast) */
|
|
3
|
+
export declare type CalendarPersistKind = 'moveBooking' | 'applyConflictMove' | 'createBooking' | 'removeBlocks' | 'createBlock' | 'confirmBlockWithConflicts' | 'checkin' | 'checkinReschedule' | 'mergeOrder' | 'other';
|
|
4
|
+
export interface CalendarPersistContextValue {
|
|
5
|
+
/**
|
|
6
|
+
* 返回 false 时日历组件应取消本次本地数据变更(由调用方决定是否已 toast)。
|
|
7
|
+
* 未提供时默认允许所有本地变更(Story / 独立演示)。
|
|
8
|
+
*/
|
|
9
|
+
beforePersist?: (kind: CalendarPersistKind) => boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const CalendarPersistProvider: React.FC<{
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
value?: CalendarPersistContextValue;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* 在日历 Demo 内判断某类写操作是否允许执行本地 state 更新。
|
|
17
|
+
*/
|
|
18
|
+
export declare function useCalendarPersist(): (kind: CalendarPersistKind) => boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './VenueWallMarquee.less';
|
|
3
|
+
export interface NoteTickerProps {
|
|
4
|
+
text: string;
|
|
5
|
+
color: string;
|
|
6
|
+
/** 跑完一整段所需秒数 */
|
|
7
|
+
duration?: number;
|
|
8
|
+
shouldMarquee: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 底部说明条:短文案静态省略,长文案无缝跑马灯(样式见 VenueWallMarquee.less)。
|
|
12
|
+
*/
|
|
13
|
+
export declare const NoteTicker: React.NamedExoticComponent<NoteTickerProps>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.tsx
|
|
30
|
+
var NoteTicker_exports = {};
|
|
31
|
+
__export(NoteTicker_exports, {
|
|
32
|
+
NoteTicker: () => NoteTicker
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(NoteTicker_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_VenueWallMarquee = require("./VenueWallMarquee.less");
|
|
37
|
+
var NoteTicker = import_react.default.memo(function NoteTicker2({
|
|
38
|
+
text,
|
|
39
|
+
color,
|
|
40
|
+
duration = 24,
|
|
41
|
+
shouldMarquee
|
|
42
|
+
}) {
|
|
43
|
+
if (!shouldMarquee) {
|
|
44
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-resource-wall-note-marquee-static", style: { color } }, text);
|
|
45
|
+
}
|
|
46
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-resource-wall-note-marquee-wrap" }, /* @__PURE__ */ import_react.default.createElement(
|
|
47
|
+
"div",
|
|
48
|
+
{
|
|
49
|
+
className: "pisell-resource-wall-note-marquee-track",
|
|
50
|
+
style: { animationDuration: `${duration}s`, color }
|
|
51
|
+
},
|
|
52
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-resource-wall-note-marquee-copy" }, text),
|
|
53
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-resource-wall-note-marquee-copy", "aria-hidden": "true" }, text),
|
|
54
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-resource-wall-note-marquee-copy", "aria-hidden": "true" }, text)
|
|
55
|
+
));
|
|
56
|
+
});
|
|
57
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
58
|
+
0 && (module.exports = {
|
|
59
|
+
NoteTicker
|
|
60
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { RecordBoardResourceWallProps } from '../../types';
|
|
3
|
+
/** 与 {@link RecordBoardResourceWallProps.filterFieldKey} 默认一致 */
|
|
4
|
+
export declare const DEFAULT_RESOURCE_WALL_FILTER_FIELD_KEY = "resource_wall_resource_ids";
|
|
5
|
+
/**
|
|
6
|
+
* 大屏资源墙主视口:卡片数据来自 props;可见资源 id 来自
|
|
7
|
+
* `searchParams.filter.values[filterFieldKey]` 与 `cards[].resourceId` 交集。
|
|
8
|
+
*/
|
|
9
|
+
export declare const PisellRecordBoardResourceWallView: React.FC<RecordBoardResourceWallProps>;
|