PHP Classes

File: resources/js/components/ui/sidebar/SidebarMenuButton.vue

Recommend this page to a friend!
  Packages of Niko Peikrishvili   Ticker   resources/js/components/ui/sidebar/SidebarMenuButton.vue   Download  
File: resources/js/components/ui/sidebar/SidebarMenuButton.vue
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Ticker
Application to track and manage to do tasks
Author: By
Last change:
Date: 2 months ago
Size: 1,310 bytes
 

Contents

Class file image Download
<script setup lang="ts"> import type { Component } from "vue" import type { SidebarMenuButtonProps } from "./SidebarMenuButtonChild.vue" import { reactiveOmit } from "@vueuse/core" import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip' import SidebarMenuButtonChild from "./SidebarMenuButtonChild.vue" import { useSidebar } from "./utils" defineOptions({ inheritAttrs: false, }) const props = withDefaults(defineProps<SidebarMenuButtonProps & { tooltip?: string | Component }>(), { as: "button", variant: "default", size: "default", }) const { isMobile, state } = useSidebar() const delegatedProps = reactiveOmit(props, "tooltip") </script> <template> <SidebarMenuButtonChild v-if="!tooltip" v-bind="{ ...delegatedProps, ...$attrs }"> <slot /> </SidebarMenuButtonChild> <Tooltip v-else> <TooltipTrigger as-child> <SidebarMenuButtonChild v-bind="{ ...delegatedProps, ...$attrs }"> <slot /> </SidebarMenuButtonChild> </TooltipTrigger> <TooltipContent side="right" align="center" :hidden="state !== 'collapsed' || isMobile" > <template v-if="typeof tooltip === 'string'"> {{ tooltip }} </template> <component :is="tooltip" v-else /> </TooltipContent> </Tooltip> </template>