@odigos/ui-kit 0.0.106 → 0.0.107

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.107](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.106...ui-kit-v0.0.107) (2025-09-08)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * utilize deepClone for state management in InputTable component ([3b8e971](https://github.com/odigos-io/ui-kit/commit/3b8e97123237e7792013faa06f5e261d60f15198))
9
+
3
10
  ## [0.0.106](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.105...ui-kit-v0.0.106) (2025-09-08)
4
11
 
5
12
 
@@ -1258,7 +1258,7 @@ import{SamplerIcon as e,PiiMaskingIcon as t,ImageErrorIcon as n,K8sLogo as o,Add
1258
1258
  border: none;
1259
1259
  cursor: ${({disabled:e})=>e?"not-allowed":"pointer"};
1260
1260
  opacity: ${({disabled:e})=>e?.5:1};
1261
- `,Id=({columns:e,initialValues:t=[],value:n,onChange:o,errorMessage:i,limitFieldsPerRow:a})=>{const[r,s]=ut({}),[l,d]=ut(n||t),c=pt(()=>new Map(e.map(e=>[e.keyName,e])),[e]);mt(()=>{if(!l.length){const t={};e.forEach(({keyName:e})=>t[e]=""),s(t),d([{...t}])}},[]);const p=l.filter(e=>{for(const[t,n]of Object.entries(e)){const o=c.get(t);if((!o?.renderCondition||o.renderCondition(e))&&o?.required&&po(n))return!1}return!0}),u=ht(JSON.stringify(p)),m=p.length!==l.length,h=`${Math.floor(640/((a||e.length)+.4))}px`;mt(()=>{const e=JSON.stringify(p);u.current!==e&&(u.current=e,o&&o(p))},[p,o]);const g=(e,t,n)=>{d(o=>{const i=[...o];return i[n][e]=t,i})},x=pt(()=>{if(a){const t=[];for(let n=0;;n+=a){const o=e.slice(n,n+a);if(!o.length)break;t.push(o)}return t}return[e]},[a,e]);return dt.createElement(Dd,null,dt.createElement("table",{style:{borderCollapse:"collapse"}},!a&&dt.createElement("thead",null,dt.createElement("tr",null,e.map(({title:e,tooltip:t,required:n})=>dt.createElement("th",{key:`input-table-head-${e}`,style:{maxWidth:h}},dt.createElement(Bl,{title:e,required:n,tooltip:t}))),dt.createElement("th",null))),dt.createElement("tbody",null,l.map((t,n)=>dt.createElement(ct,{key:`input-table-row-${n}`},a&&n>0?dt.createElement("tr",null,dt.createElement("td",{colSpan:x.length},dt.createElement(er,null))):null,x.map((o,r)=>dt.createElement("tr",{key:`input-table-matrix-${n}-${r}`},o.map((e,o)=>dt.createElement(Ad,{key:`input-table-row-${n}-col-${o}`,col:e,colIdx:o,row:t,rowIdx:n,rowsLength:l.length,maxWidth:h,limitFieldsPerRow:a,errorMessage:i,handleChange:g})),0===r&&dt.createElement("td",null,dt.createElement(Nd,{$marginTop:a?"24px":"0",onClick:()=>{return t=n,void(l.length>1?d(e=>e.filter((e,n)=>n!==t)):e.forEach(({keyName:e,type:n})=>g(e,n===on.Number?"0":"",t)));var t}},dt.createElement(st,null))))))))),!!i&&dt.createElement(gi,null,i),dt.createElement(rr,{onClick:()=>{d(e=>{const t=[...e];return t.push({...r}),t})},disabled:m}))},Od=vt.div`
1261
+ `,Id=({columns:e,initialValues:t=[],value:n,onChange:o,errorMessage:i,limitFieldsPerRow:a})=>{const[r,s]=ut({}),[l,d]=ut(n||t),c=pt(()=>new Map(e.map(e=>[e.keyName,e])),[e]);mt(()=>{if(!l.length){const t={};e.forEach(({keyName:e})=>t[e]=""),s(t),d([t])}},[]);const p=l.filter(e=>{for(const[t,n]of Object.entries(e)){const o=c.get(t);if((!o?.renderCondition||o.renderCondition(e))&&o?.required&&po(n))return!1}return!0}),u=ht(JSON.stringify(p)),m=p.length!==l.length,h=`${Math.floor(640/((a||e.length)+.4))}px`;mt(()=>{const e=JSON.stringify(p);u.current!==e&&(u.current=e,o&&o(p))},[p,o]);const g=(e,t,n)=>{d(o=>{const i=_n(o);return i[n][e]=t,i})},x=pt(()=>{if(a){const t=[];for(let n=0;;n+=a){const o=e.slice(n,n+a);if(!o.length)break;t.push(o)}return t}return[e]},[a,e]);return dt.createElement(Dd,null,dt.createElement("table",{style:{borderCollapse:"collapse"}},!a&&dt.createElement("thead",null,dt.createElement("tr",null,e.map(({title:e,tooltip:t,required:n})=>dt.createElement("th",{key:`input-table-head-${e}`,style:{maxWidth:h}},dt.createElement(Bl,{title:e,required:n,tooltip:t}))),dt.createElement("th",null))),dt.createElement("tbody",null,l.map((t,n)=>dt.createElement(ct,{key:`input-table-row-${n}`},a&&n>0?dt.createElement("tr",null,dt.createElement("td",{colSpan:x.length},dt.createElement(er,null))):null,x.map((o,r)=>dt.createElement("tr",{key:`input-table-matrix-${n}-${r}`},o.map((e,o)=>dt.createElement(Ad,{key:`input-table-row-${n}-col-${o}`,col:e,colIdx:o,row:t,rowIdx:n,rowsLength:l.length,maxWidth:h,limitFieldsPerRow:a,errorMessage:i,handleChange:g})),0===r&&dt.createElement("td",null,dt.createElement(Nd,{$marginTop:a?"24px":"0",onClick:()=>{return t=n,void(l.length>1?d(e=>e.filter((e,n)=>n!==t)):e.forEach(({keyName:e,type:n})=>g(e,n===on.Number?"0":"",t)));var t}},dt.createElement(st,null))))))))),!!i&&dt.createElement(gi,null,i),dt.createElement(rr,{onClick:()=>{d(e=>{const t=_n(e);return t.push(_n(r)),t})},disabled:m}))},Od=vt.div`
1262
1262
  display: flex;
1263
1263
  flex-direction: column;
1264
1264
  width: 100%;
package/lib/components.js CHANGED
@@ -1 +1 @@
1
- export{V as AutocompleteInput,ag as Badge,aL as Button,t as CancelWarning,ad as CenterThis,C as Checkbox,cp as Code,G as ConditionDetails,H as DataCard,a as DataCardFieldTypes,b5 as DataCardFields,cq as DataFinger,b1 as DataTab,s as DeleteWarning,bp as DescribeRow,W as Divider,m as DocsButton,r as Drawer,cs as DrawerFooter,cr as DrawerHeader,aI as Dropdown,ct as ErrorBoundary,aR as ExtendArrow,aX as FadeLoader,b as FieldError,F as FieldLabel,L as FlexColumn,Z as FlexRow,cu as Header,aQ as IconButton,by as IconGroup,a9 as IconTitleBadge,a4 as IconWrapped,bm as IconsNav,cv as ImageControlled,I as Input,h as InputList,e as InputTable,ac as InteractiveTable,g as KeyValueInputsList,O as Modal,Q as ModalBody,M as MonitorsCheckboxes,a6 as MonitorsIcons,P as NavigationButtons,ae as NoDataFound,R as NotificationNote,cC as Overlay,aC as Popup,bD as PopupForm,bM as ScrollX,l as SectionTitle,S as Segment,aD as SelectionButton,cw as SkeletonLoader,Y as Status,b4 as Stepper,cx as TabList,a7 as TableContainer,a8 as TableTitleWrap,ab as TableWrap,bc as Tag,k as Text,n as TextArea,f as Toggle,bK as ToggleCodeComponent,$ as Tooltip,af as TraceLoader,aE as VerticalScroll,cB as WarningModal,cy as getLinksFromText,cz as getStrongsFromText,cA as renderText}from"./chunks/ui-components-58c09391.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{V as AutocompleteInput,ag as Badge,aL as Button,t as CancelWarning,ad as CenterThis,C as Checkbox,cp as Code,G as ConditionDetails,H as DataCard,a as DataCardFieldTypes,b5 as DataCardFields,cq as DataFinger,b1 as DataTab,s as DeleteWarning,bp as DescribeRow,W as Divider,m as DocsButton,r as Drawer,cs as DrawerFooter,cr as DrawerHeader,aI as Dropdown,ct as ErrorBoundary,aR as ExtendArrow,aX as FadeLoader,b as FieldError,F as FieldLabel,L as FlexColumn,Z as FlexRow,cu as Header,aQ as IconButton,by as IconGroup,a9 as IconTitleBadge,a4 as IconWrapped,bm as IconsNav,cv as ImageControlled,I as Input,h as InputList,e as InputTable,ac as InteractiveTable,g as KeyValueInputsList,O as Modal,Q as ModalBody,M as MonitorsCheckboxes,a6 as MonitorsIcons,P as NavigationButtons,ae as NoDataFound,R as NotificationNote,cC as Overlay,aC as Popup,bD as PopupForm,bM as ScrollX,l as SectionTitle,S as Segment,aD as SelectionButton,cw as SkeletonLoader,Y as Status,b4 as Stepper,cx as TabList,a7 as TableContainer,a8 as TableTitleWrap,ab as TableWrap,bc as Tag,k as Text,n as TextArea,f as Toggle,bK as ToggleCodeComponent,$ as Tooltip,af as TraceLoader,aE as VerticalScroll,cB as WarningModal,cy as getLinksFromText,cz as getStrongsFromText,cA as renderText}from"./chunks/ui-components-6977d7a8.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/constants.js CHANGED
@@ -1 +1 @@
1
- export{y as ACTION_OPTIONS,B as BUTTON_TEXTS,aP as DEFAULT_DATA_STREAM_NAME,b2 as DESTINATION_CATEGORIES,aJ as DISPLAY_LANGUAGES,D as DISPLAY_TITLES,U as FORM_ALERTS,bf as INSTRUMENTATION_RULE_OPTIONS,cc as LANGUAGE_OPTIONS,aK as MONITORS_OPTIONS,aM as STORAGE_KEYS,cd as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-58c09391.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{y as ACTION_OPTIONS,B as BUTTON_TEXTS,aP as DEFAULT_DATA_STREAM_NAME,b2 as DESTINATION_CATEGORIES,aJ as DISPLAY_LANGUAGES,D as DISPLAY_TITLES,U as FORM_ALERTS,bf as INSTRUMENTATION_RULE_OPTIONS,cc as LANGUAGE_OPTIONS,aK as MONITORS_OPTIONS,aM as STORAGE_KEYS,cd as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-6977d7a8.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/containers.js CHANGED
@@ -1,4 +1,4 @@
1
- import e,{useState as t,useEffect as o,forwardRef as i,useRef as a,useImperativeHandle as n,useMemo as l,Fragment as r,useCallback as s,Children as c}from"react";import d,{css as u}from"styled-components";import{D as p,a as m,A as h,K as g,F as y,C as v,b,c as f,I as x,d as C,i as $,e as S,f as k,g as w,h as D,j as N,k as T,T as I,S as E,l as O,m as M,M as A,n as F,u as R,o as L,p as q,q as P,B as K,r as H,s as z,t as W,E as B,v as j,w as V,x as U,y as _,z as G,G as J,H as Y,J as X,L as Q,N as Z,O as ee,P as te,Q as oe,R as ie,U as ae,V as ne,W as le,X as re,Y as se,Z as ce,_ as de,$ as ue,a0 as pe,a1 as me,a2 as he,a3 as ge,a4 as ye,a5 as ve,a6 as be,a7 as fe,a8 as xe,a9 as Ce,aa as $e,ab as Se,ac as ke,ad as we,ae as De,af as Ne,ag as Te,ah as Ie,ai as Ee,aj as Oe,ak as Me,al as Ae,am as Fe,an as Re,ao as Le,ap as qe,aq as Pe,ar as Ke,as as He,at as ze,au as We,av as Be,aw as je,ax as Ve,ay as Ue,az as _e,aA as Ge,aB as Je,aC as Ye,aD as Xe,aE as Qe,aF as Ze,aG as et,aH as tt,aI as ot,aJ as it,aK as at,aL as nt,aM as lt,aN as rt,aO as st,aP as ct,aQ as dt,aR as ut,aS as pt,aT as mt,aU as ht,aV as gt,aW as yt,aX as vt,aY as bt,aZ as ft,a_ as xt,a$ as Ct,b0 as $t,b1 as St,b2 as kt,b3 as wt,b4 as Dt,b5 as Nt,b6 as Tt,b7 as It,b8 as Et,b9 as Ot,ba as Mt,bb as At,bc as Ft,bd as Rt,be as Lt,bf as qt,bg as Pt,bh as Kt,bi as Ht,bj as zt,bk as Wt,bl as Bt,bm as jt,bn as Vt,bo as Ut,bp as _t,bq as Gt,br as Jt,bs as Yt,bt as Xt,bu as Qt,bv as Zt,bw as eo,bx as to,by as oo,bz as io,bA as ao,bB as no,bC as lo,bD as ro,bE as so,bF as co,bG as uo,bH as po,bI as mo,bJ as ho,bK as go,bL as yo,bM as vo}from"./chunks/ui-components-58c09391.js";import{CheckCircledIcon as bo,CrossCircledIcon as fo,EditIcon as xo,TrashIcon as Co,OdigosLogoText as $o,SearchIcon as So,FilterIcon as ko,DataStreamsIcon as wo,CheckIcon as Do,OdigosLogo as No,ArrowIcon as To,PlusIcon as Io,RefreshLeftArrowIcon as Eo,NotificationIcon as Oo,UserIcon as Mo,ImageErrorIcon as Ao,OverviewIcon as Fo,RulesIcon as Ro,SourcesIcon as Lo,ActionsIcon as qo,DestinationsIcon as Po,SlackLogo as Ko,CopyIcon as Ho,KeyIcon as zo,TerminalIcon as Wo,GearIcon as Bo,WarningTriangleIcon as jo,TraceViewIcon as Vo,ErrorTriangleIcon as Uo}from"./icons.js";import{useNodesState as _o,useEdgesState as Go,applyNodeChanges as Jo,MarkerType as Yo}from"@xyflow/react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const Xo=e=>{const{type:t,name:o,notes:i,signals:a,disabled:n,fields:{collectContainerAttributes:l,collectReplicaSetAttributes:r,collectWorkloadId:s,collectClusterId:c,labelsAttributes:d,annotationsAttributes:u,clusterAttributes:y,overwriteExistingValues:v,attributeNamesToDelete:b,renames:f,piiCategories:x,fallbackSamplingRatio:C,samplingPercentage:$,endpointsFilters:S,servicesNameFilters:k,attributeFilters:w}}=e,D=[{title:p.TYPE,value:t},{type:m.ActiveStatus,title:p.STATUS,value:String(!n)},{type:m.Monitors,title:p.SIGNALS_FOR_PROCESSING,value:a?.map(e=>e.toLowerCase()).join(", ")||""},{title:p.NAME,value:o||""},{title:p.NOTES,value:i||""},{type:m.Divider}];if(t===h.K8sAttributes&&(D.push({title:"Collect Container Attributes",value:String(l)}),D.push({title:"Collect ReplicaSet Attributes",value:String(r)}),D.push({title:"Collect Workload ID",value:String(s)}),D.push({title:"Collect Cluster ID",value:String(c)}),d?.length&&D.push({type:m.Divider}),d?.forEach(({labelKey:e,attributeKey:t,from:o},i)=>{let a="";a+=`Label Key: ${e}\n`,a+=`Attribute Key: ${t}\n`,a+=`From: ${o||g.Pod}\n`,D.push({title:"Label"+(d.length>1?` #${i+1}`:""),value:a})}),u?.length&&D.push({type:m.Divider}),u?.forEach(({annotationKey:e,attributeKey:t,from:o},i)=>{let a="";a+=`Annotation Key: ${e}\n`,a+=`Attribute Key: ${t}\n`,a+=`From: ${o||g.Pod}\n`,D.push({title:"Annotation"+(u.length>1?` #${i+1}`:""),value:a})})),t===h.AddClusterInfo){D.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";y?.forEach(({attributeName:t,attributeStringValue:o},i)=>{e+=`${t}: ${o}`,i<y.length-1&&(e+=", ")}),D.push({title:"Attributes",value:e})}if(t===h.DeleteAttributes){let e="";b?.forEach((t,o)=>{e+=t,o<b.length-1&&(e+=", ")}),D.push({title:"Attributes",value:e})}if(t===h.RenameAttributes){let e="";const t=Object.entries(f||{});t.forEach(([o,i],a)=>{e+=`${o}: ${i}`,a<t.length-1&&(e+=", ")}),D.push({title:"Attributes",value:e})}if(t===h.PiiMasking){let e="";x?.forEach((t,o)=>{e+=t,o<x.length-1&&(e+=", ")}),D.push({title:"Categories",value:e})}return t===h.ErrorSampler&&D.push({title:"Sampling Ratio",value:String(C)}),t===h.ProbabilisticSampler&&D.push({title:"Sampling Percentage",value:String($)}),t===h.LatencySampler&&S?.forEach(({serviceName:e,httpRoute:t,minimumLatencyThreshold:o,fallbackSamplingRatio:i},a)=>{let n="";n+=`Service Name: ${e}\n`,n+=`HTTP Route: ${t}\n`,n+=`Min. Latency: ${o}\n`,n+=`Fallback Sampling Ratio: ${i}`,D.push({title:"Endpoint"+(S.length>1?` #${a+1}`:""),value:n})}),t===h.ServiceNameSampler&&k?.forEach(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:o},i)=>{let a="";a+=`Service Name: ${e}\n`,a+=`Sampling Ratio: ${t}\n`,a+=`Fallback Sampling Ratio: ${o}`,D.push({title:"Filter"+(k.length>1?` #${i+1}`:""),value:a})}),t===h.SpanAttributeSampler&&w?.forEach(({serviceName:e,attributeKey:t,fallbackSamplingRatio:o,condition:i},a)=>{let n="";n+=`Service Name: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`Fallback Sampling Ratio: ${o}\n`;const l=Object.keys(i)[0];n+=`Condition: ${l}\n`,n+=`Operation: ${i[l]?.operation}\n`,n+=`Expected Value: ${i[l]?.expectedValue}`,"jsonCondition"===l&&(n+=`\nJSON Path: ${i[l].jsonPath}`),D.push({title:"Filter"+(w.length>1?` #${a+1}`:""),value:n})}),D},Qo=f.PiiCategories,Zo=d.div`
1
+ import e,{useState as t,useEffect as o,forwardRef as i,useRef as a,useImperativeHandle as n,useMemo as l,Fragment as r,useCallback as s,Children as c}from"react";import d,{css as u}from"styled-components";import{D as p,a as m,A as h,K as g,F as y,C as v,b,c as f,I as x,d as C,i as $,e as S,f as k,g as w,h as D,j as N,k as T,T as I,S as E,l as O,m as M,M as A,n as F,u as R,o as L,p as q,q as P,B as K,r as H,s as z,t as W,E as B,v as j,w as V,x as U,y as _,z as G,G as J,H as Y,J as X,L as Q,N as Z,O as ee,P as te,Q as oe,R as ie,U as ae,V as ne,W as le,X as re,Y as se,Z as ce,_ as de,$ as ue,a0 as pe,a1 as me,a2 as he,a3 as ge,a4 as ye,a5 as ve,a6 as be,a7 as fe,a8 as xe,a9 as Ce,aa as $e,ab as Se,ac as ke,ad as we,ae as De,af as Ne,ag as Te,ah as Ie,ai as Ee,aj as Oe,ak as Me,al as Ae,am as Fe,an as Re,ao as Le,ap as qe,aq as Pe,ar as Ke,as as He,at as ze,au as We,av as Be,aw as je,ax as Ve,ay as Ue,az as _e,aA as Ge,aB as Je,aC as Ye,aD as Xe,aE as Qe,aF as Ze,aG as et,aH as tt,aI as ot,aJ as it,aK as at,aL as nt,aM as lt,aN as rt,aO as st,aP as ct,aQ as dt,aR as ut,aS as pt,aT as mt,aU as ht,aV as gt,aW as yt,aX as vt,aY as bt,aZ as ft,a_ as xt,a$ as Ct,b0 as $t,b1 as St,b2 as kt,b3 as wt,b4 as Dt,b5 as Nt,b6 as Tt,b7 as It,b8 as Et,b9 as Ot,ba as Mt,bb as At,bc as Ft,bd as Rt,be as Lt,bf as qt,bg as Pt,bh as Kt,bi as Ht,bj as zt,bk as Wt,bl as Bt,bm as jt,bn as Vt,bo as Ut,bp as _t,bq as Gt,br as Jt,bs as Yt,bt as Xt,bu as Qt,bv as Zt,bw as eo,bx as to,by as oo,bz as io,bA as ao,bB as no,bC as lo,bD as ro,bE as so,bF as co,bG as uo,bH as po,bI as mo,bJ as ho,bK as go,bL as yo,bM as vo}from"./chunks/ui-components-6977d7a8.js";import{CheckCircledIcon as bo,CrossCircledIcon as fo,EditIcon as xo,TrashIcon as Co,OdigosLogoText as $o,SearchIcon as So,FilterIcon as ko,DataStreamsIcon as wo,CheckIcon as Do,OdigosLogo as No,ArrowIcon as To,PlusIcon as Io,RefreshLeftArrowIcon as Eo,NotificationIcon as Oo,UserIcon as Mo,ImageErrorIcon as Ao,OverviewIcon as Fo,RulesIcon as Ro,SourcesIcon as Lo,ActionsIcon as qo,DestinationsIcon as Po,SlackLogo as Ko,CopyIcon as Ho,KeyIcon as zo,TerminalIcon as Wo,GearIcon as Bo,WarningTriangleIcon as jo,TraceViewIcon as Vo,ErrorTriangleIcon as Uo}from"./icons.js";import{useNodesState as _o,useEdgesState as Go,applyNodeChanges as Jo,MarkerType as Yo}from"@xyflow/react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const Xo=e=>{const{type:t,name:o,notes:i,signals:a,disabled:n,fields:{collectContainerAttributes:l,collectReplicaSetAttributes:r,collectWorkloadId:s,collectClusterId:c,labelsAttributes:d,annotationsAttributes:u,clusterAttributes:y,overwriteExistingValues:v,attributeNamesToDelete:b,renames:f,piiCategories:x,fallbackSamplingRatio:C,samplingPercentage:$,endpointsFilters:S,servicesNameFilters:k,attributeFilters:w}}=e,D=[{title:p.TYPE,value:t},{type:m.ActiveStatus,title:p.STATUS,value:String(!n)},{type:m.Monitors,title:p.SIGNALS_FOR_PROCESSING,value:a?.map(e=>e.toLowerCase()).join(", ")||""},{title:p.NAME,value:o||""},{title:p.NOTES,value:i||""},{type:m.Divider}];if(t===h.K8sAttributes&&(D.push({title:"Collect Container Attributes",value:String(l)}),D.push({title:"Collect ReplicaSet Attributes",value:String(r)}),D.push({title:"Collect Workload ID",value:String(s)}),D.push({title:"Collect Cluster ID",value:String(c)}),d?.length&&D.push({type:m.Divider}),d?.forEach(({labelKey:e,attributeKey:t,from:o},i)=>{let a="";a+=`Label Key: ${e}\n`,a+=`Attribute Key: ${t}\n`,a+=`From: ${o||g.Pod}\n`,D.push({title:"Label"+(d.length>1?` #${i+1}`:""),value:a})}),u?.length&&D.push({type:m.Divider}),u?.forEach(({annotationKey:e,attributeKey:t,from:o},i)=>{let a="";a+=`Annotation Key: ${e}\n`,a+=`Attribute Key: ${t}\n`,a+=`From: ${o||g.Pod}\n`,D.push({title:"Annotation"+(u.length>1?` #${i+1}`:""),value:a})})),t===h.AddClusterInfo){D.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";y?.forEach(({attributeName:t,attributeStringValue:o},i)=>{e+=`${t}: ${o}`,i<y.length-1&&(e+=", ")}),D.push({title:"Attributes",value:e})}if(t===h.DeleteAttributes){let e="";b?.forEach((t,o)=>{e+=t,o<b.length-1&&(e+=", ")}),D.push({title:"Attributes",value:e})}if(t===h.RenameAttributes){let e="";const t=Object.entries(f||{});t.forEach(([o,i],a)=>{e+=`${o}: ${i}`,a<t.length-1&&(e+=", ")}),D.push({title:"Attributes",value:e})}if(t===h.PiiMasking){let e="";x?.forEach((t,o)=>{e+=t,o<x.length-1&&(e+=", ")}),D.push({title:"Categories",value:e})}return t===h.ErrorSampler&&D.push({title:"Sampling Ratio",value:String(C)}),t===h.ProbabilisticSampler&&D.push({title:"Sampling Percentage",value:String($)}),t===h.LatencySampler&&S?.forEach(({serviceName:e,httpRoute:t,minimumLatencyThreshold:o,fallbackSamplingRatio:i},a)=>{let n="";n+=`Service Name: ${e}\n`,n+=`HTTP Route: ${t}\n`,n+=`Min. Latency: ${o}\n`,n+=`Fallback Sampling Ratio: ${i}`,D.push({title:"Endpoint"+(S.length>1?` #${a+1}`:""),value:n})}),t===h.ServiceNameSampler&&k?.forEach(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:o},i)=>{let a="";a+=`Service Name: ${e}\n`,a+=`Sampling Ratio: ${t}\n`,a+=`Fallback Sampling Ratio: ${o}`,D.push({title:"Filter"+(k.length>1?` #${i+1}`:""),value:a})}),t===h.SpanAttributeSampler&&w?.forEach(({serviceName:e,attributeKey:t,fallbackSamplingRatio:o,condition:i},a)=>{let n="";n+=`Service Name: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`Fallback Sampling Ratio: ${o}\n`;const l=Object.keys(i)[0];n+=`Condition: ${l}\n`,n+=`Operation: ${i[l]?.operation}\n`,n+=`Expected Value: ${i[l]?.expectedValue}`,"jsonCondition"===l&&(n+=`\nJSON Path: ${i[l].jsonPath}`),D.push({title:"Filter"+(w.length>1?` #${a+1}`:""),value:n})}),D},Qo=f.PiiCategories,Zo=d.div`
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  gap: 32px;
package/lib/functions.js CHANGED
@@ -1 +1 @@
1
- export{b0 as capitalizeFirstLetter,bY as cleanObjectEmptyStringsValues,aV as compareCondition,b3 as deepClone,a3 as filterActions,ay as filterDestinations,ax as filterDestinationsByStream,aw as filterSources,av as filterSourcesByStream,bZ as flattenObjectKeys,aj as formatBytes,bJ as formatDuration,z as getActionIcon,X as getConditionsBooleans,ao as getContainersIcons,bz as getContainersInstrumentedCount,ar as getDestinationIcon,aa as getEntityIcon,aF as getEntityId,a5 as getEntityLabel,b_ as getIdFromSseTarget,an as getInstrumentationRuleIcon,b$ as getMainContainerLanguage,b6 as getMetricForEntity,c0 as getMonitorIcon,c1 as getPlatformIcon,c2 as getPlatformLabel,bd as getProgrammingLanguageIcon,bL as getRecursiveValues,c3 as getSseTargetFromId,a1 as getStatusIcon,ap as getValueForRange,bi as getWorkloadId,a_ as getYamlFieldsForDestination,bn as hasUnhealthyInstances,i as isEmpty,c4 as isLegalK8sLabel,bA as isOverTime,br as isStringABoolean,c5 as isTimeElapsed,c6 as isValidVersion,_ as mapConditions,aU as mapDestinationFieldsForDisplay,aq as mapExportedSignals,c7 as numbersOnly,bs as parseBooleanFromString,c8 as parseJsonStringToPrettyString,c9 as removeEmptyValuesFromObject,aW as safeJsonParse,ca as safeJsonStringify,ah as sleep,aH as splitCamelString,cb as stringifyNonStringValues}from"./chunks/ui-components-58c09391.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{b0 as capitalizeFirstLetter,bY as cleanObjectEmptyStringsValues,aV as compareCondition,b3 as deepClone,a3 as filterActions,ay as filterDestinations,ax as filterDestinationsByStream,aw as filterSources,av as filterSourcesByStream,bZ as flattenObjectKeys,aj as formatBytes,bJ as formatDuration,z as getActionIcon,X as getConditionsBooleans,ao as getContainersIcons,bz as getContainersInstrumentedCount,ar as getDestinationIcon,aa as getEntityIcon,aF as getEntityId,a5 as getEntityLabel,b_ as getIdFromSseTarget,an as getInstrumentationRuleIcon,b$ as getMainContainerLanguage,b6 as getMetricForEntity,c0 as getMonitorIcon,c1 as getPlatformIcon,c2 as getPlatformLabel,bd as getProgrammingLanguageIcon,bL as getRecursiveValues,c3 as getSseTargetFromId,a1 as getStatusIcon,ap as getValueForRange,bi as getWorkloadId,a_ as getYamlFieldsForDestination,bn as hasUnhealthyInstances,i as isEmpty,c4 as isLegalK8sLabel,bA as isOverTime,br as isStringABoolean,c5 as isTimeElapsed,c6 as isValidVersion,_ as mapConditions,aU as mapDestinationFieldsForDisplay,aq as mapExportedSignals,c7 as numbersOnly,bs as parseBooleanFromString,c8 as parseJsonStringToPrettyString,c9 as removeEmptyValuesFromObject,aW as safeJsonParse,ca as safeJsonStringify,ah as sleep,aH as splitCamelString,cb as stringifyNonStringValues}from"./chunks/ui-components-6977d7a8.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/hooks.js CHANGED
@@ -1 +1 @@
1
- export{x as useActionFormData,aA as useClickNode,bk as useClickNotification,au as useContainerSize,bB as useCopy,aO as useDataStreamFormData,aZ as useDestinationFormData,bC as useGenericForm,be as useInstrumentationRuleFormData,q as useKeyDown,aG as useOnClickOutside,aB as usePopup,aN as useSessionStorage,bt as useSourceFormData,bx as useSourceSelectionFormData,bj as useTimeAgo,bg as useTransition}from"./chunks/ui-components-58c09391.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{x as useActionFormData,aA as useClickNode,bk as useClickNotification,au as useContainerSize,bB as useCopy,aO as useDataStreamFormData,aZ as useDestinationFormData,bC as useGenericForm,be as useInstrumentationRuleFormData,q as useKeyDown,aG as useOnClickOutside,aB as usePopup,aN as useSessionStorage,bt as useSourceFormData,bx as useSourceSelectionFormData,bj as useTimeAgo,bg as useTransition}from"./chunks/ui-components-6977d7a8.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-1dea551d.js";import"styled-components";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";