{"version":3,"file":"VTooltip.mjs","names":["VOverlay","useProxiedModel","useScopeId","forwardRefs","computed","mergeProps","ref","genericComponent","getUid","omit","useRender","filterVOverlayProps","makeVOverlayProps","VTooltip","name","props","id","String","text","closeOnBack","location","locationStrategy","minWidth","offset","openOnClick","openOnHover","origin","scrim","scrollStrategy","transition","emits","value","setup","slots","isActive","scopeId","uid","overlay","split","length","activatorProps","overlayProps","activator","default","args"],"sources":["../../../src/components/VTooltip/VTooltip.tsx"],"sourcesContent":["// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { computed, mergeProps, ref } from 'vue'\nimport { genericComponent, getUid, omit, useRender } from '@/util'\nimport { filterVOverlayProps, makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\n\nexport const VTooltip = genericComponent<OverlaySlots>()({\n  name: 'VTooltip',\n\n  props: {\n    id: String,\n    text: String,\n\n    ...omit(makeVOverlayProps({\n      closeOnBack: false,\n      location: 'end' as const,\n      locationStrategy: 'connected' as const,\n      minWidth: 0,\n      offset: 10,\n      openOnClick: false,\n      openOnHover: true,\n      origin: 'auto' as const,\n      scrim: false,\n      scrollStrategy: 'reposition' as const,\n      transition: false,\n    }), [\n      'absolute',\n      'persistent',\n      'eager',\n    ]),\n  },\n\n  emits: {\n    'update:modelValue': (value: boolean) => true,\n  },\n\n  setup (props, { slots }) {\n    const isActive = useProxiedModel(props, 'modelValue')\n    const { scopeId } = useScopeId()\n\n    const uid = getUid()\n    const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n    const overlay = ref<VOverlay>()\n\n    const location = computed(() => {\n      return props.location.split(' ').length > 1\n        ? props.location\n        : props.location + ' center' as StrategyProps['location']\n    })\n\n    const origin = computed(() => {\n      return (\n        props.origin === 'auto' ||\n        props.origin === 'overlap' ||\n        props.origin.split(' ').length > 1 ||\n        props.location.split(' ').length > 1\n      ) ? props.origin\n        : props.origin + ' center' as StrategyProps['origin']\n    })\n\n    const transition = computed(() => {\n      if (props.transition) return props.transition\n      return isActive.value ? 'scale-transition' : 'fade-transition'\n    })\n\n    const activatorProps = computed(() =>\n      mergeProps({\n        'aria-describedby': id.value,\n      }, props.activatorProps)\n    )\n\n    useRender(() => {\n      const [overlayProps] = filterVOverlayProps(props)\n\n      return (\n        <VOverlay\n          ref={ overlay }\n          class={[\n            'v-tooltip',\n          ]}\n          id={ id.value }\n          { ...overlayProps }\n          v-model={ isActive.value }\n          transition={ transition.value }\n          absolute\n          location={ location.value }\n          origin={ origin.value }\n          persistent\n          role=\"tooltip\"\n          eager\n          activatorProps={ activatorProps.value }\n          _disableGlobalStack\n          { ...scopeId }\n        >\n          {{\n            activator: slots.activator,\n            default: (...args) => slots.default?.(...args) ?? props.text,\n          }}\n        </VOverlay>\n      )\n    })\n\n    return forwardRefs({}, overlay)\n  },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n"],"mappings":"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"}