@weeehaoooz/talos-ui 0.1.1 → 0.1.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 (190) hide show
  1. package/README.md +2 -0
  2. package/fesm2022/{weeehaoooz-talos-ui-button-button-group.mjs → weeehaoooz-talos-ui-button.mjs} +91 -15
  3. package/fesm2022/weeehaoooz-talos-ui-button.mjs.map +1 -0
  4. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs +3110 -0
  5. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs.map +1 -0
  6. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs +2414 -0
  7. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs.map +1 -0
  8. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs +1039 -0
  9. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs.map +1 -0
  10. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs +2885 -0
  11. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs.map +1 -0
  12. package/fesm2022/weeehaoooz-talos-ui-form.mjs +10799 -0
  13. package/fesm2022/weeehaoooz-talos-ui-form.mjs.map +1 -0
  14. package/fesm2022/weeehaoooz-talos-ui-layout.mjs +1316 -7
  15. package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -1
  16. package/fesm2022/weeehaoooz-talos-ui-nav.mjs +3 -3
  17. package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -1
  18. package/fesm2022/weeehaoooz-talos-ui.mjs +21592 -16293
  19. package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -1
  20. package/package.json +20 -139
  21. package/styles/_breadcrumb.scss +16 -0
  22. package/styles/_button-group.scss +2 -1
  23. package/styles/_buttons.scss +51 -0
  24. package/styles/_dropdown.scss +438 -0
  25. package/styles/_form-controls.scss +13 -0
  26. package/styles/_progress-bar.scss +43 -0
  27. package/styles/_skeleton.scss +176 -0
  28. package/styles/_spinner.scss +58 -0
  29. package/styles/_variables.scss +33 -0
  30. package/styles/index.scss +6 -1
  31. package/types/weeehaoooz-talos-ui-button.d.ts +92 -0
  32. package/types/weeehaoooz-talos-ui-button.d.ts.map +1 -0
  33. package/types/weeehaoooz-talos-ui-data-display.d.ts +1018 -0
  34. package/types/weeehaoooz-talos-ui-data-display.d.ts.map +1 -0
  35. package/types/weeehaoooz-talos-ui-data-viz.d.ts +839 -0
  36. package/types/weeehaoooz-talos-ui-data-viz.d.ts.map +1 -0
  37. package/types/weeehaoooz-talos-ui-dropdown.d.ts +187 -0
  38. package/types/weeehaoooz-talos-ui-dropdown.d.ts.map +1 -0
  39. package/types/weeehaoooz-talos-ui-feedback.d.ts +1495 -0
  40. package/types/weeehaoooz-talos-ui-feedback.d.ts.map +1 -0
  41. package/types/weeehaoooz-talos-ui-form.d.ts +2639 -0
  42. package/types/weeehaoooz-talos-ui-form.d.ts.map +1 -0
  43. package/types/weeehaoooz-talos-ui-layout.d.ts +851 -3
  44. package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -1
  45. package/types/weeehaoooz-talos-ui-nav.d.ts +1 -1
  46. package/types/weeehaoooz-talos-ui.d.ts +7148 -4629
  47. package/types/weeehaoooz-talos-ui.d.ts.map +1 -1
  48. package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +0 -1
  49. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +0 -94
  50. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +0 -1
  51. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +0 -233
  52. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +0 -1
  53. package/fesm2022/weeehaoooz-talos-ui-data-display-data-grid.mjs +0 -1627
  54. package/fesm2022/weeehaoooz-talos-ui-data-display-data-grid.mjs.map +0 -1
  55. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +0 -361
  56. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +0 -1
  57. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +0 -312
  58. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +0 -1
  59. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +0 -235
  60. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +0 -1
  61. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +0 -462
  62. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +0 -1
  63. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +0 -805
  64. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +0 -1
  65. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +0 -267
  66. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +0 -1
  67. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +0 -351
  68. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +0 -1
  69. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +0 -566
  70. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +0 -1
  71. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +0 -534
  72. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +0 -1
  73. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +0 -446
  74. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +0 -1
  75. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +0 -376
  76. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +0 -1
  77. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +0 -147
  78. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +0 -1
  79. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +0 -242
  80. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +0 -1
  81. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +0 -514
  82. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +0 -1
  83. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +0 -548
  84. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +0 -1
  85. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +0 -692
  86. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +0 -1
  87. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +0 -761
  88. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +0 -1
  89. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +0 -896
  90. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +0 -1
  91. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +0 -872
  92. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +0 -1
  93. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +0 -119
  94. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +0 -1
  95. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +0 -135
  96. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +0 -1
  97. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +0 -666
  98. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +0 -1
  99. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +0 -147
  100. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +0 -1
  101. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +0 -33
  102. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +0 -1
  103. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +0 -455
  104. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +0 -1
  105. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +0 -379
  106. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +0 -1
  107. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +0 -297
  108. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +0 -1
  109. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +0 -661
  110. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +0 -1
  111. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +0 -346
  112. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +0 -1
  113. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +0 -896
  114. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +0 -1
  115. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +0 -252
  116. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +0 -1
  117. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +0 -916
  118. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +0 -1
  119. package/types/weeehaoooz-talos-ui-button-button-group.d.ts +0 -62
  120. package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +0 -1
  121. package/types/weeehaoooz-talos-ui-button-button.d.ts +0 -38
  122. package/types/weeehaoooz-talos-ui-button-button.d.ts.map +0 -1
  123. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +0 -119
  124. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +0 -1
  125. package/types/weeehaoooz-talos-ui-data-display-data-grid.d.ts +0 -272
  126. package/types/weeehaoooz-talos-ui-data-display-data-grid.d.ts.map +0 -1
  127. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +0 -135
  128. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +0 -1
  129. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +0 -144
  130. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +0 -1
  131. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +0 -83
  132. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +0 -1
  133. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +0 -255
  134. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +0 -1
  135. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +0 -204
  136. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +0 -1
  137. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +0 -101
  138. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +0 -1
  139. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +0 -138
  140. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +0 -1
  141. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +0 -161
  142. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +0 -1
  143. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +0 -212
  144. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +0 -1
  145. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +0 -259
  146. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +0 -1
  147. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +0 -147
  148. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +0 -1
  149. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +0 -32
  150. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +0 -1
  151. package/types/weeehaoooz-talos-ui-form-affix.d.ts +0 -88
  152. package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +0 -1
  153. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +0 -113
  154. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +0 -1
  155. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +0 -165
  156. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +0 -1
  157. package/types/weeehaoooz-talos-ui-form-chips.d.ts +0 -152
  158. package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +0 -1
  159. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +0 -144
  160. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +0 -1
  161. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +0 -138
  162. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +0 -1
  163. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +0 -148
  164. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +0 -1
  165. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +0 -44
  166. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +0 -1
  167. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +0 -48
  168. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +0 -1
  169. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +0 -227
  170. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +0 -1
  171. package/types/weeehaoooz-talos-ui-form-form-field.d.ts +0 -42
  172. package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +0 -1
  173. package/types/weeehaoooz-talos-ui-form-input.d.ts +0 -15
  174. package/types/weeehaoooz-talos-ui-form-input.d.ts.map +0 -1
  175. package/types/weeehaoooz-talos-ui-form-otp.d.ts +0 -111
  176. package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +0 -1
  177. package/types/weeehaoooz-talos-ui-form-password-input.d.ts +0 -145
  178. package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +0 -1
  179. package/types/weeehaoooz-talos-ui-form-radio.d.ts +0 -84
  180. package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +0 -1
  181. package/types/weeehaoooz-talos-ui-form-range-input.d.ts +0 -181
  182. package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +0 -1
  183. package/types/weeehaoooz-talos-ui-form-rating.d.ts +0 -110
  184. package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +0 -1
  185. package/types/weeehaoooz-talos-ui-form-select-input.d.ts +0 -195
  186. package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +0 -1
  187. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +0 -79
  188. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +0 -1
  189. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +0 -192
  190. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +0 -1
@@ -0,0 +1,839 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { DateRangeValue, DateRangePreset } from '@weeehaoooz/talos-ui/form';
3
+
4
+ /**
5
+ * Talos Category Bar Type Definitions
6
+ */
7
+ type CategoryBarSize = 'xs' | 'sm' | 'md' | 'lg';
8
+ type CategoryBarShape = 'pill' | 'rounded' | 'square';
9
+ type CategoryBarLabelPosition = 'top' | 'bottom' | 'none';
10
+ type CategoryBarColorScheme = 'blue' | 'emerald' | 'violet' | 'amber' | 'rose' | 'cyan' | 'lime' | 'indigo' | 'pink' | 'orange' | 'fuchsia' | 'teal' | 'sky' | 'red' | 'slate' | 'purple';
11
+ /**
12
+ * Individual category segment definition for the category bar.
13
+ */
14
+ interface CategoryBarSegment {
15
+ /** Segment numeric value (width will be proportional to value / sum(values)) */
16
+ value: number;
17
+ /** Human-readable category label (displayed in tooltip, legend, or accessibility text) */
18
+ label?: string;
19
+ /** Specific CSS color string (e.g. '#3b82f6', 'rgb(59, 130, 246)', 'var(--talos-primary-color)') */
20
+ color?: string;
21
+ /** Named color scheme preset (e.g. 'blue', 'emerald', 'violet', 'amber', 'rose', etc.) */
22
+ colorScheme?: CategoryBarColorScheme | string;
23
+ /** Custom tooltip text or template text */
24
+ tooltip?: string;
25
+ /** Optional metadata passed to click and hover events */
26
+ meta?: Record<string, unknown>;
27
+ }
28
+ /**
29
+ * Marker needle definition for the category bar.
30
+ */
31
+ interface CategoryBarMarker {
32
+ /** Numeric value indicating where the marker sits along the range */
33
+ value: number;
34
+ /** Custom label displayed for the marker (e.g. 'Target: $220k', 'Current: 220') */
35
+ label?: string;
36
+ /** Custom marker color (defaults to neutral dark/white or category color) */
37
+ color?: string;
38
+ /** Custom tooltip content for the marker */
39
+ tooltip?: string;
40
+ /** Whether to animate marker position changes (defaults to true) */
41
+ showAnimation?: boolean;
42
+ /** Custom marker shape / style ('pill' | 'line' | 'pin' | 'needle') */
43
+ variant?: 'pill' | 'line' | 'pin' | 'needle';
44
+ }
45
+ /**
46
+ * Normalized computed segment model used internally by the template.
47
+ */
48
+ interface CategoryBarComputedSegment {
49
+ index: number;
50
+ value: number;
51
+ label: string;
52
+ color: string;
53
+ percentage: number;
54
+ cumulativeStart: number;
55
+ cumulativeEnd: number;
56
+ cumulativeStartPercent: number;
57
+ cumulativeEndPercent: number;
58
+ formattedValue: string;
59
+ tooltipText: string;
60
+ raw: CategoryBarSegment;
61
+ }
62
+ /**
63
+ * Scale boundary label item.
64
+ */
65
+ interface CategoryBarScaleLabel {
66
+ index: number;
67
+ value: number;
68
+ text: string;
69
+ leftPercent: number;
70
+ }
71
+ /**
72
+ * Event emitted when a segment is clicked.
73
+ */
74
+ interface CategoryBarSegmentClickEvent {
75
+ segment: CategoryBarComputedSegment;
76
+ index: number;
77
+ event: Event;
78
+ }
79
+ type CategoryBarClickEvent = CategoryBarSegmentClickEvent;
80
+ /**
81
+ * Event emitted when the marker is clicked.
82
+ */
83
+ interface CategoryBarMarkerClickEvent {
84
+ marker: CategoryBarMarker;
85
+ value: number;
86
+ percent: number;
87
+ event: Event;
88
+ }
89
+
90
+ declare class TalosCategoryBarComponent {
91
+ private readonly elementRef;
92
+ /**
93
+ * Simple numeric values array for each category (e.g. [120, 80, 60, 40]).
94
+ */
95
+ readonly values: _angular_core.InputSignal<number[] | null>;
96
+ /**
97
+ * Detailed category segments with labels, colors, and metadata.
98
+ */
99
+ readonly categories: _angular_core.InputSignal<CategoryBarSegment[] | null>;
100
+ /**
101
+ * Custom palette or color list for segments. Can be CSS color strings or preset names.
102
+ */
103
+ readonly colors: _angular_core.InputSignal<string[]>;
104
+ /**
105
+ * Numeric position for the needle marker.
106
+ */
107
+ readonly markerValue: _angular_core.InputSignal<number | null>;
108
+ /**
109
+ * Detailed marker object definition.
110
+ */
111
+ readonly marker: _angular_core.InputSignal<CategoryBarMarker | null>;
112
+ /**
113
+ * Minimum scale bound (defaults to 0).
114
+ */
115
+ readonly minValue: _angular_core.InputSignal<number | null>;
116
+ /**
117
+ * Maximum scale bound (defaults to sum of all category values).
118
+ */
119
+ readonly maxValue: _angular_core.InputSignal<number | null>;
120
+ /**
121
+ * Whether to show category scale labels at segment boundaries.
122
+ */
123
+ readonly showLabels: _angular_core.InputSignal<boolean>;
124
+ /**
125
+ * Custom boundary label strings. If not provided, computed cumulative values are shown.
126
+ */
127
+ readonly labels: _angular_core.InputSignal<string[] | null>;
128
+ /**
129
+ * Placement of scale boundary labels: 'top', 'bottom', or 'none'.
130
+ */
131
+ readonly labelPosition: _angular_core.InputSignal<CategoryBarLabelPosition>;
132
+ /**
133
+ * Custom label formatter function for boundary values.
134
+ */
135
+ readonly labelFormatter: _angular_core.InputSignal<((value: number, index: number) => string) | null>;
136
+ /**
137
+ * Custom value formatter for segment tooltip / legends.
138
+ */
139
+ readonly valueFormatter: _angular_core.InputSignal<((value: number) => string) | null>;
140
+ /**
141
+ * Custom marker value formatter for tooltip.
142
+ */
143
+ readonly markerFormatter: _angular_core.InputSignal<((value: number) => string) | null>;
144
+ /**
145
+ * Height size variant of the category bar: 'xs' (6px), 'sm' (8px), 'md' (12px), 'lg' (16px).
146
+ */
147
+ readonly size: _angular_core.InputSignal<CategoryBarSize>;
148
+ /**
149
+ * Corner shape of the bar: 'pill' (fully rounded capsule), 'rounded' (6px), 'square' (0px).
150
+ */
151
+ readonly shape: _angular_core.InputSignal<CategoryBarShape>;
152
+ /**
153
+ * Optional title above the bar.
154
+ */
155
+ readonly title: _angular_core.InputSignal<string>;
156
+ /**
157
+ * Optional subtitle below the title.
158
+ */
159
+ readonly subtitle: _angular_core.InputSignal<string>;
160
+ /**
161
+ * Whether to display a bottom legend row with category names and color indicators.
162
+ */
163
+ readonly showLegend: _angular_core.InputSignal<boolean>;
164
+ /**
165
+ * Whether hovering segments or marker displays interactive tooltips.
166
+ */
167
+ readonly showTooltip: _angular_core.InputSignal<boolean>;
168
+ /**
169
+ * Enable smooth CSS transition animation.
170
+ */
171
+ readonly animated: _angular_core.InputSignal<boolean>;
172
+ /**
173
+ * Output event when a segment is clicked.
174
+ */
175
+ readonly segmentClick: _angular_core.OutputEmitterRef<CategoryBarSegmentClickEvent>;
176
+ /**
177
+ * Output event when the marker is clicked.
178
+ */
179
+ readonly markerClick: _angular_core.OutputEmitterRef<CategoryBarMarkerClickEvent>;
180
+ /**
181
+ * Output event when a segment is hovered.
182
+ */
183
+ readonly segmentHover: _angular_core.OutputEmitterRef<CategoryBarComputedSegment | null>;
184
+ protected readonly hoveredSegment: _angular_core.WritableSignal<CategoryBarComputedSegment | null>;
185
+ protected readonly hoveredMarker: _angular_core.WritableSignal<boolean>;
186
+ protected readonly tooltipPosition: _angular_core.WritableSignal<{
187
+ x: number;
188
+ y: number;
189
+ } | null>;
190
+ /**
191
+ * Resolves raw category items from either `categories` or `values` input.
192
+ */
193
+ private readonly rawCategories;
194
+ /**
195
+ * Resolved color array mapping named color presets to hex codes if needed.
196
+ */
197
+ private readonly resolvedPalette;
198
+ /**
199
+ * Total sum of all positive category values.
200
+ */
201
+ protected readonly totalSum: _angular_core.Signal<number>;
202
+ /**
203
+ * Computed minimum boundary.
204
+ */
205
+ protected readonly computedMin: _angular_core.Signal<number>;
206
+ /**
207
+ * Computed maximum boundary.
208
+ */
209
+ protected readonly computedMax: _angular_core.Signal<number>;
210
+ /**
211
+ * Normalized computed segments for rendering with cumulative positions and percentages.
212
+ */
213
+ protected readonly normalizedSegments: _angular_core.Signal<CategoryBarComputedSegment[]>;
214
+ /**
215
+ * Computed scale boundary labels positioned at tick intersections.
216
+ */
217
+ protected readonly scaleLabels: _angular_core.Signal<CategoryBarScaleLabel[]>;
218
+ /**
219
+ * Resolved marker value.
220
+ */
221
+ protected readonly markerVal: _angular_core.Signal<number | null>;
222
+ /**
223
+ * Marker needle placement and metadata.
224
+ */
225
+ protected readonly markerState: _angular_core.Signal<{
226
+ visible: boolean;
227
+ percent: number;
228
+ color: string;
229
+ label: string;
230
+ tooltip: string;
231
+ variant: "pill" | "line" | "pin" | "needle";
232
+ } | null>;
233
+ /**
234
+ * Accessible description for screen readers.
235
+ */
236
+ protected readonly ariaLabel: _angular_core.Signal<string>;
237
+ onSegmentClick(seg: CategoryBarComputedSegment, event: Event): void;
238
+ onSegmentMouseEnter(seg: CategoryBarComputedSegment, event: MouseEvent): void;
239
+ onSegmentMouseLeave(): void;
240
+ onMarkerMouseEnter(event: MouseEvent): void;
241
+ onMarkerMouseLeave(): void;
242
+ onMarkerClick(event: Event): void;
243
+ private updateTooltipPos;
244
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosCategoryBarComponent, never>;
245
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosCategoryBarComponent, "talos-category-bar", never, { "values": { "alias": "values"; "required": false; "isSignal": true; }; "categories": { "alias": "categories"; "required": false; "isSignal": true; }; "colors": { "alias": "colors"; "required": false; "isSignal": true; }; "markerValue": { "alias": "markerValue"; "required": false; "isSignal": true; }; "marker": { "alias": "marker"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "labelFormatter": { "alias": "labelFormatter"; "required": false; "isSignal": true; }; "valueFormatter": { "alias": "valueFormatter"; "required": false; "isSignal": true; }; "markerFormatter": { "alias": "markerFormatter"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showTooltip": { "alias": "showTooltip"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; }, { "segmentClick": "segmentClick"; "markerClick": "markerClick"; "segmentHover": "segmentHover"; }, never, ["[talosCategoryBarHeader]"], true, never>;
246
+ }
247
+
248
+ declare class TalosCategoryBarModule {
249
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosCategoryBarModule, never>;
250
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosCategoryBarModule, never, [typeof TalosCategoryBarComponent], [typeof TalosCategoryBarComponent]>;
251
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosCategoryBarModule>;
252
+ }
253
+
254
+ /**
255
+ * Talos Heatmap Type Definitions
256
+ */
257
+ type HeatmapColorScheme = 'indigo' | 'blue' | 'emerald' | 'rose' | 'amber' | 'violet' | 'slate' | 'custom';
258
+ type HeatmapTimeFormat = '12h' | '24h';
259
+ type HeatmapCellShape = 'pill' | 'rounded' | 'square';
260
+ type HeatmapCellSize = 'sm' | 'md' | 'lg';
261
+ type HeatmapExportFormat = 'csv' | 'json';
262
+ type HeatmapInterval = 'hour' | 'day';
263
+ /**
264
+ * Standard flat data point representing an activity count for a given time slot.
265
+ */
266
+ interface HeatmapDataPoint {
267
+ /** Day label ('Mon', 'Tue', ...), Day index (0-6), or Date string / object ('2026-08-13') */
268
+ day?: string | number | Date;
269
+ /** Specific ISO Date string ('2026-08-13') or Date object */
270
+ date?: string | Date;
271
+ /** Hour of the day (0 to 23), required for 'hour' interval */
272
+ hour?: number;
273
+ /** Numeric count / intensity value */
274
+ value: number;
275
+ /** Optional metadata passed to click events & tooltip */
276
+ meta?: Record<string, unknown>;
277
+ }
278
+ /**
279
+ * 2D Record Map format: { [colKey: string]: { [rowKey: string | number]: number } }
280
+ */
281
+ type HeatmapMatrixData = Record<string, Record<number | string, number>>;
282
+ /**
283
+ * Raw timestamp list format: Array of ISO strings, Date objects, or unix timestamps in ms.
284
+ */
285
+ type HeatmapTimestampData = (string | Date | number)[];
286
+ /**
287
+ * Combined developer input data types.
288
+ */
289
+ type HeatmapDataInput = HeatmapDataPoint[] | HeatmapMatrixData | HeatmapTimestampData;
290
+ /**
291
+ * Multi-metric dataset item for switching metrics via the header dropdown.
292
+ */
293
+ interface HeatmapMetric {
294
+ id: string;
295
+ label: string;
296
+ data: HeatmapDataInput;
297
+ unit?: string;
298
+ colorScheme?: HeatmapColorScheme;
299
+ customColorStops?: [string, string];
300
+ }
301
+ /**
302
+ * Internal normalized cell model rendered in the template.
303
+ */
304
+ interface HeatmapCell {
305
+ id: string;
306
+ colKey: string | number;
307
+ colLabel: string;
308
+ rowKey: string | number;
309
+ rowLabel: string;
310
+ value: number;
311
+ intensity: number;
312
+ backgroundColor: string;
313
+ textColor: string;
314
+ formattedValue: string;
315
+ tooltipText: string;
316
+ date?: Date;
317
+ meta?: Record<string, unknown>;
318
+ }
319
+ /**
320
+ * Time range emitted by the component for backend data fetching.
321
+ */
322
+ interface HeatmapTimeRange {
323
+ startDate?: Date | string | null;
324
+ endDate?: Date | string | null;
325
+ interval: HeatmapInterval;
326
+ startHour?: number;
327
+ endHour?: number;
328
+ days: string[];
329
+ dateRange?: DateRangeValue | null;
330
+ swapAxes?: boolean;
331
+ }
332
+ /**
333
+ * Event payload emitted when a heatmap cell is clicked or activated.
334
+ */
335
+ interface HeatmapCellClickEvent {
336
+ cell: HeatmapCell;
337
+ colKey: string | number;
338
+ rowKey: string | number;
339
+ value: number;
340
+ interval: HeatmapInterval;
341
+ event: MouseEvent | KeyboardEvent;
342
+ }
343
+
344
+ declare class TalosHeatmapComponent {
345
+ private readonly elementRef;
346
+ readonly data: _angular_core.InputSignal<HeatmapDataInput>;
347
+ readonly metrics: _angular_core.InputSignal<HeatmapMetric[]>;
348
+ readonly selectedMetricId: _angular_core.ModelSignal<string | undefined>;
349
+ readonly interval: _angular_core.ModelSignal<HeatmapInterval>;
350
+ readonly dateRange: _angular_core.ModelSignal<DateRangeValue | null>;
351
+ readonly swapAxes: _angular_core.ModelSignal<boolean>;
352
+ readonly title: _angular_core.InputSignal<string>;
353
+ readonly hoursRange: _angular_core.InputSignal<[number, number]>;
354
+ readonly timeFormat: _angular_core.InputSignal<HeatmapTimeFormat>;
355
+ readonly days: _angular_core.InputSignal<string[]>;
356
+ readonly colorScheme: _angular_core.InputSignal<HeatmapColorScheme>;
357
+ readonly customColorStops: _angular_core.InputSignal<[string, string] | undefined>;
358
+ readonly showLegend: _angular_core.InputSignal<boolean>;
359
+ readonly showValues: _angular_core.InputSignal<boolean>;
360
+ readonly cellShape: _angular_core.InputSignal<HeatmapCellShape>;
361
+ readonly cellSize: _angular_core.InputSignal<HeatmapCellSize>;
362
+ readonly fitWidth: _angular_core.InputSignal<boolean | undefined>;
363
+ readonly loading: _angular_core.InputSignal<boolean>;
364
+ readonly showToolbar: _angular_core.InputSignal<boolean>;
365
+ readonly showRefresh: _angular_core.InputSignal<boolean>;
366
+ readonly showExport: _angular_core.InputSignal<boolean>;
367
+ readonly showExpand: _angular_core.InputSignal<boolean>;
368
+ readonly showSwapAxes: _angular_core.InputSignal<boolean>;
369
+ readonly showIntervalToggle: _angular_core.InputSignal<boolean>;
370
+ readonly showDateRangePicker: _angular_core.InputSignal<boolean>;
371
+ readonly dateRangePresets: _angular_core.InputSignal<DateRangePreset[] | null>;
372
+ readonly unit: _angular_core.InputSignal<string>;
373
+ readonly maxValue: _angular_core.InputSignal<number | undefined>;
374
+ readonly minValue: _angular_core.InputSignal<number | undefined>;
375
+ readonly cellClick: _angular_core.OutputEmitterRef<HeatmapCellClickEvent>;
376
+ readonly cellHover: _angular_core.OutputEmitterRef<HeatmapCell | null>;
377
+ readonly timeRangeChange: _angular_core.OutputEmitterRef<HeatmapTimeRange>;
378
+ readonly refresh: _angular_core.OutputEmitterRef<void>;
379
+ readonly metricChange: _angular_core.OutputEmitterRef<HeatmapMetric>;
380
+ readonly export: _angular_core.OutputEmitterRef<{
381
+ format: HeatmapExportFormat;
382
+ data: unknown;
383
+ }>;
384
+ readonly isExpanded: _angular_core.WritableSignal<boolean>;
385
+ readonly isMetricDropdownOpen: _angular_core.WritableSignal<boolean>;
386
+ readonly isExportDropdownOpen: _angular_core.WritableSignal<boolean>;
387
+ readonly hoveredCell: _angular_core.WritableSignal<HeatmapCell | null>;
388
+ readonly focusedCoord: _angular_core.WritableSignal<{
389
+ colIndex: number;
390
+ rowIndex: number;
391
+ } | null>;
392
+ readonly isFitWidth: _angular_core.Signal<boolean>;
393
+ readonly currentMetric: _angular_core.Signal<HeatmapMetric | undefined>;
394
+ readonly activeColorScheme: _angular_core.Signal<HeatmapColorScheme>;
395
+ readonly activeUnit: _angular_core.Signal<string>;
396
+ readonly activeDataInput: _angular_core.Signal<HeatmapDataInput>;
397
+ readonly hours: _angular_core.Signal<number[]>;
398
+ readonly parsedDateRange: _angular_core.Signal<{
399
+ start: Date | null;
400
+ end: Date | null;
401
+ }>;
402
+ readonly dayModeWeeks: _angular_core.Signal<{
403
+ label: string;
404
+ start: Date;
405
+ end: Date;
406
+ days: Date[];
407
+ }[]>;
408
+ readonly normalizedValueMap: _angular_core.Signal<Map<string, {
409
+ value: number;
410
+ meta?: Record<string, unknown>;
411
+ }>>;
412
+ readonly computedScaleBounds: _angular_core.Signal<{
413
+ min: number;
414
+ max: number;
415
+ }>;
416
+ readonly legendGradientCss: _angular_core.Signal<string>;
417
+ readonly columnHeaders: _angular_core.Signal<{
418
+ key: string | number;
419
+ label: string;
420
+ }[]>;
421
+ readonly gridRows: _angular_core.Signal<{
422
+ key: string | number;
423
+ label: string;
424
+ cells: HeatmapCell[];
425
+ }[]>;
426
+ constructor();
427
+ formatHourLabel(hour: number, format: HeatmapTimeFormat): string;
428
+ setInterval(newInterval: HeatmapInterval): void;
429
+ toggleSwapAxes(): void;
430
+ onDateRangePickerChange(val: DateRangeValue | null): void;
431
+ toggleExpand(): void;
432
+ toggleMetricDropdown(event: MouseEvent): void;
433
+ toggleExportDropdown(event: MouseEvent): void;
434
+ selectMetric(metric: HeatmapMetric): void;
435
+ onRefreshClick(): void;
436
+ onCellMouseEnter(cell: HeatmapCell): void;
437
+ onCellMouseLeave(): void;
438
+ onCellClick(cell: HeatmapCell, event: MouseEvent): void;
439
+ onKeydown(event: KeyboardEvent, colIdx: number, rowIdx: number): void;
440
+ triggerExport(format: HeatmapExportFormat): void;
441
+ private downloadFile;
442
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosHeatmapComponent, never>;
443
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosHeatmapComponent, "talos-heatmap", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "metrics": { "alias": "metrics"; "required": false; "isSignal": true; }; "selectedMetricId": { "alias": "selectedMetricId"; "required": false; "isSignal": true; }; "interval": { "alias": "interval"; "required": false; "isSignal": true; }; "dateRange": { "alias": "dateRange"; "required": false; "isSignal": true; }; "swapAxes": { "alias": "swapAxes"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "hoursRange": { "alias": "hoursRange"; "required": false; "isSignal": true; }; "timeFormat": { "alias": "timeFormat"; "required": false; "isSignal": true; }; "days": { "alias": "days"; "required": false; "isSignal": true; }; "colorScheme": { "alias": "colorScheme"; "required": false; "isSignal": true; }; "customColorStops": { "alias": "customColorStops"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; "cellShape": { "alias": "cellShape"; "required": false; "isSignal": true; }; "cellSize": { "alias": "cellSize"; "required": false; "isSignal": true; }; "fitWidth": { "alias": "fitWidth"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "showRefresh": { "alias": "showRefresh"; "required": false; "isSignal": true; }; "showExport": { "alias": "showExport"; "required": false; "isSignal": true; }; "showExpand": { "alias": "showExpand"; "required": false; "isSignal": true; }; "showSwapAxes": { "alias": "showSwapAxes"; "required": false; "isSignal": true; }; "showIntervalToggle": { "alias": "showIntervalToggle"; "required": false; "isSignal": true; }; "showDateRangePicker": { "alias": "showDateRangePicker"; "required": false; "isSignal": true; }; "dateRangePresets": { "alias": "dateRangePresets"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; }, { "selectedMetricId": "selectedMetricIdChange"; "interval": "intervalChange"; "dateRange": "dateRangeChange"; "swapAxes": "swapAxesChange"; "cellClick": "cellClick"; "cellHover": "cellHover"; "timeRangeChange": "timeRangeChange"; "refresh": "refresh"; "metricChange": "metricChange"; "export": "export"; }, never, never, true, never>;
444
+ }
445
+
446
+ declare class TalosHeatmapModule {
447
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosHeatmapModule, never>;
448
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosHeatmapModule, never, [typeof TalosHeatmapComponent], [typeof TalosHeatmapComponent]>;
449
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosHeatmapModule>;
450
+ }
451
+
452
+ /**
453
+ * Types and interfaces for TalosMiniDonutComponent
454
+ */
455
+ type MiniDonutSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'custom';
456
+ type MiniDonutLineCap = 'round' | 'butt';
457
+ type MiniDonutColorScheme = 'primary' | 'success' | 'danger' | 'warning' | 'info' | 'violet' | 'emerald' | 'rose' | 'amber' | 'cyan' | 'slate' | string;
458
+ interface MiniDonutSegment {
459
+ value: number;
460
+ color?: string;
461
+ label?: string;
462
+ tooltip?: string;
463
+ id?: string;
464
+ }
465
+ interface ComputedDonutSegment {
466
+ index: number;
467
+ value: number;
468
+ percentage: number;
469
+ color: string;
470
+ label?: string;
471
+ tooltip?: string;
472
+ dashArray: string;
473
+ dashOffset: number;
474
+ pathLength: number;
475
+ }
476
+
477
+ declare class TalosMiniDonutComponent {
478
+ /** Single progress value (e.g. 75 or 450) */
479
+ readonly value: _angular_core.InputSignal<number | null>;
480
+ /** Minimum value for single progress mode */
481
+ readonly min: _angular_core.InputSignal<number>;
482
+ /** Maximum value for single progress mode */
483
+ readonly max: _angular_core.InputSignal<number>;
484
+ /** Multi-segment dataset */
485
+ readonly segments: _angular_core.InputSignal<MiniDonutSegment[] | null>;
486
+ /** Size preset */
487
+ readonly size: _angular_core.InputSignal<MiniDonutSize>;
488
+ /** Custom dimension override in px */
489
+ readonly dimension: _angular_core.InputSignal<number | null>;
490
+ /** Custom stroke width override */
491
+ readonly strokeWidth: _angular_core.InputSignal<number | null>;
492
+ /** Color scheme or hex string for single progress mode */
493
+ readonly color: _angular_core.InputSignal<string>;
494
+ /** Background track ring color */
495
+ readonly trackColor: _angular_core.InputSignal<string | null>;
496
+ /** Show background track */
497
+ readonly showTrack: _angular_core.InputSignal<boolean>;
498
+ /** SVG stroke linecap */
499
+ readonly lineCap: _angular_core.InputSignal<MiniDonutLineCap>;
500
+ /** Gap spacing between segments in multi-segment mode (in px) */
501
+ readonly gap: _angular_core.InputSignal<number>;
502
+ /** Show built-in center percentage or text */
503
+ readonly showCenterText: _angular_core.InputSignal<boolean>;
504
+ /** Explicit center primary text override */
505
+ readonly centerText: _angular_core.InputSignal<string | null>;
506
+ /** Secondary center subtext */
507
+ readonly centerSubtext: _angular_core.InputSignal<string | null>;
508
+ /** Enable smooth CSS animation */
509
+ readonly animated: _angular_core.InputSignal<boolean>;
510
+ /** Custom ARIA label */
511
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
512
+ /** Segment click event */
513
+ readonly segmentClick: _angular_core.OutputEmitterRef<MiniDonutSegment>;
514
+ protected readonly svgSize = 100;
515
+ protected readonly center = 50;
516
+ /** Computed pixel dimension */
517
+ readonly pixelDimension: _angular_core.Signal<number>;
518
+ /** Computed stroke width in SVG coordinates */
519
+ readonly computedStrokeWidth: _angular_core.Signal<number>;
520
+ /** Radius in SVG coordinates */
521
+ readonly radius: _angular_core.Signal<number>;
522
+ /** Circumference */
523
+ readonly circumference: _angular_core.Signal<number>;
524
+ /** Effective single progress color */
525
+ readonly effectiveColor: _angular_core.Signal<string>;
526
+ /** Computed percentage for single progress mode */
527
+ readonly singlePercentage: _angular_core.Signal<number>;
528
+ /** Single progress dash offset/array */
529
+ readonly singleDashArray: _angular_core.Signal<string>;
530
+ /** Computed multi-segment values with offsets */
531
+ readonly computedSegments: _angular_core.Signal<ComputedDonutSegment[]>;
532
+ /** Display text inside center */
533
+ readonly computedCenterText: _angular_core.Signal<string>;
534
+ /** ARIA attributes */
535
+ readonly currentAriaValue: _angular_core.Signal<number | null>;
536
+ readonly computedAriaLabel: _angular_core.Signal<string>;
537
+ protected onSegmentClick(segIndex: number): void;
538
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosMiniDonutComponent, never>;
539
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosMiniDonutComponent, "talos-mini-donut", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "segments": { "alias": "segments"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "dimension": { "alias": "dimension"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "showTrack": { "alias": "showTrack"; "required": false; "isSignal": true; }; "lineCap": { "alias": "lineCap"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "showCenterText": { "alias": "showCenterText"; "required": false; "isSignal": true; }; "centerText": { "alias": "centerText"; "required": false; "isSignal": true; }; "centerSubtext": { "alias": "centerSubtext"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "segmentClick": "segmentClick"; }, never, ["*"], true, never>;
540
+ }
541
+
542
+ declare class TalosMiniDonutModule {
543
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosMiniDonutModule, never>;
544
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosMiniDonutModule, never, [typeof TalosMiniDonutComponent], [typeof TalosMiniDonutComponent]>;
545
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosMiniDonutModule>;
546
+ }
547
+
548
+ /**
549
+ * Types and interfaces for TalosMiniGaugeComponent
550
+ */
551
+ type MiniGaugeType = 'semi-circle' | 'arch' | 'linear';
552
+ type GaugeSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'responsive' | 'custom';
553
+ type MiniGaugeIndicator = 'arc' | 'needle' | 'dot';
554
+ interface GaugeThreshold {
555
+ from: number;
556
+ to: number;
557
+ color: string;
558
+ label?: string;
559
+ }
560
+ interface GaugeMarker {
561
+ value: number;
562
+ color?: string;
563
+ label?: string;
564
+ shape?: 'line' | 'dot' | 'triangle';
565
+ }
566
+
567
+ interface ArcSegment {
568
+ path: string;
569
+ color: string;
570
+ from: number;
571
+ to: number;
572
+ isFirst: boolean;
573
+ isLast: boolean;
574
+ }
575
+ declare class TalosMiniGaugeComponent {
576
+ /** Current gauge value */
577
+ readonly value: _angular_core.InputSignal<number>;
578
+ /** Minimum gauge scale */
579
+ readonly min: _angular_core.InputSignal<number>;
580
+ /** Maximum gauge scale */
581
+ readonly max: _angular_core.InputSignal<number>;
582
+ /** Optional target benchmark marker value */
583
+ readonly target: _angular_core.InputSignal<number | null>;
584
+ /** Gauge rendering style */
585
+ readonly type: _angular_core.InputSignal<MiniGaugeType>;
586
+ /** Value indicator pointer style: arc fill, needle, or dot */
587
+ readonly indicator: _angular_core.InputSignal<MiniGaugeIndicator>;
588
+ /** Custom colored threshold zones */
589
+ readonly thresholds: _angular_core.InputSignal<GaugeThreshold[] | null>;
590
+ /** Base color or palette when no thresholds are used */
591
+ readonly color: _angular_core.InputSignal<string>;
592
+ /** Background track color */
593
+ readonly trackColor: _angular_core.InputSignal<string | null>;
594
+ /** Preset size */
595
+ readonly size: _angular_core.InputSignal<GaugeSize>;
596
+ /** Custom width */
597
+ readonly width: _angular_core.InputSignal<string | number | null>;
598
+ /** Custom height */
599
+ readonly height: _angular_core.InputSignal<string | number | null>;
600
+ /** Arc stroke width */
601
+ readonly strokeWidth: _angular_core.InputSignal<number>;
602
+ /** Arc stroke linecap style ('round' | 'butt') */
603
+ readonly lineCap: _angular_core.InputSignal<"round" | "butt">;
604
+ /** Show numerical value readout in center/bottom */
605
+ readonly showValue: _angular_core.InputSignal<boolean>;
606
+ /** Show min and max numbers at gauge edges */
607
+ readonly showMinMax: _angular_core.InputSignal<boolean>;
608
+ /** Unit label string (e.g. '%', 'ms', 'rpm') */
609
+ readonly unit: _angular_core.InputSignal<string>;
610
+ /** Value formatter */
611
+ readonly valueFormatter: _angular_core.InputSignal<(val: number) => string>;
612
+ /** Custom ARIA label */
613
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
614
+ /** Enable animation */
615
+ readonly animated: _angular_core.InputSignal<boolean>;
616
+ /** SVG Coordinate constants */
617
+ protected readonly cx = 50;
618
+ protected readonly cySemi = 44;
619
+ protected readonly cyArch = 42;
620
+ protected readonly radius = 36;
621
+ /** Needle length tailored per circular gauge type */
622
+ readonly needleLength: _angular_core.Signal<30 | 26>;
623
+ readonly hostWidth: _angular_core.Signal<string | null>;
624
+ readonly hostHeight: _angular_core.Signal<string | null>;
625
+ /** Clamped and normalized ratio [0..1] */
626
+ readonly normalizedRatio: _angular_core.Signal<number>;
627
+ /** Target ratio [0..1] */
628
+ readonly targetRatio: _angular_core.Signal<number | null>;
629
+ /** ViewBox string based on gauge type */
630
+ readonly viewBox: _angular_core.Signal<"0 0 100 50" | "0 0 100 66" | "0 0 100 14">;
631
+ /** Start & End angles in degrees for circular gauge types */
632
+ readonly angleSpan: _angular_core.Signal<{
633
+ start: number;
634
+ end: number;
635
+ total: number;
636
+ }>;
637
+ /** Current value angle in degrees */
638
+ readonly currentAngle: _angular_core.Signal<number>;
639
+ /** Needle transform for needle indicator */
640
+ readonly needleTransform: _angular_core.Signal<string>;
641
+ /** Target marker position & rotation */
642
+ readonly targetMarkerProps: _angular_core.Signal<{
643
+ x: number;
644
+ y: number;
645
+ rotation: number;
646
+ angle?: undefined;
647
+ } | {
648
+ x: number;
649
+ y: number;
650
+ angle: number;
651
+ rotation?: undefined;
652
+ } | null>;
653
+ /** Dot transform for dot indicator (rotates along the circular arc path) */
654
+ readonly dotTransform: _angular_core.Signal<string>;
655
+ /** Dot indicator position */
656
+ readonly dotIndicatorPosition: _angular_core.Signal<{
657
+ x: number;
658
+ y: number;
659
+ }>;
660
+ /** Base track SVG path */
661
+ readonly trackPath: _angular_core.Signal<string>;
662
+ /** Active value arc SVG path */
663
+ readonly valueArcPath: _angular_core.Signal<string>;
664
+ /** Active color based on thresholds or color input */
665
+ readonly activeColor: _angular_core.Signal<string>;
666
+ /** Threshold band segments */
667
+ readonly thresholdSegments: _angular_core.Signal<ArcSegment[]>;
668
+ readonly computedAriaLabel: _angular_core.Signal<string>;
669
+ /** Helper to generate SVG Arc Path 'M x1 y1 A r r 0 largeArc sweep x2 y2' */
670
+ private createArcSvgPath;
671
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosMiniGaugeComponent, never>;
672
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosMiniGaugeComponent, "talos-mini-gauge", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "indicator": { "alias": "indicator"; "required": false; "isSignal": true; }; "thresholds": { "alias": "thresholds"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "trackColor": { "alias": "trackColor"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "lineCap": { "alias": "lineCap"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "showMinMax": { "alias": "showMinMax"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "valueFormatter": { "alias": "valueFormatter"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
673
+ }
674
+
675
+ declare class TalosMiniGaugeModule {
676
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosMiniGaugeModule, never>;
677
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosMiniGaugeModule, never, [typeof TalosMiniGaugeComponent], [typeof TalosMiniGaugeComponent]>;
678
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosMiniGaugeModule>;
679
+ }
680
+
681
+ /**
682
+ * Types and interfaces for TalosSparklineComponent
683
+ */
684
+ type SparklineType = 'line' | 'area' | 'bar';
685
+ type SparklineSize = 'xs' | 'sm' | 'md' | 'lg' | 'responsive' | 'custom';
686
+ type SparklineColorScheme = 'primary' | 'success' | 'danger' | 'warning' | 'info' | 'violet' | 'emerald' | 'rose' | 'amber' | 'cyan' | 'slate' | string;
687
+ type SparklineMarkerMode = 'none' | 'all' | 'endpoints' | 'min-max' | 'last';
688
+ interface SparklinePoint {
689
+ value: number;
690
+ label?: string;
691
+ date?: string;
692
+ color?: string;
693
+ }
694
+ type SparklineInputData = (number | SparklinePoint)[];
695
+ declare const GOLDEN_RATIO = 1.618;
696
+ type SparklineAspectRatio = number | 'golden' | string;
697
+ interface SparklineHoverEvent {
698
+ index: number;
699
+ value: number;
700
+ label?: string;
701
+ x: number;
702
+ y: number;
703
+ }
704
+
705
+ interface InternalPoint {
706
+ index: number;
707
+ value: number;
708
+ label?: string;
709
+ date?: string;
710
+ x: number;
711
+ y: number;
712
+ color?: string;
713
+ isMin?: boolean;
714
+ isMax?: boolean;
715
+ isFirst?: boolean;
716
+ isLast?: boolean;
717
+ }
718
+ interface BarSegment {
719
+ index: number;
720
+ value: number;
721
+ label?: string;
722
+ x: number;
723
+ y: number;
724
+ width: number;
725
+ height: number;
726
+ color: string;
727
+ }
728
+ declare class TalosSparklineComponent {
729
+ private readonly elementRef;
730
+ private resizeObserver?;
731
+ /** Data points (numbers or objects) */
732
+ readonly data: _angular_core.InputSignal<SparklineInputData>;
733
+ /** Chart type: line, area, or bar */
734
+ readonly type: _angular_core.InputSignal<SparklineType>;
735
+ /** Visual color theme or custom hex code */
736
+ readonly color: _angular_core.InputSignal<string>;
737
+ /** Automatically choose green/red based on first -> last delta */
738
+ readonly autoColorTrend: _angular_core.InputSignal<boolean>;
739
+ /** Smooth Bezier interpolation vs straight line */
740
+ readonly smooth: _angular_core.InputSignal<boolean>;
741
+ /** Stroke line width */
742
+ readonly strokeWidth: _angular_core.InputSignal<number>;
743
+ /** Marker dots display mode */
744
+ readonly showMarkers: _angular_core.InputSignal<SparklineMarkerMode>;
745
+ /** Marker circle radius */
746
+ readonly markerRadius: _angular_core.InputSignal<number>;
747
+ /** Optional reference horizontal baseline */
748
+ readonly referenceValue: _angular_core.InputSignal<number | null>;
749
+ /** Show interactive hover tooltip */
750
+ readonly showTooltip: _angular_core.InputSignal<boolean>;
751
+ /** Interactive mouse events enabled */
752
+ readonly interactive: _angular_core.InputSignal<boolean>;
753
+ /** Gap between bars for bar sparklines */
754
+ readonly barGap: _angular_core.InputSignal<number>;
755
+ /** Corner radius for bars */
756
+ readonly barRadius: _angular_core.InputSignal<number>;
757
+ /** Preset size */
758
+ readonly size: _angular_core.InputSignal<SparklineSize>;
759
+ /** Aspect ratio configuration (e.g. 'golden', 1.618, '2:1', '16:9') */
760
+ readonly aspectRatio: _angular_core.InputSignal<SparklineAspectRatio | null>;
761
+ /** Custom width override (e.g. '120px' or '100%') */
762
+ readonly width: _angular_core.InputSignal<string | number | null>;
763
+ /** Custom height override (e.g. '36px') */
764
+ readonly height: _angular_core.InputSignal<string | number | null>;
765
+ /** Explicit minimum value bounds */
766
+ readonly min: _angular_core.InputSignal<number | null>;
767
+ /** Explicit maximum value bounds */
768
+ readonly max: _angular_core.InputSignal<number | null>;
769
+ /** Custom accessible label */
770
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
771
+ /** Value formatter for tooltip */
772
+ readonly valueFormatter: _angular_core.InputSignal<(val: number) => string>;
773
+ /** Hover event emitter */
774
+ readonly pointHover: _angular_core.OutputEmitterRef<SparklineHoverEvent | null>;
775
+ /** Click event emitter */
776
+ readonly pointClick: _angular_core.OutputEmitterRef<SparklineHoverEvent>;
777
+ readonly gradientId: string;
778
+ protected readonly hoveredPoint: _angular_core.WritableSignal<InternalPoint | null>;
779
+ protected readonly isHovering: _angular_core.WritableSignal<boolean>;
780
+ protected readonly containerWidth: _angular_core.WritableSignal<number>;
781
+ protected readonly containerHeight: _angular_core.WritableSignal<number>;
782
+ readonly svgWidth: _angular_core.Signal<number>;
783
+ readonly svgHeight: _angular_core.Signal<number>;
784
+ protected readonly padding: _angular_core.Signal<2 | 3 | 5>;
785
+ constructor();
786
+ private updateDimensions;
787
+ /** Host styles */
788
+ readonly hostWidth: _angular_core.Signal<string | null>;
789
+ readonly hostHeight: _angular_core.Signal<string | null>;
790
+ readonly computedAspectRatio: _angular_core.Signal<string | null>;
791
+ /** Normalized points array */
792
+ readonly normalizedPoints: _angular_core.Signal<SparklinePoint[]>;
793
+ /** Determine effective color palette */
794
+ readonly effectiveColor: _angular_core.Signal<{
795
+ stroke: string;
796
+ fillStart: string;
797
+ fillEnd: string;
798
+ }>;
799
+ /** Min & Max calculation */
800
+ readonly valueBounds: _angular_core.Signal<{
801
+ min: number;
802
+ max: number;
803
+ span: number;
804
+ rawMin: number;
805
+ rawMax: number;
806
+ }>;
807
+ /** Computed internal points with SVG coordinates */
808
+ readonly internalPoints: _angular_core.Signal<InternalPoint[]>;
809
+ /** SVG Path line data */
810
+ readonly linePath: _angular_core.Signal<string>;
811
+ /** SVG Area path (closed polygon under curve) */
812
+ readonly areaPath: _angular_core.Signal<string>;
813
+ /** Bar chart segments */
814
+ readonly barSegments: _angular_core.Signal<BarSegment[]>;
815
+ /** Highlight markers based on showMarkers input */
816
+ readonly markersToRender: _angular_core.Signal<InternalPoint[]>;
817
+ /** Reference baseline Y coordinate */
818
+ readonly referenceLineY: _angular_core.Signal<number | null>;
819
+ /** Aria label for accessibility */
820
+ readonly computedAriaLabel: _angular_core.Signal<string>;
821
+ /** Handle mouse move for interactive hover tracking */
822
+ protected onMouseMove(event: MouseEvent): void;
823
+ /** Handle mouse leave */
824
+ protected onMouseLeave(): void;
825
+ /** Handle point click */
826
+ protected onPointClick(point: InternalPoint | BarSegment): void;
827
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSparklineComponent, never>;
828
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TalosSparklineComponent, "talos-sparkline", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "autoColorTrend": { "alias": "autoColorTrend"; "required": false; "isSignal": true; }; "smooth": { "alias": "smooth"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "showMarkers": { "alias": "showMarkers"; "required": false; "isSignal": true; }; "markerRadius": { "alias": "markerRadius"; "required": false; "isSignal": true; }; "referenceValue": { "alias": "referenceValue"; "required": false; "isSignal": true; }; "showTooltip": { "alias": "showTooltip"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "barGap": { "alias": "barGap"; "required": false; "isSignal": true; }; "barRadius": { "alias": "barRadius"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "valueFormatter": { "alias": "valueFormatter"; "required": false; "isSignal": true; }; }, { "pointHover": "pointHover"; "pointClick": "pointClick"; }, never, never, true, never>;
829
+ }
830
+
831
+ declare class TalosSparklineModule {
832
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TalosSparklineModule, never>;
833
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TalosSparklineModule, never, [typeof TalosSparklineComponent], [typeof TalosSparklineComponent]>;
834
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<TalosSparklineModule>;
835
+ }
836
+
837
+ export { GOLDEN_RATIO, TalosCategoryBarComponent, TalosCategoryBarModule, TalosHeatmapComponent, TalosHeatmapModule, TalosMiniDonutComponent, TalosMiniDonutModule, TalosMiniGaugeComponent, TalosMiniGaugeModule, TalosSparklineComponent, TalosSparklineModule };
838
+ export type { CategoryBarClickEvent, CategoryBarColorScheme, CategoryBarComputedSegment, CategoryBarLabelPosition, CategoryBarMarker, CategoryBarMarkerClickEvent, CategoryBarScaleLabel, CategoryBarSegment, CategoryBarSegmentClickEvent, CategoryBarShape, CategoryBarSize, ComputedDonutSegment, GaugeMarker, GaugeSize, GaugeThreshold, HeatmapCell, HeatmapCellClickEvent, HeatmapCellShape, HeatmapCellSize, HeatmapColorScheme, HeatmapDataInput, HeatmapDataPoint, HeatmapExportFormat, HeatmapInterval, HeatmapMatrixData, HeatmapMetric, HeatmapTimeFormat, HeatmapTimeRange, HeatmapTimestampData, MiniDonutColorScheme, MiniDonutLineCap, MiniDonutSegment, MiniDonutSize, MiniGaugeIndicator, MiniGaugeType, SparklineAspectRatio, SparklineColorScheme, SparklineHoverEvent, SparklineInputData, SparklineMarkerMode, SparklinePoint, SparklineSize, SparklineType };
839
+ //# sourceMappingURL=weeehaoooz-talos-ui-data-viz.d.ts.map