@dataengineeringformachinelearning/viking-ui 3.0.0-alpha.2 → 3.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +52 -12
- package/dist/core/brand-icons.d.ts +29 -0
- package/dist/core/icons.d.ts +132 -0
- package/dist/core/integration-brand-icons.d.ts +18 -0
- package/dist/core/lucide-paths.generated.d.ts +90 -0
- package/dist/core/types.d.ts +56 -0
- package/dist/core/uid.d.ts +2 -0
- package/dist/lib/accordion/accordion.d.ts +19 -0
- package/dist/lib/app-header/app-header.d.ts +8 -0
- package/dist/lib/app-sidebar/app-sidebar.d.ts +10 -0
- package/dist/lib/auth-panel/auth-panel.d.ts +13 -0
- package/dist/lib/autocomplete/autocomplete.d.ts +25 -0
- package/dist/lib/avatar/avatar.d.ts +14 -0
- package/dist/lib/badge/badge.d.ts +16 -0
- package/dist/lib/bar/bar.d.ts +4 -0
- package/dist/lib/brand/brand.d.ts +8 -0
- package/dist/lib/breadcrumbs/breadcrumbs.d.ts +10 -0
- package/dist/lib/button/button-group.d.ts +6 -0
- package/dist/lib/button/button.d.ts +25 -0
- package/dist/lib/calendar/calendar.d.ts +22 -0
- package/dist/lib/callout/callout.d.ts +14 -0
- package/dist/lib/card/card-title.d.ts +12 -0
- package/dist/lib/card/card.d.ts +19 -0
- package/dist/lib/carousel/carousel.d.ts +13 -0
- package/dist/lib/chart/chart-zoom.d.ts +14 -0
- package/dist/lib/chart/chart.d.ts +119 -0
- package/dist/lib/chart-card-header/chart-card-header.d.ts +10 -0
- package/dist/lib/chart-empty-state/chart-empty-state.d.ts +13 -0
- package/dist/lib/chart-panel/chart-panel.d.ts +10 -0
- package/dist/lib/checkbox/checkbox.d.ts +13 -0
- package/dist/lib/color-picker/color-picker.d.ts +16 -0
- package/dist/lib/command/command.d.ts +23 -0
- package/dist/lib/composer/composer.d.ts +15 -0
- package/dist/lib/confirm-dialog/confirm-dialog.d.ts +18 -0
- package/dist/lib/confirm-dialog/dialog.service.d.ts +28 -0
- package/dist/lib/context/context.d.ts +17 -0
- package/dist/lib/core/cva.d.ts +15 -0
- package/dist/lib/date-picker/date-picker.d.ts +18 -0
- package/dist/lib/dropdown/dropdown.d.ts +29 -0
- package/dist/lib/editor/editor.d.ts +26 -0
- package/dist/lib/empty-state/empty-state.d.ts +9 -0
- package/dist/lib/fab/fab.d.ts +9 -0
- package/dist/lib/field/field.d.ts +14 -0
- package/dist/lib/file-upload/file-upload.d.ts +19 -0
- package/dist/lib/footer/footer.d.ts +6 -0
- package/dist/lib/form-section/form-section.d.ts +15 -0
- package/dist/lib/gauge-arc/gauge-arc.d.ts +8 -0
- package/dist/lib/hud-panel/hud-panel.d.ts +5 -0
- package/dist/lib/icon/icon.d.ts +44 -0
- package/dist/lib/icon-badge/icon-badge.d.ts +14 -0
- package/dist/lib/icon-heading/icon-heading.d.ts +9 -0
- package/dist/lib/icon-text/icon-text.d.ts +12 -0
- package/dist/lib/input/input.d.ts +23 -0
- package/dist/lib/kanban/kanban.d.ts +16 -0
- package/dist/lib/kbd/kbd.d.ts +5 -0
- package/dist/lib/label/label.d.ts +7 -0
- package/dist/lib/loading-overlay/loading-overlay.d.ts +10 -0
- package/dist/lib/menubar/menubar.d.ts +10 -0
- package/dist/lib/metric-card/metric-card.d.ts +9 -0
- package/dist/lib/modal/modal.d.ts +13 -0
- package/dist/lib/native-select/native-select.d.ts +17 -0
- package/dist/lib/navbar/navbar.d.ts +13 -0
- package/dist/lib/navigation-menu/navigation-menu.d.ts +13 -0
- package/dist/lib/otp-input/otp-input.d.ts +23 -0
- package/dist/lib/page-back-link/page-back-link.d.ts +11 -0
- package/dist/lib/page-header/page-header.d.ts +15 -0
- package/dist/lib/pagination/pagination.d.ts +10 -0
- package/dist/lib/pillbox/pillbox.d.ts +15 -0
- package/dist/lib/popover/popover.d.ts +15 -0
- package/dist/lib/profile/profile.d.ts +11 -0
- package/dist/lib/progress/progress.d.ts +12 -0
- package/dist/lib/radio/radio.d.ts +16 -0
- package/dist/lib/ring-gauge/ring-gauge.d.ts +8 -0
- package/dist/lib/scroll-area/scroll-area.d.ts +7 -0
- package/dist/lib/search-palette/search-palette.d.ts +16 -0
- package/dist/lib/select/select.d.ts +26 -0
- package/dist/lib/separator/separator.d.ts +8 -0
- package/dist/lib/sheet/sheet.d.ts +13 -0
- package/dist/lib/sidebar-nav/sidebar-nav.d.ts +46 -0
- package/dist/lib/site-drakkar/site-footer.d.ts +18 -0
- package/dist/lib/site-drakkar/site-navbar.d.ts +25 -0
- package/dist/lib/skeleton/skeleton.d.ts +8 -0
- package/dist/lib/slider/slider.d.ts +17 -0
- package/dist/lib/spinner/spinner.d.ts +7 -0
- package/dist/lib/status-metric-row/status-metric-row.d.ts +9 -0
- package/dist/lib/suite-search-palette/suite-search-palette.d.ts +25 -0
- package/dist/lib/switch/switch.d.ts +12 -0
- package/dist/lib/table/table.d.ts +10 -0
- package/dist/lib/tabs/tab-panel.d.ts +12 -0
- package/dist/lib/tabs/tab.d.ts +14 -0
- package/dist/lib/tabs/tabs.d.ts +10 -0
- package/dist/lib/textarea/textarea.d.ts +16 -0
- package/dist/lib/theme-toggle/theme-toggle.d.ts +9 -0
- package/dist/lib/time-picker/time-picker.d.ts +21 -0
- package/dist/lib/timeline/timeline.d.ts +14 -0
- package/dist/lib/toast/toast.d.ts +21 -0
- package/dist/lib/toggle/toggle-group.d.ts +9 -0
- package/dist/lib/toggle/toggle.d.ts +15 -0
- package/dist/lib/tooltip/tooltip.d.ts +20 -0
- package/dist/lib/typography/heading.d.ts +9 -0
- package/dist/lib/typography/text.d.ts +11 -0
- package/dist/lib/uptime-bar/uptime-bar.d.ts +6 -0
- package/dist/lib/verification-code-field/verification-code-field.d.ts +19 -0
- package/dist/lib/whitepaper-cta/whitepaper-cta.d.ts +15 -0
- package/dist/lib/wizard/wizard.d.ts +13 -0
- package/dist/public-api.d.ts +109 -0
- package/dist/tokens/series-presets.d.ts +4 -0
- package/package.json +1 -1
- package/src/assets/drakkar-favicon.svg +17 -0
- package/src/core/brand/deml-lockup.svg +5 -0
- package/src/core/brand/deml-mark-compact.svg +4 -0
- package/src/core/brand/deml-mark-filled.svg +3 -0
- package/src/core/brand/deml-mark-outline.svg +4 -0
- package/src/core/brand-icons.ts +62 -0
- package/src/core/icons.spec.ts +52 -0
- package/src/core/icons.ts +206 -0
- package/src/core/integration-brand-icons.ts +77 -0
- package/src/core/lucide-paths.generated.ts +130 -0
- package/src/core/types.ts +85 -0
- package/src/core/uid.ts +7 -0
- package/src/lib/accordion/accordion.ts +126 -0
- package/src/lib/app-header/app-header.scss +274 -0
- package/src/lib/app-header/app-header.ts +43 -0
- package/src/lib/app-sidebar/app-sidebar.scss +415 -0
- package/src/lib/app-sidebar/app-sidebar.ts +29 -0
- package/src/lib/auth-panel/auth-panel.spec.ts +132 -0
- package/src/lib/auth-panel/auth-panel.ts +228 -0
- package/src/lib/autocomplete/autocomplete.ts +223 -0
- package/src/lib/avatar/avatar.ts +126 -0
- package/src/lib/badge/badge.ts +182 -0
- package/src/lib/bar/bar.ts +31 -0
- package/src/lib/brand/brand.ts +60 -0
- package/src/lib/breadcrumbs/breadcrumbs.ts +81 -0
- package/src/lib/button/button-group.ts +40 -0
- package/src/lib/button/button.scss +96 -0
- package/src/lib/button/button.ts +98 -0
- package/src/lib/calendar/calendar.ts +253 -0
- package/src/lib/callout/callout.ts +211 -0
- package/src/lib/card/card-title.spec.ts +27 -0
- package/src/lib/card/card-title.ts +50 -0
- package/src/lib/card/card.ts +170 -0
- package/src/lib/carousel/carousel.ts +206 -0
- package/src/lib/chart/chart-zoom.spec.ts +65 -0
- package/src/lib/chart/chart-zoom.ts +71 -0
- package/src/lib/chart/chart.ts +1257 -0
- package/src/lib/chart-card-header/chart-card-header.ts +80 -0
- package/src/lib/chart-empty-state/chart-empty-state.ts +146 -0
- package/src/lib/chart-panel/chart-panel.ts +133 -0
- package/src/lib/checkbox/checkbox.ts +139 -0
- package/src/lib/color-picker/color-picker.ts +148 -0
- package/src/lib/command/command.ts +260 -0
- package/src/lib/composer/composer.ts +180 -0
- package/src/lib/confirm-dialog/confirm-dialog.ts +163 -0
- package/src/lib/confirm-dialog/dialog.service.ts +79 -0
- package/src/lib/context/context.ts +75 -0
- package/src/lib/core/cva.ts +33 -0
- package/src/lib/date-picker/date-picker.ts +139 -0
- package/src/lib/dropdown/dropdown.ts +188 -0
- package/src/lib/editor/editor.ts +170 -0
- package/src/lib/empty-state/empty-state.ts +100 -0
- package/src/lib/fab/fab.ts +76 -0
- package/src/lib/field/field.ts +111 -0
- package/src/lib/file-upload/file-upload.ts +208 -0
- package/src/lib/footer/footer.scss +155 -0
- package/src/lib/footer/footer.ts +28 -0
- package/src/lib/form-section/form-section.ts +200 -0
- package/src/lib/forms.spec.ts +92 -0
- package/src/lib/gauge-arc/gauge-arc.ts +85 -0
- package/src/lib/hud-panel/hud-panel.ts +27 -0
- package/src/lib/icon/icon.ts +284 -0
- package/src/lib/icon-badge/icon-badge.ts +87 -0
- package/src/lib/icon-heading/icon-heading.spec.ts +32 -0
- package/src/lib/icon-heading/icon-heading.ts +38 -0
- package/src/lib/icon-text/icon-text.ts +120 -0
- package/src/lib/input/input.ts +119 -0
- package/src/lib/kanban/kanban.ts +211 -0
- package/src/lib/kbd/kbd.ts +32 -0
- package/src/lib/label/label.ts +39 -0
- package/src/lib/loading-overlay/loading-overlay.ts +80 -0
- package/src/lib/menubar/menubar.ts +77 -0
- package/src/lib/metric-card/metric-card.ts +33 -0
- package/src/lib/modal/modal.ts +207 -0
- package/src/lib/native-select/native-select.ts +124 -0
- package/src/lib/navbar/navbar.ts +124 -0
- package/src/lib/navigation-menu/navigation-menu.ts +116 -0
- package/src/lib/otp-input/otp-input.ts +164 -0
- package/src/lib/page-back-link/page-back-link.ts +74 -0
- package/src/lib/page-header/page-header.ts +70 -0
- package/src/lib/pagination/pagination.ts +157 -0
- package/src/lib/pillbox/pillbox.ts +157 -0
- package/src/lib/popover/popover.ts +92 -0
- package/src/lib/profile/profile.ts +73 -0
- package/src/lib/progress/progress.ts +123 -0
- package/src/lib/radio/radio.ts +132 -0
- package/src/lib/ring-gauge/ring-gauge.ts +75 -0
- package/src/lib/scroll-area/scroll-area.ts +57 -0
- package/src/lib/search-palette/search-palette.scss +288 -0
- package/src/lib/search-palette/search-palette.ts +114 -0
- package/src/lib/select/select.ts +292 -0
- package/src/lib/separator/separator.ts +59 -0
- package/src/lib/sheet/sheet.ts +192 -0
- package/src/lib/sidebar-nav/sidebar-nav.scss +218 -0
- package/src/lib/sidebar-nav/sidebar-nav.ts +158 -0
- package/src/lib/site-drakkar/site-footer.ts +129 -0
- package/src/lib/site-drakkar/site-navbar.scss +2 -0
- package/src/lib/site-drakkar/site-navbar.ts +267 -0
- package/src/lib/site-drakkar/suite-search-items.spec.ts +61 -0
- package/src/lib/skeleton/skeleton.ts +51 -0
- package/src/lib/slider/slider.ts +133 -0
- package/src/lib/spinner/spinner.ts +75 -0
- package/src/lib/status-metric-row/status-metric-row.ts +74 -0
- package/src/lib/suite-search-palette/suite-search-palette.ts +95 -0
- package/src/lib/switch/switch.ts +131 -0
- package/src/lib/table/table.ts +137 -0
- package/src/lib/tabs/tab-panel.ts +61 -0
- package/src/lib/tabs/tab.ts +107 -0
- package/src/lib/tabs/tabs.ts +109 -0
- package/src/lib/textarea/textarea.ts +103 -0
- package/src/lib/theme-toggle/theme-toggle.spec.ts +40 -0
- package/src/lib/theme-toggle/theme-toggle.ts +39 -0
- package/src/lib/time-picker/time-picker.ts +197 -0
- package/src/lib/timeline/timeline.ts +152 -0
- package/src/lib/toast/toast.ts +196 -0
- package/src/lib/toggle/toggle-group.ts +60 -0
- package/src/lib/toggle/toggle.ts +101 -0
- package/src/lib/tooltip/tooltip.ts +119 -0
- package/src/lib/typography/heading.ts +52 -0
- package/src/lib/typography/text.ts +51 -0
- package/src/lib/uptime-bar/uptime-bar.ts +55 -0
- package/src/lib/verification-code-field/verification-code-field.ts +149 -0
- package/src/lib/whitepaper-cta/whitepaper-cta.scss +130 -0
- package/src/lib/whitepaper-cta/whitepaper-cta.ts +78 -0
- package/src/lib/wizard/wizard.ts +80 -0
- package/src/public-api.ts +172 -0
- package/src/tokens/series-presets.ts +15 -0
- package/src/tokens/tailwind.preset.js +209 -0
- package/src/viking-ui.spec.ts +416 -0
- package/src/web/web-components.spec.ts +297 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { VikingControl } from "../core/cva";
|
|
2
|
+
import { VikingSelectOption } from "../../core/types";
|
|
3
|
+
import type { VikingSelectWidth } from "../select/select";
|
|
4
|
+
/**
|
|
5
|
+
* viking-native-select — styled native <select>.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VikingNativeSelect extends VikingControl<string | number | null> {
|
|
8
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly options: import("@angular/core").InputSignal<VikingSelectOption<unknown>[]>;
|
|
11
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
readonly width: import("@angular/core").InputSignal<VikingSelectWidth>;
|
|
13
|
+
readonly value: import("@angular/core").ModelSignal<string | number>;
|
|
14
|
+
protected readonly selectId: string;
|
|
15
|
+
writeValue(value: string | number | null): void;
|
|
16
|
+
protected onSelectChange: (event: Event) => void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-navbar — horizontal navigation container.
|
|
3
|
+
* Compose with viking-navbar-item and any other inline content.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingNavbar {
|
|
6
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
7
|
+
}
|
|
8
|
+
/** Navigation link/button inside viking-navbar. */
|
|
9
|
+
export declare class VikingNavbarItem {
|
|
10
|
+
readonly href: import("@angular/core").InputSignal<string>;
|
|
11
|
+
readonly icon: import("@angular/core").InputSignal<"link" | "menu" | "search" | "deml" | "deml-compact" | "deml-lockup" | "drakkar" | "drakkar-compact" | "drakkar-lockup" | "kubernetes" | "tensorflow" | "pytorch" | "apache-spark" | "databricks" | "aws-redshift" | "info" | "hub" | "model" | "google" | "apple" | "alert-circle" | "alert-triangle" | "arrow-left" | "arrow-right" | "arrow-up-right" | "bar-chart" | "bell" | "bold" | "bolt" | "brain" | "bug" | "building" | "calendar" | "check" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chip" | "clock" | "cloud" | "cookie" | "copy" | "dots-horizontal" | "dots-vertical" | "download" | "external" | "eye" | "eye-off" | "file" | "filter" | "fingerprint" | "folder" | "globe" | "grip-vertical" | "heart" | "home" | "image" | "insights" | "italic" | "key" | "list" | "list-ordered" | "loader" | "lock" | "log-in" | "log-out" | "mail" | "minus" | "moon" | "network" | "paperclip" | "pencil" | "phone" | "play" | "plus" | "policy" | "refresh" | "rocket" | "search-off" | "send" | "server" | "settings" | "shield" | "ship" | "sparkle" | "speed" | "star" | "sun" | "terminal" | "trash" | "trending-up" | "underline" | "upload" | "user" | "user-shield" | "x">;
|
|
12
|
+
readonly current: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface VikingNavItem {
|
|
2
|
+
label: string;
|
|
3
|
+
href?: string;
|
|
4
|
+
active?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* viking-navigation-menu — primary nav links with active indicator.
|
|
9
|
+
*/
|
|
10
|
+
export declare class VikingNavigationMenu {
|
|
11
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
12
|
+
readonly items: import("@angular/core").InputSignal<VikingNavItem[]>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ElementRef } from "@angular/core";
|
|
2
|
+
import { VikingControl } from "../core/cva";
|
|
3
|
+
/**
|
|
4
|
+
* viking-otp-input — one-time-passcode input.
|
|
5
|
+
* Auto-advances between cells and supports paste. ControlValueAccessor-compatible.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VikingOtpInput extends VikingControl<string> {
|
|
8
|
+
private readonly host;
|
|
9
|
+
readonly length: import("@angular/core").InputSignal<number>;
|
|
10
|
+
readonly value: import("@angular/core").ModelSignal<string>;
|
|
11
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
12
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
readonly centered: import("@angular/core").InputSignal<boolean>;
|
|
14
|
+
readonly completed: import("@angular/core").OutputEmitterRef<string>;
|
|
15
|
+
constructor(host: ElementRef<HTMLElement>);
|
|
16
|
+
protected readonly indexes: import("@angular/core").Signal<number[]>;
|
|
17
|
+
writeValue(value: string): void;
|
|
18
|
+
private commit;
|
|
19
|
+
private focusCell;
|
|
20
|
+
protected onCellInput: (event: Event, index: number) => void;
|
|
21
|
+
protected onKeydown: (event: KeyboardEvent, index: number) => void;
|
|
22
|
+
protected onPaste: (event: ClipboardEvent) => void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Params } from "@angular/router";
|
|
2
|
+
/**
|
|
3
|
+
* viking-page-back-link — consistent dashboard back navigation with fixed spacing
|
|
4
|
+
* below the control so page titles never sit flush against the link.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingPageBackLink {
|
|
7
|
+
readonly route: import("@angular/core").InputSignal<string | readonly string[]>;
|
|
8
|
+
readonly queryParams: import("@angular/core").InputSignal<Params>;
|
|
9
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly navLabel: import("@angular/core").InputSignal<string>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Params } from "@angular/router";
|
|
2
|
+
/**
|
|
3
|
+
* viking-page-header — unified HUD page title block (tag, title, subtitle) with
|
|
4
|
+
* optional back navigation and action slots.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingPageHeader {
|
|
7
|
+
readonly tag: import("@angular/core").InputSignal<string>;
|
|
8
|
+
readonly title: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly subtitle: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly layout: import("@angular/core").InputSignal<"hud" | "sidebar">;
|
|
11
|
+
readonly backTo: import("@angular/core").InputSignal<string | readonly string[]>;
|
|
12
|
+
readonly backQueryParams: import("@angular/core").InputSignal<Params>;
|
|
13
|
+
readonly backLabel: import("@angular/core").InputSignal<string>;
|
|
14
|
+
readonly backNavLabel: import("@angular/core").InputSignal<string>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-pagination — page navigation.
|
|
3
|
+
*/
|
|
4
|
+
export declare class VikingPagination {
|
|
5
|
+
readonly page: import("@angular/core").ModelSignal<number>;
|
|
6
|
+
readonly totalPages: import("@angular/core").InputSignal<number>;
|
|
7
|
+
/** Windowed page list with null entries marking ellipses. */
|
|
8
|
+
protected readonly pageItems: import("@angular/core").Signal<number[]>;
|
|
9
|
+
protected goTo: (target: number) => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { VikingControl } from "../core/cva";
|
|
2
|
+
/**
|
|
3
|
+
* viking-pillbox — multi-value tag input.
|
|
4
|
+
* Type and press Enter (or comma) to add pills. ControlValueAccessor-compatible.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingPillbox extends VikingControl<string[]> {
|
|
7
|
+
readonly values: import("@angular/core").ModelSignal<string[]>;
|
|
8
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
11
|
+
protected readonly draft: import("@angular/core").WritableSignal<string>;
|
|
12
|
+
writeValue(value: string[]): void;
|
|
13
|
+
protected onKeydown: (event: KeyboardEvent) => void;
|
|
14
|
+
protected remove: (pill: string) => void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ElementRef } from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* viking-popover — anchored floating panel.
|
|
4
|
+
* Project the trigger with the `vikingTrigger` attribute; everything else becomes
|
|
5
|
+
* the panel content. Closes on Escape or outside interaction.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VikingPopover {
|
|
8
|
+
private readonly host;
|
|
9
|
+
readonly open: import("@angular/core").ModelSignal<boolean>;
|
|
10
|
+
readonly align: import("@angular/core").InputSignal<"end" | "start">;
|
|
11
|
+
constructor(host: ElementRef<HTMLElement>);
|
|
12
|
+
/** Toggles when the (focusable, projected) trigger is activated. */
|
|
13
|
+
protected onHostClick: (event: Event) => void;
|
|
14
|
+
protected onDocumentClick: (event: Event) => void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { VikingTone } from "../../core/types";
|
|
2
|
+
/**
|
|
3
|
+
* viking-profile — user identity block.
|
|
4
|
+
* Project actions (e.g. viking-button) as content.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingProfile {
|
|
7
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
8
|
+
readonly detail: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly avatarSrc: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly status: import("@angular/core").InputSignal<VikingTone>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VikingTone } from "../../core/types";
|
|
2
|
+
/**
|
|
3
|
+
* viking-progress — determinate/indeterminate progress bar
|
|
4
|
+
*.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingProgress {
|
|
7
|
+
readonly value: import("@angular/core").InputSignal<number>;
|
|
8
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly tone: import("@angular/core").InputSignal<VikingTone>;
|
|
10
|
+
readonly indeterminate: import("@angular/core").InputSignal<boolean>;
|
|
11
|
+
protected readonly clamped: import("@angular/core").Signal<number>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { VikingControl } from "../core/cva";
|
|
2
|
+
import { VikingSelectOption } from "../../core/types";
|
|
3
|
+
/**
|
|
4
|
+
* viking-radio-group — radio group.
|
|
5
|
+
* ControlValueAccessor-compatible; options-driven for symmetry with viking-select.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VikingRadioGroup extends VikingControl<unknown> {
|
|
8
|
+
readonly options: import("@angular/core").InputSignal<VikingSelectOption<unknown>[]>;
|
|
9
|
+
readonly value: import("@angular/core").ModelSignal<unknown>;
|
|
10
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
11
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
readonly orientation: import("@angular/core").InputSignal<"horizontal" | "vertical">;
|
|
13
|
+
protected readonly groupName: string;
|
|
14
|
+
writeValue(value: unknown): void;
|
|
15
|
+
protected select: (option: VikingSelectOption) => void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** viking-ring-gauge — circular progress ring for health/score displays. */
|
|
2
|
+
export declare class VikingRingGauge {
|
|
3
|
+
readonly value: import("@angular/core").InputSignal<number>;
|
|
4
|
+
readonly max: import("@angular/core").InputSignal<number>;
|
|
5
|
+
readonly circumference: import("@angular/core").InputSignal<number>;
|
|
6
|
+
readonly status: import("@angular/core").InputSignal<string>;
|
|
7
|
+
protected readonly strokeDasharray: import("@angular/core").Signal<string>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-scroll-area — constrained scroll region with clinical scrollbar styling.
|
|
3
|
+
*/
|
|
4
|
+
export declare class VikingScrollArea {
|
|
5
|
+
readonly maxHeight: import("@angular/core").InputSignal<string>;
|
|
6
|
+
readonly maxWidth: import("@angular/core").InputSignal<string>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-search-palette — command-palette style search overlay (Product Hunt / Algolia inspired).
|
|
3
|
+
* Project custom result lists into the body slot; ⌘K / Ctrl+K wired by host app static widget.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingSearchPalette {
|
|
6
|
+
readonly open: import("@angular/core").ModelSignal<boolean>;
|
|
7
|
+
readonly query: import("@angular/core").ModelSignal<string>;
|
|
8
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly paletteKeydown: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
|
|
10
|
+
private readonly queryInput;
|
|
11
|
+
constructor();
|
|
12
|
+
protected onQueryInput(event: Event): void;
|
|
13
|
+
protected close(): void;
|
|
14
|
+
/** Platform modifier label for footer shortcut hint. */
|
|
15
|
+
protected modKey: () => string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ElementRef } from "@angular/core";
|
|
2
|
+
import { VikingControl } from "../core/cva";
|
|
3
|
+
import { VikingSelectOption } from "../../core/types";
|
|
4
|
+
export type VikingSelectWidth = "full" | "half";
|
|
5
|
+
/**
|
|
6
|
+
* viking-select — custom listbox select.
|
|
7
|
+
* ControlValueAccessor-compatible with full keyboard support.
|
|
8
|
+
*/
|
|
9
|
+
export declare class VikingSelect extends VikingControl<unknown> {
|
|
10
|
+
private readonly host;
|
|
11
|
+
readonly options: import("@angular/core").InputSignal<VikingSelectOption<unknown>[]>;
|
|
12
|
+
readonly value: import("@angular/core").ModelSignal<unknown>;
|
|
13
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
14
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
15
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
16
|
+
readonly width: import("@angular/core").InputSignal<VikingSelectWidth>;
|
|
17
|
+
constructor(host: ElementRef<HTMLElement>);
|
|
18
|
+
protected readonly open: import("@angular/core").WritableSignal<boolean>;
|
|
19
|
+
protected readonly activeIndex: import("@angular/core").WritableSignal<number>;
|
|
20
|
+
protected readonly selectedLabel: import("@angular/core").Signal<string>;
|
|
21
|
+
writeValue(value: unknown): void;
|
|
22
|
+
protected toggle: () => void;
|
|
23
|
+
protected pick: (option: VikingSelectOption) => void;
|
|
24
|
+
protected onKeydown: (event: KeyboardEvent) => void;
|
|
25
|
+
protected onDocumentClick: (event: Event) => void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-separator — horizontal/vertical rule with optional label
|
|
3
|
+
*.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingSeparator {
|
|
6
|
+
readonly orientation: import("@angular/core").InputSignal<"horizontal" | "vertical">;
|
|
7
|
+
readonly text: import("@angular/core").InputSignal<string>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type VikingSheetSide = "left" | "right";
|
|
2
|
+
/**
|
|
3
|
+
* viking-sheet — slide-over panel.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingSheet {
|
|
6
|
+
readonly open: import("@angular/core").ModelSignal<boolean>;
|
|
7
|
+
readonly heading: import("@angular/core").InputSignal<string>;
|
|
8
|
+
readonly dismissible: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
readonly side: import("@angular/core").InputSignal<VikingSheetSide>;
|
|
10
|
+
private readonly dialogRef;
|
|
11
|
+
constructor();
|
|
12
|
+
protected onBackdropClick: (event: MouseEvent) => void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-sidebar-nav — composable sidebar navigation container.
|
|
3
|
+
*/
|
|
4
|
+
export declare class VikingSidebarNav {
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* viking-sidebar-nav-link — router-aware sidebar nav item.
|
|
8
|
+
*/
|
|
9
|
+
export declare class VikingSidebarNavLink {
|
|
10
|
+
readonly routerLink: import("@angular/core").InputSignal<string | string[]>;
|
|
11
|
+
readonly routerLinkActiveOptions: import("@angular/core").InputSignal<{
|
|
12
|
+
exact: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
readonly title: import("@angular/core").InputSignal<string>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* viking-sidebar-nav-tree — expandable tree section within sidebar nav.
|
|
18
|
+
*/
|
|
19
|
+
export declare class VikingSidebarNavTree {
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* viking-sidebar-nav-tree-header — collapsible tree section header.
|
|
23
|
+
*/
|
|
24
|
+
export declare class VikingSidebarNavTreeHeader {
|
|
25
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
26
|
+
readonly expanded: import("@angular/core").InputSignal<boolean>;
|
|
27
|
+
readonly toggled: import("@angular/core").OutputEmitterRef<void>;
|
|
28
|
+
protected onToggle: () => void;
|
|
29
|
+
protected onSpace: (event: Event) => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* viking-sidebar-nav-tree-children — tree item list container.
|
|
33
|
+
*/
|
|
34
|
+
export declare class VikingSidebarNavTreeChildren {
|
|
35
|
+
}
|
|
36
|
+
export type VikingSidebarNavTreeItemVariant = "default" | "empty" | "accent";
|
|
37
|
+
/**
|
|
38
|
+
* viking-sidebar-nav-tree-item — selectable tree leaf or action row.
|
|
39
|
+
*/
|
|
40
|
+
export declare class VikingSidebarNavTreeItem {
|
|
41
|
+
readonly active: import("@angular/core").InputSignal<boolean>;
|
|
42
|
+
readonly variant: import("@angular/core").InputSignal<VikingSidebarNavTreeItemVariant>;
|
|
43
|
+
readonly activated: import("@angular/core").OutputEmitterRef<void>;
|
|
44
|
+
protected onActivate: (event: Event) => void;
|
|
45
|
+
protected onSpace: (event: Event) => void;
|
|
46
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SiteDrakkarContext, SiteFooterLink, SiteUrls } from "./site-drakkar.config";
|
|
2
|
+
/**
|
|
3
|
+
* viking-site-footer — canonical site footer shared across DEML surfaces.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingSiteFooter {
|
|
6
|
+
readonly context: import("@angular/core").InputSignal<SiteDrakkarContext>;
|
|
7
|
+
readonly urls: import("@angular/core").InputSignal<SiteUrls>;
|
|
8
|
+
readonly year: import("@angular/core").InputSignal<number>;
|
|
9
|
+
readonly cookieSettings: import("@angular/core").OutputEmitterRef<Event>;
|
|
10
|
+
readonly bugReport: import("@angular/core").OutputEmitterRef<Event>;
|
|
11
|
+
readonly usaBadgeHover: import("@angular/core").OutputEmitterRef<MouseEvent>;
|
|
12
|
+
protected readonly columns: readonly import("./site-drakkar.config").SiteFooterColumn[];
|
|
13
|
+
protected readonly cookieSettingsUrl: () => string;
|
|
14
|
+
protected resolveHref: (link: SiteFooterLink) => string;
|
|
15
|
+
protected isAppRoute: (link: SiteFooterLink) => boolean;
|
|
16
|
+
protected onCookieSettings(event: Event): void;
|
|
17
|
+
protected onBugReport(event: Event): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SITE_NAV_LINKS, SiteDrakkarContext, SiteUrls } from "./site-drakkar.config";
|
|
2
|
+
/**
|
|
3
|
+
* viking-site-navbar — canonical site header shared across DEML surfaces.
|
|
4
|
+
* Uses `.navbar` markup + viking-ui.css (same structure as marketing/backend static HTML).
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingSiteNavbar {
|
|
7
|
+
readonly context: import("@angular/core").InputSignal<SiteDrakkarContext>;
|
|
8
|
+
readonly urls: import("@angular/core").InputSignal<SiteUrls>;
|
|
9
|
+
readonly isAuthenticated: import("@angular/core").InputSignal<boolean>;
|
|
10
|
+
readonly theme: import("@angular/core").InputSignal<"dark" | "light">;
|
|
11
|
+
readonly showSearch: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
readonly login: import("@angular/core").OutputEmitterRef<void>;
|
|
13
|
+
readonly logout: import("@angular/core").OutputEmitterRef<void>;
|
|
14
|
+
readonly themeToggle: import("@angular/core").OutputEmitterRef<void>;
|
|
15
|
+
readonly searchOpen: import("@angular/core").OutputEmitterRef<void>;
|
|
16
|
+
protected readonly mobileMenuOpen: import("@angular/core").WritableSignal<boolean>;
|
|
17
|
+
protected readonly navLinks: import("@angular/core").Signal<import("./site-drakkar.config").SiteNavLink[]>;
|
|
18
|
+
protected readonly brandHref: import("@angular/core").Signal<string>;
|
|
19
|
+
protected resolveHref: (link: (typeof SITE_NAV_LINKS)[number]) => string;
|
|
20
|
+
protected isAppRouterPath: (href: string) => boolean;
|
|
21
|
+
protected onBrandClick(event: MouseEvent): void;
|
|
22
|
+
protected toggleMobileMenu(): void;
|
|
23
|
+
protected closeMobileMenu(): void;
|
|
24
|
+
protected openSearch(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-skeleton — loading placeholder.
|
|
3
|
+
*/
|
|
4
|
+
export declare class VikingSkeleton {
|
|
5
|
+
readonly shape: import("@angular/core").InputSignal<"circle" | "line" | "rect">;
|
|
6
|
+
readonly width: import("@angular/core").InputSignal<string>;
|
|
7
|
+
readonly height: import("@angular/core").InputSignal<string>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { VikingControl } from "../core/cva";
|
|
2
|
+
/**
|
|
3
|
+
* viking-slider — range slider.
|
|
4
|
+
* ControlValueAccessor-compatible.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingSlider extends VikingControl<number> {
|
|
7
|
+
readonly value: import("@angular/core").ModelSignal<number>;
|
|
8
|
+
readonly min: import("@angular/core").InputSignal<number>;
|
|
9
|
+
readonly max: import("@angular/core").InputSignal<number>;
|
|
10
|
+
readonly step: import("@angular/core").InputSignal<number>;
|
|
11
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
12
|
+
readonly showValue: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
14
|
+
protected readonly fillPercent: import("@angular/core").Signal<number>;
|
|
15
|
+
writeValue(value: number): void;
|
|
16
|
+
protected onInput: (event: Event) => void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-status-metric-row — icon + title/subtitle + value row for status cards.
|
|
3
|
+
*/
|
|
4
|
+
export declare class VikingStatusMetricRow {
|
|
5
|
+
readonly icon: import("@angular/core").InputSignal<"link" | "menu" | "search" | "deml" | "deml-compact" | "deml-lockup" | "drakkar" | "drakkar-compact" | "drakkar-lockup" | "kubernetes" | "tensorflow" | "pytorch" | "apache-spark" | "databricks" | "aws-redshift" | "info" | "hub" | "model" | "google" | "apple" | "alert-circle" | "alert-triangle" | "arrow-left" | "arrow-right" | "arrow-up-right" | "bar-chart" | "bell" | "bold" | "bolt" | "brain" | "bug" | "building" | "calendar" | "check" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chip" | "clock" | "cloud" | "cookie" | "copy" | "dots-horizontal" | "dots-vertical" | "download" | "external" | "eye" | "eye-off" | "file" | "filter" | "fingerprint" | "folder" | "globe" | "grip-vertical" | "heart" | "home" | "image" | "insights" | "italic" | "key" | "list" | "list-ordered" | "loader" | "lock" | "log-in" | "log-out" | "mail" | "minus" | "moon" | "network" | "paperclip" | "pencil" | "phone" | "play" | "plus" | "policy" | "refresh" | "rocket" | "search-off" | "send" | "server" | "settings" | "shield" | "ship" | "sparkle" | "speed" | "star" | "sun" | "terminal" | "trash" | "trending-up" | "underline" | "upload" | "user" | "user-shield" | "x">;
|
|
6
|
+
readonly title: import("@angular/core").InputSignal<string>;
|
|
7
|
+
readonly subtitle: import("@angular/core").InputSignal<string>;
|
|
8
|
+
readonly value: import("@angular/core").InputSignal<string | number>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AfterViewInit, OnInit } from "@angular/core";
|
|
2
|
+
import { type SiteDrakkarContext, type SiteUrls } from "../site-drakkar/site-drakkar.config";
|
|
3
|
+
/**
|
|
4
|
+
* viking-suite-search-palette — thin Angular wrapper around `viking-suite-command-palette`.
|
|
5
|
+
* Unified ⌘K command palette for deml.app with curated suite navigation.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VikingSuiteSearchPalette implements OnInit, AfterViewInit {
|
|
8
|
+
private readonly platformId;
|
|
9
|
+
readonly context: import("@angular/core").InputSignal<SiteDrakkarContext>;
|
|
10
|
+
readonly urls: import("@angular/core").InputSignal<SiteUrls>;
|
|
11
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
12
|
+
readonly bindShortcut: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
/** Optional callback when the palette opens (e.g. SearchService bridge). */
|
|
14
|
+
readonly onRegister: import("@angular/core").InputSignal<(handlers: {
|
|
15
|
+
open: () => void;
|
|
16
|
+
close: () => void;
|
|
17
|
+
}) => void>;
|
|
18
|
+
private readonly paletteRef;
|
|
19
|
+
ngOnInit(): void;
|
|
20
|
+
ngAfterViewInit(): void;
|
|
21
|
+
/** Opens the palette. */
|
|
22
|
+
openPalette(): void;
|
|
23
|
+
/** Closes the palette and clears the query. */
|
|
24
|
+
closePalette(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VikingControl } from "../core/cva";
|
|
2
|
+
/**
|
|
3
|
+
* viking-switch — toggle switch.
|
|
4
|
+
* ControlValueAccessor-compatible.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingSwitch extends VikingControl<boolean> {
|
|
7
|
+
readonly checked: import("@angular/core").ModelSignal<boolean>;
|
|
8
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
readonly description: import("@angular/core").InputSignal<string>;
|
|
10
|
+
writeValue(value: boolean): void;
|
|
11
|
+
protected toggle: (event: Event) => void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-table — clinical data table wrapper.
|
|
3
|
+
*/
|
|
4
|
+
export declare class VikingTable {
|
|
5
|
+
readonly compact: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
readonly striped: import("@angular/core").InputSignal<boolean>;
|
|
7
|
+
readonly loading: import("@angular/core").InputSignal<boolean>;
|
|
8
|
+
readonly emptyMessage: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly emptyDescription: import("@angular/core").InputSignal<string>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VikingTabs } from "./tabs";
|
|
2
|
+
/**
|
|
3
|
+
* viking-tab-panel — tabpanel region inside viking-tabs.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingTabPanel {
|
|
6
|
+
private readonly tabs;
|
|
7
|
+
constructor(tabs: VikingTabs | null);
|
|
8
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
9
|
+
protected readonly panelId: import("@angular/core").Signal<string>;
|
|
10
|
+
protected readonly tabId: import("@angular/core").Signal<string>;
|
|
11
|
+
protected hidden: () => boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { VikingTabs } from "./tabs";
|
|
2
|
+
/**
|
|
3
|
+
* viking-tab — tab trigger button inside viking-tabs.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingTab {
|
|
6
|
+
private readonly tabs;
|
|
7
|
+
constructor(tabs: VikingTabs | null);
|
|
8
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
10
|
+
protected readonly tabId: import("@angular/core").Signal<string>;
|
|
11
|
+
protected readonly panelId: import("@angular/core").Signal<string>;
|
|
12
|
+
protected active: () => boolean;
|
|
13
|
+
protected select: () => void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export declare const VIKING_TABS: InjectionToken<VikingTabs>;
|
|
3
|
+
/**
|
|
4
|
+
* viking-tabs — tablist container with roving keyboard navigation.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingTabs {
|
|
7
|
+
private readonly tabComponents;
|
|
8
|
+
readonly value: import("@angular/core").ModelSignal<string>;
|
|
9
|
+
protected onTabKeydown: (event: KeyboardEvent) => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { VikingControl } from "../core/cva";
|
|
2
|
+
/**
|
|
3
|
+
* viking-textarea — auto-growing textarea.
|
|
4
|
+
* ControlValueAccessor-compatible.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingTextarea extends VikingControl<string> {
|
|
7
|
+
readonly value: import("@angular/core").ModelSignal<string>;
|
|
8
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly rows: import("@angular/core").InputSignal<number>;
|
|
11
|
+
readonly autoGrow: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
protected isDisabled: () => boolean;
|
|
14
|
+
writeValue(value: string): void;
|
|
15
|
+
protected onInput: (event: Event) => void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viking-theme-toggle — navbar utility control for light/dark theme switching.
|
|
3
|
+
* Uses `.theme-toggle-btn` styles from viking-ui.css (static-navbar.scss).
|
|
4
|
+
*/
|
|
5
|
+
export declare class VikingThemeToggle {
|
|
6
|
+
readonly theme: import("@angular/core").InputSignal<"dark" | "light">;
|
|
7
|
+
readonly toggle: import("@angular/core").OutputEmitterRef<void>;
|
|
8
|
+
protected readonly icon: import("@angular/core").Signal<"sun" | "moon">;
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ElementRef } from "@angular/core";
|
|
2
|
+
import { VikingControl } from "../core/cva";
|
|
3
|
+
/**
|
|
4
|
+
* viking-time-picker — dropdown time selection.
|
|
5
|
+
* Value is a 24h HH:MM string. ControlValueAccessor-compatible.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VikingTimePicker extends VikingControl<string | null> {
|
|
8
|
+
private readonly host;
|
|
9
|
+
readonly value: import("@angular/core").ModelSignal<string>;
|
|
10
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
11
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
12
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
/** Minute granularity for generated slots. */
|
|
14
|
+
readonly stepMinutes: import("@angular/core").InputSignal<number>;
|
|
15
|
+
constructor(host: ElementRef<HTMLElement>);
|
|
16
|
+
protected readonly open: import("@angular/core").WritableSignal<boolean>;
|
|
17
|
+
protected readonly slots: import("@angular/core").Signal<string[]>;
|
|
18
|
+
writeValue(value: string | null): void;
|
|
19
|
+
protected pick: (slot: string) => void;
|
|
20
|
+
protected onDocumentClick: (event: Event) => void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { VikingTone } from "../../core/types";
|
|
2
|
+
/**
|
|
3
|
+
* viking-timeline — vertical event feed.
|
|
4
|
+
* Compose with viking-timeline-item.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingTimeline {
|
|
7
|
+
}
|
|
8
|
+
/** A single event on viking-timeline. */
|
|
9
|
+
export declare class VikingTimelineItem {
|
|
10
|
+
readonly heading: import("@angular/core").InputSignal<string>;
|
|
11
|
+
readonly timestamp: import("@angular/core").InputSignal<string>;
|
|
12
|
+
readonly icon: import("@angular/core").InputSignal<"link" | "menu" | "search" | "deml" | "deml-compact" | "deml-lockup" | "drakkar" | "drakkar-compact" | "drakkar-lockup" | "kubernetes" | "tensorflow" | "pytorch" | "apache-spark" | "databricks" | "aws-redshift" | "info" | "hub" | "model" | "google" | "apple" | "alert-circle" | "alert-triangle" | "arrow-left" | "arrow-right" | "arrow-up-right" | "bar-chart" | "bell" | "bold" | "bolt" | "brain" | "bug" | "building" | "calendar" | "check" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chip" | "clock" | "cloud" | "cookie" | "copy" | "dots-horizontal" | "dots-vertical" | "download" | "external" | "eye" | "eye-off" | "file" | "filter" | "fingerprint" | "folder" | "globe" | "grip-vertical" | "heart" | "home" | "image" | "insights" | "italic" | "key" | "list" | "list-ordered" | "loader" | "lock" | "log-in" | "log-out" | "mail" | "minus" | "moon" | "network" | "paperclip" | "pencil" | "phone" | "play" | "plus" | "policy" | "refresh" | "rocket" | "search-off" | "send" | "server" | "settings" | "shield" | "ship" | "sparkle" | "speed" | "star" | "sun" | "terminal" | "trash" | "trending-up" | "underline" | "upload" | "user" | "user-shield" | "x">;
|
|
13
|
+
readonly tone: import("@angular/core").InputSignal<VikingTone>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { VikingIconName } from "../../core/icons";
|
|
2
|
+
import { VikingToastInstance, VikingToastOptions } from "../../core/types";
|
|
3
|
+
/**
|
|
4
|
+
* VikingToastService — imperative toast API.
|
|
5
|
+
* Render a single <viking-toaster> outlet near the app root.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VikingToastService {
|
|
8
|
+
private nextId;
|
|
9
|
+
readonly toasts: import("@angular/core").WritableSignal<VikingToastInstance[]>;
|
|
10
|
+
readonly show: (options: VikingToastOptions) => number;
|
|
11
|
+
readonly dismiss: (id: number) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* viking-toaster — fixed-position outlet that renders active toasts.
|
|
15
|
+
*/
|
|
16
|
+
export declare class VikingToaster {
|
|
17
|
+
protected readonly service: VikingToastService;
|
|
18
|
+
readonly position: import("@angular/core").InputSignal<"bottom-end" | "top-end">;
|
|
19
|
+
constructor(service: VikingToastService);
|
|
20
|
+
protected toneIcon: (tone: string) => VikingIconName;
|
|
21
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export declare const VIKING_TOGGLE_GROUP: InjectionToken<VikingToggleGroup>;
|
|
3
|
+
/**
|
|
4
|
+
* viking-toggle-group — exclusive or multi toggle cluster.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VikingToggleGroup {
|
|
7
|
+
readonly value: import("@angular/core").ModelSignal<string>;
|
|
8
|
+
readonly exclusive: import("@angular/core").ModelSignal<boolean>;
|
|
9
|
+
}
|