From e9f776b1aec088492077b6c8e777068b37f5e6d0 Mon Sep 17 00:00:00 2001 From: LEO DANIEL A Date: Thu, 1 Jan 2026 20:40:12 +0530 Subject: [PATCH] feat: add hovercard component --- src/components/HoverCard/HoverCard.story.vue | 201 +++++++++++++++++++ src/components/HoverCard/HoverCard.vue | 72 +++++++ src/components/HoverCard/index.ts | 4 + src/components/HoverCard/types.ts | 7 + src/index.ts | 1 + 5 files changed, 285 insertions(+) create mode 100644 src/components/HoverCard/HoverCard.story.vue create mode 100644 src/components/HoverCard/HoverCard.vue create mode 100644 src/components/HoverCard/index.ts create mode 100644 src/components/HoverCard/types.ts diff --git a/src/components/HoverCard/HoverCard.story.vue b/src/components/HoverCard/HoverCard.story.vue new file mode 100644 index 000000000..e08109ce6 --- /dev/null +++ b/src/components/HoverCard/HoverCard.story.vue @@ -0,0 +1,201 @@ + + + diff --git a/src/components/HoverCard/HoverCard.vue b/src/components/HoverCard/HoverCard.vue new file mode 100644 index 000000000..9cec19b49 --- /dev/null +++ b/src/components/HoverCard/HoverCard.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/components/HoverCard/index.ts b/src/components/HoverCard/index.ts new file mode 100644 index 000000000..f94809b05 --- /dev/null +++ b/src/components/HoverCard/index.ts @@ -0,0 +1,4 @@ +import HoverCard from './HoverCard.vue' + +export { HoverCard } +export type { HoverCardProps } from './types' diff --git a/src/components/HoverCard/types.ts b/src/components/HoverCard/types.ts new file mode 100644 index 000000000..41ff77a87 --- /dev/null +++ b/src/components/HoverCard/types.ts @@ -0,0 +1,7 @@ +import { type HTMLAttributes } from 'vue' + +export interface HoverCardProps { + arrow?: boolean + arrowClass?: HTMLAttributes['class'] + contentClass?: HTMLAttributes['class'] +} diff --git a/src/index.ts b/src/index.ts index c7475dbec..dff2ad660 100644 --- a/src/index.ts +++ b/src/index.ts @@ -23,6 +23,7 @@ export { default as FeatherIcon } from './components/FeatherIcon.vue' export * from './components/FileUploader' export * from './components/FormControl' export { default as FormLabel } from './components/FormLabel.vue' +export * from './components/HoverCard' export { default as Input } from './components/Input.vue' export { default as ListItem } from './components/ListItem.vue' export { default as LoadingIndicator } from './components/LoadingIndicator.vue'