{"version":3,"file":"bubble-list.mjs","sources":["../../../../../../../packages/components/bubble/src/bubble-list/bubble-list.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { BubbleProps } from '../bubble/bubble'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport interface BubbleListRef {\n  nativeElement: HTMLDivElement\n  scrollTo: (info: {\n    offset?: number\n    key?: string | number\n    behavior?: ScrollBehavior\n    block?: ScrollLogicalPosition\n  }) => void\n}\n\nexport type BubbleDataType = Partial<BubbleProps> & {\n  key?: string | number\n  role?: string\n}\n\nexport type RoleType = Partial<Omit<BubbleProps, 'content'>> & {\n  style?: StyleValue\n  class?: string\n}\n\nexport type RolesType =\n  | Record<string, RoleType>\n  | ((bubbleDataP: BubbleDataType) => RoleType)\n\nexport const bubbleListProps = buildProps({\n  autoScroll: {\n    type: Boolean,\n    default: true,\n  },\n  items: {\n    type: definePropType<BubbleDataType[]>(Array),\n    default: () => [],\n  },\n  roles: {\n    type: definePropType<RolesType>([Object, Function]),\n  },\n  onLastBubbleTypingComplete: {\n    type: definePropType<(key: string | number) => void>(Function),\n  },\n} as const)\n\nexport type BubbleListProps = ExtractPropTypes<typeof bubbleListProps>\n\nexport const bubbleListEmits = {}\n\nexport type BubbleListEmits = typeof bubbleListEmits\n"],"names":[],"mappings":";;AA4BO,MAAM,kBAAkB,UAAW,CAAA;AAAA,EACxC,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAAiC,KAAK,CAAA;AAAA,IAC5C,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,cAAA,CAA0B,CAAC,MAAA,EAAQ,QAAQ,CAAC,CAAA;AAAA,GACpD;AAAA,EACA,0BAA4B,EAAA;AAAA,IAC1B,IAAA,EAAM,eAA+C,QAAQ,CAAA;AAAA,GAC/D;AACF,CAAU,EAAA;AAIH,MAAM,kBAAkB;;;;"}