{"version":3,"file":"use-typing-config.mjs","sources":["../../../../../../../packages/components/bubble/src/hooks/use-typing-config.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { isBoolean, isObject } from '@element-plus/utils'\nimport type { BubbleProps, TypingOption } from '../bubble/bubble'\n\nfunction useTypingConfig(props: BubbleProps) {\n  const typingEnabled = computed(() => {\n    const { typing } = props\n    return (isBoolean(typing) && typing) || isObject(typing)\n  })\n\n  const baseConfig: Required<TypingOption> = {\n    step: 1,\n    interval: 50,\n    // set default suffix is empty\n    suffix: null,\n  }\n  const config = computed(() => ({\n    ...baseConfig,\n    ...(typeof props.typing === 'object' ? props.typing : {}),\n  }))\n\n  return [\n    typingEnabled,\n    computed(() => config.value.step),\n    computed(() => config.value.interval),\n    computed(() => config.value.suffix),\n  ] as const\n}\n\nexport default useTypingConfig\n"],"names":[],"mappings":";;;AAIA,SAAS,gBAAgB,KAAoB,EAAA;AAC3C,EAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,IAAM,MAAA,EAAE,QAAW,GAAA,KAAA,CAAA;AACnB,IAAA,OAAQ,SAAU,CAAA,MAAM,CAAK,IAAA,MAAA,IAAW,SAAS,MAAM,CAAA,CAAA;AAAA,GACxD,CAAA,CAAA;AAED,EAAA,MAAM,UAAqC,GAAA;AAAA,IACzC,IAAM,EAAA,CAAA;AAAA,IACN,QAAU,EAAA,EAAA;AAAA,IAEV,MAAQ,EAAA,IAAA;AAAA,GACV,CAAA;AACA,EAAM,MAAA,MAAA,GAAS,SAAS,OAAO;AAAA,IAC7B,GAAG,UAAA;AAAA,IACH,GAAI,OAAO,KAAA,CAAM,WAAW,QAAW,GAAA,KAAA,CAAM,SAAS,EAAC;AAAA,GACvD,CAAA,CAAA,CAAA;AAEF,EAAO,OAAA;AAAA,IACL,aAAA;AAAA,IACA,QAAS,CAAA,MAAM,MAAO,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,IAChC,QAAS,CAAA,MAAM,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,IACpC,QAAS,CAAA,MAAM,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA;AAAA,GACpC,CAAA;AACF;;;;"}