{"version":3,"file":"CollapsePanel.cjs","sources":["../../../../../../packages/components/collapse/src/CollapsePanel.tsx"],"sourcesContent":["import type { CustomSlotsType } from '@antdv/types';\nimport { classNames, devWarning, initDefaultProps } from '@antdv/utils';\nimport { defineComponent, Transition } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\n\nimport PanelContent from './PanelContent';\nimport { collapsePanelProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ACollapsePanel',\n  inheritAttrs: false,\n  props: initDefaultProps(collapsePanelProps(), {\n    showArrow: true,\n    isActive: false,\n    onItemClick() {},\n    headerClass: '',\n    forceRender: false,\n  }),\n  slots: Object as CustomSlotsType<{\n    expandIcon?: any\n    extra?: any\n    header?: any\n    default?: any\n  }>,\n  // emits: ['itemClick'],\n  setup(props, { slots, emit, attrs }) {\n    devWarning(\n      props.disabled === undefined,\n      'Collapse.Panel',\n      '`disabled` is deprecated. Please use `collapsible=\"disabled\"` instead.',\n    );\n    const { prefixCls } = useConfigInject('collapse', props);\n    const handleItemClick = () => {\n      emit('itemClick', props.panelKey);\n    };\n    const handleKeyPress = (e: KeyboardEvent) => {\n      if (e.key === 'Enter' || e.keyCode === 13 || e.which === 13)\n        handleItemClick();\n    };\n    return () => {\n      const {\n        header = slots.header?.(),\n        headerClass,\n        isActive,\n        showArrow,\n        destroyInactivePanel,\n        accordion,\n        forceRender,\n        openAnimation,\n        expandIcon = slots.expandIcon,\n        extra = slots.extra?.(),\n        collapsible,\n      } = props;\n      const disabled = collapsible === 'disabled';\n      const prefixClsValue = prefixCls.value;\n      const headerCls = classNames(`${prefixClsValue}-header`, {\n        [headerClass]: headerClass,\n        [`${prefixClsValue}-header-collapsible-only`]: collapsible === 'header',\n        [`${prefixClsValue}-icon-collapsible-only`]: collapsible === 'icon',\n      });\n      const itemCls = classNames({\n        [`${prefixClsValue}-item`]: true,\n        [`${prefixClsValue}-item-active`]: isActive,\n        [`${prefixClsValue}-item-disabled`]: disabled,\n        [`${prefixClsValue}-no-arrow`]: !showArrow,\n        [`${attrs.class}`]: !!attrs.class,\n      });\n\n      let icon = <i class=\"arrow\" />;\n      if (showArrow && typeof expandIcon === 'function')\n        icon = expandIcon(props);\n\n      const panelContent = (\n        <PanelContent\n          v-show={isActive}\n          prefixCls={prefixClsValue}\n          isActive={isActive}\n          forceRender={forceRender}\n          role={accordion ? 'tabpanel' : null}\n          v-slots={{ default: slots.default }}\n        >\n        </PanelContent>\n      );\n      const transitionProps = {\n        appear: false,\n        css: false,\n        ...openAnimation,\n      };\n\n      return (\n        <div {...attrs} class={itemCls}>\n          <div\n            class={headerCls}\n            onClick={() => !['header', 'icon'].includes(collapsible) && handleItemClick()}\n            role={accordion ? 'tab' : 'button'}\n            tabindex={disabled ? -1 : 0}\n            aria-expanded={isActive}\n            onKeypress={handleKeyPress}\n          >\n            {showArrow && icon}\n            <span\n              onClick={() => collapsible === 'header' && handleItemClick()}\n              class={`${prefixClsValue}-header-text`}\n            >\n              {header}\n            </span>\n            {extra && <div class={`${prefixClsValue}-extra`}>{extra}</div>}\n          </div>\n          <Transition {...transitionProps}>\n            {!destroyInactivePanel || isActive ? panelContent : null}\n          </Transition>\n        </div>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","initDefaultProps","collapsePanelProps","showArrow","isActive","onItemClick","headerClass","forceRender","slots","Object","setup","emit","attrs","devWarning","disabled","undefined","prefixCls","useConfigInject","handleItemClick","panelKey","handleKeyPress","e","key","keyCode","which","header","destroyInactivePanel","accordion","openAnimation","expandIcon","extra","collapsible","prefixClsValue","value","headerCls","classNames","itemCls","class","icon","_createVNode","panelContent","_withDirectives","PanelContent","default","_vShow","transitionProps","appear","css","onClick","includes","Transition"],"mappings":"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"}