@odigos/ui-kit 0.0.230 → 0.0.231

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 (34) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/chunks/index-DAOWyONO.js +145 -0
  3. package/lib/chunks/{index-DJZLguZq.js → index-tFZXUKvO.js} +1 -1
  4. package/lib/chunks/{ui-components-B4xHrszQ.js → ui-components-CvK0mvVN.js} +378 -378
  5. package/lib/components/_v2/table/index.d.ts +8 -1
  6. package/lib/components/v2.js +1 -1
  7. package/lib/components.js +1 -1
  8. package/lib/constants/sampling/index.d.ts +7 -0
  9. package/lib/constants.js +1 -1
  10. package/lib/containers/_v2/_drawers/add-destination-drawer/form-column/index.d.ts +1 -1
  11. package/lib/containers/_v2/_drawers/add-destination-drawer/lists-column/index.d.ts +1 -1
  12. package/lib/containers/_v2/_drawers/add-source-drawer/namespaces-column/index.d.ts +1 -1
  13. package/lib/containers/_v2/_drawers/add-source-drawer/workloads-column/index.d.ts +1 -1
  14. package/lib/containers/source-drawer/profiling/flame-graph-canvas.d.ts +12 -0
  15. package/lib/containers/source-drawer/profiling/flamebearer.d.ts +21 -2
  16. package/lib/containers/source-drawer/profiling/index.d.ts +1 -9
  17. package/lib/containers/source-drawer/profiling/symbol-table.d.ts +13 -0
  18. package/lib/containers/v2.js +46 -42
  19. package/lib/containers.js +42 -44
  20. package/lib/contexts/sampling-rules-form-context.d.ts +3 -1
  21. package/lib/contexts.js +1 -1
  22. package/lib/functions.js +1 -1
  23. package/lib/hooks.js +1 -1
  24. package/lib/snippets/_v2/sampling-rule-form-sections/index.d.ts +1 -0
  25. package/lib/snippets/_v2/sampling-rule-form-sections/rule-type.d.ts +8 -0
  26. package/lib/snippets/_v2/sampling-rule-form-sections/sampling-preview.d.ts +3 -1
  27. package/lib/snippets/v2.js +1 -1
  28. package/lib/snippets.js +1 -1
  29. package/lib/store.js +1 -1
  30. package/lib/theme.js +1 -1
  31. package/lib/types.js +1 -1
  32. package/lib/visuals.js +1 -1
  33. package/package.json +1 -1
  34. package/lib/chunks/index-CGrd7Nq0.js +0 -149
@@ -1,7 +1,7 @@
1
1
  import { type FC, type CSSProperties } from 'react';
2
2
  import { HoverAction } from '../hover-actions';
3
3
  import { type NoDataProps } from '../no-data';
4
- import { type TableColumn, type TableRow, TableVariant } from './types';
4
+ import { type TableColumn, type TableRow, TableVariant, TableRowCell } from './types';
5
5
  export * from './types';
6
6
  export interface TableProps {
7
7
  variant: TableVariant;
@@ -16,5 +16,12 @@ export interface TableProps {
16
16
  rowActionsPushRightPosition?: CSSProperties['right'];
17
17
  rowActionsPushLeftPosition?: CSSProperties['left'];
18
18
  withCheckboxes?: boolean;
19
+ /** Controlled column filters (option ids per column key). Provide together with `onFiltersChange` to lift filter state out of the table. */
20
+ filters?: {
21
+ [key: string]: TableRowCell['rawValue'][];
22
+ };
23
+ onFiltersChange?: (filters: {
24
+ [key: string]: TableRowCell['rawValue'][];
25
+ }) => void;
19
26
  }
20
27
  export declare const Table: FC<TableProps>;
@@ -1 +1 @@
1
- export{e$ as Autocomplete,Y as Badge,o as Button,B as ButtonSize,gd as ButtonTab,ge as ButtonTabList,a as ButtonVariants,e as Checkbox,gf as CheckboxList,f1 as CheckboxSize,bz as CliCommand,gg as Condition,aL as Conditions,gh as DEFAULT_TIME_UNITS,D as DataCard,aI as Drawer,bj as DropData,bl as DropDataAlignX,bk as DropDataAlignY,am as DropDown,f as FieldMessage,d as FieldTitle,bC as GaugeChart,gi as GaugeChartVariant,gj as Header,dV as HoverActions,ag as IconButton,ah as IconButtonSize,I as Input,l as InputList,j as InputTable,bu as Island,aj as Loader,gk as Modal,gl as Navbar,N as NoData,z as Note,el as Radio,gm as RadioGroup,gn as RadioSize,dP as Search,aa as SectionCard,go as SectionCardSize,S as Segment,an as SegmentSize,bF as SegmentVariant,bB as StatusCard,bv as Stepper,bo as Table,bp as TableVariant,aV as Tag,w as TextArea,bD as TextCard,e9 as TimeInput,T as Toggle,k as ToggleLabelAlign,gp as ToggleList,ax as ToggleSize,bf as ToggleVariant,gq as TruncatableTypography,s as Typography,t as TypographySize,ay as TypographyVariants,c5 as WarningModal}from"../chunks/ui-components-B4xHrszQ.js";import"react/jsx-runtime";import"styled-components";import"../icons.js";import"zustand";import"react";import"javascript-time-ago";import"../chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{f2 as Autocomplete,Y as Badge,o as Button,B as ButtonSize,gj as ButtonTab,gk as ButtonTabList,a as ButtonVariants,e as Checkbox,gl as CheckboxList,f4 as CheckboxSize,bv as CliCommand,gm as Condition,aK as Conditions,gn as DEFAULT_TIME_UNITS,D as DataCard,aH as Drawer,bf as DropData,bh as DropDataAlignX,bg as DropDataAlignY,ah as DropDown,f as FieldMessage,d as FieldTitle,by as GaugeChart,go as GaugeChartVariant,gp as Header,dW as HoverActions,ai as IconButton,aj as IconButtonSize,I as Input,l as InputList,j as InputTable,bq as Island,ak as Loader,gq as Modal,gr as Navbar,N as NoData,z as Note,el as Radio,gs as RadioGroup,gt as RadioSize,dQ as Search,aa as SectionCard,gu as SectionCardSize,S as Segment,a9 as SegmentSize,bB as SegmentVariant,bx as StatusCard,br as Stepper,bk as Table,bl as TableVariant,aU as Tag,w as TextArea,bz as TextCard,e9 as TimeInput,T as Toggle,k as ToggleLabelAlign,gv as ToggleList,aw as ToggleSize,gw as ToggleVariant,gx as TruncatableTypography,s as Typography,t as TypographySize,ax as TypographyVariants,c5 as WarningModal}from"../chunks/ui-components-CvK0mvVN.js";import"react/jsx-runtime";import"styled-components";import"../icons.js";import"zustand";import"react";import"javascript-time-ago";import"../chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
package/lib/components.js CHANGED
@@ -1 +1 @@
1
- export{cG as AutocompleteInput,c_ as Badge,d1 as Button,cv as CancelWarning,b as CenterThis,cd as Checkbox,C as Code,cy as ConditionDetails,cz as DataCard,cb as DataCardFieldTypes,dA as DataCardFields,g1 as DataFinger,d3 as DataTab,cu as DeleteWarning,dT as DescribeRow,m as Divider,co as DocsButton,ct as Drawer,g2 as DrawerFooter,g3 as DrawerHeader,dl as Dropdown,g4 as ErrorBoundary,dt as ExtendArrow,d0 as FadeLoader,ce as FieldError,cc as FieldLabel,F as FlexColumn,n as FlexRow,g5 as Header,ck as IconButton,e1 as IconGroup,cU as IconTitleBadge,cP as IconWrapped,dN as IconsNav,g6 as ImageControlled,cf as Input,cj as InputList,cg as InputTable,cX as InteractiveTable,ci as KeyValueInputsList,g7 as LoadingText,cD as Modal,cE as ModalBody,cp as MonitorsCheckboxes,cR as MonitorsIcons,cH as NavigationButtons,cY as NoDataFound,cF as NotificationNote,g8 as Overlay,aK as Padding,bn as PageContent,dh as Popup,e3 as PopupForm,e8 as ScrollX,d7 as ScrollY,cn as SectionTitle,cm as Segment,dj as SelectionButton,da as SkeletonLoader,cJ as Status,dz as Stepper,g9 as TabList,cS as TableContainer,cT as TableTitleWrap,cW as TableWrap,dC as Tag,cr as Text,cq as TextArea,ch as Toggle,e6 as ToggleCodeComponent,O as Tooltip,cZ as TraceLoader,bE as UpgradeRequiredWrapper,di as VerticalScroll,dE as WarningModal,ga as getLinksFromText,gb as getStrongsFromText,gc as renderText}from"./chunks/ui-components-B4xHrszQ.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{cG as AutocompleteInput,c_ as Badge,d1 as Button,cv as CancelWarning,b as CenterThis,cd as Checkbox,C as Code,cy as ConditionDetails,cz as DataCard,cb as DataCardFieldTypes,dA as DataCardFields,g7 as DataFinger,d3 as DataTab,cu as DeleteWarning,dU as DescribeRow,m as Divider,co as DocsButton,ct as Drawer,g8 as DrawerFooter,g9 as DrawerHeader,dl as Dropdown,ga as ErrorBoundary,dt as ExtendArrow,d0 as FadeLoader,ce as FieldError,cc as FieldLabel,F as FlexColumn,n as FlexRow,gb as Header,ck as IconButton,e1 as IconGroup,cU as IconTitleBadge,cP as IconWrapped,dO as IconsNav,gc as ImageControlled,cf as Input,cj as InputList,cg as InputTable,cX as InteractiveTable,ci as KeyValueInputsList,gd as LoadingText,cD as Modal,cE as ModalBody,cp as MonitorsCheckboxes,cR as MonitorsIcons,cH as NavigationButtons,cY as NoDataFound,cF as NotificationNote,ge as Overlay,aJ as Padding,bj as PageContent,dh as Popup,e3 as PopupForm,e8 as ScrollX,d7 as ScrollY,cn as SectionTitle,cm as Segment,dj as SelectionButton,da as SkeletonLoader,cJ as Status,dz as Stepper,gf as TabList,cS as TableContainer,cT as TableTitleWrap,cW as TableWrap,dC as Tag,cr as Text,cq as TextArea,ch as Toggle,e6 as ToggleCodeComponent,O as Tooltip,cZ as TraceLoader,bA as UpgradeRequiredWrapper,di as VerticalScroll,dE as WarningModal,gg as getLinksFromText,gh as getStrongsFromText,gi as renderText}from"./chunks/ui-components-CvK0mvVN.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
@@ -6,10 +6,17 @@ export declare const BTN_EDIT_AUTO_RULE = "Edit auto rule";
6
6
  export declare const BTN_CREATE_RULE = "Create rule";
7
7
  export declare const BTN_DELETE_RULE = "Delete rule";
8
8
  export declare const BTN_SAVE_RULE = "Save";
9
+ export declare const BTN_CREATE_FIRST_RULE = "Create your first rule";
10
+ export declare const TITLE_NO_RULES = "No Rules Exist";
11
+ export declare const TITLE_NO_RESULTS = "No Results";
12
+ export declare const getNoResultsSubTitle: (search: string) => string;
9
13
  export declare const LABEL_RULE_NAME = "Rule name";
10
14
  export declare const LABEL_RULE_TYPE = "Rule type";
15
+ export declare const DESC_RULE_TYPE = "Select the type of condition that makes a trace highly relevant.";
11
16
  export declare const LABEL_RULE_ENABLED = "Rule Enabled";
12
17
  export declare const LABEL_RULE_DISABLED = "Rule Disabled";
18
+ export declare const LABEL_ENABLED = "Enabled";
19
+ export declare const LABEL_DISABLED = "Disabled";
13
20
  export declare const LABEL_NOTE = "Note";
14
21
  export declare const LABEL_HTTP_ROUTE = "HTTP route";
15
22
  export declare const LABEL_METHOD = "Method";
package/lib/constants.js CHANGED
@@ -1 +1 @@
1
- export{ad as ACTION_ATTRIBUTE_OPTIONS,cx as ACTION_OPTIONS,ae as ACTION_SAMPLER_OPTIONS,fL as ALL_SOURCES,aX as BTN_CANCEL,b3 as BTN_CREATE_RULE,a_ as BTN_DELETE_RULE,eO as BTN_EDIT_AUTO_RULE,aZ as BTN_EDIT_RULE,bb as BTN_SAVE,aY as BTN_SAVE_RULE,aJ as BUTTON_TEXTS,b0 as CATEGORY_DESCRIPTIONS,eM as CATEGORY_LABELS,b4 as CATEGORY_TITLES,fM as CREATE_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,fN as CREATE_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,fO as CREATE_NOISY_AUTO_RULE_DRAWER_TITLE,aG as DEFAULT_CLUSTER_ID,aF as DEFAULT_CLUSTER_NAME,ds as DEFAULT_DATA_STREAM_NAME,a3 as DESC_DROP_PERCENTAGE,ef as DESC_DURATION,ee as DESC_ERRORS,a7 as DESC_KEEP_PERCENTAGE,ei as DESC_OPERATION,eZ as DESC_SOURCE_SCOPE,ak as DESTINATION_CATEGORIES,Z as DISPLAY_LANGUAGES,af as DISPLAY_TITLES,v as DOCS_BASE_URL,ai as DestinationCategoryTypes,b7 as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_SUBTITLE,b8 as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,b5 as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_SUBTITLE,b6 as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,b9 as EDIT_NOISY_AUTO_RULE_DRAWER_SUBTITLE,ba as EDIT_NOISY_AUTO_RULE_DRAWER_TITLE,b1 as EDIT_TITLES,ev as EMPTY_VALUE,bI as FILTER_TYPE_ALL,aU as FORM_ALERTS,ar as INSTRUMENTATION_RULE_OPTIONS,eg as LABEL_CUSTOM_DURATION,ab as LABEL_CUSTOM_PERCENTAGE,bH as LABEL_DISABLED_RULE,eE as LABEL_DROP_ALL,a2 as LABEL_DROP_AT_MOST,eB as LABEL_DROP_PERCENTAGE,eo as LABEL_HTTP_ROUTE,eq as LABEL_HTTP_ROUTE_PREFIX,es as LABEL_KAFKA_TOPIC,eF as LABEL_KEEP_ALL,a6 as LABEL_KEEP_AT_LEAST,eC as LABEL_KEEP_AT_MOST,eA as LABEL_KEEP_PERCENTAGE,ed as LABEL_KEEP_TRACES_DURATION,eb as LABEL_KEEP_TRACES_ERRORS,er as LABEL_METHOD,eI as LABEL_NOTE,eW as LABEL_NO_PREVIEW,eu as LABEL_OPERATION_TYPE,be as LABEL_RULE_DISABLED,bd as LABEL_RULE_ENABLED,eG as LABEL_RULE_NAME,eH as LABEL_RULE_TYPE,eD as LABEL_SAMPLE,ek as LABEL_SERVER_ADDRESS,en as LABEL_TEMPLATED_PATH,ep as LABEL_TEMPLATED_PATH_PREFIX,fP as LANGUAGE_OPTIONS,dm as MONITORS_OPTIONS,eY as NOTE_ENTIRE_CLUSTER,e_ as NOTE_SOURCE_SCOPE_LOGIC,fQ as OPENTELEMETRY_EBPF_DISTRO_OPTION,ex as OPERATION_ALL,ew as OPERATION_HTTP_CLIENT,et as OPERATION_HTTP_SERVER,ey as OPERATION_KAFKA_CONSUMER,ez as OPERATION_KAFKA_PRODUCER,fR as OTEL_DISTRO_NAME_OPTIONS,eK as PLACEHOLDER_NOTE,em as PLACEHOLDER_ROUTE,eJ as PLACEHOLDER_RULE_NAME,f0 as PLACEHOLDER_SEARCH_SOURCE,ej as PLACEHOLDER_SERVER_ADDRESS,a9 as SAMPLING_AUTO_RULE_TITLE,b$ as SAMPLING_BTN_CREATE_RULE,bZ as SAMPLING_BTN_DOCS,b_ as SAMPLING_BTN_REFRESH,a5 as SAMPLING_COST_REDUCTION_AUTO_RULE_TITLE,c7 as SAMPLING_DELETE_MODAL_APPROVE,c6 as SAMPLING_DELETE_MODAL_CANCEL,c8 as SAMPLING_DELETE_MODAL_DESCRIPTION,c9 as SAMPLING_DELETE_MODAL_TITLE,bc as SAMPLING_DRAWER_WIDTH,bY as SAMPLING_DUPLICATE_RULE_WARNING,a1 as SAMPLING_HIGHLY_RELEVANT_AUTO_RULE_TITLE,c0 as SAMPLING_PAGE_DESCRIPTION,c1 as SAMPLING_PAGE_TITLE,a4 as SECTION_DROP_PERCENTAGE,ec as SECTION_DURATION,ea as SECTION_ERRORS,a8 as SECTION_KEEP_PERCENTAGE,eh as SECTION_OPERATION,eV as SECTION_SAMPLING_PREVIEW,eX as SECTION_SOURCE_SCOPE,dn as STORAGE_KEYS,fS as TOKEN_ABOUT_TO_EXPIRE,eL as TOOLTIP_NOTE,b2 as UNNAMED_RULE}from"./chunks/ui-components-B4xHrszQ.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{ad as ACTION_ATTRIBUTE_OPTIONS,cx as ACTION_OPTIONS,ae as ACTION_SAMPLER_OPTIONS,fO as ALL_SOURCES,aW as BTN_CANCEL,bG as BTN_CREATE_FIRST_RULE,b2 as BTN_CREATE_RULE,aZ as BTN_DELETE_RULE,eR as BTN_EDIT_AUTO_RULE,aY as BTN_EDIT_RULE,ba as BTN_SAVE,aX as BTN_SAVE_RULE,aI as BUTTON_TEXTS,a$ as CATEGORY_DESCRIPTIONS,eO as CATEGORY_LABELS,b3 as CATEGORY_TITLES,fP as CREATE_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,fQ as CREATE_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,fR as CREATE_NOISY_AUTO_RULE_DRAWER_TITLE,aF as DEFAULT_CLUSTER_ID,aE as DEFAULT_CLUSTER_NAME,ds as DEFAULT_DATA_STREAM_NAME,a3 as DESC_DROP_PERCENTAGE,ef as DESC_DURATION,ee as DESC_ERRORS,eA as DESC_KEEP_PERCENTAGE,ei as DESC_OPERATION,eP as DESC_RULE_TYPE,f0 as DESC_SOURCE_SCOPE,al as DESTINATION_CATEGORIES,Z as DISPLAY_LANGUAGES,af as DISPLAY_TITLES,v as DOCS_BASE_URL,ag as DestinationCategoryTypes,b6 as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_SUBTITLE,b7 as EDIT_COST_REDUCTION_AUTO_RULE_DRAWER_TITLE,b4 as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_SUBTITLE,b5 as EDIT_HIGHLY_RELEVANT_AUTO_RULE_DRAWER_TITLE,b8 as EDIT_NOISY_AUTO_RULE_DRAWER_SUBTITLE,b9 as EDIT_NOISY_AUTO_RULE_DRAWER_TITLE,b0 as EDIT_TITLES,ev as EMPTY_VALUE,bE as FILTER_TYPE_ALL,aT as FORM_ALERTS,aq as INSTRUMENTATION_RULE_OPTIONS,eg as LABEL_CUSTOM_DURATION,ab as LABEL_CUSTOM_PERCENTAGE,a8 as LABEL_DISABLED,bD as LABEL_DISABLED_RULE,eG as LABEL_DROP_ALL,a2 as LABEL_DROP_AT_MOST,eC as LABEL_DROP_PERCENTAGE,a7 as LABEL_ENABLED,eo as LABEL_HTTP_ROUTE,eq as LABEL_HTTP_ROUTE_PREFIX,es as LABEL_KAFKA_TOPIC,eH as LABEL_KEEP_ALL,eD as LABEL_KEEP_AT_LEAST,eE as LABEL_KEEP_AT_MOST,eB as LABEL_KEEP_PERCENTAGE,ed as LABEL_KEEP_TRACES_DURATION,eb as LABEL_KEEP_TRACES_ERRORS,er as LABEL_METHOD,eK as LABEL_NOTE,eZ as LABEL_NO_PREVIEW,eu as LABEL_OPERATION_TYPE,fS as LABEL_RULE_DISABLED,fT as LABEL_RULE_ENABLED,eI as LABEL_RULE_NAME,eJ as LABEL_RULE_TYPE,eF as LABEL_SAMPLE,ek as LABEL_SERVER_ADDRESS,en as LABEL_TEMPLATED_PATH,ep as LABEL_TEMPLATED_PATH_PREFIX,fU as LANGUAGE_OPTIONS,dm as MONITORS_OPTIONS,e$ as NOTE_ENTIRE_CLUSTER,f1 as NOTE_SOURCE_SCOPE_LOGIC,fV as OPENTELEMETRY_EBPF_DISTRO_OPTION,ex as OPERATION_ALL,ew as OPERATION_HTTP_CLIENT,et as OPERATION_HTTP_SERVER,ey as OPERATION_KAFKA_CONSUMER,ez as OPERATION_KAFKA_PRODUCER,fW as OTEL_DISTRO_NAME_OPTIONS,eM as PLACEHOLDER_NOTE,em as PLACEHOLDER_ROUTE,eL as PLACEHOLDER_RULE_NAME,f3 as PLACEHOLDER_SEARCH_SOURCE,ej as PLACEHOLDER_SERVER_ADDRESS,a6 as SAMPLING_AUTO_RULE_TITLE,b$ as SAMPLING_BTN_CREATE_RULE,bZ as SAMPLING_BTN_DOCS,b_ as SAMPLING_BTN_REFRESH,a5 as SAMPLING_COST_REDUCTION_AUTO_RULE_TITLE,c7 as SAMPLING_DELETE_MODAL_APPROVE,c6 as SAMPLING_DELETE_MODAL_CANCEL,c8 as SAMPLING_DELETE_MODAL_DESCRIPTION,c9 as SAMPLING_DELETE_MODAL_TITLE,bb as SAMPLING_DRAWER_WIDTH,bY as SAMPLING_DUPLICATE_RULE_WARNING,a1 as SAMPLING_HIGHLY_RELEVANT_AUTO_RULE_TITLE,c0 as SAMPLING_PAGE_DESCRIPTION,c1 as SAMPLING_PAGE_TITLE,a4 as SECTION_DROP_PERCENTAGE,ec as SECTION_DURATION,ea as SECTION_ERRORS,fX as SECTION_KEEP_PERCENTAGE,eh as SECTION_OPERATION,eY as SECTION_SAMPLING_PREVIEW,e_ as SECTION_SOURCE_SCOPE,dn as STORAGE_KEYS,bF as TITLE_NO_RESULTS,bH as TITLE_NO_RULES,fY as TOKEN_ABOUT_TO_EXPIRE,eN as TOOLTIP_NOTE,b1 as UNNAMED_RULE,bI as getNoResultsSubTitle}from"./chunks/ui-components-CvK0mvVN.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
@@ -3,4 +3,4 @@ import { AddDestinationFormProps } from '@/containers/_v2/_forms/add-destination
3
3
  export interface FormColumnProps {
4
4
  testConnection: AddDestinationFormProps['testConnection'];
5
5
  }
6
- export declare const formColumn: ({ testConnection }: FormColumnProps) => WideDrawerProps["leftColumn"];
6
+ export declare const useFormColumn: ({ testConnection }: FormColumnProps) => WideDrawerProps["rightColumn"];
@@ -8,4 +8,4 @@ export interface ListsColumnProps {
8
8
  searchText: string;
9
9
  filters: Filters;
10
10
  }
11
- export declare const listsColumn: ({ isFetching, destinationsByCategory, searchText, filters }: ListsColumnProps) => WideDrawerProps["leftColumn"];
11
+ export declare const useListsColumn: ({ isFetching, destinationsByCategory, searchText, filters }: ListsColumnProps) => WideDrawerProps["leftColumn"];
@@ -12,4 +12,4 @@ export interface NamespacesColumnProps {
12
12
  searchBy: string;
13
13
  filters: Filters;
14
14
  }
15
- export declare const namespacesColumn: ({ isFetching, formData, handleSourceChange, handleSelectAll, selectedArea, setSelectedArea, searchText, searchBy, filters, }: NamespacesColumnProps) => WideDrawerProps["leftColumn"];
15
+ export declare const useNamespacesColumn: ({ isFetching, formData, handleSourceChange, handleSelectAll, selectedArea, setSelectedArea, searchText, searchBy, filters, }: NamespacesColumnProps) => WideDrawerProps["leftColumn"];
@@ -13,4 +13,4 @@ export interface WorkloadsColumnProps {
13
13
  searchBy: string;
14
14
  filters: Filters;
15
15
  }
16
- export declare const workloadsColumn: ({ formData, handleSourceChange, handleSelectAll, selectedArea, searchText, searchBy, filters }: WorkloadsColumnProps) => WideDrawerProps["rightColumn"];
16
+ export declare const useWorkloadsColumn: ({ formData, handleSourceChange, handleSelectAll, selectedArea, searchText, searchBy, filters }: WorkloadsColumnProps) => WideDrawerProps["rightColumn"];
@@ -1,12 +1,24 @@
1
1
  import { type FC } from 'react';
2
2
  import type { Flamebearer } from './flamebearer';
3
+ export interface ProfilingSlots {
4
+ activeKeys: string[];
5
+ keysWithData: string[];
6
+ totalBytesUsed: number;
7
+ slotMaxBytes: number;
8
+ maxSlots: number;
9
+ maxTotalBytesBudget: number;
10
+ slotTtlSeconds: number;
11
+ }
3
12
  export interface FlameGraphCanvasProps {
4
13
  flamebearer: Flamebearer;
5
14
  maxRowPx?: number;
6
15
  /** Non-empty: only stack frames whose name contains the query are drawn (case-insensitive). */
7
16
  searchQuery?: string;
17
+ /** Symbol-name predicate driven by the table's column filters. Frames whose name returns false are dropped from the layout entirely (not just dimmed), so the remaining stacks rise to fill the space. */
18
+ shouldKeepName?: (name: string) => boolean;
8
19
  minHostHeight?: number;
9
20
  /** Notifies the parent whenever the user toggles fullscreen, so the parent can react (e.g. widen the surrounding drawer). */
10
21
  onFullscreenChange?: (isFullscreen: boolean) => void;
22
+ profilingSlots: ProfilingSlots | null;
11
23
  }
12
24
  export declare const FlameGraphCanvas: FC<FlameGraphCanvasProps>;
@@ -67,10 +67,29 @@ export type FlameLayoutBar = {
67
67
  name: string;
68
68
  matchesSearch: boolean;
69
69
  };
70
+ export interface ComputeFlameLayoutOptions {
71
+ /** When set, layout only that frame’s subtree and scale the X axis to its cumulative size (click-to-zoom, same idea as pprof’s pivot). */
72
+ zoomRoot?: FlameRect | null;
73
+ /** Drop frames whose `name` returns false. Used by the table-driven filter (e.g. "filter out void" in Java). */
74
+ shouldKeepName?: (name: string) => boolean;
75
+ /** Merge straight-line recursion (parent → single same-name child of equal width) into a single bar — pyroscope's "collapse recursive frames". */
76
+ collapseRecursive?: boolean;
77
+ }
78
+ /**
79
+ * Compute the on-canvas layout. See `ComputeFlameLayoutOptions` for the toggles.
80
+ *
81
+ * Note: when `shouldKeepName` removes a frame mid-stack, the children below it visually "rise" by one row because we shrink the
82
+ * level count, but their absolute X offsets are kept (they still align with the parent above the dropped frame). This matches
83
+ * how pprof/pyroscope behave when you suppress frames — siblings stay anchored, the stack just gets shorter.
84
+ */
85
+ export declare function computeFlameLayout(fb: Flamebearer, cw: number, ch: number, maxRowPx: number | undefined, searchQuery: string, options?: ComputeFlameLayoutOptions): FlameLayoutBar[] | null;
70
86
  /**
71
- * @param zoomRoot When set, layout only that frame’s subtree and scale the X axis to its cumulative size (click-to-zoom, same idea as pprof’s pivot).
87
+ * Pyroscope-style "collapse recursive frames": when a frame has exactly one child that shares its name and full width
88
+ * (i.e. straight-line A → A → A recursion), drop the deeper duplicates and lift the descendants up. Diamond shapes,
89
+ * mutual recursion patterns where the same frame reappears via a different path, or a parent with multiple children
90
+ * are left untouched on purpose — collapsing those would change the meaning of the graph.
72
91
  */
73
- export declare function computeFlameLayout(fb: Flamebearer, cw: number, ch: number, maxRowPx: number | undefined, searchQuery: string, zoomRoot?: FlameRect | null): FlameLayoutBar[] | null;
92
+ export declare function collapseRecursiveRects(fb: Pick<Flamebearer, 'names'>, rects: FlameRect[]): FlameRect[];
74
93
  /** Deepest stack frames first so hit tests prefer narrow children over parents. */
75
94
  export declare function sortFlameBarsDeepestFirst<T extends {
76
95
  level: number;
@@ -1,14 +1,6 @@
1
1
  import { type FC } from 'react';
2
+ import { type ProfilingSlots } from './flame-graph-canvas';
2
3
  import { type WorkloadId, type Source } from '@/types';
3
- interface ProfilingSlots {
4
- activeKeys: string[];
5
- keysWithData: string[];
6
- totalBytesUsed: number;
7
- slotMaxBytes: number;
8
- maxSlots: number;
9
- maxTotalBytesBudget: number;
10
- slotTtlSeconds: number;
11
- }
12
4
  interface SourceProfilingResult {
13
5
  profileJson: string;
14
6
  }
@@ -1,8 +1,21 @@
1
1
  import { type FC } from 'react';
2
2
  import { ProgrammingLanguages } from '@/types';
3
3
  import { type SymbolTableRow } from './flamebearer';
4
+ import { type TableRowCell } from '@/components/_v2';
5
+ /** Shape of `Table`'s controlled filters map (columnKey → selected option ids). Re-exported so callers can hold the lifted state. */
6
+ export type SymbolTableFilters = {
7
+ [columnKey: string]: TableRowCell['rawValue'][];
8
+ };
4
9
  export interface SymbolTableProps {
5
10
  rows: SymbolTableRow[];
6
11
  languages?: ProgrammingLanguages[] | null;
12
+ /** Controlled column filters. Provide together with `onFiltersChange` to share the table's filters with the flame graph (PLAT-1001 #1). */
13
+ filters?: SymbolTableFilters;
14
+ onFiltersChange?: (filters: SymbolTableFilters) => void;
7
15
  }
16
+ /**
17
+ * Build a flame-graph-friendly name predicate from the table's lifted column filters. Returns `undefined` when no
18
+ * filtering is needed so callers can pass it straight through to `FlameGraphCanvas` without an unnecessary identity churn.
19
+ */
20
+ export declare function buildJavaSymbolNamePredicate(filters: SymbolTableFilters | undefined, languages: ProgrammingLanguages[] | null | undefined): ((name: string) => boolean) | undefined;
8
21
  export declare const SymbolTable: FC<SymbolTableProps>;