@odigos/ui-kit 0.0.189 → 0.0.191

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 (84) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/lib/chunks/index-BgT3kLZa.js +3 -0
  3. package/lib/chunks/ui-components-CCA7B7ry.js +2364 -0
  4. package/lib/chunks/vendor-C-kwkNJP.js +1 -0
  5. package/lib/components/_v2/drop-data/index.d.ts +5 -1
  6. package/lib/components/_v2/drop-down/index.d.ts +9 -0
  7. package/lib/components/_v2/field-message/index.d.ts +6 -0
  8. package/lib/components/_v2/field-title/index.d.ts +9 -0
  9. package/lib/components/_v2/index.d.ts +6 -0
  10. package/lib/components/_v2/input/index.d.ts +3 -1
  11. package/lib/components/_v2/input-list/index.d.ts +15 -0
  12. package/lib/components/_v2/input-table/dynamic-field/index.d.ts +13 -0
  13. package/lib/components/_v2/input-table/index.d.ts +16 -0
  14. package/lib/components/_v2/input-table/types.d.ts +15 -0
  15. package/lib/components/_v2/island/index.d.ts +2 -1
  16. package/lib/components/_v2/segment/index.d.ts +2 -0
  17. package/lib/components/_v2/textarea/index.d.ts +11 -0
  18. package/lib/components/_v2/toggle/index.d.ts +2 -1
  19. package/lib/components/styled.d.ts +7 -0
  20. package/lib/components/v2.js +1 -1
  21. package/lib/components.js +1 -1
  22. package/lib/constants/strings/index.d.ts +1 -0
  23. package/lib/constants.js +1 -1
  24. package/lib/containers/_v2/_drawers/add-rule-drawer/helpers.d.ts +7 -0
  25. package/lib/containers/_v2/_drawers/add-rule-drawer/index.d.ts +10 -0
  26. package/lib/containers/_v2/{central-connections/source-drawer → _drawers/add-source-drawer}/index.d.ts +3 -4
  27. package/lib/containers/_v2/{central-connections/source-drawer → _drawers/add-source-drawer}/namespaces-column/index.d.ts +3 -2
  28. package/lib/containers/_v2/{central-connections/source-drawer → _drawers/add-source-drawer}/workloads-column/index.d.ts +3 -2
  29. package/lib/containers/_v2/_drawers/edit-config-drawer/index.d.ts +12 -0
  30. package/lib/containers/_v2/_drawers/index.d.ts +4 -0
  31. package/lib/containers/_v2/{system-drawer → _drawers/system-drawer}/index.d.ts +2 -3
  32. package/lib/containers/_v2/_drawers/system-drawer/tokens/index.d.ts +7 -0
  33. package/lib/containers/_v2/{system-drawer → _drawers/system-drawer}/tokens/token-expires-at.d.ts +2 -0
  34. package/lib/containers/_v2/_drawers/system-drawer/tokens/token-value.d.ts +14 -0
  35. package/lib/containers/_v2/_forms/add-rule-form/custom-fields/code-attributes/index.d.ts +5 -0
  36. package/lib/containers/_v2/_forms/add-rule-form/custom-fields/custom-instrumentation/index.d.ts +5 -0
  37. package/lib/containers/_v2/_forms/add-rule-form/custom-fields/headers-collection/index.d.ts +5 -0
  38. package/lib/containers/_v2/_forms/add-rule-form/custom-fields/index.d.ts +7 -0
  39. package/lib/containers/_v2/_forms/add-rule-form/custom-fields/payload-collection/index.d.ts +5 -0
  40. package/lib/containers/_v2/_forms/add-rule-form/index.d.ts +7 -0
  41. package/lib/containers/_v2/_forms/index.d.ts +1 -0
  42. package/lib/containers/_v2/central-connections/helpers.d.ts +44 -0
  43. package/lib/containers/_v2/central-connections/index.d.ts +5 -4
  44. package/lib/containers/_v2/index.d.ts +2 -1
  45. package/lib/containers/_v2/pipeline-collectors/index.d.ts +1 -0
  46. package/lib/containers/multi-source-control/index.d.ts +1 -1
  47. package/lib/containers/source-drawer/describe/index.d.ts +1 -1
  48. package/lib/containers/toggle-dark-mode/index.d.ts +1 -3
  49. package/lib/containers/v2.js +42 -73
  50. package/lib/containers.js +114 -114
  51. package/lib/contexts/index.d.ts +1 -0
  52. package/lib/contexts/storybook-context.d.ts +8 -0
  53. package/lib/contexts.js +1 -1
  54. package/lib/functions.js +1 -1
  55. package/lib/hooks/useActionFormData.d.ts +1 -1
  56. package/lib/hooks/useGenericForm.d.ts +5 -4
  57. package/lib/hooks.js +1 -1
  58. package/lib/icons.js +1 -1
  59. package/lib/snippets/_v2/index.d.ts +2 -0
  60. package/lib/snippets/_v2/rich-title/index.d.ts +1 -0
  61. package/lib/snippets/_v2/signals-checkbox-list/index.d.ts +11 -0
  62. package/lib/snippets/_v2/wide-drawer/column/index.d.ts +11 -0
  63. package/lib/snippets/_v2/wide-drawer/column-list-item/index.d.ts +13 -0
  64. package/lib/snippets/_v2/wide-drawer/index.d.ts +35 -0
  65. package/lib/snippets.js +1 -1
  66. package/lib/store/useSetupStore.d.ts +0 -4
  67. package/lib/store.js +1 -1
  68. package/lib/theme.js +1 -1
  69. package/lib/types/common/index.d.ts +4 -0
  70. package/lib/types/instrumentation-rules/index.d.ts +4 -1
  71. package/lib/types/tokens/index.d.ts +7 -0
  72. package/lib/types.js +1 -1
  73. package/lib/visuals.js +1 -1
  74. package/package.json +10 -10
  75. package/lib/chunks/ui-components-BiOIOsCC.js +0 -2296
  76. package/lib/chunks/vendor-1oZp1FpB.js +0 -1
  77. package/lib/containers/_v2/central-connections/config-drawer/index.d.ts +0 -18
  78. package/lib/containers/_v2/central-connections/source-drawer/styled.d.ts +0 -17
  79. package/lib/containers/_v2/system-drawer/tokens/index.d.ts +0 -7
  80. package/lib/containers/_v2/system-drawer/tokens/token-actions.d.ts +0 -12
  81. package/lib/containers/_v2/system-drawer/tokens/token-input.d.ts +0 -8
  82. /package/lib/containers/_v2/{central-connections/source-drawer → _drawers/add-source-drawer}/types.d.ts +0 -0
  83. /package/lib/containers/_v2/{system-drawer → _drawers/system-drawer}/describe/index.d.ts +0 -0
  84. /package/lib/containers/_v2/{system-drawer → _drawers/system-drawer}/diagnose/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ import*as t from"react";import{flushSync as e}from"react-dom";function o(t,e){let o;try{o=t()}catch(t){return}return{getItem:t=>{var e;const r=t=>null===t?null:JSON.parse(t,void 0),n=null!=(e=o.getItem(t))?e:null;return n instanceof Promise?n.then(r):r(n)},setItem:(t,e)=>o.setItem(t,JSON.stringify(e,void 0)),removeItem:t=>o.removeItem(t)}}const r=t=>e=>{try{const o=t(e);return o instanceof Promise?o:{then:t=>r(t)(o),catch(t){return this}}}catch(t){return{then(t){return this},catch:e=>r(e)(t)}}},n=(t,e)=>(n,a,s)=>{let i={storage:o(()=>window.localStorage),partialize:t=>t,version:0,merge:(t,e)=>({...e,...t}),...e},l=!1,c=0;const d=new Set,u=new Set;let h=i.storage;if(!h)return t((...t)=>{n(...t)},a,s);const f=()=>{const t=i.partialize({...a()});return h.setItem(i.name,{state:t,version:i.version})},b=s.setState;s.setState=(t,e)=>(b(t,e),f());const p=t((...t)=>(n(...t),f()),a,s);let x;s.getInitialState=()=>p;const g=()=>{var t,e;if(!h)return;const o=++c;l=!1,d.forEach(t=>{var e;return t(null!=(e=a())?e:p)});const s=(null==(e=i.onRehydrateStorage)?void 0:e.call(i,null!=(t=a())?t:p))||void 0;return r(h.getItem.bind(h))(i.name).then(t=>{if(t){if("number"!=typeof t.version||t.version===i.version)return[!1,t.state];if(i.migrate){const e=i.migrate(t.state,t.version);return e instanceof Promise?e.then(t=>[!0,t]):[!0,e]}}return[!1,void 0]}).then(t=>{var e;if(o!==c)return;const[r,s]=t;return x=i.merge(s,null!=(e=a())?e:p),n(x,!0),r?f():void 0}).then(()=>{o===c&&(null==s||s(x,void 0),x=a(),l=!0,u.forEach(t=>t(x)))}).catch(t=>{o===c&&(null==s||s(void 0,t))})};return s.persist={setOptions:t=>{i={...i,...t},t.storage&&(h=t.storage)},clearStorage:()=>{null==h||h.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>g(),hasHydrated:()=>l,onHydrate:t=>(d.add(t),()=>{d.delete(t)}),onFinishHydration:t=>(u.add(t),()=>{u.delete(t)})},i.skipHydration||g(),x||p};function a(t,e){void 0===e&&(e={});var o=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&r.firstChild?r.insertBefore(n,r.firstChild):r.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}}function s(t,e,o){let r,n=o.initialDeps??[],a=!0;function s(){var s,i,l;let c;o.key&&(null==(s=o.debug)?void 0:s.call(o))&&(c=Date.now());const d=t();if(d.length===n.length&&!d.some((t,e)=>n[e]!==t))return r;let u;return n=d,o.key&&(null==(i=o.debug)?void 0:i.call(o))&&(u=Date.now()),r=e(...d),o.key&&(null==(l=o.debug)?void 0:l.call(o))&&(Math.round(100*(Date.now()-c)),Math.round(100*(Date.now()-u))),!(null==o?void 0:o.onChange)||a&&o.skipInitialOnChange||o.onChange(r),a=!1,r}return s.updateDeps=t=>{n=t},s}function i(t,e){if(void 0===t)throw new Error("Unexpected undefined");return t}const l=(t,e,o)=>{let r;return function(...n){t.clearTimeout(r),r=t.setTimeout(()=>e.apply(this,n),o)}},c=t=>{const{offsetWidth:e,offsetHeight:o}=t;return{width:e,height:o}},d=t=>t,u=t=>{const e=Math.max(t.startIndex-t.overscan,0),o=Math.min(t.endIndex+t.overscan,t.count-1),r=[];for(let t=e;t<=o;t++)r.push(t);return r},h=(t,e)=>{const o=t.scrollElement;if(!o)return;const r=t.targetWindow;if(!r)return;const n=t=>{const{width:o,height:r}=t;e({width:Math.round(o),height:Math.round(r)})};if(n(c(o)),!r.ResizeObserver)return()=>{};const a=new r.ResizeObserver(e=>{const r=()=>{const t=e[0];if(null==t?void 0:t.borderBoxSize){const e=t.borderBoxSize[0];if(e)return void n({width:e.inlineSize,height:e.blockSize})}n(c(o))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(o,{box:"border-box"}),()=>{a.unobserve(o)}},f={passive:!0},b="undefined"==typeof window||"onscrollend"in window,p=(t,e)=>{const o=t.scrollElement;if(!o)return;const r=t.targetWindow;if(!r)return;let n=0;const a=t.options.useScrollendEvent&&b?()=>{}:l(r,()=>{e(n,!1)},t.options.isScrollingResetDelay),s=r=>()=>{const{horizontal:s,isRtl:i}=t.options;n=s?o.scrollLeft*(i?-1:1):o.scrollTop,a(),e(n,r)},i=s(!0),c=s(!1);o.addEventListener("scroll",i,f);const d=t.options.useScrollendEvent&&b;return d&&o.addEventListener("scrollend",c,f),()=>{o.removeEventListener("scroll",i),d&&o.removeEventListener("scrollend",c)}},x=(t,e,o)=>{if(null==e?void 0:e.borderBoxSize){const t=e.borderBoxSize[0];if(t)return Math.round(t[o.options.horizontal?"inlineSize":"blockSize"])}return t[o.options.horizontal?"offsetWidth":"offsetHeight"]},g=(t,{adjustments:e=0,behavior:o},r)=>{var n,a;const s=t+e;null==(a=null==(n=r.scrollElement)?void 0:n.scrollTo)||a.call(n,{[r.options.horizontal?"left":"top"]:s,behavior:o})};class _{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let t=null;const e=()=>t||(this.targetWindow&&this.targetWindow.ResizeObserver?t=new this.targetWindow.ResizeObserver(t=>{t.forEach(t=>{const e=()=>{this.t(t.target,t)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(e):e()})}):null);return{disconnect:()=>{var o;null==(o=e())||o.disconnect(),t=null},observe:t=>{var o;return null==(o=e())?void 0:o.observe(t,{box:"border-box"})},unobserve:t=>{var o;return null==(o=e())?void 0:o.unobserve(t)}}})(),this.range=null,this.setOptions=t=>{Object.entries(t).forEach(([e,o])=>{void 0===o&&delete t[e]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:d,rangeExtractor:u,onChange:()=>{},measureElement:x,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...t}},this.notify=t=>{var e,o;null==(o=(e=this.options).onChange)||o.call(e,this,t)},this.maybeNotify=s(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:"production"!==process.env.NODE_ENV&&"maybeNotify",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this.o=()=>()=>{this.cleanup()},this.i=()=>{var t;const e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e)return void this.maybeNotify();this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(t=this.scrollElement)?void 0:t.window)??null,this.elementsCache.forEach(t=>{this.observer.observe(t)}),this.unsubs.push(this.options.observeElementRect(this,t=>{this.scrollRect=t,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(t,e)=>{this.scrollAdjustments=0,this.scrollDirection=e?this.getScrollOffset()<t?"forward":"backward":null,this.scrollOffset=t,this.isScrolling=e,this.maybeNotify()})),this.l(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,e)=>{const o=new Map,r=new Map;for(let n=e-1;n>=0;n--){const e=t[n];if(o.has(e.lane))continue;const a=r.get(e.lane);if(null==a||e.end>a.end?r.set(e.lane,e):e.end<a.end&&o.set(e.lane,!0),o.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((t,e)=>t.end===e.end?t.index-e.index:t.end-e.end)[0]:void 0},this.getMeasurementOptions=s(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(t,e,o,r,n,a)=>(void 0!==this.prevLanes&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:t,paddingStart:e,scrollMargin:o,getItemKey:r,enabled:n,lanes:a}),{key:!1}),this.getMeasurements=s(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:t,paddingStart:e,scrollMargin:o,getItemKey:r,enabled:n,lanes:a},s)=>{if(!n)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const e of this.laneAssignments.keys())e>=t&&this.laneAssignments.delete(e);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(t=>{this.itemSizeCache.set(t.key,t.size)}));const i=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1);const l=this.measurementsCache.slice(0,i),c=new Array(a).fill(void 0);for(let t=0;t<i;t++){const e=l[t];e&&(c[e.lane]=t)}for(let n=i;n<t;n++){const t=r(n),a=this.laneAssignments.get(n);let i,d;if(void 0!==a&&this.options.lanes>1){i=a;const t=c[i],r=void 0!==t?l[t]:void 0;d=r?r.end+this.options.gap:e+o}else{const t=1===this.options.lanes?l[n-1]:this.getFurthestMeasurement(l,n);d=t?t.end+this.options.gap:e+o,i=t?t.lane:n%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(n,i)}const u=s.get(t),h="number"==typeof u?u:this.options.estimateSize(n),f=d+h;l[n]={index:n,start:d,size:h,end:f,key:t,lane:i},c[i]=n}return this.measurementsCache=l,l},{key:"production"!==process.env.NODE_ENV&&"getMeasurements",debug:()=>this.options.debug}),this.calculateRange=s(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,e,o,r)=>this.range=t.length>0&&e>0?function({measurements:t,outerSize:e,scrollOffset:o,lanes:r}){const n=t.length-1;if(t.length<=r)return{startIndex:0,endIndex:n};let a=w(0,n,e=>t[e].start,o),s=a;if(1===r)for(;s<n&&t[s].end<o+e;)s++;else if(r>1){const i=Array(r).fill(0);for(;s<n&&i.some(t=>t<o+e);){const e=t[s];i[e.lane]=e.end,s++}const l=Array(r).fill(o+e);for(;a>=0&&l.some(t=>t>=o);){const e=t[a];l[e.lane]=e.start,a--}a=Math.max(0,a-a%r),s=Math.min(n,s+(r-1-s%r))}return{startIndex:a,endIndex:s}}({measurements:t,outerSize:e,scrollOffset:o,lanes:r}):null,{key:"production"!==process.env.NODE_ENV&&"calculateRange",debug:()=>this.options.debug}),this.getVirtualIndexes=s(()=>{let t=null,e=null;const o=this.calculateRange();return o&&(t=o.startIndex,e=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,e]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,e]},(t,e,o,r,n)=>null===r||null===n?[]:t({startIndex:r,endIndex:n,overscan:e,count:o}),{key:"production"!==process.env.NODE_ENV&&"getVirtualIndexes",debug:()=>this.options.debug}),this.indexFromElement=t=>{const e=this.options.indexAttribute,o=t.getAttribute(e);return o?parseInt(o,10):-1},this.t=(t,e)=>{const o=this.indexFromElement(t),r=this.measurementsCache[o];if(!r)return;const n=r.key,a=this.elementsCache.get(n);a!==t&&(a&&this.observer.unobserve(a),this.observer.observe(t),this.elementsCache.set(n,t)),t.isConnected&&this.resizeItem(o,this.options.measureElement(t,e,this))},this.resizeItem=(t,e)=>{const o=this.measurementsCache[t];if(!o)return;const r=e-(this.itemSizeCache.get(o.key)??o.size);0!==r&&((void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(o,r,this):o.start<this.getScrollOffset()+this.scrollAdjustments)&&("production"!==process.env.NODE_ENV&&this.options.debug,this.l(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=r,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(o.index),this.itemSizeCache=new Map(this.itemSizeCache.set(o.key,e)),this.notify(!1))},this.measureElement=t=>{t?this.t(t,void 0):this.elementsCache.forEach((t,e)=>{t.isConnected||(this.observer.unobserve(t),this.elementsCache.delete(e))})},this.getVirtualItems=s(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,e)=>{const o=[];for(let r=0,n=t.length;r<n;r++){const n=e[t[r]];o.push(n)}return o},{key:"production"!==process.env.NODE_ENV&&"getVirtualItems",debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const e=this.getMeasurements();if(0!==e.length)return i(e[w(0,e.length-1,t=>i(e[t]).start,t)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(t,e,o=0)=>{if(!this.scrollElement)return 0;const r=this.getSize(),n=this.getScrollOffset();"auto"===e&&(e=t>=n+r?"end":"start"),"center"===e?t+=(o-r)/2:"end"===e&&(t-=r);const a=this.getMaxScrollOffset();return Math.max(Math.min(a,t),0)},this.getOffsetForIndex=(t,e="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const o=this.measurementsCache[t];if(!o)return;const r=this.getSize(),n=this.getScrollOffset();if("auto"===e)if(o.end>=n+r-this.options.scrollPaddingEnd)e="end";else{if(!(o.start<=n+this.options.scrollPaddingStart))return[n,e];e="start"}if("end"===e&&t===this.options.count-1)return[this.getMaxScrollOffset(),e];const a="end"===e?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,e,o.size),e]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(t,{align:e="start",behavior:o}={})=>{"smooth"===o&&this.isDynamicMode(),this.l(this.getOffsetForAlignment(t,e),{adjustments:void 0,behavior:o})},this.scrollToIndex=(t,{align:e="auto",behavior:o}={})=>{"smooth"===o&&this.isDynamicMode(),t=Math.max(0,Math.min(t,this.options.count-1)),this.currentScrollToIndex=t;let r=0;const n=e=>{if(!this.targetWindow)return;const r=this.getOffsetForIndex(t,e);if(!r)return;const[n,s]=r;this.l(n,{adjustments:void 0,behavior:o}),this.targetWindow.requestAnimationFrame(()=>{const e=()=>{if(this.currentScrollToIndex!==t)return;const e=this.getScrollOffset(),o=this.getOffsetForIndex(t,s);var r,n;o&&(r=o[0],n=e,Math.abs(r-n)<1.01||a(s))};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(e):e()})},a=e=>{this.targetWindow&&this.currentScrollToIndex===t&&(r++,r<10&&("production"!==process.env.NODE_ENV&&this.options.debug,this.targetWindow.requestAnimationFrame(()=>n(e))))};n(e)},this.scrollBy=(t,{behavior:e}={})=>{"smooth"===e&&this.isDynamicMode(),this.l(this.getScrollOffset()+t,{adjustments:void 0,behavior:e})},this.getTotalSize=()=>{var t;const e=this.getMeasurements();let o;if(0===e.length)o=this.options.paddingStart;else if(1===this.options.lanes)o=(null==(t=e[e.length-1])?void 0:t.end)??0;else{const t=Array(this.options.lanes).fill(null);let r=e.length-1;for(;r>=0&&t.some(t=>null===t);){const o=e[r];null===t[o.lane]&&(t[o.lane]=o.end),r--}o=Math.max(...t.filter(t=>null!==t))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this.l=(t,{adjustments:e,behavior:o})=>{this.options.scrollToFn(t,{behavior:o,adjustments:e},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(t)}}const w=(t,e,o,r)=>{for(;t<=e;){const n=(t+e)/2|0,a=o(n);if(a<r)t=n+1;else{if(!(a>r))return n;e=n-1}}return t>0?t-1:0},y="undefined"!=typeof document?t.useLayoutEffect:t.useEffect;function v(o){return function({useFlushSync:o=!0,...r}){const n=t.useReducer(()=>({}),{})[1],a={...r,onChange:(t,a)=>{var s;o&&a?e(n):n(),null==(s=r.onChange)||s.call(r,t,a)}},[s]=t.useState(()=>new _(a));return s.setOptions(a),y(()=>s.o(),[]),y(()=>s.i()),s}({observeElementRect:h,observeElementOffset:p,scrollToFn:g,...o})}var m={locale:"en",long:{year:{previous:"last year",current:"this year",next:"next year",past:{one:"{0} year ago",other:"{0} years ago"},future:{one:"in {0} year",other:"in {0} years"}},quarter:{previous:"last quarter",current:"this quarter",next:"next quarter",past:{one:"{0} quarter ago",other:"{0} quarters ago"},future:{one:"in {0} quarter",other:"in {0} quarters"}},month:{previous:"last month",current:"this month",next:"next month",past:{one:"{0} month ago",other:"{0} months ago"},future:{one:"in {0} month",other:"in {0} months"}},week:{previous:"last week",current:"this week",next:"next week",past:{one:"{0} week ago",other:"{0} weeks ago"},future:{one:"in {0} week",other:"in {0} weeks"}},day:{previous:"yesterday",current:"today",next:"tomorrow",past:{one:"{0} day ago",other:"{0} days ago"},future:{one:"in {0} day",other:"in {0} days"}},hour:{current:"this hour",past:{one:"{0} hour ago",other:"{0} hours ago"},future:{one:"in {0} hour",other:"in {0} hours"}},minute:{current:"this minute",past:{one:"{0} minute ago",other:"{0} minutes ago"},future:{one:"in {0} minute",other:"in {0} minutes"}},second:{current:"now",past:{one:"{0} second ago",other:"{0} seconds ago"},future:{one:"in {0} second",other:"in {0} seconds"}}},short:{year:{previous:"last yr.",current:"this yr.",next:"next yr.",past:"{0} yr. ago",future:"in {0} yr."},quarter:{previous:"last qtr.",current:"this qtr.",next:"next qtr.",past:{one:"{0} qtr. ago",other:"{0} qtrs. ago"},future:{one:"in {0} qtr.",other:"in {0} qtrs."}},month:{previous:"last mo.",current:"this mo.",next:"next mo.",past:"{0} mo. ago",future:"in {0} mo."},week:{previous:"last wk.",current:"this wk.",next:"next wk.",past:"{0} wk. ago",future:"in {0} wk."},day:{previous:"yesterday",current:"today",next:"tomorrow",past:{one:"{0} day ago",other:"{0} days ago"},future:{one:"in {0} day",other:"in {0} days"}},hour:{current:"this hour",past:"{0} hr. ago",future:"in {0} hr."},minute:{current:"this minute",past:"{0} min. ago",future:"in {0} min."},second:{current:"now",past:"{0} sec. ago",future:"in {0} sec."}},narrow:{year:{previous:"last yr.",current:"this yr.",next:"next yr.",past:"{0}y ago",future:"in {0}y"},quarter:{previous:"last qtr.",current:"this qtr.",next:"next qtr.",past:"{0}q ago",future:"in {0}q"},month:{previous:"last mo.",current:"this mo.",next:"next mo.",past:"{0}mo ago",future:"in {0}mo"},week:{previous:"last wk.",current:"this wk.",next:"next wk.",past:"{0}w ago",future:"in {0}w"},day:{previous:"yesterday",current:"today",next:"tomorrow",past:"{0}d ago",future:"in {0}d"},hour:{current:"this hour",past:"{0}h ago",future:"in {0}h"},minute:{current:"this minute",past:"{0}m ago",future:"in {0}m"},second:{current:"now",past:"{0}s ago",future:"in {0}s"}},now:{now:{current:"now",future:"in a moment",past:"just now"}},mini:{year:"{0}yr",month:"{0}mo",week:"{0}wk",day:"{0}d",hour:"{0}h",minute:"{0}m",second:"{0}s",now:"now"},"short-time":{year:"{0} yr.",month:"{0} mo.",week:"{0} wk.",day:{one:"{0} day",other:"{0} days"},hour:"{0} hr.",minute:"{0} min.",second:"{0} sec."},"long-time":{year:{one:"{0} year",other:"{0} years"},month:{one:"{0} month",other:"{0} months"},week:{one:"{0} week",other:"{0} weeks"},day:{one:"{0} day",other:"{0} days"},hour:{one:"{0} hour",other:"{0} hours"},minute:{one:"{0} minute",other:"{0} minutes"},second:{one:"{0} second",other:"{0} seconds"}}};a(".react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:hsla(0,0%,100%,.5);--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:hsla(0,0%,94%,.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:hsla(0,0%,94%,.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(0,0,0,.08);--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:rgba(0,89,220,.08);--xy-selection-border-default:1px dotted rgba(0,89,220,.8);--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px rgba(0,0,0,.08);--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:hsla(0,0%,59%,.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:hsla(0,0%,94%,.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px hsla(0,0%,100%,.08);--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:rgba(200,200,220,.08);--xy-selection-border-default:1px dotted rgba(200,200,220,.8);--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px rgba(0,0,0,.08);--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(\n --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))\n )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(\n --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))\n );stroke:var(\n --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))\n );stroke-width:var(\n --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))\n )}.react-flow__minimap-node{fill:var(\n --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))\n );stroke:var(\n --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))\n );stroke-width:var(\n --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))\n )}.react-flow__background-pattern.dots{fill:var(\n --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))\n )}.react-flow__background-pattern.lines{stroke:var(\n --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))\n )}.react-flow__background-pattern.cross{stroke:var(\n --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))\n )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(\n --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))\n );color:var(\n --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))\n );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color,var(--xy-node-color-default));font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(\n --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))\n );color:var(\n --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))\n )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(\n --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))\n )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}");export{o as c,m as e,n as p,a as s,v as u};
@@ -1,4 +1,4 @@
1
- import { type FC, type CSSProperties } from 'react';
1
+ import { type FC, type CSSProperties, type ReactNode, type MouseEvent } from 'react';
2
2
  import type { SVG } from '@/types';
3
3
  import { type ButtonProps } from '../button';
4
4
  import { type IconButtonProps } from '../icon-button';
@@ -29,5 +29,9 @@ export interface DropDataProps {
29
29
  maxHeight?: CSSProperties['maxHeight'];
30
30
  buttonProps?: Omit<ButtonProps, 'fullWidth'>;
31
31
  iconButtonProps?: IconButtonProps;
32
+ children?: ReactNode | ((props: {
33
+ ChevronIcon: SVG;
34
+ handleClick: (e: MouseEvent<HTMLElement>) => void;
35
+ }) => ReactNode);
32
36
  }
33
37
  export declare const DropData: FC<DropDataProps>;
@@ -0,0 +1,9 @@
1
+ import { type FC } from 'react';
2
+ import { type InputProps } from '../input';
3
+ import { type DropDataProps, type DropDataOption } from '../drop-data';
4
+ export interface DropDownProps extends Omit<InputProps, 'rightIcon' | 'value' | 'onChange' | 'onClick'>, Pick<DropDataProps, 'withMultiSelect' | 'withSearch'> {
5
+ options: Pick<DropDataOption, 'id' | 'label'>[];
6
+ values: string[];
7
+ setValues: (values: string[]) => void;
8
+ }
9
+ export declare const DropDown: FC<DropDownProps>;
@@ -0,0 +1,6 @@
1
+ import { type FC } from 'react';
2
+ export interface FieldMessageProps {
3
+ errorMessage?: string;
4
+ helpMessage?: string;
5
+ }
6
+ export declare const FieldMessage: FC<FieldMessageProps>;
@@ -0,0 +1,9 @@
1
+ import { type CSSProperties, type FC } from 'react';
2
+ export interface FieldTitleProps {
3
+ label?: string;
4
+ tooltip?: string;
5
+ required?: boolean;
6
+ width?: CSSProperties['width'];
7
+ smallAndDark?: boolean;
8
+ }
9
+ export declare const FieldTitle: FC<FieldTitleProps>;
@@ -6,10 +6,15 @@ export * from './checkbox';
6
6
  export * from './cli-command';
7
7
  export * from './drawer';
8
8
  export * from './drop-data';
9
+ export * from './drop-down';
10
+ export * from './field-message';
11
+ export * from './field-title';
9
12
  export * from './header';
10
13
  export * from './hover-actions';
11
14
  export * from './icon-button';
12
15
  export * from './input';
16
+ export * from './input-list';
17
+ export * from './input-table';
13
18
  export * from './island';
14
19
  export * from './loader';
15
20
  export * from './modal';
@@ -20,6 +25,7 @@ export * from './search';
20
25
  export * from './segment';
21
26
  export * from './table';
22
27
  export * from './tag';
28
+ export * from './textarea';
23
29
  export * from './toggle';
24
30
  export * from './typography';
25
31
  export * from './warning-modal';
@@ -1,14 +1,16 @@
1
1
  import { type InputHTMLAttributes, type FC, type CSSProperties } from 'react';
2
2
  import { type SVG } from '@/types';
3
- export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'title'> {
4
4
  label?: string;
5
5
  required?: boolean;
6
6
  tooltip?: string;
7
7
  leftIcon?: SVG;
8
8
  rightIcon?: SVG;
9
+ hasError?: boolean;
9
10
  errorMessage?: string;
10
11
  helpMessage?: string;
11
12
  maxWidth?: CSSProperties['maxWidth'];
13
+ width?: CSSProperties['width'];
12
14
  small?: boolean;
13
15
  }
14
16
  export declare const Input: FC<InputProps>;
@@ -0,0 +1,15 @@
1
+ import { type FC } from 'react';
2
+ type Row = string;
3
+ export interface InputListProps {
4
+ values: Row[];
5
+ setValues: (values: Row[]) => void;
6
+ label?: string;
7
+ tooltip?: string;
8
+ required?: boolean;
9
+ errorMessage?: string;
10
+ helpMessage?: string;
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ }
14
+ export declare const InputList: FC<InputListProps>;
15
+ export {};
@@ -0,0 +1,13 @@
1
+ import { type FC } from 'react';
2
+ import type { Column, Row } from '../types';
3
+ export interface DynamicFieldProps {
4
+ col: Column;
5
+ colIdx: number;
6
+ row: Row;
7
+ rowIdx: number;
8
+ rowsLength: number;
9
+ handleChange: (key: string, val: string | number | string[], idx: number) => void;
10
+ errorMessage?: string;
11
+ disabled?: boolean;
12
+ }
13
+ export declare const DynamicField: FC<DynamicFieldProps>;
@@ -0,0 +1,16 @@
1
+ import { type FC } from 'react';
2
+ import type { Column, Row } from './types';
3
+ export type { Column, Row } from './types';
4
+ export interface InputTableProps {
5
+ columns: Column[];
6
+ values: Row[];
7
+ setValues: (values: Row[]) => void;
8
+ label?: string;
9
+ tooltip?: string;
10
+ required?: boolean;
11
+ disabled?: boolean;
12
+ errorMessage?: string;
13
+ helpMessage?: string;
14
+ limitFieldsPerRow?: number;
15
+ }
16
+ export declare const InputTable: FC<InputTableProps>;
@@ -0,0 +1,15 @@
1
+ import { InputTypes } from '@/types';
2
+ import type { DropDataOption } from '../drop-data';
3
+ export interface Row {
4
+ [key: string]: any;
5
+ }
6
+ export interface Column {
7
+ keyName: string;
8
+ label: string;
9
+ tooltip?: string;
10
+ placeholder?: string;
11
+ inputType?: InputTypes;
12
+ componentType?: 'input' | 'dropdown' | 'multi-dropdown';
13
+ options?: DropDataOption[];
14
+ renderCondition?: (row: Row) => boolean;
15
+ }
@@ -1,5 +1,6 @@
1
1
  import { FC } from 'react';
2
- import { ActionsProps, RichTitleProps } from '@/snippets/_v2';
2
+ import { type ActionsProps } from '@/snippets/_v2/actions';
3
+ import { type RichTitleProps } from '@/snippets/_v2/rich-title';
3
4
  export interface IslandProps {
4
5
  isOpen: boolean;
5
6
  onClose?: () => void;
@@ -1,3 +1,4 @@
1
+ import { type CSSProperties } from 'react';
1
2
  import type { SVG } from '@/types';
2
3
  export declare enum SegmentSize {
3
4
  S = "s",
@@ -7,6 +8,7 @@ interface Option<T> {
7
8
  value: T;
8
9
  label?: string;
9
10
  icon?: SVG;
11
+ selectedBgColor?: CSSProperties['backgroundColor'];
10
12
  }
11
13
  export interface SegmentProps<T = any> {
12
14
  size?: SegmentSize;
@@ -0,0 +1,11 @@
1
+ import { type TextareaHTMLAttributes, type FC, type CSSProperties } from 'react';
2
+ export interface TextAreaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ label?: string;
4
+ required?: boolean;
5
+ tooltip?: string;
6
+ errorMessage?: string;
7
+ helpMessage?: string;
8
+ maxWidth?: CSSProperties['maxWidth'];
9
+ minHeight?: CSSProperties['minHeight'];
10
+ }
11
+ export declare const TextArea: FC<TextAreaProps>;
@@ -1,4 +1,4 @@
1
- import { SetStateAction, type FC, Dispatch } from 'react';
1
+ import { type CSSProperties, type SetStateAction, type FC, type Dispatch } from 'react';
2
2
  import { ListDirection, type SVG } from '@/types';
3
3
  export declare enum ToggleVariant {
4
4
  Default = "default",
@@ -17,6 +17,7 @@ export interface ToggleProps {
17
17
  size?: ToggleSize;
18
18
  label?: string;
19
19
  labelAlign?: ToggleLabelAlign;
20
+ labelColor?: CSSProperties['color'];
20
21
  tooltip?: string;
21
22
  value: boolean;
22
23
  onChange: (value: boolean) => void;
@@ -10,6 +10,7 @@ interface FlexRowProps {
10
10
  $wrap?: CSSProperties['flexWrap'];
11
11
  $width?: CSSProperties['width'];
12
12
  $height?: CSSProperties['height'];
13
+ $margin?: CSSProperties['margin'];
13
14
  $padding?: CSSProperties['padding'];
14
15
  }
15
16
  export declare const FlexRow: IStyledComponent<'web', DivProps<FlexRowProps>>;
@@ -20,6 +21,7 @@ interface FlexColumnProps {
20
21
  $wrap?: CSSProperties['flexWrap'];
21
22
  $width?: CSSProperties['width'];
22
23
  $height?: CSSProperties['height'];
24
+ $margin?: CSSProperties['margin'];
23
25
  $padding?: CSSProperties['padding'];
24
26
  }
25
27
  export declare const FlexColumn: IStyledComponent<'web', DivProps<FlexColumnProps>>;
@@ -47,4 +49,9 @@ interface TableWrapProps {
47
49
  $maxHeight: CSSProperties['maxHeight'];
48
50
  }
49
51
  export declare const TableWrap: IStyledComponent<'web', DivProps<TableWrapProps>>;
52
+ interface WhiteSpaceProps {
53
+ $width?: CSSProperties['width'];
54
+ $height?: CSSProperties['height'];
55
+ }
56
+ export declare const WhiteSpace: IStyledComponent<'web', DivProps<WhiteSpaceProps>>;
50
57
  export {};
@@ -1 +1 @@
1
- export{B as Badge,m as Button,v as ButtonSize,dE as ButtonTab,dF as ButtonTabList,n as ButtonVariants,C as Checkbox,dG as CheckboxList,dH as CheckboxSize,Q as CliCommand,K as DataCard,i as Drawer,a6 as DropData,w as DropDataAlignX,a7 as DropDataAlignY,dI as Header,ch as HoverActions,M as IconButton,cr as IconButtonSize,a2 as Input,I as Island,L as Loader,dJ as Modal,dK as Navbar,l as Note,dL as Radio,dM as RadioGroup,dN as RadioSize,k as Search,y as SectionCard,dO as SectionCardSize,V as Segment,dP as SegmentSize,X as StatusCard,z as Table,G as TableVariant,dQ as Tag,Z as TextCard,d as Toggle,dR as ToggleLabelAlign,dS as ToggleList,e as ToggleSize,dT as ToggleVariant,T as Typography,b as TypographySize,f as TypographyVariants,dU as WarningModal}from"../chunks/ui-components-BiOIOsCC.js";import"../icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"../chunks/vendor-1oZp1FpB.js";import"react-dom";import"@xyflow/react";import"react-error-boundary";import"lottie-react";import"prism-react-renderer";
1
+ export{l as Badge,B as Button,j as ButtonSize,dK as ButtonTab,dL as ButtonTabList,k as ButtonVariants,c as Checkbox,dM as CheckboxList,dN as CheckboxSize,ai as CliCommand,a7 as DataCard,r as Drawer,a3 as DropData,a5 as DropDataAlignX,a4 as DropDataAlignY,dO as DropDown,d as FieldMessage,g as FieldTitle,dP as Header,cm as HoverActions,_ as IconButton,cw as IconButtonSize,p as Input,I as InputList,h as InputTable,af as Island,L as Loader,dQ as Modal,dR as Navbar,u as Note,dS as Radio,dT as RadioGroup,dU as RadioSize,t as Search,a1 as SectionCard,dV as SectionCardSize,o as Segment,dW as SegmentSize,al as StatusCard,ad as Table,ae as TableVariant,dX as Tag,q as TextArea,am as TextCard,z as Toggle,dY as ToggleLabelAlign,dZ as ToggleList,A as ToggleSize,d_ as ToggleVariant,T as Typography,a as TypographySize,E as TypographyVariants,W as WarningModal}from"../chunks/ui-components-CCA7B7ry.js";import"../icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"../chunks/vendor-C-kwkNJP.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/components.js CHANGED
@@ -1 +1 @@
1
- export{aN as AutocompleteInput,b5 as Badge,b7 as Button,aA as CancelWarning,j as CenterThis,ae as Checkbox,dm as Code,aE as ConditionDetails,aF as DataCard,a9 as DataCardFieldTypes,bR as DataCardFields,dn as DataFinger,b9 as DataTab,az as DeleteWarning,cf as DescribeRow,aO as Divider,ar as DocsButton,ay as Drawer,dp as DrawerFooter,dq as DrawerHeader,bu as Dropdown,dr as ErrorBoundary,bC as ExtendArrow,r as FadeLoader,af as FieldError,ad as FieldLabel,F as FlexColumn,a as FlexRow,ds as Header,bB as IconButton,cp as IconGroup,b0 as IconTitleBadge,aX as IconWrapped,cb as IconsNav,dt as ImageControlled,ag as Input,am as InputList,aj as InputTable,b3 as InteractiveTable,al as KeyValueInputsList,c9 as LoadingText,aJ as Modal,aK as ModalBody,as as MonitorsCheckboxes,aZ as MonitorsIcons,aP as NavigationButtons,N as NoDataFound,aL as NotificationNote,du as Overlay,x as PageContent,bp as Popup,cs as PopupForm,cx as ScrollX,bc as ScrollY,aq as SectionTitle,ao as Segment,br as SelectionButton,bh as SkeletonLoader,aR as Status,bQ as Stepper,dv as TabList,a_ as TableContainer,a$ as TableTitleWrap,b2 as TableWrap,b_ as Tag,au as Text,at as TextArea,ak as Toggle,cv as ToggleCodeComponent,c as Tooltip,b4 as TraceLoader,a0 as UpgradeRequiredWrapper,bq as VerticalScroll,dw as WarningModal,dx as getLinksFromText,dy as getStrongsFromText,dz as renderText}from"./chunks/ui-components-BiOIOsCC.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-1oZp1FpB.js";import"react-dom";import"@xyflow/react";import"react-error-boundary";import"lottie-react";import"prism-react-renderer";
1
+ export{a$ as AutocompleteInput,bj as Badge,bl as Button,aO as CancelWarning,s as CenterThis,au as Checkbox,cD as Code,aS as ConditionDetails,aT as DataCard,ap as DataCardFieldTypes,c2 as DataCardFields,dv as DataFinger,bn as DataTab,aN as DeleteWarning,ck as DescribeRow,b0 as Divider,aH as DocsButton,aM as Drawer,dw as DrawerFooter,dx as DrawerHeader,bI as Dropdown,dy as ErrorBoundary,bP as ExtendArrow,ah as FadeLoader,av as FieldError,at as FieldLabel,F as FlexColumn,f as FlexRow,dz as Header,bO as IconButton,cu as IconGroup,be as IconTitleBadge,b9 as IconWrapped,cg as IconsNav,dA as ImageControlled,aw as Input,aC as InputList,az as InputTable,bh as InteractiveTable,aB as KeyValueInputsList,ce as LoadingText,aX as Modal,aY as ModalBody,aI as MonitorsCheckboxes,bb as MonitorsIcons,b1 as NavigationButtons,N as NoDataFound,aZ as NotificationNote,dB as Overlay,ac as PageContent,bD as Popup,cx as PopupForm,cC as ScrollX,bq as ScrollY,aG as SectionTitle,aE as Segment,bF as SelectionButton,bv as SkeletonLoader,b3 as Status,c1 as Stepper,dC as TabList,bc as TableContainer,bd as TableTitleWrap,bg as TableWrap,c4 as Tag,aK as Text,aJ as TextArea,aA as Toggle,cA as ToggleCodeComponent,b as Tooltip,bi as TraceLoader,ao as UpgradeRequiredWrapper,bE as VerticalScroll,c8 as WarningModal,dD as WhiteSpace,dE as getLinksFromText,dF as getStrongsFromText,dG as renderText}from"./chunks/ui-components-CCA7B7ry.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C-kwkNJP.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
@@ -1,3 +1,4 @@
1
+ export declare const DOCS_BASE_URL = "https://docs.odigos.io";
1
2
  export declare const DEFAULT_DATA_STREAM_NAME = "default";
2
3
  export declare const STORAGE_KEYS: {
3
4
  SELECTED_DATA_STREAM: string;
package/lib/constants.js CHANGED
@@ -1 +1 @@
1
- export{aD as ACTION_OPTIONS,ax as BUTTON_TEXTS,D as DEFAULT_DATA_STREAM_NAME,bO as DESTINATION_CATEGORIES,bv as DISPLAY_LANGUAGES,a8 as DISPLAY_TITLES,aM as FORM_ALERTS,c2 as INSTRUMENTATION_RULE_OPTIONS,d9 as LANGUAGE_OPTIONS,bw as MONITORS_OPTIONS,da as OTEL_DISTRO_NAME_OPTIONS,bx as STORAGE_KEYS,db as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-BiOIOsCC.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-1oZp1FpB.js";import"react-dom";import"@xyflow/react";import"react-error-boundary";import"lottie-react";import"prism-react-renderer";
1
+ export{aR as ACTION_OPTIONS,aa as BUTTON_TEXTS,Q as DEFAULT_DATA_STREAM_NAME,b$ as DESTINATION_CATEGORIES,m as DISPLAY_LANGUAGES,y as DISPLAY_TITLES,D as DOCS_BASE_URL,a_ as FORM_ALERTS,w as INSTRUMENTATION_RULE_OPTIONS,df as LANGUAGE_OPTIONS,bJ as MONITORS_OPTIONS,dg as OTEL_DISTRO_NAME_OPTIONS,bK as STORAGE_KEYS,dh as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-CCA7B7ry.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C-kwkNJP.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
@@ -0,0 +1,7 @@
1
+ import { GenericFormResult } from '@/hooks';
2
+ import { type InstrumentationRuleFormData, type InstrumentationRuleOption } from '@/types';
3
+ export declare const INITIAL_FORM_DATA: InstrumentationRuleFormData;
4
+ export declare const validateForm: (selectedOption: InstrumentationRuleOption | null, genericForm: GenericFormResult<InstrumentationRuleFormData>) => {
5
+ isOk: boolean;
6
+ preparedFormData: InstrumentationRuleFormData;
7
+ };
@@ -0,0 +1,10 @@
1
+ import { type FC, type Dispatch, type SetStateAction } from 'react';
2
+ import { DrawerProps } from '@/components/_v2';
3
+ import { type CreateInstrumentationRuleFunc } from '@/types';
4
+ export interface AddRuleDrawerProps {
5
+ onClose: DrawerProps['header']['onClose'];
6
+ selectedConnectionIds: string[];
7
+ setSelectedConnectionIds: Dispatch<SetStateAction<string[]>>;
8
+ createInstrumentationRule: CreateInstrumentationRuleFunc;
9
+ }
10
+ export declare const AddRuleDrawer: FC<AddRuleDrawerProps>;
@@ -1,12 +1,11 @@
1
1
  import { type FC, type Dispatch, type SetStateAction } from 'react';
2
2
  import { DrawerProps } from '@/components/_v2';
3
3
  import { type AllClusterSnapshots, type PersistSourcesFunc } from '@/types';
4
- export interface SourceDrawerProps {
4
+ export interface AddSourceDrawerProps {
5
5
  onClose: DrawerProps['header']['onClose'];
6
- snapshots: AllClusterSnapshots;
7
6
  selectedConnectionIds: string[];
8
7
  setSelectedConnectionIds: Dispatch<SetStateAction<string[]>>;
8
+ snapshots: AllClusterSnapshots;
9
9
  persistSources: PersistSourcesFunc;
10
10
  }
11
- export declare const SOURCE_DRAWER_WIDTH = "75vw";
12
- export declare const SourceDrawer: FC<SourceDrawerProps>;
11
+ export declare const AddSourceDrawer: FC<AddSourceDrawerProps>;
@@ -1,4 +1,5 @@
1
- import { type FC, Dispatch, SetStateAction } from 'react';
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { WideDrawerProps } from '@/snippets/_v2';
2
3
  import type { Filters, FormData, HandleSelectAllFunc, HandleSourceChangeFunc, SelectedArea } from '../types';
3
4
  export interface NamespacesColumnProps {
4
5
  formData: FormData;
@@ -11,4 +12,4 @@ export interface NamespacesColumnProps {
11
12
  searchText: string;
12
13
  filters: Filters;
13
14
  }
14
- export declare const NamespacesColumn: FC<NamespacesColumnProps>;
15
+ export declare const namespacesColumn: ({ formData, handleSourceChange, handleSelectAll, selectedArea, searchText, filters }: NamespacesColumnProps) => WideDrawerProps["leftColumn"];
@@ -1,4 +1,5 @@
1
- import { type FC, Dispatch, SetStateAction } from 'react';
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { WideDrawerProps } from '@/snippets/_v2';
2
3
  import type { Filters, FormData, HandleSelectAllFunc, HandleSourceChangeFunc, SelectedArea } from '../types';
3
4
  export interface WorkloadsColumnProps {
4
5
  formData: FormData;
@@ -11,4 +12,4 @@ export interface WorkloadsColumnProps {
11
12
  searchText: string;
12
13
  filters: Filters;
13
14
  }
14
- export declare const WorkloadsColumn: FC<WorkloadsColumnProps>;
15
+ export declare const workloadsColumn: ({ formData, handleSourceChange, handleSelectAll, selectedArea, searchText, filters }: WorkloadsColumnProps) => WideDrawerProps["rightColumn"];
@@ -0,0 +1,12 @@
1
+ import { type FC, type Dispatch, type SetStateAction } from 'react';
2
+ import { DrawerProps } from '@/components/_v2';
3
+ import { type Connection, type GetEffectiveConfigFunc, type ApplyConfigurationsFunc } from '@/types';
4
+ export interface EditConfigDrawerProps {
5
+ onClose: DrawerProps['header']['onClose'];
6
+ connections: Connection[];
7
+ selectedConnectionIds: string[];
8
+ setSelectedConnectionIds: Dispatch<SetStateAction<string[]>>;
9
+ getEffectiveConfig: GetEffectiveConfigFunc;
10
+ onApply: ApplyConfigurationsFunc;
11
+ }
12
+ export declare const EditConfigDrawer: FC<EditConfigDrawerProps>;
@@ -0,0 +1,4 @@
1
+ export * from './add-rule-drawer';
2
+ export * from './add-source-drawer';
3
+ export * from './edit-config-drawer';
4
+ export * from './system-drawer';
@@ -3,9 +3,8 @@ import { TokensProps } from './tokens';
3
3
  import { type DiagnoseProps } from './diagnose';
4
4
  import { type DescribeProps } from './describe';
5
5
  import { type DrawerProps } from '@/components/_v2';
6
- interface SystemDrawerProps extends TokensProps, DescribeProps, DiagnoseProps {
6
+ export interface SystemDrawerProps extends Partial<TokensProps>, Partial<DescribeProps>, Partial<DiagnoseProps> {
7
7
  isOpen: DrawerProps['isOpen'];
8
8
  onClose: DrawerProps['header']['onClose'];
9
9
  }
10
- declare const SystemDrawer: FC<SystemDrawerProps>;
11
- export { SystemDrawer, type SystemDrawerProps };
10
+ export declare const SystemDrawer: FC<SystemDrawerProps>;
@@ -0,0 +1,7 @@
1
+ import { type FC } from 'react';
2
+ import { type UpdateTokenFunc, type TokenPayload } from '@/types';
3
+ export interface TokensProps {
4
+ token: TokenPayload;
5
+ updateToken: UpdateTokenFunc;
6
+ }
7
+ export declare const Tokens: FC<TokensProps>;
@@ -1,6 +1,8 @@
1
1
  import { type FC } from 'react';
2
2
  interface TokenExpiresAtProps {
3
3
  expiresAt: string | number;
4
+ callbackValid: () => void;
5
+ callbackExpired: () => void;
4
6
  }
5
7
  export declare const TokenExpiresAt: FC<TokenExpiresAtProps>;
6
8
  export {};
@@ -0,0 +1,14 @@
1
+ import { FC } from 'react';
2
+ import { type GenericFormResult } from '@/hooks';
3
+ export interface TokenValueProps extends Pick<GenericFormResult<{
4
+ newToken: string;
5
+ }>, 'formData' | 'handleFormChange' | 'handleErrorChange' | 'formErrors'> {
6
+ token: string;
7
+ newToken: string;
8
+ isLoading: boolean;
9
+ isEditing: boolean;
10
+ onEdit: () => void;
11
+ onCancel: () => void;
12
+ onSave: () => void;
13
+ }
14
+ export declare const TokenValue: FC<TokenValueProps>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type CustomFieldProps, type InstrumentationRuleFormData } from '@/types';
3
+ type CodeAttributesProps = CustomFieldProps<InstrumentationRuleFormData>;
4
+ declare const CodeAttributes: React.FC<CodeAttributesProps>;
5
+ export { CodeAttributes, type CodeAttributesProps };
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ import { type CustomFieldProps, type InstrumentationRuleFormData } from '@/types';
3
+ type CustomInstrumentationProps = CustomFieldProps<InstrumentationRuleFormData>;
4
+ declare const CustomInstrumentation: FC<CustomInstrumentationProps>;
5
+ export { CustomInstrumentation, type CustomInstrumentationProps };
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ import { type CustomFieldProps, type InstrumentationRuleFormData } from '@/types';
3
+ type HeadersCollectionProps = CustomFieldProps<InstrumentationRuleFormData>;
4
+ declare const HeadersCollection: FC<HeadersCollectionProps>;
5
+ export { HeadersCollection, type HeadersCollectionProps };
@@ -0,0 +1,7 @@
1
+ import { type FC } from 'react';
2
+ import { type CustomFieldProps, InstrumentationRuleType, type InstrumentationRuleFormData } from '@/types';
3
+ interface CustomFieldsProps extends CustomFieldProps<InstrumentationRuleFormData> {
4
+ ruleType?: InstrumentationRuleType;
5
+ }
6
+ declare const CustomFields: FC<CustomFieldsProps>;
7
+ export { CustomFields, type CustomFieldsProps };
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ import { type CustomFieldProps, type InstrumentationRuleFormData } from '@/types';
3
+ type PayloadCollectionProps = CustomFieldProps<InstrumentationRuleFormData>;
4
+ declare const PayloadCollection: FC<PayloadCollectionProps>;
5
+ export { PayloadCollection, type PayloadCollectionProps };
@@ -0,0 +1,7 @@
1
+ import { type FC } from 'react';
2
+ import type { GenericFormResult } from '@/hooks';
3
+ import { type InstrumentationRuleFormData, type InstrumentationRuleOption } from '@/types';
4
+ export interface AddRuleFormProps extends GenericFormResult<InstrumentationRuleFormData> {
5
+ option: InstrumentationRuleOption;
6
+ }
7
+ export declare const AddRuleForm: FC<AddRuleFormProps>;
@@ -0,0 +1 @@
1
+ export * from './add-rule-form';
@@ -0,0 +1,44 @@
1
+ import { type Connection } from '@/types';
2
+ import { type IslandProps, type TableProps, type TableRowCell } from '@/components/_v2';
3
+ export declare enum DrawerId {
4
+ BulkConfig = "bulk-config",
5
+ BulkSource = "bulk-source",
6
+ BulkDestination = "bulk-destination",
7
+ BulkAction = "bulk-action",
8
+ BulkInstrumentationRule = "bulk-instrumentation-rule",
9
+ Delete = "delete"
10
+ }
11
+ export declare enum Keys {
12
+ Id = "id",
13
+ Name = "name",
14
+ Type = "type",
15
+ Status = "status",
16
+ OdigosVersion = "odigosVersion",
17
+ ConnectedSince = "connectedSince",
18
+ LastActivity = "lastActivity"
19
+ }
20
+ export declare const columns: TableProps['columns'];
21
+ export declare const wrapCells: <CallbackReturn = void>(cells: TableRowCell[], callback: (id: string) => CallbackReturn) => CallbackReturn;
22
+ export declare const isConnectionAlive: (cells: TableRowCell[]) => boolean;
23
+ export declare const getSupportedConnections: (connections: Connection[], minVersion: number) => Connection[];
24
+ export interface BuildIslandActionsOptions {
25
+ onCancel: () => void;
26
+ onAddSource?: () => void;
27
+ onAddDestination?: () => void;
28
+ onAddAction?: () => void;
29
+ onAddInstrumentationRule?: () => void;
30
+ onManageConfigurations?: () => void;
31
+ }
32
+ export declare const buildIslandActions: (opts: BuildIslandActionsOptions) => IslandProps["actions"];
33
+ export interface BuildRowActionsOptions {
34
+ connections: Connection[];
35
+ configMinSupportedVersion: number;
36
+ snapshotMinSupportedVersion: number;
37
+ onDelete: (connectionId: string) => void;
38
+ onAddSource?: (connectionId: string) => void;
39
+ onAddDestination?: (connectionId: string) => void;
40
+ onAddAction?: (connectionId: string) => void;
41
+ onAddInstrumentationRule?: (connectionId: string) => void;
42
+ onEditConfiguration?: (connectionId: string) => void;
43
+ }
44
+ export declare const buildRowActions: (opts: BuildRowActionsOptions) => TableProps["getRowActions"];
@@ -1,16 +1,17 @@
1
1
  import { type FC, type CSSProperties } from 'react';
2
- import { type Connection, type GetAllClusterSnapshots, type PersistSourcesFunc } from '@/types';
3
- import { type GetEffectiveConfig, type ApplyConfigurationsFunc } from './config-drawer';
4
- export { type GetEffectiveConfig, type ApplyConfigurationsFunc };
2
+ import { type Connection, type GetEffectiveConfigFunc, type ApplyConfigurationsFunc, type GetAllClusterSnapshots, type PersistSourcesFunc, type CreateInstrumentationRuleFunc } from '@/types';
5
3
  export interface CentralConnectionsProps {
6
4
  tableRowsMaxHeight: CSSProperties['maxHeight'];
7
5
  connections?: Connection[];
8
6
  getConnections: () => Promise<Connection[]>;
9
7
  onClickConnection: (connection: Connection) => void;
10
8
  deleteConnection: (id: string) => Promise<void>;
11
- getEffectiveConfig?: GetEffectiveConfig;
9
+ configMinSupportedVersion?: number;
10
+ getEffectiveConfig?: GetEffectiveConfigFunc;
12
11
  applyConfigurations?: ApplyConfigurationsFunc;
12
+ snapshotMinSupportedVersion?: number;
13
13
  getAllClusterSnapshots?: GetAllClusterSnapshots;
14
14
  persistSources?: PersistSourcesFunc;
15
+ createInstrumentationRule?: CreateInstrumentationRuleFunc;
15
16
  }
16
17
  export declare const CentralConnections: FC<CentralConnectionsProps>;
@@ -1,3 +1,4 @@
1
+ export * from './_drawers';
2
+ export * from './_forms';
1
3
  export * from './central-connections';
2
4
  export * from './pipeline-collectors';
3
- export * from './system-drawer';