@gravitee/gamma-lib-observability 3.0.1 → 3.1.0

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 (44) hide show
  1. package/INTEGRATION.md +69 -0
  2. package/USAGE_GUIDE.md +19 -5
  3. package/dist/dashboards/build-dashboard-deep-link.d.ts +17 -0
  4. package/dist/dashboards/build-dashboard-deep-link.d.ts.map +1 -0
  5. package/dist/dashboards/index.d.ts +2 -0
  6. package/dist/dashboards/index.d.ts.map +1 -1
  7. package/dist/hooks/query-keys.d.ts +1 -0
  8. package/dist/hooks/query-keys.d.ts.map +1 -1
  9. package/dist/index.d.ts +3 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2719 -2496
  12. package/dist/logs/LogColumnPresetToggle.d.ts +23 -0
  13. package/dist/logs/LogColumnPresetToggle.d.ts.map +1 -0
  14. package/dist/logs/LogTable.d.ts +10 -1
  15. package/dist/logs/LogTable.d.ts.map +1 -1
  16. package/dist/logs/LogsExplorerPage.d.ts +10 -2
  17. package/dist/logs/LogsExplorerPage.d.ts.map +1 -1
  18. package/dist/logs/column-presets.d.ts +50 -0
  19. package/dist/logs/column-presets.d.ts.map +1 -0
  20. package/dist/logs/detail/index.d.ts +1 -1
  21. package/dist/logs/detail/index.d.ts.map +1 -1
  22. package/dist/logs/detail/presets/index.d.ts +1 -1
  23. package/dist/logs/detail/presets/index.d.ts.map +1 -1
  24. package/dist/logs/detail/presets/message-log-preset.d.ts +14 -0
  25. package/dist/logs/detail/presets/message-log-preset.d.ts.map +1 -1
  26. package/dist/routing/LogsRouteElement.d.ts +5 -2
  27. package/dist/routing/LogsRouteElement.d.ts.map +1 -1
  28. package/dist/routing/ObservabilityRoutes.d.ts.map +1 -1
  29. package/dist/routing/types.d.ts +19 -1
  30. package/dist/routing/types.d.ts.map +1 -1
  31. package/dist/shared/ExplorerTable.d.ts +7 -1
  32. package/dist/shared/ExplorerTable.d.ts.map +1 -1
  33. package/dist/shared/local-storage.d.ts +10 -0
  34. package/dist/shared/local-storage.d.ts.map +1 -0
  35. package/dist/styles/observability.css +1 -1
  36. package/dist/testing/graphene-core-mock.d.ts +1 -1
  37. package/dist/testing/graphene-core-mock.d.ts.map +1 -1
  38. package/dist/types/index.d.ts +1 -1
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/types/log-column.d.ts +19 -0
  41. package/dist/types/log-column.d.ts.map +1 -1
  42. package/dist/types-entry.d.ts +1 -1
  43. package/dist/types-entry.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,23 @@
1
+ import { LogColumnPreset } from '../types/log-column';
2
+ export interface LogColumnPresetToggleProps {
3
+ readonly presets: readonly LogColumnPreset[];
4
+ readonly value: string | undefined;
5
+ readonly onChange: (presetId: string) => void;
6
+ }
7
+ /**
8
+ * Column-set switcher, rendered at the right end of the log table toolbar so it sits next to the
9
+ * column picker it belongs with — both answer "which columns am I looking at".
10
+ *
11
+ * The `Custom` item appears only once the user has edited the columns by hand: a named preset then
12
+ * no longer describes what is on screen, and silently keeping its label would misreport the view.
13
+ * Picking any preset restores it exactly and the item disappears again.
14
+ *
15
+ * Each item carries a tooltip: its own `description` when the caller supplied one, else a generic
16
+ * line naming what the control does — the labels alone ("Traffic", "Kafka") do not say that they
17
+ * switch columns rather than filter rows.
18
+ *
19
+ * A single-select ToggleGroup lets the user deselect the active item, which would leave the table
20
+ * with no preset at all; the empty value is swallowed so the control always reflects one state.
21
+ */
22
+ export declare function LogColumnPresetToggle({ presets, value, onChange }: LogColumnPresetToggleProps): import("react/jsx-runtime").JSX.Element | null;
23
+ //# sourceMappingURL=LogColumnPresetToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogColumnPresetToggle.d.ts","sourceRoot":"","sources":["../../src/logs/LogColumnPresetToggle.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA8B3D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,0BAA0B,kDA2C7F"}
@@ -1,4 +1,5 @@
1
1
  import { LogColumnDefinition } from '../types/log-column';
2
+ import { ColumnVisibility } from './column-presets';
2
3
  export interface LogTableProps<TRow> {
3
4
  readonly columns: readonly LogColumnDefinition<TRow>[];
4
5
  readonly data: readonly TRow[];
@@ -15,6 +16,14 @@ export interface LogTableProps<TRow> {
15
16
  readonly selectedRowId?: string;
16
17
  /** localStorage key for persisting column visibility. Omit to disable persistence. */
17
18
  readonly columnVisibilityStorageKey?: string;
19
+ /**
20
+ * Baseline visibility, overriding what the column definitions declare. Set by the active column
21
+ * preset; omitted, each column's own `defaultVisible` applies.
22
+ */
23
+ readonly defaultColumnVisibility?: ColumnVisibility;
24
+ /** Makes visibility controlled by the caller (used by the column presets). */
25
+ readonly columnVisibility?: ColumnVisibility;
26
+ readonly onColumnVisibilityChange?: (visibility: ColumnVisibility) => void;
18
27
  }
19
- export declare function LogTable<TRow>({ columns, data, loading, totalCount, page, pageSize, onPageChange, onPageSizeChange, pageSizeOptions, onRowClick, toolbar, getRowId, selectedRowId, columnVisibilityStorageKey, }: LogTableProps<TRow>): import("react/jsx-runtime").JSX.Element;
28
+ export declare function LogTable<TRow>({ columns, data, loading, totalCount, page, pageSize, onPageChange, onPageSizeChange, pageSizeOptions, onRowClick, toolbar, getRowId, selectedRowId, columnVisibilityStorageKey, defaultColumnVisibility, columnVisibility, onColumnVisibilityChange, }: LogTableProps<TRow>): import("react/jsx-runtime").JSX.Element;
20
29
  //# sourceMappingURL=LogTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogTable.d.ts","sourceRoot":"","sources":["../../src/logs/LogTable.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,aAAa,CAAC,IAAI;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CAC9C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,EAC7B,OAAO,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,OAAO,EACP,QAAQ,EACR,aAAa,EACb,0BAA0B,GAC3B,EAAE,aAAa,CAAC,IAAI,CAAC,2CAkCrB"}
1
+ {"version":3,"file":"LogTable.d.ts","sourceRoot":"","sources":["../../src/logs/LogTable.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,WAAW,aAAa,CAAC,IAAI;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC5E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,EAC7B,OAAO,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,OAAO,EACP,QAAQ,EACR,aAAa,EACb,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,EAAE,aAAa,CAAC,IAAI,CAAC,2CAqCrB"}
@@ -1,5 +1,5 @@
1
1
  import { Widget } from '../types/domain';
2
- import { LogColumnDefinition } from '../types/log-column';
2
+ import { LogColumnDefinition, LogColumnPreset } from '../types/log-column';
3
3
  export interface LogsExplorerPageProps<TRow> {
4
4
  readonly columns: readonly LogColumnDefinition<TRow>[];
5
5
  readonly onRowClick?: (entry: TRow) => void;
@@ -22,6 +22,14 @@ export interface LogsExplorerPageProps<TRow> {
22
22
  * `LogsFeatureConfig.widget`.
23
23
  */
24
24
  readonly widget?: Widget | false;
25
+ /**
26
+ * Named column sets offered in the table toolbar. Selecting one only changes which columns are
27
+ * visible — filters, time range and URL state are untouched. Omit to keep the single flat column
28
+ * list and the column picker alone.
29
+ */
30
+ readonly columnPresets?: readonly LogColumnPreset[];
31
+ /** Preset active on mount. Defaults to the first declared preset. */
32
+ readonly defaultColumnPresetId?: string;
25
33
  }
26
- export declare function LogsExplorerPage<TRow>({ columns, onRowClick, pageSize, getRowId, selectedRowId, scopeFilterField, columnVisibilityStorageKey, onPageDataChange, widget, }: LogsExplorerPageProps<TRow>): import("react/jsx-runtime").JSX.Element;
34
+ export declare function LogsExplorerPage<TRow>({ columns, onRowClick, pageSize, getRowId, selectedRowId, scopeFilterField, columnVisibilityStorageKey, onPageDataChange, widget, columnPresets, defaultColumnPresetId, }: LogsExplorerPageProps<TRow>): import("react/jsx-runtime").JSX.Element;
27
35
  //# sourceMappingURL=LogsExplorerPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogsExplorerPage.d.ts","sourceRoot":"","sources":["../../src/logs/LogsExplorerPage.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAoC/D,MAAM,WAAW,qBAAqB,CAAC,IAAI;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,mGAAmG;IACnG,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC;IAC5D;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAClC;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,EACrC,OAAO,EACP,UAAU,EACV,QAAa,EACb,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,0BAAuD,EACvD,gBAAgB,EAChB,MAAM,GACP,EAAE,qBAAqB,CAAC,IAAI,CAAC,2CA6E7B"}
1
+ {"version":3,"file":"LogsExplorerPage.d.ts","sourceRoot":"","sources":["../../src/logs/LogsExplorerPage.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA+ChF,MAAM,WAAW,qBAAqB,CAAC,IAAI;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,mGAAmG;IACnG,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC;IAC5D;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACpD,qEAAqE;IACrE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,EACrC,OAAO,EACP,UAAU,EACV,QAAa,EACb,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,0BAAuD,EACvD,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,qBAAqB,GACtB,EAAE,qBAAqB,CAAC,IAAI,CAAC,2CAgI7B"}
@@ -0,0 +1,50 @@
1
+ import { LogColumnDefinition, LogColumnPreset } from '../types/log-column';
2
+ /**
3
+ * Visibility state understood by the table: a column is hidden when its key maps to `false`.
4
+ * Keys absent from the record are visible, which is why only hidden columns are listed.
5
+ */
6
+ export type ColumnVisibility = Record<string, boolean>;
7
+ /**
8
+ * Translates a preset into the table's visibility state. `columns: '*'` falls back to each
9
+ * column's own `defaultVisible`, so the "show everything the consumer considers default" preset
10
+ * costs no enumeration and never drifts when a column is added.
11
+ *
12
+ * Keys the preset lists but that no column declares are ignored rather than rejected: presets are
13
+ * static configuration and a column set can legitimately vary at render time (a module builds its
14
+ * columns from the mount path), so a stale key must not blank the table.
15
+ */
16
+ export declare function resolvePresetVisibility<TRow>(columns: readonly LogColumnDefinition<TRow>[], preset: LogColumnPreset | undefined): ColumnVisibility;
17
+ /** Marks a column set the user edited by hand, no longer matching any declared preset. */
18
+ export declare const CUSTOM_PRESET_ID = "__custom__";
19
+ export interface StoredPresetState {
20
+ readonly presetId: string;
21
+ /** Only set for {@link CUSTOM_PRESET_ID}: a named preset is always re-derived from its definition. */
22
+ readonly visibility?: ColumnVisibility;
23
+ }
24
+ /**
25
+ * True when both maps agree on every column's visibility. Absent keys mean visible, so
26
+ * `{}` and `{a: true}` describe the same view and must compare equal — otherwise selecting a preset
27
+ * would immediately look like a manual edit.
28
+ */
29
+ export declare function sameVisibility(columns: readonly {
30
+ key: string;
31
+ }[], a: ColumnVisibility, b: ColumnVisibility): boolean;
32
+ export declare function readPresetState(storageKey: string | undefined): StoredPresetState | null;
33
+ export declare function writePresetState(storageKey: string | undefined, state: StoredPresetState): void;
34
+ /**
35
+ * Warns about preset keys no column declares.
36
+ *
37
+ * A preset is static configuration while the columns are built at render time, so the two can only
38
+ * be compared here. A stale key is not an error — it is ignored, and the table still renders — but
39
+ * silently showing fewer columns than the author asked for is the kind of drift nobody notices, so
40
+ * it is worth saying out loud. Skipped in production builds: a warning on every render helps no one
41
+ * there, and the bundler strips the branch.
42
+ */
43
+ export declare function warnAboutUnknownPresetColumns<TRow>(columns: readonly LogColumnDefinition<TRow>[], presets: readonly LogColumnPreset[] | undefined): void;
44
+ /**
45
+ * Resolves which preset is active on mount: the requested default when it exists, else the first
46
+ * declared one. Returns `undefined` when no preset is configured, which is what keeps the toggle
47
+ * (and every behaviour it drives) out of the way for consumers that never opt in.
48
+ */
49
+ export declare function resolveInitialPresetId(presets: readonly LogColumnPreset[] | undefined, defaultPresetId: string | undefined): string | undefined;
50
+ //# sourceMappingURL=column-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-presets.d.ts","sourceRoot":"","sources":["../../src/logs/column-presets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAC1C,OAAO,EAAE,SAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAC7C,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,gBAAgB,CAelB;AAED,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sGAAsG;IACtG,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAErH;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,IAAI,CAIxF;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAE/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAChD,OAAO,EAAE,SAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAC7C,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,GAC9C,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,EAC/C,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAIpB"}
@@ -6,5 +6,5 @@ export { isMultiVariantConfig } from './types';
6
6
  export { LogDetailCodeBlock, LogDetailContextChart, LogDetailDrawer, LogDetailDrawerShell, LogDetailEmptyField, LogDetailHeader, LogDetailHeadersTable, LogDetailJsonTree, LogDetailKeyValueGrid, LogDetailMetrics, LogDetailPage, LogDetailSection, LogDetailSections, useLogDetailDrawerExpand, } from './components';
7
7
  export type { LogDetailContextChartProps, LogDetailDrawerProps, LogDetailDrawerShellProps, LogDetailEmptyFieldProps, LogDetailHeaderComponentProps, LogDetailJsonTreeProps, LogDetailPageProps, LogDetailSectionsProps, } from './components';
8
8
  export { connectionLogPreset, messageLogPreset, webhookLogPreset } from './presets';
9
- export type { ConnectionLogDetailData, ConnectionLogPresetOptions, DeliveryAttempt, MessageEntry, MessageLogDetailData, MessageLogPresetOptions, WebhookLogDetailData, WebhookLogPresetOptions, } from './presets';
9
+ export type { ConnectionLogDetailData, ConnectionLogPresetOptions, DeliveryAttempt, MessageEntry, MessageLogDetailData, MessageLogPresetOptions, MessagePage, WebhookLogDetailData, WebhookLogPresetOptions, } from './presets';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logs/detail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EACV,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACpF,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logs/detail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EACV,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACpF,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,WAAW,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export { connectionLogPreset } from './connection-log-preset';
2
2
  export type { ConnectionLogDetailData, ConnectionLogPresetOptions } from './connection-log-preset';
3
3
  export { messageLogPreset } from './message-log-preset';
4
- export type { MessageLogDetailData, MessageEntry, MessageLogPresetOptions } from './message-log-preset';
4
+ export type { MessageLogDetailData, MessageEntry, MessageLogPresetOptions, MessagePage } from './message-log-preset';
5
5
  export { webhookLogPreset } from './webhook-log-preset';
6
6
  export type { WebhookLogDetailData, DeliveryAttempt, WebhookLogPresetOptions } from './webhook-log-preset';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/logs/detail/presets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAExG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/logs/detail/presets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAErH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -61,8 +61,22 @@ interface ConnectorPayload {
61
61
  headers?: Record<string, string>;
62
62
  metadata?: Record<string, string>;
63
63
  }
64
+ /** One page of messages, as the module's backend returns them. */
65
+ export interface MessagePage {
66
+ readonly data: readonly MessageEntry[];
67
+ readonly totalCount: number;
68
+ }
64
69
  export interface MessageLogPresetOptions {
65
70
  messagesPageSize?: number;
71
+ /**
72
+ * Fetches messages on demand instead of reading them off the log. Supply this when the backend
73
+ * serves them from their own endpoint — a connection can carry thousands, so shipping them inside
74
+ * every log detail would be wasteful, and a debugging session reads the first few.
75
+ *
76
+ * With a loader the Messages section always renders (loading, empty and error states included);
77
+ * without one it falls back to `log.messages` and only appears when there are some.
78
+ */
79
+ loadMessages?: (log: MessageLogDetailData, page: number, perPage: number) => Promise<MessagePage>;
66
80
  }
67
81
  export declare function messageLogPreset(options?: MessageLogPresetOptions): LogDetailVariant;
68
82
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"message-log-preset.d.ts","sourceRoot":"","sources":["../../../../src/logs/detail/presets/message-log-preset.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAyD,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAExG,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,iBAAiB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClH,eAAe,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChH,kBAAkB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrG,gBAAgB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnG,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAoDpF"}
1
+ {"version":3,"file":"message-log-preset.d.ts","sourceRoot":"","sources":["../../../../src/logs/detail/presets/message-log-preset.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { LogDetailConfig } from '../logs/detail/types';
2
2
  import { Widget } from '../types/domain';
3
- import { LogColumnDefinition } from '../types/log-column';
3
+ import { LogColumnDefinition, LogColumnPreset } from '../types/log-column';
4
4
  import { LogDetailMode } from './types';
5
5
  export interface LogsRouteElementProps {
6
6
  columns: readonly LogColumnDefinition<unknown>[];
@@ -18,6 +18,9 @@ export interface LogsRouteElementProps {
18
18
  columnVisibilityStorageKey?: string;
19
19
  /** Chart above the table as a dashboard widget, or `false` to hide it. See `LogsFeatureConfig.widget`. */
20
20
  widget?: Widget | false;
21
+ /** Named column sets offered in the table toolbar. See `LogsFeatureConfig.columnPresets`. */
22
+ columnPresets?: readonly LogColumnPreset[];
23
+ defaultColumnPresetId?: string;
21
24
  }
22
25
  /**
23
26
  * Connects the logs explorer to its detail view. The section owns the
@@ -25,5 +28,5 @@ export interface LogsRouteElementProps {
25
28
  * default, or the full-page route) using `getRowId`. A consumer-supplied
26
29
  * `onRowClickOverride` takes priority and disables the built-in behavior.
27
30
  */
28
- export declare function LogsRouteElement({ columns, getRowId, getApiId, onRowClickOverride, detailConfig, detailMode, pageSize, scopeFilterField, columnVisibilityStorageKey, widget, }: LogsRouteElementProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function LogsRouteElement({ columns, getRowId, getApiId, onRowClickOverride, detailConfig, detailMode, pageSize, scopeFilterField, columnVisibilityStorageKey, widget, columnPresets, defaultColumnPresetId, }: LogsRouteElementProps): import("react/jsx-runtime").JSX.Element;
29
32
  //# sourceMappingURL=LogsRouteElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogsRouteElement.d.ts","sourceRoot":"","sources":["../../src/routing/LogsRouteElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,SAAS,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACpC,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,qFAAqF;IACrF,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0GAA0G;IAC1G,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,MAAM,GACP,EAAE,qBAAqB,2CAgCvB"}
1
+ {"version":3,"file":"LogsRouteElement.d.ts","sourceRoot":"","sources":["../../src/routing/LogsRouteElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,SAAS,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACpC,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,qFAAqF;IACrF,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0GAA0G;IAC1G,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,MAAM,EACN,aAAa,EACb,qBAAqB,GACtB,EAAE,qBAAqB,2CAoCvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObservabilityRoutes.d.ts","sourceRoot":"","sources":["../../src/routing/ObservabilityRoutes.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAgBjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAO9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAkD3D,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,SAAS,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,EAAE,2BAA2B,CAAC;CACrC;AAkJD,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,eAAe,EACf,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,MAAM,GACP,EAAE,gCAAgC,2CAmUlC"}
1
+ {"version":3,"file":"ObservabilityRoutes.d.ts","sourceRoot":"","sources":["../../src/routing/ObservabilityRoutes.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAgBjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAO9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAkD3D,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,SAAS,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,EAAE,2BAA2B,CAAC;CACrC;AAkJD,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,eAAe,EACf,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,MAAM,GACP,EAAE,gCAAgC,2CAqUlC"}
@@ -8,7 +8,7 @@ import { LogDetailConfig } from '../logs/detail/types';
8
8
  import { HttpOptions } from '../providers/http-provider';
9
9
  import { LoadTracingApis } from '../traces/tracing-api';
10
10
  import { FilterCondition, Widget } from '../types/domain';
11
- import { LogColumnDefinition } from '../types/log-column';
11
+ import { LogColumnDefinition, LogColumnPreset } from '../types/log-column';
12
12
  /** How the log detail is presented when a row is clicked. */
13
13
  export type LogDetailMode = 'drawer' | 'page';
14
14
  export type FeatureKey = 'dashboards' | 'logs' | 'tracing';
@@ -84,6 +84,24 @@ export interface LogsFeatureConfig {
84
84
  pageSize?: number;
85
85
  /** localStorage key for persisting column visibility. Defaults to 'observability-logs-columns'. */
86
86
  columnVisibilityStorageKey?: string;
87
+ /**
88
+ * Named column sets offered in the log table toolbar — the shortcut for a screen that mixes API
89
+ * families whose useful columns barely overlap. Selecting a preset only changes column
90
+ * visibility; filters, time range and URL state are untouched, and the column picker stays
91
+ * available to refine on top. Each preset persists its own tweaks.
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * columnPresets: [
96
+ * { id: 'kafka', label: 'Kafka', columns: ['timestamp', 'connectionStatus', 'failureOrigin'] },
97
+ * { id: 'message', label: 'Message', columns: ['timestamp', 'status', 'method', 'uri'] },
98
+ * { id: 'all', label: 'All', columns: '*' },
99
+ * ],
100
+ * ```
101
+ */
102
+ columnPresets?: readonly LogColumnPreset[];
103
+ /** Preset active on mount. Defaults to the first declared preset. */
104
+ defaultColumnPresetId?: string;
87
105
  /**
88
106
  * Configuration for the log detail view (drawer or page).
89
107
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,14 @@ export interface ExplorerTableProps<TData> {
15
15
  readonly selectedRowId?: string;
16
16
  readonly columnVisibilityStorageKey?: string;
17
17
  readonly defaultColumnVisibility?: VisibilityState;
18
+ /**
19
+ * Makes column visibility controlled by the caller. When set, the table neither owns the state
20
+ * nor persists it — the caller decides what visible means and where it is stored.
21
+ */
22
+ readonly columnVisibility?: VisibilityState;
23
+ readonly onColumnVisibilityChange?: (visibility: VisibilityState) => void;
18
24
  readonly toolbar?: ReactNode;
19
25
  readonly emptyMessage: ReactNode;
20
26
  }
21
- export declare function ExplorerTable<TData>({ columns, data, loading, totalCount, page, pageSize, onPageChange, onPageSizeChange, pageSizeOptions, onRowClick, getRowId, selectedRowId, columnVisibilityStorageKey, defaultColumnVisibility, toolbar, emptyMessage, }: ExplorerTableProps<TData>): import("react/jsx-runtime").JSX.Element;
27
+ export declare function ExplorerTable<TData>({ columns, data, loading, totalCount, page, pageSize, onPageChange, onPageSizeChange, pageSizeOptions, onRowClick, getRowId, selectedRowId, columnVisibilityStorageKey, defaultColumnVisibility, columnVisibility: controlledVisibility, onColumnVisibilityChange, toolbar, emptyMessage, }: ExplorerTableProps<TData>): import("react/jsx-runtime").JSX.Element;
22
28
  //# sourceMappingURL=ExplorerTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerTable.d.ts","sourceRoot":"","sources":["../../src/shared/ExplorerTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAW,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjF,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,eAAe,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;CAClC;AA8CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,EACnC,OAAO,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAmC,EACnC,UAAU,EACV,QAAQ,EACR,aAAa,EACb,0BAA0B,EAC1B,uBAA4B,EAC5B,OAAO,EACP,YAAY,GACb,EAAE,kBAAkB,CAAC,KAAK,CAAC,2CAiK3B"}
1
+ {"version":3,"file":"ExplorerTable.d.ts","sourceRoot":"","sources":["../../src/shared/ExplorerTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAW,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjF,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,eAAe,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;CAClC;AAgCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,EACnC,OAAO,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAmC,EACnC,UAAU,EACV,QAAQ,EACR,aAAa,EACb,0BAA0B,EAC1B,uBAA4B,EAC5B,gBAAgB,EAAE,oBAAoB,EACtC,wBAAwB,EACxB,OAAO,EACP,YAAY,GACb,EAAE,kBAAkB,CAAC,KAAK,CAAC,2CA2K3B"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Reads and writes JSON in `localStorage` without ever throwing.
3
+ *
4
+ * Storage is unavailable in more situations than it looks — private browsing, a full quota, a
5
+ * sandboxed iframe — and none of them should take a table down. A failed read falls back, a failed
6
+ * write is dropped: the user keeps their view for the session and simply does not get it restored.
7
+ */
8
+ export declare function readJson<T>(storageKey: string, fallback: T): T;
9
+ export declare function writeJson(storageKey: string, value: unknown): void;
10
+ //# sourceMappingURL=local-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../src/shared/local-storage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAO9D;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAMlE"}