cats-charts 0.0.76 → 0.0.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -887,5 +887,116 @@ declare class ScatterChartComp {
887
887
  static ɵcmp: i0.ɵɵComponentDeclaration<ScatterChartComp, "lib-scatter-chart", never, { "config": { "alias": "config"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, { "chartEvent": "chartEvent"; "legendEvent": "legendEvent"; }, never, never, true, never>;
888
888
  }
889
889
 
890
- export { BarChart, ChartLegendAdapter, ChartLegendComponent, Charts, CustomChartComponent, DoughnutChart, Heatmap, LinesChart, PieChart, RightClickCard, SankeyChart, ScatterChartComp, StackedAreaChart };
891
- export type { ChartLegendAlign, ChartLegendConfig, ChartLegendEvent, ChartLegendIcon, ChartLegendItem, ChartLegendLayout, ChartLegendPosition, ChartLegendSelectionMode, ChartLegendState, ChartLegendTemplateContext, LineChartConfig };
890
+ type StatusTimelineDate = Date | string;
891
+ interface StatusTimelineItem {
892
+ start: StatusTimelineDate;
893
+ end: StatusTimelineDate;
894
+ status: string;
895
+ label?: string;
896
+ metadata?: Record<string, unknown>;
897
+ }
898
+ interface StatusTimelineStatus {
899
+ value: string;
900
+ label: string;
901
+ color?: string;
902
+ }
903
+ interface StatusTimelineTooltipContext {
904
+ item: StatusTimelineItem;
905
+ status: StatusTimelineStatus;
906
+ start: Date;
907
+ end: Date;
908
+ durationMs: number;
909
+ }
910
+ interface StatusTimelineConfig {
911
+ data: readonly StatusTimelineItem[];
912
+ statuses: readonly StatusTimelineStatus[];
913
+ showLegend?: boolean;
914
+ legendPosition?: 'top' | 'bottom' | 'left' | 'right';
915
+ legendLayout?: 'horizontal' | 'vertical';
916
+ legendAlign?: 'start' | 'center' | 'end' | 'left' | 'right' | 'space-between';
917
+ legendLabelAlign?: 'left' | 'center' | 'right';
918
+ legendInteractive?: boolean;
919
+ legendDimmedOpacity?: number;
920
+ legendScrollable?: boolean;
921
+ legendMaxWidth?: string;
922
+ legendMaxHeight?: string;
923
+ legendNote?: string;
924
+ showTooltip?: boolean;
925
+ startLabel?: string;
926
+ endLabel?: string;
927
+ showEndpointLabels?: boolean;
928
+ endpointLabelsAlign?: 'start' | 'center' | 'end' | 'left' | 'right' | 'space-between';
929
+ loading?: boolean;
930
+ loadingLabel?: string;
931
+ emptyLabel?: string;
932
+ error?: string | null;
933
+ ariaLabel?: string;
934
+ minSegmentWidth?: number;
935
+ segmentGap?: number;
936
+ dateFormatter?: (date: Date) => string;
937
+ durationFormatter?: (durationMs: number) => string;
938
+ tooltipFormatter?: (context: StatusTimelineTooltipContext) => string;
939
+ unknownStatus?: Partial<StatusTimelineStatus>;
940
+ }
941
+ type StatusTimelineEvent = {
942
+ type: 'itemClick';
943
+ item: StatusTimelineItem;
944
+ index: number;
945
+ } | {
946
+ type: 'legendToggle';
947
+ status: StatusTimelineStatus;
948
+ selected: boolean;
949
+ };
950
+
951
+ interface RenderedTimelineItem {
952
+ source: StatusTimelineItem;
953
+ originalIndex: number;
954
+ start: Date;
955
+ end: Date;
956
+ durationMs: number;
957
+ status: StatusTimelineStatus;
958
+ accessibleLabel: string;
959
+ tooltip: string;
960
+ tooltipLines: string[];
961
+ }
962
+ declare class StatusTimelineComponent implements OnChanges {
963
+ config: StatusTimelineConfig;
964
+ chartEvent: EventEmitter<StatusTimelineEvent>;
965
+ renderedItems: readonly RenderedTimelineItem[];
966
+ legendStatuses: readonly StatusTimelineStatus[];
967
+ activeIndex: number | null;
968
+ timelineMinWidth: string;
969
+ resolvedStartLabel: string;
970
+ resolvedEndLabel: string;
971
+ readonly tooltipIdPrefix: string;
972
+ private dimmedStatuses;
973
+ get legendPosition(): 'top' | 'bottom' | 'left' | 'right';
974
+ get legendLayout(): 'horizontal' | 'vertical';
975
+ get legendScrollable(): boolean;
976
+ get legendInteractive(): boolean;
977
+ get legendAlign(): 'start' | 'center' | 'end' | 'space-between';
978
+ get legendLabelAlign(): 'left' | 'center' | 'right';
979
+ get legendLabelJustify(): 'flex-start' | 'center' | 'flex-end';
980
+ get endpointLabelsAlign(): 'start' | 'center' | 'end' | 'space-between';
981
+ get legendMaxWidth(): string | null;
982
+ get legendMaxHeight(): string | null;
983
+ ngOnChanges(): void;
984
+ activate(index: number): void;
985
+ deactivate(index: number): void;
986
+ selectItem(item: RenderedTimelineItem): void;
987
+ isStatusSelected(value: string): boolean;
988
+ toggleStatus(status: StatusTimelineStatus): void;
989
+ tooltipId(index: number): string;
990
+ trackItem(_: number, item: RenderedTimelineItem): string;
991
+ trackStatus(_: number, status: StatusTimelineStatus): string;
992
+ private rebuild;
993
+ private toDate;
994
+ private formatDate;
995
+ private defaultTooltip;
996
+ private formatDuration;
997
+ static ɵfac: i0.ɵɵFactoryDeclaration<StatusTimelineComponent, never>;
998
+ static ɵcmp: i0.ɵɵComponentDeclaration<StatusTimelineComponent, "lib-status-timeline", never, { "config": { "alias": "config"; "required": true; }; }, { "chartEvent": "chartEvent"; }, never, never, true, never>;
999
+ }
1000
+
1001
+ export { BarChart, ChartLegendAdapter, ChartLegendComponent, Charts, CustomChartComponent, DoughnutChart, Heatmap, LinesChart, PieChart, RightClickCard, SankeyChart, ScatterChartComp, StackedAreaChart, StatusTimelineComponent };
1002
+ export type { ChartLegendAlign, ChartLegendConfig, ChartLegendEvent, ChartLegendIcon, ChartLegendItem, ChartLegendLayout, ChartLegendPosition, ChartLegendSelectionMode, ChartLegendState, ChartLegendTemplateContext, LineChartConfig, StatusTimelineConfig, StatusTimelineDate, StatusTimelineEvent, StatusTimelineItem, StatusTimelineStatus, StatusTimelineTooltipContext };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cats-charts",
3
- "version": "0.0.76",
3
+ "version": "0.0.78",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18 <22",
6
6
  "@angular/common": ">=18 <22"