@dataengineeringformachinelearning/viking-ui 1.0.2 → 3.0.0-alpha.2

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.
Files changed (129) hide show
  1. package/README.md +180 -41
  2. package/dist/deml-components.css +1122 -0
  3. package/dist/design-tokens.css +688 -0
  4. package/dist/elements/button/viking-button.d.ts +14 -0
  5. package/dist/elements/card/viking-card.d.ts +8 -0
  6. package/dist/elements/core/dom.d.ts +4 -0
  7. package/dist/elements/core/styles.d.ts +2 -0
  8. package/dist/elements/modal/viking-modal.d.ts +15 -0
  9. package/dist/fonts/inter/InterVariable-Italic.woff2 +0 -0
  10. package/dist/fonts/inter/InterVariable.woff2 +0 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +4051 -0
  13. package/dist/lib/core/brand-icons.d.ts +29 -0
  14. package/dist/lib/core/icons.d.ts +132 -0
  15. package/dist/lib/core/integration-brand-icons.d.ts +18 -0
  16. package/dist/lib/core/lucide-paths.generated.d.ts +90 -0
  17. package/dist/lib/site-drakkar/site-drakkar.config.d.ts +50 -0
  18. package/dist/lib/site-drakkar/suite-search-items.d.ts +17 -0
  19. package/dist/viking-components.css +1837 -0
  20. package/dist/viking-tokens.json +318 -0
  21. package/dist/viking-ui-elements.js +1750 -0
  22. package/dist/viking-ui.css +1 -0
  23. package/dist/web/badge/viking-badge-wc.d.ts +28 -0
  24. package/dist/web/button/viking-button-wc.d.ts +28 -0
  25. package/dist/web/callout/viking-callout-wc.d.ts +27 -0
  26. package/dist/web/card/viking-card-wc.d.ts +29 -0
  27. package/dist/web/core/base.d.ts +12 -0
  28. package/dist/web/core/dom.d.ts +11 -0
  29. package/dist/web/core/icons-inline.d.ts +7 -0
  30. package/dist/web/core/styles.d.ts +12 -0
  31. package/dist/web/core/types.d.ts +10 -0
  32. package/dist/web/field/viking-field-wc.d.ts +32 -0
  33. package/dist/web/index.d.ts +15 -0
  34. package/dist/web/input/viking-input-wc.d.ts +32 -0
  35. package/dist/web/modal/viking-modal-wc.d.ts +50 -0
  36. package/dist/web/search-palette/viking-search-palette-wc.d.ts +64 -0
  37. package/dist/web/select/viking-select-wc.d.ts +48 -0
  38. package/dist/web/suite-header/viking-suite-header-wc.d.ts +36 -0
  39. package/dist/web/suite-search-palette/viking-suite-search-palette-wc.d.ts +39 -0
  40. package/dist/web/theme-toggle/viking-theme-toggle-wc.d.ts +19 -0
  41. package/dist/web/types.d.ts +40 -0
  42. package/dist/web-components/index.d.ts +1 -0
  43. package/dist/web-components.js +1750 -0
  44. package/dist/widget.js +1182 -0
  45. package/package.json +89 -30
  46. package/src/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  47. package/src/assets/fonts/inter/InterVariable.woff2 +0 -0
  48. package/src/elements/button/viking-button.ts +201 -0
  49. package/src/elements/card/viking-card.ts +60 -0
  50. package/src/elements/core/dom.ts +33 -0
  51. package/src/elements/core/styles.ts +28 -0
  52. package/src/elements/modal/viking-modal.ts +154 -0
  53. package/src/index.ts +1 -0
  54. package/src/lib/core/brand-icons.ts +62 -0
  55. package/src/lib/core/icons.ts +206 -0
  56. package/src/lib/core/integration-brand-icons.ts +77 -0
  57. package/src/lib/core/lucide-paths.generated.ts +130 -0
  58. package/src/lib/site-drakkar/site-drakkar.config.ts +295 -0
  59. package/src/lib/site-drakkar/suite-search-items.ts +246 -0
  60. package/src/styles/_buttons.scss +301 -0
  61. package/src/styles/_component-primitives.scss +183 -0
  62. package/src/styles/_drakkar-buttons.scss +85 -0
  63. package/src/styles/_fonts.scss +22 -0
  64. package/src/styles/_forms.scss +66 -0
  65. package/src/styles/_input.scss +106 -0
  66. package/src/styles/_layout-enforcement.scss +166 -0
  67. package/src/styles/_layout-rhythm.scss +158 -0
  68. package/src/styles/_legacy-aliases.scss +212 -0
  69. package/src/styles/_series-colors.scss +24 -0
  70. package/src/styles/_static-primitives.scss +857 -0
  71. package/src/styles/_typography.scss +87 -0
  72. package/src/styles/_variables.scss +527 -0
  73. package/src/styles/components/a11y.scss +90 -0
  74. package/src/styles/components/badges.scss +102 -0
  75. package/src/styles/components/extracted-utilities.scss +459 -0
  76. package/src/styles/components/footer.scss +155 -0
  77. package/src/styles/components/icon-heading.scss +47 -0
  78. package/src/styles/components/icon-inline.scss +78 -0
  79. package/src/styles/components/layout.scss +59 -0
  80. package/src/styles/components/utilities.scss +131 -0
  81. package/src/styles/components/viking-inspired.scss +204 -0
  82. package/src/styles/components/whitepaper-cta.scss +130 -0
  83. package/src/styles/components-bundle.scss +9 -0
  84. package/src/styles/components.scss +175 -0
  85. package/src/styles/deml-components.scss +10 -0
  86. package/src/styles/index.scss +8 -0
  87. package/src/styles/layout-shell.scss +39 -11
  88. package/src/styles/page-shell.scss +663 -33
  89. package/src/styles/static-navbar.scss +862 -146
  90. package/src/styles/surfaces/backend.scss +142 -0
  91. package/src/styles/surfaces/docs-global.scss +73 -0
  92. package/src/styles/surfaces/docs-shell.scss +412 -0
  93. package/src/styles/surfaces/docs-showcase.scss +1051 -0
  94. package/src/styles/surfaces/marketing-cta.scss +62 -0
  95. package/src/styles/surfaces/marketing-docs-bento.scss +67 -0
  96. package/src/styles/surfaces/marketing-global.scss +748 -0
  97. package/src/styles/surfaces/marketing-landing.scss +1260 -0
  98. package/src/styles/surfaces/marketing-publication.scss +535 -0
  99. package/src/styles/surfaces/marketing-theme.scss +14 -0
  100. package/src/styles/surfaces/swagger-ui.scss +921 -0
  101. package/src/styles/tokens-export.scss +18 -0
  102. package/src/styles/tokens.scss +5 -0
  103. package/src/styles/viking-ui-bundle.scss +20 -2
  104. package/src/styles/viking-ui.scss +213 -51
  105. package/src/tokens/viking-tokens.json +318 -0
  106. package/src/web/badge/viking-badge-wc.ts +116 -0
  107. package/src/web/button/viking-button-wc.ts +165 -0
  108. package/src/web/callout/viking-callout-wc.ts +105 -0
  109. package/src/web/card/viking-card-wc.ts +66 -0
  110. package/src/web/core/base.ts +56 -0
  111. package/src/web/core/dom.ts +53 -0
  112. package/src/web/core/icons-inline.ts +44 -0
  113. package/src/web/core/styles.ts +1138 -0
  114. package/src/web/core/types.ts +19 -0
  115. package/src/web/field/viking-field-wc.ts +154 -0
  116. package/src/web/index.ts +73 -0
  117. package/src/web/input/viking-input-wc.ts +211 -0
  118. package/src/web/modal/viking-modal-wc.ts +187 -0
  119. package/src/web/search-palette/viking-search-palette-wc.ts +494 -0
  120. package/src/web/select/viking-select-wc.ts +218 -0
  121. package/src/web/suite-header/viking-suite-header-wc.ts +714 -0
  122. package/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +234 -0
  123. package/src/web/theme-toggle/viking-theme-toggle-wc.ts +139 -0
  124. package/src/web/types.ts +37 -0
  125. package/src/web-components/index.ts +1 -0
  126. package/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +0 -6114
  127. package/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +0 -1
  128. package/types/dataengineeringformachinelearning-viking-ui.d.ts +0 -1397
  129. package/viking.manifest.json +0 -238
@@ -1,1397 +0,0 @@
1
- import * as _angular_core from '@angular/core';
2
- import { Type, Provider, InjectionToken, OnDestroy } from '@angular/core';
3
- import { ControlValueAccessor } from '@angular/forms';
4
- import { SafeHtml } from '@angular/platform-browser';
5
-
6
- /**
7
- * Zero-dependency inline SVG icon registry (24x24 stroke icons).
8
- * Icons are original geometric paths — no third-party icon package required.
9
- */
10
- type VikingIconName = keyof typeof VIKING_ICON_PATHS;
11
- declare const VIKING_ICON_PATHS: {
12
- readonly check: "<path d=\"M4 12.5 9.5 18 20 6.5\"/>";
13
- readonly x: "<path d=\"M6 6l12 12M18 6 6 18\"/>";
14
- readonly plus: "<path d=\"M12 5v14M5 12h14\"/>";
15
- readonly minus: "<path d=\"M5 12h14\"/>";
16
- readonly 'chevron-down': "<path d=\"m6 9 6 6 6-6\"/>";
17
- readonly 'chevron-up': "<path d=\"m6 15 6-6 6 6\"/>";
18
- readonly 'chevron-left': "<path d=\"m15 6-6 6 6 6\"/>";
19
- readonly 'chevron-right': "<path d=\"m9 6 6 6-6 6\"/>";
20
- readonly 'arrow-right': "<path d=\"M4 12h16M13 5l7 7-7 7\"/>";
21
- readonly 'arrow-left': "<path d=\"M20 12H4M11 5l-7 7 7 7\"/>";
22
- readonly 'arrow-up-right': "<path d=\"M7 17 17 7M8 7h9v9\"/>";
23
- readonly search: "<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"m16.5 16.5 4.5 4.5\"/>";
24
- readonly calendar: "<rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M8 3v4M16 3v4M3 10h18\"/>";
25
- readonly clock: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 7v5l3 3\"/>";
26
- readonly user: "<circle cx=\"12\" cy=\"8\" r=\"4\"/><path d=\"M4 21c0-4 3.6-6.5 8-6.5s8 2.5 8 6.5\"/>";
27
- readonly settings: "<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9 17 7M7 17l-2.1 2.1\"/>";
28
- readonly info: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 11v5M12 8h.01\"/>";
29
- readonly 'alert-triangle': "<path d=\"M12 3 2.5 20h19L12 3z\"/><path d=\"M12 10v4M12 17.5h.01\"/>";
30
- readonly 'alert-circle': "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 8v5M12 16.5h.01\"/>";
31
- readonly 'check-circle': "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"m8 12.5 2.8 2.8L16.5 9\"/>";
32
- readonly bell: "<path d=\"M6 9a6 6 0 0 1 12 0c0 5 2 6.5 2 6.5H4S6 14 6 9\"/><path d=\"M10 19.5a2.2 2.2 0 0 0 4 0\"/>";
33
- readonly star: "<path d=\"m12 3 2.7 5.9 6.3.7-4.7 4.3 1.3 6.1L12 16.9 6.4 20l1.3-6.1L3 9.6l6.3-.7L12 3z\"/>";
34
- readonly heart: "<path d=\"M12 20.5C5.5 16 3 12.5 3 9a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 3.5-2.5 7-9 11.5z\"/>";
35
- readonly trash: "<path d=\"M4 7h16M9 7V4h6v3M6.5 7l1 13h9l1-13M10 11v6M14 11v6\"/>";
36
- readonly pencil: "<path d=\"m4 20 .8-3.8L16.6 4.4a2 2 0 0 1 2.8 0l.2.2a2 2 0 0 1 0 2.8L7.8 19.2 4 20z\"/>";
37
- readonly copy: "<rect x=\"8\" y=\"8\" width=\"13\" height=\"13\" rx=\"2\"/><path d=\"M16 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3\"/>";
38
- readonly upload: "<path d=\"M12 16V4M6 10l6-6 6 6M4 20h16\"/>";
39
- readonly download: "<path d=\"M12 4v12M6 10l6 6 6-6M4 20h16\"/>";
40
- readonly send: "<path d=\"M21 3 3 10.5l7 3.5 3.5 7L21 3z\"/><path d=\"M10 14 21 3\"/>";
41
- readonly paperclip: "<path d=\"m20 11-8.5 8.5a5 5 0 0 1-7-7L13 4a3.5 3.5 0 0 1 5 5l-8.5 8.5a2 2 0 0 1-3-3L15 6\"/>";
42
- readonly image: "<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><circle cx=\"9\" cy=\"10\" r=\"2\"/><path d=\"m3 18 5-5 4 4 3-3 6 6\"/>";
43
- readonly file: "<path d=\"M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9l-6-6z\"/><path d=\"M14 3v6h6\"/>";
44
- readonly folder: "<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z\"/>";
45
- readonly menu: "<path d=\"M4 7h16M4 12h16M4 17h16\"/>";
46
- readonly 'dots-horizontal': "<circle cx=\"5\" cy=\"12\" r=\"1\" fill=\"currentColor\"/><circle cx=\"12\" cy=\"12\" r=\"1\" fill=\"currentColor\"/><circle cx=\"19\" cy=\"12\" r=\"1\" fill=\"currentColor\"/>";
47
- readonly 'dots-vertical': "<circle cx=\"12\" cy=\"5\" r=\"1\" fill=\"currentColor\"/><circle cx=\"12\" cy=\"12\" r=\"1\" fill=\"currentColor\"/><circle cx=\"12\" cy=\"19\" r=\"1\" fill=\"currentColor\"/>";
48
- readonly 'grip-vertical': "<circle cx=\"9\" cy=\"6\" r=\"1\" fill=\"currentColor\"/><circle cx=\"9\" cy=\"12\" r=\"1\" fill=\"currentColor\"/><circle cx=\"9\" cy=\"18\" r=\"1\" fill=\"currentColor\"/><circle cx=\"15\" cy=\"6\" r=\"1\" fill=\"currentColor\"/><circle cx=\"15\" cy=\"12\" r=\"1\" fill=\"currentColor\"/><circle cx=\"15\" cy=\"18\" r=\"1\" fill=\"currentColor\"/>";
49
- readonly sun: "<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M2 12h2M20 12h2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M19.1 4.9l-1.4 1.4M6.3 17.7l-1.4 1.4\"/>";
50
- readonly moon: "<path d=\"M20 14.5A8.5 8.5 0 0 1 9.5 4 8.5 8.5 0 1 0 20 14.5z\"/>";
51
- readonly eye: "<path d=\"M2 12s3.5-6.5 10-6.5S22 12 22 12s-3.5 6.5-10 6.5S2 12 2 12z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>";
52
- readonly 'eye-off': "<path d=\"m4 4 16 16\"/><path d=\"M10.6 6.2A11 11 0 0 1 12 6c6.5 0 10 6 10 6a17.6 17.6 0 0 1-3 3.6M6.6 6.6C3.9 8.3 2 12 2 12s3.5 6.5 10 6.5c1.4 0 2.7-.3 3.9-.8\"/>";
53
- readonly bold: "<path d=\"M7 5h6a3.5 3.5 0 0 1 0 7H7V5zM7 12h7a3.5 3.5 0 0 1 0 7H7v-7z\"/>";
54
- readonly italic: "<path d=\"M10 5h9M5 19h9M14 5l-4 14\"/>";
55
- readonly underline: "<path d=\"M6 4v6a6 6 0 0 0 12 0V4M5 20h14\"/>";
56
- readonly list: "<path d=\"M9 6h12M9 12h12M9 18h12M4 6h.01M4 12h.01M4 18h.01\"/>";
57
- readonly 'list-ordered': "<path d=\"M10 6h11M10 12h11M10 18h11\"/><path d=\"M4 5h1.5v4M3.8 9h3M3.5 14.5c0-1.2 3-1.4 3 0 0 1-3 1.7-3 3.2h3\"/>";
58
- readonly link: "<path d=\"M10 14a4 4 0 0 1 0-5.7l3-3a4 4 0 0 1 5.7 5.7L17.2 12.5\"/><path d=\"M14 10a4 4 0 0 1 0 5.7l-3 3a4 4 0 0 1-5.7-5.7L6.8 11.5\"/>";
59
- readonly home: "<path d=\"m3 11 9-8 9 8\"/><path d=\"M5 10v10h14V10\"/>";
60
- readonly mail: "<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m3 7 9 6 9-6\"/>";
61
- readonly lock: "<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>";
62
- readonly globe: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18\"/><ellipse cx=\"12\" cy=\"12\" rx=\"4\" ry=\"9\"/>";
63
- readonly loader: "<path d=\"M12 3a9 9 0 1 0 9 9\"/>";
64
- readonly sparkle: "<path d=\"m12 3 1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8L12 3z\"/>";
65
- readonly external: "<path d=\"M14 5h5v5M19 5 10 14M19 13v6H5V5h6\"/>";
66
- readonly filter: "<path d=\"M4 6h16M7 12h10M10 18h4\"/>";
67
- readonly terminal: "<path d=\"m5 7 5 5-5 5M12 17h7\"/>";
68
- readonly refresh: "<path d=\"M20 12a8 8 0 1 1-2.3-5.7\"/><path d=\"M20 3v4h-4\"/>";
69
- readonly 'log-out': "<path d=\"M13 4H5v16h8\"/><path d=\"m17 8 4 4-4 4M9 12h12\"/>";
70
- readonly shield: "<path d=\"M12 3 4.5 6v5c0 5 3 8.5 7.5 10 4.5-1.5 7.5-5 7.5-10V6L12 3z\"/>";
71
- readonly 'bar-chart': "<path d=\"M4 4v16h16M8 16v-5M12 16V8M16 16v-3\"/>";
72
- readonly phone: "<path d=\"M5 4h4l1.5 4L8 10a12 12 0 0 0 6 6l2-2.5L20 15v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z\"/>";
73
- readonly google: "<path d=\"M12 11.2v2.4h6.6c-.3 1.5-1.8 4.4-6.6 4.4-4 0-7.2-3.3-7.2-7.3S8 3.4 12 3.4c2.3 0 3.9 1 4.8 1.8l3.2-3.1C17.5.8 14.9 0 12 0 5.4 0 0 5.4 0 12s5.4 12 12 12c6.9 0 11.5-4.8 11.5-11.6 0-.8-.1-1.4-.2-1.9H12z\"/>";
74
- readonly apple: "<path d=\"M16.365 12.14c.02 2.53 2.21 3.38 2.23 3.39-.02.07-.35 1.21-1.16 2.4-.7 1.02-1.43 2.03-2.58 2.05-1.13.02-1.49-.67-2.78-.67-1.29 0-1.69.65-2.75.69-1.11.04-1.95-1.12-2.66-2.13-1.44-2.08-2.54-5.87-1.07-8.43.73-1.27 2.04-2.08 3.46-2.1 1.08-.02 2.1.72 2.78.72.67 0 2.14-.89 3.61-.76.61.03 2.33.25 3.44 1.88-.09.06-2.05 1.2-2.03 3.55M13.75 3.64c.59-.71 1-1.7.89-2.68-.86.03-1.9.57-2.52 1.28-.55.63-1.03 1.65-.9 2.62.95.07 1.92-.49 2.53-1.22\"/>";
75
- };
76
- declare const VIKING_ICON_NAMES: VikingIconName[];
77
-
78
- /** Semantic tones — every tone resolves to a THEME.md token. */
79
- type VikingTone = 'accent' | 'success' | 'warning' | 'danger' | 'muted';
80
- type VikingSize = 'base' | 'sm' | 'xs';
81
- interface VikingSelectOption<T = unknown> {
82
- label: string;
83
- value: T;
84
- disabled?: boolean;
85
- }
86
- interface VikingCommandItem {
87
- id: string;
88
- label: string;
89
- group?: string;
90
- icon?: VikingIconName;
91
- kbd?: string;
92
- }
93
- interface VikingKanbanCard {
94
- id: string;
95
- title: string;
96
- description?: string;
97
- tone?: VikingTone;
98
- }
99
- interface VikingKanbanColumn {
100
- id: string;
101
- title: string;
102
- cards: VikingKanbanCard[];
103
- }
104
- interface VikingKanbanMove {
105
- cardId: string;
106
- fromColumnId: string;
107
- toColumnId: string;
108
- toIndex: number;
109
- }
110
- interface VikingChartSeries {
111
- name: string;
112
- data: number[];
113
- tone?: VikingTone;
114
- }
115
- type VikingChartKind = 'line' | 'area' | 'bar' | 'grouped-bar' | 'stacked-bar' | 'sparkline' | 'donut';
116
- type VikingChartCurve = 'linear' | 'smooth';
117
- interface VikingDonutSegment {
118
- label: string;
119
- value: number;
120
- tone?: VikingTone;
121
- }
122
- interface VikingToastOptions {
123
- heading?: string;
124
- text: string;
125
- tone?: VikingTone;
126
- /** Auto-dismiss duration in ms. 0 disables auto-dismiss. */
127
- duration?: number;
128
- }
129
- interface VikingToastInstance extends Required<Omit<VikingToastOptions, 'heading'>> {
130
- id: number;
131
- heading: string;
132
- }
133
-
134
- /** Registers a component as a ControlValueAccessor. */
135
- declare const provideVikingCva: (component: Type<unknown>) => Provider;
136
- /** Shared ControlValueAccessor plumbing for Viking-Material form controls. */
137
- declare abstract class VikingControl<T> implements ControlValueAccessor {
138
- protected onChange: (value: T) => void;
139
- protected onTouched: () => void;
140
- /** Disabled state driven by Angular forms (setDisabledState). */
141
- readonly formDisabled: _angular_core.WritableSignal<boolean>;
142
- abstract writeValue(value: T): void;
143
- registerOnChange(fn: (value: T) => void): void;
144
- registerOnTouched(fn: () => void): void;
145
- setDisabledState(isDisabled: boolean): void;
146
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingControl<any>, never>;
147
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<VikingControl<any>, never, never, {}, {}, never, never, true, never>;
148
- }
149
-
150
- /**
151
- * viking-app-header — sticky application header with brand, nav, actions, and mobile menu slots.
152
- * Styles live in the component library so all apps share one navbar implementation.
153
- */
154
- declare class VikingAppHeader {
155
- readonly mobileMenuOpen: _angular_core.InputSignal<boolean>;
156
- readonly mobileMenuLabel: _angular_core.InputSignal<string>;
157
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingAppHeader, never>;
158
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingAppHeader, "viking-app-header", never, { "mobileMenuOpen": { "alias": "mobileMenuOpen"; "required": false; "isSignal": true; }; "mobileMenuLabel": { "alias": "mobileMenuLabel"; "required": false; "isSignal": true; }; }, {}, never, ["[fluxAppHeaderBrand]", "[fluxAppHeaderNav]", "[fluxAppHeaderAuth]", "[fluxAppHeaderActions]", "[fluxAppHeaderMobile]"], true, never>;
159
- }
160
-
161
- /**
162
- * viking-app-sidebar — dashboard sidebar shell styles (project nav markup inside).
163
- * Width is driven by the `--viking-sidebar-width` CSS variable on the host.
164
- */
165
- declare class VikingAppSidebar {
166
- readonly collapsed: _angular_core.InputSignal<boolean>;
167
- readonly dragging: _angular_core.InputSignal<boolean>;
168
- readonly width: _angular_core.InputSignal<number>;
169
- readonly resizeStart: _angular_core.OutputEmitterRef<MouseEvent>;
170
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingAppSidebar, never>;
171
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingAppSidebar, "viking-app-sidebar", never, { "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "dragging": { "alias": "dragging"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "resizeStart": "resizeStart"; }, never, ["*"], true, never>;
172
- }
173
-
174
- /**
175
- * viking-accordion — collapsible content panels.
176
- * Set exclusive to allow only one open item at a time.
177
- */
178
- declare class VikingAccordion {
179
- readonly exclusive: _angular_core.InputSignal<boolean>;
180
- private openItem;
181
- /** Called by items when they open, to enforce exclusive mode. */
182
- readonly notifyOpened: (item: VikingAccordionItem) => void;
183
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingAccordion, never>;
184
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingAccordion, "viking-accordion", never, { "exclusive": { "alias": "exclusive"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
185
- }
186
- /** A single expandable section within viking-accordion. */
187
- declare class VikingAccordionItem {
188
- private readonly accordion;
189
- readonly heading: _angular_core.InputSignal<string>;
190
- readonly expanded: _angular_core.ModelSignal<boolean>;
191
- protected readonly panelId: string;
192
- protected toggle: () => void;
193
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingAccordionItem, never>;
194
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingAccordionItem, "viking-accordion-item", never, { "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, ["*"], true, never>;
195
- }
196
-
197
- /**
198
- * viking-auth-panel — access portal / sign-in layout template.
199
- * Full-width stacked actions, Google + Apple OAuth row, WCAG-friendly structure.
200
- */
201
- declare class VikingAuthPanel {
202
- readonly tag: _angular_core.InputSignal<string>;
203
- readonly title: _angular_core.InputSignal<string>;
204
- readonly subtitle: _angular_core.InputSignal<string>;
205
- readonly showSocial: _angular_core.InputSignal<boolean>;
206
- readonly socialLoading: _angular_core.InputSignal<boolean>;
207
- readonly googleSignIn: _angular_core.OutputEmitterRef<void>;
208
- readonly appleSignIn: _angular_core.OutputEmitterRef<void>;
209
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingAuthPanel, never>;
210
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingAuthPanel, "viking-auth-panel", never, { "tag": { "alias": "tag"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "showSocial": { "alias": "showSocial"; "required": false; "isSignal": true; }; "socialLoading": { "alias": "socialLoading"; "required": false; "isSignal": true; }; }, { "googleSignIn": "googleSignIn"; "appleSignIn": "appleSignIn"; }, never, ["*", "[vikingAuthLinks]", "[vikingAuthFooter]"], true, never>;
211
- }
212
-
213
- /**
214
- * viking-autocomplete — text input with filtered suggestions
215
- *. ControlValueAccessor-compatible.
216
- */
217
- declare class VikingAutocomplete extends VikingControl<string> {
218
- private readonly host;
219
- readonly suggestions: _angular_core.InputSignal<string[]>;
220
- readonly value: _angular_core.ModelSignal<string>;
221
- readonly placeholder: _angular_core.InputSignal<string>;
222
- readonly label: _angular_core.InputSignal<string>;
223
- readonly disabled: _angular_core.InputSignal<boolean>;
224
- readonly selected: _angular_core.OutputEmitterRef<string>;
225
- protected readonly open: _angular_core.WritableSignal<boolean>;
226
- protected readonly activeIndex: _angular_core.WritableSignal<number>;
227
- protected readonly panelId: string;
228
- protected readonly filtered: _angular_core.Signal<string[]>;
229
- writeValue(value: string): void;
230
- protected onInput: (event: Event) => void;
231
- protected pick: (item: string) => void;
232
- protected onKeydown: (event: KeyboardEvent) => void;
233
- protected onDocumentClick: (event: Event) => void;
234
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingAutocomplete, never>;
235
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingAutocomplete, "viking-autocomplete", never, { "suggestions": { "alias": "suggestions"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "selected": "selected"; }, never, never, true, never>;
236
- }
237
-
238
- /**
239
- * viking-avatar — image or initials avatar with optional status indicator
240
- *.
241
- */
242
- declare class VikingAvatar {
243
- readonly src: _angular_core.InputSignal<string | null>;
244
- readonly name: _angular_core.InputSignal<string>;
245
- readonly size: _angular_core.InputSignal<number>;
246
- readonly square: _angular_core.InputSignal<boolean>;
247
- readonly status: _angular_core.InputSignal<VikingTone | null>;
248
- protected readonly imageFailed: _angular_core.WritableSignal<boolean>;
249
- protected readonly initials: _angular_core.Signal<string>;
250
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingAvatar, never>;
251
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingAvatar, "viking-avatar", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
252
- }
253
-
254
- /**
255
- * viking-badge — status pill.
256
- * Tones map to THEME.md semantic colors only.
257
- */
258
- declare class VikingBadge {
259
- readonly tone: _angular_core.InputSignal<VikingTone | "neutral">;
260
- readonly size: _angular_core.InputSignal<VikingSize>;
261
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
262
- readonly removable: _angular_core.InputSignal<boolean>;
263
- readonly removed: _angular_core.OutputEmitterRef<void>;
264
- protected readonly hostClass: _angular_core.Signal<{
265
- [x: string]: boolean;
266
- 'viking-badge-sm': boolean;
267
- }>;
268
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingBadge, never>;
269
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingBadge, "viking-badge", never, { "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; }, { "removed": "removed"; }, never, ["*"], true, never>;
270
- }
271
-
272
- /** viking-bar — vertical bar for mock charts and decorative grids. */
273
- declare class VikingBar {
274
- readonly height: _angular_core.InputSignal<number>;
275
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingBar, never>;
276
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingBar, "viking-bar", never, { "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
277
- }
278
-
279
- /**
280
- * viking-brand — logo + wordmark lockup.
281
- * Project a custom logo (img/svg) or fall back to a monogram tile.
282
- */
283
- declare class VikingBrand {
284
- readonly name: _angular_core.InputSignal<string>;
285
- readonly logoSrc: _angular_core.InputSignal<string | null>;
286
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingBrand, never>;
287
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingBrand, "viking-brand", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "logoSrc": { "alias": "logoSrc"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
288
- }
289
-
290
- interface VikingBreadcrumb {
291
- label: string;
292
- href?: string;
293
- }
294
- /**
295
- * viking-breadcrumbs — hierarchy navigation.
296
- */
297
- declare class VikingBreadcrumbs {
298
- readonly items: _angular_core.InputSignal<VikingBreadcrumb[]>;
299
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingBreadcrumbs, never>;
300
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingBreadcrumbs, "viking-breadcrumbs", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
301
- }
302
-
303
- type VikingButtonVariant = 'outline' | 'primary' | 'filled' | 'danger' | 'ghost' | 'subtle';
304
- /**
305
- * viking-button — composable button.
306
- * Variants: outline (default), primary, filled, danger, ghost, subtle.
307
- */
308
- declare class VikingButton {
309
- readonly variant: _angular_core.InputSignal<VikingButtonVariant>;
310
- readonly size: _angular_core.InputSignal<VikingSize>;
311
- readonly type: _angular_core.InputSignal<"button" | "submit">;
312
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
313
- readonly iconTrailing: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
314
- readonly disabled: _angular_core.InputSignal<boolean>;
315
- readonly loading: _angular_core.InputSignal<boolean>;
316
- readonly square: _angular_core.InputSignal<boolean>;
317
- /** Stretch button to 100% of container width. */
318
- readonly fullWidth: _angular_core.InputSignal<boolean>;
319
- readonly href: _angular_core.InputSignal<string | null>;
320
- readonly target: _angular_core.InputSignal<string | null>;
321
- readonly kbd: _angular_core.InputSignal<string | null>;
322
- /** Accessible name; required for icon-only (square) buttons. */
323
- readonly label: _angular_core.InputSignal<string>;
324
- readonly pressed: _angular_core.OutputEmitterRef<MouseEvent>;
325
- protected readonly iconSize: _angular_core.Signal<22 | 18>;
326
- protected readonly classes: _angular_core.Signal<{
327
- [x: string]: boolean;
328
- 'viking-square': boolean;
329
- }>;
330
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingButton, never>;
331
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingButton, "viking-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconTrailing": { "alias": "iconTrailing"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "kbd": { "alias": "kbd"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "pressed": "pressed"; }, never, ["*"], true, never>;
332
- }
333
-
334
- /**
335
- * viking-button-group — fuses buttons with shared borders
336
- *.
337
- */
338
- declare class VikingButtonGroup {
339
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingButtonGroup, never>;
340
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingButtonGroup, "viking-button-group", never, {}, {}, never, ["*"], true, never>;
341
- }
342
-
343
- interface CalendarDay {
344
- iso: string;
345
- day: number;
346
- inMonth: boolean;
347
- isToday: boolean;
348
- }
349
- /**
350
- * viking-calendar — month-grid date selection.
351
- * Value is an ISO date string (YYYY-MM-DD). ControlValueAccessor-compatible.
352
- */
353
- declare class VikingCalendar extends VikingControl<string | null> {
354
- readonly value: _angular_core.ModelSignal<string | null>;
355
- protected readonly weekdays: string[];
356
- protected readonly viewDate: _angular_core.WritableSignal<Date>;
357
- protected readonly title: _angular_core.Signal<string>;
358
- protected readonly days: _angular_core.Signal<CalendarDay[]>;
359
- writeValue(value: string | null): void;
360
- protected move: (delta: number) => void;
361
- protected pick: (day: CalendarDay) => void;
362
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCalendar, never>;
363
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCalendar, "viking-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
364
- }
365
-
366
- /**
367
- * viking-callout — highlighted message block.
368
- */
369
- declare class VikingCallout {
370
- readonly tone: _angular_core.InputSignal<VikingTone>;
371
- readonly heading: _angular_core.InputSignal<string>;
372
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
373
- readonly dismissible: _angular_core.InputSignal<boolean>;
374
- readonly closed: _angular_core.OutputEmitterRef<void>;
375
- protected readonly dismissed: _angular_core.WritableSignal<boolean>;
376
- protected readonly resolvedIcon: _angular_core.Signal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple">;
377
- protected dismiss: () => void;
378
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCallout, never>;
379
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCallout, "viking-callout", never, { "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
380
- }
381
-
382
- /**
383
- * viking-card — surface container.
384
- * Compose with viking-card-header / viking-card-footer for structured layouts.
385
- */
386
- declare class VikingCard {
387
- readonly interactive: _angular_core.InputSignal<boolean>;
388
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCard, never>;
389
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCard, "viking-card", never, { "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
390
- }
391
- /** Header row for viking-card. */
392
- declare class VikingCardHeader {
393
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCardHeader, never>;
394
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCardHeader, "viking-card-header", never, {}, {}, never, ["*"], true, never>;
395
- }
396
- /** Footer row for viking-card. */
397
- declare class VikingCardFooter {
398
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCardFooter, never>;
399
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCardFooter, "viking-card-footer", never, {}, {}, never, ["*"], true, never>;
400
- }
401
-
402
- /** A single slide inside viking-carousel. */
403
- declare class VikingCarouselSlide {
404
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCarouselSlide, never>;
405
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCarouselSlide, "viking-carousel-slide", never, {}, {}, never, ["*"], true, never>;
406
- }
407
- /**
408
- * viking-carousel — scroll-snap slideshow.
409
- */
410
- declare class VikingCarousel {
411
- private readonly viewport;
412
- protected readonly slides: _angular_core.Signal<readonly VikingCarouselSlide[]>;
413
- protected readonly index: _angular_core.WritableSignal<number>;
414
- protected goTo: (target: number) => void;
415
- protected onScroll: () => void;
416
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCarousel, never>;
417
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCarousel, "viking-carousel", never, {}, {}, ["slides"], ["*"], true, never>;
418
- }
419
-
420
- interface ChartPath {
421
- name: string;
422
- tone: VikingTone;
423
- line: string;
424
- area: string;
425
- }
426
- interface ChartPoint {
427
- x: number;
428
- y: number;
429
- tone: VikingTone;
430
- }
431
- interface BarRect {
432
- x: number;
433
- y: number;
434
- width: number;
435
- height: number;
436
- tone: VikingTone;
437
- radiusTop: boolean;
438
- }
439
- interface DonutSlice {
440
- label: string;
441
- tone: VikingTone;
442
- path: string;
443
- }
444
- interface AxisLabel {
445
- x: number;
446
- y: number;
447
- text: string;
448
- anchor: 'start' | 'middle' | 'end';
449
- }
450
- interface TickMark {
451
- x: number;
452
- y1: number;
453
- y2: number;
454
- }
455
- interface Gutter {
456
- top: number;
457
- right: number;
458
- bottom: number;
459
- left: number;
460
- }
461
- /**
462
- * viking-chart — zero-dependency native SVG charts styled after Viking UI.
463
- */
464
- declare class VikingChart {
465
- protected readonly chartId: string;
466
- readonly kind: _angular_core.InputSignal<VikingChartKind>;
467
- readonly series: _angular_core.InputSignal<VikingChartSeries[]>;
468
- readonly categories: _angular_core.InputSignal<string[]>;
469
- readonly segments: _angular_core.InputSignal<VikingDonutSegment[]>;
470
- readonly label: _angular_core.InputSignal<string>;
471
- readonly showArea: _angular_core.InputSignal<boolean>;
472
- readonly compact: _angular_core.InputSignal<boolean>;
473
- readonly fill: _angular_core.InputSignal<boolean>;
474
- readonly curve: _angular_core.InputSignal<VikingChartCurve>;
475
- readonly showPoints: _angular_core.InputSignal<boolean>;
476
- readonly pointRadius: _angular_core.InputSignal<number>;
477
- readonly barWidth: _angular_core.InputSignal<number>;
478
- readonly barRadius: _angular_core.InputSignal<number>;
479
- readonly gutter: _angular_core.InputSignal<string | number | undefined>;
480
- readonly tickCount: _angular_core.InputSignal<number>;
481
- readonly showLegend: _angular_core.InputSignal<boolean | undefined>;
482
- readonly summary: _angular_core.InputSignal<string>;
483
- protected readonly width = 720;
484
- protected readonly isSparkline: _angular_core.Signal<boolean>;
485
- protected readonly resolvedGutter: _angular_core.Signal<Gutter>;
486
- protected readonly legendVisible: _angular_core.Signal<boolean>;
487
- protected readonly height: _angular_core.Signal<240 | 200 | 48>;
488
- protected readonly plotBottom: _angular_core.Signal<number>;
489
- protected readonly plotTop: _angular_core.Signal<number>;
490
- protected readonly plotCy: _angular_core.Signal<number>;
491
- protected readonly isBarKind: _angular_core.Signal<boolean>;
492
- protected readonly renderArea: _angular_core.Signal<boolean>;
493
- protected readonly renderPoints: _angular_core.Signal<boolean>;
494
- protected toneVar: (tone: VikingTone) => string;
495
- protected readonly valueRange: _angular_core.Signal<{
496
- min: number;
497
- max: number;
498
- }>;
499
- protected readonly gridLines: _angular_core.Signal<number[]>;
500
- protected readonly yAxisLabels: _angular_core.Signal<AxisLabel[]>;
501
- protected readonly xAxisLabels: _angular_core.Signal<AxisLabel[]>;
502
- protected readonly xTickMarks: _angular_core.Signal<TickMark[]>;
503
- protected readonly paths: _angular_core.Signal<ChartPath[]>;
504
- protected readonly linePoints: _angular_core.Signal<ChartPoint[]>;
505
- protected readonly barRects: _angular_core.Signal<BarRect[]>;
506
- private readonly singleBarRects;
507
- private readonly groupedBarRects;
508
- private readonly stackedBarRects;
509
- protected readonly donutTotalLabel: _angular_core.Signal<string>;
510
- protected readonly donutSlices: _angular_core.Signal<DonutSlice[]>;
511
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingChart, never>;
512
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingChart, "viking-chart", never, { "kind": { "alias": "kind"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "categories": { "alias": "categories"; "required": false; "isSignal": true; }; "segments": { "alias": "segments"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showArea": { "alias": "showArea"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "showPoints": { "alias": "showPoints"; "required": false; "isSignal": true; }; "pointRadius": { "alias": "pointRadius"; "required": false; "isSignal": true; }; "barWidth": { "alias": "barWidth"; "required": false; "isSignal": true; }; "barRadius": { "alias": "barRadius"; "required": false; "isSignal": true; }; "gutter": { "alias": "gutter"; "required": false; "isSignal": true; }; "tickCount": { "alias": "tickCount"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "summary": { "alias": "summary"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
513
- }
514
-
515
- /**
516
- * viking-checkbox — custom checkbox.
517
- * ControlValueAccessor-compatible.
518
- */
519
- declare class VikingCheckbox extends VikingControl<boolean> {
520
- readonly checked: _angular_core.ModelSignal<boolean>;
521
- readonly indeterminate: _angular_core.InputSignal<boolean>;
522
- readonly disabled: _angular_core.InputSignal<boolean>;
523
- readonly description: _angular_core.InputSignal<string>;
524
- writeValue(value: boolean): void;
525
- protected toggle: (event: Event) => void;
526
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCheckbox, never>;
527
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCheckbox, "viking-checkbox", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
528
- }
529
-
530
- /**
531
- * viking-color-picker — swatch presets + custom color input
532
- *. ControlValueAccessor-compatible.
533
- * Default presets are the THEME.md palette.
534
- */
535
- declare class VikingColorPicker extends VikingControl<string> {
536
- readonly value: _angular_core.ModelSignal<string>;
537
- readonly label: _angular_core.InputSignal<string>;
538
- readonly disabled: _angular_core.InputSignal<boolean>;
539
- /** Preset swatches — defaults to the THEME.md palette. */
540
- readonly presets: _angular_core.InputSignal<string[]>;
541
- writeValue(value: string): void;
542
- protected pick: (color: string) => void;
543
- protected onInput: (event: Event) => void;
544
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingColorPicker, never>;
545
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingColorPicker, "viking-color-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
546
- }
547
-
548
- /**
549
- * viking-command — command palette.
550
- * Toggle with the `open` model; emits `executed` when an item is chosen.
551
- */
552
- declare class VikingCommand {
553
- readonly items: _angular_core.InputSignal<VikingCommandItem[]>;
554
- readonly open: _angular_core.ModelSignal<boolean>;
555
- readonly placeholder: _angular_core.InputSignal<string>;
556
- readonly executed: _angular_core.OutputEmitterRef<VikingCommandItem>;
557
- protected readonly query: _angular_core.WritableSignal<string>;
558
- protected readonly activeId: _angular_core.WritableSignal<string>;
559
- protected readonly filtered: _angular_core.Signal<VikingCommandItem[]>;
560
- protected readonly groups: _angular_core.Signal<{
561
- name: string;
562
- items: VikingCommandItem[];
563
- }[]>;
564
- protected onQuery: (event: Event) => void;
565
- protected run: (item: VikingCommandItem) => void;
566
- protected onKeydown: (event: KeyboardEvent) => void;
567
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingCommand, never>;
568
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingCommand, "viking-command", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "executed": "executed"; }, never, never, true, never>;
569
- }
570
-
571
- /**
572
- * viking-composer — message composer with attachments and send action
573
- *.
574
- */
575
- declare class VikingComposer {
576
- readonly value: _angular_core.ModelSignal<string>;
577
- readonly placeholder: _angular_core.InputSignal<string>;
578
- readonly disabled: _angular_core.InputSignal<boolean>;
579
- readonly allowAttachments: _angular_core.InputSignal<boolean>;
580
- readonly sent: _angular_core.OutputEmitterRef<string>;
581
- readonly attach: _angular_core.OutputEmitterRef<void>;
582
- protected onInput: (event: Event) => void;
583
- protected onKeydown: (event: KeyboardEvent) => void;
584
- protected send: () => void;
585
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingComposer, never>;
586
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingComposer, "viking-composer", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "allowAttachments": { "alias": "allowAttachments"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "sent": "sent"; "attach": "attach"; }, never, ["*"], true, never>;
587
- }
588
-
589
- /**
590
- * viking-context — right-click context menu.
591
- * Wrap the target content and project menu content with the `vikingMenu` attribute
592
- * (typically viking-menu-item elements).
593
- */
594
- declare class VikingContext {
595
- private readonly host;
596
- protected readonly open: _angular_core.WritableSignal<boolean>;
597
- protected readonly position: _angular_core.WritableSignal<{
598
- x: number;
599
- y: number;
600
- }>;
601
- protected onContextMenu: (event: MouseEvent) => void;
602
- protected closed: () => void;
603
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingContext, never>;
604
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingContext, "viking-context", never, {}, {}, never, ["*", "[vikingMenu]"], true, never>;
605
- }
606
-
607
- /**
608
- * viking-date-picker — input + calendar popover.
609
- * Value is an ISO date string (YYYY-MM-DD). ControlValueAccessor-compatible.
610
- */
611
- declare class VikingDatePicker extends VikingControl<string | null> {
612
- private readonly host;
613
- readonly value: _angular_core.ModelSignal<string | null>;
614
- readonly placeholder: _angular_core.InputSignal<string>;
615
- readonly label: _angular_core.InputSignal<string>;
616
- readonly disabled: _angular_core.InputSignal<boolean>;
617
- protected readonly open: _angular_core.WritableSignal<boolean>;
618
- writeValue(value: string | null): void;
619
- protected pick: (iso: string | null) => void;
620
- protected onDocumentClick: (event: Event) => void;
621
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingDatePicker, never>;
622
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingDatePicker, "viking-date-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
623
- }
624
-
625
- /**
626
- * viking-dropdown — expandable menu.
627
- * Project the trigger with `vikingTrigger`; fill the menu with viking-menu-item.
628
- */
629
- declare class VikingDropdown {
630
- private readonly host;
631
- readonly open: _angular_core.ModelSignal<boolean>;
632
- readonly align: _angular_core.InputSignal<"start" | "end">;
633
- /** Closes the menu; called by viking-menu-item on selection. */
634
- readonly close: () => void;
635
- /** Toggles when the (focusable, projected) trigger is activated. */
636
- protected onHostClick: (event: Event) => void;
637
- protected onDocumentClick: (event: Event) => void;
638
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingDropdown, never>;
639
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingDropdown, "viking-dropdown", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["[vikingTrigger]", "*"], true, never>;
640
- }
641
- /**
642
- * viking-menu-item — action row inside viking-dropdown / viking-context menus.
643
- */
644
- declare class VikingMenuItem {
645
- private readonly dropdown;
646
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
647
- readonly kbd: _angular_core.InputSignal<string | null>;
648
- readonly danger: _angular_core.InputSignal<boolean>;
649
- readonly disabled: _angular_core.InputSignal<boolean>;
650
- readonly selected: _angular_core.OutputEmitterRef<MouseEvent>;
651
- protected select: (event: MouseEvent) => void;
652
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingMenuItem, never>;
653
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingMenuItem, "viking-menu-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "kbd": { "alias": "kbd"; "required": false; "isSignal": true; }; "danger": { "alias": "danger"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, ["*"], true, never>;
654
- }
655
-
656
- interface EditorAction {
657
- icon: VikingIconName;
658
- command: string;
659
- label: string;
660
- }
661
- /**
662
- * viking-editor — lightweight rich text editor.
663
- * Zero-dependency contenteditable with a formatting toolbar.
664
- * Value is HTML. ControlValueAccessor-compatible.
665
- */
666
- declare class VikingEditor extends VikingControl<string> {
667
- private readonly surface;
668
- private readonly document;
669
- readonly value: _angular_core.ModelSignal<string>;
670
- readonly placeholder: _angular_core.InputSignal<string>;
671
- readonly label: _angular_core.InputSignal<string>;
672
- protected readonly actions: EditorAction[];
673
- constructor();
674
- writeValue(value: string): void;
675
- protected exec: (command: string) => void;
676
- protected onInput: () => void;
677
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingEditor, never>;
678
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingEditor, "viking-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
679
- }
680
-
681
- /**
682
- * viking-fab — floating action button (fixed bottom-right).
683
- */
684
- declare class VikingFab {
685
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple">;
686
- readonly label: _angular_core.InputSignal<string>;
687
- readonly disabled: _angular_core.InputSignal<boolean>;
688
- readonly pressed: _angular_core.OutputEmitterRef<MouseEvent>;
689
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingFab, never>;
690
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingFab, "viking-fab", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "pressed": "pressed"; }, never, never, true, never>;
691
- }
692
-
693
- /**
694
- * viking-field — label / description / error wrapper for any control
695
- *.
696
- * The projected control is associated with the label by wrapping.
697
- */
698
- declare class VikingField {
699
- readonly label: _angular_core.InputSignal<string>;
700
- readonly description: _angular_core.InputSignal<string>;
701
- readonly error: _angular_core.InputSignal<string>;
702
- readonly required: _angular_core.InputSignal<boolean>;
703
- protected readonly descriptionId: string;
704
- protected readonly errorId: string;
705
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingField, never>;
706
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingField, "viking-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
707
- }
708
-
709
- /**
710
- * viking-footer — site-wide footer chrome. Project directory columns and bottom row via slots.
711
- * Static apps (marketing, backend) use the same class names from viking-ui.css.
712
- */
713
- declare class VikingFooter {
714
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingFooter, never>;
715
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingFooter, "viking-footer", never, {}, {}, never, ["[fluxFooterDirectory]", "[fluxFooterBottom]"], true, never>;
716
- }
717
-
718
- /**
719
- * viking-file-upload — drag & drop file zone.
720
- */
721
- declare class VikingFileUpload {
722
- readonly heading: _angular_core.InputSignal<string>;
723
- readonly hint: _angular_core.InputSignal<string>;
724
- readonly accept: _angular_core.InputSignal<string>;
725
- readonly multiple: _angular_core.InputSignal<boolean>;
726
- readonly disabled: _angular_core.InputSignal<boolean>;
727
- readonly filesChanged: _angular_core.OutputEmitterRef<File[]>;
728
- protected readonly dragOver: _angular_core.WritableSignal<boolean>;
729
- protected readonly fileList: _angular_core.WritableSignal<File[]>;
730
- protected onDragOver: (event: DragEvent) => void;
731
- protected onDrop: (event: DragEvent) => void;
732
- protected onSelect: (event: Event) => void;
733
- protected removeFile: (file: File) => void;
734
- protected formatSize: (bytes: number) => string;
735
- private addFiles;
736
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingFileUpload, never>;
737
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingFileUpload, "viking-file-upload", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "filesChanged": "filesChanged"; }, never, never, true, never>;
738
- }
739
-
740
- /** viking-gauge-arc — semicircle gauge fill driven by value / max. */
741
- declare class VikingGaugeArc {
742
- readonly value: _angular_core.InputSignal<number>;
743
- readonly max: _angular_core.InputSignal<number>;
744
- readonly circumference: _angular_core.InputSignal<number>;
745
- readonly tone: _angular_core.InputSignal<"accent" | "danger" | "primary" | "amber">;
746
- protected readonly strokeDasharray: _angular_core.Signal<string>;
747
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingGaugeArc, never>;
748
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingGaugeArc, "viking-gauge-arc", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "circumference": { "alias": "circumference"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
749
- }
750
-
751
- /** viking-hud-panel — bordered dashboard panel with icon header. */
752
- declare class VikingHudPanel {
753
- readonly title: _angular_core.InputSignal<string>;
754
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
755
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingHudPanel, never>;
756
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingHudPanel, "viking-hud-panel", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["[fluxHudPanelBadge]", "*"], true, never>;
757
- }
758
-
759
- /**
760
- * viking-icon — inline SVG icon.
761
- * Zero-dependency 24x24 stroke icons from the internal registry.
762
- */
763
- declare class VikingIcon {
764
- private readonly sanitizer;
765
- readonly name: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple">;
766
- readonly size: _angular_core.InputSignal<number>;
767
- readonly spin: _angular_core.InputSignal<boolean>;
768
- protected readonly filled: _angular_core.Signal<boolean>;
769
- protected readonly paths: _angular_core.Signal<SafeHtml>;
770
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingIcon, never>;
771
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingIcon, "viking-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "spin": { "alias": "spin"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
772
- }
773
-
774
- /**
775
- * viking-input — text input with icons, kbd hint and clearable state
776
- *. ControlValueAccessor-compatible.
777
- */
778
- declare class VikingInput extends VikingControl<string> {
779
- readonly value: _angular_core.ModelSignal<string>;
780
- readonly type: _angular_core.InputSignal<string>;
781
- readonly placeholder: _angular_core.InputSignal<string>;
782
- readonly label: _angular_core.InputSignal<string>;
783
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
784
- readonly iconTrailing: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
785
- readonly kbd: _angular_core.InputSignal<string | null>;
786
- readonly clearable: _angular_core.InputSignal<boolean>;
787
- readonly disabled: _angular_core.InputSignal<boolean>;
788
- readonly autocomplete: _angular_core.InputSignal<string>;
789
- readonly cleared: _angular_core.OutputEmitterRef<void>;
790
- protected isDisabled: () => boolean;
791
- writeValue(value: string): void;
792
- protected onInput: (event: Event) => void;
793
- protected clear: () => void;
794
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingInput, never>;
795
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingInput, "viking-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconTrailing": { "alias": "iconTrailing"; "required": false; "isSignal": true; }; "kbd": { "alias": "kbd"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "cleared": "cleared"; }, never, never, true, never>;
796
- }
797
-
798
- /**
799
- * viking-kanban — drag & drop board.
800
- * Native HTML5 drag and drop; emits `moved` and updates the `columns` model.
801
- */
802
- declare class VikingKanban {
803
- readonly columns: _angular_core.ModelSignal<VikingKanbanColumn[]>;
804
- readonly moved: _angular_core.OutputEmitterRef<VikingKanbanMove>;
805
- protected readonly draggingId: _angular_core.WritableSignal<string | null>;
806
- protected readonly dropColumnId: _angular_core.WritableSignal<string | null>;
807
- private dragSource;
808
- protected onDragStart: (card: VikingKanbanCard, columnId: string) => void;
809
- protected onDragOver: (event: DragEvent, columnId: string) => void;
810
- protected onDrop: (event: DragEvent, toColumnId: string) => void;
811
- protected resetDrag: () => void;
812
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingKanban, never>;
813
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingKanban, "viking-kanban", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "columns": "columnsChange"; "moved": "moved"; }, never, never, true, never>;
814
- }
815
-
816
- /**
817
- * viking-kbd — keyboard hint chip (Spartan-inspired, zero-dependency).
818
- */
819
- declare class VikingKbd {
820
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingKbd, never>;
821
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingKbd, "viking-kbd", never, {}, {}, never, ["*"], true, never>;
822
- }
823
-
824
- /**
825
- * viking-label — accessible form label (Spartan-inspired).
826
- */
827
- declare class VikingLabel {
828
- readonly htmlFor: _angular_core.InputSignal<string>;
829
- readonly required: _angular_core.InputSignal<boolean>;
830
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingLabel, never>;
831
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingLabel, "viking-label", never, { "htmlFor": { "alias": "htmlFor"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
832
- }
833
-
834
- /** viking-metric-row — responsive grid row for HUD metric cards. */
835
- declare class VikingMetricRow {
836
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingMetricRow, never>;
837
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingMetricRow, "viking-metric-row", never, {}, {}, never, ["*"], true, never>;
838
- }
839
- /** viking-metric-card — single KPI tile in a metric row. */
840
- declare class VikingMetricCard {
841
- readonly label: _angular_core.InputSignal<string>;
842
- readonly value: _angular_core.InputSignal<string | number>;
843
- readonly variant: _angular_core.InputSignal<"warning" | "default" | "critical">;
844
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingMetricCard, never>;
845
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingMetricCard, "viking-metric-card", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
846
- }
847
-
848
- /**
849
- * viking-menubar — horizontal application menu bar (Spartan-inspired).
850
- */
851
- declare class VikingMenubar {
852
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingMenubar, never>;
853
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingMenubar, "viking-menubar", never, {}, {}, never, ["*"], true, never>;
854
- }
855
- /**
856
- * viking-menubar-item — menu item trigger for viking-menubar.
857
- */
858
- declare class VikingMenubarItem {
859
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingMenubarItem, never>;
860
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingMenubarItem, "viking-menubar-item", never, {}, {}, never, ["*"], true, never>;
861
- }
862
-
863
- /**
864
- * viking-modal — dialog built on the native <dialog> element
865
- *. Toggle via the `open` model.
866
- */
867
- declare class VikingModal {
868
- private readonly dialogRef;
869
- readonly open: _angular_core.ModelSignal<boolean>;
870
- readonly heading: _angular_core.InputSignal<string>;
871
- readonly dismissible: _angular_core.InputSignal<boolean>;
872
- constructor();
873
- protected onBackdropClick: (event: MouseEvent) => void;
874
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingModal, never>;
875
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingModal, "viking-modal", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["*", "[vikingModalActions]"], true, never>;
876
- }
877
-
878
- /**
879
- * viking-native-select — styled native &lt;select&gt; (Spartan-inspired).
880
- */
881
- declare class VikingNativeSelect extends VikingControl<string | number | null> {
882
- readonly label: _angular_core.InputSignal<string>;
883
- readonly placeholder: _angular_core.InputSignal<string>;
884
- readonly options: _angular_core.InputSignal<VikingSelectOption<unknown>[]>;
885
- readonly disabled: _angular_core.InputSignal<boolean>;
886
- readonly value: _angular_core.ModelSignal<string | number | null>;
887
- protected readonly selectId: string;
888
- writeValue(value: string | number | null): void;
889
- protected onSelectChange: (event: Event) => void;
890
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingNativeSelect, never>;
891
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingNativeSelect, "viking-native-select", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
892
- }
893
-
894
- interface VikingNavItem {
895
- label: string;
896
- href?: string;
897
- active?: boolean;
898
- disabled?: boolean;
899
- }
900
- /**
901
- * viking-navigation-menu — primary nav links with active indicator (Spartan-inspired).
902
- */
903
- declare class VikingNavigationMenu {
904
- readonly label: _angular_core.InputSignal<string>;
905
- readonly items: _angular_core.InputSignal<VikingNavItem[]>;
906
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingNavigationMenu, never>;
907
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingNavigationMenu, "viking-navigation-menu", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
908
- }
909
-
910
- /**
911
- * viking-navbar — horizontal navigation container.
912
- * Compose with viking-navbar-item and any other inline content.
913
- */
914
- declare class VikingNavbar {
915
- readonly label: _angular_core.InputSignal<string>;
916
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingNavbar, never>;
917
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingNavbar, "viking-navbar", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
918
- }
919
- /** Navigation link/button inside viking-navbar. */
920
- declare class VikingNavbarItem {
921
- readonly href: _angular_core.InputSignal<string | null>;
922
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
923
- readonly current: _angular_core.InputSignal<boolean>;
924
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingNavbarItem, never>;
925
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingNavbarItem, "viking-navbar-item", never, { "href": { "alias": "href"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
926
- }
927
-
928
- /**
929
- * viking-otp-input — one-time-passcode input.
930
- * Auto-advances between cells and supports paste. ControlValueAccessor-compatible.
931
- */
932
- declare class VikingOtpInput extends VikingControl<string> {
933
- private readonly host;
934
- readonly length: _angular_core.InputSignal<number>;
935
- readonly value: _angular_core.ModelSignal<string>;
936
- readonly label: _angular_core.InputSignal<string>;
937
- readonly disabled: _angular_core.InputSignal<boolean>;
938
- readonly completed: _angular_core.OutputEmitterRef<string>;
939
- protected readonly indexes: _angular_core.Signal<number[]>;
940
- writeValue(value: string): void;
941
- private commit;
942
- private focusCell;
943
- protected onCellInput: (event: Event, index: number) => void;
944
- protected onKeydown: (event: KeyboardEvent, index: number) => void;
945
- protected onPaste: (event: ClipboardEvent) => void;
946
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingOtpInput, never>;
947
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingOtpInput, "viking-otp-input", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "completed": "completed"; }, never, never, true, never>;
948
- }
949
-
950
- /**
951
- * viking-page-header — unified HUD / topbar header for dashboard pages.
952
- */
953
- declare class VikingPageHeader {
954
- readonly tag: _angular_core.InputSignal<string>;
955
- readonly title: _angular_core.InputSignal<string>;
956
- readonly subtitle: _angular_core.InputSignal<string>;
957
- readonly layout: _angular_core.InputSignal<"hud" | "sidebar">;
958
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingPageHeader, never>;
959
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingPageHeader, "viking-page-header", never, { "tag": { "alias": "tag"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; }, {}, never, ["[vikingPageHeaderBack]", "[vikingPageHeaderExtra]", "[vikingPageHeaderActions]"], true, never>;
960
- }
961
-
962
- /**
963
- * viking-pagination — page navigation.
964
- */
965
- declare class VikingPagination {
966
- readonly page: _angular_core.ModelSignal<number>;
967
- readonly totalPages: _angular_core.InputSignal<number>;
968
- /** Windowed page list with null entries marking ellipses. */
969
- protected readonly pageItems: _angular_core.Signal<(number | null)[]>;
970
- protected goTo: (target: number) => void;
971
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingPagination, never>;
972
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingPagination, "viking-pagination", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": true; "isSignal": true; }; }, { "page": "pageChange"; }, never, never, true, never>;
973
- }
974
-
975
- /**
976
- * viking-pillbox — multi-value tag input.
977
- * Type and press Enter (or comma) to add pills. ControlValueAccessor-compatible.
978
- */
979
- declare class VikingPillbox extends VikingControl<string[]> {
980
- readonly values: _angular_core.ModelSignal<string[]>;
981
- readonly placeholder: _angular_core.InputSignal<string>;
982
- readonly label: _angular_core.InputSignal<string>;
983
- readonly disabled: _angular_core.InputSignal<boolean>;
984
- protected readonly draft: _angular_core.WritableSignal<string>;
985
- writeValue(value: string[]): void;
986
- protected onKeydown: (event: KeyboardEvent) => void;
987
- protected remove: (pill: string) => void;
988
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingPillbox, never>;
989
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingPillbox, "viking-pillbox", never, { "values": { "alias": "values"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "values": "valuesChange"; }, never, never, true, never>;
990
- }
991
-
992
- /**
993
- * viking-popover — anchored floating panel.
994
- * Project the trigger with the `vikingTrigger` attribute; everything else becomes
995
- * the panel content. Closes on Escape or outside interaction.
996
- */
997
- declare class VikingPopover {
998
- private readonly host;
999
- readonly open: _angular_core.ModelSignal<boolean>;
1000
- readonly align: _angular_core.InputSignal<"start" | "end">;
1001
- /** Toggles when the (focusable, projected) trigger is activated. */
1002
- protected onHostClick: (event: Event) => void;
1003
- protected onDocumentClick: (event: Event) => void;
1004
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingPopover, never>;
1005
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingPopover, "viking-popover", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["[vikingTrigger]", "*"], true, never>;
1006
- }
1007
-
1008
- /**
1009
- * viking-profile — user identity block.
1010
- * Project actions (e.g. viking-button) as content.
1011
- */
1012
- declare class VikingProfile {
1013
- readonly name: _angular_core.InputSignal<string>;
1014
- readonly detail: _angular_core.InputSignal<string>;
1015
- readonly avatarSrc: _angular_core.InputSignal<string | null>;
1016
- readonly status: _angular_core.InputSignal<VikingTone | null>;
1017
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingProfile, never>;
1018
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingProfile, "viking-profile", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "detail": { "alias": "detail"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1019
- }
1020
-
1021
- /**
1022
- * viking-progress — determinate/indeterminate progress bar
1023
- *.
1024
- */
1025
- declare class VikingProgress {
1026
- readonly value: _angular_core.InputSignal<number>;
1027
- readonly label: _angular_core.InputSignal<string>;
1028
- readonly tone: _angular_core.InputSignal<VikingTone>;
1029
- readonly indeterminate: _angular_core.InputSignal<boolean>;
1030
- protected readonly clamped: _angular_core.Signal<number>;
1031
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingProgress, never>;
1032
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingProgress, "viking-progress", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1033
- }
1034
-
1035
- /**
1036
- * viking-radio-group — radio group.
1037
- * ControlValueAccessor-compatible; options-driven for symmetry with viking-select.
1038
- */
1039
- declare class VikingRadioGroup extends VikingControl<unknown> {
1040
- readonly options: _angular_core.InputSignal<VikingSelectOption<unknown>[]>;
1041
- readonly value: _angular_core.ModelSignal<unknown>;
1042
- readonly label: _angular_core.InputSignal<string>;
1043
- readonly disabled: _angular_core.InputSignal<boolean>;
1044
- readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
1045
- protected readonly groupName: string;
1046
- writeValue(value: unknown): void;
1047
- protected select: (option: VikingSelectOption) => void;
1048
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingRadioGroup, never>;
1049
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingRadioGroup, "viking-radio-group", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1050
- }
1051
-
1052
- /** viking-ring-gauge — circular progress ring for health/score displays. */
1053
- declare class VikingRingGauge {
1054
- readonly value: _angular_core.InputSignal<number>;
1055
- readonly max: _angular_core.InputSignal<number>;
1056
- readonly circumference: _angular_core.InputSignal<number>;
1057
- readonly status: _angular_core.InputSignal<string>;
1058
- protected readonly strokeDasharray: _angular_core.Signal<string>;
1059
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingRingGauge, never>;
1060
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingRingGauge, "viking-ring-gauge", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "circumference": { "alias": "circumference"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1061
- }
1062
-
1063
- /**
1064
- * viking-search-palette — command-palette style search overlay.
1065
- * Project custom result lists into the body slot.
1066
- */
1067
- declare class VikingSearchPalette {
1068
- readonly open: _angular_core.ModelSignal<boolean>;
1069
- readonly query: _angular_core.ModelSignal<string>;
1070
- readonly placeholder: _angular_core.InputSignal<string>;
1071
- readonly paletteKeydown: _angular_core.OutputEmitterRef<KeyboardEvent>;
1072
- private readonly queryInput;
1073
- constructor();
1074
- protected onQueryInput(event: Event): void;
1075
- protected close(): void;
1076
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSearchPalette, never>;
1077
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSearchPalette, "viking-search-palette", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "query": "queryChange"; "paletteKeydown": "paletteKeydown"; }, never, ["*", "[fluxSearchPaletteFooter]"], true, never>;
1078
- }
1079
-
1080
- /**
1081
- * viking-select — custom listbox select.
1082
- * ControlValueAccessor-compatible with full keyboard support.
1083
- */
1084
- declare class VikingSelect extends VikingControl<unknown> {
1085
- private readonly host;
1086
- readonly options: _angular_core.InputSignal<VikingSelectOption<unknown>[]>;
1087
- readonly value: _angular_core.ModelSignal<unknown>;
1088
- readonly placeholder: _angular_core.InputSignal<string>;
1089
- readonly label: _angular_core.InputSignal<string>;
1090
- readonly disabled: _angular_core.InputSignal<boolean>;
1091
- protected readonly open: _angular_core.WritableSignal<boolean>;
1092
- protected readonly activeIndex: _angular_core.WritableSignal<number>;
1093
- protected readonly selectedLabel: _angular_core.Signal<string>;
1094
- writeValue(value: unknown): void;
1095
- protected toggle: () => void;
1096
- protected pick: (option: VikingSelectOption) => void;
1097
- protected onKeydown: (event: KeyboardEvent) => void;
1098
- protected onDocumentClick: (event: Event) => void;
1099
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSelect, never>;
1100
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSelect, "viking-select", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1101
- }
1102
-
1103
- /**
1104
- * viking-separator — horizontal/vertical rule with optional label
1105
- *.
1106
- */
1107
- declare class VikingSeparator {
1108
- readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
1109
- readonly text: _angular_core.InputSignal<string>;
1110
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSeparator, never>;
1111
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSeparator, "viking-separator", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1112
- }
1113
-
1114
- /**
1115
- * viking-scroll-area — constrained scroll region with clinical scrollbar styling.
1116
- */
1117
- declare class VikingScrollArea {
1118
- readonly maxHeight: _angular_core.InputSignal<string>;
1119
- readonly maxWidth: _angular_core.InputSignal<string>;
1120
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingScrollArea, never>;
1121
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingScrollArea, "viking-scroll-area", never, { "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1122
- }
1123
-
1124
- type VikingSheetSide = 'left' | 'right';
1125
- /**
1126
- * viking-sheet — slide-over panel (Spartan-inspired sheet).
1127
- */
1128
- declare class VikingSheet {
1129
- readonly open: _angular_core.ModelSignal<boolean>;
1130
- readonly heading: _angular_core.InputSignal<string>;
1131
- readonly dismissible: _angular_core.InputSignal<boolean>;
1132
- readonly side: _angular_core.InputSignal<VikingSheetSide>;
1133
- private readonly dialogRef;
1134
- constructor();
1135
- protected onBackdropClick: (event: MouseEvent) => void;
1136
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSheet, never>;
1137
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSheet, "viking-sheet", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["*", "[vikingSheetActions]"], true, never>;
1138
- }
1139
-
1140
- /**
1141
- * viking-skeleton — loading placeholder.
1142
- */
1143
- declare class VikingSkeleton {
1144
- readonly shape: _angular_core.InputSignal<"line" | "circle" | "rect">;
1145
- readonly width: _angular_core.InputSignal<string>;
1146
- readonly height: _angular_core.InputSignal<string>;
1147
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSkeleton, never>;
1148
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSkeleton, "viking-skeleton", never, { "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1149
- }
1150
-
1151
- /**
1152
- * viking-spinner — clinical loading indicator (Spartan-inspired SVG).
1153
- */
1154
- declare class VikingSpinner {
1155
- readonly size: _angular_core.InputSignal<number>;
1156
- readonly label: _angular_core.InputSignal<string>;
1157
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSpinner, never>;
1158
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSpinner, "viking-spinner", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1159
- }
1160
-
1161
- /**
1162
- * viking-slider — range slider.
1163
- * ControlValueAccessor-compatible.
1164
- */
1165
- declare class VikingSlider extends VikingControl<number> {
1166
- readonly value: _angular_core.ModelSignal<number>;
1167
- readonly min: _angular_core.InputSignal<number>;
1168
- readonly max: _angular_core.InputSignal<number>;
1169
- readonly step: _angular_core.InputSignal<number>;
1170
- readonly label: _angular_core.InputSignal<string>;
1171
- readonly showValue: _angular_core.InputSignal<boolean>;
1172
- readonly disabled: _angular_core.InputSignal<boolean>;
1173
- protected readonly fillPercent: _angular_core.Signal<number>;
1174
- writeValue(value: number): void;
1175
- protected onInput: (event: Event) => void;
1176
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSlider, never>;
1177
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSlider, "viking-slider", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1178
- }
1179
-
1180
- /**
1181
- * viking-switch — toggle switch.
1182
- * ControlValueAccessor-compatible.
1183
- */
1184
- declare class VikingSwitch extends VikingControl<boolean> {
1185
- readonly checked: _angular_core.ModelSignal<boolean>;
1186
- readonly disabled: _angular_core.InputSignal<boolean>;
1187
- readonly description: _angular_core.InputSignal<string>;
1188
- writeValue(value: boolean): void;
1189
- protected toggle: (event: Event) => void;
1190
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSwitch, never>;
1191
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSwitch, "viking-switch", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
1192
- }
1193
-
1194
- /**
1195
- * viking-table — clinical data table wrapper (Spartan-inspired).
1196
- */
1197
- declare class VikingTable {
1198
- readonly compact: _angular_core.InputSignal<boolean>;
1199
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTable, never>;
1200
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTable, "viking-table", never, { "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1201
- }
1202
-
1203
- /**
1204
- * viking-tab — tab trigger button inside viking-tabs.
1205
- */
1206
- declare class VikingTab {
1207
- private readonly tabs;
1208
- readonly value: _angular_core.InputSignal<string>;
1209
- readonly disabled: _angular_core.InputSignal<boolean>;
1210
- protected active: () => boolean;
1211
- protected select: () => void;
1212
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTab, never>;
1213
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTab, "viking-tab", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1214
- }
1215
-
1216
- /**
1217
- * viking-tab-panel — tabpanel region inside viking-tabs.
1218
- */
1219
- declare class VikingTabPanel {
1220
- private readonly tabs;
1221
- readonly value: _angular_core.InputSignal<string>;
1222
- protected hidden: () => boolean;
1223
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTabPanel, never>;
1224
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTabPanel, "viking-tab-panel", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1225
- }
1226
-
1227
- declare const VIKING_TABS: InjectionToken<VikingTabs>;
1228
- /**
1229
- * viking-tabs — tablist container (Spartan-inspired, clinical chrome).
1230
- */
1231
- declare class VikingTabs {
1232
- readonly value: _angular_core.ModelSignal<string>;
1233
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTabs, never>;
1234
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTabs, "viking-tabs", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["viking-tab", "viking-tab-panel"], true, never>;
1235
- }
1236
-
1237
- /**
1238
- * viking-textarea — auto-growing textarea.
1239
- * ControlValueAccessor-compatible.
1240
- */
1241
- declare class VikingTextarea extends VikingControl<string> {
1242
- readonly value: _angular_core.ModelSignal<string>;
1243
- readonly placeholder: _angular_core.InputSignal<string>;
1244
- readonly label: _angular_core.InputSignal<string>;
1245
- readonly rows: _angular_core.InputSignal<number>;
1246
- readonly autoGrow: _angular_core.InputSignal<boolean>;
1247
- readonly disabled: _angular_core.InputSignal<boolean>;
1248
- writeValue(value: string): void;
1249
- protected onInput: (event: Event) => void;
1250
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTextarea, never>;
1251
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTextarea, "viking-textarea", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "autoGrow": { "alias": "autoGrow"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1252
- }
1253
-
1254
- /**
1255
- * viking-toggle — pressed-state button toggle (Spartan-inspired).
1256
- */
1257
- declare class VikingToggle {
1258
- private readonly group;
1259
- readonly pressed: _angular_core.ModelSignal<boolean>;
1260
- readonly value: _angular_core.InputSignal<string>;
1261
- readonly disabled: _angular_core.InputSignal<boolean>;
1262
- readonly label: _angular_core.InputSignal<string>;
1263
- readonly toggled: _angular_core.OutputEmitterRef<boolean>;
1264
- protected isPressed: () => boolean;
1265
- protected toggle: () => void;
1266
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingToggle, never>;
1267
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingToggle, "viking-toggle", never, { "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "pressed": "pressedChange"; "toggled": "toggled"; }, never, ["*"], true, never>;
1268
- }
1269
-
1270
- declare const VIKING_TOGGLE_GROUP: InjectionToken<VikingToggleGroup>;
1271
- /**
1272
- * viking-toggle-group — exclusive or multi toggle cluster (Spartan-inspired).
1273
- */
1274
- declare class VikingToggleGroup {
1275
- readonly value: _angular_core.ModelSignal<string>;
1276
- readonly exclusive: _angular_core.ModelSignal<boolean>;
1277
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingToggleGroup, never>;
1278
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingToggleGroup, "viking-toggle-group", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "exclusive": { "alias": "exclusive"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "exclusive": "exclusiveChange"; }, never, ["*"], true, never>;
1279
- }
1280
-
1281
- /**
1282
- * viking-time-picker — dropdown time selection.
1283
- * Value is a 24h HH:MM string. ControlValueAccessor-compatible.
1284
- */
1285
- declare class VikingTimePicker extends VikingControl<string | null> {
1286
- private readonly host;
1287
- readonly value: _angular_core.ModelSignal<string | null>;
1288
- readonly placeholder: _angular_core.InputSignal<string>;
1289
- readonly label: _angular_core.InputSignal<string>;
1290
- readonly disabled: _angular_core.InputSignal<boolean>;
1291
- /** Minute granularity for generated slots. */
1292
- readonly stepMinutes: _angular_core.InputSignal<number>;
1293
- protected readonly open: _angular_core.WritableSignal<boolean>;
1294
- protected readonly slots: _angular_core.Signal<string[]>;
1295
- writeValue(value: string | null): void;
1296
- protected pick: (slot: string) => void;
1297
- protected onDocumentClick: (event: Event) => void;
1298
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTimePicker, never>;
1299
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTimePicker, "viking-time-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "stepMinutes": { "alias": "stepMinutes"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1300
- }
1301
-
1302
- /**
1303
- * viking-timeline — vertical event feed.
1304
- * Compose with viking-timeline-item.
1305
- */
1306
- declare class VikingTimeline {
1307
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTimeline, never>;
1308
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTimeline, "viking-timeline", never, {}, {}, never, ["*"], true, never>;
1309
- }
1310
- /** A single event on viking-timeline. */
1311
- declare class VikingTimelineItem {
1312
- readonly heading: _angular_core.InputSignal<string>;
1313
- readonly timestamp: _angular_core.InputSignal<string>;
1314
- readonly icon: _angular_core.InputSignal<"check" | "x" | "plus" | "minus" | "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "arrow-right" | "arrow-left" | "arrow-up-right" | "search" | "calendar" | "clock" | "user" | "settings" | "info" | "alert-triangle" | "alert-circle" | "check-circle" | "bell" | "star" | "heart" | "trash" | "pencil" | "copy" | "upload" | "download" | "send" | "paperclip" | "image" | "file" | "folder" | "menu" | "dots-horizontal" | "dots-vertical" | "grip-vertical" | "sun" | "moon" | "eye" | "eye-off" | "bold" | "italic" | "underline" | "list" | "list-ordered" | "link" | "home" | "mail" | "lock" | "globe" | "loader" | "sparkle" | "external" | "filter" | "terminal" | "refresh" | "log-out" | "shield" | "bar-chart" | "phone" | "google" | "apple" | null>;
1315
- readonly tone: _angular_core.InputSignal<VikingTone>;
1316
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTimelineItem, never>;
1317
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingTimelineItem, "viking-timeline-item", never, { "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "timestamp": { "alias": "timestamp"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1318
- }
1319
-
1320
- /**
1321
- * VikingToastService — imperative toast API.
1322
- * Render a single <viking-toaster> outlet near the app root.
1323
- */
1324
- declare class VikingToastService {
1325
- private nextId;
1326
- readonly toasts: _angular_core.WritableSignal<VikingToastInstance[]>;
1327
- readonly show: (options: VikingToastOptions) => number;
1328
- readonly dismiss: (id: number) => void;
1329
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingToastService, never>;
1330
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<VikingToastService>;
1331
- }
1332
- /**
1333
- * viking-toaster — fixed-position outlet that renders active toasts.
1334
- */
1335
- declare class VikingToaster {
1336
- protected readonly service: VikingToastService;
1337
- readonly position: _angular_core.InputSignal<"bottom-end" | "top-end">;
1338
- protected toneIcon: (tone: string) => VikingIconName;
1339
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingToaster, never>;
1340
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingToaster, "viking-toaster", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1341
- }
1342
-
1343
- type VikingUptimeStatus = 'operational' | 'partial_outage' | 'major_outage' | 'no_data';
1344
- /** viking-uptime-bar — timeline bar for uptime history visualizations. */
1345
- declare class VikingUptimeBar {
1346
- readonly status: _angular_core.InputSignal<VikingUptimeStatus>;
1347
- readonly title: _angular_core.InputSignal<string>;
1348
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingUptimeBar, never>;
1349
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingUptimeBar, "viking-uptime-bar", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1350
- }
1351
-
1352
- /**
1353
- * fluxTooltip — attribute directive tooltip.
1354
- * Shows on hover and keyboard focus; positions itself relative to the host.
1355
- */
1356
- declare class VikingTooltip implements OnDestroy {
1357
- private readonly host;
1358
- private readonly document;
1359
- readonly fluxTooltip: _angular_core.InputSignal<string>;
1360
- readonly tooltipPosition: _angular_core.InputSignal<"top" | "bottom">;
1361
- readonly tooltipKbd: _angular_core.InputSignal<string>;
1362
- private element;
1363
- protected show: () => void;
1364
- protected hide: () => void;
1365
- ngOnDestroy(): void;
1366
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingTooltip, never>;
1367
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<VikingTooltip, "[fluxTooltip]", never, { "fluxTooltip": { "alias": "fluxTooltip"; "required": true; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "tooltipKbd": { "alias": "tooltipKbd"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1368
- }
1369
-
1370
- /**
1371
- * viking-heading — consistent heading sizes.
1372
- */
1373
- declare class VikingHeading {
1374
- readonly size: _angular_core.InputSignal<"base" | "lg" | "xl">;
1375
- readonly level: _angular_core.InputSignal<2 | 1 | 4 | 3>;
1376
- protected readonly ariaLevel: _angular_core.Signal<2 | 1 | 4 | 3>;
1377
- protected readonly hostClass: _angular_core.Signal<string>;
1378
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingHeading, never>;
1379
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingHeading, "viking-heading", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1380
- }
1381
-
1382
- /**
1383
- * viking-text — body text with semantic variants.
1384
- */
1385
- declare class VikingText {
1386
- readonly variant: _angular_core.InputSignal<"accent" | "muted" | "strong" | "default">;
1387
- readonly inline: _angular_core.InputSignal<boolean>;
1388
- protected readonly hostClass: _angular_core.Signal<{
1389
- [x: string]: boolean;
1390
- 'viking-text-inline': boolean;
1391
- }>;
1392
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingText, never>;
1393
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingText, "viking-text", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1394
- }
1395
-
1396
- export { VIKING_ICON_NAMES, VIKING_ICON_PATHS, VIKING_TABS, VIKING_TOGGLE_GROUP, VikingAccordion, VikingAccordionItem, VikingAppHeader, VikingAppSidebar, VikingAuthPanel, VikingAutocomplete, VikingAvatar, VikingBadge, VikingBar, VikingBrand, VikingBreadcrumbs, VikingButton, VikingButtonGroup, VikingCalendar, VikingCallout, VikingCard, VikingCardFooter, VikingCardHeader, VikingCarousel, VikingCarouselSlide, VikingChart, VikingCheckbox, VikingColorPicker, VikingCommand, VikingComposer, VikingContext, VikingControl, VikingDatePicker, VikingDropdown, VikingEditor, VikingFab, VikingField, VikingFileUpload, VikingFooter, VikingGaugeArc, VikingHeading, VikingHudPanel, VikingIcon, VikingInput, VikingKanban, VikingKbd, VikingLabel, VikingMenuItem, VikingMenubar, VikingMenubarItem, VikingMetricCard, VikingMetricRow, VikingModal, VikingNativeSelect, VikingNavbar, VikingNavbarItem, VikingNavigationMenu, VikingOtpInput, VikingPageHeader, VikingPagination, VikingPillbox, VikingPopover, VikingProfile, VikingProgress, VikingRadioGroup, VikingRingGauge, VikingScrollArea, VikingSearchPalette, VikingSelect, VikingSeparator, VikingSheet, VikingSkeleton, VikingSlider, VikingSpinner, VikingSwitch, VikingTab, VikingTabPanel, VikingTable, VikingTabs, VikingText, VikingTextarea, VikingTimePicker, VikingTimeline, VikingTimelineItem, VikingToastService, VikingToaster, VikingToggle, VikingToggleGroup, VikingTooltip, VikingUptimeBar, provideVikingCva };
1397
- export type { VikingBreadcrumb, VikingButtonVariant, VikingChartCurve, VikingChartKind, VikingChartSeries, VikingCommandItem, VikingDonutSegment, VikingIconName, VikingKanbanCard, VikingKanbanColumn, VikingKanbanMove, VikingNavItem, VikingSelectOption, VikingSheetSide, VikingSize, VikingToastInstance, VikingToastOptions, VikingTone, VikingUptimeStatus };