{"version":3,"file":"dropdown2.mjs","sources":["../../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n  <a-dropdown :trigger=\"trigger\" v-bind=\"$attrs\" :overlay-class-name=\"props.overlayClassName\">\n    <span style=\"position: relative\">\n      <slot />\n    </span>\n    <template #overlay>\n      <a-menu :selected-keys=\"selectedKeys\">\n        <template v-for=\"item in dropMenuList\" :key=\"`${item.event}`\">\n          <a-menu-item\n            v-bind=\"getAttr(item.event!)\"\n            :disabled=\"item.disabled\"\n            size=\"small\"\n            @click.stop.prevent=\"handleClickMenu(item)\"\n          >\n            <!-- <a-popconfirm\n              v-if=\"popconfirm && item.popConfirm\"\n              v-bind=\"getPopConfirmAttrs(item.popConfirm)\"\n              :getPopupContainer=\"item.getPopupContainer\"\n              @visibleChange=\"handlePopConfirmVisible\"\n            >\n              <template #icon v-if=\"item.popConfirm.icon\">\n                <Icon :icon=\"item.popConfirm.icon\" />\n              </template>\n              <div>\n                <Icon :icon=\"item.icon\" v-if=\"item.icon\" />\n                <span class=\"ml-1\">{{ item.text }}</span>\n              </div>\n            </a-popconfirm> -->\n            <ModalButton v-if=\"popconfirm && item.popConfirm\" v-bind=\"item\" :is-in-drop-down=\"true\">\n              <template v-if=\"item.popConfirm.icon\" #icon>\n                <Icon :icon=\"item.popConfirm.icon\" />\n              </template>\n              <div>\n                <Icon v-if=\"item.icon\" :icon=\"item.icon\" />\n                <span\n                  :class=\"`ml-1 ant-btn ant-btn-${item.type ?? 'link'} ant-btn-sm ${\n                    item.className ?? ''\n                  }`\"\n                  style=\"font-size: 12px\"\n                >\n                  {{ item.text }}\n                </span>\n              </div>\n            </ModalButton>\n            <template v-else>\n              <Icon v-if=\"item.icon\" :icon=\"item.icon\" />\n              <span\n                :class=\"`ml-1 ant-btn ant-btn-${item.type ?? 'link'} ant-btn-sm ${\n                  item.className ?? ''\n                }`\"\n                style=\"font-size: 12px\"\n              >\n                {{ item.text }}\n              </span>\n              <!-- <span class=\"ml-1\">{{ item.text }}</span> -->\n            </template>\n          </a-menu-item>\n          <a-menu-divider v-if=\"item.divider\" :key=\"`d-${item.event}`\" />\n        </template>\n      </a-menu>\n    </template>\n  </a-dropdown>\n</template>\n\n<script lang=\"ts\" setup>\n// import { computed } from 'vue'\nimport { Dropdown, Menu /*Popconfirm*/ } from 'ant-design-vue'\n// import { omit } from 'lodash-es'\nimport ModalButton from '@tav-ui/components/button-modal'\nimport Icon from '@tav-ui/components/icon'\n// import { isFunction } from '@tav-ui/utils/is'\nimport { isDef } from '@tav-ui/utils'\nimport { dropdownProps } from './types'\nimport type { DropdownMenu as DropMenu } from './types'\n\nconst ADropdown = Dropdown\nconst AMenu = Menu\nconst AMenuItem = Menu.Item\nconst AMenuDivider = Menu.Divider\n// const APopconfirm = Popconfirm\n\nconst props = defineProps(dropdownProps)\n\nconst emit = defineEmits(['menuEvent', 'menuItemPopConfirmVisible'])\n\nfunction handleClickMenu(item: DropMenu) {\n  const { event } = item\n  if (isDef(event)) {\n    const menu = props.dropMenuList.find((item) => `${item.event}` === `${event}`)\n    menu && emit('menuEvent', menu)\n  }\n  item.onClick?.()\n}\n\n// function handlePopConfirmVisible(visible: boolean) {\n//   emit('menuItemPopConfirmVisible', visible)\n// }\n\n// const getPopConfirmAttrs = computed(() => {\n//   return (attrs) => {\n//     const originAttrs = omit(attrs, ['confirm', 'cancel', 'icon'])\n//     if (!attrs.onConfirm && attrs.confirm && isFunction(attrs.confirm))\n//       originAttrs['onConfirm'] = attrs.confirm\n//     if (!attrs.onCancel && attrs.cancel && isFunction(attrs.cancel))\n//       originAttrs['onCancel'] = attrs.cancel\n//     return originAttrs\n//   }\n// })\n\nconst getAttr = (key: string | number) => ({ key })\n</script>\n"],"names":["Dropdown","item"],"mappings":";;;;;;;;;;;;;;;AA2EA,IAAA,MAAM,SAAY,GAAAA,UAAA,CAAA;AAClB,IAAA,MAAM,KAAQ,GAAA,IAAA,CAAA;AACd,IAAA,MAAM,YAAY,IAAK,CAAA,IAAA,CAAA;AACvB,IAAA,MAAM,eAAe,IAAK,CAAA,OAAA,CAAA;AAO1B,IAAA,SAAS,gBAAgB,IAAgB,EAAA;AACvC,MAAM,MAAA,EAAE,OAAU,GAAA,IAAA,CAAA;AAClB,MAAI,IAAA,KAAA,CAAM,KAAK,CAAG,EAAA;AAChB,QAAM,MAAA,IAAA,GAAO,KAAM,CAAA,YAAA,CAAa,IAAK,CAAA,CAACC,UAAS,CAAGA,EAAAA,KAAAA,CAAK,KAAY,CAAA,CAAA,KAAA,CAAA,EAAG,KAAO,CAAA,CAAA,CAAA,CAAA;AAC7E,QAAQ,IAAA,IAAA,IAAA,CAAK,aAAa,IAAI,CAAA,CAAA;AAAA,OAChC;AACA,MAAA,IAAA,CAAK,OAAU,IAAA,CAAA;AAAA,KACjB;AAiBA,IAAA,MAAM,OAAU,GAAA,CAAC,GAA0B,MAAA,EAAE,GAAI,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}