UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 2.91 kB
{"version":3,"file":"instance.mjs","sources":["../../../../../../packages/components/message/src/instance.ts"],"sourcesContent":["import { shallowReactive } from 'vue'\n\nimport type { ComponentInternalInstance, VNode } from 'vue'\nimport type { Mutable } from '@element-plus/utils'\nimport type { MessageHandler, MessagePlacement, MessageProps } from './message'\n\nexport type MessageContext = {\n id: string\n vnode: VNode\n handler: MessageHandler\n vm: ComponentInternalInstance\n props: Mutable<MessageProps>\n}\n\nexport const placementInstances = shallowReactive(\n {} as Record<MessagePlacement, MessageContext[]>\n)\n\nexport const getOrCreatePlacementInstances = (placement: MessagePlacement) => {\n if (!placementInstances[placement]) {\n placementInstances[placement] = shallowReactive([])\n }\n return placementInstances[placement]\n}\n\nexport const getInstance = (id: string, placement: MessagePlacement) => {\n const instances = placementInstances[placement] || []\n const idx = instances.findIndex((instance) => instance.id === id)\n const current = instances[idx]\n let prev: MessageContext | undefined\n if (idx > 0) {\n prev = instances[idx - 1]\n }\n return { current, prev }\n}\n\nexport const getLastOffset = (\n id: string,\n placement: MessagePlacement\n): number => {\n const { prev } = getInstance(id, placement)\n if (!prev) return 0\n return prev.vm.exposed!.bottom.value\n}\n\nexport const getOffsetOrSpace = (\n id: string,\n offset: number,\n placement: MessagePlacement\n) => {\n const instances = placementInstances[placement] || []\n const idx = instances.findIndex((instance) => instance.id === id)\n return idx > 0 ? 16 : offset\n}\n"],"names":[],"mappings":";;AAcO,MAAM,kBAAqB,GAAA,eAAA;AAAA,EAChC,EAAC;AACH,EAAA;AAEa,MAAA,6BAAA,GAAgC,CAAC,SAAgC,KAAA;AAC5E,EAAI,IAAA,CAAC,mBAAmB,SAAY,CAAA,EAAA;AAClC,IAAmB,kBAAA,CAAA,SAAA,CAAA,GAAa,eAAgB,CAAA,EAAE,CAAA,CAAA;AAAA,GACpD;AACA,EAAA,OAAO,kBAAmB,CAAA,SAAA,CAAA,CAAA;AAC5B,EAAA;AAEa,MAAA,WAAA,GAAc,CAAC,EAAA,EAAY,SAAgC,KAAA;AACtE,EAAM,MAAA,SAAA,GAAY,kBAAmB,CAAA,SAAA,CAAA,IAAc,EAAC,CAAA;AACpD,EAAA,MAAM,MAAM,SAAU,CAAA,SAAA,CAAU,CAAC,QAAa,KAAA,QAAA,CAAS,OAAO,EAAE,CAAA,CAAA;AAChE,EAAA,MAAM,UAAU,SAAU,CAAA,GAAA,CAAA,CAAA;AAC1B,EAAI,IAAA,IAAA,CAAA;AACJ,EAAA,IAAI,MAAM,CAAG,EAAA;AACX,IAAA,IAAA,GAAO,UAAU,GAAM,GAAA,CAAA,CAAA,CAAA;AAAA,GACzB;AACA,EAAO,OAAA,EAAE,SAAS,IAAK,EAAA,CAAA;AACzB,EAAA;AAEa,MAAA,aAAA,GAAgB,CAC3B,EAAA,EACA,SACW,KAAA;AACX,EAAA,MAAM,EAAE,IAAA,EAAS,GAAA,WAAA,CAAY,IAAI,SAAS,CAAA,CAAA;AAC1C,EAAA,IAAI,CAAC,IAAA;AAAM,IAAO,OAAA,CAAA,CAAA;AAClB,EAAO,OAAA,IAAA,CAAK,EAAG,CAAA,OAAA,CAAS,MAAO,CAAA,KAAA,CAAA;AACjC,EAAA;AAEO,MAAM,gBAAmB,GAAA,CAC9B,EACA,EAAA,MAAA,EACA,SACG,KAAA;AACH,EAAM,MAAA,SAAA,GAAY,kBAAmB,CAAA,SAAA,CAAA,IAAc,EAAC,CAAA;AACpD,EAAA,MAAM,MAAM,SAAU,CAAA,SAAA,CAAU,CAAC,QAAa,KAAA,QAAA,CAAS,OAAO,EAAE,CAAA,CAAA;AAChE,EAAO,OAAA,GAAA,GAAM,IAAI,EAAK,GAAA,MAAA,CAAA;AACxB;;;;"}