{"version":3,"file":"VTooltip.mjs","names":["VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","mergeProps","ref","genericComponent","getUid","omit","propsFactory","useRender","makeVTooltipProps","id","String","text","closeOnBack","location","locationStrategy","eager","minWidth","offset","openOnClick","openOnHover","origin","scrim","scrollStrategy","transition","VTooltip","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","split","length","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VTooltip/VTooltip.tsx"],"sourcesContent":["// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, mergeProps, ref } from 'vue'\nimport { genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVTooltipProps = propsFactory({\n  id: String,\n  text: String,\n\n  ...omit(makeVOverlayProps({\n    closeOnBack: false,\n    location: 'end' as const,\n    locationStrategy: 'connected' as const,\n    eager: true,\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  ]),\n}, 'VTooltip')\n\nexport const VTooltip = genericComponent<OverlaySlots>()({\n  name: 'VTooltip',\n\n  props: makeVTooltipProps(),\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 = VOverlay.filterProps(props)\n\n      return (\n        <VOverlay\n          ref={ overlay }\n          class={[\n            'v-tooltip',\n            props.class,\n          ]}\n          style={ props.style }\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          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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","ignoreList":[]}