1 line
7.5 KiB
Plaintext
1 line
7.5 KiB
Plaintext
|
|
{"version":3,"file":"mention.mjs","names":[],"sources":["../../../../../../packages/components/mention/src/mention.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isFunction,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { inputProps } from '@element-plus/components/input'\nimport { filterOption } from './helper'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\n\nimport type { ComponentInstance, ExtractPublicPropTypes } from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type Mention from './mention.vue'\nimport type { MentionOption } from './types'\nimport type { Options } from '@element-plus/components/popper'\nimport type { InputProps } from '@element-plus/components/input'\nimport type { ElTooltipContentProps } from '@element-plus/components/tooltip'\n\nexport interface MentionProps<\n T extends MentionOption = MentionOption,\n> extends InputProps {\n /**\n * @description mention options list\n */\n options?: T[]\n /**\n * @description prefix character to trigger mentions. The string length must be exactly 1.\n */\n prefix?: string | string[]\n /**\n * @description character to split mentions. The string length must be exactly 1.\n */\n split?: string\n /**\n * @description customize filter option logic.\n */\n filterOption?: false | typeof filterOption<T>\n /**\n * @description set popup placement\n */\n placement?: 'bottom' | 'top'\n /**\n * @description whether the dropdown panel has an arrow\n */\n showArrow?: boolean\n /**\n * @description offset of the dropdown panel\n */\n offset?: number\n /**\n * @description when backspace is pressed to delete, whether the mention content is deleted as a whole\n */\n whole?: boolean\n /**\n * @description when backspace is pressed to delete, check if the mention is a whole\n */\n checkIsWhole?: (pattern: string, prefix: string) => boolean\n /**\n * @description input value\n */\n modelValue?: string\n /**\n * @description whether the dropdown panel of mentions is in a loading state.\n */\n loading?: boolean\n /**\n * @description custom class name for dropdown panel\n */\n popperClass?: ElTooltipContentProps['popperClass']\n /**\n * @description custom style for dropdown panel\n */\n popperStyle?: ElTooltipContentProps['popperStyle']\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions?: Partial<Options>\n /**\n * @description configuration options\n */\n props?: MentionOptionProps\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `MentionProps` instead.\n */\nexport const mentionProps = buildProps({\n ...inputProps,\n /**\n * @description mention options list\n */\n options: {\n type: definePropType<MentionOption[]>(Array),\n default: () => [],\n },\n /**\n * @description prefix character to trigger mentions. The string length must be exactly 1.\n */\n prefix: {\n type: definePropType<string | string[]>([String, Array]),\n default: '@',\n validator: (val: string | string[]) => {\n if (isString(val)) return val.length === 1\n return val.every((v) => isString(v) && v.length === 1)\n },\n },\n /**\n * @description character to split mentions. The string length must be exactly 1.\n */\n split: {\n type: String,\n default: ' ',\n validator: (val: string) => val.length === 1,\n },\n /**\n * @description customize filter option logic.\n */\n filterOption: {\n type: definePropType<false | typeof filterOption>([Boolean, Function]),\n default: () => filterOption,\n validator: (val) => {\n if (val === false) return true\n return isFunction(val)\n },\n },\n /**\n * @description set popup placement\n */\n placement: {\n type: definePropType<'bottom' | 'top'>(String),\n default: 'bottom',\n },\n /**\n * @description whether the dropdown panel has an arrow\n */\n showArrow: Boolean,\n
|