{"version":3,"file":"Popconfirm.cjs","sources":["../../../../../../packages/components/popconfirm/src/Popconfirm.tsx"],"sourcesContent":["import type { SlotsType } from 'vue';\nimport type { ButtonProps } from '../../button';\nimport type { PopconfirmProps } from './props';\nimport { ExclamationCircleFilled } from '@ant-design/icons-vue';\nimport { useMergedState } from '@antdv/hooks';\nimport { enUS as defaultLocale } from '@antdv/locale';\nimport {\n  classNames,\n  cloneVNodes,\n  devWarning,\n  initDefaultProps,\n  KeyCode,\n  omit,\n} from '@antdv/utils';\nimport { getTransitionName } from '@antdv/vue-components';\nimport { computed, defineComponent, ref, toRef } from 'vue';\nimport Button, { convertLegacyProps } from '../../button';\nimport ActionButton from '../../button/src/ActionButton';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\n\nimport { useLocaleReceiver } from '../../locale-provider';\nimport Popover from '../../popover';\nimport { tooltipDefaultProps } from '../../tooltip';\nimport usePopconfirmStyle from '../style';\nimport { popconfirmProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'APopconfirm',\n  inheritAttrs: false,\n  props: initDefaultProps(popconfirmProps(), {\n    ...tooltipDefaultProps(),\n    trigger: 'click',\n    placement: 'top',\n    mouseEnterDelay: 0.1,\n    mouseLeaveDelay: 0.1,\n    arrowPointAtCenter: false,\n    autoAdjustOverflow: true,\n    okType: 'primary',\n    disabled: false,\n  }),\n  slots: Object as SlotsType<{\n    title?: any\n    content?: any\n    description?: any\n    okText?: any\n    icon?: any\n    cancel?: any\n    cancelText?: any\n    cancelButton?: any\n    okButton?: any\n    default?: any\n  }>,\n  // emits: ['update:open', 'visibleChange'],\n  setup(props: PopconfirmProps, { slots, emit, expose, attrs }) {\n    const rootRef = ref();\n    devWarning(\n      props.visible === undefined,\n      'Popconfirm',\n      '`visible` will be removed in next major version, please use `open` instead.',\n    );\n    expose({\n      getPopupDomNode: () => {\n        return rootRef.value?.getPopupDomNode?.();\n      },\n    });\n    const [open, setOpen] = useMergedState(false, {\n      value: toRef(props, 'open'),\n    });\n\n    const settingOpen = (value: boolean, e?: MouseEvent | KeyboardEvent) => {\n      if (props.open === undefined)\n        setOpen(value);\n\n      emit('update:open', value);\n      emit('openChange', value, e);\n    };\n\n    const close = (e: MouseEvent) => {\n      settingOpen(false, e);\n    };\n\n    const onConfirm = (e: MouseEvent) => {\n      return props.onConfirm?.(e);\n    };\n\n    const onCancel = (e: MouseEvent) => {\n      settingOpen(false, e);\n      props.onCancel?.(e);\n    };\n\n    const onKeyDown = (e: KeyboardEvent) => {\n      if (e.keyCode === KeyCode.ESC && open)\n        settingOpen(false, e);\n    };\n\n    const onOpenChange = (value: boolean) => {\n      const { disabled } = props;\n      if (disabled)\n        return;\n\n      settingOpen(value);\n    };\n    const { prefixCls: prefixClsConfirm, getPrefixCls } = useConfigInject('popconfirm', props);\n    const rootPrefixCls = computed(() => getPrefixCls());\n    const btnPrefixCls = computed(() => getPrefixCls('btn'));\n    const [wrapSSR] = usePopconfirmStyle(prefixClsConfirm);\n    const [popconfirmLocale] = useLocaleReceiver('Popconfirm', defaultLocale.Popconfirm);\n    const renderOverlay = () => {\n      const {\n        okButtonProps,\n        cancelButtonProps,\n        title = slots.title?.(),\n        description = slots.description?.(),\n        cancelText = slots.cancel?.(),\n        okText = slots.okText?.(),\n        okType,\n        icon = slots.icon?.() || <ExclamationCircleFilled />,\n        showCancel = true,\n      } = props;\n      const { cancelButton, okButton } = slots;\n      const cancelProps: ButtonProps = {\n        onClick: onCancel,\n        size: 'small',\n        ...cancelButtonProps,\n      };\n      const okProps: ButtonProps = {\n        onClick: onConfirm,\n        ...convertLegacyProps(okType),\n        size: 'small',\n        ...okButtonProps,\n      };\n      return (\n        <div class={`${prefixClsConfirm.value}-inner-content`}>\n          <div class={`${prefixClsConfirm.value}-message`}>\n            {icon && <span class={`${prefixClsConfirm.value}-message-icon`}>{icon}</span>}\n            <div\n              class={[\n                `${prefixClsConfirm.value}-message-title`,\n                { [`${prefixClsConfirm.value}-message-title-only`]: !!description },\n              ]}\n            >\n              {title}\n            </div>\n          </div>\n          {description && <div class={`${prefixClsConfirm.value}-description`}>{description}</div>}\n          <div class={`${prefixClsConfirm.value}-buttons`}>\n            {showCancel\n              ? (\n                  cancelButton\n                    ? (\n                        cancelButton(cancelProps)\n                      )\n                    : (\n                        <Button {...cancelProps}>{cancelText || popconfirmLocale.value.cancelText}</Button>\n                      )\n                )\n              : null}\n            {okButton\n              ? (\n                  okButton(okProps)\n                )\n              : (\n                  <ActionButton\n                    buttonProps={{ size: 'small', ...convertLegacyProps(okType), ...okButtonProps }}\n                    actionFn={onConfirm}\n                    close={close}\n                    prefixCls={btnPrefixCls.value}\n                    quitOnNullishReturnValue\n                    emitEvent\n                  >\n                    {okText || popconfirmLocale.value.okText}\n                  </ActionButton>\n                )}\n          </div>\n        </div>\n      );\n    };\n\n    return () => {\n      const { placement, overlayClassName, trigger = 'click', ...restProps } = props;\n      const otherProps = omit(restProps, [\n        'title',\n        'content',\n        'cancelText',\n        'okText',\n        'onUpdate:open',\n        'onConfirm',\n        'onCancel',\n        'prefixCls',\n      ]);\n      const overlayClassNames = classNames(prefixClsConfirm.value, overlayClassName);\n      return wrapSSR(\n        <Popover\n          {...otherProps}\n          {...attrs}\n          trigger={trigger}\n          placement={placement}\n          onOpenChange={onOpenChange}\n          open={open.value}\n          overlayClassName={overlayClassNames}\n          transitionName={getTransitionName(rootPrefixCls.value, 'zoom-big', props.transitionName)}\n          v-slots={{ content: renderOverlay }}\n          ref={rootRef}\n          data-popover-inject\n        >\n          {cloneVNodes(\n            slots.default?.() || [],\n            {\n              onKeydown: (e: KeyboardEvent) => {\n                onKeyDown(e);\n              },\n            },\n            false,\n          )}\n        </Popover>,\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","initDefaultProps","popconfirmProps","tooltipDefaultProps","trigger","placement","mouseEnterDelay","mouseLeaveDelay","arrowPointAtCenter","autoAdjustOverflow","okType","disabled","slots","Object","setup","emit","expose","attrs","rootRef","ref","devWarning","visible","undefined","getPopupDomNode","value","open","setOpen","useMergedState","toRef","settingOpen","e","close","onConfirm","onCancel","onKeyDown","keyCode","KeyCode","ESC","onOpenChange","prefixCls","prefixClsConfirm","getPrefixCls","useConfigInject","rootPrefixCls","computed","btnPrefixCls","wrapSSR","usePopconfirmStyle","popconfirmLocale","useLocaleReceiver","defaultLocale","Popconfirm","renderOverlay","okButtonProps","cancelButtonProps","title","description","cancelText","cancel","okText","icon","_createVNode","ExclamationCircleFilled","showCancel","cancelButton","okButton","cancelProps","onClick","size","okProps","convertLegacyProps","Button","default","ActionButton","overlayClassName","restProps","otherProps","omit","overlayClassNames","classNames","Popover","getTransitionName","transitionName","cloneVNodes","onKeydown","content"],"mappings":"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"}