{"version":3,"file":"PanelRender.cjs","sources":["../../../../../../packages/components/tour/src/PanelRender.tsx"],"sourcesContent":["import type { VueNode } from '@antdv/types';\nimport type { ButtonProps } from '../../button';\n\nimport type { TourBtnProps } from './props';\nimport { CloseOutlined } from '@ant-design/icons-vue';\nimport { enUS as defaultLocale } from '@antdv/locale';\nimport { classNames, isFunction } from '@antdv/utils';\nimport { computed, defineComponent, toRefs } from 'vue';\n\nimport Button from '../../button';\nimport LocaleReceiver from '../../locale-provider/src/LocaleReceiver';\nimport { tourStepProps } from './props';\n\nexport default defineComponent({\n  name: 'ATourPanel',\n  inheritAttrs: false,\n  props: tourStepProps(),\n  setup(props, { attrs, slots }) {\n    const { current, total } = toRefs(props);\n\n    const isLastStep = computed(() => current.value === total.value - 1);\n\n    const prevBtnClick = (e) => {\n      const prevButtonProps = props.prevButtonProps as TourBtnProps;\n      props.onPrev?.(e);\n      if (typeof prevButtonProps?.onClick === 'function')\n        prevButtonProps?.onClick();\n    };\n\n    const nextBtnClick = (e) => {\n      const nextButtonProps = props.nextButtonProps as TourBtnProps;\n      if (isLastStep.value)\n        props.onFinish?.(e);\n      else\n        props.onNext?.(e);\n\n      if (typeof nextButtonProps?.onClick === 'function')\n        nextButtonProps?.onClick();\n    };\n\n    return () => {\n      const { prefixCls, title, onClose, cover, description, type: stepType, arrow } = props;\n\n      const prevButtonProps = props.prevButtonProps as TourBtnProps;\n      const nextButtonProps = props.nextButtonProps as TourBtnProps;\n\n      let headerNode: VueNode;\n      if (title) {\n        headerNode = (\n          <div class={`${prefixCls}-header`}>\n            <div class={`${prefixCls}-title`}>{title}</div>\n          </div>\n        );\n      }\n\n      let descriptionNode: VueNode;\n      if (description)\n        descriptionNode = <div class={`${prefixCls}-description`}>{description}</div>;\n\n      let coverNode: VueNode;\n      if (cover)\n        coverNode = <div class={`${prefixCls}-cover`}>{cover}</div>;\n\n      let mergeIndicatorNode: VueNode;\n\n      if (slots.indicatorsRender) {\n        mergeIndicatorNode = slots.indicatorsRender({ current: current.value, total });\n      } else {\n        mergeIndicatorNode = [...Array.from({ length: total.value }).keys()].map(\n          (stepItem, index) => {\n            return (\n              <span\n                key={stepItem}\n                class={classNames(\n                  index === current.value && `${prefixCls}-indicator-active`,\n                  `${prefixCls}-indicator`,\n                )}\n              />\n            );\n          },\n        );\n      }\n\n      const mainBtnType = stepType === 'primary' ? 'default' : 'primary';\n      const secondaryBtnProps: ButtonProps = {\n        type: 'default',\n        ghost: stepType === 'primary',\n      };\n\n      return (\n        <LocaleReceiver componentName=\"Tour\" defaultLocale={defaultLocale.Tour}>\n          {contextLocale => (\n            <div\n              {...attrs}\n              class={classNames(\n                stepType === 'primary' ? `${prefixCls}-primary` : '',\n                attrs.class,\n                `${prefixCls}-content`,\n              )}\n            >\n              {arrow && <div class={`${prefixCls}-arrow`} key=\"arrow\" />}\n              <div class={`${prefixCls}-inner`}>\n                <CloseOutlined class={`${prefixCls}-close`} onClick={onClose} />\n                {coverNode}\n                {headerNode}\n                {descriptionNode}\n                <div class={`${prefixCls}-footer`}>\n                  {total.value > 1 && (\n                    <div class={`${prefixCls}-indicators`}>{mergeIndicatorNode}</div>\n                  )}\n                  <div class={`${prefixCls}-buttons`}>\n                    {current.value !== 0\n                      ? (\n                          <Button\n                            {...secondaryBtnProps}\n                            {...prevButtonProps}\n                            onClick={prevBtnClick}\n                            size=\"small\"\n                            class={classNames(`${prefixCls}-prev-btn`, prevButtonProps?.className)}\n                          >\n                            {isFunction(prevButtonProps?.children)\n                              ? prevButtonProps.children()\n                              : prevButtonProps?.children ?? contextLocale.Previous}\n                          </Button>\n                        )\n                      : null}\n                    <Button\n                      type={mainBtnType}\n                      {...nextButtonProps}\n                      onClick={nextBtnClick}\n                      size=\"small\"\n                      class={classNames(`${prefixCls}-next-btn`, nextButtonProps?.className)}\n                    >\n                      {isFunction(nextButtonProps?.children)\n                        ? nextButtonProps?.children()\n                        : isLastStep.value\n                          ? contextLocale.Finish\n                          : contextLocale.Next}\n                    </Button>\n                  </div>\n                </div>\n              </div>\n            </div>\n          )}\n        </LocaleReceiver>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","inheritAttrs","props","tourStepProps","setup","attrs","slots","current","total","toRefs","isLastStep","computed","value","prevBtnClick","e","prevButtonProps","onPrev","onClick","nextBtnClick","nextButtonProps","onFinish","onNext","prefixCls","title","onClose","cover","description","type","stepType","arrow","headerNode","_createVNode","descriptionNode","coverNode","mergeIndicatorNode","indicatorsRender","Array","from","length","keys","map","stepItem","index","classNames","mainBtnType","secondaryBtnProps","ghost","LocaleReceiver","defaultLocale","Tour","default","contextLocale","class","CloseOutlined","Button","className","isFunction","children","Previous","Finish","Next"],"mappings":"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"}