@pisell/materials 6.11.27 → 6.11.29

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.
Files changed (271) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +16 -16
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +16 -16
  11. package/es/components/Pagination/index.d.ts +1 -0
  12. package/es/components/PisellBasicGrid/PisellBasicGrid.d.ts +1 -0
  13. package/es/components/PisellCards/components/MultilevelCard/hooks/useMultilevelCardExpand.d.ts +1 -0
  14. package/es/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +1 -0
  15. package/es/components/PisellCards/components/PisellImageCard/hooks/useImageLoad.d.ts +1 -0
  16. package/es/components/PisellCards/components/TabCard/TabCard.d.ts +1 -0
  17. package/es/components/PisellCards/components/TextCard/TextCard.d.ts +1 -0
  18. package/es/components/appVersionControl/index.d.ts +0 -1
  19. package/es/components/config-provider/index.d.ts +1 -0
  20. package/es/components/dataSourceComponents/dataSourceForm/formItem.d.ts +1 -0
  21. package/es/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.d.ts +1 -0
  22. package/es/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +1 -0
  23. package/es/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +1 -0
  24. package/es/components/dataSourceComponents/dataSourceTable/filter/utils.d.ts +1 -0
  25. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +1 -0
  26. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
  27. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +1 -0
  28. package/es/components/dataSourceComponents/dataSourceWrapper/index.d.ts +1 -0
  29. package/es/components/dataSourceComponents/fields/Input.Json/ReadPretty.d.ts +1 -0
  30. package/es/components/dataSourceComponents/fields/Input.Password/ReadPretty.d.ts +1 -0
  31. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -0
  32. package/es/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +1 -0
  33. package/es/components/dataSourceComponents/fields/index.d.ts +8 -7
  34. package/es/components/date-picker/datePickerCpt.d.ts +1 -0
  35. package/es/components/date-picker/index.d.ts +1 -0
  36. package/es/components/filter/index.d.ts +1 -0
  37. package/es/components/list/index.d.ts +1 -0
  38. package/es/components/lowCodePage/index.d.ts +1 -0
  39. package/es/components/page/index.d.ts +0 -1
  40. package/es/components/pisellDataSourceContainer/PisellDataSourceContainer.d.ts +1 -0
  41. package/es/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +1 -0
  42. package/es/components/pisellFilter/index.d.ts +0 -1
  43. package/es/components/pisellGridPro/GridView/index.d.ts +1 -0
  44. package/es/components/pisellGridPro/components/DataCard/index.d.ts +1 -0
  45. package/es/components/pisellInput/index.d.ts +0 -1
  46. package/es/components/pisellLoading/index.d.ts +1 -0
  47. package/es/components/pisellModal/components/IpadModal/index.d.ts +1 -0
  48. package/es/components/pisellModal/components/MobileModal/index.d.ts +1 -0
  49. package/es/components/pisellModal/components/index.d.ts +1 -0
  50. package/es/components/pisellRecordBoard/PisellRecordBoard.js +8 -5
  51. package/es/components/pisellRecordBoard/index.d.ts +7 -2
  52. package/es/components/pisellRecordBoard/index.js +4 -2
  53. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +323 -312
  54. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +18 -0
  55. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +13 -0
  56. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +37 -0
  57. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +9 -0
  58. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +157 -0
  59. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +8 -0
  60. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +9 -0
  61. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +14 -0
  62. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +513 -0
  63. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
  64. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +14 -0
  65. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +82 -0
  66. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -2
  67. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +58 -19
  68. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +5 -3
  69. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +4 -3
  70. package/es/components/pisellRecordBoard/shellFrame/index.js +49 -11
  71. package/es/components/pisellRecordBoard/types.d.ts +78 -2
  72. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +5 -2
  73. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +18 -0
  74. package/es/components/pisellReservationSchedule/locales.d.ts +43 -0
  75. package/es/components/pisellReservationSchedule/types.d.ts +52 -0
  76. package/es/components/pisellReservationScheduleBand/types.d.ts +61 -0
  77. package/es/components/pisellSort/index.d.ts +1 -0
  78. package/es/components/pisellTimeNavigator/utils/index.d.ts +41 -0
  79. package/es/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +0 -1
  80. package/es/components/productCard/cartSkuCard/components/resources/index.d.ts +0 -1
  81. package/es/components/productCard/cartSkuCard/components/timeRange/index.d.ts +0 -1
  82. package/es/components/productCard/components/AmountFooter/index.d.ts +1 -0
  83. package/es/components/productCard/components/MultiDay/index.d.ts +1 -0
  84. package/es/components/productCard/components/Note/index.d.ts +1 -0
  85. package/es/components/productCard/components/Packages/components/collapsibleList/utils.d.ts +1 -0
  86. package/es/components/productCard/components/Packages/components/options/index.d.ts +1 -0
  87. package/es/components/productCard/components/Packages/index.d.ts +1 -0
  88. package/es/components/productCard/components/Time/components/SelectResource/index.d.ts +1 -0
  89. package/es/components/productCard/components/Time/index.d.ts +1 -0
  90. package/es/components/qrcode/index.d.ts +1 -0
  91. package/es/components/select-time/index.d.ts +0 -1
  92. package/es/components/table/Actions/component/ColumnsSetting/index.d.ts +1 -0
  93. package/es/components/table/Actions/component/ExportImport/index.d.ts +1 -0
  94. package/es/components/table/Actions/component/GallerySetting/index.d.ts +1 -0
  95. package/es/components/table/Actions/component/Group/index.d.ts +1 -0
  96. package/es/components/table/Actions/index.d.ts +1 -0
  97. package/es/components/table/BasicTable/index.d.ts +1 -0
  98. package/es/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +1 -0
  99. package/es/components/table/Gallery/components/GalleryItem/components/RenderFields/index.d.ts +1 -0
  100. package/es/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +1 -0
  101. package/es/components/table/Table/SelectField/index.d.ts +1 -0
  102. package/es/components/table/Table/fields/date/Show/index.d.ts +1 -0
  103. package/es/components/table/Table/fields/date/index.d.ts +1 -0
  104. package/es/components/table/Table/fields/image/Show/index.d.ts +1 -0
  105. package/es/components/table/Table/fields/index.d.ts +1 -0
  106. package/es/components/table/Table/fields/link/Show/index.d.ts +1 -0
  107. package/es/components/table/Table/fields/number/Show/index.d.ts +1 -0
  108. package/es/components/table/Table/fields/number/index.d.ts +1 -0
  109. package/es/components/table/Table/fields/numberRange/Show/index.d.ts +1 -0
  110. package/es/components/table/Table/fields/numberRange/index.d.ts +1 -0
  111. package/es/components/table/Table/fields/oldRangePicker/Show/index.d.ts +1 -0
  112. package/es/components/table/Table/fields/oldRangePicker/index.d.ts +1 -0
  113. package/es/components/table/Table/fields/pSwitch/Show/index.d.ts +1 -0
  114. package/es/components/table/Table/fields/rangePicker/Show/index.d.ts +1 -0
  115. package/es/components/table/Table/fields/rangePicker/index.d.ts +1 -0
  116. package/es/components/table/Table/fields/search/Show/index.d.ts +1 -0
  117. package/es/components/table/Table/fields/search/index.d.ts +1 -0
  118. package/es/components/table/Table/fields/select/Show/index.d.ts +1 -0
  119. package/es/components/table/Table/fields/select/index.d.ts +1 -0
  120. package/es/components/table/Table/fields/text/Show/index.d.ts +1 -0
  121. package/es/components/table/Table/fields/text/index.d.ts +1 -0
  122. package/es/components/table/Table/fields/treeSelect/Show/index.d.ts +1 -0
  123. package/es/components/table/Table/fields/treeSelect/index.d.ts +1 -0
  124. package/es/components/table/Table/tableConfig/SortRow/index.d.ts +1 -0
  125. package/es/components/table/Table/utils.d.ts +1 -1
  126. package/es/components/table/View/index.d.ts +1 -0
  127. package/es/components/virtual-keyboard/Amount/index.d.ts +1 -0
  128. package/es/index.d.ts +2 -1
  129. package/es/index.js +1 -0
  130. package/es/locales/en-US.d.ts +389 -0
  131. package/es/locales/en-US.js +1 -0
  132. package/es/locales/ja.d.ts +358 -0
  133. package/es/locales/ja.js +1 -0
  134. package/es/locales/pt.d.ts +358 -0
  135. package/es/locales/pt.js +1 -0
  136. package/es/locales/zh-CN.d.ts +384 -0
  137. package/es/locales/zh-CN.js +1 -0
  138. package/es/locales/zh-TW.d.ts +384 -0
  139. package/es/locales/zh-TW.js +1 -0
  140. package/es/pisell-materials.tw.css +1 -1
  141. package/lib/components/Pagination/index.d.ts +1 -0
  142. package/lib/components/PisellBasicGrid/PisellBasicGrid.d.ts +1 -0
  143. package/lib/components/PisellCards/components/MultilevelCard/hooks/useMultilevelCardExpand.d.ts +1 -0
  144. package/lib/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +1 -0
  145. package/lib/components/PisellCards/components/PisellImageCard/hooks/useImageLoad.d.ts +1 -0
  146. package/lib/components/PisellCards/components/TabCard/TabCard.d.ts +1 -0
  147. package/lib/components/PisellCards/components/TextCard/TextCard.d.ts +1 -0
  148. package/lib/components/appVersionControl/index.d.ts +0 -1
  149. package/lib/components/config-provider/index.d.ts +1 -0
  150. package/lib/components/dataSourceComponents/dataSourceForm/formItem.d.ts +1 -0
  151. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.d.ts +1 -0
  152. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +1 -0
  153. package/lib/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +1 -0
  154. package/lib/components/dataSourceComponents/dataSourceTable/filter/utils.d.ts +1 -0
  155. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +1 -0
  156. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
  157. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +1 -0
  158. package/lib/components/dataSourceComponents/dataSourceWrapper/index.d.ts +1 -0
  159. package/lib/components/dataSourceComponents/fields/Input.Json/ReadPretty.d.ts +1 -0
  160. package/lib/components/dataSourceComponents/fields/Input.Password/ReadPretty.d.ts +1 -0
  161. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -0
  162. package/lib/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +1 -0
  163. package/lib/components/dataSourceComponents/fields/index.d.ts +8 -7
  164. package/lib/components/date-picker/datePickerCpt.d.ts +1 -0
  165. package/lib/components/date-picker/index.d.ts +1 -0
  166. package/lib/components/filter/index.d.ts +1 -0
  167. package/lib/components/list/index.d.ts +1 -0
  168. package/lib/components/lowCodePage/index.d.ts +1 -0
  169. package/lib/components/page/index.d.ts +0 -1
  170. package/lib/components/pisellDataSourceContainer/PisellDataSourceContainer.d.ts +1 -0
  171. package/lib/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +1 -0
  172. package/lib/components/pisellFilter/index.d.ts +0 -1
  173. package/lib/components/pisellGridPro/GridView/index.d.ts +1 -0
  174. package/lib/components/pisellGridPro/components/DataCard/index.d.ts +1 -0
  175. package/lib/components/pisellInput/index.d.ts +0 -1
  176. package/lib/components/pisellLoading/index.d.ts +1 -0
  177. package/lib/components/pisellModal/components/IpadModal/index.d.ts +1 -0
  178. package/lib/components/pisellModal/components/MobileModal/index.d.ts +1 -0
  179. package/lib/components/pisellModal/components/index.d.ts +1 -0
  180. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +8 -3
  181. package/lib/components/pisellRecordBoard/index.d.ts +7 -2
  182. package/lib/components/pisellRecordBoard/index.js +4 -0
  183. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +142 -215
  184. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +18 -0
  185. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +13 -0
  186. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +60 -0
  187. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +9 -0
  188. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +163 -0
  189. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +8 -0
  190. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +27 -0
  191. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +14 -0
  192. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +636 -0
  193. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
  194. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +14 -0
  195. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +110 -0
  196. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -2
  197. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +45 -14
  198. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +5 -3
  199. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +4 -3
  200. package/lib/components/pisellRecordBoard/shellFrame/index.js +57 -7
  201. package/lib/components/pisellRecordBoard/types.d.ts +78 -2
  202. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +5 -2
  203. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +18 -0
  204. package/lib/components/pisellReservationSchedule/locales.d.ts +43 -0
  205. package/lib/components/pisellReservationSchedule/types.d.ts +52 -0
  206. package/lib/components/pisellReservationScheduleBand/types.d.ts +61 -0
  207. package/lib/components/pisellSort/index.d.ts +1 -0
  208. package/lib/components/pisellTimeNavigator/utils/index.d.ts +41 -0
  209. package/lib/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +0 -1
  210. package/lib/components/productCard/cartSkuCard/components/resources/index.d.ts +0 -1
  211. package/lib/components/productCard/cartSkuCard/components/timeRange/index.d.ts +0 -1
  212. package/lib/components/productCard/components/AmountFooter/index.d.ts +1 -0
  213. package/lib/components/productCard/components/MultiDay/index.d.ts +1 -0
  214. package/lib/components/productCard/components/Note/index.d.ts +1 -0
  215. package/lib/components/productCard/components/Packages/components/collapsibleList/utils.d.ts +1 -0
  216. package/lib/components/productCard/components/Packages/components/options/index.d.ts +1 -0
  217. package/lib/components/productCard/components/Packages/index.d.ts +1 -0
  218. package/lib/components/productCard/components/Time/components/SelectResource/index.d.ts +1 -0
  219. package/lib/components/productCard/components/Time/index.d.ts +1 -0
  220. package/lib/components/qrcode/index.d.ts +1 -0
  221. package/lib/components/select-time/index.d.ts +0 -1
  222. package/lib/components/table/Actions/component/ColumnsSetting/index.d.ts +1 -0
  223. package/lib/components/table/Actions/component/ExportImport/index.d.ts +1 -0
  224. package/lib/components/table/Actions/component/GallerySetting/index.d.ts +1 -0
  225. package/lib/components/table/Actions/component/Group/index.d.ts +1 -0
  226. package/lib/components/table/Actions/index.d.ts +1 -0
  227. package/lib/components/table/BasicTable/index.d.ts +1 -0
  228. package/lib/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +1 -0
  229. package/lib/components/table/Gallery/components/GalleryItem/components/RenderFields/index.d.ts +1 -0
  230. package/lib/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +1 -0
  231. package/lib/components/table/Table/SelectField/index.d.ts +1 -0
  232. package/lib/components/table/Table/fields/date/Show/index.d.ts +1 -0
  233. package/lib/components/table/Table/fields/date/index.d.ts +1 -0
  234. package/lib/components/table/Table/fields/image/Show/index.d.ts +1 -0
  235. package/lib/components/table/Table/fields/index.d.ts +1 -0
  236. package/lib/components/table/Table/fields/link/Show/index.d.ts +1 -0
  237. package/lib/components/table/Table/fields/number/Show/index.d.ts +1 -0
  238. package/lib/components/table/Table/fields/number/index.d.ts +1 -0
  239. package/lib/components/table/Table/fields/numberRange/Show/index.d.ts +1 -0
  240. package/lib/components/table/Table/fields/numberRange/index.d.ts +1 -0
  241. package/lib/components/table/Table/fields/oldRangePicker/Show/index.d.ts +1 -0
  242. package/lib/components/table/Table/fields/oldRangePicker/index.d.ts +1 -0
  243. package/lib/components/table/Table/fields/pSwitch/Show/index.d.ts +1 -0
  244. package/lib/components/table/Table/fields/rangePicker/Show/index.d.ts +1 -0
  245. package/lib/components/table/Table/fields/rangePicker/index.d.ts +1 -0
  246. package/lib/components/table/Table/fields/search/Show/index.d.ts +1 -0
  247. package/lib/components/table/Table/fields/search/index.d.ts +1 -0
  248. package/lib/components/table/Table/fields/select/Show/index.d.ts +1 -0
  249. package/lib/components/table/Table/fields/select/index.d.ts +1 -0
  250. package/lib/components/table/Table/fields/text/Show/index.d.ts +1 -0
  251. package/lib/components/table/Table/fields/text/index.d.ts +1 -0
  252. package/lib/components/table/Table/fields/treeSelect/Show/index.d.ts +1 -0
  253. package/lib/components/table/Table/fields/treeSelect/index.d.ts +1 -0
  254. package/lib/components/table/Table/tableConfig/SortRow/index.d.ts +1 -0
  255. package/lib/components/table/Table/utils.d.ts +1 -1
  256. package/lib/components/table/View/index.d.ts +1 -0
  257. package/lib/components/virtual-keyboard/Amount/index.d.ts +1 -0
  258. package/lib/index.d.ts +2 -1
  259. package/lib/index.js +5 -0
  260. package/lib/locales/en-US.d.ts +389 -0
  261. package/lib/locales/en-US.js +1 -0
  262. package/lib/locales/ja.d.ts +358 -0
  263. package/lib/locales/ja.js +1 -0
  264. package/lib/locales/pt.d.ts +358 -0
  265. package/lib/locales/pt.js +1 -0
  266. package/lib/locales/zh-CN.d.ts +384 -0
  267. package/lib/locales/zh-CN.js +1 -0
  268. package/lib/locales/zh-TW.d.ts +384 -0
  269. package/lib/locales/zh-TW.js +1 -0
  270. package/lib/pisell-materials.tw.css +1 -1
  271. package/package.json +1 -1
@@ -1,6 +1,9 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
2
  var _excluded = ["initial", "animate", "exit", "transition", "layoutId", "layout", "whileHover", "whileTap", "variants"],
3
3
  _excluded2 = ["children", "mode", "initial"];
4
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
5
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
6
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
7
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
5
8
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
9
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -22,12 +25,14 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
22
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
26
  // @ts-nocheck — 大型演示日历,逐步再收紧类型;避免阻塞包构建与下游 tsc。
24
27
  import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
25
- import { Spin, Tooltip } from "antd";
28
+ import { DatePicker, message, Spin, Tooltip } from "antd";
26
29
  import { FixedSizeList } from "react-window";
30
+ import dayjs from "dayjs";
27
31
  import { buildCalendarTimelineSlotStartsFromRange } from "../../../pisellTimeNavigator/utils";
28
32
  import { PisellDateTimeDisplay } from "../../../pisellDateTimeDisplay";
29
33
  import { useCalendarPersist } from "./calendarPersistGuard";
30
34
  import { ChevronRight, ChevronDown, CalendarDays, X, Clock3, ExternalLink, FileText, Receipt, Users, History, CreditCard, NotebookPen, CheckCircle2, Printer, Eye, Wand2, CircleEllipsis, Wallet, BadgeCheck, AlertCircle, User, Clock4, MapPinned, Pin, Hand, Phone, GitMerge, Settings2 } from "lucide-react";
35
+ var RangePicker = DatePicker.RangePicker;
31
36
 
32
37
  /**
33
38
  * 日历原型曾用 framer-motion 做过渡/共享布局动画;低代码 Webpack4 无法稳定打包 framer-motion → motion-dom 的 ESM。
@@ -581,6 +586,14 @@ function courtDaySummary(courtId, dateKey, bookings, hourSlots, slotStepHours) {
581
586
  function sameSlot(a, b) {
582
587
  return a.courtId === b.courtId && a.date === b.date && a.hour === b.hour;
583
588
  }
589
+
590
+ /** 营业日 `dateStr` + 浮点小时(含半格)→ dayjs */
591
+ function dayAndHourToDayjs(dateStr, hourFloat) {
592
+ var h = Math.floor(hourFloat);
593
+ var m = Math.round((hourFloat - h) * 60);
594
+ var mm = Math.min(59, Math.max(0, m));
595
+ return dayjs("".concat(dateStr, " ").concat(String(h).padStart(2, "0"), ":").concat(String(mm).padStart(2, "0")), "YYYY-MM-DD HH:mm");
596
+ }
584
597
  function statusTagMeta(tag) {
585
598
  switch (tag) {
586
599
  case "cancel":
@@ -2068,7 +2081,7 @@ function BookingCard(_ref7) {
2068
2081
  }, narrow ? bookingCompact : bookingWide));
2069
2082
  }
2070
2083
  export default function BookingCalendarDemo() {
2071
- var _hourSlots$, _props$timelineHeader, _props$timelineHeader2, _props$timelineHeader3, _groupSelectedSlots$, _groupSelectedSlots$2, _courts$find4, _checkinDraft$startHo, _checkinDraft$endHour2, _checkinDraft$startHo4, _checkinDraft$endHour3, _courts$find5;
2084
+ var _hourSlots$, _props$timelineHeader, _props$timelineHeader2, _props$timelineHeader3, _courts$find4, _checkinDraft$startHo, _checkinDraft$endHour2, _checkinDraft$startHo4, _checkinDraft$endHour3, _courts$find5;
2072
2085
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2073
2086
  var allowPersist = useCalendarPersist();
2074
2087
  var courts = useMemo(function () {
@@ -2172,200 +2185,196 @@ export default function BookingCalendarDemo() {
2172
2185
  _useState14 = _slicedToArray(_useState13, 2),
2173
2186
  showBlockPanel = _useState14[0],
2174
2187
  setShowBlockPanel = _useState14[1];
2175
- var _useState15 = useState(""),
2188
+ var _useState15 = useState("屏蔽时间"),
2176
2189
  _useState16 = _slicedToArray(_useState15, 2),
2177
- blockNote = _useState16[0],
2178
- setBlockNote = _useState16[1];
2179
- var _useState17 = useState("Allen"),
2190
+ blockFormName = _useState16[0],
2191
+ setBlockFormName = _useState16[1];
2192
+ var _useState17 = useState(""),
2180
2193
  _useState18 = _slicedToArray(_useState17, 2),
2181
- blockBy = _useState18[0],
2182
- setBlockBy = _useState18[1];
2183
- var _useState19 = useState("single"),
2194
+ blockModalNote = _useState18[0],
2195
+ setBlockModalNote = _useState18[1];
2196
+ var _useState19 = useState(""),
2184
2197
  _useState20 = _slicedToArray(_useState19, 2),
2185
- blockMode = _useState20[0],
2186
- setBlockMode = _useState20[1];
2187
- var _useState21 = useState("2026-03-31"),
2198
+ blockResourceId = _useState20[0],
2199
+ setBlockResourceId = _useState20[1];
2200
+ var _useState21 = useState(null),
2188
2201
  _useState22 = _slicedToArray(_useState21, 2),
2189
- blockRangeStart = _useState22[0],
2190
- setBlockRangeStart = _useState22[1];
2191
- var _useState23 = useState("2026-04-30"),
2202
+ blockTimeRange = _useState22[0],
2203
+ setBlockTimeRange = _useState22[1];
2204
+ var _useState23 = useState(false),
2192
2205
  _useState24 = _slicedToArray(_useState23, 2),
2193
- blockRangeEnd = _useState24[0],
2194
- setBlockRangeEnd = _useState24[1];
2195
- var _useState25 = useState([3]),
2206
+ blockSaving = _useState24[0],
2207
+ setBlockSaving = _useState24[1];
2208
+ var _useState25 = useState(null),
2196
2209
  _useState26 = _slicedToArray(_useState25, 2),
2197
- blockWeekdays = _useState26[0],
2198
- setBlockWeekdays = _useState26[1];
2199
- var _useState27 = useState(null),
2210
+ transitioningToDay = _useState26[0],
2211
+ setTransitioningToDay = _useState26[1];
2212
+ var _useState27 = useState(0),
2200
2213
  _useState28 = _slicedToArray(_useState27, 2),
2201
- transitioningToDay = _useState28[0],
2202
- setTransitioningToDay = _useState28[1];
2203
- var _useState29 = useState(0),
2214
+ navDirection = _useState28[0],
2215
+ setNavDirection = _useState28[1];
2216
+ var _useState29 = useState(null),
2204
2217
  _useState30 = _slicedToArray(_useState29, 2),
2205
- navDirection = _useState30[0],
2206
- setNavDirection = _useState30[1];
2207
- var _useState31 = useState(null),
2218
+ detailItem = _useState30[0],
2219
+ setDetailItem = _useState30[1];
2220
+ var _useState31 = useState("quick"),
2208
2221
  _useState32 = _slicedToArray(_useState31, 2),
2209
- detailItem = _useState32[0],
2210
- setDetailItem = _useState32[1];
2211
- var _useState33 = useState("quick"),
2222
+ detailMode = _useState32[0],
2223
+ setDetailMode = _useState32[1];
2224
+ var _useState33 = useState("summary"),
2212
2225
  _useState34 = _slicedToArray(_useState33, 2),
2213
- detailMode = _useState34[0],
2214
- setDetailMode = _useState34[1];
2215
- var _useState35 = useState("summary"),
2226
+ detailTab = _useState34[0],
2227
+ setDetailTab = _useState34[1];
2228
+ var _useState35 = useState("notes"),
2216
2229
  _useState36 = _slicedToArray(_useState35, 2),
2217
- detailTab = _useState36[0],
2218
- setDetailTab = _useState36[1];
2219
- var _useState37 = useState("notes"),
2230
+ filesSubtab = _useState36[0],
2231
+ setFilesSubtab = _useState36[1];
2232
+ var _useState37 = useState(false),
2220
2233
  _useState38 = _slicedToArray(_useState37, 2),
2221
- filesSubtab = _useState38[0],
2222
- setFilesSubtab = _useState38[1];
2223
- var _useState39 = useState(false),
2234
+ preferDrawerOpen = _useState38[0],
2235
+ setPreferDrawerOpen = _useState38[1];
2236
+ var _useState39 = useState("summary"),
2224
2237
  _useState40 = _slicedToArray(_useState39, 2),
2225
- preferDrawerOpen = _useState40[0],
2226
- setPreferDrawerOpen = _useState40[1];
2227
- var _useState41 = useState("summary"),
2238
+ defaultDetailTab = _useState40[0],
2239
+ setDefaultDetailTab = _useState40[1];
2240
+ var _useState41 = useState(true),
2228
2241
  _useState42 = _slicedToArray(_useState41, 2),
2229
- defaultDetailTab = _useState42[0],
2230
- setDefaultDetailTab = _useState42[1];
2231
- var _useState43 = useState(true),
2242
+ preferQuickPopup = _useState42[0],
2243
+ setPreferQuickPopup = _useState42[1];
2244
+ var _useState43 = useState(false),
2232
2245
  _useState44 = _slicedToArray(_useState43, 2),
2233
- preferQuickPopup = _useState44[0],
2234
- setPreferQuickPopup = _useState44[1];
2235
- var _useState45 = useState(false),
2246
+ calendarShiftedForDrawer = _useState44[0],
2247
+ setCalendarShiftedForDrawer = _useState44[1];
2248
+ var _useState45 = useState({}),
2236
2249
  _useState46 = _slicedToArray(_useState45, 2),
2237
- calendarShiftedForDrawer = _useState46[0],
2238
- setCalendarShiftedForDrawer = _useState46[1];
2250
+ viewedTabState = _useState46[0],
2251
+ setViewedTabState = _useState46[1];
2239
2252
  var _useState47 = useState({}),
2240
2253
  _useState48 = _slicedToArray(_useState47, 2),
2241
- viewedTabState = _useState48[0],
2242
- setViewedTabState = _useState48[1];
2243
- var _useState49 = useState({}),
2254
+ viewedSubtabState = _useState48[0],
2255
+ setViewedSubtabState = _useState48[1];
2256
+ var _useState49 = useState(""),
2244
2257
  _useState50 = _slicedToArray(_useState49, 2),
2245
- viewedSubtabState = _useState50[0],
2246
- setViewedSubtabState = _useState50[1];
2247
- var _useState51 = useState(""),
2258
+ quickActionLimitMessage = _useState50[0],
2259
+ setQuickActionLimitMessage = _useState50[1];
2260
+ var _useState51 = useState(["Check in", "Order detail", "Reschedule", "Pay now", "Send reminder", "Print receipt"]),
2248
2261
  _useState52 = _slicedToArray(_useState51, 2),
2249
- quickActionLimitMessage = _useState52[0],
2250
- setQuickActionLimitMessage = _useState52[1];
2251
- var _useState53 = useState(["Check in", "Order detail", "Reschedule", "Pay now", "Send reminder", "Print receipt"]),
2262
+ pinnedActionLabels = _useState52[0],
2263
+ setPinnedActionLabels = _useState52[1];
2264
+ var _useState53 = useState(null),
2252
2265
  _useState54 = _slicedToArray(_useState53, 2),
2253
- pinnedActionLabels = _useState54[0],
2254
- setPinnedActionLabels = _useState54[1];
2266
+ overflowPopover = _useState54[0],
2267
+ setOverflowPopover = _useState54[1];
2255
2268
  var _useState55 = useState(null),
2256
2269
  _useState56 = _slicedToArray(_useState55, 2),
2257
- overflowPopover = _useState56[0],
2258
- setOverflowPopover = _useState56[1];
2270
+ overflowListModal = _useState56[0],
2271
+ setOverflowListModal = _useState56[1];
2259
2272
  var _useState57 = useState(null),
2260
2273
  _useState58 = _slicedToArray(_useState57, 2),
2261
- overflowListModal = _useState58[0],
2262
- setOverflowListModal = _useState58[1];
2274
+ draggingItem = _useState58[0],
2275
+ setDraggingItem = _useState58[1];
2263
2276
  var _useState59 = useState(null),
2264
2277
  _useState60 = _slicedToArray(_useState59, 2),
2265
- draggingItem = _useState60[0],
2266
- setDraggingItem = _useState60[1];
2278
+ moveConfirm = _useState60[0],
2279
+ setMoveConfirm = _useState60[1];
2267
2280
  var _useState61 = useState(null),
2268
2281
  _useState62 = _slicedToArray(_useState61, 2),
2269
- moveConfirm = _useState62[0],
2270
- setMoveConfirm = _useState62[1];
2282
+ moveDraft = _useState62[0],
2283
+ setMoveDraft = _useState62[1];
2271
2284
  var _useState63 = useState(null),
2272
2285
  _useState64 = _slicedToArray(_useState63, 2),
2273
- moveDraft = _useState64[0],
2274
- setMoveDraft = _useState64[1];
2286
+ conflictPicker = _useState64[0],
2287
+ setConflictPicker = _useState64[1];
2275
2288
  var _useState65 = useState(null),
2276
2289
  _useState66 = _slicedToArray(_useState65, 2),
2277
- conflictPicker = _useState66[0],
2278
- setConflictPicker = _useState66[1];
2290
+ blockConflict = _useState66[0],
2291
+ setBlockConflict = _useState66[1];
2279
2292
  var _useState67 = useState(null),
2280
2293
  _useState68 = _slicedToArray(_useState67, 2),
2281
- blockConflict = _useState68[0],
2282
- setBlockConflict = _useState68[1];
2294
+ checkinModal = _useState68[0],
2295
+ setCheckinModal = _useState68[1];
2283
2296
  var _useState69 = useState(null),
2284
2297
  _useState70 = _slicedToArray(_useState69, 2),
2285
- checkinModal = _useState70[0],
2286
- setCheckinModal = _useState70[1];
2287
- var _useState71 = useState(null),
2298
+ checkinDraft = _useState70[0],
2299
+ setCheckinDraft = _useState70[1];
2300
+ var _useState71 = useState(false),
2288
2301
  _useState72 = _slicedToArray(_useState71, 2),
2289
- checkinDraft = _useState72[0],
2290
- setCheckinDraft = _useState72[1];
2302
+ summaryPayMenuOpen = _useState72[0],
2303
+ setSummaryPayMenuOpen = _useState72[1];
2291
2304
  var _useState73 = useState(false),
2292
2305
  _useState74 = _slicedToArray(_useState73, 2),
2293
- summaryPayMenuOpen = _useState74[0],
2294
- setSummaryPayMenuOpen = _useState74[1];
2295
- var _useState75 = useState(false),
2306
+ showActionsOverlay = _useState74[0],
2307
+ setShowActionsOverlay = _useState74[1];
2308
+ var _useState75 = useState(null),
2296
2309
  _useState76 = _slicedToArray(_useState75, 2),
2297
- showActionsOverlay = _useState76[0],
2298
- setShowActionsOverlay = _useState76[1];
2299
- var _useState77 = useState(null),
2310
+ guestRowMenu = _useState76[0],
2311
+ setGuestRowMenu = _useState76[1];
2312
+ var _useState77 = useState(false),
2300
2313
  _useState78 = _slicedToArray(_useState77, 2),
2301
- guestRowMenu = _useState78[0],
2302
- setGuestRowMenu = _useState78[1];
2303
- var _useState79 = useState(false),
2314
+ guestBulkActionOpen = _useState78[0],
2315
+ setGuestBulkActionOpen = _useState78[1];
2316
+ var _useState79 = useState([]),
2304
2317
  _useState80 = _slicedToArray(_useState79, 2),
2305
- guestBulkActionOpen = _useState80[0],
2306
- setGuestBulkActionOpen = _useState80[1];
2318
+ guestMockRows = _useState80[0],
2319
+ setGuestMockRows = _useState80[1];
2307
2320
  var _useState81 = useState([]),
2308
2321
  _useState82 = _slicedToArray(_useState81, 2),
2309
- guestMockRows = _useState82[0],
2310
- setGuestMockRows = _useState82[1];
2311
- var _useState83 = useState([]),
2322
+ selectedFileIds = _useState82[0],
2323
+ setSelectedFileIds = _useState82[1];
2324
+ var _useState83 = useState(null),
2312
2325
  _useState84 = _slicedToArray(_useState83, 2),
2313
- selectedFileIds = _useState84[0],
2314
- setSelectedFileIds = _useState84[1];
2326
+ filePreviewItem = _useState84[0],
2327
+ setFilePreviewItem = _useState84[1];
2315
2328
  var _useState85 = useState(null),
2316
2329
  _useState86 = _slicedToArray(_useState85, 2),
2317
- filePreviewItem = _useState86[0],
2318
- setFilePreviewItem = _useState86[1];
2319
- var _useState87 = useState(null),
2320
- _useState88 = _slicedToArray(_useState87, 2),
2321
- mergeOrderModal = _useState88[0],
2322
- setMergeOrderModal = _useState88[1];
2323
- var _useState89 = useState({
2330
+ mergeOrderModal = _useState86[0],
2331
+ setMergeOrderModal = _useState86[1];
2332
+ var _useState87 = useState({
2324
2333
  targetBookingId: "",
2325
2334
  keepSourceOpen: false
2326
2335
  }),
2336
+ _useState88 = _slicedToArray(_useState87, 2),
2337
+ mergeOrderDraft = _useState88[0],
2338
+ setMergeOrderDraft = _useState88[1];
2339
+ var _useState89 = useState(false),
2327
2340
  _useState90 = _slicedToArray(_useState89, 2),
2328
- mergeOrderDraft = _useState90[0],
2329
- setMergeOrderDraft = _useState90[1];
2330
- var _useState91 = useState(false),
2341
+ customerPickerOpen = _useState90[0],
2342
+ setCustomerPickerOpen = _useState90[1];
2343
+ var _useState91 = useState(""),
2331
2344
  _useState92 = _slicedToArray(_useState91, 2),
2332
- customerPickerOpen = _useState92[0],
2333
- setCustomerPickerOpen = _useState92[1];
2334
- var _useState93 = useState(""),
2345
+ customerSearch = _useState92[0],
2346
+ setCustomerSearch = _useState92[1];
2347
+ var _useState93 = useState(null),
2335
2348
  _useState94 = _slicedToArray(_useState93, 2),
2336
- customerSearch = _useState94[0],
2337
- setCustomerSearch = _useState94[1];
2338
- var _useState95 = useState(null),
2349
+ selectedCustomer = _useState94[0],
2350
+ setSelectedCustomer = _useState94[1];
2351
+ var _useState95 = useState(false),
2339
2352
  _useState96 = _slicedToArray(_useState95, 2),
2340
- selectedCustomer = _useState96[0],
2341
- setSelectedCustomer = _useState96[1];
2353
+ detailPrefOpen = _useState96[0],
2354
+ setDetailPrefOpen = _useState96[1];
2342
2355
  var _useState97 = useState(false),
2343
2356
  _useState98 = _slicedToArray(_useState97, 2),
2344
- detailPrefOpen = _useState98[0],
2345
- setDetailPrefOpen = _useState98[1];
2346
- var _useState99 = useState(false),
2357
+ summaryChangeMenuOpen = _useState98[0],
2358
+ setSummaryChangeMenuOpen = _useState98[1];
2359
+ var _useState99 = useState({}),
2347
2360
  _useState100 = _slicedToArray(_useState99, 2),
2348
- summaryChangeMenuOpen = _useState100[0],
2349
- setSummaryChangeMenuOpen = _useState100[1];
2350
- var _useState101 = useState({}),
2361
+ noteOverrides = _useState100[0],
2362
+ setNoteOverrides = _useState100[1];
2363
+ var _useState101 = useState(null),
2351
2364
  _useState102 = _slicedToArray(_useState101, 2),
2352
- noteOverrides = _useState102[0],
2353
- setNoteOverrides = _useState102[1];
2354
- var _useState103 = useState(null),
2355
- _useState104 = _slicedToArray(_useState103, 2),
2356
- noteEditor = _useState104[0],
2357
- setNoteEditor = _useState104[1];
2358
- var _useState105 = useState({
2365
+ noteEditor = _useState102[0],
2366
+ setNoteEditor = _useState102[1];
2367
+ var _useState103 = useState({
2359
2368
  VIP: false,
2360
2369
  Standard: false
2361
2370
  }),
2371
+ _useState104 = _slicedToArray(_useState103, 2),
2372
+ collapsedGroups = _useState104[0],
2373
+ setCollapsedGroups = _useState104[1];
2374
+ var _useState105 = useState(false),
2362
2375
  _useState106 = _slicedToArray(_useState105, 2),
2363
- collapsedGroups = _useState106[0],
2364
- setCollapsedGroups = _useState106[1];
2365
- var _useState107 = useState(false),
2366
- _useState108 = _slicedToArray(_useState107, 2),
2367
- dayDragging = _useState108[0],
2368
- setDayDragging = _useState108[1];
2376
+ dayDragging = _useState106[0],
2377
+ setDayDragging = _useState106[1];
2369
2378
  useEffect(function () {
2370
2379
  if (!detailItem) return;
2371
2380
  var detail = getBookingDetailData(detailItem, courts);
@@ -2426,8 +2435,6 @@ export default function BookingCalendarDemo() {
2426
2435
  var detailPrefRef = useRef(null);
2427
2436
  var summaryChangeMenuRef = useRef(null);
2428
2437
  var noteEditorRef = useRef(null);
2429
- var blockStartInputRef = useRef(null);
2430
- var blockEndInputRef = useRef(null);
2431
2438
  var visibleCourts = useMemo(function () {
2432
2439
  return courts;
2433
2440
  }, [courts]);
@@ -2612,16 +2619,16 @@ export default function BookingCalendarDemo() {
2612
2619
  }
2613
2620
  return p;
2614
2621
  }, [dayRowHeights]);
2615
- var _useState109 = useState({
2622
+ var _useState107 = useState({
2616
2623
  i0: 0,
2617
2624
  i1: 0,
2618
2625
  r0: 0,
2619
2626
  r1: 0,
2620
2627
  ready: false
2621
2628
  }),
2622
- _useState110 = _slicedToArray(_useState109, 2),
2623
- dayVirt = _useState110[0],
2624
- setDayVirt = _useState110[1];
2629
+ _useState108 = _slicedToArray(_useState107, 2),
2630
+ dayVirt = _useState108[0],
2631
+ setDayVirt = _useState108[1];
2625
2632
  useEffect(function () {
2626
2633
  dayVirtDepsRef.current = {
2627
2634
  hourSlotCount: hourSlots.length,
@@ -2825,17 +2832,22 @@ export default function BookingCalendarDemo() {
2825
2832
  return clearTimeout(timer);
2826
2833
  };
2827
2834
  }, [view, focusedCourtId, anchorDate]);
2828
- useEffect(function () {
2829
- if (!showBlockPanel) return;
2830
- setBlockRangeStart(dayKey);
2831
- setBlockRangeEnd(dayKey);
2832
- }, [showBlockPanel, dayKey]);
2833
2835
  useEffect(function () {
2834
2836
  if (!showBlockPanel) return;
2835
2837
  if (!isFreeSelectionContiguousSameResource(selectedFreeSlots, slotStepHours)) {
2836
2838
  setShowBlockPanel(false);
2837
2839
  }
2838
2840
  }, [showBlockPanel, selectedFreeSlots, slotStepHours]);
2841
+ useEffect(function () {
2842
+ if (!showBlockPanel || selectedFreeSlots.length === 0) return;
2843
+ var groups = groupSelectedSlots(selectedFreeSlots, slotStepHours);
2844
+ var g = groups[0];
2845
+ if (!g) return;
2846
+ setBlockResourceId(String(g.courtId));
2847
+ setBlockTimeRange([dayAndHourToDayjs(g.date, g.startHour), dayAndHourToDayjs(g.date, g.endHour)]);
2848
+ setBlockFormName("屏蔽时间");
2849
+ setBlockModalNote("");
2850
+ }, [showBlockPanel, selectedFreeSlots, slotStepHours]);
2839
2851
  useEffect(function () {
2840
2852
  if (!transitioningToDay) return;
2841
2853
  var timer = setTimeout(function () {
@@ -2971,78 +2983,121 @@ export default function BookingCalendarDemo() {
2971
2983
  });
2972
2984
  setSelectedBlockSlots([]);
2973
2985
  }
2974
- function toggleBlockWeekday(day) {
2975
- setBlockWeekdays(function (prev) {
2976
- return prev.includes(day) ? prev.filter(function (d) {
2977
- return d !== day;
2978
- }) : [].concat(_toConsumableArray(prev), [day]);
2979
- });
2986
+ function saveBlockedTime() {
2987
+ return _saveBlockedTime.apply(this, arguments);
2980
2988
  }
2981
- function createBlockFromSelection() {
2982
- if (selectedFreeSlots.length === 0) return;
2983
- var baseGroups = groupSelectedSlots(selectedFreeSlots, slotStepHours);
2984
- var nextBlocks = [];
2985
- if (blockMode === "single") {
2986
- baseGroups.forEach(function (slot, idx) {
2987
- nextBlocks.push({
2988
- id: "block-single-".concat(slot.courtId, "-").concat(slot.date, "-").concat(slot.startHour, "-").concat(idx),
2989
- courtId: slot.courtId,
2990
- date: slot.date,
2991
- startHour: slot.startHour,
2992
- endHour: slot.endHour,
2993
- name: blockNote || "Block",
2994
- note: blockNote || "",
2995
- blockBy: blockBy,
2996
- blockedAt: dayKey,
2997
- kind: "block"
2998
- });
2999
- });
3000
- } else {
3001
- var start = parseDate(blockRangeStart);
3002
- var end = parseDate(blockRangeEnd);
3003
- var baseByKey = new Map();
3004
- baseGroups.forEach(function (slot) {
3005
- return baseByKey.set("".concat(slot.courtId, "-").concat(slot.startHour, "-").concat(slot.endHour), slot);
3006
- });
3007
- var _loop3 = function _loop3() {
3008
- if (!blockWeekdays.includes(d.getDay())) return 1; // continue
3009
- var dateKey = fmtDate(d);
3010
- baseByKey.forEach(function (slot) {
3011
- nextBlocks.push({
3012
- id: "block-repeat-".concat(slot.courtId, "-").concat(dateKey, "-").concat(slot.startHour, "-").concat(slot.endHour),
3013
- courtId: slot.courtId,
3014
- date: dateKey,
3015
- startHour: slot.startHour,
3016
- endHour: slot.endHour,
3017
- name: blockNote || "Block",
3018
- note: blockNote || "",
3019
- blockBy: blockBy,
3020
- blockedAt: dayKey,
3021
- kind: "block"
3022
- });
3023
- });
3024
- };
3025
- for (var d = new Date(start); d <= end; d = addDays(d, 1)) {
3026
- if (_loop3()) continue;
3027
- }
3028
- }
3029
- var conflicts = nextBlocks.flatMap(function (blk) {
3030
- return overlappingBookings(bookings, blk.courtId, blk.date, blk.startHour, blk.endHour);
3031
- });
3032
- if (conflicts.length > 0) {
3033
- setBlockConflict({
3034
- nextBlocks: nextBlocks,
3035
- conflicts: conflicts
3036
- });
3037
- return;
3038
- }
3039
- if (!allowPersist("createBlock")) return;
3040
- setBookings(function (prev) {
3041
- return [].concat(nextBlocks, _toConsumableArray(prev));
3042
- });
3043
- setSelectedFreeSlots([]);
3044
- setShowBlockPanel(false);
3045
- setBlockNote("");
2989
+ function _saveBlockedTime() {
2990
+ _saveBlockedTime = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
2991
+ var _props$blockedTimeSal;
2992
+ var _blockTimeRange, start, end, rid, channels, payload, ok, courtId, date, endDate, startHour, endHour, nextBlock, conflicts;
2993
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
2994
+ while (1) switch (_context.prev = _context.next) {
2995
+ case 0:
2996
+ if (!(!(blockTimeRange !== null && blockTimeRange !== void 0 && blockTimeRange[0]) || !(blockTimeRange !== null && blockTimeRange !== void 0 && blockTimeRange[1]))) {
2997
+ _context.next = 3;
2998
+ break;
2999
+ }
3000
+ message.warning("请选择屏蔽时段");
3001
+ return _context.abrupt("return");
3002
+ case 3:
3003
+ _blockTimeRange = _slicedToArray(blockTimeRange, 2), start = _blockTimeRange[0], end = _blockTimeRange[1];
3004
+ if (end.isAfter(start)) {
3005
+ _context.next = 7;
3006
+ break;
3007
+ }
3008
+ message.warning("结束时间须晚于开始时间");
3009
+ return _context.abrupt("return");
3010
+ case 7:
3011
+ rid = Number(blockResourceId);
3012
+ if (!(!Number.isFinite(rid) || rid <= 0)) {
3013
+ _context.next = 11;
3014
+ break;
3015
+ }
3016
+ message.warning("请选择资源");
3017
+ return _context.abrupt("return");
3018
+ case 11:
3019
+ channels = (_props$blockedTimeSal = props.blockedTimeSalesChannels) !== null && _props$blockedTimeSal !== void 0 ? _props$blockedTimeSal : ["online_store"];
3020
+ payload = {
3021
+ name: (blockFormName || "").trim() || "屏蔽时间",
3022
+ note: (blockModalNote || "").trim(),
3023
+ resource_ids: [rid],
3024
+ blocked_sales_channels: channels,
3025
+ start_time: start.format("YYYY-MM-DD HH:mm"),
3026
+ end_time: end.format("YYYY-MM-DD HH:mm")
3027
+ };
3028
+ if (!props.onBlockedTimeSave) {
3029
+ _context.next = 28;
3030
+ break;
3031
+ }
3032
+ setBlockSaving(true);
3033
+ _context.prev = 15;
3034
+ _context.next = 18;
3035
+ return props.onBlockedTimeSave(payload);
3036
+ case 18:
3037
+ ok = _context.sent;
3038
+ if (!(ok === false)) {
3039
+ _context.next = 21;
3040
+ break;
3041
+ }
3042
+ return _context.abrupt("return");
3043
+ case 21:
3044
+ setShowBlockPanel(false);
3045
+ setSelectedFreeSlots([]);
3046
+ setBlockModalNote("");
3047
+ case 24:
3048
+ _context.prev = 24;
3049
+ setBlockSaving(false);
3050
+ return _context.finish(24);
3051
+ case 27:
3052
+ return _context.abrupt("return");
3053
+ case 28:
3054
+ courtId = String(blockResourceId);
3055
+ date = start.format("YYYY-MM-DD");
3056
+ endDate = end.format("YYYY-MM-DD");
3057
+ startHour = start.hour() + start.minute() / 60;
3058
+ endHour = end.hour() + end.minute() / 60;
3059
+ nextBlock = {
3060
+ id: "block-local-".concat(courtId, "-").concat(date, "-").concat(startHour, "-").concat(Date.now()),
3061
+ courtId: courtId,
3062
+ date: date,
3063
+ endDate: endDate !== date ? endDate : undefined,
3064
+ startHour: startHour,
3065
+ endHour: endHour,
3066
+ name: payload.name,
3067
+ note: payload.note,
3068
+ blockedAt: date,
3069
+ kind: "block"
3070
+ };
3071
+ conflicts = overlappingBookings(bookings, courtId, date, startHour, endDate === date ? endHour : 24);
3072
+ if (!(conflicts.length > 0)) {
3073
+ _context.next = 38;
3074
+ break;
3075
+ }
3076
+ setBlockConflict({
3077
+ nextBlocks: [nextBlock],
3078
+ conflicts: conflicts
3079
+ });
3080
+ return _context.abrupt("return");
3081
+ case 38:
3082
+ if (allowPersist("createBlock")) {
3083
+ _context.next = 40;
3084
+ break;
3085
+ }
3086
+ return _context.abrupt("return");
3087
+ case 40:
3088
+ setBookings(function (prev) {
3089
+ return [nextBlock].concat(_toConsumableArray(prev));
3090
+ });
3091
+ setSelectedFreeSlots([]);
3092
+ setShowBlockPanel(false);
3093
+ setBlockModalNote("");
3094
+ case 44:
3095
+ case "end":
3096
+ return _context.stop();
3097
+ }
3098
+ }, _callee, null, [[15,, 24, 27]]);
3099
+ }));
3100
+ return _saveBlockedTime.apply(this, arguments);
3046
3101
  }
3047
3102
  function confirmBlockWithUnsetCourts() {
3048
3103
  if (!blockConflict) return;
@@ -3968,129 +4023,85 @@ export default function BookingCalendarDemo() {
3968
4023
  },
3969
4024
  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 ".concat(isLight ? "theme-panel theme-border soft-shadow" : "border-zinc-700 bg-[#121217]")
3970
4025
  }, /*#__PURE__*/React.createElement("div", {
3971
- className: "mb-4 flex items-center justify-between"
3972
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
4026
+ className: "mb-4 flex items-center justify-between gap-3"
4027
+ }, /*#__PURE__*/React.createElement("div", {
3973
4028
  className: "text-xl font-semibold"
3974
- }, "Block settings"), /*#__PURE__*/React.createElement("div", {
3975
- className: "mt-1 text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
3976
- }, "Selected time range:", " ", selectedFreeSlots.length > 0 ? "".concat(formatHourLabel((_groupSelectedSlots$ = groupSelectedSlots(selectedFreeSlots, slotStepHours)[0]) === null || _groupSelectedSlots$ === void 0 ? void 0 : _groupSelectedSlots$.startHour), " - ").concat(formatHourLabel((_groupSelectedSlots$2 = groupSelectedSlots(selectedFreeSlots, slotStepHours)[0]) === null || _groupSelectedSlots$2 === void 0 ? void 0 : _groupSelectedSlots$2.endHour)) : "-")), /*#__PURE__*/React.createElement("button", {
4029
+ }, "\u65B0\u5EFA\u5C4F\u853D\u65F6\u95F4"), /*#__PURE__*/React.createElement("button", {
4030
+ type: "button",
4031
+ "aria-label": "\u5173\u95ED",
3977
4032
  onClick: function onClick() {
3978
4033
  return setShowBlockPanel(false);
3979
4034
  },
3980
- className: "rounded-xl px-3 py-2 ".concat(isLight ? "btn-neutral" : "border border-zinc-700 text-zinc-300 hover:bg-zinc-800")
3981
- }, "Close")), /*#__PURE__*/React.createElement("div", {
3982
- className: "mb-5 grid gap-3 md:gap-4 md:grid-cols-2"
3983
- }, /*#__PURE__*/React.createElement("button", {
3984
- onClick: function onClick() {
3985
- return setBlockMode("single");
3986
- },
3987
- className: "rounded-2xl border p-4 text-left ".concat(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]")
3988
- }, /*#__PURE__*/React.createElement("div", {
3989
- className: "font-semibold"
3990
- }, "Only selected date"), /*#__PURE__*/React.createElement("div", {
3991
- className: "mt-1 text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
3992
- }, "Create a block only for the currently selected date and time range.")), /*#__PURE__*/React.createElement("button", {
3993
- onClick: function onClick() {
3994
- return setBlockMode("repeat");
3995
- },
3996
- className: "rounded-2xl border p-4 text-left ".concat(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]")
3997
- }, /*#__PURE__*/React.createElement("div", {
3998
- className: "font-semibold"
3999
- }, "Every matching date"), /*#__PURE__*/React.createElement("div", {
4000
- className: "mt-1 text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
4001
- }, "Create repeating blocks by date range and weekday rules."))), /*#__PURE__*/React.createElement("div", {
4035
+ className: "rounded-xl p-2 ".concat(isLight ? "btn-neutral" : "border border-zinc-700 text-zinc-300 hover:bg-zinc-800")
4036
+ }, /*#__PURE__*/React.createElement(X, {
4037
+ size: 20
4038
+ }))), /*#__PURE__*/React.createElement("div", {
4002
4039
  className: "space-y-4 rounded-2xl border p-4 ".concat(isLight ? "theme-panel-alt theme-border" : "border-zinc-700 bg-[#171820]")
4003
- }, /*#__PURE__*/React.createElement("div", {
4004
- className: "grid gap-3 md:grid-cols-2"
4005
4040
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
4006
4041
  className: "mb-2 block text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
4007
- }, "Block note"), /*#__PURE__*/React.createElement("input", {
4008
- value: blockNote,
4042
+ }, "\u6807\u9898"), /*#__PURE__*/React.createElement("input", {
4043
+ value: blockFormName,
4009
4044
  onChange: function onChange(e) {
4010
- return setBlockNote(e.target.value);
4045
+ return setBlockFormName(e.target.value);
4011
4046
  },
4012
- placeholder: "For example: Team event",
4047
+ placeholder: "\u5C4F\u853D\u65F6\u95F4",
4013
4048
  className: "w-full rounded-xl px-3 py-2 outline-none ".concat(isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#111218] text-white")
4014
4049
  })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
4015
4050
  className: "mb-2 block text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
4016
- }, "Blocked by"), /*#__PURE__*/React.createElement("input", {
4017
- value: blockBy,
4051
+ }, "\u5907\u6CE8"), /*#__PURE__*/React.createElement("input", {
4052
+ value: blockModalNote,
4018
4053
  onChange: function onChange(e) {
4019
- return setBlockBy(e.target.value);
4054
+ return setBlockModalNote(e.target.value);
4020
4055
  },
4021
- placeholder: "For example: Allen",
4022
- className: "w-full rounded-xl border border-zinc-700 bg-[#111218] px-3 py-2 text-white outline-none"
4023
- }))), blockMode === "repeat" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
4024
- className: "grid gap-3 md:gap-4 md:grid-cols-2"
4025
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
4056
+ placeholder: "\u9009\u586B",
4057
+ className: "w-full rounded-xl px-3 py-2 outline-none ".concat(isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#111218] text-white")
4058
+ })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
4026
4059
  className: "mb-2 block text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
4027
- }, "Date range - start"), /*#__PURE__*/React.createElement("div", {
4028
- className: "flex items-center gap-2 rounded-xl border px-3 py-2 ".concat(isLight ? "theme-input" : "border-zinc-700 bg-[#111218]")
4029
- }, /*#__PURE__*/React.createElement("input", {
4030
- ref: blockStartInputRef,
4031
- type: "date",
4032
- value: blockRangeStart,
4060
+ }, "\u8D44\u6E90"), /*#__PURE__*/React.createElement("select", {
4061
+ value: blockResourceId,
4033
4062
  onChange: function onChange(e) {
4034
- return setBlockRangeStart(e.target.value);
4063
+ return setBlockResourceId(e.target.value);
4035
4064
  },
4036
- className: "w-full bg-transparent outline-none"
4037
- }), /*#__PURE__*/React.createElement("button", {
4038
- type: "button",
4039
- onClick: function onClick() {
4040
- var _blockStartInputRef$c;
4041
- return (_blockStartInputRef$c = blockStartInputRef.current) === null || _blockStartInputRef$c === void 0 ? void 0 : _blockStartInputRef$c.focus();
4042
- },
4043
- className: "rounded-lg p-1 hover:bg-zinc-800"
4044
- }, /*#__PURE__*/React.createElement(CalendarDays, {
4045
- size: 18,
4046
- className: "text-zinc-400"
4047
- })))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
4065
+ className: "w-full rounded-xl px-3 py-2 outline-none ".concat(isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#111218] text-white")
4066
+ }, /*#__PURE__*/React.createElement("option", {
4067
+ value: ""
4068
+ }, "\u65E0\u8D44\u6E90"), visibleCourts.map(function (c) {
4069
+ return /*#__PURE__*/React.createElement("option", {
4070
+ key: c.id,
4071
+ value: String(c.id)
4072
+ }, c.name);
4073
+ }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
4048
4074
  className: "mb-2 block text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
4049
- }, "Date range - end"), /*#__PURE__*/React.createElement("div", {
4050
- className: "flex items-center gap-2 rounded-xl border border-zinc-700 bg-[#111218] px-3 py-2"
4051
- }, /*#__PURE__*/React.createElement("input", {
4052
- ref: blockEndInputRef,
4053
- type: "date",
4054
- value: blockRangeEnd,
4055
- onChange: function onChange(e) {
4056
- return setBlockRangeEnd(e.target.value);
4075
+ }, "\u5C4F\u853D\u65F6\u6BB5"), /*#__PURE__*/React.createElement(RangePicker, {
4076
+ style: {
4077
+ width: "100%"
4057
4078
  },
4058
- className: "w-full bg-transparent outline-none"
4059
- }), /*#__PURE__*/React.createElement("button", {
4060
- type: "button",
4061
- onClick: function onClick() {
4062
- var _blockEndInputRef$cur;
4063
- return (_blockEndInputRef$cur = blockEndInputRef.current) === null || _blockEndInputRef$cur === void 0 ? void 0 : _blockEndInputRef$cur.focus();
4064
- },
4065
- className: "rounded-lg p-1 hover:bg-zinc-800"
4066
- }, /*#__PURE__*/React.createElement(CalendarDays, {
4067
- size: 18,
4068
- className: "text-zinc-400"
4069
- }))))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
4070
- className: "mb-2 block text-sm ".concat(isLight ? "theme-text-muted" : "text-zinc-400")
4071
- }, "Weekdays in range"), /*#__PURE__*/React.createElement("div", {
4072
- className: "grid grid-cols-2 gap-2 sm:flex sm:flex-wrap"
4073
- }, weekdayNames.map(function (name, idx) {
4074
- return /*#__PURE__*/React.createElement("button", {
4075
- key: name,
4076
- onClick: function onClick() {
4077
- return toggleBlockWeekday(weekdaysMap[idx]);
4078
- },
4079
- className: "rounded-xl px-4 py-2 text-sm ".concat(blockWeekdays.includes(weekdaysMap[idx]) ? "btn-pill-active" : isLight ? "btn-pill-neutral" : "bg-zinc-800 text-zinc-300")
4080
- }, name);
4079
+ showTime: {
4080
+ format: "HH:mm",
4081
+ minuteStep: resolvedSlotMinutes >= 60 ? 60 : Math.max(1, resolvedSlotMinutes)
4082
+ },
4083
+ format: "YYYY-MM-DD HH:mm",
4084
+ value: blockTimeRange,
4085
+ onChange: function onChange(v) {
4086
+ return setBlockTimeRange(v);
4087
+ }
4081
4088
  }))), /*#__PURE__*/React.createElement("div", {
4082
- className: "rounded-xl px-3 py-3 text-sm ".concat(isLight ? "theme-panel theme-border theme-text-muted" : "bg-zinc-900/80 text-zinc-300")
4083
- }, "Example: choose 1 Sep to 1 Oct, then select every Wednesday. The chosen time range will be blocked on all matching Wednesdays."))), /*#__PURE__*/React.createElement("div", {
4084
4089
  className: "mt-6 flex flex-col-reverse sm:flex-row items-stretch sm:items-center justify-end gap-3"
4085
4090
  }, /*#__PURE__*/React.createElement("button", {
4091
+ type: "button",
4092
+ disabled: blockSaving,
4086
4093
  onClick: function onClick() {
4087
4094
  return setShowBlockPanel(false);
4088
4095
  },
4089
4096
  className: "rounded-xl px-4 py-2 ".concat(isLight ? "btn-neutral" : "border border-zinc-700 text-zinc-300 hover:bg-zinc-800")
4090
- }, "Cancel"), /*#__PURE__*/React.createElement("button", {
4091
- onClick: createBlockFromSelection,
4092
- className: "rounded-xl px-5 py-3 text-sm font-semibold ".concat(isLight ? "btn-brand" : "bg-zinc-500/90 text-white hover:bg-zinc-400")
4093
- }, "Confirm block"))))), /*#__PURE__*/React.createElement(AnimatePresence, null, overflowListModal && /*#__PURE__*/React.createElement(motion.div, {
4097
+ }, "\u53D6\u6D88"), /*#__PURE__*/React.createElement("button", {
4098
+ type: "button",
4099
+ disabled: blockSaving,
4100
+ onClick: function onClick() {
4101
+ return void saveBlockedTime();
4102
+ },
4103
+ className: "rounded-xl px-5 py-3 text-sm font-semibold disabled:opacity-50 ".concat(isLight ? "btn-brand" : "bg-violet-600 text-white hover:bg-violet-500")
4104
+ }, blockSaving ? "保存中…" : "保存"))))), /*#__PURE__*/React.createElement(AnimatePresence, null, overflowListModal && /*#__PURE__*/React.createElement(motion.div, {
4094
4105
  initial: {
4095
4106
  opacity: 0
4096
4107
  },