Spartans get ready! v1 is coming!
We are very close to our first stable release. Expect more announcements in the coming weeks. v1 was made possible by our partner Zerops.
Getting Started
Stack
Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Autocomplete
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Dropdown Menu
- Empty
- Field
- Form Field
- Hover Card
- Icon
- Input Group
- Input OTP
- Input
- Item
- Kbd
- Label
- Menubar
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner (Toast)
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toggle
- Toggle Group
- Tooltip
Hover Card
For sighted users to preview content available behind a link.
import { Component } from '@angular/core';
import { NgIcon, provideIcons } from '@ng-icons/core';
import { lucideCalendar } from '@ng-icons/lucide';
import { BrnHoverCardImports } from '@spartan-ng/brain/hover-card';
import { HlmAvatarImports } from '@spartan-ng/helm/avatar';
import { HlmButton } from '@spartan-ng/helm/button';
import { HlmHoverCardImports } from '@spartan-ng/helm/hover-card';
import { HlmIcon } from '@spartan-ng/helm/icon';
@Component({
selector: 'spartan-hover-card-preview',
imports: [BrnHoverCardImports, HlmHoverCardImports, HlmButton, NgIcon, HlmIcon, HlmAvatarImports],
providers: [provideIcons({ lucideCalendar })],
template: `
<brn-hover-card>
<button hlmBtn variant="link" brnHoverCardTrigger>@analogjs</button>
<hlm-hover-card-content *brnHoverCardContent class="w-80">
<div class="flex justify-between space-x-4">
<hlm-avatar variant="small" id="avatar-small">
<img src="https://analogjs.org/img/logos/analog-logo.svg" alt="AnalogLogo" hlmAvatarImage />
<span class="bg-red-600 text-red-800" hlmAvatarFallback>AN</span>
</hlm-avatar>
<div class="space-y-1">
<h4 class="text-sm font-semibold">@analogjs</h4>
<p class="text-sm">The Angular meta-framework – build Angular applications faster.</p>
<div class="flex items-center pt-2">
<ng-icon hlm size="sm" name="lucideCalendar" class="mr-2 opacity-70" />
<span class="text-muted-foreground text-xs">Joined December 2021</span>
</div>
</div>
</div>
</hlm-hover-card-content>
</brn-hover-card>
`,
})
export class HoverCardPreview {}Installation
npx nx g @spartan-ng/cli:ui hovercard
ng g @spartan-ng/cli:ui hovercard
Usage
import {
BrnHoverCard
BrnHoverCardContent
BrnHoverCardTrigger
} from '@spartan-ng/brain/hover-card';
import {
HlmHoverCardContent
} from '@spartan-ng/helm/hover-card';<brn-hover-card>
<button hlmBtn variant="link" brnHoverCardTrigger>@analogjs</button>
<hlm-hover-card-content *brnHoverCardContent>The Angular meta-framework.</hlm-hover-card-content>
</brn-hover-card>Brain API
BrnHoverCardContent
Selector: [brnHoverCardContent]
ExportAs: brnHoverCardContent
BrnHoverCardTrigger
Selector: [brnHoverCardTrigger]:not(ng-container),[brnHoverCardTriggerFor]:not(ng-container)
ExportAs: brnHoverCardTrigger
Inputs
| Prop | Type | Default | Description |
|---|---|---|---|
| showDelay | unknown | 300 | - |
| hideDelay | unknown | 500 | - |
| animationDelay | unknown | 100 | - |
| sideOffset | unknown | 5 | - |
| align | 'top' | 'bottom' | bottom | - |
| brnHoverCardTriggerFor | TemplateRef<unknown> | BrnHoverCardContent | undefined | undefined | - |
BrnHoverCard
Selector: brn-hover-card
Helm API
HlmHoverCardContent
Selector: hlm-hover-card-content
Inputs
| Prop | Type | Default | Description |
|---|---|---|---|
| class | ClassValue | - | - |