sa2kit 1.6.7 → 1.6.8

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.
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkIEA55H3G_js = require('../chunk-IEA55H3G.js');
3
+ var chunkZDRBMSTS_js = require('../chunk-ZDRBMSTS.js');
4
4
  require('../chunk-DGUM43GV.js');
5
- var React3 = require('react');
5
+ var React2 = require('react');
6
6
  var core = require('@dnd-kit/core');
7
7
 
8
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
- var React3__default = /*#__PURE__*/_interopDefault(React3);
10
+ var React2__default = /*#__PURE__*/_interopDefault(React2);
11
11
 
12
12
  // src/calendar/types/index.ts
13
13
  var RecurrenceType = /* @__PURE__ */ ((RecurrenceType3) => {
@@ -266,73 +266,6 @@ function isValidDate(date) {
266
266
  function cloneDate(date) {
267
267
  return new Date(date.getTime());
268
268
  }
269
- var Modal = ({
270
- isOpen,
271
- onClose,
272
- title,
273
- children,
274
- width = 600,
275
- maskClosable = true
276
- }) => {
277
- React3.useEffect(() => {
278
- if (isOpen) {
279
- document.body.style.overflow = "hidden";
280
- } else {
281
- document.body.style.overflow = "unset";
282
- }
283
- return () => {
284
- document.body.style.overflow = "unset";
285
- };
286
- }, [isOpen]);
287
- if (!isOpen) return null;
288
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4" }, /* @__PURE__ */ React3__default.default.createElement(
289
- "div",
290
- {
291
- className: "fixed inset-0 bg-black/50 transition-opacity",
292
- onClick: () => maskClosable && onClose()
293
- }
294
- ), /* @__PURE__ */ React3__default.default.createElement(
295
- "div",
296
- {
297
- className: "bg-white rounded-xl shadow-2xl z-10 overflow-hidden flex flex-col transition-all transform scale-100",
298
- style: { width: typeof width === "number" ? `${width}px` : width, maxWidth: "100%" }
299
- },
300
- title && /* @__PURE__ */ React3__default.default.createElement("div", { className: "px-6 py-4 border-b border-gray-200 flex justify-between items-center" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-xl font-semibold text-gray-900" }, title), /* @__PURE__ */ React3__default.default.createElement("button", { onClick: onClose, className: "text-gray-400 hover:text-gray-600 transition-colors" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-2xl" }, "\xD7"))),
301
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-1 overflow-y-auto" }, children)
302
- ));
303
- };
304
- var ConfirmModal = ({
305
- isOpen,
306
- onClose,
307
- onConfirm,
308
- title,
309
- message,
310
- confirmText = "\u786E\u5B9A",
311
- cancelText = "\u53D6\u6D88",
312
- isLoading = false
313
- }) => {
314
- if (!isOpen) return null;
315
- return /* @__PURE__ */ React3__default.default.createElement(Modal, { isOpen, onClose, title, width: 400 }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "p-6" }, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600 mb-6" }, message), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex justify-end space-x-3" }, /* @__PURE__ */ React3__default.default.createElement(
316
- "button",
317
- {
318
- onClick: onClose,
319
- className: "px-4 py-2 text-gray-700 border border-gray-300 rounded-lg hover:bg-gray-50 transition-colors",
320
- disabled: isLoading
321
- },
322
- cancelText
323
- ), /* @__PURE__ */ React3__default.default.createElement(
324
- "button",
325
- {
326
- onClick: onConfirm,
327
- className: "px-4 py-2 bg-red-600 text-white rounded-lg hover:bg-red-700 transition-colors flex items-center",
328
- disabled: isLoading
329
- },
330
- isLoading && /* @__PURE__ */ React3__default.default.createElement("div", { className: "mr-2 w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin" }),
331
- confirmText
332
- ))));
333
- };
334
-
335
- // src/calendar/components/EventList.tsx
336
269
  function EventList({
337
270
  events,
338
271
  config,
@@ -345,11 +278,11 @@ function EventList({
345
278
  loading = false,
346
279
  className = ""
347
280
  }) {
348
- const [selectedEventIds, setSelectedEventIds] = React3.useState(/* @__PURE__ */ new Set());
349
- const [isSelectionMode, setIsSelectionMode] = React3.useState(false);
350
- const [showBatchDeleteConfirm, setShowBatchDeleteConfirm] = React3.useState(false);
351
- const [batchDeleteLoading, setBatchDeleteLoading] = React3.useState(false);
352
- const sortedAndFilteredEvents = React3.useMemo(() => {
281
+ const [selectedEventIds, setSelectedEventIds] = React2.useState(/* @__PURE__ */ new Set());
282
+ const [isSelectionMode, setIsSelectionMode] = React2.useState(false);
283
+ const [showBatchDeleteConfirm, setShowBatchDeleteConfirm] = React2.useState(false);
284
+ const [batchDeleteLoading, setBatchDeleteLoading] = React2.useState(false);
285
+ const sortedAndFilteredEvents = React2.useMemo(() => {
353
286
  let filteredEvents = [...events];
354
287
  if (config.filter.priority) {
355
288
  filteredEvents = filteredEvents.filter((event) => event.priority === config.filter.priority);
@@ -408,13 +341,13 @@ function EventList({
408
341
  });
409
342
  return filteredEvents;
410
343
  }, [events, config]);
411
- const paginatedEvents = React3.useMemo(() => {
344
+ const paginatedEvents = React2.useMemo(() => {
412
345
  const startIndex = (config.currentPage - 1) * config.pageSize;
413
346
  const endIndex = startIndex + config.pageSize;
414
347
  return sortedAndFilteredEvents.slice(startIndex, endIndex);
415
348
  }, [sortedAndFilteredEvents, config.currentPage, config.pageSize]);
416
349
  const totalPages = Math.ceil(sortedAndFilteredEvents.length / config.pageSize);
417
- const handleSelectEvent = React3.useCallback((eventId, selected) => {
350
+ const handleSelectEvent = React2.useCallback((eventId, selected) => {
418
351
  setSelectedEventIds((prev) => {
419
352
  const newSet = new Set(prev);
420
353
  if (selected) {
@@ -425,22 +358,22 @@ function EventList({
425
358
  return newSet;
426
359
  });
427
360
  }, []);
428
- const handleSelectAll = React3.useCallback((selected) => {
361
+ const handleSelectAll = React2.useCallback((selected) => {
429
362
  if (selected) {
430
363
  setSelectedEventIds(new Set(paginatedEvents.map((event) => event.id)));
431
364
  } else {
432
365
  setSelectedEventIds(/* @__PURE__ */ new Set());
433
366
  }
434
367
  }, [paginatedEvents]);
435
- const toggleSelectionMode = React3.useCallback(() => {
368
+ const toggleSelectionMode = React2.useCallback(() => {
436
369
  setIsSelectionMode(!isSelectionMode);
437
370
  setSelectedEventIds(/* @__PURE__ */ new Set());
438
371
  }, [isSelectionMode]);
439
- const exitSelectionMode = React3.useCallback(() => {
372
+ const exitSelectionMode = React2.useCallback(() => {
440
373
  setIsSelectionMode(false);
441
374
  setSelectedEventIds(/* @__PURE__ */ new Set());
442
375
  }, []);
443
- const handleBatchDelete = React3.useCallback(async () => {
376
+ const handleBatchDelete = React2.useCallback(async () => {
444
377
  if (!onBatchDelete || selectedEventIds.size === 0) return;
445
378
  setBatchDeleteLoading(true);
446
379
  try {
@@ -454,10 +387,10 @@ function EventList({
454
387
  setBatchDeleteLoading(false);
455
388
  }
456
389
  }, [onBatchDelete, selectedEventIds]);
457
- const isAllSelected = React3.useMemo(() => {
390
+ const isAllSelected = React2.useMemo(() => {
458
391
  return paginatedEvents.length > 0 && paginatedEvents.every((event) => selectedEventIds.has(event.id));
459
392
  }, [paginatedEvents, selectedEventIds]);
460
- const isPartiallySelected = React3.useMemo(() => {
393
+ const isPartiallySelected = React2.useMemo(() => {
461
394
  return selectedEventIds.size > 0 && !isAllSelected;
462
395
  }, [selectedEventIds.size, isAllSelected]);
463
396
  const getPriorityDisplay = (priority) => {
@@ -520,14 +453,14 @@ function EventList({
520
453
  const renderSortButton = (field, label) => {
521
454
  const isActive = config.sort.field === field;
522
455
  const isAsc = isActive && config.sort.direction === "asc" /* ASC */;
523
- return /* @__PURE__ */ React3__default.default.createElement(
456
+ return /* @__PURE__ */ React2__default.default.createElement(
524
457
  "button",
525
458
  {
526
459
  onClick: () => handleSortChange(field),
527
460
  className: `flex items-center px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${isActive ? "bg-blue-100 text-blue-700" : "text-gray-600 hover:bg-gray-100"}`
528
461
  },
529
462
  label,
530
- /* @__PURE__ */ React3__default.default.createElement(
463
+ /* @__PURE__ */ React2__default.default.createElement(
531
464
  "svg",
532
465
  {
533
466
  className: `ml-1 w-4 h-4 transition-transform ${isActive ? isAsc ? "rotate-180" : "" : "opacity-50"}`,
@@ -535,13 +468,13 @@ function EventList({
535
468
  stroke: "currentColor",
536
469
  viewBox: "0 0 24 24"
537
470
  },
538
- /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
471
+ /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
539
472
  )
540
473
  );
541
474
  };
542
475
  const renderCheckbox = (eventId) => {
543
476
  const isChecked = selectedEventIds.has(eventId);
544
- return /* @__PURE__ */ React3__default.default.createElement(
477
+ return /* @__PURE__ */ React2__default.default.createElement(
545
478
  "input",
546
479
  {
547
480
  type: "checkbox",
@@ -555,7 +488,7 @@ function EventList({
555
488
  );
556
489
  };
557
490
  const renderSelectAllCheckbox = () => {
558
- return /* @__PURE__ */ React3__default.default.createElement(
491
+ return /* @__PURE__ */ React2__default.default.createElement(
559
492
  "input",
560
493
  {
561
494
  type: "checkbox",
@@ -568,17 +501,17 @@ function EventList({
568
501
  }
569
502
  );
570
503
  };
571
- const renderListMode = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, paginatedEvents.map((event) => {
504
+ const renderListMode = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, paginatedEvents.map((event) => {
572
505
  const priorityDisplay = getPriorityDisplay(event.priority);
573
506
  const isSelected = selectedEventIds.has(event.id);
574
- return /* @__PURE__ */ React3__default.default.createElement(
507
+ return /* @__PURE__ */ React2__default.default.createElement(
575
508
  "div",
576
509
  {
577
510
  key: event.id,
578
511
  className: `p-4 rounded-lg border-l-4 cursor-pointer hover:shadow-md transition-all ${getEventColorClass(event.color)} ${isSelected ? "ring-2 ring-blue-500 ring-opacity-50" : ""}`,
579
512
  onClick: () => !isSelectionMode && onEventClick(event)
580
513
  },
581
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start gap-3 flex-1" }, isSelectionMode && /* @__PURE__ */ React3__default.default.createElement("div", { className: "pt-1" }, renderCheckbox(event.id)), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-3 mb-2" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, event.title), /* @__PURE__ */ React3__default.default.createElement("span", { className: `px-2 py-1 text-xs font-medium rounded border ${priorityDisplay.color}` }, priorityDisplay.text)), event.description && /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600 mb-2 line-clamp-2" }, event.description), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-4 text-sm text-gray-500" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React3__default.default.createElement("span", null, event.startTime.toLocaleDateString("zh-CN"), " ", !event.allDay && event.startTime.toLocaleTimeString("zh-CN", { hour: "2-digit", minute: "2-digit" }))), event.location && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" }), /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 11a3 3 0 11-6 0 3 3 0 016 0z" })), /* @__PURE__ */ React3__default.default.createElement("span", null, event.location))))), !isSelectionMode && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-2 ml-4" }, /* @__PURE__ */ React3__default.default.createElement(
514
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start gap-3 flex-1" }, isSelectionMode && /* @__PURE__ */ React2__default.default.createElement("div", { className: "pt-1" }, renderCheckbox(event.id)), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-3 mb-2" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, event.title), /* @__PURE__ */ React2__default.default.createElement("span", { className: `px-2 py-1 text-xs font-medium rounded border ${priorityDisplay.color}` }, priorityDisplay.text)), event.description && /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600 mb-2 line-clamp-2" }, event.description), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-4 text-sm text-gray-500" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React2__default.default.createElement("span", null, event.startTime.toLocaleDateString("zh-CN"), " ", !event.allDay && event.startTime.toLocaleTimeString("zh-CN", { hour: "2-digit", minute: "2-digit" }))), event.location && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" }), /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 11a3 3 0 11-6 0 3 3 0 016 0z" })), /* @__PURE__ */ React2__default.default.createElement("span", null, event.location))))), !isSelectionMode && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-2 ml-4" }, /* @__PURE__ */ React2__default.default.createElement(
582
515
  "button",
583
516
  {
584
517
  onClick: (e) => {
@@ -588,8 +521,8 @@ function EventList({
588
521
  className: "p-2 text-gray-400 hover:text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",
589
522
  title: "\u7F16\u8F91\u4E8B\u4EF6"
590
523
  },
591
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" }))
592
- ), /* @__PURE__ */ React3__default.default.createElement(
524
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" }))
525
+ ), /* @__PURE__ */ React2__default.default.createElement(
593
526
  "button",
594
527
  {
595
528
  onClick: (e) => {
@@ -599,24 +532,24 @@ function EventList({
599
532
  className: "p-2 text-gray-400 hover:text-red-600 hover:bg-red-50 rounded-lg transition-colors",
600
533
  title: "\u5220\u9664\u4E8B\u4EF6"
601
534
  },
602
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" }))
535
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" }))
603
536
  )))
604
537
  );
605
538
  }));
606
- const renderGridMode = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4" }, paginatedEvents.map((event) => {
539
+ const renderGridMode = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4" }, paginatedEvents.map((event) => {
607
540
  const priorityDisplay = getPriorityDisplay(event.priority);
608
541
  const isSelected = selectedEventIds.has(event.id);
609
- return /* @__PURE__ */ React3__default.default.createElement(
542
+ return /* @__PURE__ */ React2__default.default.createElement(
610
543
  "div",
611
544
  {
612
545
  key: event.id,
613
546
  className: `p-4 rounded-lg border cursor-pointer hover:shadow-lg transition-all ${getEventColorClass(event.color)} border-l-4 ${isSelected ? "ring-2 ring-blue-500 ring-opacity-50" : ""}`,
614
547
  onClick: () => !isSelectionMode && onEventClick(event)
615
548
  },
616
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start justify-between mb-3" }, isSelectionMode && /* @__PURE__ */ React3__default.default.createElement("div", { className: "pt-1 mr-2" }, renderCheckbox(event.id)), /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 flex-1 pr-2" }, event.title), /* @__PURE__ */ React3__default.default.createElement("span", { className: `px-2 py-1 text-xs font-medium rounded border flex-shrink-0 ${priorityDisplay.color}` }, priorityDisplay.text)),
617
- event.description && /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600 text-sm mb-3 line-clamp-3" }, event.description),
618
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-2 text-sm text-gray-500" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React3__default.default.createElement("span", { className: "truncate" }, event.startTime.toLocaleDateString("zh-CN"), " ", !event.allDay && event.startTime.toLocaleTimeString("zh-CN", { hour: "2-digit", minute: "2-digit" }))), event.location && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" }), /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 11a3 3 0 11-6 0 3 3 0 016 0z" })), /* @__PURE__ */ React3__default.default.createElement("span", { className: "truncate" }, event.location))),
619
- !isSelectionMode && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-end gap-2 mt-4 pt-3 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement(
549
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start justify-between mb-3" }, isSelectionMode && /* @__PURE__ */ React2__default.default.createElement("div", { className: "pt-1 mr-2" }, renderCheckbox(event.id)), /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 flex-1 pr-2" }, event.title), /* @__PURE__ */ React2__default.default.createElement("span", { className: `px-2 py-1 text-xs font-medium rounded border flex-shrink-0 ${priorityDisplay.color}` }, priorityDisplay.text)),
550
+ event.description && /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600 text-sm mb-3 line-clamp-3" }, event.description),
551
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-2 text-sm text-gray-500" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React2__default.default.createElement("span", { className: "truncate" }, event.startTime.toLocaleDateString("zh-CN"), " ", !event.allDay && event.startTime.toLocaleTimeString("zh-CN", { hour: "2-digit", minute: "2-digit" }))), event.location && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" }), /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 11a3 3 0 11-6 0 3 3 0 016 0z" })), /* @__PURE__ */ React2__default.default.createElement("span", { className: "truncate" }, event.location))),
552
+ !isSelectionMode && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-end gap-2 mt-4 pt-3 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement(
620
553
  "button",
621
554
  {
622
555
  onClick: (e) => {
@@ -626,8 +559,8 @@ function EventList({
626
559
  className: "p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 rounded transition-colors",
627
560
  title: "\u7F16\u8F91\u4E8B\u4EF6"
628
561
  },
629
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" }))
630
- ), /* @__PURE__ */ React3__default.default.createElement(
562
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" }))
563
+ ), /* @__PURE__ */ React2__default.default.createElement(
631
564
  "button",
632
565
  {
633
566
  onClick: (e) => {
@@ -637,59 +570,59 @@ function EventList({
637
570
  className: "p-1.5 text-gray-400 hover:text-red-600 hover:bg-red-50 rounded transition-colors",
638
571
  title: "\u5220\u9664\u4E8B\u4EF6"
639
572
  },
640
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" }))
573
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" }))
641
574
  ))
642
575
  );
643
576
  }));
644
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: `space-y-6 ${className}` }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-1 max-w-md" }, /* @__PURE__ */ React3__default.default.createElement(
645
- chunkIEA55H3G_js.SearchBox,
577
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: `space-y-6 ${className}` }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-1 max-w-md" }, /* @__PURE__ */ React2__default.default.createElement(
578
+ chunkZDRBMSTS_js.SearchBox,
646
579
  {
647
580
  searchQuery: config.filter.searchText || "",
648
581
  onSearchChange: handleSearchChange,
649
582
  placeholder: "\u641C\u7D22\u4E8B\u4EF6\u6807\u9898\u3001\u63CF\u8FF0\u6216\u4F4D\u7F6E...",
650
583
  size: "medium"
651
584
  }
652
- )), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-3" }, enableBatchActions && onBatchDelete && /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, !isSelectionMode ? /* @__PURE__ */ React3__default.default.createElement(
585
+ )), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-3" }, enableBatchActions && onBatchDelete && /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, !isSelectionMode ? /* @__PURE__ */ React2__default.default.createElement(
653
586
  "button",
654
587
  {
655
588
  onClick: toggleSelectionMode,
656
589
  className: "flex items-center gap-2 px-3 py-2 text-sm font-medium text-gray-700 bg-gray-100 border border-gray-300 rounded-lg hover:bg-gray-200 transition-colors"
657
590
  },
658
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" })),
591
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" })),
659
592
  "\u6279\u91CF\u64CD\u4F5C"
660
- ) : /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React3__default.default.createElement(
593
+ ) : /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React2__default.default.createElement(
661
594
  "button",
662
595
  {
663
596
  onClick: exitSelectionMode,
664
597
  className: "px-3 py-2 text-sm font-medium text-gray-700 bg-gray-100 border border-gray-300 rounded-lg hover:bg-gray-200 transition-colors"
665
598
  },
666
599
  "\u53D6\u6D88"
667
- ), selectedEventIds.size > 0 && /* @__PURE__ */ React3__default.default.createElement(
600
+ ), selectedEventIds.size > 0 && /* @__PURE__ */ React2__default.default.createElement(
668
601
  "button",
669
602
  {
670
603
  onClick: () => setShowBatchDeleteConfirm(true),
671
604
  disabled: batchDeleteLoading,
672
605
  className: "flex items-center gap-2 px-3 py-2 text-sm font-medium text-white bg-red-600 border border-red-600 rounded-lg hover:bg-red-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
673
606
  },
674
- batchDeleteLoading ? /* @__PURE__ */ React3__default.default.createElement("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-white" }) : /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" })),
607
+ batchDeleteLoading ? /* @__PURE__ */ React2__default.default.createElement("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-white" }) : /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" })),
675
608
  "\u5220\u9664\u9009\u4E2D(",
676
609
  selectedEventIds.size,
677
610
  ")"
678
- ))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm text-gray-700 mr-2" }, "\u663E\u793A\u6A21\u5F0F:"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center bg-gray-100 rounded-lg p-1" }, /* @__PURE__ */ React3__default.default.createElement(
611
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm text-gray-700 mr-2" }, "\u663E\u793A\u6A21\u5F0F:"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center bg-gray-100 rounded-lg p-1" }, /* @__PURE__ */ React2__default.default.createElement(
679
612
  "button",
680
613
  {
681
614
  onClick: () => handleDisplayModeChange("list" /* LIST */),
682
615
  className: `px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${config.displayMode === "list" /* LIST */ ? "bg-white text-gray-900 shadow-sm" : "text-gray-600 hover:text-gray-900"}`
683
616
  },
684
617
  "\u5217\u8868"
685
- ), /* @__PURE__ */ React3__default.default.createElement(
618
+ ), /* @__PURE__ */ React2__default.default.createElement(
686
619
  "button",
687
620
  {
688
621
  onClick: () => handleDisplayModeChange("grid" /* GRID */),
689
622
  className: `px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${config.displayMode === "grid" /* GRID */ ? "bg-white text-gray-900 shadow-sm" : "text-gray-600 hover:text-gray-900"}`
690
623
  },
691
624
  "\u7F51\u683C"
692
- ))))), isSelectionMode && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between mt-4 pt-4 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center gap-2 text-sm font-medium text-gray-700" }, renderSelectAllCheckbox(), "\u5168\u9009\u5F53\u524D\u9875"), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm text-gray-600" }, "\u5DF2\u9009\u62E9 ", selectedEventIds.size, " \u4E2A\u4E8B\u4EF6"))), !isSelectionMode && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex flex-wrap items-center gap-2 mt-4 pt-4 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm text-gray-700 mr-2" }, "\u6392\u5E8F:"), renderSortButton("startTime" /* START_TIME */, "\u65E5\u671F"), renderSortButton("title" /* TITLE */, "\u6807\u9898"), renderSortButton("priority" /* PRIORITY */, "\u4F18\u5148\u7EA7"), renderSortButton("createdAt" /* CREATED_AT */, "\u521B\u5EFA\u65F6\u95F4"), renderSortButton("updatedAt" /* UPDATED_AT */, "\u66F4\u65B0\u65F6\u95F4"))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm text-gray-600" }, "\u5171 ", sortedAndFilteredEvents.length, " \u4E2A\u4E8B\u4EF6", config.filter.searchText && ` (\u641C\u7D22: "${config.filter.searchText}")`)), loading && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex justify-center py-8" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600" })), !loading && paginatedEvents.length > 0 && /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, config.displayMode === "list" /* LIST */ ? renderListMode() : renderGridMode(), totalPages > 1 && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between pt-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm text-gray-600" }, "\u7B2C ", config.currentPage, " \u9875\uFF0C\u5171 ", totalPages, " \u9875"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React3__default.default.createElement(
625
+ ))))), isSelectionMode && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between mt-4 pt-4 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center gap-2 text-sm font-medium text-gray-700" }, renderSelectAllCheckbox(), "\u5168\u9009\u5F53\u524D\u9875"), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm text-gray-600" }, "\u5DF2\u9009\u62E9 ", selectedEventIds.size, " \u4E2A\u4E8B\u4EF6"))), !isSelectionMode && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex flex-wrap items-center gap-2 mt-4 pt-4 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm text-gray-700 mr-2" }, "\u6392\u5E8F:"), renderSortButton("startTime" /* START_TIME */, "\u65E5\u671F"), renderSortButton("title" /* TITLE */, "\u6807\u9898"), renderSortButton("priority" /* PRIORITY */, "\u4F18\u5148\u7EA7"), renderSortButton("createdAt" /* CREATED_AT */, "\u521B\u5EFA\u65F6\u95F4"), renderSortButton("updatedAt" /* UPDATED_AT */, "\u66F4\u65B0\u65F6\u95F4"))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm text-gray-600" }, "\u5171 ", sortedAndFilteredEvents.length, " \u4E2A\u4E8B\u4EF6", config.filter.searchText && ` (\u641C\u7D22: "${config.filter.searchText}")`)), loading && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex justify-center py-8" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600" })), !loading && paginatedEvents.length > 0 && /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, config.displayMode === "list" /* LIST */ ? renderListMode() : renderGridMode(), totalPages > 1 && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between pt-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm text-gray-600" }, "\u7B2C ", config.currentPage, " \u9875\uFF0C\u5171 ", totalPages, " \u9875"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React2__default.default.createElement(
693
626
  "button",
694
627
  {
695
628
  onClick: () => handlePageChange(config.currentPage - 1),
@@ -697,7 +630,7 @@ function EventList({
697
630
  className: "px-3 py-1.5 text-sm border border-gray-300 rounded-lg hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed"
698
631
  },
699
632
  "\u4E0A\u4E00\u9875"
700
- ), /* @__PURE__ */ React3__default.default.createElement(
633
+ ), /* @__PURE__ */ React2__default.default.createElement(
701
634
  "button",
702
635
  {
703
636
  onClick: () => handlePageChange(config.currentPage + 1),
@@ -705,8 +638,8 @@ function EventList({
705
638
  className: "px-3 py-1.5 text-sm border border-gray-300 rounded-lg hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed"
706
639
  },
707
640
  "\u4E0B\u4E00\u9875"
708
- )))), !loading && paginatedEvents.length === 0 && /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-16 h-16 mx-auto mb-4 text-gray-300", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900 mb-2" }, "\u6682\u65E0\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600" }, config.filter.searchText || config.filter.priority || config.filter.color || config.filter.dateRange ? "\u6CA1\u6709\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u4E8B\u4EF6" : "\u8FD8\u6CA1\u6709\u521B\u5EFA\u4EFB\u4F55\u4E8B\u4EF6")), /* @__PURE__ */ React3__default.default.createElement(
709
- ConfirmModal,
641
+ )))), !loading && paginatedEvents.length === 0 && /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-16 h-16 mx-auto mb-4 text-gray-300", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900 mb-2" }, "\u6682\u65E0\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600" }, config.filter.searchText || config.filter.priority || config.filter.color || config.filter.dateRange ? "\u6CA1\u6709\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u4E8B\u4EF6" : "\u8FD8\u6CA1\u6709\u521B\u5EFA\u4EFB\u4F55\u4E8B\u4EF6")), /* @__PURE__ */ React2__default.default.createElement(
642
+ chunkZDRBMSTS_js.ConfirmModal,
710
643
  {
711
644
  isOpen: showBatchDeleteConfirm,
712
645
  onClose: () => setShowBatchDeleteConfirm(false),
@@ -1010,13 +943,13 @@ var EventTypeService = class {
1010
943
 
1011
944
  // src/calendar/hooks/useEnhancedEvents.ts
1012
945
  function useEnhancedEvents() {
1013
- const [events, setEvents] = React3.useState([]);
1014
- const [loading, setLoading] = React3.useState(false);
1015
- const [error, setError] = React3.useState();
1016
- const clearError = React3.useCallback(() => {
946
+ const [events, setEvents] = React2.useState([]);
947
+ const [loading, setLoading] = React2.useState(false);
948
+ const [error, setError] = React2.useState();
949
+ const clearError = React2.useCallback(() => {
1017
950
  setError(void 0);
1018
951
  }, []);
1019
- const fetchEvents = React3.useCallback(async (startDate, endDate) => {
952
+ const fetchEvents = React2.useCallback(async (startDate, endDate) => {
1020
953
  setLoading(true);
1021
954
  setError(void 0);
1022
955
  try {
@@ -1064,7 +997,7 @@ function useEnhancedEvents() {
1064
997
  setLoading(false);
1065
998
  }
1066
999
  }, []);
1067
- const createEvent = React3.useCallback(async (eventData) => {
1000
+ const createEvent = React2.useCallback(async (eventData) => {
1068
1001
  setLoading(true);
1069
1002
  setError(void 0);
1070
1003
  try {
@@ -1143,7 +1076,7 @@ function useEnhancedEvents() {
1143
1076
  return "daily" /* DAILY */;
1144
1077
  }
1145
1078
  };
1146
- const createEnhancedEvent = React3.useCallback(async (eventData) => {
1079
+ const createEnhancedEvent = React2.useCallback(async (eventData) => {
1147
1080
  setLoading(true);
1148
1081
  setError(void 0);
1149
1082
  try {
@@ -1259,7 +1192,7 @@ function useEnhancedEvents() {
1259
1192
  setLoading(false);
1260
1193
  }
1261
1194
  }, []);
1262
- const updateEvent = React3.useCallback(async (eventId, eventData) => {
1195
+ const updateEvent = React2.useCallback(async (eventId, eventData) => {
1263
1196
  setLoading(true);
1264
1197
  setError(void 0);
1265
1198
  try {
@@ -1305,7 +1238,7 @@ function useEnhancedEvents() {
1305
1238
  setLoading(false);
1306
1239
  }
1307
1240
  }, []);
1308
- const deleteEvent = React3.useCallback(async (eventId, deleteAll = false) => {
1241
+ const deleteEvent = React2.useCallback(async (eventId, deleteAll = false) => {
1309
1242
  setLoading(true);
1310
1243
  setError(void 0);
1311
1244
  try {
@@ -1330,7 +1263,7 @@ function useEnhancedEvents() {
1330
1263
  setLoading(false);
1331
1264
  }
1332
1265
  }, []);
1333
- const batchDeleteEvents = React3.useCallback(async (eventIds) => {
1266
+ const batchDeleteEvents = React2.useCallback(async (eventIds) => {
1334
1267
  setLoading(true);
1335
1268
  setError(void 0);
1336
1269
  try {
@@ -1358,7 +1291,7 @@ function useEnhancedEvents() {
1358
1291
  setLoading(false);
1359
1292
  }
1360
1293
  }, []);
1361
- const updateEventTime = React3.useCallback(async (eventId, newStartTime, newEndTime) => {
1294
+ const updateEventTime = React2.useCallback(async (eventId, newStartTime, newEndTime) => {
1362
1295
  setLoading(true);
1363
1296
  setError(void 0);
1364
1297
  console.log("\u{1F504} updateEventTime \u8C03\u7528:", {
@@ -1456,8 +1389,8 @@ var ImprovedEventModal = ({
1456
1389
  event,
1457
1390
  initialDate
1458
1391
  }) => {
1459
- const [eventType, setEventType] = React3.useState("single" /* SINGLE */);
1460
- const [formData, setFormData] = React3.useState({
1392
+ const [eventType, setEventType] = React2.useState("single" /* SINGLE */);
1393
+ const [formData, setFormData] = React2.useState({
1461
1394
  // 基础信息
1462
1395
  title: "",
1463
1396
  description: "",
@@ -1484,11 +1417,11 @@ var ImprovedEventModal = ({
1484
1417
  useEndDate: true
1485
1418
  // true: 使用结束日期, false: 使用重复次数
1486
1419
  });
1487
- const [isLoading, setIsLoading] = React3.useState(false);
1488
- const [errors, setErrors] = React3.useState({});
1489
- const [showDeleteConfirm, setShowDeleteConfirm] = React3.useState(false);
1420
+ const [isLoading, setIsLoading] = React2.useState(false);
1421
+ const [errors, setErrors] = React2.useState({});
1422
+ const [showDeleteConfirm, setShowDeleteConfirm] = React2.useState(false);
1490
1423
  const isEditMode = !!event;
1491
- React3.useEffect(() => {
1424
+ React2.useEffect(() => {
1492
1425
  if (event) {
1493
1426
  const startDate = new Date(event.startTime);
1494
1427
  const endDate = new Date(event.endTime);
@@ -1653,35 +1586,35 @@ var ImprovedEventModal = ({
1653
1586
  setErrors({});
1654
1587
  onClose();
1655
1588
  };
1656
- const renderEventTypeSelector = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F3AF}"), /* @__PURE__ */ React3__default.default.createElement("label", { className: "text-base font-medium text-gray-900" }, "\u9009\u62E9\u4E8B\u4EF6\u7C7B\u578B")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4" }, /* @__PURE__ */ React3__default.default.createElement(
1589
+ const renderEventTypeSelector = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F3AF}"), /* @__PURE__ */ React2__default.default.createElement("label", { className: "text-base font-medium text-gray-900" }, "\u9009\u62E9\u4E8B\u4EF6\u7C7B\u578B")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4" }, /* @__PURE__ */ React2__default.default.createElement(
1657
1590
  "button",
1658
1591
  {
1659
1592
  type: "button",
1660
1593
  onClick: () => setEventType("single" /* SINGLE */),
1661
1594
  className: `group relative p-4 rounded-xl border-2 transition-all duration-300 transform hover:scale-105 ${eventType === "single" /* SINGLE */ ? "bg-gradient-to-br from-blue-50 to-blue-100 border-blue-300 shadow-lg ring-2 ring-blue-200" : "bg-white border-gray-200 hover:bg-gray-50 hover:border-gray-300 shadow-sm hover:shadow-md"}`
1662
1595
  },
1663
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: `text-3xl mb-2 transition-transform duration-300 ${eventType === "single" /* SINGLE */ ? "scale-110" : "group-hover:scale-110"}` }, "\u{1F4C5}"), /* @__PURE__ */ React3__default.default.createElement("div", { className: `font-semibold mb-1 ${eventType === "single" /* SINGLE */ ? "text-blue-700" : "text-gray-900"}` }, "\u5355\u6B21\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u4E00\u6B21\u6027\u4E8B\u4EF6")),
1664
- eventType === "single" /* SINGLE */ && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute top-2 right-2" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-white text-sm" }, "\u2713")))
1665
- ), /* @__PURE__ */ React3__default.default.createElement(
1596
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: `text-3xl mb-2 transition-transform duration-300 ${eventType === "single" /* SINGLE */ ? "scale-110" : "group-hover:scale-110"}` }, "\u{1F4C5}"), /* @__PURE__ */ React2__default.default.createElement("div", { className: `font-semibold mb-1 ${eventType === "single" /* SINGLE */ ? "text-blue-700" : "text-gray-900"}` }, "\u5355\u6B21\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u4E00\u6B21\u6027\u4E8B\u4EF6")),
1597
+ eventType === "single" /* SINGLE */ && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute top-2 right-2" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-white text-sm" }, "\u2713")))
1598
+ ), /* @__PURE__ */ React2__default.default.createElement(
1666
1599
  "button",
1667
1600
  {
1668
1601
  type: "button",
1669
1602
  onClick: () => setEventType("multi_day" /* MULTI_DAY */),
1670
1603
  className: `group relative p-4 rounded-xl border-2 transition-all duration-300 transform hover:scale-105 ${eventType === "multi_day" /* MULTI_DAY */ ? "bg-gradient-to-br from-green-50 to-green-100 border-green-300 shadow-lg ring-2 ring-green-200" : "bg-white border-gray-200 hover:bg-gray-50 hover:border-gray-300 shadow-sm hover:shadow-md"}`
1671
1604
  },
1672
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: `text-3xl mb-2 transition-transform duration-300 ${eventType === "multi_day" /* MULTI_DAY */ ? "scale-110" : "group-hover:scale-110"}` }, "\u{1F5D3}\uFE0F"), /* @__PURE__ */ React3__default.default.createElement("div", { className: `font-semibold mb-1 ${eventType === "multi_day" /* MULTI_DAY */ ? "text-green-700" : "text-gray-900"}` }, "\u591A\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u8FDE\u7EED\u591A\u5929")),
1673
- eventType === "multi_day" /* MULTI_DAY */ && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute top-2 right-2" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-6 h-6 bg-green-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-white text-sm" }, "\u2713")))
1674
- ), /* @__PURE__ */ React3__default.default.createElement(
1605
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: `text-3xl mb-2 transition-transform duration-300 ${eventType === "multi_day" /* MULTI_DAY */ ? "scale-110" : "group-hover:scale-110"}` }, "\u{1F5D3}\uFE0F"), /* @__PURE__ */ React2__default.default.createElement("div", { className: `font-semibold mb-1 ${eventType === "multi_day" /* MULTI_DAY */ ? "text-green-700" : "text-gray-900"}` }, "\u591A\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u8FDE\u7EED\u591A\u5929")),
1606
+ eventType === "multi_day" /* MULTI_DAY */ && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute top-2 right-2" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-6 h-6 bg-green-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-white text-sm" }, "\u2713")))
1607
+ ), /* @__PURE__ */ React2__default.default.createElement(
1675
1608
  "button",
1676
1609
  {
1677
1610
  type: "button",
1678
1611
  onClick: () => setEventType("recurring" /* RECURRING */),
1679
1612
  className: `group relative p-4 rounded-xl border-2 transition-all duration-300 transform hover:scale-105 ${eventType === "recurring" /* RECURRING */ ? "bg-gradient-to-br from-purple-50 to-purple-100 border-purple-300 shadow-lg ring-2 ring-purple-200" : "bg-white border-gray-200 hover:bg-gray-50 hover:border-gray-300 shadow-sm hover:shadow-md"}`
1680
1613
  },
1681
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: `text-3xl mb-2 transition-transform duration-300 ${eventType === "recurring" /* RECURRING */ ? "scale-110" : "group-hover:scale-110"}` }, "\u{1F504}"), /* @__PURE__ */ React3__default.default.createElement("div", { className: `font-semibold mb-1 ${eventType === "recurring" /* RECURRING */ ? "text-purple-700" : "text-gray-900"}` }, "\u91CD\u590D\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u5468\u671F\u6027\u91CD\u590D")),
1682
- eventType === "recurring" /* RECURRING */ && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute top-2 right-2" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-6 h-6 bg-purple-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-white text-sm" }, "\u2713")))
1683
- )), /* @__PURE__ */ React3__default.default.createElement("div", { className: `p-4 rounded-lg transition-all duration-300 ${eventType === "single" /* SINGLE */ ? "bg-blue-50 border border-blue-200" : eventType === "multi_day" /* MULTI_DAY */ ? "bg-green-50 border border-green-200" : "bg-purple-50 border border-purple-200"}` }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-shrink-0 mt-0.5" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, eventType === "single" /* SINGLE */ ? "\u{1F4A1}" : eventType === "multi_day" /* MULTI_DAY */ ? "\u{1F4CB}" : "\u{1F514}")), /* @__PURE__ */ React3__default.default.createElement("div", null, eventType === "single" /* SINGLE */ && /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "font-medium text-blue-800 mb-1" }, "\u5355\u6B21\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-blue-700" }, "\u5728\u6307\u5B9A\u7684\u65F6\u95F4\u53D1\u751F\u4E00\u6B21\u7684\u4E8B\u4EF6\uFF0C\u5982\u4F1A\u8BAE\u3001\u7EA6\u4F1A\u3001\u9762\u8BD5\u7B49\u3002\u9002\u5408\u4E00\u6B21\u6027\u7684\u6D3B\u52A8\u5B89\u6392\u3002")), eventType === "multi_day" /* MULTI_DAY */ && /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "font-medium text-green-800 mb-1" }, "\u591A\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-green-700" }, "\u6301\u7EED\u591A\u5929\u7684\u5355\u4E2A\u4E8B\u4EF6\uFF0C\u5982\u57F9\u8BAD\u8BFE\u7A0B\u3001\u4F1A\u8BAE\u3001\u5047\u671F\u7B49\u3002\u4F8B\u5982\uFF1A3\u5929\u7684\u57F9\u8BAD\u8BFE\u7A0B\u62161\u5468\u7684\u5047\u671F\u3002")), eventType === "recurring" /* RECURRING */ && /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "font-medium text-purple-800 mb-1" }, "\u91CD\u590D\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-purple-700" }, "\u6309\u7167\u89C4\u5F8B\u91CD\u590D\u53D1\u751F\u7684\u4E8B\u4EF6\uFF0C\u5982\u6BCF\u5929\u7684\u6668\u4F1A\u3001\u6BCF\u5468\u7684\u4F8B\u4F1A\u3001\u6BCF\u6708\u7684\u603B\u7ED3\u7B49\u3002\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u521B\u5EFA\u591A\u4E2A\u4E8B\u4EF6\u5B9E\u4F8B\u3002"))))));
1684
- const renderBasicForm = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F4DD}"), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u4E8B\u4EF6\u6807\u9898"), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-red-500" }, "*")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React3__default.default.createElement(
1614
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: `text-3xl mb-2 transition-transform duration-300 ${eventType === "recurring" /* RECURRING */ ? "scale-110" : "group-hover:scale-110"}` }, "\u{1F504}"), /* @__PURE__ */ React2__default.default.createElement("div", { className: `font-semibold mb-1 ${eventType === "recurring" /* RECURRING */ ? "text-purple-700" : "text-gray-900"}` }, "\u91CD\u590D\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u5468\u671F\u6027\u91CD\u590D")),
1615
+ eventType === "recurring" /* RECURRING */ && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute top-2 right-2" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-6 h-6 bg-purple-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-white text-sm" }, "\u2713")))
1616
+ )), /* @__PURE__ */ React2__default.default.createElement("div", { className: `p-4 rounded-lg transition-all duration-300 ${eventType === "single" /* SINGLE */ ? "bg-blue-50 border border-blue-200" : eventType === "multi_day" /* MULTI_DAY */ ? "bg-green-50 border border-green-200" : "bg-purple-50 border border-purple-200"}` }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-shrink-0 mt-0.5" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, eventType === "single" /* SINGLE */ ? "\u{1F4A1}" : eventType === "multi_day" /* MULTI_DAY */ ? "\u{1F4CB}" : "\u{1F514}")), /* @__PURE__ */ React2__default.default.createElement("div", null, eventType === "single" /* SINGLE */ && /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "font-medium text-blue-800 mb-1" }, "\u5355\u6B21\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-blue-700" }, "\u5728\u6307\u5B9A\u7684\u65F6\u95F4\u53D1\u751F\u4E00\u6B21\u7684\u4E8B\u4EF6\uFF0C\u5982\u4F1A\u8BAE\u3001\u7EA6\u4F1A\u3001\u9762\u8BD5\u7B49\u3002\u9002\u5408\u4E00\u6B21\u6027\u7684\u6D3B\u52A8\u5B89\u6392\u3002")), eventType === "multi_day" /* MULTI_DAY */ && /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "font-medium text-green-800 mb-1" }, "\u591A\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-green-700" }, "\u6301\u7EED\u591A\u5929\u7684\u5355\u4E2A\u4E8B\u4EF6\uFF0C\u5982\u57F9\u8BAD\u8BFE\u7A0B\u3001\u4F1A\u8BAE\u3001\u5047\u671F\u7B49\u3002\u4F8B\u5982\uFF1A3\u5929\u7684\u57F9\u8BAD\u8BFE\u7A0B\u62161\u5468\u7684\u5047\u671F\u3002")), eventType === "recurring" /* RECURRING */ && /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "font-medium text-purple-800 mb-1" }, "\u91CD\u590D\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-purple-700" }, "\u6309\u7167\u89C4\u5F8B\u91CD\u590D\u53D1\u751F\u7684\u4E8B\u4EF6\uFF0C\u5982\u6BCF\u5929\u7684\u6668\u4F1A\u3001\u6BCF\u5468\u7684\u4F8B\u4F1A\u3001\u6BCF\u6708\u7684\u603B\u7ED3\u7B49\u3002\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u521B\u5EFA\u591A\u4E2A\u4E8B\u4EF6\u5B9E\u4F8B\u3002"))))));
1617
+ const renderBasicForm = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F4DD}"), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u4E8B\u4EF6\u6807\u9898"), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-red-500" }, "*")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React2__default.default.createElement(
1685
1618
  "input",
1686
1619
  {
1687
1620
  type: "text",
@@ -1690,7 +1623,7 @@ var ImprovedEventModal = ({
1690
1623
  className: "w-full px-4 py-3 border-2 border-gray-200 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200 placeholder-gray-400 text-gray-900 bg-white hover:border-gray-300",
1691
1624
  placeholder: "\u4E3A\u4F60\u7684\u4E8B\u4EF6\u8D77\u4E2A\u540D\u5B57..."
1692
1625
  }
1693
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: `w-2 h-2 rounded-full transition-colors duration-200 ${formData.title.trim() ? "bg-green-400" : "bg-gray-300"}` }))), errors.title && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2 mt-2" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-red-500 text-sm" }, "\u26A0\uFE0F"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-red-600" }, errors.title))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F4C4}"), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u4E8B\u4EF6\u63CF\u8FF0")), /* @__PURE__ */ React3__default.default.createElement(
1626
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: `w-2 h-2 rounded-full transition-colors duration-200 ${formData.title.trim() ? "bg-green-400" : "bg-gray-300"}` }))), errors.title && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2 mt-2" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-red-500 text-sm" }, "\u26A0\uFE0F"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-red-600" }, errors.title))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F4C4}"), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u4E8B\u4EF6\u63CF\u8FF0")), /* @__PURE__ */ React2__default.default.createElement(
1694
1627
  "textarea",
1695
1628
  {
1696
1629
  value: formData.description,
@@ -1699,7 +1632,7 @@ var ImprovedEventModal = ({
1699
1632
  className: "w-full px-4 py-3 border-2 border-gray-200 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200 placeholder-gray-400 text-gray-900 bg-white hover:border-gray-300 resize-none",
1700
1633
  placeholder: "\u63CF\u8FF0\u4E00\u4E0B\u8FD9\u4E2A\u4E8B\u4EF6\u7684\u8BE6\u7EC6\u4FE1\u606F..."
1701
1634
  }
1702
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex justify-between items-center mt-2" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500" }, formData.description.length > 0 && `\u5DF2\u8F93\u5165 ${formData.description.length} \u4E2A\u5B57\u7B26`))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F4CD}"), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u5730\u70B9")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React3__default.default.createElement(
1635
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex justify-between items-center mt-2" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500" }, formData.description.length > 0 && `\u5DF2\u8F93\u5165 ${formData.description.length} \u4E2A\u5B57\u7B26`))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F4CD}"), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u5730\u70B9")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React2__default.default.createElement(
1703
1636
  "input",
1704
1637
  {
1705
1638
  type: "text",
@@ -1708,7 +1641,7 @@ var ImprovedEventModal = ({
1708
1641
  className: "w-full px-4 py-3 border-2 border-gray-200 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200 placeholder-gray-400 text-gray-900 bg-white hover:border-gray-300",
1709
1642
  placeholder: "\u4E8B\u4EF6\u4E3E\u529E\u5730\u70B9..."
1710
1643
  }
1711
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: `w-2 h-2 rounded-full transition-colors duration-200 ${formData.location.trim() ? "bg-green-400" : "bg-gray-300"}` })))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-gray-50 rounded-xl p-4" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center justify-between cursor-pointer group" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F305}"), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm font-medium text-gray-900" }, "\u5168\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u4E0D\u8BBE\u7F6E\u5177\u4F53\u65F6\u95F4\uFF0C\u6574\u5929\u6709\u6548"))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React3__default.default.createElement(
1644
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: `w-2 h-2 rounded-full transition-colors duration-200 ${formData.location.trim() ? "bg-green-400" : "bg-gray-300"}` })))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-gray-50 rounded-xl p-4" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center justify-between cursor-pointer group" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F305}"), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm font-medium text-gray-900" }, "\u5168\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u4E0D\u8BBE\u7F6E\u5177\u4F53\u65F6\u95F4\uFF0C\u6574\u5929\u6709\u6548"))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React2__default.default.createElement(
1712
1645
  "input",
1713
1646
  {
1714
1647
  type: "checkbox",
@@ -1717,13 +1650,13 @@ var ImprovedEventModal = ({
1717
1650
  onChange: (e) => handleInputChange("allDay", e.target.checked),
1718
1651
  className: "sr-only"
1719
1652
  }
1720
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: `w-12 h-6 rounded-full transition-colors duration-200 ${formData.allDay ? "bg-blue-500" : "bg-gray-300"}` }, /* @__PURE__ */ React3__default.default.createElement("div", { className: `w-5 h-5 bg-white rounded-full shadow-md transform transition-transform duration-200 ${formData.allDay ? "translate-x-6" : "translate-x-0.5"} translate-y-0.5` }))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F3A8}"), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u4E8B\u4EF6\u989C\u8272")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement(
1653
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: `w-12 h-6 rounded-full transition-colors duration-200 ${formData.allDay ? "bg-blue-500" : "bg-gray-300"}` }, /* @__PURE__ */ React2__default.default.createElement("div", { className: `w-5 h-5 bg-white rounded-full shadow-md transform transition-transform duration-200 ${formData.allDay ? "translate-x-6" : "translate-x-0.5"} translate-y-0.5` }))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F3A8}"), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u4E8B\u4EF6\u989C\u8272")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement(
1721
1654
  "div",
1722
1655
  {
1723
1656
  className: "w-12 h-12 rounded-xl border-2 border-gray-200 flex items-center justify-center cursor-pointer hover:scale-105 transition-transform duration-200 shadow-sm",
1724
1657
  style: { backgroundColor: formData.color }
1725
1658
  },
1726
- /* @__PURE__ */ React3__default.default.createElement(
1659
+ /* @__PURE__ */ React2__default.default.createElement(
1727
1660
  "input",
1728
1661
  {
1729
1662
  type: "color",
@@ -1732,7 +1665,7 @@ var ImprovedEventModal = ({
1732
1665
  className: "w-8 h-8 border-none rounded-lg cursor-pointer opacity-0 absolute"
1733
1666
  }
1734
1667
  )
1735
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm font-medium text-gray-900", style: { color: formData.color } }, formData.color.toUpperCase()), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u70B9\u51FB\u8272\u5757\u9009\u62E9\u989C\u8272"))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex space-x-2" }, ["#3b82f6", "#ef4444", "#10b981", "#f59e0b", "#8b5cf6", "#ec4899"].map((color) => /* @__PURE__ */ React3__default.default.createElement(
1668
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm font-medium text-gray-900", style: { color: formData.color } }, formData.color.toUpperCase()), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500" }, "\u70B9\u51FB\u8272\u5757\u9009\u62E9\u989C\u8272"))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex space-x-2" }, ["#3b82f6", "#ef4444", "#10b981", "#f59e0b", "#8b5cf6", "#ec4899"].map((color) => /* @__PURE__ */ React2__default.default.createElement(
1736
1669
  "button",
1737
1670
  {
1738
1671
  key: color,
@@ -1741,12 +1674,12 @@ var ImprovedEventModal = ({
1741
1674
  className: `w-8 h-8 rounded-lg border-2 hover:scale-105 transition-all duration-200 ${formData.color === color ? "border-gray-400 ring-2 ring-gray-200" : "border-gray-200"}`,
1742
1675
  style: { backgroundColor: color }
1743
1676
  }
1744
- ))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u2B50"), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u4F18\u5148\u7EA7")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-2" }, [
1677
+ ))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-gray-900 mb-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u2B50"), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u4F18\u5148\u7EA7")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-2" }, [
1745
1678
  { value: "low" /* LOW */, label: "\u4F4E", icon: "\u{1F4D8}", color: "text-blue-600 bg-blue-50 border-blue-200" },
1746
1679
  { value: "normal" /* NORMAL */, label: "\u666E\u901A", icon: "\u{1F4D7}", color: "text-green-600 bg-green-50 border-green-200" },
1747
1680
  { value: "high" /* HIGH */, label: "\u9AD8", icon: "\u{1F4D9}", color: "text-yellow-600 bg-yellow-50 border-yellow-200" },
1748
1681
  { value: "urgent" /* URGENT */, label: "\u7D27\u6025", icon: "\u{1F4D5}", color: "text-red-600 bg-red-50 border-red-200" }
1749
- ].map((priority) => /* @__PURE__ */ React3__default.default.createElement("label", { key: priority.value, className: "flex items-center cursor-pointer group" }, /* @__PURE__ */ React3__default.default.createElement(
1682
+ ].map((priority) => /* @__PURE__ */ React2__default.default.createElement("label", { key: priority.value, className: "flex items-center cursor-pointer group" }, /* @__PURE__ */ React2__default.default.createElement(
1750
1683
  "input",
1751
1684
  {
1752
1685
  type: "radio",
@@ -1756,8 +1689,8 @@ var ImprovedEventModal = ({
1756
1689
  onChange: (e) => handleInputChange("priority", e.target.value),
1757
1690
  className: "sr-only"
1758
1691
  }
1759
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: `flex items-center space-x-3 px-3 py-2 rounded-lg border-2 transition-all duration-200 flex-1 ${formData.priority === priority.value ? priority.color + " ring-2 ring-opacity-20" : "text-gray-600 bg-white border-gray-200 hover:bg-gray-50"}` }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, priority.icon), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm font-medium" }, priority.label), formData.priority === priority.value && /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-auto text-sm" }, "\u2713"))))))));
1760
- const renderSingleEventForm = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-6" }, !formData.allDay && /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-blue-50 rounded-xl p-4 border border-blue-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-blue-900 mb-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F550}"), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-red-500" }, "*")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React3__default.default.createElement(
1692
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: `flex items-center space-x-3 px-3 py-2 rounded-lg border-2 transition-all duration-200 flex-1 ${formData.priority === priority.value ? priority.color + " ring-2 ring-opacity-20" : "text-gray-600 bg-white border-gray-200 hover:bg-gray-50"}` }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, priority.icon), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm font-medium" }, priority.label), formData.priority === priority.value && /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-auto text-sm" }, "\u2713"))))))));
1693
+ const renderSingleEventForm = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-6" }, !formData.allDay && /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-blue-50 rounded-xl p-4 border border-blue-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-blue-900 mb-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F550}"), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-red-500" }, "*")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React2__default.default.createElement(
1761
1694
  "input",
1762
1695
  {
1763
1696
  type: "datetime-local",
@@ -1765,7 +1698,7 @@ var ImprovedEventModal = ({
1765
1698
  onChange: (e) => handleInputChange("startTime", e.target.value),
1766
1699
  className: "w-full px-4 py-3 border-2 border-blue-200 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200 text-gray-900 bg-white hover:border-blue-300"
1767
1700
  }
1768
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-blue-500 text-sm" }, "\u{1F4C5}")))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-blue-900 mb-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-lg" }, "\u{1F555}"), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-red-500" }, "*")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React3__default.default.createElement(
1701
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-blue-500 text-sm" }, "\u{1F4C5}")))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "group" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center space-x-2 text-sm font-medium text-blue-900 mb-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-lg" }, "\u{1F555}"), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-red-500" }, "*")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React2__default.default.createElement(
1769
1702
  "input",
1770
1703
  {
1771
1704
  type: "datetime-local",
@@ -1773,8 +1706,8 @@ var ImprovedEventModal = ({
1773
1706
  onChange: (e) => handleInputChange("endTime", e.target.value),
1774
1707
  className: "w-full px-4 py-3 border-2 border-blue-200 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200 text-gray-900 bg-white hover:border-blue-300"
1775
1708
  }
1776
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-blue-500 text-sm" }, "\u{1F4C5}"))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "mt-4 p-3 bg-blue-100 rounded-lg" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start space-x-2" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-blue-600 text-sm" }, "\u{1F4A1}"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-blue-700" }, /* @__PURE__ */ React3__default.default.createElement("strong", null, "\u63D0\u793A\uFF1A"), "\u5355\u6B21\u4E8B\u4EF6\u5728\u6307\u5B9A\u7684\u65F6\u95F4\u6BB5\u5185\u53D1\u751F\u4E00\u6B21\u3002\u8BF7\u786E\u4FDD\u7ED3\u675F\u65F6\u95F4\u665A\u4E8E\u5F00\u59CB\u65F6\u95F4\u3002")))), formData.allDay && /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-amber-50 rounded-xl p-4 border border-amber-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-2xl" }, "\u{1F305}"), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "font-medium text-amber-800" }, "\u5168\u5929\u4E8B\u4EF6\u6A21\u5F0F"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-amber-700 mt-1" }, "\u6B64\u4E8B\u4EF6\u5C06\u6301\u7EED\u6574\u5929\uFF0C\u65E0\u9700\u8BBE\u7F6E\u5177\u4F53\u65F6\u95F4\u3002\u4E8B\u4EF6\u5C06\u5728\u9009\u5B9A\u65E5\u671F\u7684\u5168\u5929\u663E\u793A\u3002")))));
1777
- const renderMultiDayEventForm = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65E5\u671F *"), /* @__PURE__ */ React3__default.default.createElement(
1709
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-blue-500 text-sm" }, "\u{1F4C5}"))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "mt-4 p-3 bg-blue-100 rounded-lg" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start space-x-2" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-blue-600 text-sm" }, "\u{1F4A1}"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-blue-700" }, /* @__PURE__ */ React2__default.default.createElement("strong", null, "\u63D0\u793A\uFF1A"), "\u5355\u6B21\u4E8B\u4EF6\u5728\u6307\u5B9A\u7684\u65F6\u95F4\u6BB5\u5185\u53D1\u751F\u4E00\u6B21\u3002\u8BF7\u786E\u4FDD\u7ED3\u675F\u65F6\u95F4\u665A\u4E8E\u5F00\u59CB\u65F6\u95F4\u3002")))), formData.allDay && /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-amber-50 rounded-xl p-4 border border-amber-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-2xl" }, "\u{1F305}"), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "font-medium text-amber-800" }, "\u5168\u5929\u4E8B\u4EF6\u6A21\u5F0F"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-amber-700 mt-1" }, "\u6B64\u4E8B\u4EF6\u5C06\u6301\u7EED\u6574\u5929\uFF0C\u65E0\u9700\u8BBE\u7F6E\u5177\u4F53\u65F6\u95F4\u3002\u4E8B\u4EF6\u5C06\u5728\u9009\u5B9A\u65E5\u671F\u7684\u5168\u5929\u663E\u793A\u3002")))));
1710
+ const renderMultiDayEventForm = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65E5\u671F *"), /* @__PURE__ */ React2__default.default.createElement(
1778
1711
  "input",
1779
1712
  {
1780
1713
  type: "date",
@@ -1782,7 +1715,7 @@ var ImprovedEventModal = ({
1782
1715
  onChange: (e) => handleInputChange("startDate", e.target.value),
1783
1716
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1784
1717
  }
1785
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u65E5\u671F *"), /* @__PURE__ */ React3__default.default.createElement(
1718
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u65E5\u671F *"), /* @__PURE__ */ React2__default.default.createElement(
1786
1719
  "input",
1787
1720
  {
1788
1721
  type: "date",
@@ -1790,7 +1723,7 @@ var ImprovedEventModal = ({
1790
1723
  onChange: (e) => handleInputChange("endDate", e.target.value),
1791
1724
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1792
1725
  }
1793
- ))), !formData.allDay && /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u6BCF\u65E5\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement(
1726
+ ))), !formData.allDay && /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u6BCF\u65E5\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement(
1794
1727
  "input",
1795
1728
  {
1796
1729
  type: "time",
@@ -1798,7 +1731,7 @@ var ImprovedEventModal = ({
1798
1731
  onChange: (e) => handleInputChange("dailyStartTime", e.target.value),
1799
1732
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1800
1733
  }
1801
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u6BCF\u65E5\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement(
1734
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u6BCF\u65E5\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement(
1802
1735
  "input",
1803
1736
  {
1804
1737
  type: "time",
@@ -1806,8 +1739,8 @@ var ImprovedEventModal = ({
1806
1739
  onChange: (e) => handleInputChange("dailyEndTime", e.target.value),
1807
1740
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1808
1741
  }
1809
- ))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "p-3 bg-blue-50 rounded-lg text-sm text-blue-700" }, /* @__PURE__ */ React3__default.default.createElement("strong", null, "\u793A\u4F8B"), "\uFF1A\u5982\u679C\u60A8\u8981\u521B\u5EFA\u4E00\u4E2A\u4ECE21\u53F7\u523023\u53F7\u7684\u57F9\u8BAD\u8BFE\u7A0B\uFF0C\u7CFB\u7EDF\u5C06\u5728\u8FD9\u4E09\u5929\u5185\u6BCF\u5929\u90FD\u521B\u5EFA\u4E00\u4E2A\u4E8B\u4EF6\u5B9E\u4F8B\u3002"));
1810
- const renderRecurringEventForm = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65E5\u671F *"), /* @__PURE__ */ React3__default.default.createElement(
1742
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "p-3 bg-blue-50 rounded-lg text-sm text-blue-700" }, /* @__PURE__ */ React2__default.default.createElement("strong", null, "\u793A\u4F8B"), "\uFF1A\u5982\u679C\u60A8\u8981\u521B\u5EFA\u4E00\u4E2A\u4ECE21\u53F7\u523023\u53F7\u7684\u57F9\u8BAD\u8BFE\u7A0B\uFF0C\u7CFB\u7EDF\u5C06\u5728\u8FD9\u4E09\u5929\u5185\u6BCF\u5929\u90FD\u521B\u5EFA\u4E00\u4E2A\u4E8B\u4EF6\u5B9E\u4F8B\u3002"));
1743
+ const renderRecurringEventForm = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65E5\u671F *"), /* @__PURE__ */ React2__default.default.createElement(
1811
1744
  "input",
1812
1745
  {
1813
1746
  type: "date",
@@ -1815,7 +1748,7 @@ var ImprovedEventModal = ({
1815
1748
  onChange: (e) => handleInputChange("recurrenceStartDate", e.target.value),
1816
1749
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1817
1750
  }
1818
- )), !formData.allDay && /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65F6\u95F4 *"), /* @__PURE__ */ React3__default.default.createElement(
1751
+ )), !formData.allDay && /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65F6\u95F4 *"), /* @__PURE__ */ React2__default.default.createElement(
1819
1752
  "input",
1820
1753
  {
1821
1754
  type: "datetime-local",
@@ -1823,7 +1756,7 @@ var ImprovedEventModal = ({
1823
1756
  onChange: (e) => handleInputChange("recurrenceStartTime", e.target.value),
1824
1757
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1825
1758
  }
1826
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u65F6\u95F4 *"), /* @__PURE__ */ React3__default.default.createElement(
1759
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u65F6\u95F4 *"), /* @__PURE__ */ React2__default.default.createElement(
1827
1760
  "input",
1828
1761
  {
1829
1762
  type: "datetime-local",
@@ -1831,18 +1764,18 @@ var ImprovedEventModal = ({
1831
1764
  onChange: (e) => handleInputChange("recurrenceEndTime", e.target.value),
1832
1765
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1833
1766
  }
1834
- ))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u91CD\u590D\u6A21\u5F0F *"), /* @__PURE__ */ React3__default.default.createElement(
1767
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u91CD\u590D\u6A21\u5F0F *"), /* @__PURE__ */ React2__default.default.createElement(
1835
1768
  "select",
1836
1769
  {
1837
1770
  value: formData.recurrencePattern,
1838
1771
  onChange: (e) => handleInputChange("recurrencePattern", e.target.value),
1839
1772
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1840
1773
  },
1841
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "daily" /* DAILY */ }, "\u6BCF\u5929"),
1842
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "weekly" /* WEEKLY */ }, "\u6BCF\u5468"),
1843
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "monthly" /* MONTHLY */ }, "\u6BCF\u6708"),
1844
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "yearly" /* YEARLY */ }, "\u6BCF\u5E74")
1845
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u91CD\u590D\u95F4\u9694"), /* @__PURE__ */ React3__default.default.createElement(
1774
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "daily" /* DAILY */ }, "\u6BCF\u5929"),
1775
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "weekly" /* WEEKLY */ }, "\u6BCF\u5468"),
1776
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "monthly" /* MONTHLY */ }, "\u6BCF\u6708"),
1777
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "yearly" /* YEARLY */ }, "\u6BCF\u5E74")
1778
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u91CD\u590D\u95F4\u9694"), /* @__PURE__ */ React2__default.default.createElement(
1846
1779
  "input",
1847
1780
  {
1848
1781
  type: "number",
@@ -1852,7 +1785,7 @@ var ImprovedEventModal = ({
1852
1785
  onChange: (e) => handleInputChange("recurrenceInterval", parseInt(e.target.value) || 1),
1853
1786
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1854
1787
  }
1855
- ))), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u6761\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
1788
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u6761\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
1856
1789
  "input",
1857
1790
  {
1858
1791
  type: "radio",
@@ -1860,7 +1793,7 @@ var ImprovedEventModal = ({
1860
1793
  onChange: () => handleInputChange("useEndDate", true),
1861
1794
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300"
1862
1795
  }
1863
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u7ED3\u675F\u65E5\u671F")), formData.useEndDate && /* @__PURE__ */ React3__default.default.createElement(
1796
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u7ED3\u675F\u65E5\u671F")), formData.useEndDate && /* @__PURE__ */ React2__default.default.createElement(
1864
1797
  "input",
1865
1798
  {
1866
1799
  type: "date",
@@ -1868,7 +1801,7 @@ var ImprovedEventModal = ({
1868
1801
  onChange: (e) => handleInputChange("recurrenceEndDate", e.target.value),
1869
1802
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
1870
1803
  }
1871
- ), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
1804
+ ), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
1872
1805
  "input",
1873
1806
  {
1874
1807
  type: "radio",
@@ -1876,7 +1809,7 @@ var ImprovedEventModal = ({
1876
1809
  onChange: () => handleInputChange("useEndDate", false),
1877
1810
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300"
1878
1811
  }
1879
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u91CD\u590D\u6B21\u6570")), !formData.useEndDate && /* @__PURE__ */ React3__default.default.createElement(
1812
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u91CD\u590D\u6B21\u6570")), !formData.useEndDate && /* @__PURE__ */ React2__default.default.createElement(
1880
1813
  "input",
1881
1814
  {
1882
1815
  type: "number",
@@ -1887,25 +1820,25 @@ var ImprovedEventModal = ({
1887
1820
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500",
1888
1821
  placeholder: "\u8F93\u5165\u91CD\u590D\u6B21\u6570"
1889
1822
  }
1890
- ))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "p-3 bg-purple-50 rounded-lg text-sm text-purple-700" }, /* @__PURE__ */ React3__default.default.createElement("strong", null, "\u793A\u4F8B"), '\uFF1A\u9009\u62E9"\u6BCF\u5929\u91CD\u590D3\u6B21"\u5C06\u521B\u5EFA3\u4E2A\u72EC\u7ACB\u7684\u4E8B\u4EF6\u5B9E\u4F8B\uFF0C\u5206\u522B\u5728\u8FDE\u7EED\u76843\u5929\u53D1\u751F\u3002'));
1891
- return /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, /* @__PURE__ */ React3__default.default.createElement(Modal, { isOpen, onClose: handleClose, width: "800px", height: "auto" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "px-6 py-4 border-b border-gray-200 bg-gradient-to-r from-blue-50 to-indigo-50" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-blue-600 text-lg" }, isEditMode ? "\u270F\uFE0F" : "\u2795")), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h2", { className: "text-xl font-semibold text-gray-900" }, isEditMode ? "\u7F16\u8F91\u4E8B\u4EF6" : "\u521B\u5EFA\u65B0\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600" }, isEditMode ? "\u4FEE\u6539\u4E8B\u4EF6\u4FE1\u606F" : "\u586B\u5199\u4E8B\u4EF6\u8BE6\u7EC6\u4FE1\u606F"))), /* @__PURE__ */ React3__default.default.createElement(
1823
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "p-3 bg-purple-50 rounded-lg text-sm text-purple-700" }, /* @__PURE__ */ React2__default.default.createElement("strong", null, "\u793A\u4F8B"), '\uFF1A\u9009\u62E9"\u6BCF\u5929\u91CD\u590D3\u6B21"\u5C06\u521B\u5EFA3\u4E2A\u72EC\u7ACB\u7684\u4E8B\u4EF6\u5B9E\u4F8B\uFF0C\u5206\u522B\u5728\u8FDE\u7EED\u76843\u5929\u53D1\u751F\u3002'));
1824
+ return /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, /* @__PURE__ */ React2__default.default.createElement(chunkZDRBMSTS_js.Modal, { isOpen, onClose: handleClose, width: "800px", height: "auto" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "px-6 py-4 border-b border-gray-200 bg-gradient-to-r from-blue-50 to-indigo-50" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-blue-600 text-lg" }, isEditMode ? "\u270F\uFE0F" : "\u2795")), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h2", { className: "text-xl font-semibold text-gray-900" }, isEditMode ? "\u7F16\u8F91\u4E8B\u4EF6" : "\u521B\u5EFA\u65B0\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600" }, isEditMode ? "\u4FEE\u6539\u4E8B\u4EF6\u4FE1\u606F" : "\u586B\u5199\u4E8B\u4EF6\u8BE6\u7EC6\u4FE1\u606F"))), /* @__PURE__ */ React2__default.default.createElement(
1892
1825
  "button",
1893
1826
  {
1894
1827
  type: "button",
1895
1828
  onClick: handleClose,
1896
1829
  className: "w-8 h-8 flex items-center justify-center rounded-full hover:bg-gray-100 transition-colors"
1897
1830
  },
1898
- /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-gray-400 text-xl" }, "\xD7")
1899
- ))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "px-6 py-6 max-h-[70vh] overflow-y-auto" }, /* @__PURE__ */ React3__default.default.createElement("form", { onSubmit: handleSubmit, className: "space-y-8" }, !isEditMode && /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-gray-50 rounded-lg p-4" }, renderEventTypeSelector()), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2 mb-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-1 h-6 bg-blue-500 rounded-full" }), /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u57FA\u672C\u4FE1\u606F")), renderBasicForm()), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2 mb-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-1 h-6 bg-green-500 rounded-full" }), /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u65F6\u95F4\u8BBE\u7F6E")), eventType === "single" /* SINGLE */ && renderSingleEventForm(), eventType === "multi_day" /* MULTI_DAY */ && renderMultiDayEventForm(), eventType === "recurring" /* RECURRING */ && renderRecurringEventForm()), (errors.general || errors.submit) && /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-3" }, errors.general && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start space-x-3 p-4 bg-red-50 border border-red-200 rounded-lg" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-red-500 text-lg" }, "\u26A0\uFE0F")), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "text-sm font-medium text-red-800" }, "\u8868\u5355\u9A8C\u8BC1\u9519\u8BEF"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-red-600 mt-1" }, errors.general))), errors.submit && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start space-x-3 p-4 bg-red-50 border border-red-200 rounded-lg" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-red-500 text-lg" }, "\u274C")), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "text-sm font-medium text-red-800" }, "\u4FDD\u5B58\u5931\u8D25"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-red-600 mt-1" }, errors.submit)))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "px-6 py-4 border-t border-gray-200 bg-gray-50" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React3__default.default.createElement("div", null, isEditMode && onDelete && /* @__PURE__ */ React3__default.default.createElement(
1831
+ /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-gray-400 text-xl" }, "\xD7")
1832
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "px-6 py-6 max-h-[70vh] overflow-y-auto" }, /* @__PURE__ */ React2__default.default.createElement("form", { onSubmit: handleSubmit, className: "space-y-8" }, !isEditMode && /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-gray-50 rounded-lg p-4" }, renderEventTypeSelector()), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2 mb-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-1 h-6 bg-blue-500 rounded-full" }), /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u57FA\u672C\u4FE1\u606F")), renderBasicForm()), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2 mb-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-1 h-6 bg-green-500 rounded-full" }), /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u65F6\u95F4\u8BBE\u7F6E")), eventType === "single" /* SINGLE */ && renderSingleEventForm(), eventType === "multi_day" /* MULTI_DAY */ && renderMultiDayEventForm(), eventType === "recurring" /* RECURRING */ && renderRecurringEventForm()), (errors.general || errors.submit) && /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-3" }, errors.general && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start space-x-3 p-4 bg-red-50 border border-red-200 rounded-lg" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-red-500 text-lg" }, "\u26A0\uFE0F")), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "text-sm font-medium text-red-800" }, "\u8868\u5355\u9A8C\u8BC1\u9519\u8BEF"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-red-600 mt-1" }, errors.general))), errors.submit && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start space-x-3 p-4 bg-red-50 border border-red-200 rounded-lg" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-red-500 text-lg" }, "\u274C")), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "text-sm font-medium text-red-800" }, "\u4FDD\u5B58\u5931\u8D25"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-red-600 mt-1" }, errors.submit)))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "px-6 py-4 border-t border-gray-200 bg-gray-50" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React2__default.default.createElement("div", null, isEditMode && onDelete && /* @__PURE__ */ React2__default.default.createElement(
1900
1833
  "button",
1901
1834
  {
1902
1835
  type: "button",
1903
1836
  onClick: () => setShowDeleteConfirm(true),
1904
1837
  className: "inline-flex items-center px-4 py-2 text-sm font-medium text-red-600 bg-white border border-red-300 rounded-lg hover:bg-red-50 hover:border-red-400 transition-all duration-200 shadow-sm hover:shadow-md"
1905
1838
  },
1906
- /* @__PURE__ */ React3__default.default.createElement("span", { className: "mr-2" }, "\u{1F5D1}\uFE0F"),
1839
+ /* @__PURE__ */ React2__default.default.createElement("span", { className: "mr-2" }, "\u{1F5D1}\uFE0F"),
1907
1840
  "\u5220\u9664\u4E8B\u4EF6"
1908
- )), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement(
1841
+ )), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement(
1909
1842
  "button",
1910
1843
  {
1911
1844
  type: "button",
@@ -1913,7 +1846,7 @@ var ImprovedEventModal = ({
1913
1846
  className: "inline-flex items-center px-6 py-2.5 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 hover:border-gray-400 transition-all duration-200 shadow-sm hover:shadow-md"
1914
1847
  },
1915
1848
  "\u53D6\u6D88"
1916
- ), /* @__PURE__ */ React3__default.default.createElement(
1849
+ ), /* @__PURE__ */ React2__default.default.createElement(
1917
1850
  "button",
1918
1851
  {
1919
1852
  type: "submit",
@@ -1921,11 +1854,11 @@ var ImprovedEventModal = ({
1921
1854
  onClick: handleSubmit,
1922
1855
  className: "inline-flex items-center px-6 py-2.5 text-sm font-medium text-white bg-gradient-to-r from-blue-600 to-blue-700 border border-blue-600 rounded-lg hover:from-blue-700 hover:to-blue-800 disabled:opacity-50 disabled:cursor-not-allowed transition-all duration-200 shadow-md hover:shadow-lg transform hover:-translate-y-0.5"
1923
1856
  },
1924
- isLoading && /* @__PURE__ */ React3__default.default.createElement("div", { className: "mr-2 w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin" }),
1925
- /* @__PURE__ */ React3__default.default.createElement("span", { className: "mr-2" }, isEditMode ? "\u{1F4BE}" : "\u2728"),
1857
+ isLoading && /* @__PURE__ */ React2__default.default.createElement("div", { className: "mr-2 w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin" }),
1858
+ /* @__PURE__ */ React2__default.default.createElement("span", { className: "mr-2" }, isEditMode ? "\u{1F4BE}" : "\u2728"),
1926
1859
  isLoading ? "\u4FDD\u5B58\u4E2D..." : isEditMode ? "\u66F4\u65B0\u4E8B\u4EF6" : "\u521B\u5EFA\u4E8B\u4EF6"
1927
- )))))), /* @__PURE__ */ React3__default.default.createElement(
1928
- ConfirmModal,
1860
+ )))))), /* @__PURE__ */ React2__default.default.createElement(
1861
+ chunkZDRBMSTS_js.ConfirmModal,
1929
1862
  {
1930
1863
  isOpen: showDeleteConfirm,
1931
1864
  onClose: () => setShowDeleteConfirm(false),
@@ -1940,13 +1873,13 @@ var ImprovedEventModal = ({
1940
1873
  };
1941
1874
  var ImprovedEventModal_default = ImprovedEventModal;
1942
1875
  function useEventDrag(events, onEventUpdate) {
1943
- const [dragState, setDragState] = React3.useState({
1876
+ const [dragState, setDragState] = React2.useState({
1944
1877
  isDragging: false,
1945
1878
  draggedEvent: null,
1946
1879
  dragOverDate: null,
1947
1880
  previewTime: null
1948
1881
  });
1949
- const handleDragStart = React3.useCallback((event) => {
1882
+ const handleDragStart = React2.useCallback((event) => {
1950
1883
  const eventId = parseInt(event.active.id);
1951
1884
  const draggedEvent = events.find((e) => e.id === eventId);
1952
1885
  console.log("\u{1F3AF} \u62D6\u62FD\u5F00\u59CB:", {
@@ -1968,7 +1901,7 @@ function useEventDrag(events, onEventUpdate) {
1968
1901
  });
1969
1902
  }
1970
1903
  }, [events]);
1971
- const handleDragOver = React3.useCallback((event) => {
1904
+ const handleDragOver = React2.useCallback((event) => {
1972
1905
  const { over } = event;
1973
1906
  console.log("\u{1F50D} \u62D6\u62FD\u60AC\u505C:", {
1974
1907
  overId: over?.id,
@@ -2023,7 +1956,7 @@ function useEventDrag(events, onEventUpdate) {
2023
1956
  }
2024
1957
  }
2025
1958
  }, [dragState.draggedEvent]);
2026
- const handleDragEnd = React3.useCallback(async (event) => {
1959
+ const handleDragEnd = React2.useCallback(async (event) => {
2027
1960
  const { over } = event;
2028
1961
  console.log("\u{1F3AF} \u62D6\u62FD\u7ED3\u675F:", {
2029
1962
  overId: over?.id,
@@ -2076,7 +2009,7 @@ function useEventDrag(events, onEventUpdate) {
2076
2009
  console.log("\u{1F504} \u91CD\u7F6E\u62D6\u62FD\u72B6\u6001");
2077
2010
  resetDragState();
2078
2011
  }, [dragState.draggedEvent, dragState.dragOverDate, onEventUpdate]);
2079
- const resetDragState = React3.useCallback(() => {
2012
+ const resetDragState = React2.useCallback(() => {
2080
2013
  setDragState({
2081
2014
  isDragging: false,
2082
2015
  draggedEvent: null,
@@ -2114,9 +2047,9 @@ var isDragSupported = () => {
2114
2047
  return "draggable" in document.createElement("div");
2115
2048
  };
2116
2049
  var useDeviceType = () => {
2117
- const [isMobile, setIsMobile] = React3.useState(false);
2118
- const [dragSupported, setDragSupported] = React3.useState(true);
2119
- React3.useEffect(() => {
2050
+ const [isMobile, setIsMobile] = React2.useState(false);
2051
+ const [dragSupported, setDragSupported] = React2.useState(true);
2052
+ React2.useEffect(() => {
2120
2053
  const checkDevice = () => {
2121
2054
  const mobile = isMobileDevice();
2122
2055
  setIsMobile(mobile);
@@ -2179,16 +2112,16 @@ var DraggableEvent = ({
2179
2112
  const getPriorityIndicator = (priority) => {
2180
2113
  switch (priority) {
2181
2114
  case "high":
2182
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-2 h-2 bg-red-500 rounded-full flex-shrink-0", title: "\u9AD8\u4F18\u5148\u7EA7" });
2115
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-2 h-2 bg-red-500 rounded-full flex-shrink-0", title: "\u9AD8\u4F18\u5148\u7EA7" });
2183
2116
  case "medium":
2184
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-2 h-2 bg-yellow-500 rounded-full flex-shrink-0", title: "\u4E2D\u4F18\u5148\u7EA7" });
2117
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-2 h-2 bg-yellow-500 rounded-full flex-shrink-0", title: "\u4E2D\u4F18\u5148\u7EA7" });
2185
2118
  case "low":
2186
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-2 h-2 bg-green-500 rounded-full flex-shrink-0", title: "\u4F4E\u4F18\u5148\u7EA7" });
2119
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-2 h-2 bg-green-500 rounded-full flex-shrink-0", title: "\u4F4E\u4F18\u5148\u7EA7" });
2187
2120
  default:
2188
2121
  return null;
2189
2122
  }
2190
2123
  };
2191
- return /* @__PURE__ */ React3__default.default.createElement(
2124
+ return /* @__PURE__ */ React2__default.default.createElement(
2192
2125
  "div",
2193
2126
  {
2194
2127
  ref: setNodeRef,
@@ -2205,16 +2138,16 @@ var DraggableEvent = ({
2205
2138
  ...dragSupported ? attributes : {},
2206
2139
  onClick
2207
2140
  },
2208
- dragSupported && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute top-1 right-1 opacity-0 group-hover:opacity-100 transition-opacity" }, /* @__PURE__ */ React3__default.default.createElement(
2141
+ dragSupported && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute top-1 right-1 opacity-0 group-hover:opacity-100 transition-opacity" }, /* @__PURE__ */ React2__default.default.createElement(
2209
2142
  "svg",
2210
2143
  {
2211
2144
  className: "w-3 h-3 text-gray-400",
2212
2145
  fill: "currentColor",
2213
2146
  viewBox: "0 0 20 20"
2214
2147
  },
2215
- /* @__PURE__ */ React3__default.default.createElement("path", { d: "M7 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" })
2148
+ /* @__PURE__ */ React2__default.default.createElement("path", { d: "M7 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" })
2216
2149
  )),
2217
- isMobile && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute top-1 right-1 opacity-70" }, /* @__PURE__ */ React3__default.default.createElement(
2150
+ isMobile && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute top-1 right-1 opacity-70" }, /* @__PURE__ */ React2__default.default.createElement(
2218
2151
  "svg",
2219
2152
  {
2220
2153
  className: "w-3 h-3 text-gray-500",
@@ -2222,7 +2155,7 @@ var DraggableEvent = ({
2222
2155
  stroke: "currentColor",
2223
2156
  viewBox: "0 0 24 24"
2224
2157
  },
2225
- /* @__PURE__ */ React3__default.default.createElement(
2158
+ /* @__PURE__ */ React2__default.default.createElement(
2226
2159
  "path",
2227
2160
  {
2228
2161
  strokeLinecap: "round",
@@ -2232,9 +2165,9 @@ var DraggableEvent = ({
2232
2165
  }
2233
2166
  )
2234
2167
  )),
2235
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-1" }, getPriorityIndicator(event.priority), /* @__PURE__ */ React3__default.default.createElement("span", { className: "font-medium truncate flex-1" }, event.title), !event.allDay && /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-xs opacity-60 whitespace-nowrap" }, formatTime(new Date(event.startTime)))),
2168
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-1" }, getPriorityIndicator(event.priority), /* @__PURE__ */ React2__default.default.createElement("span", { className: "font-medium truncate flex-1" }, event.title), !event.allDay && /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-xs opacity-60 whitespace-nowrap" }, formatTime(new Date(event.startTime)))),
2236
2169
  children,
2237
- isDragActive && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-0 bg-white bg-opacity-20 rounded-lg pointer-events-none" })
2170
+ isDragActive && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-0 bg-white bg-opacity-20 rounded-lg pointer-events-none" })
2238
2171
  );
2239
2172
  };
2240
2173
  var DraggableEvent_default = DraggableEvent;
@@ -2296,19 +2229,19 @@ var DroppableCalendarCell = ({
2296
2229
  }
2297
2230
  return baseClasses.join(" ");
2298
2231
  };
2299
- return /* @__PURE__ */ React3__default.default.createElement(
2232
+ return /* @__PURE__ */ React2__default.default.createElement(
2300
2233
  "div",
2301
2234
  {
2302
2235
  ref: disableDrop ? void 0 : setNodeRef,
2303
2236
  className: getCellClasses(),
2304
2237
  onClick: () => onDateClick?.(date)
2305
2238
  },
2306
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between mb-2" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: `
2239
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between mb-2" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: `
2307
2240
  inline-flex items-center justify-center text-sm font-semibold w-6 h-6
2308
2241
  ${!isCurrentMonth ? "text-gray-400" : date.getDay() === 0 || date.getDay() === 6 ? "text-red-600" : "text-gray-900"}
2309
2242
  ${isToday(date) ? "bg-blue-600 text-white rounded-full shadow-md" : ""}
2310
- ` }, date.getDate()), dayEvents.length > 0 && /* @__PURE__ */ React3__default.default.createElement("span", { className: "bg-yellow-500 inline-flex items-center justify-center text-sm font-semibold w-6 h-6 border border-white 'bg-blue-600 text-white rounded-full shadow-md" }, dayEvents.length)),
2311
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-1" }, dayEvents.slice(0, 3).map((event) => /* @__PURE__ */ React3__default.default.createElement(
2243
+ ` }, date.getDate()), dayEvents.length > 0 && /* @__PURE__ */ React2__default.default.createElement("span", { className: "bg-yellow-500 inline-flex items-center justify-center text-sm font-semibold w-6 h-6 border border-white 'bg-blue-600 text-white rounded-full shadow-md" }, dayEvents.length)),
2244
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-1" }, dayEvents.slice(0, 3).map((event) => /* @__PURE__ */ React2__default.default.createElement(
2312
2245
  DraggableEvent_default,
2313
2246
  {
2314
2247
  key: event.id,
@@ -2318,9 +2251,9 @@ var DroppableCalendarCell = ({
2318
2251
  onEventClick?.(event);
2319
2252
  }
2320
2253
  }
2321
- )), dayEvents.length > 3 && /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500 px-2 py-1 bg-gray-100 rounded" }, "+", dayEvents.length - 3, " \u66F4\u591A")),
2322
- isOver && dragOverPreview && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center bg-blue-50 bg-opacity-90 rounded-lg border-2 border-dashed border-blue-300" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm font-medium text-blue-600 mb-1" }, "\u79FB\u52A8\u5230 ", date.getMonth() + 1, "/", date.getDate()), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-blue-500" }, dragOverPreview))),
2323
- isOver && !dragOverPreview && /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center bg-green-50 bg-opacity-90 rounded-lg border-2 border-dashed border-green-300" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm font-medium text-green-600" }, "\u70B9\u51FB\u521B\u5EFA\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-green-500" }, date.getMonth() + 1, "/", date.getDate())))
2254
+ )), dayEvents.length > 3 && /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500 px-2 py-1 bg-gray-100 rounded" }, "+", dayEvents.length - 3, " \u66F4\u591A")),
2255
+ isOver && dragOverPreview && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center bg-blue-50 bg-opacity-90 rounded-lg border-2 border-dashed border-blue-300" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm font-medium text-blue-600 mb-1" }, "\u79FB\u52A8\u5230 ", date.getMonth() + 1, "/", date.getDate()), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-blue-500" }, dragOverPreview))),
2256
+ isOver && !dragOverPreview && /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center bg-green-50 bg-opacity-90 rounded-lg border-2 border-dashed border-green-300" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm font-medium text-green-600" }, "\u70B9\u51FB\u521B\u5EFA\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-green-500" }, date.getMonth() + 1, "/", date.getDate())))
2324
2257
  );
2325
2258
  };
2326
2259
  var DroppableCalendarCell_default = DroppableCalendarCell;
@@ -2335,7 +2268,7 @@ var DraggableMonthView = ({
2335
2268
  onEventUpdate,
2336
2269
  className = ""
2337
2270
  }) => {
2338
- const [selectedDate, setSelectedDate] = React3.useState(null);
2271
+ const [selectedDate, setSelectedDate] = React2.useState(null);
2339
2272
  const { isMobile, dragSupported } = useDeviceType();
2340
2273
  const {
2341
2274
  dragState,
@@ -2344,14 +2277,14 @@ var DraggableMonthView = ({
2344
2277
  handleDragEnd
2345
2278
  } = useEventDrag(events, dragSupported ? onEventUpdate : async () => {
2346
2279
  });
2347
- const monthDays = React3.useMemo(() => {
2280
+ const monthDays = React2.useMemo(() => {
2348
2281
  const dates = getMonthViewDates(currentDate);
2349
2282
  return dates.map((date) => ({
2350
2283
  date,
2351
2284
  isCurrentMonth: date.getMonth() === currentDate.getMonth()
2352
2285
  }));
2353
2286
  }, [currentDate]);
2354
- const weekDays = React3.useMemo(() => {
2287
+ const weekDays = React2.useMemo(() => {
2355
2288
  return monthDays.slice(0, 7).map(
2356
2289
  (dayData) => getWeekdayName(dayData.date, "zh-CN", "short")
2357
2290
  );
@@ -2369,27 +2302,27 @@ var DraggableMonthView = ({
2369
2302
  setSelectedDate(date);
2370
2303
  onDateClick?.(date);
2371
2304
  };
2372
- const renderCalendarContent = () => /* @__PURE__ */ React3__default.default.createElement("div", { className: "overflow-hidden border border-gray-300 rounded-lg" }, /* @__PURE__ */ React3__default.default.createElement("table", { className: "w-full table-fixed border-collapse" }, /* @__PURE__ */ React3__default.default.createElement("thead", null, /* @__PURE__ */ React3__default.default.createElement("tr", { className: "bg-gradient-to-r from-gray-50 to-gray-100 border-b-2 border-gray-300" }, weekDays.map((day, index) => /* @__PURE__ */ React3__default.default.createElement(
2305
+ const renderCalendarContent = () => /* @__PURE__ */ React2__default.default.createElement("div", { className: "overflow-hidden border border-gray-300 rounded-lg" }, /* @__PURE__ */ React2__default.default.createElement("table", { className: "w-full table-fixed border-collapse" }, /* @__PURE__ */ React2__default.default.createElement("thead", null, /* @__PURE__ */ React2__default.default.createElement("tr", { className: "bg-gradient-to-r from-gray-50 to-gray-100 border-b-2 border-gray-300" }, weekDays.map((day, index) => /* @__PURE__ */ React2__default.default.createElement(
2373
2306
  "th",
2374
2307
  {
2375
2308
  key: day,
2376
2309
  className: `p-2 sm:p-3 text-center text-sm font-bold border-r border-gray-300 last:border-r-0 ${index === 5 || index === 6 ? "text-red-600 bg-red-50" : "text-gray-800"}`
2377
2310
  },
2378
2311
  day
2379
- )))), /* @__PURE__ */ React3__default.default.createElement("tbody", null, Array.from({ length: 6 }, (_, weekIndex) => /* @__PURE__ */ React3__default.default.createElement("tr", { key: weekIndex }, Array.from({ length: 7 }, (_2, dayIndex) => {
2312
+ )))), /* @__PURE__ */ React2__default.default.createElement("tbody", null, Array.from({ length: 6 }, (_, weekIndex) => /* @__PURE__ */ React2__default.default.createElement("tr", { key: weekIndex }, Array.from({ length: 7 }, (_2, dayIndex) => {
2380
2313
  const dateIndex = weekIndex * 7 + dayIndex;
2381
2314
  const dayData = monthDays[dateIndex];
2382
2315
  if (!dayData) {
2383
- return /* @__PURE__ */ React3__default.default.createElement("td", { key: dayIndex, className: "h-24 sm:h-32 border-b border-gray-300 border-r border-gray-300 last:border-r-0 bg-gray-100" });
2316
+ return /* @__PURE__ */ React2__default.default.createElement("td", { key: dayIndex, className: "h-24 sm:h-32 border-b border-gray-300 border-r border-gray-300 last:border-r-0 bg-gray-100" });
2384
2317
  }
2385
2318
  const isWeekend2 = dayData.date.getDay() === 0 || dayData.date.getDay() === 6;
2386
- return /* @__PURE__ */ React3__default.default.createElement(
2319
+ return /* @__PURE__ */ React2__default.default.createElement(
2387
2320
  "td",
2388
2321
  {
2389
2322
  key: dayIndex,
2390
2323
  className: `h-24 sm:h-32 border-b border-gray-300 border-r border-gray-300 last:border-r-0 relative ${isWeekend2 ? "bg-red-50" : "bg-white"} hover:bg-blue-50 transition-colors`
2391
2324
  },
2392
- /* @__PURE__ */ React3__default.default.createElement(
2325
+ /* @__PURE__ */ React2__default.default.createElement(
2393
2326
  DroppableCalendarCell_default,
2394
2327
  {
2395
2328
  date: dayData.date,
@@ -2405,30 +2338,30 @@ var DraggableMonthView = ({
2405
2338
  )
2406
2339
  );
2407
2340
  }))))));
2408
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: `bg-white rounded-lg shadow-sm ${className}` }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between p-4 border-b" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-4" }, /* @__PURE__ */ React3__default.default.createElement("h2", { className: "text-lg sm:text-xl font-semibold text-gray-900" }, currentDate.getFullYear(), "\u5E74", getMonthName(currentDate)), /* @__PURE__ */ React3__default.default.createElement(
2341
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: `bg-white rounded-lg shadow-sm ${className}` }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between p-4 border-b" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-4" }, /* @__PURE__ */ React2__default.default.createElement("h2", { className: "text-lg sm:text-xl font-semibold text-gray-900" }, currentDate.getFullYear(), "\u5E74", getMonthName(currentDate)), /* @__PURE__ */ React2__default.default.createElement(
2409
2342
  "button",
2410
2343
  {
2411
2344
  onClick: goToToday,
2412
2345
  className: "px-3 py-1 text-sm bg-blue-100 text-blue-600 rounded hover:bg-blue-200 transition-colors"
2413
2346
  },
2414
2347
  "\u4ECA\u5929"
2415
- ), isMobile && /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-xs text-gray-500 bg-gray-100 px-2 py-1 rounded" }, "\u70B9\u51FB\u4E8B\u4EF6\u7F16\u8F91")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement(
2348
+ ), isMobile && /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-xs text-gray-500 bg-gray-100 px-2 py-1 rounded" }, "\u70B9\u51FB\u4E8B\u4EF6\u7F16\u8F91")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement(
2416
2349
  "button",
2417
2350
  {
2418
2351
  onClick: goToPreviousMonth,
2419
2352
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors",
2420
2353
  title: "\u4E0A\u4E2A\u6708"
2421
2354
  },
2422
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))
2423
- ), /* @__PURE__ */ React3__default.default.createElement(
2355
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))
2356
+ ), /* @__PURE__ */ React2__default.default.createElement(
2424
2357
  "button",
2425
2358
  {
2426
2359
  onClick: goToNextMonth,
2427
2360
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors",
2428
2361
  title: "\u4E0B\u4E2A\u6708"
2429
2362
  },
2430
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }))
2431
- ))), dragSupported ? /* @__PURE__ */ React3__default.default.createElement(
2363
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }))
2364
+ ))), dragSupported ? /* @__PURE__ */ React2__default.default.createElement(
2432
2365
  core.DndContext,
2433
2366
  {
2434
2367
  onDragStart: handleDragStart,
@@ -2436,7 +2369,7 @@ var DraggableMonthView = ({
2436
2369
  onDragEnd: handleDragEnd
2437
2370
  },
2438
2371
  renderCalendarContent(),
2439
- /* @__PURE__ */ React3__default.default.createElement(core.DragOverlay, null, dragState.isDragging && dragState.draggedEvent && /* @__PURE__ */ React3__default.default.createElement("div", { className: "transform rotate-1 scale-105 pointer-events-none" }, /* @__PURE__ */ React3__default.default.createElement(
2372
+ /* @__PURE__ */ React2__default.default.createElement(core.DragOverlay, null, dragState.isDragging && dragState.draggedEvent && /* @__PURE__ */ React2__default.default.createElement("div", { className: "transform rotate-1 scale-105 pointer-events-none" }, /* @__PURE__ */ React2__default.default.createElement(
2440
2373
  DraggableEvent_default,
2441
2374
  {
2442
2375
  event: dragState.draggedEvent,
@@ -2444,7 +2377,7 @@ var DraggableMonthView = ({
2444
2377
  className: "shadow-lg border border-blue-400 bg-opacity-90"
2445
2378
  }
2446
2379
  )))
2447
- ) : renderCalendarContent(), dragSupported && dragState.isDragging && /* @__PURE__ */ React3__default.default.createElement("div", { className: "fixed bottom-4 right-4 bg-blue-600 text-white px-4 py-2 rounded-lg shadow-lg z-50" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4 animate-pulse", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React3__default.default.createElement("path", { d: "M10 12a2 2 0 100-4 2 2 0 000 4z" }), /* @__PURE__ */ React3__default.default.createElement("path", { fillRule: "evenodd", d: "M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z", clipRule: "evenodd" })), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm" }, '\u62D6\u62FD "', dragState.draggedEvent?.title, '" \u5230\u76EE\u6807\u65E5\u671F'))));
2380
+ ) : renderCalendarContent(), dragSupported && dragState.isDragging && /* @__PURE__ */ React2__default.default.createElement("div", { className: "fixed bottom-4 right-4 bg-blue-600 text-white px-4 py-2 rounded-lg shadow-lg z-50" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4 animate-pulse", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React2__default.default.createElement("path", { d: "M10 12a2 2 0 100-4 2 2 0 000 4z" }), /* @__PURE__ */ React2__default.default.createElement("path", { fillRule: "evenodd", d: "M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z", clipRule: "evenodd" })), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm" }, '\u62D6\u62FD "', dragState.draggedEvent?.title, '" \u5230\u76EE\u6807\u65E5\u671F'))));
2448
2381
  };
2449
2382
  var DraggableMonthView_default = DraggableMonthView;
2450
2383
  var COLOR_THEMES = {
@@ -2579,9 +2512,9 @@ var DEFAULT_SETTINGS = {
2579
2512
  }
2580
2513
  };
2581
2514
  function CalendarSettings({ onSettingsChange }) {
2582
- const [settings, setSettings] = React3.useState(DEFAULT_SETTINGS);
2583
- const [activeTab, setActiveTab] = React3.useState("theme");
2584
- React3.useEffect(() => {
2515
+ const [settings, setSettings] = React2.useState(DEFAULT_SETTINGS);
2516
+ const [activeTab, setActiveTab] = React2.useState("theme");
2517
+ React2.useEffect(() => {
2585
2518
  const savedSettings = localStorage.getItem("calendar-settings");
2586
2519
  if (savedSettings) {
2587
2520
  try {
@@ -2605,28 +2538,28 @@ function CalendarSettings({ onSettingsChange }) {
2605
2538
  saveSettings(DEFAULT_SETTINGS);
2606
2539
  };
2607
2540
  const currentTheme = COLOR_THEMES[settings.theme];
2608
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "px-6 py-4 border-b border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("h2", { className: "text-lg font-semibold text-gray-900" }, "\u65E5\u5386\u8BBE\u7F6E"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600 mt-1" }, "\u81EA\u5B9A\u4E49\u60A8\u7684\u65E5\u5386\u5916\u89C2\u548C\u884C\u4E3A")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "border-b border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("nav", { className: "flex space-x-8 px-6" }, [
2541
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "px-6 py-4 border-b border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("h2", { className: "text-lg font-semibold text-gray-900" }, "\u65E5\u5386\u8BBE\u7F6E"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600 mt-1" }, "\u81EA\u5B9A\u4E49\u60A8\u7684\u65E5\u5386\u5916\u89C2\u548C\u884C\u4E3A")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "border-b border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("nav", { className: "flex space-x-8 px-6" }, [
2609
2542
  { key: "theme", label: "\u4E3B\u9898\u6837\u5F0F", icon: "\u{1F3A8}" },
2610
2543
  { key: "general", label: "\u5E38\u89C4\u8BBE\u7F6E", icon: "\u2699\uFE0F" },
2611
2544
  { key: "time", label: "\u65F6\u95F4\u8BBE\u7F6E", icon: "\u23F0" }
2612
- ].map(({ key, label, icon }) => /* @__PURE__ */ React3__default.default.createElement(
2545
+ ].map(({ key, label, icon }) => /* @__PURE__ */ React2__default.default.createElement(
2613
2546
  "button",
2614
2547
  {
2615
2548
  key,
2616
2549
  onClick: () => setActiveTab(key),
2617
2550
  className: `py-4 text-sm font-medium border-b-2 transition-colors ${activeTab === key ? "border-blue-500 text-blue-600" : "border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}`
2618
2551
  },
2619
- /* @__PURE__ */ React3__default.default.createElement("span", { className: "mr-2" }, icon),
2552
+ /* @__PURE__ */ React2__default.default.createElement("span", { className: "mr-2" }, icon),
2620
2553
  label
2621
- )))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "p-6" }, activeTab === "theme" && /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-md font-medium text-gray-900 mb-4" }, "\u9884\u8BBE\u4E3B\u9898"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4" }, Object.entries(COLOR_THEMES).map(([key, theme]) => /* @__PURE__ */ React3__default.default.createElement(
2554
+ )))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "p-6" }, activeTab === "theme" && /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-md font-medium text-gray-900 mb-4" }, "\u9884\u8BBE\u4E3B\u9898"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4" }, Object.entries(COLOR_THEMES).map(([key, theme]) => /* @__PURE__ */ React2__default.default.createElement(
2622
2555
  "div",
2623
2556
  {
2624
2557
  key,
2625
2558
  onClick: () => updateSettings({ theme: key }),
2626
2559
  className: `p-4 border-2 rounded-lg cursor-pointer transition-all ${settings.theme === key ? "border-blue-500 bg-blue-50" : "border-gray-200 hover:border-gray-300"}`
2627
2560
  },
2628
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between mb-3" }, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "font-medium text-gray-900" }, theme.name), settings.theme === key && /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-blue-500", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React3__default.default.createElement("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }))),
2629
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex space-x-1 mb-3" }, Object.values(theme.colors).slice(0, 6).map((color, index) => /* @__PURE__ */ React3__default.default.createElement(
2561
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between mb-3" }, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "font-medium text-gray-900" }, theme.name), settings.theme === key && /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-blue-500", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React2__default.default.createElement("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }))),
2562
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex space-x-1 mb-3" }, Object.values(theme.colors).slice(0, 6).map((color, index) => /* @__PURE__ */ React2__default.default.createElement(
2630
2563
  "div",
2631
2564
  {
2632
2565
  key: index,
@@ -2634,7 +2567,7 @@ function CalendarSettings({ onSettingsChange }) {
2634
2567
  style: { backgroundColor: color }
2635
2568
  }
2636
2569
  ))),
2637
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs" }, /* @__PURE__ */ React3__default.default.createElement(
2570
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs" }, /* @__PURE__ */ React2__default.default.createElement(
2638
2571
  "div",
2639
2572
  {
2640
2573
  className: "grid grid-cols-7 gap-1 p-2 rounded border",
@@ -2643,7 +2576,7 @@ function CalendarSettings({ onSettingsChange }) {
2643
2576
  borderColor: theme.border.calendar
2644
2577
  }
2645
2578
  },
2646
- ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"].map((day, index) => /* @__PURE__ */ React3__default.default.createElement(
2579
+ ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"].map((day, index) => /* @__PURE__ */ React2__default.default.createElement(
2647
2580
  "div",
2648
2581
  {
2649
2582
  key: day,
@@ -2652,7 +2585,7 @@ function CalendarSettings({ onSettingsChange }) {
2652
2585
  },
2653
2586
  day
2654
2587
  )),
2655
- Array.from({ length: 7 }, (_, index) => /* @__PURE__ */ React3__default.default.createElement(
2588
+ Array.from({ length: 7 }, (_, index) => /* @__PURE__ */ React2__default.default.createElement(
2656
2589
  "div",
2657
2590
  {
2658
2591
  key: index,
@@ -2666,7 +2599,7 @@ function CalendarSettings({ onSettingsChange }) {
2666
2599
  index + 1
2667
2600
  ))
2668
2601
  ))
2669
- )))), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-md font-medium text-gray-900 mb-4" }, "\u81EA\u5B9A\u4E49\u989C\u8272"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4" }, Object.entries(currentTheme.colors).map(([key, defaultColor]) => /* @__PURE__ */ React3__default.default.createElement("div", { key, className: "space-y-2" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 capitalize" }, key === "primary" ? "\u4E3B\u8272" : key === "secondary" ? "\u6B21\u8981\u8272" : key === "accent" ? "\u5F3A\u8C03\u8272" : key === "danger" ? "\u5371\u9669\u8272" : key), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement(
2602
+ )))), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-md font-medium text-gray-900 mb-4" }, "\u81EA\u5B9A\u4E49\u989C\u8272"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4" }, Object.entries(currentTheme.colors).map(([key, defaultColor]) => /* @__PURE__ */ React2__default.default.createElement("div", { key, className: "space-y-2" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 capitalize" }, key === "primary" ? "\u4E3B\u8272" : key === "secondary" ? "\u6B21\u8981\u8272" : key === "accent" ? "\u5F3A\u8C03\u8272" : key === "danger" ? "\u5371\u9669\u8272" : key), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement(
2670
2603
  "input",
2671
2604
  {
2672
2605
  type: "color",
@@ -2679,7 +2612,7 @@ function CalendarSettings({ onSettingsChange }) {
2679
2612
  }),
2680
2613
  className: "w-12 h-8 border border-gray-300 rounded cursor-pointer"
2681
2614
  }
2682
- ), /* @__PURE__ */ React3__default.default.createElement(
2615
+ ), /* @__PURE__ */ React2__default.default.createElement(
2683
2616
  "input",
2684
2617
  {
2685
2618
  type: "text",
@@ -2693,23 +2626,23 @@ function CalendarSettings({ onSettingsChange }) {
2693
2626
  className: "flex-1 px-3 py-1 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",
2694
2627
  placeholder: defaultColor
2695
2628
  }
2696
- ))))))), activeTab === "general" && /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4E00\u5468\u5F00\u59CB\u4E8E"), /* @__PURE__ */ React3__default.default.createElement(
2629
+ ))))))), activeTab === "general" && /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4E00\u5468\u5F00\u59CB\u4E8E"), /* @__PURE__ */ React2__default.default.createElement(
2697
2630
  "select",
2698
2631
  {
2699
2632
  value: settings.weekStartsOn,
2700
2633
  onChange: (e) => updateSettings({ weekStartsOn: Number(e.target.value) }),
2701
2634
  className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
2702
2635
  },
2703
- WEEK_START_OPTIONS.map((option) => /* @__PURE__ */ React3__default.default.createElement("option", { key: option.value, value: option.value }, option.label))
2704
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u8BED\u8A00"), /* @__PURE__ */ React3__default.default.createElement(
2636
+ WEEK_START_OPTIONS.map((option) => /* @__PURE__ */ React2__default.default.createElement("option", { key: option.value, value: option.value }, option.label))
2637
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u8BED\u8A00"), /* @__PURE__ */ React2__default.default.createElement(
2705
2638
  "select",
2706
2639
  {
2707
2640
  value: settings.language,
2708
2641
  onChange: (e) => updateSettings({ language: e.target.value }),
2709
2642
  className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
2710
2643
  },
2711
- LANGUAGE_OPTIONS.map((option) => /* @__PURE__ */ React3__default.default.createElement("option", { key: option.value, value: option.value }, option.label))
2712
- )), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-md font-medium text-gray-900" }, "\u663E\u793A\u9009\u9879"), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
2644
+ LANGUAGE_OPTIONS.map((option) => /* @__PURE__ */ React2__default.default.createElement("option", { key: option.value, value: option.value }, option.label))
2645
+ )), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-md font-medium text-gray-900" }, "\u663E\u793A\u9009\u9879"), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
2713
2646
  "input",
2714
2647
  {
2715
2648
  type: "checkbox",
@@ -2717,7 +2650,7 @@ function CalendarSettings({ onSettingsChange }) {
2717
2650
  onChange: (e) => updateSettings({ showWeekNumbers: e.target.checked }),
2718
2651
  className: "rounded border-gray-300 text-blue-600 focus:ring-blue-500"
2719
2652
  }
2720
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u663E\u793A\u5468\u6570")), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
2653
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u663E\u793A\u5468\u6570")), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
2721
2654
  "input",
2722
2655
  {
2723
2656
  type: "checkbox",
@@ -2725,7 +2658,7 @@ function CalendarSettings({ onSettingsChange }) {
2725
2658
  onChange: (e) => updateSettings({ showLunarCalendar: e.target.checked }),
2726
2659
  className: "rounded border-gray-300 text-blue-600 focus:ring-blue-500"
2727
2660
  }
2728
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u663E\u793A\u519C\u5386"))), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u9ED8\u8BA4\u4E8B\u4EF6\u65F6\u957F\uFF08\u5206\u949F\uFF09"), /* @__PURE__ */ React3__default.default.createElement(
2661
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u663E\u793A\u519C\u5386"))), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u9ED8\u8BA4\u4E8B\u4EF6\u65F6\u957F\uFF08\u5206\u949F\uFF09"), /* @__PURE__ */ React2__default.default.createElement(
2729
2662
  "input",
2730
2663
  {
2731
2664
  type: "number",
@@ -2736,15 +2669,15 @@ function CalendarSettings({ onSettingsChange }) {
2736
2669
  onChange: (e) => updateSettings({ defaultEventDuration: Number(e.target.value) }),
2737
2670
  className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
2738
2671
  }
2739
- ))), activeTab === "time" && /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u65F6\u95F4\u683C\u5F0F"), /* @__PURE__ */ React3__default.default.createElement(
2672
+ ))), activeTab === "time" && /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u65F6\u95F4\u683C\u5F0F"), /* @__PURE__ */ React2__default.default.createElement(
2740
2673
  "select",
2741
2674
  {
2742
2675
  value: settings.timeFormat,
2743
2676
  onChange: (e) => updateSettings({ timeFormat: e.target.value }),
2744
2677
  className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
2745
2678
  },
2746
- TIME_FORMAT_OPTIONS.map((option) => /* @__PURE__ */ React3__default.default.createElement("option", { key: option.value, value: option.value }, option.label))
2747
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-md font-medium text-gray-900 mb-4" }, "\u5DE5\u4F5C\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement(
2679
+ TIME_FORMAT_OPTIONS.map((option) => /* @__PURE__ */ React2__default.default.createElement("option", { key: option.value, value: option.value }, option.label))
2680
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-md font-medium text-gray-900 mb-4" }, "\u5DE5\u4F5C\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement(
2748
2681
  "input",
2749
2682
  {
2750
2683
  type: "time",
@@ -2757,7 +2690,7 @@ function CalendarSettings({ onSettingsChange }) {
2757
2690
  }),
2758
2691
  className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
2759
2692
  }
2760
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement(
2693
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement(
2761
2694
  "input",
2762
2695
  {
2763
2696
  type: "time",
@@ -2770,14 +2703,14 @@ function CalendarSettings({ onSettingsChange }) {
2770
2703
  }),
2771
2704
  className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
2772
2705
  }
2773
- ))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex justify-between pt-6 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement(
2706
+ ))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex justify-between pt-6 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement(
2774
2707
  "button",
2775
2708
  {
2776
2709
  onClick: resetSettings,
2777
2710
  className: "px-4 py-2 text-sm font-medium text-gray-700 bg-gray-100 hover:bg-gray-200 rounded-md transition-colors"
2778
2711
  },
2779
2712
  "\u91CD\u7F6E\u4E3A\u9ED8\u8BA4"
2780
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex space-x-3" }, /* @__PURE__ */ React3__default.default.createElement(
2713
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex space-x-3" }, /* @__PURE__ */ React2__default.default.createElement(
2781
2714
  "button",
2782
2715
  {
2783
2716
  onClick: () => {
@@ -2793,7 +2726,7 @@ function CalendarSettings({ onSettingsChange }) {
2793
2726
  className: "px-4 py-2 text-sm font-medium text-blue-600 bg-blue-50 hover:bg-blue-100 rounded-md transition-colors"
2794
2727
  },
2795
2728
  "\u5BFC\u51FA\u8BBE\u7F6E"
2796
- ), /* @__PURE__ */ React3__default.default.createElement("label", { className: "px-4 py-2 text-sm font-medium text-green-600 bg-green-50 hover:bg-green-100 rounded-md transition-colors cursor-pointer" }, "\u5BFC\u5165\u8BBE\u7F6E", /* @__PURE__ */ React3__default.default.createElement(
2729
+ ), /* @__PURE__ */ React2__default.default.createElement("label", { className: "px-4 py-2 text-sm font-medium text-green-600 bg-green-50 hover:bg-green-100 rounded-md transition-colors cursor-pointer" }, "\u5BFC\u5165\u8BBE\u7F6E", /* @__PURE__ */ React2__default.default.createElement(
2797
2730
  "input",
2798
2731
  {
2799
2732
  type: "file",
@@ -2825,14 +2758,14 @@ function CalendarPage({
2825
2758
  onShowLogin,
2826
2759
  headerActions
2827
2760
  }) {
2828
- const [currentDate, setCurrentDate] = React3.useState(/* @__PURE__ */ new Date());
2829
- const [viewType, setViewType] = React3.useState("month" /* MONTH */);
2830
- const [isEventModalOpen, setIsEventModalOpen] = React3.useState(false);
2831
- const [selectedDate, setSelectedDate] = React3.useState(null);
2832
- const [editingEvent, setEditingEvent] = React3.useState(null);
2833
- const [activeTab, setActiveTab] = React3.useState("calendar");
2834
- const [calendarSettings, setCalendarSettings] = React3.useState(null);
2835
- const [eventListConfig, setEventListConfig] = React3.useState({
2761
+ const [currentDate, setCurrentDate] = React2.useState(/* @__PURE__ */ new Date());
2762
+ const [viewType, setViewType] = React2.useState("month" /* MONTH */);
2763
+ const [isEventModalOpen, setIsEventModalOpen] = React2.useState(false);
2764
+ const [selectedDate, setSelectedDate] = React2.useState(null);
2765
+ const [editingEvent, setEditingEvent] = React2.useState(null);
2766
+ const [activeTab, setActiveTab] = React2.useState("calendar");
2767
+ const [calendarSettings, setCalendarSettings] = React2.useState(null);
2768
+ const [eventListConfig, setEventListConfig] = React2.useState({
2836
2769
  displayMode: "list" /* LIST */,
2837
2770
  sort: {
2838
2771
  field: "startTime" /* START_TIME */,
@@ -2855,8 +2788,8 @@ function CalendarPage({
2855
2788
  fetchEvents,
2856
2789
  clearError
2857
2790
  } = useEnhancedEvents();
2858
- React3.useMemo(() => getMonthViewDates(currentDate), [currentDate]);
2859
- React3.useEffect(() => {
2791
+ React2.useMemo(() => getMonthViewDates(currentDate), [currentDate]);
2792
+ React2.useEffect(() => {
2860
2793
  const viewDates = getMonthViewDates(currentDate);
2861
2794
  const viewStart = viewDates[0];
2862
2795
  const viewEnd = viewDates[viewDates.length - 1];
@@ -2872,7 +2805,7 @@ function CalendarPage({
2872
2805
  });
2873
2806
  }
2874
2807
  }, [currentDate, fetchEvents]);
2875
- const sampleEvents = React3.useMemo(() => [
2808
+ const sampleEvents = React2.useMemo(() => [
2876
2809
  { date: "2024-12-15", title: "\u56E2\u961F\u4F1A\u8BAE", color: "blue" },
2877
2810
  { date: "2024-12-20", title: "\u9879\u76EE\u8BC4\u5BA1", color: "green" },
2878
2811
  { date: "2024-12-25", title: "\u5723\u8BDE\u8282", color: "red" },
@@ -3045,7 +2978,7 @@ function CalendarPage({
3045
2978
  const renderCalendarView = () => {
3046
2979
  switch (viewType) {
3047
2980
  case "month" /* MONTH */:
3048
- return /* @__PURE__ */ React3__default.default.createElement(
2981
+ return /* @__PURE__ */ React2__default.default.createElement(
3049
2982
  DraggableMonthView_default,
3050
2983
  {
3051
2984
  events,
@@ -3064,7 +2997,7 @@ function CalendarPage({
3064
2997
  case "day" /* DAY */:
3065
2998
  return renderDayView();
3066
2999
  default:
3067
- return /* @__PURE__ */ React3__default.default.createElement(
3000
+ return /* @__PURE__ */ React2__default.default.createElement(
3068
3001
  DraggableMonthView_default,
3069
3002
  {
3070
3003
  events,
@@ -3082,21 +3015,21 @@ function CalendarPage({
3082
3015
  };
3083
3016
  const renderWeekView = () => {
3084
3017
  const weekDates = getWeekViewDates(currentDate);
3085
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden mb-6" }, /* @__PURE__ */ React3__default.default.createElement("table", { className: "w-full table-fixed" }, /* @__PURE__ */ React3__default.default.createElement("thead", null, /* @__PURE__ */ React3__default.default.createElement("tr", { className: "bg-gray-50" }, weekDates.map((date, index) => {
3018
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden mb-6" }, /* @__PURE__ */ React2__default.default.createElement("table", { className: "w-full table-fixed" }, /* @__PURE__ */ React2__default.default.createElement("thead", null, /* @__PURE__ */ React2__default.default.createElement("tr", { className: "bg-gray-50" }, weekDates.map((date, index) => {
3086
3019
  const isWeekend2 = date.getDay() === 0 || date.getDay() === 6;
3087
- return /* @__PURE__ */ React3__default.default.createElement(
3020
+ return /* @__PURE__ */ React2__default.default.createElement(
3088
3021
  "th",
3089
3022
  {
3090
3023
  key: index,
3091
3024
  className: `p-3 text-center border-b border-gray-200 ${index < 6 ? "border-r border-gray-200" : ""}`
3092
3025
  },
3093
- /* @__PURE__ */ React3__default.default.createElement("div", { className: `text-sm font-medium ${isWeekend2 ? "text-red-600" : "text-gray-700"}` }, getWeekdayName(date, "zh-CN", "short"))
3026
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: `text-sm font-medium ${isWeekend2 ? "text-red-600" : "text-gray-700"}` }, getWeekdayName(date, "zh-CN", "short"))
3094
3027
  );
3095
- }))), /* @__PURE__ */ React3__default.default.createElement("tbody", null, /* @__PURE__ */ React3__default.default.createElement("tr", null, weekDates.map((date, index) => {
3028
+ }))), /* @__PURE__ */ React2__default.default.createElement("tbody", null, /* @__PURE__ */ React2__default.default.createElement("tr", null, weekDates.map((date, index) => {
3096
3029
  const dayEvents = getEventsForDate(date);
3097
3030
  const isTodayDate = isToday(date);
3098
3031
  const isWeekend2 = date.getDay() === 0 || date.getDay() === 6;
3099
- return /* @__PURE__ */ React3__default.default.createElement(
3032
+ return /* @__PURE__ */ React2__default.default.createElement(
3100
3033
  "td",
3101
3034
  {
3102
3035
  key: index,
@@ -3108,7 +3041,7 @@ function CalendarPage({
3108
3041
  ${isTodayDate ? "bg-blue-50" : "bg-white"}
3109
3042
  `
3110
3043
  },
3111
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex flex-col h-full p-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex flex-col items-center mb-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: `flex items-center justify-center text-lg font-bold w-10 h-10 rounded-full ${isTodayDate ? "bg-blue-600 text-white shadow-md" : isWeekend2 ? "text-red-600 bg-red-50" : "text-gray-900 hover:bg-gray-100"} transition-colors` }, date.getDate()), (index === 0 || date.getDate() === 1) && /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500 mt-1 font-medium" }, date.getMonth() + 1, "\u6708")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-1 flex flex-col" }, dayEvents.length > 0 ? /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center mb-2" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: `inline-flex items-center justify-center w-6 h-6 text-xs font-bold rounded-full ${dayEvents.length > 5 ? "bg-red-100 text-red-700" : dayEvents.length > 2 ? "bg-yellow-100 text-yellow-700" : "bg-green-100 text-green-700"}` }, dayEvents.length)), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-1 overflow-hidden" }, dayEvents.slice(0, 4).map((event, eventIndex) => /* @__PURE__ */ React3__default.default.createElement(
3044
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex flex-col h-full p-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex flex-col items-center mb-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: `flex items-center justify-center text-lg font-bold w-10 h-10 rounded-full ${isTodayDate ? "bg-blue-600 text-white shadow-md" : isWeekend2 ? "text-red-600 bg-red-50" : "text-gray-900 hover:bg-gray-100"} transition-colors` }, date.getDate()), (index === 0 || date.getDate() === 1) && /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500 mt-1 font-medium" }, date.getMonth() + 1, "\u6708")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-1 flex flex-col" }, dayEvents.length > 0 ? /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center mb-2" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: `inline-flex items-center justify-center w-6 h-6 text-xs font-bold rounded-full ${dayEvents.length > 5 ? "bg-red-100 text-red-700" : dayEvents.length > 2 ? "bg-yellow-100 text-yellow-700" : "bg-green-100 text-green-700"}` }, dayEvents.length)), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-1 overflow-hidden" }, dayEvents.slice(0, 4).map((event, eventIndex) => /* @__PURE__ */ React2__default.default.createElement(
3112
3045
  "div",
3113
3046
  {
3114
3047
  key: eventIndex,
@@ -3122,21 +3055,21 @@ function CalendarPage({
3122
3055
  title: event.title
3123
3056
  },
3124
3057
  event.title
3125
- )), dayEvents.length > 4 && /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-500 text-center py-1 bg-gray-100 rounded" }, "+", dayEvents.length - 4, " \u66F4\u591A"))) : /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-1 flex items-center justify-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "w-4 h-4 mx-auto mb-1 opacity-30" }, /* @__PURE__ */ React3__default.default.createElement("svg", { fill: "currentColor", viewBox: "0 0 20 20", className: "text-gray-400" }, /* @__PURE__ */ React3__default.default.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z", clipRule: "evenodd" }))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-400" }, "\u65E0\u4E8B\u4EF6")))))
3058
+ )), dayEvents.length > 4 && /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-500 text-center py-1 bg-gray-100 rounded" }, "+", dayEvents.length - 4, " \u66F4\u591A"))) : /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-1 flex items-center justify-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "w-4 h-4 mx-auto mb-1 opacity-30" }, /* @__PURE__ */ React2__default.default.createElement("svg", { fill: "currentColor", viewBox: "0 0 20 20", className: "text-gray-400" }, /* @__PURE__ */ React2__default.default.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z", clipRule: "evenodd" }))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-400" }, "\u65E0\u4E8B\u4EF6")))))
3126
3059
  );
3127
3060
  })))));
3128
3061
  };
3129
3062
  const renderDayView = () => {
3130
3063
  const dayEvents = getEventsForDate(currentDate);
3131
3064
  const isTodayDate = isToday(currentDate);
3132
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden mb-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-gray-50 p-4 border-b border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm text-gray-600 mb-1" }, currentDate.toLocaleDateString("zh-CN", { weekday: "long" })), /* @__PURE__ */ React3__default.default.createElement("div", { className: `text-2xl font-bold ${isTodayDate ? "text-blue-600" : "text-gray-900"}` }, currentDate.getDate(), "\u65E5"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-sm text-gray-600" }, currentDate.toLocaleDateString("zh-CN", { year: "numeric", month: "long" })))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "p-4" }, /* @__PURE__ */ React3__default.default.createElement(
3065
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden mb-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-gray-50 p-4 border-b border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm text-gray-600 mb-1" }, currentDate.toLocaleDateString("zh-CN", { weekday: "long" })), /* @__PURE__ */ React2__default.default.createElement("div", { className: `text-2xl font-bold ${isTodayDate ? "text-blue-600" : "text-gray-900"}` }, currentDate.getDate(), "\u65E5"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-sm text-gray-600" }, currentDate.toLocaleDateString("zh-CN", { year: "numeric", month: "long" })))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "p-4" }, /* @__PURE__ */ React2__default.default.createElement(
3133
3066
  "button",
3134
3067
  {
3135
3068
  onClick: () => handleDateClick(currentDate),
3136
3069
  className: "w-full mb-4 p-3 border-2 border-dashed border-gray-300 rounded-lg text-gray-600 hover:border-blue-300 hover:text-blue-600 transition-colors"
3137
3070
  },
3138
3071
  "+ \u5728\u6B64\u65E5\u671F\u521B\u5EFA\u4E8B\u4EF6"
3139
- ), dayEvents.length > 0 ? /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-sm font-semibold text-gray-700 mb-3" }, "\u4ECA\u65E5\u4E8B\u4EF6 (", dayEvents.length, ")"), dayEvents.map((event, eventIndex) => /* @__PURE__ */ React3__default.default.createElement(
3072
+ ), dayEvents.length > 0 ? /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-sm font-semibold text-gray-700 mb-3" }, "\u4ECA\u65E5\u4E8B\u4EF6 (", dayEvents.length, ")"), dayEvents.map((event, eventIndex) => /* @__PURE__ */ React2__default.default.createElement(
3140
3073
  "div",
3141
3074
  {
3142
3075
  key: eventIndex,
@@ -3148,11 +3081,11 @@ function CalendarPage({
3148
3081
  ${getEventColorClass(event.color)}
3149
3082
  `
3150
3083
  },
3151
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "font-medium text-sm mb-1" }, event.title),
3152
- event.isRealEvent && event.id && /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-xs text-gray-600" }, "\u70B9\u51FB\u7F16\u8F91\u4E8B\u4EF6")
3153
- ))) : /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center py-8 text-gray-500" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-12 h-12 mx-auto mb-3 text-gray-300", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React3__default.default.createElement("p", null, "\u4ECA\u65E5\u6682\u65E0\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-xs mt-1" }, "\u70B9\u51FB\u4E0A\u65B9\u6309\u94AE\u521B\u5EFA\u4E8B\u4EF6"))));
3084
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "font-medium text-sm mb-1" }, event.title),
3085
+ event.isRealEvent && event.id && /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-xs text-gray-600" }, "\u70B9\u51FB\u7F16\u8F91\u4E8B\u4EF6")
3086
+ ))) : /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center py-8 text-gray-500" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-12 h-12 mx-auto mb-3 text-gray-300", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React2__default.default.createElement("p", null, "\u4ECA\u65E5\u6682\u65E0\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-xs mt-1" }, "\u70B9\u51FB\u4E0A\u65B9\u6309\u94AE\u521B\u5EFA\u4E8B\u4EF6"))));
3154
3087
  };
3155
- const handleCreateEnhancedEvent = React3.useCallback(async (eventData) => {
3088
+ const handleCreateEnhancedEvent = React2.useCallback(async (eventData) => {
3156
3089
  try {
3157
3090
  const createdEvents = await createEnhancedEvent(eventData);
3158
3091
  setIsEventModalOpen(false);
@@ -3168,42 +3101,42 @@ function CalendarPage({
3168
3101
  alert("\u521B\u5EFA\u4E8B\u4EF6\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
3169
3102
  }
3170
3103
  }, [createEnhancedEvent]);
3171
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "min-h-screen bg-gray-50" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "max-w-7xl mx-auto p-4 lg:p-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("h1", { className: "text-3xl font-bold text-gray-900 mb-2" }, "\u65E5\u5386\u7BA1\u7406"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600" }, "\u529F\u80FD\u5B8C\u6574\u7684\u65E5\u5386\u5E94\u7528\uFF0C\u652F\u6301\u4E8B\u4EF6\u7BA1\u7406\u3001\u63D0\u9192\u3001\u91CD\u590D\u4E8B\u4EF6\u7B49\u529F\u80FD")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-3" }, headerActions, !headerActions && !isAuthenticated && /* @__PURE__ */ React3__default.default.createElement(
3104
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "min-h-screen bg-gray-50" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "max-w-7xl mx-auto p-4 lg:p-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("h1", { className: "text-3xl font-bold text-gray-900 mb-2" }, "\u65E5\u5386\u7BA1\u7406"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600" }, "\u529F\u80FD\u5B8C\u6574\u7684\u65E5\u5386\u5E94\u7528\uFF0C\u652F\u6301\u4E8B\u4EF6\u7BA1\u7406\u3001\u63D0\u9192\u3001\u91CD\u590D\u4E8B\u4EF6\u7B49\u529F\u80FD")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-3" }, headerActions, !headerActions && !isAuthenticated && /* @__PURE__ */ React2__default.default.createElement(
3172
3105
  "button",
3173
3106
  {
3174
3107
  onClick: onShowLogin,
3175
3108
  className: "px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors"
3176
3109
  },
3177
3110
  "\u767B\u5F55"
3178
- ))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex space-x-1 bg-gray-100 p-1 rounded-lg w-fit" }, /* @__PURE__ */ React3__default.default.createElement(
3111
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex space-x-1 bg-gray-100 p-1 rounded-lg w-fit" }, /* @__PURE__ */ React2__default.default.createElement(
3179
3112
  "button",
3180
3113
  {
3181
3114
  onClick: () => setActiveTab("calendar"),
3182
3115
  className: `px-4 py-2 text-sm font-medium rounded-md transition-colors ${activeTab === "calendar" ? "bg-white text-gray-900 shadow-sm" : "text-gray-600 hover:text-gray-900"}`
3183
3116
  },
3184
3117
  "\u{1F4C5} \u65E5\u5386\u89C6\u56FE"
3185
- ), /* @__PURE__ */ React3__default.default.createElement(
3118
+ ), /* @__PURE__ */ React2__default.default.createElement(
3186
3119
  "button",
3187
3120
  {
3188
3121
  onClick: () => setActiveTab("events"),
3189
3122
  className: `px-4 py-2 text-sm font-medium rounded-md transition-colors ${activeTab === "events" ? "bg-white text-gray-900 shadow-sm" : "text-gray-600 hover:text-gray-900"}`
3190
3123
  },
3191
3124
  "\u{1F4CB} \u4E8B\u4EF6\u5217\u8868"
3192
- ), /* @__PURE__ */ React3__default.default.createElement(
3125
+ ), /* @__PURE__ */ React2__default.default.createElement(
3193
3126
  "button",
3194
3127
  {
3195
3128
  onClick: () => setActiveTab("settings"),
3196
3129
  className: `px-4 py-2 text-sm font-medium rounded-md transition-colors ${activeTab === "settings" ? "bg-white text-gray-900 shadow-sm" : "text-gray-600 hover:text-gray-900"}`
3197
3130
  },
3198
3131
  "\u2699\uFE0F \u8BBE\u7F6E"
3199
- ))), error && /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-red-50 border border-red-200 rounded-lg p-4 mb-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "h-5 w-5 text-red-400 mt-0.5", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React3__default.default.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z", clipRule: "evenodd" }))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "ml-3" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-sm font-medium text-red-800" }, "\u64CD\u4F5C\u5931\u8D25"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "mt-1 text-sm text-red-700" }, error), /* @__PURE__ */ React3__default.default.createElement(
3132
+ ))), error && /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-red-50 border border-red-200 rounded-lg p-4 mb-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "h-5 w-5 text-red-400 mt-0.5", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React2__default.default.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z", clipRule: "evenodd" }))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "ml-3" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-sm font-medium text-red-800" }, "\u64CD\u4F5C\u5931\u8D25"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "mt-1 text-sm text-red-700" }, error), /* @__PURE__ */ React2__default.default.createElement(
3200
3133
  "button",
3201
3134
  {
3202
3135
  onClick: clearError,
3203
3136
  className: "mt-2 text-sm text-red-600 hover:text-red-800 font-medium"
3204
3137
  },
3205
3138
  "\u5173\u95ED"
3206
- )))), activeTab === "calendar" && /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-blue-50 border border-blue-200 rounded-lg p-4 mb-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-start" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "h-5 w-5 text-blue-400 mt-0.5", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React3__default.default.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "ml-3" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-sm font-medium text-blue-800" }, "\u529F\u80FD\u8BF4\u660E"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "mt-1 text-sm text-blue-700" }, "\u70B9\u51FB\u65E5\u5386\u4E0A\u7684\u4EFB\u610F\u65E5\u671F\u53EF\u4EE5\u521B\u5EFA\u65B0\u4E8B\u4EF6\u3002\u5F53\u524D\u5DF2\u652F\u6301\u5B8C\u6574\u7684\u4E8B\u4EF6\u7BA1\u7406\u529F\u80FD\uFF0C\u5305\u62EC\u521B\u5EFA\u3001\u7F16\u8F91\u3001\u5220\u9664\u7B49\u64CD\u4F5C\u3002", !isAuthenticated && /* @__PURE__ */ React3__default.default.createElement("span", { className: "block mt-2 text-orange-700 font-medium" }, "\u{1F4A1} \u63D0\u793A\uFF1A\u8BF7\u5148\u767B\u5F55\u4EE5\u4F7F\u7528\u5B8C\u6574\u7684\u4E8B\u4EF6\u7BA1\u7406\u529F\u80FD"))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-4 mb-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React3__default.default.createElement("button", { onClick: goToPrevious, className: "p-2 hover:bg-gray-100 rounded-lg transition-colors" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))), /* @__PURE__ */ React3__default.default.createElement("h2", { className: "text-xl font-semibold text-gray-900 min-w-[160px] text-center" }, getViewTitle()), /* @__PURE__ */ React3__default.default.createElement("button", { onClick: goToNext, className: "p-2 hover:bg-gray-100 rounded-lg transition-colors" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React3__default.default.createElement("button", { onClick: goToToday, className: "px-4 py-2 text-sm font-medium text-blue-600 bg-blue-50 hover:bg-blue-100 rounded-lg transition-colors" }, "\u4ECA\u5929"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center bg-gray-100 rounded-lg p-1" }, ["month", "week", "day"].map((view) => /* @__PURE__ */ React3__default.default.createElement(
3139
+ )))), activeTab === "calendar" && /* @__PURE__ */ React2__default.default.createElement(React2__default.default.Fragment, null, /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-blue-50 border border-blue-200 rounded-lg p-4 mb-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-start" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "h-5 w-5 text-blue-400 mt-0.5", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React2__default.default.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "ml-3" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-sm font-medium text-blue-800" }, "\u529F\u80FD\u8BF4\u660E"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "mt-1 text-sm text-blue-700" }, "\u70B9\u51FB\u65E5\u5386\u4E0A\u7684\u4EFB\u610F\u65E5\u671F\u53EF\u4EE5\u521B\u5EFA\u65B0\u4E8B\u4EF6\u3002\u5F53\u524D\u5DF2\u652F\u6301\u5B8C\u6574\u7684\u4E8B\u4EF6\u7BA1\u7406\u529F\u80FD\uFF0C\u5305\u62EC\u521B\u5EFA\u3001\u7F16\u8F91\u3001\u5220\u9664\u7B49\u64CD\u4F5C\u3002", !isAuthenticated && /* @__PURE__ */ React2__default.default.createElement("span", { className: "block mt-2 text-orange-700 font-medium" }, "\u{1F4A1} \u63D0\u793A\uFF1A\u8BF7\u5148\u767B\u5F55\u4EE5\u4F7F\u7528\u5B8C\u6574\u7684\u4E8B\u4EF6\u7BA1\u7406\u529F\u80FD"))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-4 mb-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React2__default.default.createElement("button", { onClick: goToPrevious, className: "p-2 hover:bg-gray-100 rounded-lg transition-colors" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))), /* @__PURE__ */ React2__default.default.createElement("h2", { className: "text-xl font-semibold text-gray-900 min-w-[160px] text-center" }, getViewTitle()), /* @__PURE__ */ React2__default.default.createElement("button", { onClick: goToNext, className: "p-2 hover:bg-gray-100 rounded-lg transition-colors" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React2__default.default.createElement("button", { onClick: goToToday, className: "px-4 py-2 text-sm font-medium text-blue-600 bg-blue-50 hover:bg-blue-100 rounded-lg transition-colors" }, "\u4ECA\u5929"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center bg-gray-100 rounded-lg p-1" }, ["month", "week", "day"].map((view) => /* @__PURE__ */ React2__default.default.createElement(
3207
3140
  "button",
3208
3141
  {
3209
3142
  key: view,
@@ -3211,7 +3144,7 @@ function CalendarPage({
3211
3144
  className: `px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${viewType === CalendarViewType[view.toUpperCase()] ? "bg-white text-gray-900 shadow-sm" : "text-gray-600 hover:text-gray-900"}`
3212
3145
  },
3213
3146
  view === "month" ? "\u6708" : view === "week" ? "\u5468" : "\u65E5"
3214
- )))))), renderCalendarView(), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center mb-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-blue-100 p-3 rounded-lg" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-6 h-6 text-blue-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }))), /* @__PURE__ */ React3__default.default.createElement("h3", { className: "ml-3 text-lg font-semibold text-gray-900" }, "\u4E8B\u4EF6\u7BA1\u7406")), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600 text-sm mb-4" }, "\u521B\u5EFA\u3001\u7F16\u8F91\u3001\u5220\u9664\u65E5\u5386\u4E8B\u4EF6\uFF0C\u652F\u6301\u62D6\u62FD\u8C03\u6574\u65F6\u95F4\uFF0C\u591A\u79CD\u989C\u8272\u6807\u8BC6\u3002")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center mb-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-green-100 p-3 rounded-lg" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-6 h-6 text-green-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" }))), /* @__PURE__ */ React3__default.default.createElement("h3", { className: "ml-3 text-lg font-semibold text-gray-900" }, "\u91CD\u590D\u4E8B\u4EF6")), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600 text-sm mb-4" }, "\u652F\u6301\u65E5\u3001\u5468\u3001\u6708\u3001\u5E74\u91CD\u590D\u6A21\u5F0F\uFF0C\u7075\u6D3B\u7684\u91CD\u590D\u89C4\u5219\u914D\u7F6E\u3002")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center mb-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-purple-100 p-3 rounded-lg" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-6 h-6 text-purple-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 17h5l-5 5v-5zM4 7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v6a2 2 0 01-2 2H6a2 2 0 01-2-2V7z" }))), /* @__PURE__ */ React3__default.default.createElement("h3", { className: "ml-3 text-lg font-semibold text-gray-900" }, "\u667A\u80FD\u63D0\u9192")), /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600 text-sm mb-4" }, "\u90AE\u4EF6\u3001\u901A\u77E5\u3001\u77ED\u4FE1\u591A\u79CD\u63D0\u9192\u65B9\u5F0F\uFF0C\u81EA\u5B9A\u4E49\u63D0\u9192\u65F6\u95F4\u3002"))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 mb-4" }, "\u6280\u672F\u7279\u6027"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center text-sm text-gray-600" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4 text-green-500 mr-3 flex-shrink-0", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React3__default.default.createElement("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" })), "\u5B8C\u6574\u7684TypeScript\u7C7B\u578B\u5B9A\u4E49"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center text-sm text-gray-600" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-4 h-4 text-green-500 mr-3 flex-shrink-0", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React3__default.default.createElement("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" })), "\u54CD\u5E94\u5F0F\u8BBE\u8BA1 (TailwindCSS)")))), activeTab === "events" && /* @__PURE__ */ React3__default.default.createElement(
3147
+ )))))), renderCalendarView(), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center mb-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-blue-100 p-3 rounded-lg" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-6 h-6 text-blue-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }))), /* @__PURE__ */ React2__default.default.createElement("h3", { className: "ml-3 text-lg font-semibold text-gray-900" }, "\u4E8B\u4EF6\u7BA1\u7406")), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600 text-sm mb-4" }, "\u521B\u5EFA\u3001\u7F16\u8F91\u3001\u5220\u9664\u65E5\u5386\u4E8B\u4EF6\uFF0C\u652F\u6301\u62D6\u62FD\u8C03\u6574\u65F6\u95F4\uFF0C\u591A\u79CD\u989C\u8272\u6807\u8BC6\u3002")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center mb-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-green-100 p-3 rounded-lg" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-6 h-6 text-green-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" }))), /* @__PURE__ */ React2__default.default.createElement("h3", { className: "ml-3 text-lg font-semibold text-gray-900" }, "\u91CD\u590D\u4E8B\u4EF6")), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600 text-sm mb-4" }, "\u652F\u6301\u65E5\u3001\u5468\u3001\u6708\u3001\u5E74\u91CD\u590D\u6A21\u5F0F\uFF0C\u7075\u6D3B\u7684\u91CD\u590D\u89C4\u5219\u914D\u7F6E\u3002")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center mb-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-purple-100 p-3 rounded-lg" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-6 h-6 text-purple-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 17h5l-5 5v-5zM4 7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v6a2 2 0 01-2 2H6a2 2 0 01-2-2V7z" }))), /* @__PURE__ */ React2__default.default.createElement("h3", { className: "ml-3 text-lg font-semibold text-gray-900" }, "\u667A\u80FD\u63D0\u9192")), /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600 text-sm mb-4" }, "\u90AE\u4EF6\u3001\u901A\u77E5\u3001\u77ED\u4FE1\u591A\u79CD\u63D0\u9192\u65B9\u5F0F\uFF0C\u81EA\u5B9A\u4E49\u63D0\u9192\u65F6\u95F4\u3002"))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-6" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 mb-4" }, "\u6280\u672F\u7279\u6027"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center text-sm text-gray-600" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4 text-green-500 mr-3 flex-shrink-0", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React2__default.default.createElement("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" })), "\u5B8C\u6574\u7684TypeScript\u7C7B\u578B\u5B9A\u4E49"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center text-sm text-gray-600" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-4 h-4 text-green-500 mr-3 flex-shrink-0", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React2__default.default.createElement("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" })), "\u54CD\u5E94\u5F0F\u8BBE\u8BA1 (TailwindCSS)")))), activeTab === "events" && /* @__PURE__ */ React2__default.default.createElement(
3215
3148
  EventList,
3216
3149
  {
3217
3150
  events,
@@ -3224,12 +3157,12 @@ function CalendarPage({
3224
3157
  enableBatchActions: true,
3225
3158
  loading
3226
3159
  }
3227
- ), activeTab === "settings" && /* @__PURE__ */ React3__default.default.createElement(
3160
+ ), activeTab === "settings" && /* @__PURE__ */ React2__default.default.createElement(
3228
3161
  CalendarSettings,
3229
3162
  {
3230
3163
  onSettingsChange: handleSettingsChange
3231
3164
  }
3232
- )), /* @__PURE__ */ React3__default.default.createElement(
3165
+ )), /* @__PURE__ */ React2__default.default.createElement(
3233
3166
  ImprovedEventModal_default,
3234
3167
  {
3235
3168
  isOpen: isEventModalOpen,
@@ -3249,7 +3182,7 @@ var EventModal = ({
3249
3182
  event,
3250
3183
  initialDate
3251
3184
  }) => {
3252
- const [formData, setFormData] = React3.useState({
3185
+ const [formData, setFormData] = React2.useState({
3253
3186
  title: "",
3254
3187
  description: "",
3255
3188
  startTime: "",
@@ -3272,11 +3205,11 @@ var EventModal = ({
3272
3205
  reminderType: "notification",
3273
3206
  reminderMinutes: void 0
3274
3207
  });
3275
- const [isLoading, setIsLoading] = React3.useState(false);
3276
- const [errors, setErrors] = React3.useState({});
3277
- const [showDeleteConfirm, setShowDeleteConfirm] = React3.useState(false);
3208
+ const [isLoading, setIsLoading] = React2.useState(false);
3209
+ const [errors, setErrors] = React2.useState({});
3210
+ const [showDeleteConfirm, setShowDeleteConfirm] = React2.useState(false);
3278
3211
  const isEditMode = !!event;
3279
- React3.useEffect(() => {
3212
+ React2.useEffect(() => {
3280
3213
  if (event) {
3281
3214
  const startDate = new Date(event.startTime);
3282
3215
  const endDate = new Date(event.endTime);
@@ -3420,8 +3353,8 @@ var EventModal = ({
3420
3353
  resetForm();
3421
3354
  onClose();
3422
3355
  };
3423
- return /* @__PURE__ */ React3__default.default.createElement(
3424
- Modal,
3356
+ return /* @__PURE__ */ React2__default.default.createElement(
3357
+ chunkZDRBMSTS_js.Modal,
3425
3358
  {
3426
3359
  isOpen,
3427
3360
  onClose: handleClose,
@@ -3429,7 +3362,7 @@ var EventModal = ({
3429
3362
  width: 600,
3430
3363
  maskClosable: false
3431
3364
  },
3432
- /* @__PURE__ */ React3__default.default.createElement("form", { onSubmit: handleSubmit, className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "title", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4E8B\u4EF6\u6807\u9898 *"), /* @__PURE__ */ React3__default.default.createElement(
3365
+ /* @__PURE__ */ React2__default.default.createElement("form", { onSubmit: handleSubmit, className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "title", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4E8B\u4EF6\u6807\u9898 *"), /* @__PURE__ */ React2__default.default.createElement(
3433
3366
  "input",
3434
3367
  {
3435
3368
  type: "text",
@@ -3439,7 +3372,7 @@ var EventModal = ({
3439
3372
  className: `w-full px-3 py-2 border rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none ${errors.title ? "border-red-500" : "border-gray-300"}`,
3440
3373
  placeholder: "\u8F93\u5165\u4E8B\u4EF6\u6807\u9898"
3441
3374
  }
3442
- ), errors.title && /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-red-500 text-sm mt-1" }, errors.title)), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3375
+ ), errors.title && /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-red-500 text-sm mt-1" }, errors.title)), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3443
3376
  "input",
3444
3377
  {
3445
3378
  type: "checkbox",
@@ -3448,7 +3381,7 @@ var EventModal = ({
3448
3381
  onChange: (e) => handleInputChange("isAllDay", e.target.checked),
3449
3382
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
3450
3383
  }
3451
- ), /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "isAllDay", className: "ml-2 text-sm text-gray-700" }, "\u5168\u5929\u4E8B\u4EF6")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "startTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u5F00\u59CB\u65F6\u95F4 *"), /* @__PURE__ */ React3__default.default.createElement(
3384
+ ), /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "isAllDay", className: "ml-2 text-sm text-gray-700" }, "\u5168\u5929\u4E8B\u4EF6")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "startTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u5F00\u59CB\u65F6\u95F4 *"), /* @__PURE__ */ React2__default.default.createElement(
3452
3385
  "input",
3453
3386
  {
3454
3387
  type: formData.isAllDay ? "date" : "datetime-local",
@@ -3460,7 +3393,7 @@ var EventModal = ({
3460
3393
  },
3461
3394
  className: `w-full px-3 py-2 border rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none ${errors.startTime ? "border-red-500" : "border-gray-300"}`
3462
3395
  }
3463
- ), errors.startTime && /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-red-500 text-sm mt-1" }, errors.startTime)), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "endTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u7ED3\u675F\u65F6\u95F4 *"), /* @__PURE__ */ React3__default.default.createElement(
3396
+ ), errors.startTime && /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-red-500 text-sm mt-1" }, errors.startTime)), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "endTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u7ED3\u675F\u65F6\u95F4 *"), /* @__PURE__ */ React2__default.default.createElement(
3464
3397
  "input",
3465
3398
  {
3466
3399
  type: formData.isAllDay ? "date" : "datetime-local",
@@ -3472,7 +3405,7 @@ var EventModal = ({
3472
3405
  },
3473
3406
  className: `w-full px-3 py-2 border rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none ${errors.endTime ? "border-red-500" : "border-gray-300"}`
3474
3407
  }
3475
- ), errors.endTime && /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-red-500 text-sm mt-1" }, errors.endTime))), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "location", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4F4D\u7F6E"), /* @__PURE__ */ React3__default.default.createElement(
3408
+ ), errors.endTime && /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-red-500 text-sm mt-1" }, errors.endTime))), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "location", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4F4D\u7F6E"), /* @__PURE__ */ React2__default.default.createElement(
3476
3409
  "input",
3477
3410
  {
3478
3411
  type: "text",
@@ -3482,7 +3415,7 @@ var EventModal = ({
3482
3415
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none",
3483
3416
  placeholder: "\u8F93\u5165\u4E8B\u4EF6\u4F4D\u7F6E"
3484
3417
  }
3485
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "description", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u63CF\u8FF0"), /* @__PURE__ */ React3__default.default.createElement(
3418
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "description", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u63CF\u8FF0"), /* @__PURE__ */ React2__default.default.createElement(
3486
3419
  "textarea",
3487
3420
  {
3488
3421
  id: "description",
@@ -3492,7 +3425,7 @@ var EventModal = ({
3492
3425
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none resize-none",
3493
3426
  placeholder: "\u8F93\u5165\u4E8B\u4EF6\u63CF\u8FF0"
3494
3427
  }
3495
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "priority", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4F18\u5148\u7EA7"), /* @__PURE__ */ React3__default.default.createElement(
3428
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "priority", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4F18\u5148\u7EA7"), /* @__PURE__ */ React2__default.default.createElement(
3496
3429
  "select",
3497
3430
  {
3498
3431
  id: "priority",
@@ -3500,11 +3433,11 @@ var EventModal = ({
3500
3433
  onChange: (e) => handleInputChange("priority", e.target.value),
3501
3434
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"
3502
3435
  },
3503
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "low" /* LOW */ }, "\u4F4E"),
3504
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "normal" /* NORMAL */ }, "\u666E\u901A"),
3505
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "high" /* HIGH */ }, "\u9AD8"),
3506
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "urgent" /* URGENT */ }, "\u7D27\u6025")
3507
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "color", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u989C\u8272\u6807\u7B7E"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement(
3436
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "low" /* LOW */ }, "\u4F4E"),
3437
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "normal" /* NORMAL */ }, "\u666E\u901A"),
3438
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "high" /* HIGH */ }, "\u9AD8"),
3439
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "urgent" /* URGENT */ }, "\u7D27\u6025")
3440
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "color", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u989C\u8272\u6807\u7B7E"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement(
3508
3441
  "input",
3509
3442
  {
3510
3443
  type: "color",
@@ -3513,7 +3446,7 @@ var EventModal = ({
3513
3446
  onChange: (e) => handleInputChange("color", e.target.value),
3514
3447
  className: "w-12 h-10 border border-gray-300 rounded cursor-pointer"
3515
3448
  }
3516
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm text-gray-600" }, formData.color))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "border-t border-gray-200 pt-4" }, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "text-sm font-medium text-gray-700 mb-3" }, "\u{1F504} \u91CD\u590D\u8BBE\u7F6E"), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "recurrenceType", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u91CD\u590D\u9891\u7387"), /* @__PURE__ */ React3__default.default.createElement(
3449
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm text-gray-600" }, formData.color))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "border-t border-gray-200 pt-4" }, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "text-sm font-medium text-gray-700 mb-3" }, "\u{1F504} \u91CD\u590D\u8BBE\u7F6E"), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "recurrenceType", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u91CD\u590D\u9891\u7387"), /* @__PURE__ */ React2__default.default.createElement(
3517
3450
  "select",
3518
3451
  {
3519
3452
  id: "recurrenceType",
@@ -3524,12 +3457,12 @@ var EventModal = ({
3524
3457
  },
3525
3458
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"
3526
3459
  },
3527
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "none" }, "\u4E0D\u91CD\u590D"),
3528
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "daily" }, "\u6BCF\u5929"),
3529
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "weekly" }, "\u6BCF\u5468"),
3530
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "monthly" }, "\u6BCF\u6708"),
3531
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "yearly" }, "\u6BCF\u5E74")
3532
- )), formData.recurrenceType && /* @__PURE__ */ React3__default.default.createElement("div", { className: "mt-3" }, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "recurrenceInterval", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u91CD\u590D\u95F4\u9694"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm text-gray-600" }, "\u6BCF"), /* @__PURE__ */ React3__default.default.createElement(
3460
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "none" }, "\u4E0D\u91CD\u590D"),
3461
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "daily" }, "\u6BCF\u5929"),
3462
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "weekly" }, "\u6BCF\u5468"),
3463
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "monthly" }, "\u6BCF\u6708"),
3464
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "yearly" }, "\u6BCF\u5E74")
3465
+ )), formData.recurrenceType && /* @__PURE__ */ React2__default.default.createElement("div", { className: "mt-3" }, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "recurrenceInterval", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u91CD\u590D\u95F4\u9694"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm text-gray-600" }, "\u6BCF"), /* @__PURE__ */ React2__default.default.createElement(
3533
3466
  "input",
3534
3467
  {
3535
3468
  type: "number",
@@ -3540,7 +3473,7 @@ var EventModal = ({
3540
3473
  onChange: (e) => handleInputChange("recurrenceInterval", parseInt(e.target.value) || 1),
3541
3474
  className: "w-20 px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none text-center"
3542
3475
  }
3543
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm text-gray-600" }, formData.recurrenceType === "daily" && "\u5929", formData.recurrenceType === "weekly" && "\u5468", formData.recurrenceType === "monthly" && "\u6708", formData.recurrenceType === "yearly" && "\u5E74"))), formData.recurrenceType && /* @__PURE__ */ React3__default.default.createElement("div", { className: "mt-3" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u91CD\u590D\u7ED3\u675F"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3476
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm text-gray-600" }, formData.recurrenceType === "daily" && "\u5929", formData.recurrenceType === "weekly" && "\u5468", formData.recurrenceType === "monthly" && "\u6708", formData.recurrenceType === "yearly" && "\u5E74"))), formData.recurrenceType && /* @__PURE__ */ React2__default.default.createElement("div", { className: "mt-3" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u91CD\u590D\u7ED3\u675F"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3544
3477
  "input",
3545
3478
  {
3546
3479
  type: "radio",
@@ -3552,7 +3485,7 @@ var EventModal = ({
3552
3485
  },
3553
3486
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300"
3554
3487
  }
3555
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u6C38\u4E0D\u7ED3\u675F")), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3488
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u6C38\u4E0D\u7ED3\u675F")), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3556
3489
  "input",
3557
3490
  {
3558
3491
  type: "radio",
@@ -3566,7 +3499,7 @@ var EventModal = ({
3566
3499
  },
3567
3500
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300"
3568
3501
  }
3569
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u7ED3\u675F\u4E8E:"), /* @__PURE__ */ React3__default.default.createElement(
3502
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u7ED3\u675F\u4E8E:"), /* @__PURE__ */ React2__default.default.createElement(
3570
3503
  "input",
3571
3504
  {
3572
3505
  type: "date",
@@ -3578,7 +3511,7 @@ var EventModal = ({
3578
3511
  className: "ml-2 px-2 py-1 border border-gray-300 rounded text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none",
3579
3512
  disabled: !formData.recurrenceEndDate
3580
3513
  }
3581
- )), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3514
+ )), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3582
3515
  "input",
3583
3516
  {
3584
3517
  type: "radio",
@@ -3590,7 +3523,7 @@ var EventModal = ({
3590
3523
  },
3591
3524
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300"
3592
3525
  }
3593
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u91CD\u590D"), /* @__PURE__ */ React3__default.default.createElement(
3526
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u91CD\u590D"), /* @__PURE__ */ React2__default.default.createElement(
3594
3527
  "input",
3595
3528
  {
3596
3529
  type: "number",
@@ -3607,7 +3540,7 @@ var EventModal = ({
3607
3540
  className: "ml-2 w-16 px-2 py-1 border border-gray-300 rounded text-sm text-center focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none",
3608
3541
  disabled: !formData.recurrenceCount || formData.recurrenceCount === 0
3609
3542
  }
3610
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u6B21"))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "border-t border-gray-200 pt-4" }, /* @__PURE__ */ React3__default.default.createElement("h4", { className: "text-sm font-medium text-gray-700 mb-3" }, "\u{1F514} \u63D0\u9192\u8BBE\u7F6E"), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u63D0\u9192\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3543
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u6B21"))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "border-t border-gray-200 pt-4" }, /* @__PURE__ */ React2__default.default.createElement("h4", { className: "text-sm font-medium text-gray-700 mb-3" }, "\u{1F514} \u63D0\u9192\u8BBE\u7F6E"), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u63D0\u9192\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3611
3544
  "input",
3612
3545
  {
3613
3546
  type: "checkbox",
@@ -3621,7 +3554,7 @@ var EventModal = ({
3621
3554
  },
3622
3555
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
3623
3556
  }
3624
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u4E8B\u4EF6\u5F00\u59CB\u65F6")), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3557
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u4E8B\u4EF6\u5F00\u59CB\u65F6")), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3625
3558
  "input",
3626
3559
  {
3627
3560
  type: "checkbox",
@@ -3635,7 +3568,7 @@ var EventModal = ({
3635
3568
  },
3636
3569
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
3637
3570
  }
3638
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D15\u5206\u949F")), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3571
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D15\u5206\u949F")), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3639
3572
  "input",
3640
3573
  {
3641
3574
  type: "checkbox",
@@ -3649,7 +3582,7 @@ var EventModal = ({
3649
3582
  },
3650
3583
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
3651
3584
  }
3652
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D30\u5206\u949F")), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3585
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D30\u5206\u949F")), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3653
3586
  "input",
3654
3587
  {
3655
3588
  type: "checkbox",
@@ -3663,7 +3596,7 @@ var EventModal = ({
3663
3596
  },
3664
3597
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
3665
3598
  }
3666
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D1\u5C0F\u65F6")), /* @__PURE__ */ React3__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3599
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D1\u5C0F\u65F6")), /* @__PURE__ */ React2__default.default.createElement("label", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3667
3600
  "input",
3668
3601
  {
3669
3602
  type: "checkbox",
@@ -3677,7 +3610,7 @@ var EventModal = ({
3677
3610
  },
3678
3611
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
3679
3612
  }
3680
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D1\u5929"))))), errors.submit && /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-red-50 border border-red-200 rounded-lg p-3" }, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-red-600 text-sm" }, errors.submit)), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex justify-between pt-4 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("div", null, isEditMode && onDelete && /* @__PURE__ */ React3__default.default.createElement(
3613
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "ml-2 text-sm text-gray-700" }, "\u63D0\u524D1\u5929"))))), errors.submit && /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-red-50 border border-red-200 rounded-lg p-3" }, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-red-600 text-sm" }, errors.submit)), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex justify-between pt-4 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("div", null, isEditMode && onDelete && /* @__PURE__ */ React2__default.default.createElement(
3681
3614
  "button",
3682
3615
  {
3683
3616
  type: "button",
@@ -3686,7 +3619,7 @@ var EventModal = ({
3686
3619
  disabled: isLoading
3687
3620
  },
3688
3621
  "\u5220\u9664\u4E8B\u4EF6"
3689
- )), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex space-x-3" }, /* @__PURE__ */ React3__default.default.createElement(
3622
+ )), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex space-x-3" }, /* @__PURE__ */ React2__default.default.createElement(
3690
3623
  "button",
3691
3624
  {
3692
3625
  type: "button",
@@ -3695,7 +3628,7 @@ var EventModal = ({
3695
3628
  disabled: isLoading
3696
3629
  },
3697
3630
  "\u53D6\u6D88"
3698
- ), /* @__PURE__ */ React3__default.default.createElement(
3631
+ ), /* @__PURE__ */ React2__default.default.createElement(
3699
3632
  "button",
3700
3633
  {
3701
3634
  type: "submit",
@@ -3704,8 +3637,8 @@ var EventModal = ({
3704
3637
  },
3705
3638
  isLoading ? "\u4FDD\u5B58\u4E2D..." : isEditMode ? "\u66F4\u65B0\u4E8B\u4EF6" : "\u521B\u5EFA\u4E8B\u4EF6"
3706
3639
  )))),
3707
- /* @__PURE__ */ React3__default.default.createElement(
3708
- ConfirmModal,
3640
+ /* @__PURE__ */ React2__default.default.createElement(
3641
+ chunkZDRBMSTS_js.ConfirmModal,
3709
3642
  {
3710
3643
  isOpen: showDeleteConfirm,
3711
3644
  onClose: () => setShowDeleteConfirm(false),
@@ -3728,13 +3661,13 @@ var EventDetailPage = ({
3728
3661
  onEdit,
3729
3662
  onDelete
3730
3663
  }) => {
3731
- const [event, setEvent] = React3.useState(null);
3732
- const [isLoading, setIsLoading] = React3.useState(true);
3733
- const [isEditModalOpen, setIsEditModalOpen] = React3.useState(false);
3734
- const [showDeleteConfirm, setShowDeleteConfirm] = React3.useState(false);
3735
- const [isDeleting, setIsDeleting] = React3.useState(false);
3664
+ const [event, setEvent] = React2.useState(null);
3665
+ const [isLoading, setIsLoading] = React2.useState(true);
3666
+ const [isEditModalOpen, setIsEditModalOpen] = React2.useState(false);
3667
+ const [showDeleteConfirm, setShowDeleteConfirm] = React2.useState(false);
3668
+ const [isDeleting, setIsDeleting] = React2.useState(false);
3736
3669
  const { events, updateEvent, deleteEvent } = useEvents2();
3737
- React3.useEffect(() => {
3670
+ React2.useEffect(() => {
3738
3671
  const foundEvent = events.find((e) => e.id === eventId);
3739
3672
  if (foundEvent) {
3740
3673
  setEvent(foundEvent);
@@ -3797,10 +3730,10 @@ var EventDetailPage = ({
3797
3730
  }
3798
3731
  };
3799
3732
  if (isLoading) {
3800
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "min-h-screen bg-gray-50 flex items-center justify-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto" }), /* @__PURE__ */ React3__default.default.createElement("p", { className: "mt-4 text-gray-600" }, "\u52A0\u8F7D\u4E8B\u4EF6\u8BE6\u60C5...")));
3733
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "min-h-screen bg-gray-50 flex items-center justify-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto" }), /* @__PURE__ */ React2__default.default.createElement("p", { className: "mt-4 text-gray-600" }, "\u52A0\u8F7D\u4E8B\u4EF6\u8BE6\u60C5...")));
3801
3734
  }
3802
3735
  if (!event) {
3803
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "min-h-screen bg-gray-50 flex items-center justify-center" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-600" }, "\u4E8B\u4EF6\u4E0D\u5B58\u5728"), onBack && /* @__PURE__ */ React3__default.default.createElement(
3736
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "min-h-screen bg-gray-50 flex items-center justify-center" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-600" }, "\u4E8B\u4EF6\u4E0D\u5B58\u5728"), onBack && /* @__PURE__ */ React2__default.default.createElement(
3804
3737
  "button",
3805
3738
  {
3806
3739
  onClick: onBack,
@@ -3809,40 +3742,40 @@ var EventDetailPage = ({
3809
3742
  "\u8FD4\u56DE"
3810
3743
  )));
3811
3744
  }
3812
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "min-h-screen bg-gray-50" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "max-w-4xl mx-auto px-4 py-8" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "mb-8" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-4" }, onBack && /* @__PURE__ */ React3__default.default.createElement(
3745
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "min-h-screen bg-gray-50" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "max-w-4xl mx-auto px-4 py-8" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "mb-8" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-4" }, onBack && /* @__PURE__ */ React2__default.default.createElement(
3813
3746
  "button",
3814
3747
  {
3815
3748
  onClick: onBack,
3816
3749
  className: "p-2 hover:bg-gray-100 rounded-md"
3817
3750
  },
3818
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))
3819
- ), /* @__PURE__ */ React3__default.default.createElement("h1", { className: "text-3xl font-bold text-gray-900" }, "\u4E8B\u4EF6\u8BE6\u60C5")), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex space-x-3" }, /* @__PURE__ */ React3__default.default.createElement(
3751
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))
3752
+ ), /* @__PURE__ */ React2__default.default.createElement("h1", { className: "text-3xl font-bold text-gray-900" }, "\u4E8B\u4EF6\u8BE6\u60C5")), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex space-x-3" }, /* @__PURE__ */ React2__default.default.createElement(
3820
3753
  "button",
3821
3754
  {
3822
3755
  onClick: () => setIsEditModalOpen(true),
3823
3756
  className: "px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700"
3824
3757
  },
3825
3758
  "\u7F16\u8F91"
3826
- ), /* @__PURE__ */ React3__default.default.createElement(
3759
+ ), /* @__PURE__ */ React2__default.default.createElement(
3827
3760
  "button",
3828
3761
  {
3829
3762
  onClick: () => setShowDeleteConfirm(true),
3830
3763
  className: "px-4 py-2 bg-red-600 text-white rounded-md hover:bg-red-700"
3831
3764
  },
3832
3765
  "\u5220\u9664"
3833
- )))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-md overflow-hidden" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "px-6 py-4 border-b border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React3__default.default.createElement("h2", { className: "text-2xl font-semibold text-gray-900" }, event.title), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement(
3766
+ )))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-md overflow-hidden" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "px-6 py-4 border-b border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React2__default.default.createElement("h2", { className: "text-2xl font-semibold text-gray-900" }, event.title), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement(
3834
3767
  "span",
3835
3768
  {
3836
3769
  className: `px-2 py-1 text-xs font-medium rounded-full ${getPriorityColor(event.priority || "normal")}`
3837
3770
  },
3838
3771
  getPriorityText(event.priority || "normal")
3839
- ), /* @__PURE__ */ React3__default.default.createElement(
3772
+ ), /* @__PURE__ */ React2__default.default.createElement(
3840
3773
  "div",
3841
3774
  {
3842
3775
  className: "w-4 h-4 rounded-full",
3843
3776
  style: { backgroundColor: event.color }
3844
3777
  }
3845
- )))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "px-6 py-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u65F6\u95F4\u4FE1\u606F"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.startTime)), " ", formatTime(new Date(event.startTime))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.endTime)), " ", formatTime(new Date(event.endTime))))), event.allDay && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z" })), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u5168\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "font-medium text-blue-600" }, "\u662F"))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u57FA\u672C\u4FE1\u606F"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-3" }, event.location && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" }), /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 11a3 3 0 11-6 0 3 3 0 016 0z" })), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u5730\u70B9"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "font-medium" }, event.location))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 4V2a1 1 0 011-1h8a1 1 0 011 1v2M7 4a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2M7 4h10M7 8h10M7 12h10" })), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u521B\u5EFA\u65F6\u95F4"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.createdAt)), " ", formatTime(new Date(event.createdAt))))), event.updatedAt && event.updatedAt !== event.createdAt && /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" })), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u6700\u540E\u4FEE\u6539"), /* @__PURE__ */ React3__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.updatedAt)), " ", formatTime(new Date(event.updatedAt)))))))), event.description && /* @__PURE__ */ React3__default.default.createElement("div", { className: "mt-6 pt-6 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900 mb-3" }, "\u63CF\u8FF0"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "prose max-w-none" }, /* @__PURE__ */ React3__default.default.createElement("p", { className: "text-gray-700 whitespace-pre-wrap" }, event.description)))))), /* @__PURE__ */ React3__default.default.createElement(
3778
+ )))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "px-6 py-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u65F6\u95F4\u4FE1\u606F"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u5F00\u59CB\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.startTime)), " ", formatTime(new Date(event.startTime))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u7ED3\u675F\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.endTime)), " ", formatTime(new Date(event.endTime))))), event.allDay && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z" })), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u5168\u5929\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "font-medium text-blue-600" }, "\u662F"))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u57FA\u672C\u4FE1\u606F"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-3" }, event.location && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" }), /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 11a3 3 0 11-6 0 3 3 0 016 0z" })), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u5730\u70B9"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "font-medium" }, event.location))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 4V2a1 1 0 011-1h8a1 1 0 011 1v2M7 4a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2M7 4h10M7 8h10M7 12h10" })), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u521B\u5EFA\u65F6\u95F4"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.createdAt)), " ", formatTime(new Date(event.createdAt))))), event.updatedAt && event.updatedAt !== event.createdAt && /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" })), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-sm text-gray-600" }, "\u6700\u540E\u4FEE\u6539"), /* @__PURE__ */ React2__default.default.createElement("p", { className: "font-medium" }, formatDate(new Date(event.updatedAt)), " ", formatTime(new Date(event.updatedAt)))))))), event.description && /* @__PURE__ */ React2__default.default.createElement("div", { className: "mt-6 pt-6 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900 mb-3" }, "\u63CF\u8FF0"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "prose max-w-none" }, /* @__PURE__ */ React2__default.default.createElement("p", { className: "text-gray-700 whitespace-pre-wrap" }, event.description)))))), /* @__PURE__ */ React2__default.default.createElement(
3846
3779
  EventModal_default,
3847
3780
  {
3848
3781
  isOpen: isEditModalOpen,
@@ -3850,8 +3783,8 @@ var EventDetailPage = ({
3850
3783
  onSave: handleEditSave,
3851
3784
  event
3852
3785
  }
3853
- ), /* @__PURE__ */ React3__default.default.createElement(
3854
- ConfirmModal,
3786
+ ), /* @__PURE__ */ React2__default.default.createElement(
3787
+ chunkZDRBMSTS_js.ConfirmModal,
3855
3788
  {
3856
3789
  isOpen: showDeleteConfirm,
3857
3790
  onClose: () => setShowDeleteConfirm(false),
@@ -3872,7 +3805,7 @@ function EventForm({
3872
3805
  onCancel,
3873
3806
  loading = false
3874
3807
  }) {
3875
- const [formData, setFormData] = React3.useState({
3808
+ const [formData, setFormData] = React2.useState({
3876
3809
  title: "",
3877
3810
  description: "",
3878
3811
  startTime: /* @__PURE__ */ new Date(),
@@ -3885,8 +3818,8 @@ function EventForm({
3885
3818
  recurrence: void 0,
3886
3819
  reminders: []
3887
3820
  });
3888
- const [errors, setErrors] = React3.useState({});
3889
- React3.useEffect(() => {
3821
+ const [errors, setErrors] = React2.useState({});
3822
+ React2.useEffect(() => {
3890
3823
  if (initialData) {
3891
3824
  setFormData((prev) => ({
3892
3825
  ...prev,
@@ -3947,14 +3880,14 @@ function EventForm({
3947
3880
  { value: "#6366F1" /* INDIGO */, label: "\u975B\u84DD", class: "bg-indigo-500" },
3948
3881
  { value: "#6B7280" /* GRAY */, label: "\u7070\u8272", class: "bg-gray-500" }
3949
3882
  ];
3950
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: "bg-white rounded-lg shadow-lg p-6 max-w-2xl mx-auto" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-between mb-6" }, /* @__PURE__ */ React3__default.default.createElement("h2", { className: "text-xl font-semibold text-gray-900" }, isEdit ? "\u7F16\u8F91\u4E8B\u4EF6" : "\u521B\u5EFA\u4E8B\u4EF6"), /* @__PURE__ */ React3__default.default.createElement(
3883
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: "bg-white rounded-lg shadow-lg p-6 max-w-2xl mx-auto" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-between mb-6" }, /* @__PURE__ */ React2__default.default.createElement("h2", { className: "text-xl font-semibold text-gray-900" }, isEdit ? "\u7F16\u8F91\u4E8B\u4EF6" : "\u521B\u5EFA\u4E8B\u4EF6"), /* @__PURE__ */ React2__default.default.createElement(
3951
3884
  "button",
3952
3885
  {
3953
3886
  onClick: onCancel,
3954
3887
  className: "text-gray-400 hover:text-gray-600 transition-colors"
3955
3888
  },
3956
- /* @__PURE__ */ React3__default.default.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
3957
- )), /* @__PURE__ */ React3__default.default.createElement("form", { onSubmit: handleSubmit, className: "space-y-6" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u57FA\u672C\u4FE1\u606F"), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "title", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4E8B\u4EF6\u6807\u9898 *"), /* @__PURE__ */ React3__default.default.createElement(
3889
+ /* @__PURE__ */ React2__default.default.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
3890
+ )), /* @__PURE__ */ React2__default.default.createElement("form", { onSubmit: handleSubmit, className: "space-y-6" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u57FA\u672C\u4FE1\u606F"), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "title", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4E8B\u4EF6\u6807\u9898 *"), /* @__PURE__ */ React2__default.default.createElement(
3958
3891
  "input",
3959
3892
  {
3960
3893
  type: "text",
@@ -3964,7 +3897,7 @@ function EventForm({
3964
3897
  className: `w-full px-3 py-2 border rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 ${errors.title ? "border-red-300" : "border-gray-300"}`,
3965
3898
  placeholder: "\u8BF7\u8F93\u5165\u4E8B\u4EF6\u6807\u9898"
3966
3899
  }
3967
- ), errors.title && /* @__PURE__ */ React3__default.default.createElement("p", { className: "mt-1 text-sm text-red-600" }, errors.title)), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "description", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4E8B\u4EF6\u63CF\u8FF0"), /* @__PURE__ */ React3__default.default.createElement(
3900
+ ), errors.title && /* @__PURE__ */ React2__default.default.createElement("p", { className: "mt-1 text-sm text-red-600" }, errors.title)), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "description", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u4E8B\u4EF6\u63CF\u8FF0"), /* @__PURE__ */ React2__default.default.createElement(
3968
3901
  "textarea",
3969
3902
  {
3970
3903
  id: "description",
@@ -3974,7 +3907,7 @@ function EventForm({
3974
3907
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500",
3975
3908
  placeholder: "\u8BF7\u8F93\u5165\u4E8B\u4EF6\u63CF\u8FF0\uFF08\u53EF\u9009\uFF09"
3976
3909
  }
3977
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "location", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u5730\u70B9"), /* @__PURE__ */ React3__default.default.createElement(
3910
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "location", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u5730\u70B9"), /* @__PURE__ */ React2__default.default.createElement(
3978
3911
  "input",
3979
3912
  {
3980
3913
  type: "text",
@@ -3984,7 +3917,7 @@ function EventForm({
3984
3917
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500",
3985
3918
  placeholder: "\u8BF7\u8F93\u5165\u4E8B\u4EF6\u5730\u70B9\uFF08\u53EF\u9009\uFF09"
3986
3919
  }
3987
- ))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u65F6\u95F4\u8BBE\u7F6E"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React3__default.default.createElement(
3920
+ ))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u65F6\u95F4\u8BBE\u7F6E"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React2__default.default.createElement(
3988
3921
  "input",
3989
3922
  {
3990
3923
  type: "checkbox",
@@ -3993,7 +3926,7 @@ function EventForm({
3993
3926
  onChange: (e) => handleInputChange("allDay", e.target.checked),
3994
3927
  className: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
3995
3928
  }
3996
- ), /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "allDay", className: "ml-2 text-sm text-gray-700" }, "\u5168\u5929\u4E8B\u4EF6")), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "startTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u5F00\u59CB\u65F6\u95F4 *"), /* @__PURE__ */ React3__default.default.createElement(
3929
+ ), /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "allDay", className: "ml-2 text-sm text-gray-700" }, "\u5168\u5929\u4E8B\u4EF6")), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "startTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u5F00\u59CB\u65F6\u95F4 *"), /* @__PURE__ */ React2__default.default.createElement(
3997
3930
  "input",
3998
3931
  {
3999
3932
  type: formData.allDay ? "date" : "datetime-local",
@@ -4005,7 +3938,7 @@ function EventForm({
4005
3938
  },
4006
3939
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
4007
3940
  }
4008
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { htmlFor: "endTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u7ED3\u675F\u65F6\u95F4 *"), /* @__PURE__ */ React3__default.default.createElement(
3941
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { htmlFor: "endTime", className: "block text-sm font-medium text-gray-700 mb-1" }, "\u7ED3\u675F\u65F6\u95F4 *"), /* @__PURE__ */ React2__default.default.createElement(
4009
3942
  "input",
4010
3943
  {
4011
3944
  type: formData.allDay ? "date" : "datetime-local",
@@ -4017,7 +3950,7 @@ function EventForm({
4017
3950
  },
4018
3951
  className: `w-full px-3 py-2 border rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 ${errors.endTime ? "border-red-300" : "border-gray-300"}`
4019
3952
  }
4020
- ), errors.endTime && /* @__PURE__ */ React3__default.default.createElement("p", { className: "mt-1 text-sm text-red-600" }, errors.endTime))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React3__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u5916\u89C2"), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4E8B\u4EF6\u989C\u8272"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex flex-wrap gap-3" }, colorOptions.map((option) => /* @__PURE__ */ React3__default.default.createElement(
3953
+ ), errors.endTime && /* @__PURE__ */ React2__default.default.createElement("p", { className: "mt-1 text-sm text-red-600" }, errors.endTime))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React2__default.default.createElement("h3", { className: "text-lg font-medium text-gray-900" }, "\u5916\u89C2"), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4E8B\u4EF6\u989C\u8272"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex flex-wrap gap-3" }, colorOptions.map((option) => /* @__PURE__ */ React2__default.default.createElement(
4021
3954
  "button",
4022
3955
  {
4023
3956
  key: option.value,
@@ -4028,9 +3961,9 @@ function EventForm({
4028
3961
  ${formData.color === option.value ? "border-blue-500 ring-2 ring-blue-200" : "border-gray-200 hover:border-gray-300"}
4029
3962
  `
4030
3963
  },
4031
- /* @__PURE__ */ React3__default.default.createElement("div", { className: `w-4 h-4 rounded-full ${option.class} mr-2` }),
4032
- /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-sm text-gray-700" }, option.label)
4033
- ))))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center justify-end gap-3 pt-6 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement(
3964
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: `w-4 h-4 rounded-full ${option.class} mr-2` }),
3965
+ /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-sm text-gray-700" }, option.label)
3966
+ ))))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center justify-end gap-3 pt-6 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement(
4034
3967
  "button",
4035
3968
  {
4036
3969
  type: "button",
@@ -4038,7 +3971,7 @@ function EventForm({
4038
3971
  className: "px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 transition-colors"
4039
3972
  },
4040
3973
  "\u53D6\u6D88"
4041
- ), /* @__PURE__ */ React3__default.default.createElement(
3974
+ ), /* @__PURE__ */ React2__default.default.createElement(
4042
3975
  "button",
4043
3976
  {
4044
3977
  type: "submit",
@@ -4053,8 +3986,8 @@ var EventSearch = ({
4053
3986
  onFiltered,
4054
3987
  className = ""
4055
3988
  }) => {
4056
- const [isExpanded, setIsExpanded] = React3.useState(false);
4057
- const [filters, setFilters] = React3.useState({
3989
+ const [isExpanded, setIsExpanded] = React2.useState(false);
3990
+ const [filters, setFilters] = React2.useState({
4058
3991
  keyword: "",
4059
3992
  priority: "all",
4060
3993
  dateRange: {
@@ -4064,14 +3997,14 @@ var EventSearch = ({
4064
3997
  colorFilter: [],
4065
3998
  isAllDay: "all"
4066
3999
  });
4067
- const availableColors = React3.useMemo(() => {
4000
+ const availableColors = React2.useMemo(() => {
4068
4001
  const colors = /* @__PURE__ */ new Set();
4069
4002
  events.forEach((event) => {
4070
4003
  if (event.color) colors.add(event.color);
4071
4004
  });
4072
4005
  return Array.from(colors);
4073
4006
  }, [events]);
4074
- const filteredEvents = React3.useMemo(() => {
4007
+ const filteredEvents = React2.useMemo(() => {
4075
4008
  return events.filter((event) => {
4076
4009
  if (filters.keyword) {
4077
4010
  const keyword = filters.keyword.toLowerCase();
@@ -4108,16 +4041,16 @@ var EventSearch = ({
4108
4041
  return true;
4109
4042
  });
4110
4043
  }, [events, filters]);
4111
- React3__default.default.useEffect(() => {
4044
+ React2__default.default.useEffect(() => {
4112
4045
  onFiltered(filteredEvents);
4113
4046
  }, [filteredEvents, onFiltered]);
4114
- const handleFilterChange = React3.useCallback((key, value) => {
4047
+ const handleFilterChange = React2.useCallback((key, value) => {
4115
4048
  setFilters((prev) => ({
4116
4049
  ...prev,
4117
4050
  [key]: value
4118
4051
  }));
4119
4052
  }, []);
4120
- const resetFilters = React3.useCallback(() => {
4053
+ const resetFilters = React2.useCallback(() => {
4121
4054
  setFilters({
4122
4055
  keyword: "",
4123
4056
  priority: "all",
@@ -4126,7 +4059,7 @@ var EventSearch = ({
4126
4059
  isAllDay: "all"
4127
4060
  });
4128
4061
  }, []);
4129
- const hasActiveFilters = React3.useMemo(() => {
4062
+ const hasActiveFilters = React2.useMemo(() => {
4130
4063
  return filters.keyword !== "" || filters.priority !== "all" || filters.dateRange.start !== "" || filters.dateRange.end !== "" || filters.colorFilter.length > 0 || filters.isAllDay !== "all";
4131
4064
  }, [filters]);
4132
4065
  const getPriorityText = (priority) => {
@@ -4138,7 +4071,7 @@ var EventSearch = ({
4138
4071
  };
4139
4072
  return priorityMap[priority];
4140
4073
  };
4141
- return /* @__PURE__ */ React3__default.default.createElement("div", { className: `bg-white rounded-lg border border-gray-200 ${className}` }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "p-4 border-b border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React3__default.default.createElement(
4074
+ return /* @__PURE__ */ React2__default.default.createElement("div", { className: `bg-white rounded-lg border border-gray-200 ${className}` }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "p-4 border-b border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React2__default.default.createElement(
4142
4075
  "input",
4143
4076
  {
4144
4077
  type: "text",
@@ -4147,14 +4080,14 @@ var EventSearch = ({
4147
4080
  onChange: (e) => handleFilterChange("keyword", e.target.value),
4148
4081
  className: "w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"
4149
4082
  }
4150
- ), /* @__PURE__ */ React3__default.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" }, /* @__PURE__ */ React3__default.default.createElement("svg", { className: "h-5 w-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }))))), /* @__PURE__ */ React3__default.default.createElement(
4083
+ ), /* @__PURE__ */ React2__default.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" }, /* @__PURE__ */ React2__default.default.createElement("svg", { className: "h-5 w-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }))))), /* @__PURE__ */ React2__default.default.createElement(
4151
4084
  "button",
4152
4085
  {
4153
4086
  type: "button",
4154
4087
  onClick: () => setIsExpanded(!isExpanded),
4155
4088
  className: `px-3 py-2 text-sm font-medium rounded-lg transition-colors ${hasActiveFilters ? "bg-blue-100 text-blue-700 border border-blue-300" : "bg-gray-100 text-gray-700 border border-gray-300 hover:bg-gray-200"}`
4156
4089
  },
4157
- /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React3__default.default.createElement(
4090
+ /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React2__default.default.createElement(
4158
4091
  "svg",
4159
4092
  {
4160
4093
  className: `h-4 w-4 transition-transform ${isExpanded ? "rotate-180" : ""}`,
@@ -4162,11 +4095,11 @@ var EventSearch = ({
4162
4095
  stroke: "currentColor",
4163
4096
  viewBox: "0 0 24 24"
4164
4097
  },
4165
- /* @__PURE__ */ React3__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
4166
- ), /* @__PURE__ */ React3__default.default.createElement("span", null, "\u8FC7\u6EE4\u5668"), hasActiveFilters && /* @__PURE__ */ React3__default.default.createElement("span", { className: "inline-flex items-center justify-center w-5 h-5 text-xs font-bold text-white bg-blue-600 rounded-full" }, Object.values(filters).filter(
4098
+ /* @__PURE__ */ React2__default.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
4099
+ ), /* @__PURE__ */ React2__default.default.createElement("span", null, "\u8FC7\u6EE4\u5668"), hasActiveFilters && /* @__PURE__ */ React2__default.default.createElement("span", { className: "inline-flex items-center justify-center w-5 h-5 text-xs font-bold text-white bg-blue-600 rounded-full" }, Object.values(filters).filter(
4167
4100
  (v) => v !== "" && v !== "all" && (Array.isArray(v) ? v.length > 0 : true) && (typeof v === "object" && !Array.isArray(v) ? v.start !== "" || v.end !== "" : true)
4168
4101
  ).length))
4169
- ), hasActiveFilters && /* @__PURE__ */ React3__default.default.createElement(
4102
+ ), hasActiveFilters && /* @__PURE__ */ React2__default.default.createElement(
4170
4103
  "button",
4171
4104
  {
4172
4105
  type: "button",
@@ -4174,29 +4107,29 @@ var EventSearch = ({
4174
4107
  className: "px-3 py-2 text-sm font-medium text-red-600 bg-red-50 border border-red-300 rounded-lg hover:bg-red-100 transition-colors"
4175
4108
  },
4176
4109
  "\u91CD\u7F6E"
4177
- )), /* @__PURE__ */ React3__default.default.createElement("div", { className: "mt-3 text-sm text-gray-600" }, "\u5171\u627E\u5230 ", /* @__PURE__ */ React3__default.default.createElement("span", { className: "font-medium text-gray-900" }, filteredEvents.length), " \u4E2A\u4E8B\u4EF6", filteredEvents.length !== events.length && /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-gray-500" }, "\uFF08\u5171 ", events.length, " \u4E2A\uFF09"))), isExpanded && /* @__PURE__ */ React3__default.default.createElement("div", { className: "p-4 bg-gray-50 border-t border-gray-200" }, /* @__PURE__ */ React3__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4" }, /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4F18\u5148\u7EA7"), /* @__PURE__ */ React3__default.default.createElement(
4110
+ )), /* @__PURE__ */ React2__default.default.createElement("div", { className: "mt-3 text-sm text-gray-600" }, "\u5171\u627E\u5230 ", /* @__PURE__ */ React2__default.default.createElement("span", { className: "font-medium text-gray-900" }, filteredEvents.length), " \u4E2A\u4E8B\u4EF6", filteredEvents.length !== events.length && /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-gray-500" }, "\uFF08\u5171 ", events.length, " \u4E2A\uFF09"))), isExpanded && /* @__PURE__ */ React2__default.default.createElement("div", { className: "p-4 bg-gray-50 border-t border-gray-200" }, /* @__PURE__ */ React2__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4" }, /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4F18\u5148\u7EA7"), /* @__PURE__ */ React2__default.default.createElement(
4178
4111
  "select",
4179
4112
  {
4180
4113
  value: filters.priority,
4181
4114
  onChange: (e) => handleFilterChange("priority", e.target.value),
4182
4115
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"
4183
4116
  },
4184
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "all" }, "\u5168\u90E8\u4F18\u5148\u7EA7"),
4185
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "low" /* LOW */ }, getPriorityText("low" /* LOW */)),
4186
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "normal" /* NORMAL */ }, getPriorityText("normal" /* NORMAL */)),
4187
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "high" /* HIGH */ }, getPriorityText("high" /* HIGH */)),
4188
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "urgent" /* URGENT */ }, getPriorityText("urgent" /* URGENT */))
4189
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4E8B\u4EF6\u7C7B\u578B"), /* @__PURE__ */ React3__default.default.createElement(
4117
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "all" }, "\u5168\u90E8\u4F18\u5148\u7EA7"),
4118
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "low" /* LOW */ }, getPriorityText("low" /* LOW */)),
4119
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "normal" /* NORMAL */ }, getPriorityText("normal" /* NORMAL */)),
4120
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "high" /* HIGH */ }, getPriorityText("high" /* HIGH */)),
4121
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "urgent" /* URGENT */ }, getPriorityText("urgent" /* URGENT */))
4122
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u4E8B\u4EF6\u7C7B\u578B"), /* @__PURE__ */ React2__default.default.createElement(
4190
4123
  "select",
4191
4124
  {
4192
4125
  value: filters.isAllDay,
4193
4126
  onChange: (e) => handleFilterChange("isAllDay", e.target.value),
4194
4127
  className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"
4195
4128
  },
4196
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "all" }, "\u5168\u90E8\u7C7B\u578B"),
4197
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "yes" }, "\u5168\u5929\u4E8B\u4EF6"),
4198
- /* @__PURE__ */ React3__default.default.createElement("option", { value: "no" }, "\u5B9A\u65F6\u4E8B\u4EF6")
4199
- )), /* @__PURE__ */ React3__default.default.createElement("div", null, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u989C\u8272\u6807\u7B7E"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex flex-wrap gap-2" }, availableColors.map((color) => /* @__PURE__ */ React3__default.default.createElement(
4129
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "all" }, "\u5168\u90E8\u7C7B\u578B"),
4130
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "yes" }, "\u5168\u5929\u4E8B\u4EF6"),
4131
+ /* @__PURE__ */ React2__default.default.createElement("option", { value: "no" }, "\u5B9A\u65F6\u4E8B\u4EF6")
4132
+ )), /* @__PURE__ */ React2__default.default.createElement("div", null, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u989C\u8272\u6807\u7B7E"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex flex-wrap gap-2" }, availableColors.map((color) => /* @__PURE__ */ React2__default.default.createElement(
4200
4133
  "button",
4201
4134
  {
4202
4135
  key: color,
@@ -4209,7 +4142,7 @@ var EventSearch = ({
4209
4142
  style: { backgroundColor: color },
4210
4143
  title: `\u989C\u8272: ${color}`
4211
4144
  }
4212
- )))), /* @__PURE__ */ React3__default.default.createElement("div", { className: "md:col-span-2 lg:col-span-3" }, /* @__PURE__ */ React3__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u65E5\u671F\u8303\u56F4"), /* @__PURE__ */ React3__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React3__default.default.createElement(
4145
+ )))), /* @__PURE__ */ React2__default.default.createElement("div", { className: "md:col-span-2 lg:col-span-3" }, /* @__PURE__ */ React2__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, "\u65E5\u671F\u8303\u56F4"), /* @__PURE__ */ React2__default.default.createElement("div", { className: "flex items-center space-x-3" }, /* @__PURE__ */ React2__default.default.createElement(
4213
4146
  "input",
4214
4147
  {
4215
4148
  type: "date",
@@ -4220,7 +4153,7 @@ var EventSearch = ({
4220
4153
  }),
4221
4154
  className: "px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"
4222
4155
  }
4223
- ), /* @__PURE__ */ React3__default.default.createElement("span", { className: "text-gray-500" }, "\u81F3"), /* @__PURE__ */ React3__default.default.createElement(
4156
+ ), /* @__PURE__ */ React2__default.default.createElement("span", { className: "text-gray-500" }, "\u81F3"), /* @__PURE__ */ React2__default.default.createElement(
4224
4157
  "input",
4225
4158
  {
4226
4159
  type: "date",
@@ -4235,13 +4168,13 @@ var EventSearch = ({
4235
4168
  };
4236
4169
  var EventSearch_default = EventSearch;
4237
4170
  function useEvents2() {
4238
- const [events, setEvents] = React3.useState([]);
4239
- const [loading, setLoading] = React3.useState(false);
4240
- const [error, setError] = React3.useState();
4241
- const clearError = React3.useCallback(() => {
4171
+ const [events, setEvents] = React2.useState([]);
4172
+ const [loading, setLoading] = React2.useState(false);
4173
+ const [error, setError] = React2.useState();
4174
+ const clearError = React2.useCallback(() => {
4242
4175
  setError(void 0);
4243
4176
  }, []);
4244
- const fetchEvents = React3.useCallback(async (startDate, endDate) => {
4177
+ const fetchEvents = React2.useCallback(async (startDate, endDate) => {
4245
4178
  setLoading(true);
4246
4179
  setError(void 0);
4247
4180
  try {
@@ -4272,7 +4205,7 @@ function useEvents2() {
4272
4205
  setLoading(false);
4273
4206
  }
4274
4207
  }, []);
4275
- const createEvent = React3.useCallback(async (eventData) => {
4208
+ const createEvent = React2.useCallback(async (eventData) => {
4276
4209
  setLoading(true);
4277
4210
  setError(void 0);
4278
4211
  try {
@@ -4324,7 +4257,7 @@ function useEvents2() {
4324
4257
  setLoading(false);
4325
4258
  }
4326
4259
  }, []);
4327
- const updateEvent = React3.useCallback(async (eventId, eventData) => {
4260
+ const updateEvent = React2.useCallback(async (eventId, eventData) => {
4328
4261
  setLoading(true);
4329
4262
  setError(void 0);
4330
4263
  try {
@@ -4370,7 +4303,7 @@ function useEvents2() {
4370
4303
  setLoading(false);
4371
4304
  }
4372
4305
  }, []);
4373
- const deleteEvent = React3.useCallback(async (eventId, deleteAll = false) => {
4306
+ const deleteEvent = React2.useCallback(async (eventId, deleteAll = false) => {
4374
4307
  setLoading(true);
4375
4308
  setError(void 0);
4376
4309
  try {
@@ -4395,7 +4328,7 @@ function useEvents2() {
4395
4328
  setLoading(false);
4396
4329
  }
4397
4330
  }, []);
4398
- const batchDeleteEvents = React3.useCallback(async (eventIds) => {
4331
+ const batchDeleteEvents = React2.useCallback(async (eventIds) => {
4399
4332
  setLoading(true);
4400
4333
  setError(void 0);
4401
4334
  try {