@reltio/remotes 1.4.1556 → 1.4.1557

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/4748.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_reltio_remotes=self.webpackChunk_reltio_remotes||[]).push([[4748],{12714:(e,t,n)=>{n.d(t,{Z:()=>O});var r=n(24328),o=n.n(r),l=n(52730),a=n(17440),i=n(49885),c=n(65503),s=n(39148),u=n(64731),d=n(87918),m=n.n(d),p=n(87685),g=n(74443),f=n(8818);function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},v.apply(this,arguments)}const h=e=>o().createElement("svg",v({width:20,height:20,viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",focusable:"false"},e),o().createElement("defs",null,o().createElement("path",{d:"M20.222 6C21.21 6 22 6.8 22 7.778v12.444C22 21.2 21.209 22 20.222 22H7.778C6.79 22 6 21.2 6 20.222V7.778C6 6.8 6.791 6 7.778 6h12.444zM8 8v12h12V8H8zM4 18H2V4c0-1.1.9-2 2-2h14v2H4v14z",id:"Duplicate_svg__a"})),o().createElement("g",{transform:"translate(-2 -2)",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},o().createElement("mask",{id:"Duplicate_svg__b",fill:"#fff"},o().createElement("use",{xlinkHref:"#Duplicate_svg__a"})),o().createElement("g",{mask:"url(#Duplicate_svg__b)",fill:"#000",fillOpacity:.54},o().createElement("path",{d:"M0 0h24v24H0z"}))));var b=n(79692);const x=(0,b.Z)((()=>({actions:{width:"88px",height:"24px",display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0,"& >span":{cursor:"pointer",display:"flex"},"& $actionIcon":{cursor:"pointer",color:"rgba(0, 0, 0, .54)"}},actionIcon:{}}))),y=(0,r.memo)((e=>{let{rowData:t,rowContext:n}=e;const l=x(),{id:a,attribute:i}=t||{},{addRowAfterIndex:c,removeRow:s,duplicateRow:u}=n,d=(0,r.useCallback)((()=>{c(a)}),[c,a]),v=(0,r.useCallback)((()=>{u(a)}),[u,a]),b=(0,r.useCallback)((()=>{s(a)}),[a,s]);return o().createElement("div",{className:l.actions},o().createElement(f.k,{tooltipTitle:m().text("Add"),icon:g.Z,size:"M",onClick:d}),i&&o().createElement(f.k,{tooltipTitle:m().text("Duplicate"),icon:h,size:"M",onClick:v}),o().createElement(f.k,{tooltipTitle:m().text("Delete"),icon:p.default,size:"M",onClick:b}))}));var C=n(41315),w=n(99757);const E=(0,r.memo)((e=>{let{rowData:t,rowContext:n,attributeSelectorProps:l}=e;const{attribute:a,id:i,filter:s}=t||{},{changeFilter:u,addNewFilter:d,attributesGroup:m}=n,p=(0,r.useCallback)((e=>(0,c.e6O)({data:e})),[]),g=(0,r.useMemo)((()=>[{id:"",title:"",attributes:m}]),[m]),f=(0,r.useCallback)((e=>{if(t){const t={fieldName:e.attribute.fieldName,filter:s,values:[]};u(t,i)}else d({fieldName:e.attribute.fieldName,filter:null,values:[]})}),[d,u,i,t,s]);return o().createElement(w.Z,{itemsGroups:g,ungroup:!0,single:!0,value:a,getLabel:p,onSelect:f,onOpenPopup:l.onOpen})}));var D=n(70215);const R=(0,b.Z)((()=>({attrSelector:{width:"222px",height:"40px",flexShrink:0},filterSelector:{width:"180px",flexShrink:0,marginTop:0,marginBottom:0},actionContainer:{alignItems:"center",marginRight:"15px"}}))),I={fieldName:null,filter:null,values:[]},k=()=>null,O=(0,r.memo)((e=>{let{attributeTypes:t,filters:n,onChange:d,components:m={}}=e;const{ValuesEditor:p,FilterSelector:g}=m,f=(0,l.useSelector)(i.ZP.selectors.getMetadata),v=(0,c.nt9)(f,(0,s.gZ)(t)),{attrSelector:h,filterSelector:b,actionContainer:x}=R(),w=(0,r.useRef)(n);w.current=n;const O=(0,r.useRef)(null),N=(0,r.useRef)(null),S=(0,r.useRef)(null),Z=(0,r.useMemo)((()=>({attributeSelectorContainer:h,filterSelectorContainer:b,actionsContainer:x})),[h,b,x]),H=(0,r.useMemo)((()=>(0,s.Uk)(t,v,f)),[t,f,v]),T=(0,r.useMemo)((()=>n.length?(0,s.QB)(n,H):[]),[H,n]);S.current=T.length,(0,r.useEffect)((()=>{O.current&&N.current!==S.current&&(O.current.querySelector("input").focus(),N.current=null)}),[T.length]);const M=(0,r.useCallback)((()=>{N.current=T.length}),[T.length]),P=(0,r.useMemo)((()=>({onOpen:M})),[M]),j=(0,r.useCallback)((e=>{const t=[...w.current];t.splice(e+1,0,I),d(t)}),[d]),B=(0,r.useCallback)((e=>{const t=[...w.current];t.splice(e,1),d(t)}),[d]),F=(0,r.useCallback)((e=>{const t=[...w.current];t.splice(e+1,0,{fieldName:w.current[e].fieldName,filter:w.current[e].filter,values:w.current[e].values}),d(t)}),[d]),V=(0,r.useCallback)(((e,t)=>{const n=(0,a.evolve)({[t]:(0,a.always)(e)},w.current);d(n)}),[d]),z=(0,r.useCallback)((e=>{d([...w.current,e])}),[d]);return o().createElement(C.Z,{rowClasses:Z,rowsData:T,AttributeSelectorComponent:E,FilterSelectorComponent:g||u.Z,ValuesEditorComponent:p||D.Z,ActionsComponent:y,LogicOperatorComponent:k,filterSelectorRefIndex:N.current,filterSelectorRef:O,lastRowAttributeSelectorProps:P,attributesGroup:H,changeFilter:V,addNewFilter:z,addRowAfterIndex:j,removeRow:B,duplicateRow:F,entityType:v})}))},64731:(e,t,n)=>{n.d(t,{Z:()=>p});var r=n(24328),o=n.n(r),l=n(87918),a=n.n(l),i=n(17440),c=n(6782),s=n(65503),u=n(31517),d=n(39148);const m=(0,n(79692).Z)({dropDownSelector:{width:"100%"}}),p=(0,r.memo)((e=>{let{rowData:t,rowContext:n,textFieldInputRef:l,options:p}=e;const g=m(),{attribute:{attrType:f={},fieldName:v=null}={},filter:h,id:b}=t||{},{changeFilter:x}=n,y=p||f&&v&&(0,i.pipe)(s.d3Y,(0,i.map)((e=>({value:e,label:(0,c.Z)((0,s.XS2)(e))}))))(f,v),C=(0,r.useCallback)((e=>{const t={fieldName:v,filter:e.value,values:[]};x(t,b)}),[x,b,v]);return(0,r.useEffect)((()=>{(v&&!h||v&&!(0,d.dG)(y,h))&&C(y[0])}),[v,h,C,y]),o().createElement(u.Z,{label:"",height:40,isDisabled:!y,placeholder:a().text("Equals"),value:(0,d.dG)(y,h),options:y,onChange:C,className:g.dropDownSelector,textFieldInputRef:l})}))},70215:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(24328),o=n.n(r),l=n(65503),a=n(24754);const i=(0,n(79692).Z)({input:{margin:0,borderRadius:"4px",width:"100%",paddingTop:0,paddingBottom:0},root:{borderRadius:"4px 4px 0 0",padding:0,display:"flex",alignItems:"center",margin:0},valuesEditor:{display:"flex",alignItems:"center",width:"222px!important",minHeight:"40px",flexShrink:0}}),c=(0,r.memo)((e=>{let{rowData:t,rowContext:n}=e;const c=i(),s=(null==t?void 0:t.attribute)&&(0,l.wNf)(t.filter),{changeFilter:u}=n,{values:d=[],attribute:{attrType:m,fieldName:p=null}={},filter:g,id:f}=t||{},v=m&&(0,l.PFL)(m),h=v&&(0,l.l1V)(v,g),b=(0,r.useMemo)((()=>({filter:g,fieldName:p,values:d||[]})),[g,p,d]),x=(0,r.useMemo)((()=>({InputProps:{classes:{root:c.input}}})),[c]),y=(0,r.useMemo)((()=>({root:c.root})),[c]),C=(0,r.useCallback)((e=>{u({fieldName:p,filter:g,values:e},f)}),[u,f,p,g]);return o().createElement("div",{className:c.valuesEditor},(null==t?void 0:t.attribute)&&s&&o().createElement(a.Z,{filter:b,onChange:C,dataTypeDefinition:h,fullWidth:!0,TextFieldProps:x,color:"primary",classes:y,orientation:"horizontal"}))}))},39148:(e,t,n)=>{n.d(t,{Uk:()=>c,dG:()=>u,QB:()=>d,gZ:()=>m});var r=n(65503);function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){l(e,t,n[t])}))}return e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const a=(e,t,n,l)=>{const a=(0,r.jFi)(e,{type:n}),i=t.label||t.name;return o({attrType:t,title:i},(0,r.kqr)(t)?{fieldName:t.name}:{entityTypeUri:n,pathToTitle:Array.isArray(l)?[a,...l,i]:[a,i],fieldName:(0,r.Tde)(t.uri)})},i=function(e,t,n,r){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];const a=o({},r(e,t,n,l),{uri:t.uri}),c=t.children?t.children.map((o=>i(e,o,n,r,l.concat(t.label)))):[];return c.length&&(a.children=c),a},c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return(0,r.kkq)(e,n).map((e=>{const o=(0,r.kqr)(e)?null:t.uri;return i(n,e,o,a)}))},s=(e,t)=>{let n;const r=(e,t)=>{for(const o of t){if(e===o.fieldName)return void(n=o);"children"in o&&r(e,o.children)}};return r(e,t),n},u=(e,t)=>e?e.find((e=>e.value===t)):null,d=(e,t)=>e.map(((e,n)=>({attribute:e.fieldName?s(e.fieldName,t):void 0,filter:e.filter,id:n,values:e.values}))),m=e=>{const t=e.find((e=>!(0,r.kqr)(e)));return t?(0,r.u5q)(t.uri):null}},63172:(e,t,n)=>{n.d(t,{Z:()=>x});var r=n(24328),o=n.n(r),l=n(87918),a=n.n(l),i=n(94079),c=n(36444),s=n(65503),u=n(12714),d=n(79692);function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){p(e,t,n[t])}))}return e}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const g={alignSelf:"center"},f=(0,d.Z)((()=>({buttonsWrapper:{display:"flex"},applyButton:m({},g,{marginRight:"16px"}),cancelButton:m({},g,{marginLeft:"auto"}),clearButon:m({},g)}))),v=e=>{let{onClear:t,onCancel:n,onApply:r}=e;const l=f();return o().createElement("div",{className:l.buttonsWrapper},o().createElement(i.Button,{onClick:t,variant:"text",color:"default",className:l.clearButon},a().text("Clear all")),o().createElement(i.Button,{onClick:n,variant:"text",color:"default",className:l.cancelButton},a().text("Cancel")),o().createElement(i.Button,{onClick:r,variant:"text",color:"primary",className:l.applyButton},a().text("Apply")))};var h=n(41128);const b=(0,d.Z)((e=>({triggerButton:{minWidth:0,color:"rgba(0,0,0,0.54)",width:"40px",marginLeft:"auto",marginRight:"12px"},filtersBuilderWrapper:{marginTop:"20px"},popupContent:{paddingLeft:"16px",paddingTop:"20px",paddingBottom:"6px",width:"770px"},divider:{marginBottom:"14px",marginLeft:"-16px",background:"rgba(0, 0, 0, 0.121569)"},changedFiltersIndicator:{backgroundColor:(0,h.U1)(e.palette.primary.main,.12)}}))),x=(0,r.memo)((e=>{let{filters:t,attributeTypes:n,onChange:l,components:d,children:m,onTogglePopup:p,isFiltersApplied:g,dataReltioId:f}=e;const h=b(),x=(0,r.useRef)(),[y,C]=(0,r.useState)(!1),[w,E]=(0,r.useState)([]),D=(null!=g?g:(0,s.Uqd)()(t))?"primary":"inherit",R=()=>{p&&p(!y),C((e=>!e))};(0,r.useEffect)((()=>{y&&E(t)}),[t,y]);const I=(0,r.useCallback)((()=>{l(w),R()}),[w,l]),k=(0,r.useCallback)((()=>{R()}),[]),O=(0,r.useCallback)((()=>{E([])}),[]);return o().createElement(o().Fragment,null,o().createElement(i.Button,{"data-reltio-id":f,ref:x,color:D,classes:{root:h.triggerButton,textPrimary:h.changedFiltersIndicator},onClick:R},o().createElement(c.Z,{color:D})),o().createElement(i.Popover,{open:y,classes:{paper:h.popupContent},anchorEl:x.current,onClose:R,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"}},o().createElement(o().Fragment,null,o().createElement(i.Typography,{variant:"h6"},a().text("Filter")),o().createElement("div",{className:h.filtersBuilderWrapper},m,o().createElement(u.Z,{attributeTypes:n,filters:w,onChange:E,components:d})),o().createElement(i.Divider,{className:h.divider}),o().createElement(v,{onApply:I,onCancel:k,onClear:O}))))}))},32540:(e,t,n)=>{n.d(t,{r:()=>s});var r=n(17440),o=n(24328),l=n.n(o),a=n(73038),i=n(21697);function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(this,arguments)}const s=e=>{let{columnId:t,rowIndex:n,collapseContextValue:o,getRowHeight:s,tableRowsData:u,columnsData:d,getHeightForSubRow:m}=e,p=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,["columnId","rowIndex","collapseContextValue","getRowHeight","tableRowsData","columnsData","getHeightForSubRow"]);return l().createElement(a.x.Provider,{value:o},l().createElement("div",c({},p,{style:{height:s(n)}}),u.length>0&&(0,i.getCellContentFromRowsData)({columnIndex:d.findIndex((0,r.propEq)("id",t)),headData:d,rowsData:u,rowIndex:n,getHeightForSubRow:m})))}},40454:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(24328),o=n(21697),l=n(14838),a=n(25461),i=n(17440),c=n(60730);const s=e=>{let{rowsData:t,columnsData:n,renderRowCell:s=l.Z,getRowCellHeight:u=a.Z,defaultRowHeight:d=48,maxRowValuesCount:m=1/0}=e;const{tableRowsData:p,collapseContextValue:g}=(0,c.Z)({rowsData:t,columnsData:n,renderRowCell:s,getRowCellHeight:u,maxRowValuesCount:m});return(0,r.useMemo)((()=>{const e=p.reduce(((e,t,n)=>{const{data:r}=t;return e[n]=(0,o.calculateRowHeight)(r,d),e}),{});return{getRowHeight:t=>(0,i.pathOr)(0,[t,"height"],e),collapseContextValue:g,getHeightForSubRow:(t,n,r)=>{const o=[t,"subRowHeight",n,r,"height"];return(0,i.pathOr)(0,o,e)},tableRowsData:p}}),[p,d,g])}},86776:(e,t,n)=>{n.d(t,{R:()=>f});var r=n(24328),o=n.n(r),l=n(71153),a=n.n(l),i=n(52730),c=n(17440),s=n(49885),u=n(94079),d=n(79692),m=n(65503);const p=(0,d.Z)({root:e=>{let{dataTenantId:t}=e;const n=(0,m.bsH)(t);return{backgroundColor:n,color:(0,m.nHA)(n),height:"18px",padding:"0 3px"}}}),g=e=>`DT:${(0,c.slice)(0,1,e)}`,f=e=>{let{dataTenantId:t,className:n}=e;const r=p({dataTenantId:t}),l=(0,i.useSelector)(s.ZP.selectors.getDataTenants),d=(0,c.pipe)((0,c.defaultTo)([]),(0,c.find)((0,c.propEq)("id",t)))(l),m=(0,c.pipe)((0,c.propOr)("","label"),c.toUpper,(0,c.ifElse)((0,c.startsWith)("DT:"),(0,c.slice)(0,4),g))(d),f=o().createElement("div",{className:a()(r.root,n)},o().createElement(u.Typography,{variant:"body2"},m));return null!=d&&d.label?o().createElement(u.Tooltip,{title:d.label},f):f}},58970:(e,t,n)=>{n.d(t,{Z:()=>u});var r=n(24328),o=n.n(r),l=n(52730),a=n(49885),i=n(65503),c=n(52309);const s=e=>{let{name:t,values:n,onChange:s,entityType:u,TextFieldProps:d,fullWidth:m}=e;const p=(0,l.useSelector)(a.ZP.selectors.getMetadata),[g,f]=(0,r.useMemo)((()=>(0,i.UkJ)((0,i.KbW)(p,null==u?void 0:u.uri))),[null==u?void 0:u.uri,p]),v=(0,r.useMemo)((()=>function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((e=>{let{label:t,uri:n}=e;return{label:t,value:n}}))}(t===i.Ury.matchRules?f:g)),[t,f,g]);return o().createElement(c.Z,{values:n,onChange:s,options:v,TextFieldProps:d,fullWidth:m})};s.displayName="MatchRulesSelector";const u=s},52309:(e,t,n)=>{n.d(t,{Z:()=>y});var r=n(24328),o=n.n(r),l=n(17440),a=n(65503),i=n(96808),c=n(12079),s=n(36179),u=n(82455),d=n(92575),m=n(31276);function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){g(e,t,n[t])}))}return e}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const f=(0,n(79692).Z)((e=>({option:{paddingLeft:"35px"},dropdownIndicator:{cursor:"pointer",color:e.palette.text.secondary,marginTop:0,marginBottom:0},clearIndicator:{display:"none"}}))),v={input:e=>p({},e,{fontSize:"14px"}),menuPortal:e=>p({},e,{zIndex:1300}),menuList:e=>p({},e,{maxHeight:"240px",padding:"8px 0"}),menu:e=>p({},e,{maxHeight:"240px"})};function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){b(e,t,n[t])}))}return e}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const x=e=>{let{values:t=[],onChange:n,options:p,fullWidth:g,TextFieldProps:b={}}=e;const x=f(),y=(0,r.useRef)(null),C=(0,r.useCallback)((e=>p.find((t=>t.value===e))||{value:e,label:e}),[p]),w=(0,r.useMemo)((()=>t.map(C)),[C,t]),{InputProps:E={},className:D}=b,R=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(b,["InputProps","className"]);return o().createElement(d.Z,{value:w,onChange:(0,l.pipe)((0,l.defaultTo)([]),(0,l.pluck)("value"),n),options:p,TextFieldProps:h({InputProps:h({disableUnderline:(0,a.O27)(t)},E),variant:"filled",className:D,ref:y},R),components:{DropdownIndicator:i.Z,Option:c.Z,Menu:s.Z,MultiValue:u.Z,IndicatorSeparator:m.Vd},inputRef:y,classes:x,styles:h({},v,{container:e=>h({},e,g?{width:"100%"}:{})}),menuPortalTarget:document.body})};x.displayName="MultiValueSelector";const y=(0,r.memo)(x)},35071:(e,t,n)=>{n.d(t,{Z:()=>h});var r=n(13980),o=n.n(r),l=n(24328),a=n.n(l),i=n(73272),c=n(58241);function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}const u=e=>a().createElement("svg",s({viewBox:"0 0 20 20"},e),a().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.5 10L14 5.5V9h-3.5L5 3.5 3.5 5l6.04 6H14v3.5l4.5-4.5zM7.04 11.455L3.5 15 5 16.5l3.54-3.545-1.5-1.5z"}));var d=n(87918),m=n.n(d),p=n(71153),g=n.n(p);const f=(0,n(79692).Z)((e=>({expanded:{backgroundColor:"rgba(0, 0, 0, 0.03)"},info:{fontSize:"13px",color:e.palette.text.secondary,wordWrap:"break-word"},icon:{width:"32px",height:"32px",fill:"#fff",backgroundColor:"rgba(177, 92, 189, 1)",borderRadius:"50%",margin:"5px 12px 0 8px"},infoBlock:{display:"flex",flexDirection:"row"},header:{display:"flex",flexDirection:"row",paddingBottom:"5px"},flex:{flex:1},caption:{fontSize:"16px",color:"rgba(0, 0, 0, 0.87)"},title:{display:"flex",flexDirection:"row",alignItems:"center",margin:"6px 0 8px 0"},flag:{height:"12px",width:"12px",stroke:"#000000",fill:"none",margin:"2px 5px 0 5px"},pmReviewCard:{borderTop:"3px solid #E83D40",flexDirection:"column",width:"100%"},date:{fontSize:"13px",color:"rgba(0, 0, 0, 0.87)"},mainInfo:{display:"flex",flexDirection:"column",flex:1}}))),v=e=>{let{date:t,type:n,createdBy:r,step:o,children:s,Actions:d}=e;const p=f(),[v,h]=(0,l.useState)(!1);return a().createElement("div",{className:p.pmReviewCard},a().createElement("div",{className:g()(p.header,{[p.expanded]:v})},a().createElement(u,{className:p.icon}),a().createElement("div",{className:p.mainInfo},a().createElement("div",{className:p.title},a().createElement("div",{className:g()(p.caption,p.flex)},m().text("Match review")),a().createElement(i.Z,{className:p.flag}),a().createElement("span",{className:p.date},m().date(t,"L")),a().createElement(c.Z,{isOpen:v,onClick:()=>{h(!v)}})),a().createElement("div",{className:p.infoBlock},a().createElement("div",{className:p.flex},a().createElement("div",{className:p.info},n),a().createElement("div",{className:p.info},m().text("Created by ${createdBy}",{createdBy:r})),a().createElement("div",{className:p.info},m().text("Step: ${step}",{step:o}))),d))),v?s:null)};v.propTypes={date:o().number,createdBy:o().string,type:o().string,step:o().string,children:o().oneOfType([o().node,o().arrayOf(o().node)]),Actions:o().node};const h=v},14377:(e,t,n)=>{n.d(t,{Z:()=>f});var r=n(24328),o=n.n(r),l=n(47603),a=n(87918),i=n.n(a),c=n(8818),s=n(55847),u=n(17440),d=n(94079);const m=(0,n(79692).Z)((e=>({menuItem:{height:"32px"},menuText:{color:e.palette.text.primary,fontSize:"13px",lineHeight:"15px"},checkbox:{padding:0,marginRight:"15px"}}))),p=(0,r.forwardRef)(((e,t)=>{let{item:n,onMenuClose:r=u.identity}=e;const l=m(),{text:a,onClick:i,id:c,selected:s}=n;return o().createElement(d.MenuItem,{classes:{root:l.menuItem},onClick:e=>{r(e),i(e)},ref:t,"data-modal":!0,"data-reltio-id":`reltio-settings-menu-item${c}`},o().createElement(d.Checkbox,{checked:s,className:l.checkbox,color:"primary"}),o().createElement(d.Typography,{classes:{root:l.menuText}},a))}));p.displayName="SettingsMenuItemRenderer";const g=p,f=e=>{let{items:t,menuId:n}=e;return o().createElement(s.Z,{buttonComponent:c.k,buttonProps:{icon:l.Z,tooltipTitle:i().text("Settings"),size:"L"},menuId:n,menuItems:t,MenuItemRenderer:g})}},54337:(e,t,n)=>{n.d(t,{Z:()=>d});var r=n(24328),o=n.n(r),l=n(52730),a=n(17440),i=n(49885),c=n(65503),s=n(52309);const u=e=>{let{values:t,onChange:n,TextFieldProps:u,fullWidth:d}=e;const m=(0,l.useSelector)(i.ZP.selectors.getMetadata),p=(0,r.useMemo)((()=>(0,a.pipe)((0,a.sortBy)((e=>e.label)),(0,a.map)((e=>{let{label:t,uri:n}=e;return{label:t,value:(0,c.nIW)(n)}})))(m.sources)),[m.sources]);return o().createElement(s.Z,{values:t,onChange:n,options:p,TextFieldProps:u,fullWidth:d})};u.displayName="SourceSystemsSelector";const d=u},59651:(e,t,n)=>{n.d(t,{c:()=>s});var r=n(65503),o=n(24328),l=n.n(o),a=n(17440),i=n(94079);const c=(0,n(79692).Z)({root:{height:"18px",width:"18px",textAlign:"center"}}),s=e=>{let{tenant:t}=e;const n=c(),s=(0,o.useMemo)((()=>{const e=(0,r.bsH)(null==t?void 0:t.id);return{backgroundColor:e,color:(0,r.nHA)(e)}}),[null==t?void 0:t.id]);return l().createElement("div",{style:s,className:n.root},l().createElement(i.Typography,{variant:"body2"},(0,a.toUpper)((0,a.head)(null==t?void 0:t.name))))}},95474:(e,t,n)=>{n.d(t,{H:()=>x});var r=n(24328),o=n.n(r),l=n(52730),a=n(17440),i=n(83543),c=n(49885),s=n(65503),u=n(55847),d=n(59651),m=n(94079),p=n(31276),g=n(79692);const f=(0,g.Z)({root:{minHeight:"48px",gap:"30px"}}),v=(0,r.forwardRef)(((e,t)=>{let{item:n,onMenuClose:r=p.ZT}=e;const l=f(),{tenant:a,onClick:i}=n,c=a.label?`${a.label} : ${a.name}`:a.name;return o().createElement(m.MenuItem,{onClick:()=>{r(),i(a)},ref:t,className:l.root},o().createElement(d.c,{tenant:a}),o().createElement(m.Typography,null,c))}));v.displayName="TenantMenuItem";const h=v,b=(0,g.Z)({menuButtonRoot:{padding:0}}),x=e=>{let{entityTypeUri:t,onChangeTenant:n,selectedTenant:m}=e;const p=b(),g=(0,l.useSelector)(c.ZP.selectors.getDataTenants),f=(0,l.useSelector)(c.ZP.selectors.getTenantObject),v=(0,r.useMemo)((()=>(0,a.pipe)((0,a.defaultTo)([]),(0,a.filter)((0,s.oZ7)(t)),(0,a.map)((e=>({tenant:e,onClick:n}))),(0,a.prepend)({tenant:f,onClick:n}))(g)),[g,t,n,f]);return(0,s.O27)(g)||!n?null:o().createElement(u.Z,{menuId:"tenantSelector",MenuItemRenderer:h,buttonContent:o().createElement(d.c,{tenant:m}),menuItems:v,buttonProps:{variant:"outlined",endIcon:o().createElement(i.Z,null),classes:{root:p.menuButtonRoot}},popoverProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}}})}},34635:(e,t,n)=>{n.d(t,{Z:()=>I});var r=n(24328),o=n.n(r),l=n(71153),a=n.n(l);const i=e=>{let{value:t}=e;return t||null},c=e=>{let{label:t}=e;return t||null};var s=n(79692);const u=(0,s.Z)((()=>({hidden:{display:"none"}}))),d=e=>{let{columnValue:t,rowData:n,setHoveredColumn:r,resetHoveredColumn:l,someRowIsDragging:c}=e;const s=u(),d=n.cellRenderer||i,m=r?()=>r(t):void 0;return o().createElement("td",{onMouseOver:m,onMouseLeave:l},o().createElement("div",{className:a()({[s.hidden]:c})},o().createElement(d,{value:t[n.id]})))};var m=n(14940),p=n(13896),g=n(42484);let f;!function(e){e.Column="Column",e.Row="Row"}(f||(f={}));const v=(0,s.Z)((e=>({tableData:{position:"relative","&:hover":{"& $dragIndicator":{opacity:1}}},dragIndicator:{opacity:0,position:"absolute",top:0,left:"50%",cursor:"move",transition:"opacity 0.3s",transform:"translateX(-50%) rotate(90deg)",zIndex:5},dragIndicatorIcon:{width:"14.4px",height:"18px",color:e.palette.text.secondary},hidden:{display:"none"}}))),h=e=>{let{columnValue:t,rowData:n,index:l,onMoveColumn:c,onDropColumn:s,shouldRenderDragIndicator:u,setHoveredColumn:d,resetHoveredColumn:h,someRowIsDragging:b}=e;const x=v(),y=o().useRef(null),C=o().useRef(null),w=n.cellRenderer||i,[{targetId:E},D]=(0,p.useDrop)({accept:f.Column,hover:(e,n)=>{var r;if(!y.current)return;const o=e.index,a=l;if(o===a)return;const i=null===(r=y.current)||void 0===r?void 0:r.getBoundingClientRect(),s=(i.right-i.left)/2,u=n.getClientOffset().x-i.left;o<a&&u<s||o>a&&u>s||(c(e.columnValue.id,t.id),e.index=a)},drop:()=>{s&&s()},collect:e=>({targetId:e.getHandlerId()})}),[{opacity:R,sourceId:I},k,O]=(0,p.useDrag)({item:{type:f.Column,index:l,getColumnWidth:()=>{var e;return null==y||null===(e=y.current)||void 0===e?void 0:e.offsetWidth},columnValue:t,rowData:n},isDragging:e=>e.getItem().index===l,collect:e=>({opacity:e.isDragging()?0:1,sourceId:e.getHandlerId()})});(0,r.useEffect)((()=>{O((0,g.r)(),{captureDraggingState:!0}),D(y),k(C)}),[]);const N=d?()=>d(t):void 0;return o().createElement("td",{style:{opacity:R},ref:y,className:x.tableData,"data-source-id":I,"data-target-id":E,onMouseOver:N,onMouseLeave:h},o().createElement("div",{className:a()({[x.hidden]:b})},u&&o().createElement("div",{ref:C,className:x.dragIndicator},o().createElement(m.Z,{className:x.dragIndicatorIcon})),o().createElement(w,{value:t[n.id]})))},b=(0,s.Z)((e=>({tableHead:{position:"relative","&:hover":{"& $dragIndicator":{opacity:1}}},dragIndicator:{height:"100%",opacity:0,position:"absolute",top:0,left:0,cursor:"move",transition:"opacity 0.3s"},dragIndicatorIcon:{top:"15px",width:"14.4px",height:"18px",color:e.palette.text.secondary,position:"relative"}}))),x=e=>{let{rowData:t,isDraggable:n,dragRef:r}=e;const l=b(),a=t.headCellRenderer||c;return o().createElement("th",{className:l.tableHead},n&&o().createElement("div",{ref:r,className:l.dragIndicator},o().createElement(m.Z,{className:l.dragIndicatorIcon})),o().createElement(a,t))},y=e=>{let{rowData:t,columnsData:n,index:r,onMoveColumn:l,onDropColumn:a,setHoveredColumn:i,resetHoveredColumn:c}=e;const s=0===r;return o().createElement("tr",{className:t.rowClassName},o().createElement(x,{rowData:t,isDraggable:!1}),n.map(((e,n)=>{const r=e.isDraggable,u=s&&r;return l?o().createElement(h,{key:e.id||n,columnValue:e,rowData:t,index:n,onMoveColumn:l,onDropColumn:a,shouldRenderDragIndicator:u,setHoveredColumn:i,resetHoveredColumn:c}):o().createElement(d,{key:e.id||n,rowData:t,columnValue:e,setHoveredColumn:i,resetHoveredColumn:c})})))},C=e=>{let{rowData:t,index:n,columnsData:l,onMoveRow:a,onDropRow:i,onMoveColumn:c,onDropColumn:s,setHoveredColumn:u,resetHoveredColumn:m,someRowIsDragging:g,setSomeRowIsDragging:v}=e;const b=o().useRef(null),y=o().useRef(null),[{targetId:C},w]=(0,p.useDrop)({accept:f.Row,hover:(e,r)=>{if(!b.current)return;const o=e.index,l=n;if(o===l)return;const i=b.current.getBoundingClientRect(),c=(i.bottom-i.top)/2,s=r.getClientOffset().y-i.top;o<l&&s<c||o>l&&s>c||(a(e.id,t.id),e.index=l)},drop:()=>{i&&i()},collect:e=>({targetId:e.getHandlerId()})}),[{isDragging:E,sourceId:D},R,I]=(0,p.useDrag)({item:{type:f.Row,index:n,id:t.id},collect:e=>({sourceId:e.getHandlerId(),isDragging:e.isDragging()})});(0,r.useEffect)((()=>{I(w(b)),R(y)}),[]),(0,r.useEffect)((()=>{v(E)}),[E,v]);const k=E?0:1;return o().createElement("tr",{className:t.rowClassName,style:{opacity:k},ref:b,"data-target-id":C,"data-source-id":D},o().createElement(x,{rowData:t,isDraggable:!0,dragRef:y}),l.map(((e,n)=>c?o().createElement(h,{key:e.id||n,columnValue:e,rowData:t,index:n,onMoveColumn:c,onDropColumn:s,shouldRenderDragIndicator:!1,setHoveredColumn:u,resetHoveredColumn:m,someRowIsDragging:g}):o().createElement(d,{key:e.id||n,columnValue:e,rowData:t,setHoveredColumn:u,resetHoveredColumn:m,someRowIsDragging:g}))))},w=e=>{let{columnWidth:t,columnHeight:n,item:r}=e;const{rowData:l,columnValue:a}=r,c=l.cellRenderer||i;return o().createElement("div",{style:{width:t,height:n,background:"rgba(245,245,245, .5)"}},o().createElement(c,{value:a[l.id]}))},E=(0,s.Z)({dragLayer:{position:"fixed",top:0,left:0,width:"100%",height:"100%",zIndex:1300,pointerEvents:"none"}}),D=(e,t,n)=>{const r=(null==e?void 0:e.getBoundingClientRect())||{x:0,y:0},o=`translate(${(null==t?void 0:t.x)-(null==r?void 0:r.x)-n/2}px, ${(null==t?void 0:t.y)-(null==r?void 0:r.y)}px`;return{display:"flex",transform:o,WebkitTransform:o}},R=e=>{var t;let{columnHeight:n}=e;const l=E(),a=(0,r.useRef)(),{isDragging:i,clientOffset:c,item:s}=(0,p.useDragLayer)((e=>({isDragging:e.isDragging(),clientOffset:e.getClientOffset(),item:e.getItem()})));if(!i||!s)return null;const u=null===(t=s.getColumnWidth)||void 0===t?void 0:t.call(s);return o().createElement("div",{className:l.dragLayer,ref:a},o().createElement("div",{style:D(a.current,c,u)},s.type===f.Column&&o().createElement(w,{columnWidth:u,columnHeight:n,item:s})))},I=(0,r.memo)((e=>{var t;let{className:n,rowsData:l,columnsData:a,theadRowsNumber:i=0,onMoveRow:c,onDropRow:s,onMoveColumn:u,onDropColumn:d,setHoveredColumn:m,resetHoveredColumn:p}=e;const[g,f]=(0,r.useState)(!1),v=(0,r.useRef)(null),h=null==v||null===(t=v.current)||void 0===t?void 0:t.offsetHeight,b=!!c||!!u;return o().createElement(o().Fragment,null,b&&o().createElement(R,{columnHeight:h}),o().createElement("table",{ref:v,className:n},i>0&&o().createElement("thead",null,l.slice(0,i).map(((e,t)=>o().createElement(y,{key:e.id||t,rowData:e,columnsData:a,index:t,onMoveColumn:u,onDropColumn:d,setHoveredColumn:m,resetHoveredColumn:p})))),o().createElement("tbody",null,l.slice(i).map(((e,t)=>c?o().createElement(C,{key:e.id||t,index:t+i,rowData:e,columnsData:a,onMoveRow:c,onDropRow:s,onMoveColumn:u,onDropColumn:d,setHoveredColumn:m,resetHoveredColumn:p,someRowIsDragging:g,setSomeRowIsDragging:f}):o().createElement(y,{key:e.id||t,index:t+i,rowData:e,columnsData:a,onMoveColumn:u,onDropColumn:d,setHoveredColumn:m,resetHoveredColumn:p}))))))}))},52049:(e,t,n)=>{n.d(t,{B:()=>o});var r=n(24328);const o=n.n(r)().createContext("");o.displayName="IdContext"}}]);
2
+ //# sourceMappingURL=4748.js.map
package/4748.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"4748.js","mappings":"keAEA,MA6BA,EA7B+DA,GAEvD,2BACIC,MAAO,GACPC,OAAQ,GACRC,QAAQ,YACRC,MAAM,6BACNC,WAAW,+BACXC,UAAU,SACNN,GAEJ,8BACI,0BACIO,EAAE,0LACFC,GAAG,sBAGX,uBAAGC,UAAU,mBAAmBC,OAAO,OAAOC,YAAa,EAAGC,KAAK,OAAOC,SAAS,WAC/E,0BAAML,GAAG,mBAAmBI,KAAK,QAC7B,yBAAKE,UAAU,uBAEnB,uBAAGC,KAAK,yBAAyBH,KAAK,OAAOI,YAAa,KACtD,0BAAMT,EAAE,qB,eCtBrB,MAAMU,GAAYC,EAAAA,EAAAA,IAAW,KAAM,CACtCC,QAAS,CACLlB,MAAO,OACPC,OAAQ,OACRkB,QAAS,OACTC,WAAY,SACZC,eAAgB,gBAChBC,WAAY,EACZ,UAAW,CACPC,OAAQ,UACRJ,QAAS,QAEb,gBAAiB,CACbI,OAAQ,UACRC,MAAO,uBAGfC,WAAY,OCgChB,GAAeC,EAAAA,EAAAA,OA1CI,IAA2D,IAA1D,QAACC,EAAD,WAAUC,GAAgD,EAC1E,MAAMC,EAASb,KACRT,GAAIuB,EAAL,UAAYC,GAAaJ,GAAW,IACpC,iBAACK,EAAD,UAAmBC,EAAnB,aAA8BC,GAAgBN,EAE9CO,GAAkBC,EAAAA,EAAAA,cAAY,KAChCJ,EAAiBF,KAClB,CAACE,EAAkBF,IAEhBO,GAAiBD,EAAAA,EAAAA,cAAY,KAC/BF,EAAaJ,KACd,CAACI,EAAcJ,IAEZQ,GAAcF,EAAAA,EAAAA,cAAY,KAC5BH,EAAUH,KACX,CAACA,EAAOG,IACX,OACI,yBAAKM,UAAWV,EAAOX,SACnB,kBAACsB,EAAA,EAAD,CACIC,aAAcC,IAAAA,KAAU,OACxBC,KAAMC,EAAAA,EACNC,KAAK,IACLC,QAASX,IAEZJ,GACG,kBAACS,EAAA,EAAD,CACIC,aAAcC,IAAAA,KAAU,aACxBC,KAAMI,EACNF,KAAK,IACLC,QAAST,IAGjB,kBAACG,EAAA,EAAD,CACIC,aAAcC,IAAAA,KAAU,UACxBC,KAAMK,EAAAA,QACNH,KAAK,IACLC,QAASR,Q,0BCjCzB,MAuCA,GAAeZ,EAAAA,EAAAA,OAvCW,IAA0D,IAAzD,QAACC,EAAD,WAAUC,EAAV,uBAAsBqB,GAAmC,EAChF,MAAM,UAAClB,EAAD,GAAYxB,EAAZ,OAAgB2C,GAAUvB,GAAW,IACrC,aAACwB,EAAD,aAAeC,EAAf,gBAA6BC,GAAmBzB,EAChD0B,GAA4BlB,EAAAA,EAAAA,cAAamB,IAASC,EAAAA,EAAAA,KAA6B,CAACD,KAAAA,KAAQ,IACxFE,GAAaC,EAAAA,EAAAA,UAAQ,IAAM,CAAC,CAACnD,GAAI,GAAIoD,MAAO,GAAIC,WAAYP,KAAmB,CAACA,IAEhFQ,GAAkBzB,EAAAA,EAAAA,cACnB0B,IACG,GAAInC,EAAS,CACT,MAAMoC,EAAY,CACdC,UAAWF,EAAW/B,UAAUiC,UAChCd,OAAAA,EACAe,OAAQ,IAGZd,EAAaY,EAAWxD,QAExB6C,EAAa,CACTY,UAAWF,EAAW/B,UAAUiC,UAChCd,OAAQ,KACRe,OAAQ,OAIpB,CAACb,EAAcD,EAAc5C,EAAIoB,EAASuB,IAE9C,OACI,kBAACgB,EAAA,EAAD,CACIC,YAAaV,EACbW,SAAO,EACPC,QAAM,EACNC,MAAOvC,EACPwC,SAAUjB,EACVkB,SAAUX,EACVY,YAAaxB,EAAuByB,Y,eC5CzC,MAAM1D,GAAYC,EAAAA,EAAAA,IAAW,KAAM,CACtC0D,aAAc,CACV3E,MAAO,QACPC,OAAQ,OACRqB,WAAY,GAEhBsD,eAAgB,CACZ5E,MAAO,QACPsB,WAAY,EACZuD,UAAW,EACXC,aAAc,GAElBC,gBAAiB,CACb3D,WAAY,SACZ4D,YAAa,YCHfC,EAAe,CAACjB,UAAW,KAAMd,OAAQ,KAAMe,OAAQ,IACvDiB,EAAO,IAAM,KAwInB,GAAexD,EAAAA,EAAAA,OA5HkB,IAAiE,IAAhE,eAACyD,EAAD,QAAiBC,EAAjB,SAA0BC,EAA1B,WAAoCC,EAAa,IAAe,EAC9F,MAAOC,aAAcC,EAAoBC,eAAgBC,GAAwBJ,EAC3EK,GAAWC,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,aACvBC,GAAaC,EAAAA,EAAAA,KAAcJ,GAAUK,EAAAA,EAAAA,IAA2Bb,KAChE,aAACR,EAAD,eAAeC,EAAf,gBAA+BG,GAAmB/D,IAClDiF,GAAgBC,EAAAA,EAAAA,QAAOd,GAC7Ba,EAAcE,QAAUf,EAExB,MAAMgB,GAAqBF,EAAAA,EAAAA,QAAO,MAC5BG,GAAyBH,EAAAA,EAAAA,QAAO,MAChCI,GAAqBJ,EAAAA,EAAAA,QAAO,MAE5BK,GAAa7C,EAAAA,EAAAA,UACf,KAAM,CACF8C,2BAA4B7B,EAC5B8B,wBAAyB7B,EACzB8B,iBAAkB3B,KAEtB,CAACJ,EAAcC,EAAgBG,IAG7B4B,GAAyBjD,EAAAA,EAAAA,UAAQ,KAAMkD,EAAAA,EAAAA,IAA0BzB,EAAgBW,EAAYH,IAAW,CAC1GR,EACAQ,EACAG,IAEEe,GAAWnD,EAAAA,EAAAA,UAAQ,IAAO0B,EAAQ0B,QAASC,EAAAA,EAAAA,IAAuB3B,EAASuB,GAA0B,IAAK,CAC5GA,EACAvB,IAGJkB,EAAmBH,QAAUU,EAASC,QAEtCE,EAAAA,EAAAA,YAAU,KACFZ,EAAmBD,SAAWE,EAAuBF,UAAYG,EAAmBH,UACpFC,EAAmBD,QAAQc,cAAc,SAASC,QAClDb,EAAuBF,QAAU,QAEtC,CAACU,EAASC,SAEb,MAAMK,GAAgC/E,EAAAA,EAAAA,cAAY,KAC9CiE,EAAuBF,QAAUU,EAASC,SAC3C,CAACD,EAASC,SAEPM,GAAgC1D,EAAAA,EAAAA,UAClC,KAAM,CACFgB,OAAQyC,KAEZ,CAACA,IAGCnF,GAAmBI,EAAAA,EAAAA,cACpBN,IACG,MAAMuF,EAAa,IAAIpB,EAAcE,SACrCkB,EAAWC,OAAOxF,EAAQ,EAAG,EAAGmD,GAChCI,EAASgC,KAEb,CAAChC,IAGCpD,GAAYG,EAAAA,EAAAA,cACbN,IACG,MAAMuF,EAAa,IAAIpB,EAAcE,SACrCkB,EAAWC,OAAOxF,EAAO,GACzBuD,EAASgC,KAEb,CAAChC,IAGCnD,GAAeE,EAAAA,EAAAA,cAChBN,IACG,MAAMuF,EAAa,IAAIpB,EAAcE,SACrCkB,EAAWC,OAAOxF,EAAQ,EAAG,EAAG,CAC5BkC,UAAWiC,EAAcE,QAAQrE,GAAOkC,UACxCd,OAAQ+C,EAAcE,QAAQrE,GAAOoB,OACrCe,OAAQgC,EAAcE,QAAQrE,GAAOmC,SAEzCoB,EAASgC,KAEb,CAAChC,IAGClC,GAAef,EAAAA,EAAAA,cACjB,CAAC2B,EAAyBxD,KACtB,MAAM8G,GAAaE,EAAAA,EAAAA,QACf,CACI,CAAChH,IAAKiH,EAAAA,EAAAA,QAAOzD,IAEjBkC,EAAcE,SAElBd,EAASgC,KAEb,CAAChC,IAGCjC,GAAehB,EAAAA,EAAAA,cAChB2B,IACGsB,EAAS,IAAIY,EAAcE,QAASpC,MAExC,CAACsB,IAEL,OACI,kBAACoC,EAAA,EAAD,CACIlB,WAAYA,EACZM,SAAUA,EACVa,2BAA4BC,EAC5BC,wBAAyBlC,GAAwBD,EAAAA,EACjDoC,sBAAuBrC,GAAsBD,EAAAA,EAC7CuC,iBAAkBC,EAClBC,uBAAwB9C,EACxB+C,uBAAwB5B,EAAuBF,QAC/C+B,kBAAmB9B,EACnBgB,8BAA+BA,EAC/B/D,gBAAiBsD,EACjBxD,aAAcA,EACdC,aAAcA,EACdpB,iBAAkBA,EAClBC,UAAWA,EACXC,aAAcA,EACd4D,WAAYA,Q,mIC/IxB,MAMA,GANkB7E,E,SAAAA,GAAW,CACzBkH,iBAAkB,CACdnI,MAAO,UCyDf,GAAe0B,EAAAA,EAAAA,OA9CQ,IAA2E,IAA1E,QAACC,EAAD,WAAUC,EAAV,kBAAsBwG,EAAmBC,QAASC,GAAwB,EAC9F,MAAMzG,EAASb,KACRe,WAAW,SAACwG,EAAW,GAAZ,UAAgBvE,EAAY,MAAQ,GAAhD,OAAoDd,EAApD,GAA4D3C,GAAMoB,GAAW,IAC7E,aAACwB,GAAgBvB,EAEjByG,EACFC,GACCC,GACGvE,IACAwE,EAAAA,EAAAA,MACIC,EAAAA,KACAC,EAAAA,EAAAA,MAAKpE,IAAD,CAAaA,MAAAA,EAAOqE,OAAOC,EAAAA,EAAAA,IAAWC,EAAAA,EAAAA,KAAqBvE,QAFnEkE,CAGED,EAAUvE,GAEd8E,GAAiB1G,EAAAA,EAAAA,cAClB2G,IACG,MAAMhF,EAAY,CACdC,UAAWA,EACXd,OAAQ6F,EAAazE,MACrBL,OAAQ,IAEZd,EAAaY,EAAWxD,KAE5B,CAAC4C,EAAc5C,EAAIyD,IAQvB,OANAgD,EAAAA,EAAAA,YAAU,MACDhD,IAAcd,GAAYc,KAAcgF,EAAAA,EAAAA,IAAUX,EAASnF,KAC5D4F,EAAeT,EAAQ,MAE5B,CAACrE,EAAWd,EAAQ4F,EAAgBT,IAGnC,kBAACY,EAAA,EAAD,CACIN,MAAM,GACN1I,OAAQ,GACRiJ,YAAab,EACbc,YAAazG,IAAAA,KAAU,UACvB4B,OAAO0E,EAAAA,EAAAA,IAAUX,EAASnF,GAC1BmF,QAASA,EACThD,SAAUyD,EACVvG,UAAWV,EAAOsG,iBAClBC,kBAAmBA,Q,+ECtDxB,MAAMpH,GAAYC,E,SAAAA,GAAW,CAChCmI,MAAO,CACHC,OAAQ,EACRC,aAAc,MACdtJ,MAAO,OACPuJ,WAAY,EACZC,cAAe,GAEnBC,KAAM,CACFH,aAAc,cACdI,QAAS,EACTvI,QAAS,OACTC,WAAY,SACZiI,OAAQ,GAEZM,aAAc,CACVxI,QAAS,OACTC,WAAY,SACZpB,MAAO,kBACP4J,UAAW,OACXtI,WAAY,KCmDpB,GAAeI,EAAAA,EAAAA,OA5DM,IAA2D,IAA1D,QAACC,EAAD,WAAUC,GAAgD,EAC5E,MAAMC,EAASb,IACT6I,GAAwBlI,MAAAA,OAAA,EAAAA,EAASI,aAAa+H,EAAAA,EAAAA,KAAuBnI,EAAQuB,SAC7E,aAACC,GAAgBvB,GACjB,OAACqC,EAAS,GAAIlC,WAAW,SAACwG,EAAD,UAAWvE,EAAY,MAAQ,GAAxD,OAA4Dd,EAA5D,GAAoE3C,GAAOoB,GAAW,GACtFoI,EAA0BxB,IAAYyB,EAAAA,EAAAA,KAA0BzB,GAChE0B,EACFF,IAA2BG,EAAAA,EAAAA,KAAoCH,EAAyB7G,GAEtFiH,GAAezG,EAAAA,EAAAA,UACjB,KAAM,CACFR,OAAAA,EACAc,UAAAA,EACAC,OAAQA,GAAU,MAEtB,CAACf,EAAQc,EAAWC,IAElBmG,GAAiB1G,EAAAA,EAAAA,UACnB,KAAM,CACF2G,WAAY,CACRC,QAAS,CACLb,KAAM5H,EAAOuH,WAIzB,CAACvH,IAEC0I,GAAgB7G,EAAAA,EAAAA,UAAQ,KAAM,CAAE+F,KAAM5H,EAAO4H,QAAQ,CAAC5H,IAEtD2I,GAAcpI,EAAAA,EAAAA,cACfqI,IAOGtH,EANgC,CAC5Ba,UAAAA,EACAd,OAAAA,EACAe,OAAQwG,GAGYlK,KAE5B,CAAC4C,EAAc5C,EAAIyD,EAAWd,IAGlC,OACI,yBAAKX,UAAWV,EAAO8H,eAClBhI,MAAAA,OAAA,EAAAA,EAASI,YAAa8H,GACnB,kBAACa,EAAA,EAAD,CACIxH,OAAQiH,EACR9E,SAAUmF,EACVG,mBAAoBV,EACpBW,WAAS,EACTR,eAAgBA,EAChB5I,MAAM,UACN8I,QAASC,EACTM,YAAY,oB,ohBCnDhC,MAAMC,EAAsB,CAACnF,EAAoB4C,EAAyBwC,EAAuBC,KAC7F,MAAMC,GAAkBC,EAAAA,EAAAA,KAAmBvF,EAAU,CAACwF,KAAMJ,IACtDpH,EAAQ4E,EAASI,OAASJ,EAAS6C,KAWzC,UACI7C,SAAAA,EACA5E,MAAAA,IAZmB0H,EAAAA,EAAAA,KAAmB9C,GACpC,CACEvE,UAAWuE,EAAS6C,MAEtB,CACEL,cAAAA,EACAO,YAAaC,MAAMC,QAAQR,GAAW,CAACC,KAAoBD,EAASrH,GAAS,CAACsH,EAAiBtH,GAC/FK,WAAWyH,EAAAA,EAAAA,KAAwBlD,EAASmD,QAUlDC,EAAyB,SAC3BhG,EACAiG,EACAb,EACAc,GAEC,IADDb,EACC,uDADmB,GAEpB,MAAMc,EAAY,EAAH,GACRD,EAAsBlG,EAAUiG,EAAUb,EAAeC,GADjD,CAEXU,IAAKE,EAASF,MAEZK,EAAWH,EAASG,SACpBH,EAASG,SAASrD,KAAKsD,GACrBL,EACIhG,EACAqG,EACAjB,EACAc,EACAb,EAAQiB,OAAOL,EAASjD,UAG9B,GAIN,OAFIoD,EAASjF,SAAQgF,EAAUC,SAAWA,GAEnCD,GAGElF,EAA4B,SACrCzB,GAG0B,IAF1BW,EAE0B,uDAFb,GACbH,EAC0B,uCAC1B,OAAOuG,EAAAA,EAAAA,KAAgC/G,EAAgBQ,GAAU+C,KAAKkD,IAClE,MAAMb,GAAgBM,EAAAA,EAAAA,KAAmBO,GAAY,KAAO9F,EAAW4F,IACvE,OAAOC,EAAuBhG,EAAUiG,EAAUb,EAAeD,OAInEqB,EAA4B,CAC9BnI,EACAX,KAEA,IAAI+I,EACJ,MAAMC,EAAgB,CAACrI,EAAWX,KAC9B,IAAK,MAAMiJ,KAAkBjJ,EAAiB,CAC1C,GAAIW,IAAcsI,EAAetI,UAE7B,YADAoI,EAAYE,GAGZ,aAAcA,GACdD,EAAcrI,EAAWsI,EAAeP,YAKpD,OADAM,EAAcrI,EAAWX,GAClB+I,GAGEpD,EAAY,CAACX,EAAyBnF,IAC/CmF,EAAUA,EAAQkE,MAAMC,GAAWA,EAAOlI,QAAUpB,IAAU,KAErD6D,EAAyB,CAAC3B,EAAyB/B,IACrD+B,EAAQsD,KAAI,CAACxF,EAAQpB,KACjB,CACHC,UAAWmB,EAAOc,UAAYmI,EAA0BjJ,EAAOc,UAAWX,QAAmBoJ,EAC7FvJ,OAAQA,EAAOA,OACf3C,GAAIuB,EACJmC,OAAQf,EAAOe,WAKd+B,EAA8Bb,IACvC,MAAMuH,EAAmBvH,EAAeoH,MAAMxK,KAAesJ,EAAAA,EAAAA,KAAmBtJ,KAChF,OAAO2K,GAAmBC,EAAAA,EAAAA,KAAWD,EAAiBhB,KAAO,O,4kBC5GjE,MAAMkB,EAAkB,CACpBC,UAAW,UAGF7L,GAAYC,EAAAA,EAAAA,IAAW,KAAM,CACtC6L,eAAgB,CACZ3L,QAAS,QAEb4L,YAAa,EAAF,GACJH,EADI,CAEP5H,YAAa,SAEjBgI,aAAc,EAAF,GACLJ,EADK,CAERK,WAAY,SAEhBC,WAAY,EAAF,GACHN,OCUX,EAlBsB,IAAyC,IAAxC,QAACO,EAAD,SAAUC,EAAV,QAAoBC,GAAoB,EAC3D,MAAMxL,EAASb,IACf,OACI,yBAAKuB,UAAWV,EAAOiL,gBACnB,kBAAC,EAAAQ,OAAD,CAAQxK,QAASqK,EAASI,QAAQ,OAAO/L,MAAM,UAAUe,UAAWV,EAAOqL,YACtExK,IAAAA,KAAU,cAGf,kBAAC,EAAA4K,OAAD,CAAQxK,QAASsK,EAAUG,QAAQ,OAAO/L,MAAM,UAAUe,UAAWV,EAAOmL,cACvEtK,IAAAA,KAAU,WAEf,kBAAC,EAAA4K,OAAD,CAAQxK,QAASuK,EAASE,QAAQ,OAAO/L,MAAM,UAAUe,UAAWV,EAAOkL,aACtErK,IAAAA,KAAU,Y,eCrBpB,MAAM1B,GAAYC,EAAAA,EAAAA,IAAYuM,IAAD,CAChCC,cAAe,CACXC,SAAU,EACVlM,MAAO,mBACPxB,MAAO,OACPiN,WAAY,OACZjI,YAAa,QAEjB2I,sBAAuB,CACnB9I,UAAW,QAEf+I,aAAc,CACVC,YAAa,OACbtE,WAAY,OACZC,cAAe,MACfxJ,MAAO,SAEX8N,QAAS,CACLhJ,aAAc,OACdmI,WAAY,QACZc,WAAY,2BAEhBC,wBAAyB,CACrBC,iBAAiBC,EAAAA,EAAAA,IAAKV,EAAMW,QAAQC,QAAQC,KAAM,UC+F1D,GAAe3M,EAAAA,EAAAA,OA9FiB,IASnB,IART0D,QAASkJ,EADoB,eAE7BnJ,EAF6B,SAG7BE,EAH6B,WAI7BC,EAJ6B,SAK7ByG,EAL6B,cAM7BwC,EACAC,iBAAkBC,EAPW,aAQ7BC,GACS,EACT,MAAM7M,EAASb,IACT2N,GAAYzI,EAAAA,EAAAA,WACX0I,EAAQC,IAAaC,EAAAA,EAAAA,WAAS,IAC9B1J,EAAS2J,IAAcD,EAAAA,EAAAA,UAAyB,IAGjDE,GADmBP,MAAAA,EAAAA,GAA0BQ,EAAAA,EAAAA,MAAAA,CAAyBX,IACrC,UAAY,UAE7CY,EAAc,KACZX,GACAA,GAAeK,GAEnBC,GAAWM,IAAUA,MAEzBnI,EAAAA,EAAAA,YAAU,KACF4H,GACAG,EAAWT,KAEhB,CAACA,EAAaM,IAEjB,MAAMQ,GAAqBhN,EAAAA,EAAAA,cAAY,KACnCiD,EAASD,GACT8J,MACD,CAAC9J,EAASC,IAEPgK,GAAsBjN,EAAAA,EAAAA,cAAY,KACpC8M,MACD,IAEGI,GAAwBlN,EAAAA,EAAAA,cAAY,KACtC2M,EAAW,MACZ,IAEH,OACI,oCACI,kBAAC,EAAAzB,OAAD,CACI,iBAAgBoB,EAChBa,IAAKZ,EACLnN,MAAOwN,EACP1E,QAAS,CACLb,KAAM5H,EAAO4L,cACb+B,YAAa3N,EAAOmM,yBAExBlL,QAASoM,GAET,kBAAC,IAAD,CAAY1N,MAAOwN,KAEvB,kBAAC,EAAAS,QAAD,CACIN,KAAMP,EACNtE,QAAS,CAACoF,MAAO7N,EAAO+L,cACxB+B,SAAUhB,EAAUxI,QACpByJ,QAASV,EACTW,aAAc,CACVC,SAAU,SACVC,WAAY,SAEhBC,gBAAiB,CACbF,SAAU,MACVC,WAAY,SAGhB,oCACI,kBAAC,EAAAE,WAAD,CAAY1C,QAAQ,MAAM7K,IAAAA,KAAU,WACpC,yBAAKH,UAAWV,EAAO8L,uBAClB5B,EACD,kBAACmE,EAAA,EAAD,CACI/K,eAAgBA,EAChBC,QAASA,EACTC,SAAU0J,EACVzJ,WAAYA,KAGpB,kBAAC,EAAA6K,QAAD,CAAS5N,UAAWV,EAAOiM,UAC3B,kBAAC,EAAD,CACIT,QAAS+B,EACThC,SAAUiC,EACVlC,QAASmC,W,0SChG1B,MAAMc,EAAe,IASf,IATgB,SACzBC,EADyB,SAEzBC,EAFyB,qBAGzBC,EAHyB,aAIzBC,EAJyB,cAKzBC,EALyB,YAMzBC,EANyB,mBAOzBC,GAES,EADNC,E,kXACM,qHACT,OACI,kBAAC,aAAD,CAA6BtM,MAAOiM,GAChC,6BAASK,EAAT,CAAqBC,MAAO,CAAC5Q,OAAQuQ,EAAaF,MAC7CG,EAAc3J,OAAS,IACpBgK,EAAAA,EAAAA,4BAA2B,CACvBC,YAAaL,EAAYM,WAAUC,EAAAA,EAAAA,QAAO,KAAMZ,IAChDa,SAAUR,EACV7J,SAAU4J,EACVH,SAAAA,EACAK,mBAAAA,Q,uGC5BxB,MAiCA,EAjCkC,IAO5B,IAP6B,SAC/B9J,EAD+B,YAE/B6J,EAF+B,cAG/BS,EAAgBC,EAAAA,EAHe,iBAI/BC,EAAmBC,EAAAA,EAJY,iBAK/BC,EAAmB,GALY,kBAM/BC,EAAoBC,EAAAA,GAClB,EACF,MAAM,cAAChB,EAAD,qBAAgBF,IAAwBmB,EAAAA,EAAAA,GAAwB,CAClE7K,SAAAA,EACA6J,YAAAA,EACAS,cAAAA,EACAE,iBAAAA,EACAG,kBAAAA,IAGJ,OAAO9N,EAAAA,EAAAA,UAAQ,KACX,MAAMiO,EAAiBlB,EAAcmB,QAAO,CAACC,EAAOlQ,EAAS2O,KACzD,MAAM,KAAC/M,GAAQ5B,EAEf,OADAkQ,EAAMvB,IAAYwB,EAAAA,EAAAA,oBAAmBvO,EAAMgO,GACpCM,IACR,IAQH,MAAO,CAACrB,aAFcF,IAA6ByB,EAAAA,EAAAA,QAAO,EAAG,CAACzB,EAAU,UAAWqB,GAE7DpB,qBAAAA,EAAsBI,mBAPjB,CAACL,EAAUS,EAAaiB,KAC/C,MAAMC,EAAa,CAAC3B,EAAU,eAAgBS,EAAaiB,EAAa,UACxE,OAAOD,EAAAA,EAAAA,QAAO,EAAGE,EAAYN,IAK+BlB,cAAAA,KACjE,CAACA,EAAec,EAAkBhB,M,+IC9BlC,MAAMvP,GAAYC,EAAAA,EAAAA,GAAW,CAChCwI,KAAM,IAA2B,IAA1B,aAACyI,GAAyB,EAC7B,MAAMjE,GAAkBkE,EAAAA,EAAAA,KAAmBD,GAG3C,MAAO,CACHjE,gBAAAA,EACAzM,OAJU4Q,EAAAA,EAAAA,KAAanE,GAKvBhO,OAAQ,OACRyJ,QAAS,YCFf2I,EAAuB1J,GAAmB,OAAK2J,EAAAA,EAAAA,OAAM,EAAG,EAAG3J,KAEpD4J,EAAkB,IAAsC,IAArC,aAACL,EAAD,UAAe3P,GAAsB,EACjE,MAAMV,EAASb,EAAU,CAACkR,aAAAA,IACpBM,GAAc5M,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,gBAC1B4M,GAAajK,EAAAA,EAAAA,OAAKkK,EAAAA,EAAAA,WAAU,KAAKnG,EAAAA,EAAAA,OAAK0E,EAAAA,EAAAA,QAAO,KAAMiB,IAAtC1J,CAAsDgK,GACnE7J,GAAQH,EAAAA,EAAAA,OACVmK,EAAAA,EAAAA,QAAO,GAAI,SACXC,EAAAA,SACAC,EAAAA,EAAAA,SAAOC,EAAAA,EAAAA,YAAW,QAAQR,EAAAA,EAAAA,OAAM,EAAG,GAAID,GAH7B7J,CAIZiK,GAEIM,EACF,yBAAKxQ,UAAWyQ,GAAAA,CAAWnR,EAAO4H,KAAMlH,IACpC,kBAAC,EAAA0N,WAAD,CAAY1C,QAAQ,SAAS5E,IAMrC,OAFsB8J,MAAAA,GAAAA,EAAY9J,MAEb,kBAAC,EAAAsK,QAAD,CAAStP,MAAO8O,EAAW9J,OAAQoK,GAAqBA,I,qGC3BjF,MAWMG,EAAqB,IAA4E,IAA3E,KAAC9H,EAAD,OAAOnH,EAAP,SAAeoB,EAAf,WAAyBS,EAAzB,eAAqCsE,EAArC,UAAqDQ,GAAsB,EACnG,MAAMjF,GAAqBC,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,cAEhCsN,EAAcC,IAAc1P,EAAAA,EAAAA,UAAQ,KAAM2P,EAAAA,EAAAA,MAAmBC,EAAAA,EAAAA,KAAe3N,EAAUG,MAAAA,OAAX,EAAWA,EAAY4F,OAAO,CAC5G5F,MAAAA,OAD4G,EAC5GA,EAAY4F,IACZ/F,IAGE0C,GAAoB3E,EAAAA,EAAAA,UACtB,IApBe,yEAAW,IAAyBgF,KAAI,QAAC,MAACC,EAAD,IAAQ+C,GAAT,QAAmB,CAAC/C,MAAAA,EAAOrE,MAAOoH,MAoBnF6H,CAAenI,IAASoI,EAAAA,IAAAA,WAAiCJ,EAAaD,IAC5E,CAAC/H,EAAMgI,EAAYD,IAGvB,OACI,kBAAC,IAAD,CACIlP,OAAQA,EACRoB,SAAUA,EACVgD,QAASA,EACT+B,eAAgBA,EAChBQ,UAAWA,KAKvBsI,EAAmBO,YAAc,qBAEjC,W,ylBC1CO,MAAMzS,GAAYC,E,SAAAA,IAAYuM,IAAD,CAChChB,OAAQ,CACJqB,YAAa,QAEjB6F,kBAAmB,CACfnS,OAAQ,UACRC,MAAOgM,EAAMW,QAAQwF,KAAKC,UAC1B/O,UAAW,EACXC,aAAc,GAElB+O,eAAgB,CACZ1S,QAAS,YAIJ2S,EAAe,CACxB1K,MAAQ2K,GAAD,KAAwBA,EAAxB,CAAuCC,SAAU,SACxDC,WAAaF,GAAD,KAAwBA,EAAxB,CAAuCG,OAAQ,OAC3DC,SAAWJ,GAAD,KAAwBA,EAAxB,CAAuCK,UAAW,QAAS1K,QAAS,UAC9E2K,KAAON,GAAD,KACCA,EADD,CAEFK,UAAW,W,wcCGnB,MAAME,EAAqB,IAA6E,IAA5E,OAACrQ,EAAS,GAAV,SAAcoB,EAAd,QAAwBgD,EAAxB,UAAiCuC,EAAjC,eAA4CR,EAAiB,IAAe,EACpG,MAAMvI,EAASb,IAETuT,GAAWrO,EAAAA,EAAAA,QAAO,MAElBsO,GAAgBpS,EAAAA,EAAAA,cACjBkC,GAA0B+D,EAAQkE,MAAMC,GAAWA,EAAOlI,QAAUA,KAAU,CAACA,MAAAA,EAAOqE,MAAOrE,IAC9F,CAAC+D,IAGCoM,GAAiB/Q,EAAAA,EAAAA,UAAQ,IAAMO,EAAOyE,IAAI8L,IAAgB,CAACA,EAAevQ,KAE1E,WAACoG,EAAa,GAAI9H,UAAWmS,GAA8CtK,EAAvBuK,E,kXAA1D,CAAiFvK,EAAjF,4BAEA,OACI,kBAACwK,EAAA,EAAD,CACItQ,MAAOmQ,EACPpP,UAAUmD,EAAAA,EAAAA,OAAKkK,EAAAA,EAAAA,WAAU,KAAKmC,EAAAA,EAAAA,OAAM,SAAUxP,GAC9CgD,QAASA,EACT+B,eAAc,GACVC,WAAY,GAACyK,kBAAkBC,EAAAA,EAAAA,KAAa9Q,IAAYoG,GACxDkD,QAAS,SACThL,UAAWmS,EACXnF,IAAKgF,GACFI,GAEPrP,WAAY,CACR0P,kBAAmBC,EAAAA,EACnBC,OAAQC,EAAAA,EACRC,KAAMC,EAAAA,EACNC,WAAYC,EAAAA,EACZC,mBAAoBC,EAAAA,IAExBlB,SAAUA,EACVjK,QAASzI,EACTA,OAAM,KACCiS,EADD,CAEF4B,UAAYC,GAAD,KAAeA,EAAU/K,EAAY,CAAC5K,MAAO,QAAU,MAEtE4V,iBAAkBC,SAASC,QAKvCxB,EAAmBb,YAAc,qBAEjC,SAAe/R,EAAAA,EAAAA,MAAK4S,I,mTCtEpB,MAYA,EAZ4DvU,GAEpD,2BAAKG,QAAQ,aAAgBH,GACzB,0BACIa,SAAS,UACTmV,SAAS,UACTzV,EAAE,6G,4CCNX,MAAMU,GAAYC,E,SAAAA,IAAYuM,IAAD,CAChCwI,SAAU,CACN/H,gBAAiB,uBAErBgI,KAAM,CACFjC,SAAU,OACVxS,MAAOgM,EAAMW,QAAQwF,KAAKC,UAC1BsC,SAAU,cAEdvT,KAAM,CACF3C,MAAO,OACPC,OAAQ,OACRU,KAAM,OACNsN,gBAAiB,wBACjB3E,aAAc,MACdD,OAAQ,kBAEZ8M,UAAW,CACPhV,QAAS,OACTiV,cAAe,OAEnBC,OAAQ,CACJlV,QAAS,OACTiV,cAAe,MACf5M,cAAe,OAEnB8M,KAAM,CACFA,KAAM,GAEVC,QAAS,CACLvC,SAAU,OACVxS,MAAO,uBAEXmC,MAAO,CACHxC,QAAS,OACTiV,cAAe,MACfhV,WAAY,SACZiI,OAAQ,eAEZmN,KAAM,CACFvW,OAAQ,OACRD,MAAO,OACPS,OAAQ,UACRE,KAAM,OACN0I,OAAQ,iBAEZoN,aAAc,CACVC,UAAW,oBACXN,cAAe,SACfpW,MAAO,QAEX2W,KAAM,CACF3C,SAAU,OACVxS,MAAO,uBAEXoV,SAAU,CACNzV,QAAS,OACTiV,cAAe,SACfE,KAAM,OCnDRO,EAA2B,IAAsD,IAArD,KAACF,EAAD,KAAOxL,EAAP,UAAa2L,EAAb,KAAwBC,EAAxB,SAA8BhL,EAA9B,QAAwCiL,GAAa,EACnF,MAAMnV,EAASb,KACRiW,EAAYC,IAAepI,EAAAA,EAAAA,WAAS,GAC3C,OACI,yBAAKvM,UAAWV,EAAO4U,cACnB,yBAAKlU,UAAWyQ,GAAAA,CAAWnR,EAAOwU,OAAQ,CAAC,CAACxU,EAAOmU,UAAWiB,KAC1D,kBAAC,EAAD,CAAQ1U,UAAWV,EAAOc,OAC1B,yBAAKJ,UAAWV,EAAO+U,UACnB,yBAAKrU,UAAWV,EAAO8B,OACnB,yBAAKpB,UAAWyQ,GAAAA,CAAWnR,EAAO0U,QAAS1U,EAAOyU,OAAQ5T,IAAAA,KAAU,iBACpE,kBAACyU,EAAA,EAAD,CAAU5U,UAAWV,EAAO2U,OAC5B,0BAAMjU,UAAWV,EAAO8U,MAAOjU,IAAAA,KAAUiU,EAAM,MAC/C,kBAACS,EAAA,EAAD,CACIxI,OAAQqI,EACRnU,QAAS,KACLoU,GAAaD,OAIzB,yBAAK1U,UAAWV,EAAOsU,WACnB,yBAAK5T,UAAWV,EAAOyU,MACnB,yBAAK/T,UAAWV,EAAOoU,MAAO9K,GAC9B,yBAAK5I,UAAWV,EAAOoU,MAAOvT,IAAAA,KAAU,0BAA2B,CAACoU,UAAAA,KACpE,yBAAKvU,UAAWV,EAAOoU,MAAOvT,IAAAA,KAAU,gBAAiB,CAACqU,KAAAA,MAE7DC,KAIZC,EAAalL,EAAW,OAKrC8K,EAAyBQ,UAAY,CACjCV,KAAMW,IAAAA,OACNR,UAAWQ,IAAAA,OACXnM,KAAMmM,IAAAA,OACNP,KAAMO,IAAAA,OACNvL,SAAUuL,IAAAA,UAAoB,CAACA,IAAAA,KAAgBA,IAAAA,QAAkBA,IAAAA,QACjEN,QAASM,IAAAA,MAGb,W,mIClDO,MAAMtW,GAAYC,E,SAAAA,IAAYuM,IAAD,CAChC+J,SAAU,CACNtX,OAAQ,QAEZuX,SAAU,CACNhW,MAAOgM,EAAMW,QAAQwF,KAAKvF,QAC1B4F,SAAU,OACVyD,WAAY,QAEhBC,SAAU,CACNhO,QAAS,EACT1E,YAAa,YCAf2S,GAA2BC,EAAAA,EAAAA,aAAW,CAAC,EAAuCrI,KAAkC,IAAzE,KAACsI,EAAD,YAAOC,EAAcC,EAAAA,UAAoD,EAClH,MAAMlW,EAASb,KACT,KAAC2S,EAAD,QAAO7Q,EAAP,GAAgBvC,EAAhB,SAAoByX,GAAYH,EAMtC,OACI,kBAAC,EAAAI,SAAD,CACI3N,QAAS,CAACb,KAAM5H,EAAO0V,UACvBzU,QARaoV,IACjBJ,EAAYI,GACZpV,EAAQoV,IAOJ3I,IAAKA,EACL,gBACA,iBAAiB,4BAA2BhP,KAE5C,kBAAC,EAAA4X,SAAD,CAAUC,QAASJ,EAAUzV,UAAWV,EAAO6V,SAAUlW,MAAM,YAC/D,kBAAC,EAAAyO,WAAD,CAAY3F,QAAS,CAACb,KAAM5H,EAAO2V,WAAY7D,OAK3DgE,EAAyBlE,YAAc,2BAEvC,UCRA,EAhBqB,IAA4B,IAA3B,MAAC4E,EAAD,OAAQC,GAAmB,EAC7C,OACI,kBAACC,EAAA,EAAD,CACIC,gBAAiBC,EAAAA,EACjBC,YAAa,CACT/V,KAAMgW,EAAAA,EACNlW,aAAcC,IAAAA,KAAU,YACxBG,KAAM,KAEVyV,OAAQA,EACRM,UAAWP,EACXQ,iBAAkBlB,M,gHCT9B,MAAMmB,EAAwB,IAA0D,IAAzD,OAAC7U,EAAD,SAASoB,EAAT,eAAmB+E,EAAnB,UAAmCQ,GAAsB,EACpF,MAAMjF,GAAqBC,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,aACjCwC,GAAoB3E,EAAAA,EAAAA,UACtB,KACI8E,EAAAA,EAAAA,OACIuQ,EAAAA,EAAAA,SAAQvM,GAAWA,EAAO7D,SAC1BD,EAAAA,EAAAA,MAAI,QAAC,MAACC,EAAD,IAAQ+C,GAAT,QAA2B,CAAC/C,MAAAA,EAAOrE,OAAO0U,EAAAA,EAAAA,KAAetN,OAFjElD,CAGE7C,EAASsT,UACf,CAACtT,EAASsT,UAGd,OACI,kBAAC,IAAD,CACIhV,OAAQA,EACRoB,SAAUA,EACVgD,QAASA,EACT+B,eAAgBA,EAChBQ,UAAWA,KAKvBkO,EAAsBrF,YAAc,wBAEpC,W,0FCrCO,MAAMzS,GAAYC,E,SAAAA,GAAW,CAChCwI,KAAM,CACFxJ,OAAQ,OACRD,MAAO,OACPkZ,UAAW,YCKNC,EAAa,IAAqB,IAApB,OAACC,GAAmB,EAC3C,MAAMvX,EAASb,IACTqY,GAAe3V,EAAAA,EAAAA,UAAQ,KACzB,MAAM4V,GAAUnH,EAAAA,EAAAA,KAAmBiH,MAAAA,OAAD,EAACA,EAAQ7Y,IAC3C,MAAO,CACH0N,gBAAiBqL,EACjB9X,OAAO4Q,EAAAA,EAAAA,KAAakH,MAEzB,CAACF,MAAAA,OAAD,EAACA,EAAQ7Y,KACZ,OACI,yBAAKsQ,MAAOwI,EAAc9W,UAAWV,EAAO4H,MACxC,kBAAC,EAAAwG,WAAD,CAAY1C,QAAS,UAAUqF,EAAAA,EAAAA,UAAQ2G,EAAAA,EAAAA,MAAKH,MAAAA,OAAD,EAACA,EAAQhO,W,uKCpBzD,MAAMpK,GAAYC,EAAAA,EAAAA,GAAW,CAChCwI,KAAM,CACFG,UAAW,OACX4P,IAAK,UCcPC,GAAiB7B,EAAAA,EAAAA,aAAW,CAAC,EAAmCrI,KAAkC,IAArE,KAACsI,EAAD,YAAOC,EAAc4B,EAAAA,IAAgD,EACpG,MAAM7X,EAASb,KACT,OAACoY,EAAD,QAAStW,GAAW+U,EAKpB8B,EAAgBP,EAAOzQ,MAAS,GAAEyQ,EAAOzQ,WAAWyQ,EAAOhO,OAASgO,EAAOhO,KACjF,OACI,kBAAC,EAAA6M,SAAD,CAAUnV,QANM,KAChBgV,IACAhV,EAAQsW,IAIwB7J,IAAKA,EAAKhN,UAAWV,EAAO4H,MACxD,kBAAC0P,EAAA,EAAD,CAAYC,OAAQA,IACpB,kBAAC,EAAAnJ,WAAD,KAAa0J,OAIzBF,EAAehG,YAAc,iBAE7B,UClCazS,GAAYC,EAAAA,EAAAA,GAAW,CAChC2Y,eAAgB,CACZlQ,QAAS,KCaJmQ,EAA0B,IAA4D,IAA3D,cAAC9O,EAAD,eAAgB+O,EAAhB,eAAgCC,GAA2B,EAC/F,MAAMlY,EAASb,IACTwR,GAAc5M,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,gBAC1BmU,GAAiBpU,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,iBAC7B+S,GAAYlV,EAAAA,EAAAA,UACd,KACI8E,EAAAA,EAAAA,OACIkK,EAAAA,EAAAA,WAAU,KACVxP,EAAAA,EAAAA,SAAO+W,EAAAA,EAAAA,KAA+BlP,KACtCrC,EAAAA,EAAAA,MAAK+J,IAAD,CACA2G,OAAQ3G,EACR3P,QAASgX,OAEbI,EAAAA,EAAAA,SAAQ,CACJd,OAAQY,EACRlX,QAASgX,IATjBtR,CAWEgK,IACV,CAACA,EAAazH,EAAe+O,EAAgBE,IAG7C,OAAIjF,EAAAA,EAAAA,KAAavC,KAAiBsH,EACvB,KAIP,kBAACvB,EAAA,EAAD,CACID,OAAQ,iBACRO,iBAAkBY,EAClBU,cAAe,kBAAChB,EAAA,EAAD,CAAYC,OAAQW,IACnCnB,UAAWA,EACXF,YAAa,CACTnL,QAAS,WACT6M,QAAS,kBAACC,EAAA,EAAD,MACT/P,QAAS,CACLb,KAAM5H,EAAO+X,iBAGrBU,aAAc,CACVzK,aAAc,CACVC,SAAU,SACVC,WAAY,QAEhBC,gBAAiB,CACbF,SAAU,MACVC,WAAY,a,6EC9DzB,MAAMwK,EAAsB,QAAC,MAACjW,GAAF,SAAaA,GAAS,MAC5CkW,EAA0B,QAAC,MAAC7R,GAAF,SAAaA,GAAS,M,eCCtD,MAAM3H,GAAYC,EAAAA,EAAAA,IAAW,KAAM,CACtCwZ,OAAQ,CACJtZ,QAAS,YCUJuZ,EAAY,IAA4F,IAA3F,YAACC,EAAD,QAAchZ,EAAd,iBAAuBiZ,EAAvB,mBAAyCC,EAAzC,kBAA6DC,GAA8B,EACjH,MAAMjZ,EAASb,IACToP,EAAezO,EAAQoZ,cAAgBR,EACvCS,EAAcJ,EAAmB,IAAMA,EAAiBD,QAAelO,EAC7E,OACI,wBAAIuO,YAAaA,EAAaC,aAAcJ,GACxC,yBAAKtY,UAAWyQ,GAAAA,CAAW,CAAC,CAACnR,EAAO4Y,QAASK,KACzC,kBAAC1K,EAAD,CAAc9L,MAAOqW,EAAYhZ,EAAQpB,S,qCCrBlD,IAAK2a,G,SAAAA,GAAAA,EAAAA,OAAAA,SAAAA,EAAAA,IAAAA,M,CAAAA,IAAAA,EAAAA,KCEL,MAAMla,GAAYC,EAAAA,EAAAA,IAAYuM,IAAD,CAChC2N,UAAW,CACPC,SAAU,WACV,UAAW,CACP,mBAAoB,CAChBC,QAAS,KAIrBC,cAAe,CACXD,QAAS,EACTD,SAAU,WACVG,IAAK,EACLC,KAAM,MACNja,OAAQ,OACRka,WAAY,eACZjb,UAAW,iCACX0T,OAAQ,GAEZwH,kBAAmB,CACf1b,MAAO,SACPC,OAAQ,OACRuB,MAAOgM,EAAMW,QAAQwF,KAAKC,WAE9B6G,OAAQ,CACJtZ,QAAS,YCEJwa,EAAmB,IAUnB,IAVoB,YAC7BhB,EAD6B,QAE7BhZ,EAF6B,MAG7BG,EAH6B,aAI7B8Z,EAJ6B,aAK7BC,EAL6B,0BAM7BC,EAN6B,iBAO7BlB,EAP6B,mBAQ7BC,EAR6B,kBAS7BC,GACS,EACT,MAAMjZ,EAASb,IACT+a,EAAUC,IAAAA,OAAa,MACvBC,EAAUD,IAAAA,OAAa,MAIvB5L,EAAezO,EAAQoZ,cAAgBR,IAEtC,SAAC2B,GAAWC,IAAQC,EAAAA,EAAAA,SAAqD,CAC5EC,OAAQnB,EAAaoB,OACrBC,MAAO,CAAC1E,EAAM2E,KAAY,MACtB,IAAKT,EAAQ5V,QACT,OAGJ,MAAMsW,EAAY5E,EAAK/V,MACjB4a,EAAa5a,EAEnB,GAAI2a,IAAcC,EACd,OAGJ,MAAMC,EAAiB,UAAGZ,EAAQ5V,eAAX,aAAG,EAAiByW,wBACrCC,GAAgBF,EAAkBG,MAAQH,EAAkBnB,MAAQ,EAEpEuB,EADeP,EAAQQ,kBACKC,EAAIN,EAAkBnB,KAEpDiB,EAAYC,GAAcK,EAAeF,GAIzCJ,EAAYC,GAAcK,EAAeF,IAI7CjB,EAAa/D,EAAK8C,YAAYpa,GAAIoa,EAAYpa,IAE9CsX,EAAK/V,MAAQ4a,IAEjBP,KAAM,KACEN,GAAcA,KAEtBqB,QAAUV,IAAD,CACLN,SAAUM,EAAQW,qBAInB,QAAC9B,EAAD,SAAU+B,GAAWC,EAAMC,IAAWC,EAAAA,EAAAA,SAAQ,CACjD1F,KAAM,CAAC1M,KAAM+P,EAAaoB,OAAQxa,MAAAA,EAAO0b,eA5CtB,kBAAMzB,MAAAA,GAAN,UAAMA,EAAS5V,eAAf,aAAM,EAAkBsX,aA4Cc9C,YAAAA,EAAahZ,QAAAA,GACtE+b,WAAalB,GACFA,EAAQmB,UAAU7b,QAAUA,EAEvCob,QAAUV,IAAD,CACLnB,QAASmB,EAAQkB,aAAe,EAAI,EACpCN,SAAUZ,EAAQW,oBAI1BnW,EAAAA,EAAAA,YAAU,KACNsW,GAAQM,EAAAA,EAAAA,KAAiB,CAACC,sBAAsB,IAChD1B,EAAKJ,GACLsB,EAAKpB,KACN,IAEH,MAAMjB,EAAcJ,EAAmB,IAAMA,EAAiBD,QAAelO,EAC7E,OACI,wBACIoE,MAAO,CAACwK,QAAAA,GACR9L,IAAKwM,EACLxZ,UAAWV,EAAOsZ,UAClB,iBAAgBiC,EAChB,iBAAgBlB,EAChBlB,YAAaA,EACbC,aAAcJ,GAEd,yBAAKtY,UAAWyQ,GAAAA,CAAW,CAAC,CAACnR,EAAO4Y,QAASK,KACxCgB,GACG,yBAAKvM,IAAK0M,EAAS1Z,UAAWV,EAAOyZ,eACjC,kBAACwC,EAAA,EAAD,CAAmBvb,UAAWV,EAAO6Z,qBAG7C,kBAACtL,EAAD,CAAc9L,MAAOqW,EAAYhZ,EAAQpB,SCvH5CS,GAAYC,EAAAA,EAAAA,IAAYuM,IAAD,CAChCuQ,UAAW,CACP3C,SAAU,WACV,UAAW,CACP,mBAAoB,CAChBC,QAAS,KAIrBC,cAAe,CACXrb,OAAQ,OACRob,QAAS,EACTD,SAAU,WACVG,IAAK,EACLC,KAAM,EACNja,OAAQ,OACRka,WAAY,gBAEhBC,kBAAmB,CACfH,IAAK,OACLvb,MAAO,SACPC,OAAQ,OACRuB,MAAOgM,EAAMW,QAAQwF,KAAKC,UAC1BwH,SAAU,gBCHL4C,EAAgB,IAA4C,IAA3C,QAACrc,EAAD,YAAUsc,EAAV,QAAuBhC,GAAoB,EACrE,MAAMpa,EAASb,IACTkd,EAAmBvc,EAAQwc,kBAAoB3D,EAErD,OACI,wBAAIjY,UAAWV,EAAOkc,WACjBE,GACG,yBAAK1O,IAAK0M,EAAS1Z,UAAWV,EAAOyZ,eACjC,kBAACwC,EAAA,EAAD,CAAmBvb,UAAWV,EAAO6Z,qBAG7C,kBAACwC,EAAqBvc,KCjBrByc,EAAW,IAQX,IARY,QACrBzc,EADqB,YAErB+O,EAFqB,MAGrB5O,EAHqB,aAIrB8Z,EAJqB,aAKrBC,EALqB,iBAMrBjB,EANqB,mBAOrBC,GACS,EACT,MAAMwD,EAAuB,IAAVvc,EAEnB,OACI,wBAAIS,UAAWZ,EAAQ2c,cACnB,kBAACN,EAAD,CAAerc,QAASA,EAASsc,aAAa,IAC7CvN,EAAYhI,KAAI,CAACiS,EAAa7Y,KAC3B,MAAMyc,EAAoB5D,EAAYsD,YAChCnC,EAA4BuC,GAAcE,EAEhD,OAAO3C,EACH,kBAACD,EAAD,CACI6C,IAAK7D,EAAYpa,IAAMuB,EACvB6Y,YAAaA,EACbhZ,QAASA,EACTG,MAAOA,EACP8Z,aAAcA,EACdC,aAAcA,EACdC,0BAA2BA,EAC3BlB,iBAAkBA,EAClBC,mBAAoBA,IAGxB,kBAACH,EAAD,CACI8D,IAAK7D,EAAYpa,IAAMuB,EACvBH,QAASA,EACTgZ,YAAaA,EACbC,iBAAkBA,EAClBC,mBAAoBA,SCzB/B4D,EAAkB,IAYlB,IAZmB,QAC5B9c,EAD4B,MAE5BG,EAF4B,YAG5B4O,EAH4B,UAI5BgO,EAJ4B,UAK5BC,EAL4B,aAM5B/C,EAN4B,aAO5BC,EAP4B,iBAQ5BjB,EAR4B,mBAS5BC,EAT4B,kBAU5BC,EAV4B,qBAW5B8D,GACS,EACT,MAAM7C,EAAUC,IAAAA,OAAa,MACvBC,EAAUD,IAAAA,OAAa,QAEtB,SAACE,GAAWC,IAAQC,EAAAA,EAAAA,SAAqD,CAC5EC,OAAQnB,EAAa2D,IACrBtC,MAAO,CAAC1E,EAAM2E,KACV,IAAKT,EAAQ5V,QACT,OAEJ,MAAMsW,EAAY5E,EAAK/V,MACjB4a,EAAa5a,EACnB,GAAI2a,IAAcC,EACd,OAEJ,MAAMC,EAAoBZ,EAAQ5V,QAAQyW,wBACpCkC,GAAgBnC,EAAkBoC,OAASpC,EAAkBpB,KAAO,EAEpEyD,EADexC,EAAQQ,kBACKiC,EAAItC,EAAkBpB,IACpDkB,EAAYC,GAAcsC,EAAeF,GAGzCrC,EAAYC,GAAcsC,EAAeF,IAI7CJ,EAAU7G,EAAKtX,GAAIoB,EAAQpB,IAE3BsX,EAAK/V,MAAQ4a,IAEjBP,KAAM,KACEwC,GAAWA,KAEnBzB,QAAUV,IAAD,CACLN,SAAUM,EAAQW,qBAInB,WAACO,EAAD,SAAaN,GAAWC,EAAMC,IAAWC,EAAAA,EAAAA,SAAQ,CACpD1F,KAAM,CAAC1M,KAAM+P,EAAa2D,IAAK/c,MAAAA,EAAOvB,GAAIoB,EAAQpB,IAClD2c,QAAUV,IAAD,CACLY,SAAUZ,EAAQW,eAClBO,WAAYlB,EAAQkB,kBAI5B1W,EAAAA,EAAAA,YAAU,KACNsW,EAAQnB,EAAKJ,IACbsB,EAAKpB,KACN,KAEHjV,EAAAA,EAAAA,YAAU,KACN4X,EAAqBlB,KACtB,CAACA,EAAYkB,IAEhB,MAAMvD,EAAUqC,EAAa,EAAI,EAEjC,OACI,wBACInb,UAAWZ,EAAQ2c,aACnBzN,MAAO,CAACwK,QAAAA,GACR9L,IAAKwM,EACL,iBAAgBG,EAChB,iBAAgBkB,GAEhB,kBAACY,EAAD,CAAerc,QAASA,EAASsc,aAAa,EAAMhC,QAASA,IAC5DvL,EAAYhI,KAAI,CAACiS,EAAa7Y,IACpB8Z,EACH,kBAACD,EAAD,CACI6C,IAAK7D,EAAYpa,IAAMuB,EACvB6Y,YAAaA,EACbhZ,QAASA,EACTG,MAAOA,EACP8Z,aAAcA,EACdC,aAAcA,EACdC,2BAA2B,EAC3BlB,iBAAkBA,EAClBC,mBAAoBA,EACpBC,kBAAmBA,IAGvB,kBAACJ,EAAD,CACI8D,IAAK7D,EAAYpa,IAAMuB,EACvB6Y,YAAaA,EACbhZ,QAASA,EACTiZ,iBAAkBA,EAClBC,mBAAoBA,EACpBC,kBAAmBA,QCjH9BoE,EAAyB,IAA8C,IAA7C,YAACC,EAAD,aAAcC,EAAd,KAA4BvH,GAAiB,EAChF,MAAM,QAAClW,EAAD,YAAUgZ,GAAe9C,EAEzBzH,EAAezO,EAAQoZ,cAAgBR,EAE7C,OACI,yBAAK1J,MAAO,CAAC7Q,MAAOmf,EAAalf,OAAQmf,EAAcrR,WAAY,0BAC/D,kBAACqC,EAAD,CAAc9L,MAAOqW,EAAYhZ,EAAQpB,QClBxCS,GAAYC,EAAAA,EAAAA,GAAW,CAChCoe,UAAW,CACPjE,SAAU,QACVG,IAAK,EACLC,KAAM,EACNxb,MAAO,OACPC,OAAQ,OACRiU,OAAQ,KACRoL,cAAe,UCJjBC,EAAgB,CAACC,EAA0BC,EAAuBN,KACpE,MAAMO,GAAgBF,MAAAA,OAAA,EAAAA,EAAa5C,0BAA2B,CAACK,EAAG,EAAGgC,EAAG,GAGlEU,EAAqB,cAFTF,MAAAA,OAAA,EAAAA,EAAcxC,IAAIyC,MAAAA,OAAlB,EAAkBA,EAAezC,GAAIkC,EAAc,SACnDM,MAAAA,OAAA,EAAAA,EAAcR,IAAIS,MAAAA,OAAlB,EAAkBA,EAAeT,OAGnD,MAAO,CACH9d,QAAS,OACTX,UAAWmf,EACXC,gBAAiBD,IAQZE,EAAuB,IAA2B,UAA1B,aAACT,GAAyB,EAC3D,MAAMvd,EAASb,IACT8e,GAAe5Z,EAAAA,EAAAA,WAEf,WAACwX,EAAD,aAAa+B,EAAb,KAA2B5H,IAAQkI,EAAAA,EAAAA,eAAcvD,IAAD,CAClDkB,WAAYlB,EAAQkB,aACpB+B,aAAcjD,EAAQQ,kBACtBnF,KAAM2E,EAAQmB,cAGlB,IAAKD,IAAe7F,EAChB,OAAO,KAGX,MAAMsH,EAAW,UAAGtH,EAAK2F,sBAAR,aAAG,OAAA3F,GAEpB,OACI,yBAAKtV,UAAWV,EAAOwd,UAAW9P,IAAKuQ,GACnC,yBAAKjP,MAAO0O,EAAcO,EAAa3Z,QAASsZ,EAAcN,IACzDtH,EAAK1M,OAAS+P,EAAaoB,QACxB,kBAAC4C,EAAD,CAAwBC,YAAaA,EAAaC,aAAcA,EAAcvH,KAAMA,OCgDxG,GAAenW,EAAAA,EAAAA,OAxEe,IAWjB,UAXkB,UAC3Ba,EAD2B,SAE3BsE,EAF2B,YAG3B6J,EAH2B,gBAI3BsP,EAAkB,EAJS,UAK3BtB,EAL2B,UAM3BC,EAN2B,aAO3B/C,EAP2B,aAQ3BC,EAR2B,iBAS3BjB,EAT2B,mBAU3BC,GACS,EACT,MAAOC,EAAmB8D,IAAwB9P,EAAAA,EAAAA,WAAS,GACrDmR,GAAW/Z,EAAAA,EAAAA,QAAyB,MACpCga,EAAcD,MAAAA,GAAH,UAAGA,EAAU9Z,eAAb,aAAG,EAAmBga,aACjCC,IAAgB1B,KAAe9C,EACrC,OACI,oCACKwE,GAAe,kBAACP,EAAD,CAAsBT,aAAcc,IACpD,2BAAO3Q,IAAK0Q,EAAU1d,UAAWA,GAC5Byd,EAAkB,GACf,+BACKnZ,EAASyL,MAAM,EAAG0N,GAAiBtX,KAAI,CAAC/G,EAASG,IAC9C,kBAACsc,EAAD,CACII,IAAK7c,EAAQpB,IAAMuB,EACnBH,QAASA,EACT+O,YAAaA,EACb5O,MAAOA,EACP8Z,aAAcA,EACdC,aAAcA,EACdjB,iBAAkBA,EAClBC,mBAAoBA,OAKpC,+BACKhU,EAASyL,MAAM0N,GAAiBtX,KAAI,CAAC/G,EAASG,IACpC4c,EACH,kBAACD,EAAD,CACID,IAAK7c,EAAQpB,IAAMuB,EACnBA,MAAOA,EAAQke,EACfre,QAASA,EACT+O,YAAaA,EACbgO,UAAWA,EACXC,UAAWA,EACX/C,aAAcA,EACdC,aAAcA,EACdjB,iBAAkBA,EAClBC,mBAAoBA,EACpBC,kBAAmBA,EACnB8D,qBAAsBA,IAG1B,kBAACR,EAAD,CACII,IAAK7c,EAAQpB,IAAMuB,EACnBA,MAAOA,EAAQke,EACfre,QAASA,EACT+O,YAAaA,EACbkL,aAAcA,EACdC,aAAcA,EACdjB,iBAAkBA,EAClBC,mBAAoBA,a,gDC/E7C,MAAMwF,E,MAAYrE,GAAAA,cAAoB,IAE7CqE,EAAU5M,YAAc","sources":["webpack://@reltio/remotes/../components/src/icons/Duplicate.tsx","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/components/RowActions/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/components/RowActions/RowActions.tsx","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.tsx","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/AttributesFiltersBuilder.tsx","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/components/FilterSelector/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.tsx","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/components/ValuesEditor/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/components/ValuesEditor/ValuesEditor.tsx","webpack://@reltio/remotes/../components/src/components/AttributesFiltersBuilder/helpers.ts","webpack://@reltio/remotes/../components/src/components/AttributesFiltersButton/ActionButtons/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributesFiltersButton/ActionButtons/ActionButtons.tsx","webpack://@reltio/remotes/../components/src/components/AttributesFiltersButton/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributesFiltersButton/AttributesFiltersButton.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/CellRenderer/CellRenderer.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/BasicTable/hooks/useBasicTableCellRenderer.ts","webpack://@reltio/remotes/../components/src/components/DataTenantBadge/styles.ts","webpack://@reltio/remotes/../components/src/components/DataTenantBadge/DataTenantBadge.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesSelector/MatchRulesSelector.tsx","webpack://@reltio/remotes/../components/src/components/MultiValueSelector/styles.ts","webpack://@reltio/remotes/../components/src/components/MultiValueSelector/MultiValueSelector.tsx","webpack://@reltio/remotes/../components/src/icons/PmIcon.tsx","webpack://@reltio/remotes/../components/src/components/PotentialMatchReviewCard/styles.js","webpack://@reltio/remotes/../components/src/components/PotentialMatchReviewCard/PotentialMatchReviewCard.js","webpack://@reltio/remotes/../components/src/components/SettingsMenu/SettingsMenuItemRender/styles.ts","webpack://@reltio/remotes/../components/src/components/SettingsMenu/SettingsMenuItemRender/SettingsMenuItemRender.tsx","webpack://@reltio/remotes/../components/src/components/SettingsMenu/SettingsMenu.tsx","webpack://@reltio/remotes/../components/src/components/SourceSystemsSelector/SourceSystemsSelector.tsx","webpack://@reltio/remotes/../components/src/components/TenantIcon/styles.ts","webpack://@reltio/remotes/../components/src/components/TenantIcon/TenantIcon.tsx","webpack://@reltio/remotes/../components/src/components/TenantsDropDownSelector/TenantMenuItem/styles.ts","webpack://@reltio/remotes/../components/src/components/TenantsDropDownSelector/TenantMenuItem/TenantMenuItem.tsx","webpack://@reltio/remotes/../components/src/components/TenantsDropDownSelector/styles.ts","webpack://@reltio/remotes/../components/src/components/TenantsDropDownSelector/TenantsDropDownSelector.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/helpers.ts","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableCell/styles.ts","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableCell/TableCell.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/types.ts","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableCellWithDnd/styles.ts","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableCellWithDnd/TableCellWithDnd.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableHeadCell/styles.ts","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableHeadCell/TableHeadCell.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableRow/TableRow.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableRowWithDnd/TableRowWithDnd.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableColumnDragLayer/TableColumnDragPreview.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableColumnDragLayer/styles.ts","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/TableColumnDragLayer/TableColumnDragLayer.tsx","webpack://@reltio/remotes/../components/src/components/VerticalHeadingsTable/VerticalHeadingsTable.tsx","webpack://@reltio/remotes/../components/src/contexts/IdContext/index.ts"],"sourcesContent":["import React from 'react';\n\nconst SvgDuplicate: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg\n width={20}\n height={20}\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n {...props}\n >\n <defs>\n <path\n d=\"M20.222 6C21.21 6 22 6.8 22 7.778v12.444C22 21.2 21.209 22 20.222 22H7.778C6.79 22 6 21.2 6 20.222V7.778C6 6.8 6.791 6 7.778 6h12.444zM8 8v12h12V8H8zM4 18H2V4c0-1.1.9-2 2-2h14v2H4v14z\"\n id=\"Duplicate_svg__a\"\n />\n </defs>\n <g transform=\"translate(-2 -2)\" stroke=\"none\" strokeWidth={1} fill=\"none\" fillRule=\"evenodd\">\n <mask id=\"Duplicate_svg__b\" fill=\"#fff\">\n <use xlinkHref=\"#Duplicate_svg__a\" />\n </mask>\n <g mask=\"url(#Duplicate_svg__b)\" fill=\"#000\" fillOpacity={0.54}>\n <path d=\"M0 0h24v24H0z\" />\n </g>\n </g>\n </svg>\n );\n};\n\nexport default SvgDuplicate;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n actions: {\n width: '88px',\n height: '24px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n flexShrink: 0,\n '& >span': {\n cursor: 'pointer',\n display: 'flex'\n },\n '& $actionIcon': {\n cursor: 'pointer',\n color: 'rgba(0, 0, 0, .54)'\n }\n },\n actionIcon: {}\n}));\n","import React, {memo, useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport CloseIcon from '@material-ui/icons/Close';\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\nimport {SmallIconButtonWithTooltip} from '../../../SmallIconButton/index';\nimport DuplicateIcon from '../../../../icons/Duplicate';\nimport {AttributeFiltersComponentProps} from '../../types';\nimport {useStyles} from './styles';\n\nconst RowActions = ({rowData, rowContext}: AttributeFiltersComponentProps) => {\n const styles = useStyles();\n const {id: index, attribute} = rowData || {};\n const {addRowAfterIndex, removeRow, duplicateRow} = rowContext;\n\n const onAddRowAfterId = useCallback(() => {\n addRowAfterIndex(index);\n }, [addRowAfterIndex, index]);\n\n const onRowDuplicate = useCallback(() => {\n duplicateRow(index);\n }, [duplicateRow, index]);\n\n const onRowDelete = useCallback(() => {\n removeRow(index);\n }, [index, removeRow]);\n return (\n <div className={styles.actions}>\n <SmallIconButtonWithTooltip\n tooltipTitle={i18n.text('Add')}\n icon={AddCircleIcon}\n size=\"M\"\n onClick={onAddRowAfterId}\n />\n {attribute && (\n <SmallIconButtonWithTooltip\n tooltipTitle={i18n.text('Duplicate')}\n icon={DuplicateIcon}\n size=\"M\"\n onClick={onRowDuplicate}\n />\n )}\n <SmallIconButtonWithTooltip\n tooltipTitle={i18n.text('Delete')}\n icon={CloseIcon}\n size=\"M\"\n onClick={onRowDelete}\n />\n </div>\n );\n};\n\nexport default memo(RowActions);\n","import React, {useCallback, useMemo, memo} from 'react';\nimport {getSearchGroupAttributeLabel} from '@reltio/mdm-sdk';\nimport BasicAttributeSelector from '../../../BasicAttributeSelector/BasicAttributeSelector';\nimport {AttributeSelectionInfo} from '../../../../types';\nimport {AttributeFiltersComponentProps} from '../../types';\n\ntype Props = AttributeFiltersComponentProps & {\n attributeSelectorProps: {\n onOpen: () => void;\n };\n};\n\nconst AttributeSelector = ({rowData, rowContext, attributeSelectorProps}: Props) => {\n const {attribute, id, filter} = rowData || {};\n const {changeFilter, addNewFilter, attributesGroup} = rowContext;\n const getSelectedAttributeLabel = useCallback((data) => getSearchGroupAttributeLabel({data}), []);\n const itemsGroup = useMemo(() => [{id: '', title: '', attributes: attributesGroup}], [attributesGroup]);\n\n const changeAttribute = useCallback(\n (selectInfo: AttributeSelectionInfo) => {\n if (rowData) {\n const newFilter = {\n fieldName: selectInfo.attribute.fieldName,\n filter,\n values: []\n };\n\n changeFilter(newFilter, id);\n } else {\n addNewFilter({\n fieldName: selectInfo.attribute.fieldName,\n filter: null,\n values: []\n });\n }\n },\n [addNewFilter, changeFilter, id, rowData, filter]\n );\n return (\n <BasicAttributeSelector\n itemsGroups={itemsGroup}\n ungroup\n single\n value={attribute}\n getLabel={getSelectedAttributeLabel}\n onSelect={changeAttribute}\n onOpenPopup={attributeSelectorProps.onOpen}\n />\n );\n};\n\nexport default memo(AttributeSelector);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n attrSelector: {\n width: '222px',\n height: '40px',\n flexShrink: 0\n },\n filterSelector: {\n width: '180px',\n flexShrink: 0,\n marginTop: 0,\n marginBottom: 0\n },\n actionContainer: {\n alignItems: 'center',\n marginRight: '15px'\n }\n}));\n","import React, {useCallback, useRef, useMemo, memo, useEffect} from 'react';\nimport {useSelector} from 'react-redux';\nimport {always, evolve} from 'ramda';\nimport mdmModule from '@reltio/mdm-module';\nimport {getEntityType, SearchFilter, AttributeType} from '@reltio/mdm-sdk';\nimport {getAttributeSelectorItems, getRowsDataFromFilters, getEntityTypeFromAttrTypes} from './helpers';\nimport FilterSelector from './components/FilterSelector/FilterSelector';\nimport RowActions from './components/RowActions/RowActions';\nimport QueryBuilderRowsGroup from '../QueryBuilderRowsGroup/QueryBuilderRowsGroup';\nimport AttributeSelector from './components/AttributeSelector/AttributeSelector';\nimport ValuesEditor from './components/ValuesEditor/ValuesEditor';\nimport {useStyles} from './styles';\n\nconst EMPTY_FILTER = {fieldName: null, filter: null, values: []};\nconst Stub = () => null;\n\ntype Props = {\n filters: SearchFilter[];\n onChange: (filters: SearchFilter[]) => void;\n attributeTypes: AttributeType[];\n components?: {\n ValuesEditor?: React.ElementType;\n FilterSelector?: React.ElementType;\n };\n};\n\nconst AttributesFiltersBuilder = ({attributeTypes, filters, onChange, components = {}}: Props) => {\n const {ValuesEditor: CustomValuesEditor, FilterSelector: CustomFilterSelector} = components;\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const entityType = getEntityType(metadata, getEntityTypeFromAttrTypes(attributeTypes));\n const {attrSelector, filterSelector, actionContainer} = useStyles();\n const actualFilters = useRef(filters);\n actualFilters.current = filters;\n\n const attributeFilterRef = useRef(null);\n const lastAttributesCountRef = useRef(null);\n const attributesCountRef = useRef(null);\n\n const rowClasses = useMemo(\n () => ({\n attributeSelectorContainer: attrSelector,\n filterSelectorContainer: filterSelector,\n actionsContainer: actionContainer\n }),\n [attrSelector, filterSelector, actionContainer]\n );\n\n const attributeSelectorItems = useMemo(() => getAttributeSelectorItems(attributeTypes, entityType, metadata), [\n attributeTypes,\n metadata,\n entityType\n ]);\n const rowsData = useMemo(() => (filters.length ? getRowsDataFromFilters(filters, attributeSelectorItems) : []), [\n attributeSelectorItems,\n filters\n ]);\n\n attributesCountRef.current = rowsData.length;\n\n useEffect(() => {\n if (attributeFilterRef.current && lastAttributesCountRef.current !== attributesCountRef.current) {\n attributeFilterRef.current.querySelector('input').focus();\n lastAttributesCountRef.current = null;\n }\n }, [rowsData.length]);\n\n const handleAttributeSelectorOnOpen = useCallback(() => {\n lastAttributesCountRef.current = rowsData.length;\n }, [rowsData.length]);\n\n const lastRowAttributeSelectorProps = useMemo(\n () => ({\n onOpen: handleAttributeSelectorOnOpen\n }),\n [handleAttributeSelectorOnOpen]\n );\n\n const addRowAfterIndex = useCallback(\n (index: number) => {\n const newFilters = [...actualFilters.current];\n newFilters.splice(index + 1, 0, EMPTY_FILTER);\n onChange(newFilters);\n },\n [onChange]\n );\n\n const removeRow = useCallback(\n (index: number) => {\n const newFilters = [...actualFilters.current];\n newFilters.splice(index, 1);\n onChange(newFilters);\n },\n [onChange]\n );\n\n const duplicateRow = useCallback(\n (index: number) => {\n const newFilters = [...actualFilters.current];\n newFilters.splice(index + 1, 0, {\n fieldName: actualFilters.current[index].fieldName,\n filter: actualFilters.current[index].filter,\n values: actualFilters.current[index].values\n });\n onChange(newFilters);\n },\n [onChange]\n );\n\n const changeFilter = useCallback(\n (newFilter: SearchFilter, id: number) => {\n const newFilters = evolve(\n {\n [id]: always(newFilter)\n },\n actualFilters.current\n );\n onChange(newFilters);\n },\n [onChange]\n );\n\n const addNewFilter = useCallback(\n (newFilter: SearchFilter) => {\n onChange([...actualFilters.current, newFilter]);\n },\n [onChange]\n );\n return (\n <QueryBuilderRowsGroup\n rowClasses={rowClasses}\n rowsData={rowsData}\n AttributeSelectorComponent={AttributeSelector}\n FilterSelectorComponent={CustomFilterSelector || FilterSelector}\n ValuesEditorComponent={CustomValuesEditor || ValuesEditor}\n ActionsComponent={RowActions}\n LogicOperatorComponent={Stub}\n filterSelectorRefIndex={lastAttributesCountRef.current}\n filterSelectorRef={attributeFilterRef}\n lastRowAttributeSelectorProps={lastRowAttributeSelectorProps}\n attributesGroup={attributeSelectorItems}\n changeFilter={changeFilter}\n addNewFilter={addNewFilter}\n addRowAfterIndex={addRowAfterIndex}\n removeRow={removeRow}\n duplicateRow={duplicateRow}\n entityType={entityType}\n />\n );\n};\n\nexport default memo(AttributesFiltersBuilder);\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst useStyles = makeStyles({\n dropDownSelector: {\n width: '100%'\n }\n});\n\nexport default useStyles;\n","import React, {useCallback, useEffect, memo} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe, map} from 'ramda';\nimport capitalize from '@material-ui/core/utils/capitalize';\nimport {getFilterOptionLabel, getFilterOptionsForQueryBuilder} from '@reltio/mdm-sdk';\nimport SimpleDropDownSelector from '../../../SimpleDropDownSelector/SimpleDropDownSelector';\nimport {findValue} from '../../helpers';\nimport {AttributeFiltersComponentProps, FilterOption} from '../../types';\nimport useStyles from './styles';\n\ntype Props = AttributeFiltersComponentProps & {\n textFieldInputRef: React.MutableRefObject<HTMLInputElement>;\n options?: FilterOption[];\n};\n\nconst FilterSelector = ({rowData, rowContext, textFieldInputRef, options: optionsProp}: Props) => {\n const styles = useStyles();\n const {attribute: {attrType = {}, fieldName = null} = {}, filter, id} = rowData || {};\n const {changeFilter} = rowContext;\n\n const options: FilterOption[] =\n optionsProp ||\n (attrType &&\n fieldName &&\n pipe(\n getFilterOptionsForQueryBuilder,\n map((value) => ({value, label: capitalize(getFilterOptionLabel(value))}))\n )(attrType, fieldName));\n\n const onChangeFilter = useCallback(\n (filterOption: FilterOption) => {\n const newFilter = {\n fieldName: fieldName,\n filter: filterOption.value,\n values: []\n };\n changeFilter(newFilter, id);\n },\n [changeFilter, id, fieldName]\n );\n useEffect(() => {\n if ((fieldName && !filter) || (fieldName && !findValue(options, filter))) {\n onChangeFilter(options[0]);\n }\n }, [fieldName, filter, onChangeFilter, options]);\n\n return (\n <SimpleDropDownSelector\n label=\"\"\n height={40}\n isDisabled={!options}\n placeholder={i18n.text('Equals')}\n value={findValue(options, filter)}\n options={options}\n onChange={onChangeFilter}\n className={styles.dropDownSelector}\n textFieldInputRef={textFieldInputRef}\n />\n );\n};\n\nexport default memo(FilterSelector);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n input: {\n margin: 0,\n borderRadius: '4px',\n width: '100%',\n paddingTop: 0,\n paddingBottom: 0\n },\n root: {\n borderRadius: '4px 4px 0 0',\n padding: 0,\n display: 'flex',\n alignItems: 'center',\n margin: 0\n },\n valuesEditor: {\n display: 'flex',\n alignItems: 'center',\n width: '222px!important',\n minHeight: '40px',\n flexShrink: 0\n }\n});\n","import React, {memo, useMemo, useCallback} from 'react';\nimport {\n checkIfOptionHasValues,\n getAttrDataTypeDefinition,\n getDataTypeDefinitionForFilterValue,\n SearchFilter\n} from '@reltio/mdm-sdk';\nimport FilterValueEditor from '../../../editors/FilterEditor/FilterValueEditor';\nimport {AttributeFiltersComponentProps} from '../../types';\nimport {FiltersRowData} from '../../../../types';\n\nimport {useStyles} from './styles';\n\nconst ValuesEditor = ({rowData, rowContext}: AttributeFiltersComponentProps) => {\n const styles = useStyles();\n const canFilterAcceptValues = rowData?.attribute && checkIfOptionHasValues(rowData.filter);\n const {changeFilter} = rowContext;\n const {values = [], attribute: {attrType, fieldName = null} = {}, filter, id} = (rowData || {}) as FiltersRowData;\n const valueDataTypeDefinition = attrType && getAttrDataTypeDefinition(attrType);\n const filterValueDataTypeDefinition =\n valueDataTypeDefinition && getDataTypeDefinitionForFilterValue(valueDataTypeDefinition, filter);\n\n const editorFilter = useMemo(\n () => ({\n filter,\n fieldName,\n values: values || []\n }),\n [filter, fieldName, values]\n );\n const TextFieldProps = useMemo(\n () => ({\n InputProps: {\n classes: {\n root: styles.input\n }\n }\n }),\n [styles]\n );\n const editorClasses = useMemo(() => ({root: styles.root}), [styles]);\n\n const changeValue = useCallback(\n (newValues: SearchFilter['values']) => {\n const newFilter: SearchFilter = {\n fieldName,\n filter,\n values: newValues\n };\n\n changeFilter(newFilter, id);\n },\n [changeFilter, id, fieldName, filter]\n );\n\n return (\n <div className={styles.valuesEditor}>\n {rowData?.attribute && canFilterAcceptValues && (\n <FilterValueEditor\n filter={editorFilter}\n onChange={changeValue}\n dataTypeDefinition={filterValueDataTypeDefinition}\n fullWidth\n TextFieldProps={TextFieldProps}\n color=\"primary\"\n classes={editorClasses}\n orientation=\"horizontal\"\n />\n )}\n </div>\n );\n};\n\nexport default memo(ValuesEditor);\n","import {\n getAttributesTreeFromAttributes,\n attributeUriToSearchUri,\n AttributeNode,\n AttributeType,\n TEntityType,\n Metadata,\n SearchFilter,\n isSpecialAttribute,\n getBaseUri,\n getEntityTypeLabel\n} from '@reltio/mdm-sdk';\nimport {AttributeSelectorItem} from '../../types';\nimport {FilterOption} from './types';\n\nconst createAttributeItem = (metadata: Metadata, attrType: AttributeType, entityTypeUri: string, parents: string[]) => {\n const entityTypeLabel = getEntityTypeLabel(metadata, {type: entityTypeUri});\n const title = attrType.label || attrType.name;\n const attributeProps = isSpecialAttribute(attrType)\n ? {\n fieldName: attrType.name\n }\n : {\n entityTypeUri,\n pathToTitle: Array.isArray(parents) ? [entityTypeLabel, ...parents, title] : [entityTypeLabel, title],\n fieldName: attributeUriToSearchUri(attrType.uri)\n };\n\n return {\n attrType,\n title,\n ...attributeProps\n };\n};\n\nconst createAttributesConfig = (\n metadata: Metadata,\n attrNode: AttributeNode,\n entityTypeUri: string,\n createAttributeConfig,\n parents: string[] = []\n) => {\n const resConfig = {\n ...createAttributeConfig(metadata, attrNode, entityTypeUri, parents),\n uri: attrNode.uri\n };\n const children = attrNode.children\n ? attrNode.children.map((childNode) =>\n createAttributesConfig(\n metadata,\n childNode,\n entityTypeUri,\n createAttributeConfig,\n parents.concat(attrNode.label)\n )\n )\n : [];\n\n if (children.length) resConfig.children = children;\n\n return resConfig;\n};\n\nexport const getAttributeSelectorItems = (\n attributeTypes: AttributeType[],\n entityType = {} as TEntityType,\n metadata: Metadata\n): AttributeSelectorItem[] => {\n return getAttributesTreeFromAttributes(attributeTypes, metadata).map((attrNode: AttributeNode) => {\n const entityTypeUri = isSpecialAttribute(attrNode) ? null : entityType.uri;\n return createAttributesConfig(metadata, attrNode, entityTypeUri, createAttributeItem);\n });\n};\n\nconst findAttributeSelectorItem = (\n fieldName: string,\n attributesGroup: AttributeSelectorItem[]\n): AttributeSelectorItem => {\n let attrGroup: AttributeSelectorItem;\n const findAttribute = (fieldName, attributesGroup) => {\n for (const attributeGroup of attributesGroup) {\n if (fieldName === attributeGroup.fieldName) {\n attrGroup = attributeGroup;\n return;\n }\n if ('children' in attributeGroup) {\n findAttribute(fieldName, attributeGroup.children);\n }\n }\n };\n findAttribute(fieldName, attributesGroup);\n return attrGroup;\n};\n\nexport const findValue = (options: FilterOption[], filter: string) =>\n options ? options.find((option) => option.value === filter) : null;\n\nexport const getRowsDataFromFilters = (filters: SearchFilter[], attributesGroup: AttributeSelectorItem[]) => {\n return filters.map((filter, index) => {\n return {\n attribute: filter.fieldName ? findAttributeSelectorItem(filter.fieldName, attributesGroup) : undefined,\n filter: filter.filter,\n id: index,\n values: filter.values\n };\n });\n};\n\nexport const getEntityTypeFromAttrTypes = (attributeTypes: AttributeType[]) => {\n const regularAttribute = attributeTypes.find((attribute) => !isSpecialAttribute(attribute));\n return regularAttribute ? getBaseUri(regularAttribute.uri) : null;\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst allButtonsStyle = {\n alignSelf: 'center'\n};\n\nexport const useStyles = makeStyles(() => ({\n buttonsWrapper: {\n display: 'flex'\n },\n applyButton: {\n ...allButtonsStyle,\n marginRight: '16px'\n },\n cancelButton: {\n ...allButtonsStyle,\n marginLeft: 'auto'\n },\n clearButon: {\n ...allButtonsStyle\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Button as Button} from '@material-ui/core';\nimport {useStyles} from './styles';\n\ntype Props = {\n onClear: () => void;\n onCancel: () => void;\n onApply: () => void;\n};\n\nconst ActionButtons = ({onClear, onCancel, onApply}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.buttonsWrapper}>\n <Button onClick={onClear} variant=\"text\" color=\"default\" className={styles.clearButon}>\n {i18n.text('Clear all')}\n </Button>\n\n <Button onClick={onCancel} variant=\"text\" color=\"default\" className={styles.cancelButton}>\n {i18n.text('Cancel')}\n </Button>\n <Button onClick={onApply} variant=\"text\" color=\"primary\" className={styles.applyButton}>\n {i18n.text('Apply')}\n </Button>\n </div>\n );\n};\n\nexport default ActionButtons;\n","import {makeStyles, fade} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n triggerButton: {\n minWidth: 0,\n color: 'rgba(0,0,0,0.54)',\n width: '40px',\n marginLeft: 'auto',\n marginRight: '12px'\n },\n filtersBuilderWrapper: {\n marginTop: '20px'\n },\n popupContent: {\n paddingLeft: '16px',\n paddingTop: '20px',\n paddingBottom: '6px',\n width: '770px'\n },\n divider: {\n marginBottom: '14px',\n marginLeft: '-16px',\n background: 'rgba(0, 0, 0, 0.121569)'\n },\n changedFiltersIndicator: {\n backgroundColor: fade(theme.palette.primary.main, 0.12)\n }\n}));\n","import React, {useRef, useState, useEffect, useCallback, memo} from 'react';\nimport i18n from 'ui-i18n';\nimport {Popover as Popover} from '@material-ui/core';\nimport {Button as Button} from '@material-ui/core';\nimport FilterIcon from '@material-ui/icons/FilterList';\nimport {Typography as Typography} from '@material-ui/core';\nimport {Divider as Divider} from '@material-ui/core';\nimport {SearchFilter, AttributeType, buildFilterQueryString} from '@reltio/mdm-sdk';\nimport AttributesFiltersBuilder from '../AttributesFiltersBuilder/AttributesFiltersBuilder';\nimport ActionButtons from './ActionButtons/ActionButtons';\nimport {useStyles} from './styles';\n\ntype Props = {\n filters: SearchFilter[];\n onChange: (filters: SearchFilter[]) => void;\n attributeTypes: AttributeType[];\n components?: {\n ValuesEditor?: React.ElementType;\n FilterSelector?: React.ElementType;\n };\n children?: React.ReactNode;\n onTogglePopup?: (open: boolean) => void;\n isFiltersApplied?: boolean;\n dataReltioId?: string;\n};\n\nconst AttributesFiltersButton = ({\n filters: filtersProp,\n attributeTypes,\n onChange,\n components,\n children,\n onTogglePopup,\n isFiltersApplied: isFiltersAppliedProp,\n dataReltioId\n}: Props) => {\n const styles = useStyles();\n const buttonRef = useRef();\n const [isOpen, setIsOpen] = useState(false);\n const [filters, setFilters] = useState<SearchFilter[]>([]);\n\n const isFiltersApplied = isFiltersAppliedProp ?? !!buildFilterQueryString()(filtersProp);\n const buttonColor = isFiltersApplied ? 'primary' : 'inherit';\n\n const togglePopup = () => {\n if (onTogglePopup) {\n onTogglePopup(!isOpen);\n }\n setIsOpen((open) => !open);\n };\n useEffect(() => {\n if (isOpen) {\n setFilters(filtersProp);\n }\n }, [filtersProp, isOpen]);\n\n const applyButtonHandler = useCallback(() => {\n onChange(filters);\n togglePopup();\n }, [filters, onChange]);\n\n const cancelButtonHandler = useCallback(() => {\n togglePopup();\n }, []);\n\n const clearAllButtonHandler = useCallback(() => {\n setFilters([]);\n }, []);\n\n return (\n <>\n <Button\n data-reltio-id={dataReltioId}\n ref={buttonRef}\n color={buttonColor}\n classes={{\n root: styles.triggerButton,\n textPrimary: styles.changedFiltersIndicator\n }}\n onClick={togglePopup}\n >\n <FilterIcon color={buttonColor} />\n </Button>\n <Popover\n open={isOpen}\n classes={{paper: styles.popupContent}}\n anchorEl={buttonRef.current}\n onClose={togglePopup}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n >\n <>\n <Typography variant=\"h6\">{i18n.text('Filter')}</Typography>\n <div className={styles.filtersBuilderWrapper}>\n {children}\n <AttributesFiltersBuilder\n attributeTypes={attributeTypes}\n filters={filters}\n onChange={setFilters}\n components={components}\n />\n </div>\n <Divider className={styles.divider} />\n <ActionButtons\n onApply={applyButtonHandler}\n onCancel={cancelButtonHandler}\n onClear={clearAllButtonHandler}\n />\n </>\n </Popover>\n </>\n );\n};\n\nexport default memo(AttributesFiltersButton);\n","import {propEq} from 'ramda';\nimport React from 'react';\nimport {RowCollapseContext} from '../contexts/RowCollapseContext';\nimport {getCellContentFromRowsData} from 'react-components/dist/Table/tableUtils';\nimport {CollapseContext, ColumnData, TableRowsData} from '../../types';\n\ntype Props = {\n columnId: string;\n rowIndex: number;\n collapseContextValue: CollapseContext;\n getRowHeight: (rowIndex: number) => number;\n getHeightForSubRow: (rowIndex: number, columnIndex: number, subRowIndex: number) => number;\n tableRowsData: TableRowsData;\n columnsData: ColumnData[];\n};\n\nexport const CellRenderer = ({\n columnId,\n rowIndex,\n collapseContextValue,\n getRowHeight,\n tableRowsData,\n columnsData,\n getHeightForSubRow,\n ...otherProps\n}: Props) => {\n return (\n <RowCollapseContext.Provider value={collapseContextValue}>\n <div {...otherProps} style={{height: getRowHeight(rowIndex)}}>\n {tableRowsData.length > 0 &&\n getCellContentFromRowsData({\n columnIndex: columnsData.findIndex(propEq('id', columnId)),\n headData: columnsData,\n rowsData: tableRowsData,\n rowIndex,\n getHeightForSubRow\n })}\n </div>\n </RowCollapseContext.Provider>\n );\n};\n","import {useMemo} from 'react';\nimport {calculateRowHeight} from 'react-components/dist/Table/tableUtils';\nimport defaultRenderRowCell from '../helpers/defaultRenderRowCell';\nimport defaultGetRowCellHeight from '../helpers/defaultGetRowCellHeight';\nimport {pathOr} from 'ramda';\nimport useCollapsibleTableRows from './useCollapsibleTableRows';\n\nconst useBasicTableCellRenderer = ({\n rowsData,\n columnsData,\n renderRowCell = defaultRenderRowCell,\n getRowCellHeight = defaultGetRowCellHeight,\n defaultRowHeight = 48,\n maxRowValuesCount = Infinity\n}) => {\n const {tableRowsData, collapseContextValue} = useCollapsibleTableRows({\n rowsData,\n columnsData,\n renderRowCell,\n getRowCellHeight,\n maxRowValuesCount\n });\n\n return useMemo(() => {\n const rowHeightCache = tableRowsData.reduce((cache, rowData, rowIndex) => {\n const {data} = rowData;\n cache[rowIndex] = calculateRowHeight(data, defaultRowHeight);\n return cache;\n }, {});\n const getHeightForSubRow = (rowIndex, columnIndex, subRowIndex) => {\n const heightPath = [rowIndex, 'subRowHeight', columnIndex, subRowIndex, 'height'];\n return pathOr(0, heightPath, rowHeightCache);\n };\n\n const getRowHeight = (rowIndex: number): number => pathOr(0, [rowIndex, 'height'], rowHeightCache);\n\n return {getRowHeight, collapseContextValue, getHeightForSubRow, tableRowsData};\n }, [tableRowsData, defaultRowHeight, collapseContextValue]);\n};\n\nexport default useBasicTableCellRenderer;\n","import {makeStyles} from '@material-ui/core/styles';\nimport {getFontColor, getTenantIconColor} from '@reltio/mdm-sdk';\n\ntype Props = {\n dataTenantId: string;\n};\n\nexport const useStyles = makeStyles({\n root: ({dataTenantId}: Props) => {\n const backgroundColor = getTenantIconColor(dataTenantId);\n const color = getFontColor(backgroundColor);\n\n return {\n backgroundColor,\n color,\n height: '18px',\n padding: '0 3px'\n };\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {useSelector} from 'react-redux';\nimport {propEq, toUpper, slice, pipe, defaultTo, find, propOr, startsWith, ifElse} from 'ramda';\nimport mdmModule from '@reltio/mdm-module';\nimport {Typography as Typography} from '@material-ui/core';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport {useStyles} from './styles';\n\ntype Props = {\n dataTenantId: string;\n className?: string;\n};\n\nconst addDataTenantPrefix = (label: string) => `DT:${slice(0, 1, label)}`;\n\nexport const DataTenantBadge = ({dataTenantId, className}: Props) => {\n const styles = useStyles({dataTenantId});\n const dataTenants = useSelector(mdmModule.selectors.getDataTenants);\n const dataTenant = pipe(defaultTo([]), find(propEq('id', dataTenantId)))(dataTenants);\n const label = pipe(\n propOr('', 'label'),\n toUpper,\n ifElse(startsWith('DT:'), slice(0, 4), addDataTenantPrefix)\n )(dataTenant);\n\n const content = (\n <div className={classnames(styles.root, className)}>\n <Typography variant=\"body2\">{label}</Typography>\n </div>\n );\n\n const showTooltip = !!dataTenant?.label;\n\n return showTooltip ? <Tooltip title={dataTenant.label}>{content}</Tooltip> : content;\n};\n","import React, {useMemo} from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {getMatchGroups, Metadata, partitionByMlMatch, TEntityType, MatchRulesAttrNames} from '@reltio/mdm-sdk';\nimport {TextFieldProps as TextFieldPropsType} from '@material-ui/core/TextField';\nimport MultiValueSelector, {Option} from '../MultiValueSelector/MultiValueSelector';\n\nconst prepareOptions = (options = []): Option[] => options.map(({label, uri}) => ({label, value: uri}));\n\ntype Props = {\n name: MatchRulesAttrNames;\n values?: string[];\n onChange: (values: string[]) => void;\n TextFieldProps?: Partial<TextFieldPropsType>;\n fullWidth?: boolean;\n entityType: TEntityType;\n};\n\nconst MatchRulesSelector = ({name, values, onChange, entityType, TextFieldProps, fullWidth}: Props) => {\n const metadata: Metadata = useSelector(mdmModule.selectors.getMetadata);\n\n const [mlMatchRules, matchRules] = useMemo(() => partitionByMlMatch(getMatchGroups(metadata, entityType?.uri)), [\n entityType?.uri,\n metadata\n ]);\n\n const options: Option[] = useMemo(\n () => prepareOptions(name === MatchRulesAttrNames.matchRules ? matchRules : mlMatchRules),\n [name, matchRules, mlMatchRules]\n );\n\n return (\n <MultiValueSelector\n values={values}\n onChange={onChange}\n options={options}\n TextFieldProps={TextFieldProps}\n fullWidth={fullWidth}\n />\n );\n};\n\nMatchRulesSelector.displayName = 'MatchRulesSelector';\n\nexport default MatchRulesSelector;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n option: {\n paddingLeft: '35px'\n },\n dropdownIndicator: {\n cursor: 'pointer',\n color: theme.palette.text.secondary,\n marginTop: 0,\n marginBottom: 0\n },\n clearIndicator: {\n display: 'none'\n }\n}));\n\nexport const customStyles = {\n input: (currentStyles) => ({...currentStyles, fontSize: '14px'}),\n menuPortal: (currentStyles) => ({...currentStyles, zIndex: 1300}),\n menuList: (currentStyles) => ({...currentStyles, maxHeight: '240px', padding: '8px 0'}),\n menu: (currentStyles) => ({\n ...currentStyles,\n maxHeight: '240px'\n })\n};\n","import React, {memo, useCallback, useRef, useMemo} from 'react';\nimport {defaultTo, pipe, pluck} from 'ramda';\nimport {isEmptyValue} from '@reltio/mdm-sdk';\nimport {TextFieldProps as TextFieldPropsType} from '@material-ui/core/TextField';\nimport DropdownIndicatorWithIconButton from '../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport OptionWithCheckIcon from '../commonReactSelectComponents/OptionWithCheckIcon/OptionWithCheckIcon';\nimport MenuWithPopper from '../commonReactSelectComponents/MenuWithPopper';\nimport MultiValueChip from '../editors/commonComponents/MultiValueChip/MultiValueChip';\nimport MultiSelect from '../ReactSelect/MultiSelect';\nimport {EmptyStub} from '../../core';\n\nimport {useStyles, customStyles} from './styles';\n\nexport type Option = {\n value: string;\n label: string;\n};\n\ntype Props = {\n values: string[];\n onChange: (values: string[]) => void;\n options: Option[];\n TextFieldProps?: Partial<TextFieldPropsType>;\n fullWidth?: boolean;\n};\n\nconst MultiValueSelector = ({values = [], onChange, options, fullWidth, TextFieldProps = {}}: Props) => {\n const styles = useStyles();\n\n const inputRef = useRef(null);\n\n const valueToOption = useCallback(\n (value: string): Option => options.find((option) => option.value === value) || {value, label: value},\n [options]\n );\n\n const preparedValues = useMemo(() => values.map(valueToOption), [valueToOption, values]);\n\n const {InputProps = {}, className: textFieldClassName, ...otherTextFieldProps} = TextFieldProps;\n\n return (\n <MultiSelect\n value={preparedValues}\n onChange={pipe(defaultTo([]), pluck('value'), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: isEmptyValue(values), ...InputProps},\n variant: 'filled',\n className: textFieldClassName,\n ref: inputRef,\n ...otherTextFieldProps\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton,\n Option: OptionWithCheckIcon,\n Menu: MenuWithPopper,\n MultiValue: MultiValueChip,\n IndicatorSeparator: EmptyStub\n }}\n inputRef={inputRef}\n classes={styles}\n styles={{\n ...customStyles,\n container: (base) => ({...base, ...(fullWidth ? {width: '100%'} : {})})\n }}\n menuPortalTarget={document.body}\n />\n );\n};\n\nMultiValueSelector.displayName = 'MultiValueSelector';\n\nexport default memo(MultiValueSelector);\n","import React from 'react';\n\nconst SvgPmIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg viewBox=\"0 0 20 20\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.5 10L14 5.5V9h-3.5L5 3.5 3.5 5l6.04 6H14v3.5l4.5-4.5zM7.04 11.455L3.5 15 5 16.5l3.54-3.545-1.5-1.5z\"\n />\n </svg>\n );\n};\n\nexport default SvgPmIcon;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n expanded: {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n },\n info: {\n fontSize: '13px',\n color: theme.palette.text.secondary,\n wordWrap: 'break-word'\n },\n icon: {\n width: '32px',\n height: '32px',\n fill: '#fff',\n backgroundColor: 'rgba(177, 92, 189, 1)',\n borderRadius: '50%',\n margin: '5px 12px 0 8px'\n },\n infoBlock: {\n display: 'flex',\n flexDirection: 'row'\n },\n header: {\n display: 'flex',\n flexDirection: 'row',\n paddingBottom: '5px'\n },\n flex: {\n flex: 1\n },\n caption: {\n fontSize: '16px',\n color: 'rgba(0, 0, 0, 0.87)'\n },\n title: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n margin: '6px 0 8px 0'\n },\n flag: {\n height: '12px',\n width: '12px',\n stroke: '#000000',\n fill: 'none',\n margin: '2px 5px 0 5px'\n },\n pmReviewCard: {\n borderTop: '3px solid #E83D40',\n flexDirection: 'column',\n width: '100%'\n },\n date: {\n fontSize: '13px',\n color: 'rgba(0, 0, 0, 0.87)'\n },\n mainInfo: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1\n }\n}));\n","import PropTypes from 'prop-types';\nimport React, {useState} from 'react';\nimport FlagIcon from '@material-ui/icons/Flag';\nimport CollapseButton from '../CollapseButton/CollapseButton';\nimport PMIcon from '../../icons/PmIcon';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nconst PotentialMatchReviewCard = ({date, type, createdBy, step, children, Actions}) => {\n const styles = useStyles();\n const [isExpanded, setExpanded] = useState(false);\n return (\n <div className={styles.pmReviewCard}>\n <div className={classnames(styles.header, {[styles.expanded]: isExpanded})}>\n <PMIcon className={styles.icon} />\n <div className={styles.mainInfo}>\n <div className={styles.title}>\n <div className={classnames(styles.caption, styles.flex)}>{i18n.text('Match review')}</div>\n <FlagIcon className={styles.flag} />\n <span className={styles.date}>{i18n.date(date, 'L')}</span>\n <CollapseButton\n isOpen={isExpanded}\n onClick={() => {\n setExpanded(!isExpanded);\n }}\n />\n </div>\n <div className={styles.infoBlock}>\n <div className={styles.flex}>\n <div className={styles.info}>{type}</div>\n <div className={styles.info}>{i18n.text('Created by ${createdBy}', {createdBy})}</div>\n <div className={styles.info}>{i18n.text('Step: ${step}', {step})}</div>\n </div>\n {Actions}\n </div>\n </div>\n </div>\n {isExpanded ? children : null}\n </div>\n );\n};\n\nPotentialMatchReviewCard.propTypes = {\n date: PropTypes.number,\n createdBy: PropTypes.string,\n type: PropTypes.string,\n step: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),\n Actions: PropTypes.node\n};\n\nexport default PotentialMatchReviewCard;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n menuItem: {\n height: '32px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px'\n },\n checkbox: {\n padding: 0,\n marginRight: '15px'\n }\n}));\n","import React, {forwardRef} from 'react';\nimport {identity} from 'ramda';\nimport {Checkbox as Checkbox} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {DropDownMenuItem} from '../../../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: DropDownMenuItem;\n onMenuClose?: (e) => void;\n};\n\nconst SettingsMenuItemRenderer = forwardRef(({item, onMenuClose = identity}: Props, ref: React.Ref<HTMLLIElement>) => {\n const styles = useStyles();\n const {text, onClick, id, selected} = item;\n const handleClick = (e) => {\n onMenuClose(e);\n onClick(e);\n };\n\n return (\n <MenuItem\n classes={{root: styles.menuItem}}\n onClick={handleClick}\n ref={ref}\n data-modal\n data-reltio-id={`reltio-settings-menu-item${id}`}\n >\n <Checkbox checked={selected} className={styles.checkbox} color=\"primary\" />\n <Typography classes={{root: styles.menuText}}>{text}</Typography>\n </MenuItem>\n );\n});\n\nSettingsMenuItemRenderer.displayName = 'SettingsMenuItemRenderer';\n\nexport default SettingsMenuItemRenderer;\n","import React from 'react';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport i18n from 'ui-i18n';\nimport {DropDownMenuItem} from '../../types';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport DropDownMenuButton from '../DropDownMenuButton/DropDownMenuButton';\nimport SettingsMenuItemRenderer from './SettingsMenuItemRender/SettingsMenuItemRender';\n\ntype Props = {\n items: Array<DropDownMenuItem>;\n menuId: string;\n};\n\nconst SettingsMenu = ({items, menuId}: Props) => {\n return (\n <DropDownMenuButton\n buttonComponent={SmallIconButtonWithTooltip}\n buttonProps={{\n icon: SettingsIcon,\n tooltipTitle: i18n.text('Settings'),\n size: 'L'\n }}\n menuId={menuId}\n menuItems={items}\n MenuItemRenderer={SettingsMenuItemRenderer}\n />\n );\n};\n\nexport default SettingsMenu;\n","import React, {useMemo} from 'react';\nimport {useSelector} from 'react-redux';\nimport {map, pipe, sortBy} from 'ramda';\nimport mdmModule from '@reltio/mdm-module';\nimport {getLastUriPart, Metadata, Source} from '@reltio/mdm-sdk';\nimport {TextFieldProps as TextFieldPropsType} from '@material-ui/core/TextField';\nimport MultiValueSelector, {Option} from '../MultiValueSelector/MultiValueSelector';\n\ntype Props = {\n values?: string[];\n onChange: (values: string[]) => void;\n TextFieldProps?: Partial<TextFieldPropsType>;\n fullWidth?: boolean;\n};\n\nconst SourceSystemsSelector = ({values, onChange, TextFieldProps, fullWidth}: Props) => {\n const metadata: Metadata = useSelector(mdmModule.selectors.getMetadata);\n const options: Option[] = useMemo(\n () =>\n pipe(\n sortBy((option) => option.label),\n map(({label, uri}: Source) => ({label, value: getLastUriPart(uri)}))\n )(metadata.sources),\n [metadata.sources]\n );\n\n return (\n <MultiValueSelector\n values={values}\n onChange={onChange}\n options={options}\n TextFieldProps={TextFieldProps}\n fullWidth={fullWidth}\n />\n );\n};\n\nSourceSystemsSelector.displayName = 'SourceSystemsSelector';\n\nexport default SourceSystemsSelector;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n height: '18px',\n width: '18px',\n textAlign: 'center'\n }\n});\n","import {DataTenant, getFontColor, getTenantIconColor} from '@reltio/mdm-sdk';\nimport React, {useMemo} from 'react';\nimport {head, toUpper} from 'ramda';\nimport {Typography as Typography} from '@material-ui/core';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n tenant: DataTenant;\n};\n\nexport const TenantIcon = ({tenant}: Props) => {\n const styles = useStyles();\n const wrapperStyle = useMemo(() => {\n const bgColor = getTenantIconColor(tenant?.id);\n return {\n backgroundColor: bgColor,\n color: getFontColor(bgColor)\n };\n }, [tenant?.id]);\n return (\n <div style={wrapperStyle} className={styles.root}>\n <Typography variant={'body2'}>{toUpper(head(tenant?.name))}</Typography>\n </div>\n );\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n minHeight: '48px',\n gap: '30px'\n }\n});\n","import React, {forwardRef} from 'react';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {DataTenant} from '@reltio/mdm-sdk';\nimport {noop} from '../../../core';\nimport {TenantIcon} from '../../TenantIcon/TenantIcon';\n\nimport {useStyles} from './styles';\n\ntype Item = {\n tenant: DataTenant;\n onClick: (tenant: DataTenant) => void;\n};\n\ntype Props = {\n item: Item;\n onMenuClose?: () => void;\n};\n\nconst TenantMenuItem = forwardRef(({item, onMenuClose = noop}: Props, ref: React.Ref<HTMLLIElement>) => {\n const styles = useStyles();\n const {tenant, onClick} = item;\n const handleClick = () => {\n onMenuClose();\n onClick(tenant);\n };\n const tenantCaption = tenant.label ? `${tenant.label} : ${tenant.name}` : tenant.name;\n return (\n <MenuItem onClick={handleClick} ref={ref} className={styles.root}>\n <TenantIcon tenant={tenant} />\n <Typography>{tenantCaption}</Typography>\n </MenuItem>\n );\n});\nTenantMenuItem.displayName = 'TenantMenuItem';\n\nexport default TenantMenuItem;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n menuButtonRoot: {\n padding: 0\n }\n});\n","import React, {useMemo} from 'react';\nimport {useSelector} from 'react-redux';\nimport {defaultTo, filter, map, pipe, prepend} from 'ramda';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport mdmModule from '@reltio/mdm-module';\nimport {DataTenant, isAvailableTenantForEntityType, isEmptyValue} from '@reltio/mdm-sdk';\nimport {DropDownMenuButton, TenantIcon} from '../index';\nimport TenantMenuItem from './TenantMenuItem/TenantMenuItem';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n selectedTenant: DataTenant;\n entityTypeUri: string;\n onChangeTenant: (tenant: DataTenant) => void;\n};\n\nexport const TenantsDropDownSelector = ({entityTypeUri, onChangeTenant, selectedTenant}: Props) => {\n const styles = useStyles();\n const dataTenants = useSelector(mdmModule.selectors.getDataTenants);\n const customerTenant = useSelector(mdmModule.selectors.getTenantObject);\n const menuItems = useMemo<{tenant: DataTenant; onClick: (tenant: DataTenant) => void}[]>(\n () =>\n pipe(\n defaultTo([]),\n filter(isAvailableTenantForEntityType(entityTypeUri)),\n map((dataTenant) => ({\n tenant: dataTenant,\n onClick: onChangeTenant\n })),\n prepend({\n tenant: customerTenant,\n onClick: onChangeTenant\n })\n )(dataTenants),\n [dataTenants, entityTypeUri, onChangeTenant, customerTenant]\n );\n\n if (isEmptyValue(dataTenants) || !onChangeTenant) {\n return null;\n }\n\n return (\n <DropDownMenuButton\n menuId={'tenantSelector'}\n MenuItemRenderer={TenantMenuItem}\n buttonContent={<TenantIcon tenant={selectedTenant} />}\n menuItems={menuItems}\n buttonProps={{\n variant: 'outlined',\n endIcon: <ArrowDropDownIcon />,\n classes: {\n root: styles.menuButtonRoot\n }\n }}\n popoverProps={{\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left'\n }\n }}\n />\n );\n};\n","export const DefaultCellRenderer = ({value}) => value || null;\nexport const DefaultHeadCellRenderer = ({label}) => label || null;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n hidden: {\n display: 'none'\n }\n}));\n","import React from 'react';\nimport classnames from 'classnames';\nimport {ColumnData, RowData} from '../types';\nimport {DefaultCellRenderer} from '../helpers';\nimport {useStyles} from './styles';\n\ntype Props = {\n columnValue: ColumnData;\n rowData: RowData;\n setHoveredColumn: (columnValue: ColumnData) => void;\n resetHoveredColumn: () => void;\n someRowIsDragging?: boolean;\n};\n\nexport const TableCell = ({columnValue, rowData, setHoveredColumn, resetHoveredColumn, someRowIsDragging}: Props) => {\n const styles = useStyles();\n const CellRenderer = rowData.cellRenderer || DefaultCellRenderer;\n const onMouseOver = setHoveredColumn ? () => setHoveredColumn(columnValue) : undefined;\n return (\n <td onMouseOver={onMouseOver} onMouseLeave={resetHoveredColumn}>\n <div className={classnames({[styles.hidden]: someRowIsDragging})}>\n <CellRenderer value={columnValue[rowData.id]} />\n </div>\n </td>\n );\n};\n","export enum DndItemTypes {\n Column = 'Column',\n Row = 'Row'\n}\n\nexport type RowData = {\n id: string;\n label: string;\n cellRenderer?: (props: {value: unknown}) => JSX.Element;\n headCellRenderer?: (props: Pick<RowData, 'label' | 'attributeType'>) => JSX.Element;\n rowClassName?: string;\n [key: string]: unknown;\n};\n\nexport type ColumnData = {\n id: string;\n isDraggable?: boolean;\n [key: string]: any;\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n tableData: {\n position: 'relative',\n '&:hover': {\n '& $dragIndicator': {\n opacity: 1\n }\n }\n },\n dragIndicator: {\n opacity: 0,\n position: 'absolute',\n top: 0,\n left: '50%',\n cursor: 'move',\n transition: 'opacity 0.3s',\n transform: 'translateX(-50%) rotate(90deg)',\n zIndex: 5\n },\n dragIndicatorIcon: {\n width: '14.4px',\n height: '18px',\n color: theme.palette.text.secondary\n },\n hidden: {\n display: 'none'\n }\n}));\n","import React, {useEffect} from 'react';\nimport classnames from 'classnames';\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\nimport {useDrag, useDrop} from 'react-dnd';\nimport {getEmptyImage} from 'react-dnd-html5-backend';\nimport {RowData, ColumnData, DndItemTypes} from '../types';\nimport {DefaultCellRenderer} from '../helpers';\nimport {useStyles} from './styles';\n\ntype DragItem = {\n type: string;\n index: number;\n getColumnWidth: () => number;\n columnValue: ColumnData;\n rowData: RowData;\n};\n\ntype Props = {\n columnValue: ColumnData;\n rowData: RowData;\n index: number;\n onMoveColumn: (dragId: string, hoverId: string) => void;\n onDropColumn?: () => void;\n shouldRenderDragIndicator: boolean;\n setHoveredColumn: (columnValue: ColumnData) => void;\n resetHoveredColumn: () => void;\n someRowIsDragging?: boolean;\n};\n\nexport const TableCellWithDnd = ({\n columnValue,\n rowData,\n index,\n onMoveColumn,\n onDropColumn,\n shouldRenderDragIndicator,\n setHoveredColumn,\n resetHoveredColumn,\n someRowIsDragging\n}: Props) => {\n const styles = useStyles();\n const dropRef = React.useRef(null);\n const dragRef = React.useRef(null);\n\n const getColumnWidth = () => dropRef?.current?.offsetWidth;\n\n const CellRenderer = rowData.cellRenderer || DefaultCellRenderer;\n\n const [{targetId}, drop] = useDrop<DragItem, void, {targetId: string | symbol}>({\n accept: DndItemTypes.Column,\n hover: (item, monitor) => {\n if (!dropRef.current) {\n return;\n }\n\n const dragIndex = item.index;\n const hoverIndex = index;\n\n if (dragIndex === hoverIndex) {\n return;\n }\n\n const hoverBoundingRect = dropRef.current?.getBoundingClientRect();\n const hoverMiddleX = (hoverBoundingRect.right - hoverBoundingRect.left) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientX = clientOffset.x - hoverBoundingRect.left;\n\n if (dragIndex < hoverIndex && hoverClientX < hoverMiddleX) {\n return;\n }\n\n if (dragIndex > hoverIndex && hoverClientX > hoverMiddleX) {\n return;\n }\n\n onMoveColumn(item.columnValue.id, columnValue.id);\n\n item.index = hoverIndex;\n },\n drop: () => {\n if (onDropColumn) onDropColumn();\n },\n collect: (monitor) => ({\n targetId: monitor.getHandlerId()\n })\n });\n\n const [{opacity, sourceId}, drag, preview] = useDrag({\n item: {type: DndItemTypes.Column, index, getColumnWidth, columnValue, rowData},\n isDragging: (monitor) => {\n return monitor.getItem().index === index;\n },\n collect: (monitor) => ({\n opacity: monitor.isDragging() ? 0 : 1,\n sourceId: monitor.getHandlerId()\n })\n });\n\n useEffect(() => {\n preview(getEmptyImage(), {captureDraggingState: true});\n drop(dropRef);\n drag(dragRef);\n }, []);\n\n const onMouseOver = setHoveredColumn ? () => setHoveredColumn(columnValue) : undefined;\n return (\n <td\n style={{opacity}}\n ref={dropRef}\n className={styles.tableData}\n data-source-id={sourceId}\n data-target-id={targetId}\n onMouseOver={onMouseOver}\n onMouseLeave={resetHoveredColumn}\n >\n <div className={classnames({[styles.hidden]: someRowIsDragging})}>\n {shouldRenderDragIndicator && (\n <div ref={dragRef} className={styles.dragIndicator}>\n <DragIndicatorIcon className={styles.dragIndicatorIcon} />\n </div>\n )}\n <CellRenderer value={columnValue[rowData.id]} />\n </div>\n </td>\n );\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n tableHead: {\n position: 'relative',\n '&:hover': {\n '& $dragIndicator': {\n opacity: 1\n }\n }\n },\n dragIndicator: {\n height: '100%',\n opacity: 0,\n position: 'absolute',\n top: 0,\n left: 0,\n cursor: 'move',\n transition: 'opacity 0.3s'\n },\n dragIndicatorIcon: {\n top: '15px',\n width: '14.4px',\n height: '18px',\n color: theme.palette.text.secondary,\n position: 'relative'\n }\n}));\n","import React from 'react';\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\nimport {RowData} from '../types';\nimport {DefaultHeadCellRenderer} from '../helpers';\nimport {useStyles} from './styles';\n\ntype BasicProps = {\n rowData: RowData;\n};\n\ntype PropsWithDnd = BasicProps & {\n isDraggable: true;\n dragRef: React.Ref<HTMLDivElement>;\n};\n\ntype PropsWithoutDnd = BasicProps & {\n isDraggable?: false;\n dragRef?: React.Ref<HTMLDivElement>;\n};\n\ntype Props = PropsWithDnd | PropsWithoutDnd;\n\nexport const TableHeadCell = ({rowData, isDraggable, dragRef}: Props) => {\n const styles = useStyles();\n const HeadCellRenderer = rowData.headCellRenderer || DefaultHeadCellRenderer;\n\n return (\n <th className={styles.tableHead}>\n {isDraggable && (\n <div ref={dragRef} className={styles.dragIndicator}>\n <DragIndicatorIcon className={styles.dragIndicatorIcon} />\n </div>\n )}\n <HeadCellRenderer {...rowData} />\n </th>\n );\n};\n","import React from 'react';\nimport {TableCell} from '../TableCell/TableCell';\nimport {TableCellWithDnd} from '../TableCellWithDnd/TableCellWithDnd';\nimport {TableHeadCell} from '../TableHeadCell/TableHeadCell';\nimport {RowData, ColumnData} from '../types';\n\ntype Props = {\n rowData: RowData;\n columnsData: ColumnData[];\n index: number;\n onMoveColumn?: (dragId: string, hoverId: string) => void;\n onDropColumn?: () => void;\n setHoveredColumn: (columnValue: ColumnData) => void;\n resetHoveredColumn: () => void;\n};\n\nexport const TableRow = ({\n rowData,\n columnsData,\n index,\n onMoveColumn,\n onDropColumn,\n setHoveredColumn,\n resetHoveredColumn\n}: Props) => {\n const isFirstRow = index === 0;\n\n return (\n <tr className={rowData.rowClassName}>\n <TableHeadCell rowData={rowData} isDraggable={false} />\n {columnsData.map((columnValue, index) => {\n const isDraggableColumn = columnValue.isDraggable;\n const shouldRenderDragIndicator = isFirstRow && isDraggableColumn;\n\n return onMoveColumn ? (\n <TableCellWithDnd\n key={columnValue.id || index}\n columnValue={columnValue}\n rowData={rowData}\n index={index}\n onMoveColumn={onMoveColumn}\n onDropColumn={onDropColumn}\n shouldRenderDragIndicator={shouldRenderDragIndicator}\n setHoveredColumn={setHoveredColumn}\n resetHoveredColumn={resetHoveredColumn}\n />\n ) : (\n <TableCell\n key={columnValue.id || index}\n rowData={rowData}\n columnValue={columnValue}\n setHoveredColumn={setHoveredColumn}\n resetHoveredColumn={resetHoveredColumn}\n />\n );\n })}\n </tr>\n );\n};\n","import React, {useEffect} from 'react';\nimport {useDrag, useDrop} from 'react-dnd';\nimport {TableHeadCell} from '../TableHeadCell/TableHeadCell';\nimport {TableCell} from '../TableCell/TableCell';\nimport {TableCellWithDnd} from '../TableCellWithDnd/TableCellWithDnd';\nimport {RowData, ColumnData, DndItemTypes} from '../types';\n\ntype Props = {\n rowData: RowData;\n index: number;\n columnsData: ColumnData[];\n onMoveRow: (dragId: string, hoverId: string) => void;\n onDropRow?: () => void;\n onMoveColumn?: (dragId: string, hoverId: string) => void;\n onDropColumn?: () => void;\n setHoveredColumn: (columnValue: ColumnData) => void;\n resetHoveredColumn: () => void;\n someRowIsDragging: boolean;\n setSomeRowIsDragging: (isDragging: boolean) => void;\n};\n\ntype DragItem = {\n type: string;\n index: number;\n id: string;\n};\n\nexport const TableRowWithDnd = ({\n rowData,\n index,\n columnsData,\n onMoveRow,\n onDropRow,\n onMoveColumn,\n onDropColumn,\n setHoveredColumn,\n resetHoveredColumn,\n someRowIsDragging,\n setSomeRowIsDragging\n}: Props) => {\n const dropRef = React.useRef(null);\n const dragRef = React.useRef(null);\n\n const [{targetId}, drop] = useDrop<DragItem, void, {targetId: string | symbol}>({\n accept: DndItemTypes.Row,\n hover: (item, monitor) => {\n if (!dropRef.current) {\n return;\n }\n const dragIndex = item.index;\n const hoverIndex = index;\n if (dragIndex === hoverIndex) {\n return;\n }\n const hoverBoundingRect = dropRef.current.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n return;\n }\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n return;\n }\n\n onMoveRow(item.id, rowData.id);\n\n item.index = hoverIndex;\n },\n drop: () => {\n if (onDropRow) onDropRow();\n },\n collect: (monitor) => ({\n targetId: monitor.getHandlerId()\n })\n });\n\n const [{isDragging, sourceId}, drag, preview] = useDrag({\n item: {type: DndItemTypes.Row, index, id: rowData.id},\n collect: (monitor) => ({\n sourceId: monitor.getHandlerId(),\n isDragging: monitor.isDragging()\n })\n });\n\n useEffect(() => {\n preview(drop(dropRef));\n drag(dragRef);\n }, []);\n\n useEffect(() => {\n setSomeRowIsDragging(isDragging);\n }, [isDragging, setSomeRowIsDragging]);\n\n const opacity = isDragging ? 0 : 1;\n\n return (\n <tr\n className={rowData.rowClassName}\n style={{opacity}}\n ref={dropRef}\n data-target-id={targetId}\n data-source-id={sourceId}\n >\n <TableHeadCell rowData={rowData} isDraggable={true} dragRef={dragRef} />\n {columnsData.map((columnValue, index) => {\n return onMoveColumn ? (\n <TableCellWithDnd\n key={columnValue.id || index}\n columnValue={columnValue}\n rowData={rowData}\n index={index}\n onMoveColumn={onMoveColumn}\n onDropColumn={onDropColumn}\n shouldRenderDragIndicator={false}\n setHoveredColumn={setHoveredColumn}\n resetHoveredColumn={resetHoveredColumn}\n someRowIsDragging={someRowIsDragging}\n />\n ) : (\n <TableCell\n key={columnValue.id || index}\n columnValue={columnValue}\n rowData={rowData}\n setHoveredColumn={setHoveredColumn}\n resetHoveredColumn={resetHoveredColumn}\n someRowIsDragging={someRowIsDragging}\n />\n );\n })}\n </tr>\n );\n};\n","import React from 'react';\nimport {DefaultCellRenderer} from '../helpers';\nimport {ColumnData, RowData} from '../types';\n\ntype Props = {\n columnWidth: number;\n columnHeight: number;\n item: {\n rowData: RowData;\n columnValue: ColumnData;\n };\n};\n\nexport const TableColumnDragPreview = ({columnWidth, columnHeight, item}: Props) => {\n const {rowData, columnValue} = item;\n\n const CellRenderer = rowData.cellRenderer || DefaultCellRenderer;\n\n return (\n <div style={{width: columnWidth, height: columnHeight, background: 'rgba(245,245,245, .5)'}}>\n <CellRenderer value={columnValue[rowData.id]} />\n </div>\n );\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n dragLayer: {\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 1300,\n pointerEvents: 'none'\n }\n});\n","import React, {useRef} from 'react';\nimport {useDragLayer, XYCoord} from 'react-dnd';\nimport {TableColumnDragPreview} from './TableColumnDragPreview';\nimport {DndItemTypes} from '../types';\nimport {useStyles} from './styles';\n\nconst getItemStyles = (dragLayerEl: HTMLElement, clientOffset: XYCoord, columnWidth: number) => {\n const dragLayerRect = dragLayerEl?.getBoundingClientRect() || {x: 0, y: 0};\n const dragItemX = clientOffset?.x - dragLayerRect?.x - columnWidth / 2;\n const dragItemY = clientOffset?.y - dragLayerRect?.y;\n const dragItemTransform = `translate(${dragItemX}px, ${dragItemY}px`;\n\n return {\n display: 'flex',\n transform: dragItemTransform,\n WebkitTransform: dragItemTransform\n };\n};\n\ntype Props = {\n columnHeight: number;\n};\n\nexport const TableColumnDragLayer = ({columnHeight}: Props) => {\n const styles = useStyles();\n const dragLayerRef = useRef<HTMLDivElement>();\n\n const {isDragging, clientOffset, item} = useDragLayer((monitor) => ({\n isDragging: monitor.isDragging(),\n clientOffset: monitor.getClientOffset(),\n item: monitor.getItem()\n }));\n\n if (!isDragging || !item) {\n return null;\n }\n\n const columnWidth = item.getColumnWidth?.();\n\n return (\n <div className={styles.dragLayer} ref={dragLayerRef}>\n <div style={getItemStyles(dragLayerRef.current, clientOffset, columnWidth)}>\n {item.type === DndItemTypes.Column && (\n <TableColumnDragPreview columnWidth={columnWidth} columnHeight={columnHeight} item={item} />\n )}\n </div>\n </div>\n );\n};\n","import React, {memo, useRef, useState} from 'react';\nimport {TableRow} from './TableRow/TableRow';\nimport {TableRowWithDnd} from './TableRowWithDnd/TableRowWithDnd';\nimport {TableColumnDragLayer} from './TableColumnDragLayer/TableColumnDragLayer';\nimport {RowData, ColumnData} from './types';\n\ntype Props = {\n className?: string;\n rowsData: RowData[];\n columnsData: ColumnData[];\n theadRowsNumber?: number;\n onMoveRow?: (dragId: string, hoverId: string) => void;\n onDropRow?: () => void;\n onMoveColumn?: (dragId: string, hoverId: string) => void;\n onDropColumn?: () => void;\n setHoveredColumn?: (columnValue: ColumnData) => void;\n resetHoveredColumn?: () => void;\n};\n\nconst VerticalHeadingsTable = ({\n className,\n rowsData,\n columnsData,\n theadRowsNumber = 0,\n onMoveRow,\n onDropRow,\n onMoveColumn,\n onDropColumn,\n setHoveredColumn,\n resetHoveredColumn\n}: Props) => {\n const [someRowIsDragging, setSomeRowIsDragging] = useState(false);\n const tableRef = useRef<HTMLTableElement>(null);\n const tableHeight = tableRef?.current?.offsetHeight;\n const isDNDActive = !!onMoveRow || !!onMoveColumn;\n return (\n <>\n {isDNDActive && <TableColumnDragLayer columnHeight={tableHeight} />}\n <table ref={tableRef} className={className}>\n {theadRowsNumber > 0 && (\n <thead>\n {rowsData.slice(0, theadRowsNumber).map((rowData, index) => (\n <TableRow\n key={rowData.id || index}\n rowData={rowData}\n columnsData={columnsData}\n index={index}\n onMoveColumn={onMoveColumn}\n onDropColumn={onDropColumn}\n setHoveredColumn={setHoveredColumn}\n resetHoveredColumn={resetHoveredColumn}\n />\n ))}\n </thead>\n )}\n <tbody>\n {rowsData.slice(theadRowsNumber).map((rowData, index) => {\n return onMoveRow ? (\n <TableRowWithDnd\n key={rowData.id || index}\n index={index + theadRowsNumber}\n rowData={rowData}\n columnsData={columnsData}\n onMoveRow={onMoveRow}\n onDropRow={onDropRow}\n onMoveColumn={onMoveColumn}\n onDropColumn={onDropColumn}\n setHoveredColumn={setHoveredColumn}\n resetHoveredColumn={resetHoveredColumn}\n someRowIsDragging={someRowIsDragging}\n setSomeRowIsDragging={setSomeRowIsDragging}\n />\n ) : (\n <TableRow\n key={rowData.id || index}\n index={index + theadRowsNumber}\n rowData={rowData}\n columnsData={columnsData}\n onMoveColumn={onMoveColumn}\n onDropColumn={onDropColumn}\n setHoveredColumn={setHoveredColumn}\n resetHoveredColumn={resetHoveredColumn}\n />\n );\n })}\n </tbody>\n </table>\n </>\n );\n};\n\nexport default memo(VerticalHeadingsTable);\n","import React from 'react';\n\nexport const IdContext = React.createContext('');\n\nIdContext.displayName = 'IdContext';\n"],"names":["props","width","height","viewBox","xmlns","xmlnsXlink","focusable","d","id","transform","stroke","strokeWidth","fill","fillRule","xlinkHref","mask","fillOpacity","useStyles","makeStyles","actions","display","alignItems","justifyContent","flexShrink","cursor","color","actionIcon","memo","rowData","rowContext","styles","index","attribute","addRowAfterIndex","removeRow","duplicateRow","onAddRowAfterId","useCallback","onRowDuplicate","onRowDelete","className","SmallIconButton","tooltipTitle","i18n","icon","AddCircleIcon","size","onClick","DuplicateIcon","CloseIcon","attributeSelectorProps","filter","changeFilter","addNewFilter","attributesGroup","getSelectedAttributeLabel","data","getSearchGroupAttributeLabel","itemsGroup","useMemo","title","attributes","changeAttribute","selectInfo","newFilter","fieldName","values","BasicAttributeSelector","itemsGroups","ungroup","single","value","getLabel","onSelect","onOpenPopup","onOpen","attrSelector","filterSelector","marginTop","marginBottom","actionContainer","marginRight","EMPTY_FILTER","Stub","attributeTypes","filters","onChange","components","ValuesEditor","CustomValuesEditor","FilterSelector","CustomFilterSelector","metadata","useSelector","mdmModule","entityType","getEntityType","getEntityTypeFromAttrTypes","actualFilters","useRef","current","attributeFilterRef","lastAttributesCountRef","attributesCountRef","rowClasses","attributeSelectorContainer","filterSelectorContainer","actionsContainer","attributeSelectorItems","getAttributeSelectorItems","rowsData","length","getRowsDataFromFilters","useEffect","querySelector","focus","handleAttributeSelectorOnOpen","lastRowAttributeSelectorProps","newFilters","splice","evolve","always","QueryBuilderRowsGroup","AttributeSelectorComponent","AttributeSelector","FilterSelectorComponent","ValuesEditorComponent","ActionsComponent","RowActions","LogicOperatorComponent","filterSelectorRefIndex","filterSelectorRef","dropDownSelector","textFieldInputRef","options","optionsProp","attrType","pipe","getFilterOptionsForQueryBuilder","map","label","capitalize","getFilterOptionLabel","onChangeFilter","filterOption","findValue","SimpleDropDownSelector","isDisabled","placeholder","input","margin","borderRadius","paddingTop","paddingBottom","root","padding","valuesEditor","minHeight","canFilterAcceptValues","checkIfOptionHasValues","valueDataTypeDefinition","getAttrDataTypeDefinition","filterValueDataTypeDefinition","getDataTypeDefinitionForFilterValue","editorFilter","TextFieldProps","InputProps","classes","editorClasses","changeValue","newValues","FilterValueEditor","dataTypeDefinition","fullWidth","orientation","createAttributeItem","entityTypeUri","parents","entityTypeLabel","getEntityTypeLabel","type","name","isSpecialAttribute","pathToTitle","Array","isArray","attributeUriToSearchUri","uri","createAttributesConfig","attrNode","createAttributeConfig","resConfig","children","childNode","concat","getAttributesTreeFromAttributes","findAttributeSelectorItem","attrGroup","findAttribute","attributeGroup","find","option","undefined","regularAttribute","getBaseUri","allButtonsStyle","alignSelf","buttonsWrapper","applyButton","cancelButton","marginLeft","clearButon","onClear","onCancel","onApply","Button","variant","theme","triggerButton","minWidth","filtersBuilderWrapper","popupContent","paddingLeft","divider","background","changedFiltersIndicator","backgroundColor","fade","palette","primary","main","filtersProp","onTogglePopup","isFiltersApplied","isFiltersAppliedProp","dataReltioId","buttonRef","isOpen","setIsOpen","useState","setFilters","buttonColor","buildFilterQueryString","togglePopup","open","applyButtonHandler","cancelButtonHandler","clearAllButtonHandler","ref","textPrimary","Popover","paper","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","Typography","AttributesFiltersBuilder","Divider","CellRenderer","columnId","rowIndex","collapseContextValue","getRowHeight","tableRowsData","columnsData","getHeightForSubRow","otherProps","style","getCellContentFromRowsData","columnIndex","findIndex","propEq","headData","renderRowCell","defaultRenderRowCell","getRowCellHeight","defaultGetRowCellHeight","defaultRowHeight","maxRowValuesCount","Infinity","useCollapsibleTableRows","rowHeightCache","reduce","cache","calculateRowHeight","pathOr","subRowIndex","heightPath","dataTenantId","getTenantIconColor","getFontColor","addDataTenantPrefix","slice","DataTenantBadge","dataTenants","dataTenant","defaultTo","propOr","toUpper","ifElse","startsWith","content","classnames","Tooltip","MatchRulesSelector","mlMatchRules","matchRules","partitionByMlMatch","getMatchGroups","prepareOptions","MatchRulesAttrNames","displayName","dropdownIndicator","text","secondary","clearIndicator","customStyles","currentStyles","fontSize","menuPortal","zIndex","menuList","maxHeight","menu","MultiValueSelector","inputRef","valueToOption","preparedValues","textFieldClassName","otherTextFieldProps","MultiSelect","pluck","disableUnderline","isEmptyValue","DropdownIndicator","DropdownIndicatorWithIconButton","Option","OptionWithCheckIcon","Menu","MenuWithPopper","MultiValue","MultiValueChip","IndicatorSeparator","EmptyStub","container","base","menuPortalTarget","document","body","clipRule","expanded","info","wordWrap","infoBlock","flexDirection","header","flex","caption","flag","pmReviewCard","borderTop","date","mainInfo","PotentialMatchReviewCard","createdBy","step","Actions","isExpanded","setExpanded","Flag","CollapseButton","propTypes","PropTypes","menuItem","menuText","lineHeight","checkbox","SettingsMenuItemRenderer","forwardRef","item","onMenuClose","identity","selected","MenuItem","e","Checkbox","checked","items","menuId","DropDownMenuButton","buttonComponent","SmallIconButtonWithTooltip","buttonProps","SettingsIcon","menuItems","MenuItemRenderer","SourceSystemsSelector","sortBy","getLastUriPart","sources","textAlign","TenantIcon","tenant","wrapperStyle","bgColor","head","gap","TenantMenuItem","noop","tenantCaption","menuButtonRoot","TenantsDropDownSelector","onChangeTenant","selectedTenant","customerTenant","isAvailableTenantForEntityType","prepend","buttonContent","endIcon","ArrowDropDown","popoverProps","DefaultCellRenderer","DefaultHeadCellRenderer","hidden","TableCell","columnValue","setHoveredColumn","resetHoveredColumn","someRowIsDragging","cellRenderer","onMouseOver","onMouseLeave","DndItemTypes","tableData","position","opacity","dragIndicator","top","left","transition","dragIndicatorIcon","TableCellWithDnd","onMoveColumn","onDropColumn","shouldRenderDragIndicator","dropRef","React","dragRef","targetId","drop","useDrop","accept","Column","hover","monitor","dragIndex","hoverIndex","hoverBoundingRect","getBoundingClientRect","hoverMiddleX","right","hoverClientX","getClientOffset","x","collect","getHandlerId","sourceId","drag","preview","useDrag","getColumnWidth","offsetWidth","isDragging","getItem","getEmptyImage","captureDraggingState","DragIndicator","tableHead","TableHeadCell","isDraggable","HeadCellRenderer","headCellRenderer","TableRow","isFirstRow","rowClassName","isDraggableColumn","key","TableRowWithDnd","onMoveRow","onDropRow","setSomeRowIsDragging","Row","hoverMiddleY","bottom","hoverClientY","y","TableColumnDragPreview","columnWidth","columnHeight","dragLayer","pointerEvents","getItemStyles","dragLayerEl","clientOffset","dragLayerRect","dragItemTransform","WebkitTransform","TableColumnDragLayer","dragLayerRef","useDragLayer","theadRowsNumber","tableRef","tableHeight","offsetHeight","isDNDActive","IdContext"],"sourceRoot":""}