{"version":3,"file":"tour.mjs","sources":["../../../../../../../packages/components/tour/src/tour.ts"],"sourcesContent":["import {\n  buildProps,\n  definePropType,\n  iconPropType,\n  isBoolean,\n  isNumber,\n} from '@hd-front-end/utils'\nimport { UPDATE_MODEL_EVENT } from '@hd-front-end/constants'\nimport { teleportProps } from '@hd-front-end/components/teleport'\nimport { tourContentProps } from './content'\n\nimport type {\n  CSSProperties,\n  ExtractPropTypes,\n  __ExtractPublicPropTypes,\n} from 'vue'\nimport type Tour from './tour.vue'\nimport type { TourGap, TourMask } from './types'\n\nexport const tourProps = buildProps({\n  /**\n   * @description open tour\n   */\n  modelValue: Boolean,\n  /**\n   * @description what is the current step\n   */\n  current: {\n    type: Number,\n    default: 0,\n  },\n  /**\n   * @description whether to show the arrow\n   */\n  showArrow: {\n    type: Boolean,\n    default: true,\n  },\n  /**\n   * @description whether to show a close button\n   */\n  showClose: {\n    type: Boolean,\n    default: true,\n  },\n  /**\n   * @description custom close icon\n   */\n  closeIcon: {\n    type: iconPropType,\n  },\n  /**\n   * @description position of the guide card relative to the target element\n   */\n  placement: tourContentProps.placement,\n  /**\n   * @description custom style for content\n   */\n  contentStyle: {\n    type: definePropType<CSSProperties>([Object]),\n  },\n  /**\n   * @description whether to enable masking, change mask style and fill color by pass custom props\n   */\n  mask: {\n    type: definePropType<TourMask>([Boolean, Object]),\n    default: true,\n  },\n  /**\n   * @description transparent gap between mask and target\n   */\n  gap: {\n    type: definePropType<TourGap>(Object),\n    default: () => ({\n      offset: 6,\n      radius: 2,\n    }),\n  },\n  /**\n   * @description tour's zIndex\n   */\n  zIndex: {\n    type: Number,\n  },\n  /**\n   * @description support pass custom scrollIntoView options\n   */\n  scrollIntoViewOptions: {\n    type: definePropType<boolean | ScrollIntoViewOptions>([Boolean, Object]),\n    default: () => ({\n      block: 'center',\n    }),\n  },\n  /**\n   * @description type, affects the background color and text color\n   */\n  type: {\n    type: definePropType<'default' | 'primary'>(String),\n  },\n  /**\n   * @description which element the TourContent appends to\n   */\n  appendTo: {\n    type: teleportProps.to.type,\n    default: 'body',\n  },\n  /**\n   * @description whether the Tour can be closed by pressing ESC\n   */\n  closeOnPressEscape: {\n    type: Boolean,\n    default: true,\n  },\n  /**\n   * @description whether the target element can be clickable, when using mask\n   */\n  targetAreaClickable: {\n    type: Boolean,\n    default: true,\n  },\n})\n\nexport type TourProps = ExtractPropTypes<typeof tourProps>\nexport type TourPropsPublic = __ExtractPublicPropTypes<typeof tourProps>\nexport type TourInstance = InstanceType<typeof Tour> & unknown\n\nexport const tourEmits = {\n  [UPDATE_MODEL_EVENT]: (value: boolean) => isBoolean(value),\n  ['update:current']: (current: number) => isNumber(current),\n  close: (current: number) => isNumber(current),\n  finish: () => true,\n  change: (current: number) => isNumber(current),\n}\nexport type TourEmits = typeof tourEmits\n"],"names":[],"mappings":";;;;;;;AAmBO,MAAM,YAAY,UAAW,CAAA;AAAA,EAIlC,UAAY,EAAA,OAAA;AAAA,EAIZ,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,YAAA;AAAA,GACR;AAAA,EAIA,WAAW,gBAAiB,CAAA,SAAA;AAAA,EAI5B,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,cAAA,CAA8B,CAAC,MAAM,CAAC,CAAA;AAAA,GAC9C;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,cAAA,CAAyB,CAAC,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,IAChD,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EAIA,GAAK,EAAA;AAAA,IACH,IAAA,EAAM,eAAwB,MAAM,CAAA;AAAA,IACpC,SAAS,OAAO;AAAA,MACd,MAAQ,EAAA,CAAA;AAAA,MACR,MAAQ,EAAA,CAAA;AAAA,KACV,CAAA;AAAA,GACF;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EAIA,qBAAuB,EAAA;AAAA,IACrB,IAAM,EAAA,cAAA,CAAgD,CAAC,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,IACvE,SAAS,OAAO;AAAA,MACd,KAAO,EAAA,QAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAsC,MAAM,CAAA;AAAA,GACpD;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,cAAc,EAAG,CAAA,IAAA;AAAA,IACvB,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EAIA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EAIA,mBAAqB,EAAA;AAAA,IACnB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAC,EAAA;AAMM,MAAM,SAAY,GAAA;AAAA,EACvB,CAAC,kBAAA,GAAqB,CAAC,KAAA,KAAmB,UAAU,KAAK,CAAA;AAAA,EACzD,CAAC,gBAAA,GAAmB,CAAC,OAAA,KAAoB,SAAS,OAAO,CAAA;AAAA,EACzD,KAAO,EAAA,CAAC,OAAoB,KAAA,QAAA,CAAS,OAAO,CAAA;AAAA,EAC5C,QAAQ,MAAM,IAAA;AAAA,EACd,MAAQ,EAAA,CAAC,OAAoB,KAAA,QAAA,CAAS,OAAO,CAAA;AAC/C;;;;"}