{"version":3,"file":"calendar-event-list-modal.vue2.mjs","sources":["../../../../../../packages/components/calendar/src/calendar-event-list-modal.vue"],"sourcesContent":["<template>\r\n  <Teleport to=\"body\">\r\n    <div\r\n      v-if=\"innerOpen\"\r\n      class=\"ll-calendar__event-list-layer\"\r\n      @click.self=\"closePanel\"\r\n      @contextmenu.prevent\r\n    >\r\n      <div\r\n        class=\"ll-calendar__event-list-panel\"\r\n        :style=\"props.panelStyle\"\r\n        @click.stop\r\n      >\r\n        <div class=\"ll-calendar__event-list-header\">\r\n          <div class=\"ll-calendar__event-list-heading\">{{ title }}</div>\r\n          <button\r\n            type=\"button\"\r\n            class=\"ll-calendar__event-list-close\"\r\n            aria-label=\"关闭\"\r\n            @click=\"closePanel\"\r\n          >\r\n            ×\r\n          </button>\r\n        </div>\r\n\r\n        <div class=\"ll-calendar__event-list-container\">\r\n          <ll-empty v-if=\"events.length === 0\" title=\"无日程\" />\r\n          <div v-else class=\"ll-calendar__event-list\">\r\n            <div\r\n              v-for=\"(event, idx) in events\"\r\n              :key=\"`${getEventIdentifier(event)}-${idx}`\"\r\n              class=\"ll-calendar__event-list-item\"\r\n              @click=\"handleSelect(event, $event as MouseEvent)\"\r\n              @contextmenu.prevent.stop=\"\r\n                handleContextmenu(event, $event as MouseEvent)\r\n              \"\r\n            >\r\n              <div class=\"ll-calendar__event-multiday-single\">\r\n                <span\r\n                  v-if=\"event.tag\"\r\n                  class=\"ll-calendar__event-tag\"\r\n                  :style=\"\r\n                    event.tagColor ? { backgroundColor: event.tagColor } : {}\r\n                  \"\r\n                  >{{ event.tag }}</span\r\n                >{{ getEventTitle(event) || '未命名日程' }}\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </Teleport>\r\n\r\n  <calendar-edit-panel\r\n    :ref=\"bindEditPanelRef\"\r\n    :open=\"editPopoverOpen\"\r\n    :presentation-mode=\"editPresentationMode\"\r\n    :placement=\"editPopoverPlacement\"\r\n    :style=\"editPopoverStyle\"\r\n    :boundary-style=\"editBoundaryStyle\"\r\n    :title=\"editingEventTitle\"\r\n    :form-data=\"editFormData\"\r\n    :form-columns=\"editFormColumns\"\r\n    :is-creating-event=\"isCreatingEvent\"\r\n    :current-editable-event=\"currentEditableEvent\"\r\n    @mask-close=\"handleMaskClose\"\r\n    @switch-presentation=\"handleSwitchPresentation\"\r\n    @confirm=\"handleConfirmEdit\"\r\n    @confirm-and-add=\"handleConfirmAndAdd\"\r\n    @delete-edit-event=\"handleDeleteEditEvent\"\r\n  >\r\n    <template v-if=\"$slots['edit-form']\" #edit-form=\"{ data }\">\r\n      <slot name=\"edit-form\" :data=\"data\" />\r\n    </template>\r\n  </calendar-edit-panel>\r\n\r\n  <calendar-context-menu\r\n    :ref=\"bindContextMenuPanelRef\"\r\n    :open=\"contextMenuOpen\"\r\n    :style=\"contextMenuStyle\"\r\n    :event=\"contextMenuEvent\"\r\n    :current-editable-event=\"currentEditableEvent\"\r\n    @close=\"closeContextMenu\"\r\n    @edit=\"handleContextMenuEdit\"\r\n    @copy=\"handleContextMenuCopy\"\r\n    @remove=\"handleContextMenuDelete\"\r\n  >\r\n    <template #event-contextmenu=\"{ event, close, edit, copy, remove }\">\r\n      <slot\r\n        name=\"event-contextmenu\"\r\n        :event=\"event\"\r\n        :close=\"close\"\r\n        :edit=\"edit\"\r\n        :copy=\"copy\"\r\n        :remove=\"remove\"\r\n      />\r\n    </template>\r\n  </calendar-context-menu>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue'\r\n\r\nimport CalendarContextMenu from './calendar-context-menu.vue'\r\nimport CalendarEditPanel from './calendar-edit-panel.vue'\r\nimport type { CalendarEvent } from './calendar'\r\n\r\nconst props = defineProps({\n  open: { type: Boolean, required: true },\n  title: { type: String, required: true },\n  events: { type: Array, required: true },\n  getEventIdentifier: { type: Function, required: true },\n  getEventTitle: { type: Function, required: true },\n  getEventTimeLabel: { type: Function, required: true },\n  onSelectEvent: { type: Function, required: true },\n  onContextmenuEvent: { type: Function, required: true },\n  editPopoverOpen: { type: Boolean, required: true },\n  editPresentationMode: { type: String, required: true },\n  editPopoverPlacement: { type: String, required: true },\n  contextMenuOpen: { type: Boolean, required: true },\n  contextMenuEvent: { required: true },\n  contextMenuStyle: { type: Object, required: true },\n  editPopoverStyle: { type: Object, required: true },\n  editBoundaryStyle: { type: Object, required: false },\n  editFormData: { type: Object, required: true },\n  editFormColumns: { type: Array, required: true },\n  isCreatingEvent: { type: Boolean, required: true },\n  editingEventTitle: { type: String, required: true },\n  currentEditableEvent: { type: Object, required: true },\n  closeContextMenu: { type: Function, required: true },\n  handleContextMenuEdit: { type: Function, required: true },\n  handleContextMenuCopy: { type: Function, required: true },\n  handleContextMenuDelete: { type: Function, required: true },\n  handleMaskClose: { type: Function, required: true },\n  handleSwitchPresentation: { type: Function, required: true },\n  handleConfirmEdit: { type: Function, required: true },\n  handleConfirmAndAdd: { type: Function, required: true },\n  handleDeleteEditEvent: { type: Function, required: true },\n  onBindEditPanelRef: { type: Function, required: false },\n  onBindContextMenuPanelRef: { type: Function, required: false },\n  panelStyle: { type: Object, required: false }\n})\r\n\r\nconst emit = defineEmits([\"update:open\"])\r\n\r\nconst innerOpen = computed({\r\n  get: () => props.open,\r\n  set: (value: boolean) => emit('update:open', value),\r\n})\r\n\r\nconst closePanel = () => {\r\n  innerOpen.value = false\r\n}\r\n\r\nconst bindEditPanelRef = (instance: unknown) => {\r\n  props.onBindEditPanelRef?.(instance)\r\n}\r\n\r\nconst bindContextMenuPanelRef = (instance: unknown) => {\r\n  props.onBindContextMenuPanelRef?.(instance)\r\n}\r\n\r\nconst handleSelect = (event: CalendarEvent, nativeEvent: MouseEvent) => {\r\n  props.onSelectEvent({ event, nativeEvent })\r\n}\r\n\r\nconst handleContextmenu = (event: CalendarEvent, nativeEvent: MouseEvent) => {\r\n  props.onContextmenuEvent({ event, nativeEvent })\r\n}\r\n</script>\r\n"],"names":["_createBlock","_Teleport","_createElementBlock","_createElementVNode","_normalizeStyle","_toDisplayString","_openBlock","_Fragment","_renderList","_withModifiers","_createTextVNode","_createVNode","CalendarEditPanel","$slots","_withCtx","_renderSlot","CalendarContextMenu"],"mappings":"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"}