@reltio/remotes 1.4.1372 → 1.4.1373
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/2114.js +1 -1
- package/2114.js.map +1 -1
- package/3405.js +1 -1
- package/3405.js.map +1 -1
- package/4115.js +1 -1
- package/4115.js.map +1 -1
- package/447.js +1 -1
- package/447.js.map +1 -1
- package/461.js +2 -0
- package/461.js.map +1 -0
- package/5691.js +2 -0
- package/5691.js.map +1 -0
- package/5937.js +1 -1
- package/5937.js.map +1 -1
- package/6248.js +1 -1
- package/6248.js.map +1 -1
- package/6617.js +1 -1
- package/6617.js.map +1 -1
- package/9431.js +1 -1
- package/9431.js.map +1 -1
- package/9606.js +1 -1
- package/9606.js.map +1 -1
- package/package.json +1 -1
- package/remoteEntry.js +1 -1
- package/remoteEntry.js.map +1 -1
- package/1920.js +0 -2
- package/1920.js.map +0 -1
- package/8532.js +0 -2
- package/8532.js.map +0 -1
package/2114.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2114.js","mappings":"4WAIO,MAAMA,EAAc,CACvBC,EACAC,EACAC,KAEA,GAAIF,GAAWC,EAAiB,CAC5B,MAAME,GAAgBC,EAAAA,EAAAA,MAAKF,GAS3B,OARAC,EAAcE,YAAcH,EAAUI,KACJC,GAE1B,kBAACP,EAAQQ,SAAT,MACMC,GAAiB,kBAACN,EAAD,KAAmBI,EAAWN,EAAgBQ,EAAcF,OAM3F,OAAOL,I,wJCZf,MAAMQ,EAAgB,IAAqD,IAApD,MAACC,EAAQ,KAAT,mBAAeC,EAAf,KAAmCC,GAAO,GAAU,EACvE,MAAMC,GAAyBC,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,2BACrCC,EAAmBC,IAAAA,aAAoBC,eAAe,KACtDC,EAAmBF,IAAAA,aAAoBC,eAAe,OACtDE,GAAWN,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,cAA8BC,EACrDK,GAAeP,EAAAA,EAAAA,aAAYC,EAAAA,GAAAA,UAAAA,kBAAkCC,EAAmB,IAAMG,EACtFG,GAAiBC,EAAAA,EAAAA,KACnB,CAACV,uBAAAA,EAAwBF,mBAAAA,EAAoBS,SAAAA,EAAUC,aAAAA,GACvDX,GAGJ,OAAOE,IAAQY,EAAAA,EAAAA,KAAqBb,EAAoBD,GACpD,kBAAC,EAAAe,KAAD,CAAMC,OAAO,SAASC,MAAMC,EAAAA,EAAAA,KAAkBN,GAAiBO,UAAU,QACrE,kBAAC,IAAD,CAAmBC,KAAMR,KAG7B,kBAAC,IAAD,CAAmBQ,KAAMR,KAIjCb,EAAcsB,UAAY,CACtBrB,MAAOsB,IAAAA,IACPrB,mBAAoBqB,IAAAA,OACpBpB,KAAMoB,IAAAA,MAGV,W,wSC7BO,MAAMC,EAAa3B,GACf,kBAAC,IAAD,GAAoB4B,QAASC,IAAAA,KAAU,qBAAyB7B,K,oECLpE,MAAM8B,GAAYC,E,SAAAA,GAAW,CAChCC,UAAW,CACPC,WAAY,OCuCpB,EAhCoB,IAA4D,IAA3D,KAACT,EAAD,UAAOQ,EAAP,UAAkBE,EAAlB,UAA6BC,GAAY,GAAkB,EAC5E,MAAMC,EAASN,IAGf,IAFsBN,IAAQQ,EAG1B,OAAO,oCAAGR,GAGd,MAAMa,EAAa,IAAIC,OAAO,OACxBC,GAAgBC,EAAAA,EAAAA,MAAKC,EAAAA,MAAMC,EAAAA,EAAAA,OAAML,IAAaM,EAAAA,EAAAA,KAAIC,EAAAA,UAAUC,EAAAA,EAAAA,MAAKC,EAAAA,QAASC,EAAAA,SAC1EC,EAAoBb,EAAYI,EAAcP,GAAa,EAACY,EAAAA,EAAAA,SAAQZ,IAEpEiB,EAAYD,EAAkBL,KAAKO,GAASA,EAAKC,QAAQ,2BAA4B,UAErFC,EAAQ5B,EAAKkB,MAAM,IAAIJ,OAAQ,IAAGW,EAAUI,KAAK,QAAS,OAEhE,OACI,8BACKD,EAAMT,KAAI,CAACW,EAAMC,IACYP,EAAkBQ,SAASF,EAAKG,qBAEtD,0BAAMC,IAAKH,EAAGrB,UAAWA,GAAaE,EAAOJ,WACxCsB,GAGLA,O,6IClCb,MAAMxB,GAAYC,E,SAAAA,GAAW,CAChC4B,UAAW,CACPC,SAAU,QAEdC,cAAe,CACXC,MAAO,OACPC,WAAY,MACZC,SAAU,SACV,UAAW,CACPC,WAAY,aACZC,OAAQ,EACRC,SAAU,UACVC,QAAS,EACTC,QAAS,EACTC,MAAO,c,+iCCJnB,MAAMC,EAAuB,QAAC,qBAACC,GAAF,EAA2BxE,EAA3B,qCACzBwE,EACI,kBAACA,EAAD,KAA0BxE,EAA1B,CAAiCyE,YAAaC,EAAAA,KAE9C,kBAACA,EAAA,EAAkB1E,IAG3BuE,EAAqB9C,UAAY,CAC7B+C,qBAAsB9C,IAAAA,aAG1B,MACMiD,EAAyB9C,IAAAA,KAAU,qDAEnC+C,GAAepC,EAAAA,EAAAA,MAAKC,EAAAA,KAAMoC,EAAAA,SAE1BC,EAAgB,IAQhB,IARiB,OACnBC,EAAS,GADU,WAEnBC,EAAa,GAFM,WAGnBC,EAAa,GAHM,QAInBC,EAAU,GAJS,SAKnBC,EAAWC,EAAAA,GALQ,cAMnBC,EAAgBC,EAAAA,UAEd,EADCC,EACD,+EACF,MAAMnD,EAASN,IACf,EAAgCkD,EAAWE,SAAW,IAAhD,KAACM,GAAP,EAAgBC,EAAhB,eAEOC,EAAYC,IAAiBC,EAAAA,EAAAA,UAAS,IAGvCC,EAAiBC,GAAUX,GAASY,EAAAA,EAAAA,QAAOD,EAAO,EAAGf,IAGrDiB,EAAYjB,EAAOkB,OAAS,EAE5BC,EAA6B,KAJd9F,IAAAA,EAKZwE,EAAac,KALDtF,EAMDsF,EANWP,GAASgB,EAAAA,EAAAA,MAAK,IAAIpB,EAAQ3E,KAH3BuF,EAAc,OAmBrCS,EAAWC,IAAgBT,EAAAA,EAAAA,WAAS,GAIrCU,GAAYN,GAAaI,EAAYzB,EAAyB,GAEpE,OACI,kBAAC,EAAA4B,QAAD,CAASC,MAAOF,GACZ,kBAAC,EAAAG,UAAD,KACQlB,EADR,CAEIL,QAAS,CACLM,KAAMN,EAAQM,MAElBpF,MAAOsF,EACPP,UAAU3C,EAAAA,EAAAA,MAAKkE,EAAAA,GAAUf,GACzBX,WAAU,KACHA,EADG,CAEN2B,eAAgB5B,EAAOpC,KAAI,CAACvC,EAAO0F,IAC/B,kBAACc,EAAA,EAAD,CAAWlD,IAAKtD,EAAOyG,MAAOxB,EAAcjF,GAAQ0G,SAAU,IAAMjB,EAAcC,OAEtFiB,eAAgBxC,EAChBW,QAAS,EAAF,CACHM,KAAMwB,GAAAA,CAAW5E,EAAOuB,UAAW6B,GACnCyB,MAAOD,GAAAA,CAAW5E,EAAOyB,cAAe4B,EAAawB,QAClDxB,KAGXR,WAAU,KACHA,EADG,CAENT,qBAAsBQ,EAAW+B,iBAErCG,YAAYC,EAAAA,EAAAA,OAAKC,EAAAA,EAAAA,QAAO,MAAO,SAAUlB,GACzCmB,WAAWF,EAAAA,EAAAA,OAAKC,EAAAA,EAAAA,QAAO,UArEZ,IA+BY,KACZ,KAAf1B,GAAqBM,GACrBH,GAAe,MAqCXyB,QAhCO,IAAMjB,GAAa,GAiC1BkB,QAAQ/E,EAAAA,EAAAA,MAAK0D,GAhCJ,IAAMG,GAAa,UAsC5CvB,EAAcrD,UAAY,CACtBsD,OAAQrD,IAAAA,QAAkBA,IAAAA,QAC1BsD,WAAYtD,IAAAA,MAAgB,CACxBwD,QAASxD,IAAAA,MAAgB,CAAC8D,KAAM9D,IAAAA,SAChCqF,eAAgBrF,IAAAA,cAEpBuD,WAAYvD,IAAAA,OACZyD,SAAUzD,IAAAA,KACVwD,QAASxD,IAAAA,OACT2D,cAAe3D,IAAAA,MAGnB,W,sHC9GO,MAAMI,GAAYC,E,SAAAA,GAAW,CAChCyF,YAAa,CACTnD,QAAS,8BACToD,UAAW,mBAEfC,MAAO,CACHC,QAAS,OACT/D,SAAU,U,6rBCGlB,MAAMgE,EAAqB,IAYrB,IAZsB,SACxBC,EADwB,MAExBzH,EAFwB,SAGxB0H,EAHwB,cAIxBzC,EAAgBD,EAAAA,GAJQ,oBAKxB2C,EAAsBzC,EAAAA,SALE,SAMxBH,EAAWC,EAAAA,GANa,UAOxB4C,EAPwB,eAQxBC,EARwB,UASxBC,EATwB,QAUxBhD,GAEE,EADCK,E,kXACD,wIACF,MAAMnD,EAASN,IACf,OACI,kBAAC,EAAA2E,UAAD,GACI0B,QAAM,EACNH,UAAWA,GACPC,EAHR,CAII7H,OAAOgI,EAAAA,EAAAA,WAAUP,EAAW,GAAK,GAAIzH,GACrC+E,UAAU3C,EAAAA,EAAAA,MAAKkE,EAAAA,GAAUvB,GACzBkD,YAAW,KACJ9C,EADI,CAEP2C,UAAW,EAAF,CACLI,mBAAoB,KACpBC,aAAc,CAACC,SAAU,SAAUC,WAAY,SAC5CP,GAEPhD,QAAS,EAAF,GACAA,EADA,CAEHM,KAAMwB,GAAAA,CAAW,CAAC,CAAC5E,EAAOoF,aAAcK,IAAWa,EAAAA,EAAAA,MAAK,OAAQxD,MAEpE2C,SAAAA,EAEAc,YAAcC,GACVf,EACI,yBAAK3F,UAAWE,EAAOsF,OAClBkB,EAASjG,KAAI,CAACvC,EAAO0F,IAClB,kBAACc,EAAA,EAAD,CACIlD,IAAKtD,EACLyG,MAAOxB,EAAcjF,IAAU2H,EAAoB3H,GACnDyI,YAAcC,GAAUA,EAAMC,kBAC9BjC,SAAU,IAAM3B,GAASY,EAAAA,EAAAA,QAAOD,EAAO,EAAG8C,SAKtDvD,EAAcuD,IAAab,EAAoBa,OAI1Dd,IAKbF,EAAmBnG,UAAY,CAC3BoG,SAAUnG,IAAAA,KACVsG,UAAWtG,IAAAA,KACXtB,MAAOsB,IAAAA,UAAoB,CAACsH,EAAAA,GAAiBtH,IAAAA,QAAkBsH,EAAAA,MAC/Df,eAAgBvG,IAAAA,OAChBwG,UAAWxG,IAAAA,OACXoG,SAAUpG,IAAAA,KACVwD,QAASxD,IAAAA,OACTyD,SAAUzD,IAAAA,KACV2D,cAAe3D,IAAAA,KACfqG,oBAAqBrG,IAAAA,MAGzB,W,+EC/EO,MAAMI,GAAYC,E,SAAAA,GAAW,CAChCkH,gBAAiB,CACbhF,WAAY,wBCapB,EAP0B,IAAmB,IAAlB,KAACzC,GAAiB,EACzC,MAAMY,EAASN,IACToH,GAAeC,EAAAA,EAAAA,YAAWC,EAAAA,GAEhC,OAAO,kBAACC,EAAA,EAAD,CAAa7H,KAAMA,EAAMQ,UAAWkH,EAAchH,UAAWE,EAAO6G,gBAAiB9G,WAAS,M,mGCZzG,MACamH,GAAgBvH,EAAAA,EAAAA,GAAW,CACpCyD,KAAM,CACF+D,OAAQ,OACRC,gBAAiB,2BACjBC,SAAW,mBACXC,OAAS,OAEbC,WAAY,CACRJ,OAAQ,GACRzF,MAAO,GACPQ,MAAO,mBACPsF,YAAa,OAEjB/C,MAAO,CACH7C,SAAU,YAILlC,GAAYC,EAAAA,EAAAA,IAAY8H,IAAD,CAChCC,UAAW,CACPnC,QAAS,OACToC,WAAY,SACZjG,MAAO,QAEX+C,MAAO,CACH7C,SAAU,SACVgG,aAAc,WACdC,WAAY,UAEhBC,MAAO,CACH5F,MAAOuF,EAAMM,QAAQ3I,KAAK4I,UAC1BjG,SAAU,OACVkG,cAAe,EACfC,WAAY,OACZvG,WAAY,O,0OC7BpB,MAAM6C,EAAY,IAA6D,IAA3D1B,QAASqF,EAAc,GAAxB,MAA4B1D,EAA5B,MAAmCqD,GAAyB,EAAfM,E,kXAAe,gCAC3E,MAAMtF,EAAUoE,IACVlH,EAASN,IACf,OACI,kBAAC,EAAA2I,KAAD,GACIvF,SAASwF,EAAAA,EAAAA,IAAaH,EAAarF,GACnC2B,MACI,yBAAK3E,UAAWE,EAAO0H,WACnB,kBAACa,EAAA,EAAD,CAAsBvK,MAAOyG,GACzB,yBAAK3E,UAAWE,EAAOyE,OAAQA,IAElCqD,GAAS,yBAAKhI,UAAWE,EAAO8H,OAAQA,KAG7CM,KAKhB5D,EAAUnF,UAAY,CAClByD,QAASxD,IAAAA,OACTmF,MAAOnF,IAAAA,OACPwI,MAAOxI,IAAAA,QAGX,W,uFC/BO,MAAMI,GAAYC,E,SAAAA,GAAW,CAChC6I,kBAAmB,CACfjD,QAAS,OACT4B,OAAQ,QAEZsB,WAAY,CACRxG,QAAS,qBAEbyG,YAAa,CACT3G,SAAU,OACVlC,WAAY,IACZqI,WAAY,OACZL,WAAY,SACZjG,SAAU,UAEd+G,eAAgB,CACZC,UAAW,SACXjH,WAAY,UCSpB,EAhBuB,IAA4C,IAA3C,QAACkH,EAAD,QAAUC,EAAV,YAAmBrC,GAAwB,EAC/D,MAAMzG,EAASN,IAEf,OACI,yBAAKI,UAAWE,EAAOwI,mBAClBK,EACG,kBAAC,EAAAE,iBAAD,CAAkBjJ,UAAWE,EAAO2I,eAAgBK,KAAM,KAE1D,kBAAC,EAAAC,OAAD,CAAQ/G,MAAM,UAAU4G,QAASA,EAASrC,YAAaA,EAAa3G,UAAWE,EAAOyI,YAClF,yBAAK3I,UAAWE,EAAO0I,aAAcjJ,IAAAA,KAAU,kB,oEClBnE,MAaA,EAbkB7B,IACd,MACIsL,aAAa,eAACC,GADZ,SAEFzD,GACA9H,EAEJ,OACI,kBAAC,aAAwBA,EACpB8H,EACAyD,K,+ECVN,MAAMzJ,GAAYC,E,SAAAA,GAAW,CAChCyJ,UAAW,CACPC,UAAW,YACX1H,WAAY,QACZ2H,SAAU,cCIZC,EAAuB3L,IACzB,MAAMoC,EAASN,KACT,WAAC8J,EAAD,SAAa9D,GAAY9H,EAE/B,OACI,kBAAC6L,EAAA,EAAW7L,EACP4L,GAAc,kBAACE,EAAA,EAAD,CAAW5J,UAAWE,EAAOoJ,YAC3C1D,IAKb6D,EAAoB7L,YAAc,sBAElC,W,+TClBA,MAAMiM,EAAgB,QAAC,MAAC3L,EAAD,SAAQ+E,GAAT,EAAsBI,E,kXAAtB,gCAClB,kBAAC,EAAAyG,SAAD,KAAczG,EAAd,CAA0B0G,QAAS7L,EAAO+E,SAAUA,IAAY3C,EAAAA,EAAAA,MAAK0J,EAAAA,GAAY/G,OAGrF4G,EAActK,UAAY,CACtB0D,SAAUzD,IAAAA,KACVtB,MAAOsB,IAAAA,MAGX,U,mCCbO,MAAMI,GAAYC,EAAAA,EAAAA,IAAY8H,IAAD,CAChCsC,iBAAkB,CACd7H,MAAOuF,EAAMM,QAAQiC,SAEzBvF,MAAO,CACHvC,MAAOuF,EAAMM,QAAQ3I,KAAK4I,eCC5BiC,EAAqB,IAAkC,IAAjC,MAACjM,EAAD,SAAQ+E,EAAR,UAAkBjD,GAAe,EACzD,MAAME,EAASN,IAEf,OACI,yBAAKI,UAAWA,GACZ,kBAAC,EAAAoK,iBAAD,CACIpH,QAAS,CAAC2B,MAAOzE,EAAOyE,OACxB0F,QACI,kBAAC,EAAD,CACIrH,QAAS,CAACM,KAAMpD,EAAM,kBACtBkC,MAAM,UACNlE,QAAQoM,EAAAA,EAAAA,OAAMpM,MAAYA,EAC1B+E,SAAUA,IAGlB0B,MAAOhF,IAAAA,KAAU,SAErB,kBAAC,EAAAyK,iBAAD,CACIpH,QAAS,CAAC2B,MAAOzE,EAAOyE,OACxB0F,QACI,kBAAC,EAAD,CACIrH,QAAS,CAACM,KAAMpD,EAAM,kBACtBkC,MAAM,UACNlE,QAAQoM,EAAAA,EAAAA,OAAMpM,KAAWA,EACzB+E,SAAUA,IAAY3C,EAAAA,EAAAA,MAAKiK,EAAAA,IAAKtH,KAGxC0B,MAAOhF,IAAAA,KAAU,UAMjCwK,EAAmB5K,UAAY,CAC3BrB,MAAOsB,IAAAA,KACPyD,SAAUzD,IAAAA,KACVQ,UAAWR,IAAAA,QAGf,U,0LC7CA,MAAMgL,GAAeC,EAAAA,EAAAA,KAAI,UAEnBC,GAAeC,EAAAA,EAAAA,QAAM,CAACC,EAAOC,IAC/BL,EAAaK,GACP,CAAC,CAAClG,MAAOkG,EAAMlG,MAAOiG,MAAAA,EAAOE,SAAS,OAAUC,EAAAA,EAAAA,OAAML,EAAaE,EAAQ,GAAIC,EAAMhI,S,8UAD3F,IAEUgI,EAFV,CAEiBD,MAAAA,MAGfI,GAAwBD,EAAAA,EAAAA,OAAML,EAAa,IAE3CO,GAAmBN,EAAAA,EAAAA,QAAM,CAACO,EAASC,IAAWD,EAAQE,MAAK,QAAC,QAACN,EAAD,MAAU5M,GAAX,SAAuB4M,GAAW5M,IAAUiN,OCVhGvL,GAAYC,EAAAA,EAAAA,GAAW,CAChCyJ,UAAW,CACPC,UAAW,YACX1H,WAAY,QACZ2H,SAAU,YAEd6B,WAAY,CACRlJ,QAAS,c,krBCKjB,MAEMmJ,EAAwB,IAA8C,IAA7C,MAACpN,EAAD,QAAQgN,EAAR,QAAiBlI,GAA4B,EAAhBK,E,kXAAgB,kCACxE,MAAMkI,EAAmBP,EAAsBE,GACzCM,GAAiBlB,EAAAA,EAAAA,OAAMpM,GAAS,IAAKuN,EAAAA,EAAAA,KAAoBvN,GACzDgC,EAASN,IACT8L,GAAeC,EAAAA,EAAAA,MAErB,OACI,kBAACjG,EAAA,EAAD,GACIM,UAAW,CACP4F,sBAAsB,GAE1B5I,QAAO,KACAA,EADA,CAEHM,KAAMwB,GAAAA,CAAW4G,EAAapI,MAAMkD,EAAAA,EAAAA,MAAK,OAAQxD,IACjD6I,KAAM/G,GAAAA,CAAW4G,EAAaG,MAAMrF,EAAAA,EAAAA,MAAK,OAAQxD,OAEjDK,EATR,CAUInF,MAAOA,EACPiF,eAAe7C,EAAAA,EAAAA,MAAK2K,EAAiBM,IAAmB/E,EAAAA,EAAAA,MAAK,YAE5D+E,EAAiBxH,OAAS,EACvBwH,EAAiB9K,KAAI,CAAC,EAAgCmD,KAAjC,IAAC,MAAC1F,EAAD,MAAQyG,EAAR,MAAeiG,EAAf,QAAsBE,GAAvB,SACjB,kBAAC,EAAAgB,SAAD,CACItK,IAAKoC,EACLmI,SAAUjB,EACV5M,MAAOA,EACP8N,MAAO,CAACC,YA5BP,IA4BwBrB,EAAQ,GAAX,OAErBY,EAAelK,SAASpD,IAAU,kBAAC0L,EAAA,EAAD,CAAW5J,UAAWE,EAAOoJ,YAC/D3E,GAASzG,EAAMgO,eAIxB,kBAAC,EAAAJ,SAAD,CAAU9L,UAAWE,EAAOmL,WAAYU,UAAU,GAC7CpM,IAAAA,KAAU,uBAO/B2L,EAAsB/L,UAAY,CAC9BrB,MAAOsB,IAAAA,UAAoB,CAACsH,EAAAA,GAAiBtH,IAAAA,QAAkBsH,EAAAA,MAC/DoE,QAAS1L,IAAAA,QAAkBA,IAAAA,UAAoB,CAAC2M,EAAAA,GAAmBC,EAAAA,MAA0BC,WAC7FrJ,QAASxD,IAAAA,QCzDb,MAEM8M,GAAY3B,EAAAA,EAAAA,QAAM,CAAC4B,EAAWC,KAChC,MAAOC,KAAUC,GAASF,EAAOhM,MAAM+L,GACvC,MAAO,CAACE,EAAOC,EAAMvL,KAAKoL,OAIxBI,GAAiBC,EAAAA,EAAAA,SAAQC,EAAAA,KAAM,CAACP,EART,OAUvBQ,GAAUlM,EAAAA,EAAAA,SAAO4F,EAAAA,EAAAA,MAAK,U,wUCN5B,MAAMuG,EAAe,IAAiG,IAAhG,SAACpH,EAAD,MAAWzH,EAAO8O,WAAYC,EAA9B,QAA8CC,EAA9C,SAAuDjK,EAAvD,WAAiEkK,GAA+B,EAAhB9J,E,kXAAgB,wEAClH,MAAM+J,EAAgBJ,IAAD,CACjBA,WAAAA,EACA9O,OAAO2O,EAAAA,EAAAA,MAAK,CAACI,EAAgBD,EAAY,eAAgBE,MAE7DG,EAAAA,EAAAA,YAAU,MACF1K,EAAAA,EAAAA,SAAQuK,IAAYC,GACpBA,MAEL,CAACD,EAASC,IACb,MAAMjC,EDFiB,EAAC+B,EAAgBC,KACxC,MAAMI,EAAiBC,IACnB,MAAM,OAACC,GAAUb,EAAeY,EAAKL,GACrC,OAAOM,EAASF,EAAcE,GAAQC,OAAOF,GAAO,CAACA,IAGnDG,EAAa,IAAkB,IAAhBH,EAAKrP,GAAW,EACjC,MAAMyP,EAAShB,EAAeY,EAAKL,IAC5B,CAAEU,GAAQtB,EApBI,IAoB4BiB,GAC3C5I,GAAQkJ,EAAAA,EAAAA,KAAeD,EAAMD,EAAO/P,aAC1C,OAAO+P,IAAWzP,EAAQ,CAACyG,MAAAA,EAAOzG,MAAO0P,GAAQ,CAACjJ,MAAAA,EAAO9B,OAAQiL,EAAa5P,KAG5E4P,EAAgB5P,GAAU6P,OAAO7C,QAAQhN,GAAOuC,IAAIiN,GAAY/M,KAAKmM,GAErEkB,EAAYD,OAAO7C,QAAQgC,EAAQD,IAAmB,IAAIgB,QAC5D,CAACC,EAAD,SAAON,EAAM1P,GAAb,SAAwBiQ,EAAAA,EAAAA,WAAUb,EAAe,GAAEL,KAAwCW,KAAS1P,EAAOgQ,KAC3G,IAGJ,OAAOJ,EAAaE,IClBJI,CAAmBnB,EAAgBC,GAC7CmB,E,8UAAc,IACbhL,EADU,CAEbsC,SAAAA,EACAuF,QAAAA,IAIJ,OAFAhN,GAAQgI,EAAAA,EAAAA,WAAUP,EAAW,GAAK,GAAIzH,GAE/ByH,EACH,kBAAC2F,EAAD,KACQ+C,EADR,CAEInQ,OAAOoQ,EAAAA,EAAAA,OAAM,aAAcpQ,GAC3B2H,oBAAsBmH,GAAe9O,EAAMkN,MAAKlG,EAAAA,EAAAA,QAAO,aAAc8H,IAAa9O,MAClF+E,UAAU3C,EAAAA,EAAAA,OAAKG,EAAAA,EAAAA,KAAI2M,GAAenK,MAGtC,kBAACqI,EAAD,KACQ+C,EADR,CAEInQ,OAAOsI,EAAAA,EAAAA,MAAK,aAActI,GAC1B2H,qBAAqB0I,EAAAA,EAAAA,SAAO/H,EAAAA,EAAAA,MAAK,QAAStI,IAC1C+E,UAAU3C,EAAAA,EAAAA,MAAK8M,EAAcnK,OAKzC8J,EAAaxN,UAAY,CACrBoG,SAAUnG,IAAAA,KACVtB,MAAOsB,IAAAA,UAAoB,CAACgP,EAAAA,IAAiBhP,IAAAA,QAAkBgP,EAAAA,OAC/DxB,WAAYxN,IAAAA,OAAAA,WACZ0N,QAAS1N,IAAAA,SAAmBA,IAAAA,SAAmBiP,EAAAA,MAAmBpC,WAClEpJ,SAAUzD,IAAAA,KACV2N,WAAY3N,IAAAA,MAGhB,U,0DCjDA,MAAMkP,EAAiB,QAAC,WAAC1B,EAAD,MAAa9O,GAAd,SAAyB2P,EAAAA,EAAAA,KAAeb,EAAY9O,IAErEyQ,EAAsBzB,GACxBa,OAAO7C,QAAQgC,GACVzM,KAAI,QAAEuM,GAAY,YAACpP,IAAf,QAAkC,CACnCoP,WAAAA,EACA9O,MAAON,MAEV+C,MAAK,CAACiO,EAASC,KACZ,MAAMC,EAAcJ,EAAeE,GAASG,cACtCC,EAAcN,EAAeG,GAASE,cAC5C,OAAOE,EAAAA,IAAAA,QAAAA,KAAmB,MAAOH,EAAaE,M,qCCXnD,MAAMpP,IAAYC,EAAAA,EAAAA,IAAY8H,IAAD,CAChCuH,OAAQ,CACJjD,YAAa,QAEjBkD,kBAAmB,CACfhN,QAAS,WACTiN,OAAQ,UACRhN,MAAOuF,EAAMM,QAAQ3I,KAAK4I,WAE9BmH,eAAgB,CACZ5J,QAAS,QAEb6J,YAAa,CACT9F,SAAU,cCXZ+F,GAAsBC,GAAgBA,GAAeA,EAAYxC,aAAewC,EAAYtR,MAC5FuR,IAAuB9E,EAAAA,EAAAA,QAAM,CAAC+E,EAAgB1C,KAChD2C,EAAAA,EAAAA,SAAQ,CAAC3C,EAAY,eAAgB0C,K,wCCHzC,MCSME,GAA6C,G,yrBCSnD,MAAMC,GAAmB,CACrBC,mBAAoBC,EAAAA,GACpBC,iBAAkBD,EAAAA,GAClBpG,OAAQF,GAAAA,EACRwG,kBAJqB,IAKrBC,KAAMC,EAAAA,EACNC,SAAUA,EAAAA,EACVC,WAAYC,GAAAA,GAIVC,GAA8B,GAE9BC,GAAwB,IAgBxB,IAhByB,SAC3B7K,EAD2B,MAE3BzH,EACA8O,WAAYC,EAHe,eAI3BlH,EAJ2B,QAK3B0K,EAL2B,SAM3BxN,EAN2B,WAO3BkK,EAP2B,QAQ3BD,EAAU,GARiB,eAS3BwD,EAT2B,UAU3B5K,EAV2B,SAW3BiG,EAX2B,YAY3BuD,EAZ2B,iBAa3BqB,EAb2B,IAc3BC,EAAML,IAEJ,EADClN,E,kXACD,kLACF,MAAMwN,GAAWC,EAAAA,EAAAA,QAAO,MAClBC,GAAYD,EAAAA,EAAAA,QAAO,MACnB5Q,EAASN,KH5CQ,KAAiE,IAAhE,QAACsN,EAAD,eAAUwC,EAAV,eAA0BgB,EAA1B,iBAA0CM,GAAsB,EACxF,MAAOC,EAAgBC,IAAqBxN,EAAAA,EAAAA,UAAS,KACrD2J,EAAAA,EAAAA,YAAU,KACN,MAAO8D,EAAeC,IAAkB9Q,EAAAA,EAAAA,MACpCmL,EAAAA,KACA4F,EAAAA,EAAAA,QAAO9B,KACP9O,EAAAA,EAAAA,MAAI+F,EAAAA,EAAAA,MAAK,gBACT8K,EAAAA,EAAAA,WAAU7B,GAAqBC,IAJKpP,CAKtC4M,GACF,GAAIiE,EAAcpN,OAAS,EAAG,CAC1B,MAAMwN,EAAkBJ,EAAc1Q,KAAKuM,IAAD,CACtCA,WAAAA,EACA9O,MAAOwR,EAAe1C,GAAYpP,gBAEtCoT,EAAiBO,GAErB,MAAMC,EAAmBJ,EAAeC,QAAQzD,IAAUqD,EAAe3P,SAASsM,KAC9E4D,EAAiBzN,OAAS,IAC1BmN,GAAkB5Q,EAAAA,EAAAA,OAAKmN,EAAAA,EAAAA,QAAO+D,GAAmBvN,EAAAA,OACjDyM,EAAec,MAEpB,CAACtE,EAASwC,KGyBb+B,CAAmB,CACfvE,QAAShP,EACTwR,eAAgBxC,EAAQD,GACxByD,eAAiBgB,GAAehB,EAAezD,EAAgByE,GAC/DV,iBAAmB9D,GAAYjK,EAAS0C,EAAWuH,EAAUA,EAAQ,MCzDtD,EAAC6D,EAAWF,EAAU9E,KAAsB,MAC/D,MAAM4F,GAAeb,EAAAA,EAAAA,SAAO,IAGvBa,EAAaC,SACd7F,GACA8F,SAASC,iBAAT,UAA2BjB,EAASe,eAApC,aAA2B,EAAkBG,qBAAqB,SAAS,MAE3EJ,EAAaC,SAAU,IAE3BvE,EAAAA,EAAAA,YAAU,KACN,MAAM2E,EAAU,KACRL,EAAaC,UACbD,EAAaC,SAAU,IAGQ,MAID,EAAtC,IAJK7F,GAAY4F,EAAaC,UAC1B,UAAAb,EAAUa,eAAV,SAAmBK,QACnBN,EAAaC,SAAU,GAEvB7F,GAAY4F,EAAaC,QAEzB,OADQ,QAAR,EAAAC,gBAAA,SAAUK,iBAAiB,QAASF,GAC7B,KAAM,MACD,QAAR,EAAAH,gBAAA,SAAUM,oBAAoB,QAASH,MAGhD,CAACjG,KDiCJqG,CAAerB,EAAWF,EAAU9E,GAEpC,MAAOvI,EAAYC,IAAiBC,EAAAA,EAAAA,UAAS,KACtC2O,EAASC,IAAc5O,EAAAA,EAAAA,UAAS,KAChC6O,EAAYC,IAAiB9O,EAAAA,EAAAA,UAAS,IACtC+O,EAAmBC,IAAwBhP,EAAAA,EAAAA,WAAS,GAUrDiP,GAAcC,EAAAA,EAAAA,cAChB,SAAC1U,GAA0B,IAAnBqU,EAAmB,uDAAN,EAEjB,OADAG,GAAqB,IACD,OAAZjC,EACFoC,QAAQC,QAAQ,IAChB3F,EAAW,CACT4F,KAAM9F,EACNwD,QAAAA,EACAuC,kBAAmB9U,EACnB0S,IAAKA,EAAM,EACXqC,QAASV,EAAa,GAAK3B,KAG9BsC,MAAMC,GAAiBxE,EAAmBwE,KAC1CC,OAAM,IAAM,KACZC,SAAQ,IAAMX,GAAqB,OAE5C,CAAC9B,EAAK3D,EAAgBwD,IAGpB6C,GAAkBV,EAAAA,EAAAA,cAAY,KAChCD,EAAYnP,EAAY+O,EAAa,GAAGW,MAAMC,IAC1Cb,GAAYD,IAAY5E,EAAAA,EAAAA,QAAO4E,EAAQkB,MAAM,EAAGhB,EAAa3B,GAAMuC,KACnEX,GAAegB,GAASA,EAAO,SAEpC,CAAC5C,EAAK+B,EAAanP,EAAY+O,IAE5BkB,GAAuBb,EAAAA,EAAAA,cACzBc,EAAAA,EAAAA,MAAS,CAACxV,EAAOyV,KACbhB,EAAYzU,GAAOgV,MAAMb,GAAYsB,EAAStB,OA1EzB,KA4EzB,CAACM,KAGC,eAACiB,EAAD,sBAAiBC,EAAuBC,UAAWC,GF3GlCpB,CAAAA,IACvB,MAAOiB,EAAgBI,IAAqBtQ,EAAAA,EAAAA,UAAS,KAC9CmQ,EAAuBI,IAA4BvQ,EAAAA,EAAAA,UAAS,OAC5DoQ,EAAWI,IAAgBxQ,EAAAA,EAAAA,WAAS,GACrCyQ,GAAcC,EAAAA,GAAAA,KAepB,OAbA/G,EAAAA,EAAAA,YAAU,KACN2G,EAAkB,IAClBE,GAAa,GACbC,EAAYxB,EAAY,KACnBO,MAAMb,IACH2B,EAAkB3B,GAClB4B,GAA0BI,GAAcA,GAAahC,IACrD6B,GAAa,MAEhBd,OAAM,KACHc,GAAa,QAEtB,CAACvB,IACG,CAACiB,eAAAA,EAAgBC,sBAAAA,EAAuBC,UAAAA,IEwFqCQ,CAAkB3B,IAEtGtF,EAAAA,EAAAA,YAAU,KACNiF,EAAWsB,KACZ,CAACA,KAEJW,EAAAA,GAAAA,IAAmB,KACf/B,EAAc,KACf,CAACvF,IAEJ,MAAMuH,GAAmBC,EAAAA,EAAAA,UAAQ,IAAMpC,EAAQkB,MAAM,EAAGhB,EAAa3B,IAAM,CAACA,EAAKyB,EAASE,IACpFmC,EAAiBrC,EAAQtO,OAASyQ,EAAiBzQ,OAEnDrB,EAAeiD,GAAWhD,EAAAA,EAAAA,SAAQzE,KAAUA,MAAAA,GAAAA,EAAO8O,YAAe9O,MAAAA,GAAAA,EAAOA,QAEzE,cAACyW,GD1Ge,KAA0E,IAAzE,GAACC,EAAD,sBAAKf,EAAL,aAA4BnR,EAA5B,SAA0CiD,EAA1C,SAAoD1C,GAAqB,EAYhG,OAXAoK,EAAAA,EAAAA,YAAU,KACFuH,GAAMf,GAA0D,IAAjCA,EAAsB9P,QAAgBrB,IALxDkS,CAAAA,GAAehF,GAAkBgF,GAKwCC,CAAgBD,IACtG3R,EAAS0C,EAAWkO,EAAwBA,EAAsB,MAGvE,CAACA,IAMG,CAACc,eALc/B,EAAAA,EAAAA,cAAY,KAC1BgC,GAdcA,CAAAA,IACtBhF,GAAkBgF,IAAM,GAchBE,CAAiBF,KAEtB,CAACA,MC+FoBG,CAAkB,CACtCH,GAAIjE,EACJkD,sBAAAA,EACAnR,aAAAA,EACAiD,SAAAA,EACA1C,SAAAA,IAGJ,OACI,kBAAC+R,EAAA,EAAD,MACQ3R,EADR,CAEI4R,QAAStP,EACT3C,QAAS9C,EACTgV,iBAAkBrD,SAASsD,KAC3BC,cAAc,OACdrP,eAAc,MACPA,EADO,CAEVsP,IAAKxE,EACL9E,UAAUhG,MAAAA,OAAA,EAAAA,EAAgBgG,WAAYA,IAE1C8E,SAAUA,EACVyE,SAAUvE,EACV7Q,OAAQ,CACJqV,WAAaC,GAAD,MAAeA,EAAf,CAAqBC,OAAQ,OACzC7N,UAAY4N,GAAD,MAAeA,EAAU1P,EAAY,CAAClE,MAAO,QAAU,KAEtE8T,iBAAkB,IACdjD,IAAsBiC,EAAiB/U,IAAAA,KAAU,cAAgBA,IAAAA,KAAU,oBAE/EgW,WAAY9F,GACZ+F,aAAa,EACbC,cAAc,EACdrS,WAAYA,EACZsS,cA1FmB5X,IACnBA,IAAUsF,IACVC,EAAcvF,GACdsU,EAAc,GACdiB,EAAqBvV,EAAOoU,KAuF5ByD,eAAgB,IAAMpW,IAAAA,KAAU,cAChCmU,WAAYtQ,GAAcuQ,EAC1BiC,qBAAqB,EACrB1G,YAAaA,GAAe,GAC5B2G,WAAYlK,EACZsG,QAASmC,EACT0B,gBAAgBC,EAAAA,EAAAA,SAAO3P,EAAAA,EAAAA,MAAK,UAAUA,EAAAA,EAAAA,MAAK,eAC3CkI,eAAgBA,EAChBzL,SAAW/E,IACPyW,IACA1R,EAAS/E,IAEbA,OAAOgI,EAAAA,EAAAA,WAAUP,EAAW,GAAK,KAAMzH,GACvCmL,eAAgBqL,GAAkB,kBAAC0B,GAAA,EAAD,CAAgBrN,QAAS0J,EAAmBzJ,QAASsK,QAKnG9C,GAAsBjR,UAAY,CAC9BoG,SAAUnG,IAAAA,KACVtB,MAAOsB,IAAAA,UAAoB,CAACgP,EAAAA,IAAiBhP,IAAAA,QAAkBgP,EAAAA,OAC/DzI,eAAgBvG,IAAAA,MAAgB,CAC5B6W,QAAS7W,IAAAA,OACTgI,OAAQhI,IAAAA,OACR8W,YAAa9W,IAAAA,OAEjBwN,WAAYxN,IAAAA,OAAAA,WACZiR,QAASjR,IAAAA,MACT2N,WAAY3N,IAAAA,KACZyD,SAAUzD,IAAAA,KACV0N,QAAS1N,IAAAA,OACTkR,eAAgBlR,IAAAA,KAChBsG,UAAWtG,IAAAA,KACX8P,YAAa9P,IAAAA,OACbuM,SAAUvM,IAAAA,KACVmR,iBAAkBnR,IAAAA,OAClBoR,IAAKpR,IAAAA,QAGT,Y,0rBE/LA,MAAM+W,GAAe,IAA8B,IAA7B,QAACvT,GAA4B,EAAhBK,E,kXAAgB,gBAC/C,MAAMnD,GAASyL,EAAAA,EAAAA,MACf,OACI,kBAAC6K,GAAA,EAAD,IACIxQ,UAAW,CACP4F,sBAAsB,GAE1B5I,QAAO,MACAA,EADA,CAEHM,KAAMwB,GAAAA,CAAW5E,EAAOoD,MAAMkD,EAAAA,EAAAA,MAAK,OAAQxD,IAC3C6I,KAAM/G,GAAAA,CAAW5E,EAAO2L,MAAMrF,EAAAA,EAAAA,MAAK,OAAQxD,OAE3CK,KAKhBkT,GAAahX,UAAY,CACrByD,QAASxD,IAAAA,QAGb,Y,qoCCrBA,MAAMiX,GAAsB,IAA0F,IAAzF,UAACC,EAAD,MAAYxY,EAAZ,SAAmB+E,EAAnB,mBAA6B9E,EAA7B,eAAiD4H,EAAiB,IAAuB,EAAhB1C,E,kXAAgB,2EAClH,MAAMsT,GAAcC,EAAAA,EAAAA,MACdC,ECHe,EAACH,EAAWvY,KACjC,MAAM2Y,GAASxY,EAAAA,GAAAA,aAAYC,GAAAA,GAAAA,UAAAA,WACrB2O,GAAU5O,EAAAA,GAAAA,aAAYC,GAAAA,GAAAA,UAAAA,YACtBF,GAAyBC,EAAAA,GAAAA,aAAYC,GAAAA,GAAAA,UAAAA,2BACrCwY,GAA6BzY,EAAAA,GAAAA,aAAYC,GAAAA,GAAAA,UAAAA,+BACzCyY,GAAWC,EAAAA,GAAAA,eACXC,GAAyBtE,EAAAA,EAAAA,cAC3B,CAACuE,EAAavG,EAAKwG,KACfC,EAAAA,EAAAA,KAAwB,CACpBX,UAAAA,EACAS,YAAAA,EACA9E,QAAS,MAAI0E,EAAN,CAAkCnG,IAAAA,EAAKwG,OAAAA,MAC/ClE,MAAMoE,GAAavJ,OAAOwJ,KAAKD,EAASZ,OAC/C,CAACA,EAAWK,KAGV,KAAChE,EAAD,OAAOlQ,EAAP,WAAemK,EAAf,IAA2BO,EAA3B,oBAAgCiK,EAAhC,QAAqDnF,GAAWlU,EAEtE,OAAQ4U,GACJ,KAAK0E,EAAAA,IAAAA,UACD,MAAO,CAACvM,QAASrI,EAAOpC,KAAKvC,IAAD,CAAaA,MAAAA,OAC7C,KAAKuZ,EAAAA,IAAAA,YACD,MAAO,CACHvK,QAAAA,EACAF,WAAAA,EACAG,WAAY,KACRA,EAAAA,EAAAA,OAAa+F,MAAMhG,IACf8J,EAASU,GAAAA,GAAAA,QAAAA,QAAAA,cAAsCxK,QAG/D,KAAKuK,EAAAA,IAAAA,sBACD,MAAO,CACHvK,QAAAA,EACAF,WAAYwK,EACZrK,WAAY,IAAqD,IAApD,KAAC4F,EAAD,QAAOtC,EAAP,kBAAgBuC,EAAhB,IAAmCpC,EAAnC,OAAwCqC,GAAY,EAC7D,OAAO0E,EAAAA,EAAAA,KAAoB,CAAC5E,KAAAA,EAAMtC,QAAAA,EAASuC,kBAAAA,EAAmBpC,IAAAA,EAAKqC,OAAAA,IAASC,MAAK,QAAC,WAACxB,GAAF,SAC7EkG,EAAAA,EAAAA,QAAO,GAAI7E,EAAMrB,OAGzBhB,eAAgB,CAACqC,EAAMrB,KACnB,MAAMmG,EAAcnG,EAAWjR,KAAKqX,IAAD,CAAiB/E,KAAAA,EAAM+E,UAAAA,MAC1D,OAAOC,EAAAA,EAAAA,KAAmBF,GAAa3E,MAAMoE,IACzC,GAAIU,MAAMC,QAAQX,GAAW,CACzB,MAAMpK,EAAUoK,EAASrJ,QAAO,CAACC,EAAKgK,IAAN,MAA0BhK,EAAQgK,EAAWnF,KAAS,IACtFiE,EACIU,GAAAA,GAAAA,QAAAA,QAAAA,uBAA+C,CAC3C3E,KAAAA,EACAlQ,OAAQqK,WAOpC,KAAKuK,EAAAA,IAAAA,eACD,MAAO,CACHU,eAAgBjB,GAExB,KAAKO,EAAAA,IAAAA,YACL,KAAKA,EAAAA,IAAAA,WACL,KAAKA,EAAAA,IAAAA,YACL,KAAKA,EAAAA,IAAAA,UACL,KAAKA,EAAAA,IAAAA,SACD,MAAO,CACHW,OAAQ/Z,EAAuBkP,IAEvC,KAAKkK,EAAAA,IAAAA,UACD,MAAO,CAACX,OAAAA,GACZ,KAAKW,EAAAA,IAAAA,YACD,MAAO,CAACvM,QAASmH,GACrB,QACI,MAAO,KDpEOgG,CAAiB3B,EAAWvY,GAalD,OARA4H,GAAiBuS,EAAAA,EAAAA,eAAcvS,EAAD,MACvBwS,EAAAA,GADuB,CAE1BvY,UAAW2W,EAAY6B,YACvB1V,WAAY,CACR2V,iBARSva,CAAAA,IACNwa,EAAAA,EAAAA,IAAG3K,OAAQ7P,KAAUuM,EAAAA,EAAAA,KAAI,QAASvM,IAASwE,EAAAA,EAAAA,KAAaxE,EAAMA,QAASwE,EAAAA,EAAAA,KAAaxE,GAOrEyE,CAAQzE,OELvB,MACC,aAAC6U,GAA8D,6DAAJ,IAApD,UAACjN,EAAD,eAAYC,EAAZ,MAA4B3D,GAA4B,EAAlBiB,E,kXAAkB,2CACvE,OAAQ0P,GACJ,KAAK0E,EAAAA,IAAAA,YACL,KAAKA,EAAAA,IAAAA,YACL,KAAKA,EAAAA,IAAAA,eACL,KAAKA,EAAAA,IAAAA,SACL,KAAKA,EAAAA,IAAAA,cACL,KAAKA,EAAAA,IAAAA,eACD,OAAO,kBAACkB,EAAA,EAAD,IAAY7S,UAAWA,GAAeC,EAAoB1C,IACrE,KAAKoU,EAAAA,IAAAA,WACD,OAAO,kBAACkB,EAAA,EAAD,IAAY7S,UAAWA,GAAeC,EAAoB1C,EAA1D,CAAsE0P,KAAM,WACvF,KAAK0E,EAAAA,IAAAA,UACL,KAAKA,EAAAA,IAAAA,UACD,OACI,kBAACkB,EAAA,EAAD,IACI7S,UAAWA,EACX8S,QAAS,GACL7S,EACA1C,EAJR,CAKIwV,WAAW,KAGvB,KAAKpB,EAAAA,IAAAA,cACD,OAAO,kBAACkB,EAAA,EAAD,IAAY7S,UAAWA,GAAeC,EAAoB1C,EAA1D,CAAsE0P,KAAK,cACtF,KAAK0E,EAAAA,IAAAA,UACL,KAAKA,EAAAA,IAAAA,SACL,KAAKA,EAAAA,IAAAA,WACD,OAAO,kBAACqB,EAAA,EAAD,IAAchT,UAAWA,GAAeC,EAAoB1C,EAA5D,CAAwE0V,SAAS,KAC5F,KAAKtB,EAAAA,IAAAA,WACL,KAAKA,EAAAA,IAAAA,YACL,KAAKA,EAAAA,IAAAA,YACL,KAAKA,EAAAA,IAAAA,YACD,OAAO,kBAACqB,EAAA,EAAD,IAAchT,UAAWA,GAAeC,EAAoB1C,IACvE,KAAKoU,EAAAA,IAAAA,aACL,KAAKA,EAAAA,IAAAA,mBACL,KAAKA,EAAAA,IAAAA,8BACD,OACI,kBAAC,EAAD,IACIrV,MAAOA,GACHiB,EAFR,CAGIrD,UAAW+F,MAAAA,OAAF,EAAEA,EAAgBiT,+BAGvC,KAAKvB,EAAAA,IAAAA,UACL,KAAKA,EAAAA,IAAAA,qBACL,KAAKA,EAAAA,IAAAA,gBACD,OAAO,kBAACwB,EAAA,EAAD,MAAgBlT,EAAoB1C,IAC/C,KAAKoU,EAAAA,IAAAA,eACD,OAAO,kBAACyB,EAAA,EAAD,MAAqBnT,EAAoB1C,IACpD,KAAKoU,EAAAA,IAAAA,UACL,KAAKA,EAAAA,IAAAA,YACD,OAAO,kBAAC,GAAD,IAAc3R,UAAWA,EAAWC,eAAgBA,GAAoB1C,IACnF,KAAKoU,EAAAA,IAAAA,YACD,OAAO,kBAAC,EAAD,IAAc3R,UAAWA,EAAWC,eAAgBA,GAAoB1C,IACnF,KAAKoU,EAAAA,IAAAA,eACD,OAAO,kBAAC0B,EAAA,EAAD,IAAiBrT,UAAWA,GAAeC,EAAoB1C,IAC1E,KAAKoU,EAAAA,IAAAA,sBACD,OAAO,kBAAC,GAAD,IAAuB3R,UAAWA,EAAWC,eAAgBA,GAAoB1C,IAC5F,KAAKoU,EAAAA,IAAAA,UACD,OAAO,kBAAC2B,GAAA,EAAmB/V,GAC/B,QACI,OAAO,kBAACsV,EAAA,EAAD,IAAY7S,UAAWA,GAAeC,EAAoB1C,OFrDvDgW,MAAMlb,EAAmB4U,KAAxC,IACH9P,SAAAA,EACA/E,MAAAA,EACA6H,eAAAA,GACG8Q,EACAxT,KAIXoT,GAAoBlX,UAAY,CAC5BmX,UAAWlX,IAAAA,OACXtB,MAAOsB,IAAAA,IACPyD,SAAUzD,IAAAA,KACVrB,mBAAoBqB,IAAAA,QAGxB,a,4rBG/BA,MAAMyL,EAAoBC,GAAahN,GAAUgN,EAAQE,MAAKlG,EAAAA,EAAAA,QAAO,QAAShH,IAExEsY,EAAiB,IAA4C,IAA3C,QAACtL,EAAD,QAAUlI,EAAU,IAAuB,EAAhBK,EAAgB,2BAC/D,MAAM,SAACiW,GAA6BtW,EAAhBuW,EAApB,EAAoCvW,EAApC,cACA,OACI,kBAAC,IAAD,KACQK,EADR,CAEIL,QAASuW,EACTpW,eAAe7C,EAAAA,EAAAA,MAAK2K,EAAiBC,IAAU1E,EAAAA,EAAAA,MAAK,YAEnD0E,EAAQzK,KAAI,CAAC,EAAgBmD,KAAjB,IAAC,MAAC1F,EAAD,MAAQyG,GAAT,SACT,kBAAC,EAAAmH,SAAD,CAAUtK,IAAKoC,EAAO1F,MAAOA,EAAO8B,UAAWsZ,GAC1C3U,GAASzG,EAAMgO,iBAOpCsK,EAAejX,UAAY,CACvByD,QAASxD,IAAAA,OACT0L,QAAS1L,IAAAA,QAAkB2M,EAAAA,IAAmBE,YAGlD,W,qLC7BO,MAAMzM,GAAYC,EAAAA,EAAAA,GAAW,CAChC2Z,kBAAmB,CACf/T,QAAS,QAEbgU,SAAU,CACNhU,QAAS,OACToC,WAAY,UAEhBlD,MAAO,CACHmD,aAAc,WACdhG,SAAU,SACViG,WAAY,UAEhB2R,WAAY,CACRrS,OAAQ,OACRzF,MAAO,OACPQ,MAAO,mBACPP,WAAY,MACZuN,OAAQ,aCJVuK,EAAuBC,IACzBC,QAAQD,MAAMA,GACdE,EAAAA,EAAAA,SAAoB,CAChBxV,MAAO3E,IAAAA,KAAU,qBACjBD,SAASqa,EAAAA,EAAAA,KAAuBH,MAIlCI,EAAa,IAAyD,IAAxD,mBAACC,EAAqB,GAAtB,SAA0BC,EAA1B,eAAoCC,GAAoB,EACxE,MAAMja,EAASN,IACTwa,GAAetJ,EAAAA,EAAAA,UACfuJ,EAA2BJ,EAAmB9Y,KAAK,KAczD,OACI,kBAAC,EAAAmZ,SAAD,KACI,kBAAC,EAAAnR,OAAD,CAAQkN,QAAQ,YAAYrN,QAfV,KACtBoR,EAAaxI,QAAQ1T,MAAQ,KAC7Bkc,EAAaxI,QAAQ2I,UAcZ5a,IAAAA,KAAU,gBAGf,2BACIoT,KAAK,OACL/S,UAAWE,EAAOsZ,kBAClBvW,SAlBc2D,IACtB,MAAM4T,EAAgB5T,EAAM1H,OAAOub,OAAS7T,EAAM8T,aAAaD,OAAS,GACpED,EAAczW,OAAS,IACvBoW,IACAD,EAASM,EAAc,KAE3B5T,EAAMC,kBACND,EAAM+T,kBAYEtF,IAAK+E,EACLvc,KAAK,aACL+c,OAAQP,MAMxBL,EAAWza,UAAY,CACnB2a,SAAU1a,IAAAA,KACV2a,eAAgB3a,IAAAA,KAChBya,mBAAoBza,IAAAA,QAAkBA,IAAAA,SAG1C,MAAMqb,EAAmB,IAQnB,IARoB,KACtBC,EADsB,SAEtBC,EAFsB,SAGtBb,EAHsB,QAItBc,EAAUrB,EAJY,SAKtBsB,EALsB,mBAMtBhB,EANsB,YAOtBiB,GAAc,GACZ,EACF,MAAOC,EAAMC,IAAW1X,EAAAA,EAAAA,UA7DP,IA8DV7F,EAAMwd,IAAW3X,EAAAA,EAAAA,UAAS,IAE3BxD,EAASN,KACfyN,EAAAA,EAAAA,YAAU,KACNgO,EAAQN,KACT,CAACA,KAEJ1N,EAAAA,EAAAA,YAAU,KACN+N,EAAQN,EAtEgC,EAA3B,KAuEd,CAACA,IACJ,MAAMQ,GAAiB1I,EAAAA,EAAAA,cAClBgH,IACGwB,EA1ES,GA2ETJ,EAAQpB,KAEZ,CAACoB,IAGCO,GAAkB3I,EAAAA,EAAAA,cACnB4I,GACUtB,EAASsB,GACXtI,MAAK,KACFkI,EApF4B,GAqF5BC,EAAQG,EAAO3d,SAElBuV,MAAMkI,IAEf,CAACpB,EAAUoB,IAGTnB,GAAiBvH,EAAAA,EAAAA,cAAY,KAC/BwI,EA7F2B,KA8F5B,IACGK,GAAmB7I,EAAAA,EAAAA,cAAY,KACjCwI,EAhGa,GAiGbH,MACD,CAACA,IACJ,OAAQE,GACJ,KApGa,EAqGT,OACI,kBAACnB,EAAD,CACIC,mBAAoBA,EACpBC,SAAUqB,EACVpB,eAAgBA,IAG5B,KA5GwC,EA4GnB,CACjB,MAAMxV,GAAQ+W,EAAAA,EAAAA,KAAS7d,GACvB,OACI,yBAAKmC,UAAWE,EAAOuZ,UACnB,kBAAChR,EAAA,EAAD,CAAsBvK,MAAOyG,GACxBuW,EACG,kBAAC,EAAAjc,KAAD,CAAME,KAAM2b,EAAM9a,UAAWE,EAAOyE,OAC/BA,GAGL,kBAAC,EAAAgX,WAAD,CAAYtF,QAAQ,UAAUrW,UAAWE,EAAOyE,OAC3CA,IAIb,kBAACiX,EAAA,EAAD,CACI5S,QAASyS,EACT9U,YAAa8U,EACbI,WAAYJ,EACZzb,UAAWE,EAAOwZ,cAKlC,KApI2B,EAqIvB,OAAO,kBAAC,EAAAzQ,iBAAD,CAAkBC,KApIV,KAqInB,QACI,OAAO,OAInB2R,EAAiBtb,UAAY,CACzBub,KAAMtb,IAAAA,OACNub,SAAUvb,IAAAA,OACV0a,SAAU1a,IAAAA,KACVwb,QAASxb,IAAAA,KACTyb,SAAUzb,IAAAA,KACVya,mBAAoBza,IAAAA,QAAkBA,IAAAA,QACtC0b,YAAa1b,IAAAA,MAGjB,UChKaI,GAAYC,EAAAA,EAAAA,GAAW,CAChCic,OAAQ,CACJhT,UAAW,YC2CnB,EAlCuB,IAAkD,IAAjD,MAAC5K,EAAD,SAAQ+E,EAAR,QAAkB+X,EAAlB,UAA2Bhb,GAAsB,EACrE,MAAM,aAAC+b,EAAD,SAAehB,EAAf,eAAyBiB,GAAkB9d,GAAS,GACpDgd,EAAcc,GAAkBC,KAAKC,MAErCX,GAAkB3I,EAAAA,EAAAA,cACnBuJ,IACGC,EAAAA,EAAAA,KAAoBD,GAAMjJ,MAAK,IAA0C,IAAzC,KAACrG,EAAD,aAAOkP,EAAP,eAAqBC,GAAoB,EACrE/Y,EAAS,CACL8X,SAAUoB,EAAKte,KACfke,aAAAA,EACAjB,KAAMjO,EACNmP,eAAgB,IAAIC,KAAKD,GAAgBK,gBAGrD,CAACpZ,IAECqZ,GAAkB1J,EAAAA,EAAAA,cAAY,IAAM3P,EAAS,OAAO,CAACA,IAErD/C,EAASN,IACf,OACI,yBAAKI,UAAW8E,GAAAA,CAAW5E,EAAO4b,OAAQ9b,IACtC,kBAAC,EAAD,CACIkb,YAAaA,EACbJ,KAAMiB,EACNhB,SAAUA,EACVd,mBAtBe,CAAC,OAAQ,QAuBxBC,SAAUqB,EACVP,QAASA,EACTC,SAAUqB,O,ooCClC1B,MAAMC,EAAqB,QAAC,SAAC1L,EAAD,SAAW5N,EAAX,QAAqB8V,EAArB,YAA8BxW,EAA9B,OAA2C6V,GAA5C,EAAuD/U,EAAvD,qEACvB,kBAAC,IAAD,KACQA,EACA+U,EAFR,CAGIoE,YAAa3L,EACb4L,iBAAiB,EACjBC,cAAgB7Z,IACZI,EAAS,CACL/D,OAAQ,CACJhB,MAAO2E,EAAO3E,UAI1Bye,aAAc5D,EAAU,OAAI6D,EAC5Bra,YAAaA,MAIrBga,EAAmBhd,UAAY,CAC3BsR,SAAUrR,IAAAA,KAAAA,WACVyD,SAAUzD,IAAAA,KAAAA,WACVuZ,QAASvZ,IAAAA,KACT+C,YAAa/C,IAAAA,YACb4Y,OAAQyE,EAAAA,IAGZ,MAAM/D,EAAe,QAAC,QAACC,EAAD,OAAUX,EAAV,WAAkBrV,EAAlB,WAA8BD,GAA/B,EAA8CO,EAA9C,2DACjB,kBAAC,IAAD,KACQA,EADR,CAEIN,WAAU,GACNgW,QAAAA,EACAX,OAAAA,GACGrV,GAEPD,WAAU,KACHA,EADG,CAEN+B,eAAgB0X,IAEpBpZ,eAAe2Z,EAAAA,EAAAA,KAAa1E,OAIpCU,EAAavZ,UAAY,CACrBoG,SAAUnG,IAAAA,KACVuZ,QAASvZ,IAAAA,KACT4Y,OAAQyE,EAAAA,GACR9Z,WAAYvD,IAAAA,OACZsD,WAAYtD,IAAAA,OACZtB,MAAOsB,IAAAA,UAAoB,CACvBA,IAAAA,OACAA,IAAAA,QAAkBA,IAAAA,QAClBA,IAAAA,OACAA,IAAAA,QAAkBA,IAAAA,UAEtByD,SAAUzD,IAAAA,MAGd,W,yUCzDA,MAAMud,EAAc,IAAwD,IAAvD,MAAC7e,EAAD,SAAQ+E,EAAWC,EAAAA,GAAnB,UAAyB2V,GAA8B,EAAhBxV,E,kXAAgB,qCACxE,MAAO2Z,EAAcC,IAAmBvZ,EAAAA,EAAAA,UAAS,KAEjD2J,EAAAA,EAAAA,YAAU,KACN4P,GAAgB3S,EAAAA,EAAAA,OAAMpM,GAAS,GAAKA,KACrC,CAACA,IAEJ,MAAMgf,EAA0B,KACxBF,IAAiB9e,GACjB+E,EAAS+Z,IAUjB,OACI,kBAAC,EAAAzY,UAAD,KACQlB,EADR,CAEIwV,UAAWA,EACX3a,MAAO8e,EACPhY,YAAYC,EAAAA,EAAAA,OAAKC,EAAAA,EAAAA,QAAO,MAAO,UAXlB,KACZ2T,GACDqE,OAUA7X,OAAQ6X,EACRja,UAAU3C,EAAAA,EAAAA,MAAKkE,EAAAA,GAAUyY,OAKrCF,EAAYxd,UAAY,CACpBrB,MAAOsB,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,SAC9CyD,SAAUzD,IAAAA,KACVqZ,UAAWrZ,IAAAA,KACXsD,WAAYtD,IAAAA,OACZQ,UAAWR,IAAAA,QAGf,U,gNCxCA,MAAMmZ,EAAa,IAAgE,IAA/D,SAAChT,EAAD,MAAWzH,EAAX,cAAkBiF,EAAlB,UAAiC0V,GAA8B,EAAhBxV,E,kXAAgB,qDAC/E,OAAOsC,EACH,kBAAC/C,EAAA,EAAD,KAAmBS,EAAnB,CAA+BR,OAAQ3E,EAAOiF,cAAeA,KAE7D,kBAAC,EAAD,KAAiBE,EAAjB,CAA6BnF,MAAOA,EAAO2a,UAAWA,MAI9DF,EAAWpZ,UAAY,CACnBoG,SAAUnG,IAAAA,KACVqZ,UAAWrZ,IAAAA,KACXtB,MAAOsB,IAAAA,UAAoB,CACvBA,IAAAA,OACAA,IAAAA,QAAkBA,IAAAA,QAClBA,IAAAA,OACAA,IAAAA,QAAkBA,IAAAA,UAEtB2D,cAAe3D,IAAAA,MAGnB,W,kMCxBO,MAAMI,GAAYC,E,SAAAA,GAAW,CAChC,qCAAsC,CAClCsC,QAAS,WACTgb,UAAW,UAEf,yCAA0C,CACtCC,UAAW,QACXC,UAAW,QAEf,8BAA+B,CAC3B7V,OAAQ,EACRrF,QAAS,EACTmb,cAAe,QAEnB,kCAAmC,CAC/Blb,MAAO,mBACPH,SAAU,QAEdsb,YAAa,CACTnb,MAAO,mBACPH,SAAU,QAEdN,cAAe,CACXC,MAAO,OACP4b,WAAY,OACZC,cAAe,OACf5b,WAAY,MACZC,SAAU,SACV,UAAW,CACPC,WAAY,aACZC,OAAQ,EACRC,SAAU,UACVC,QAAS,EACTC,QAAS,EACTC,MAAO,YAGfsb,SAAU,CACNrW,OAAQ,QAEZ,uBAAwB,CACpB3F,SAAU,OACVU,MAAO,mBACPH,SAAU,QAEd,wBAAyB,CACrB0b,KAAM,WACNjc,SAAU,QAEd,+BAAgC,CAC5BuK,YAAa,OAEjB2R,iBAAkB,CACd,WAAY,CACRnY,QAAS,SAGjB,mCAAoC,CAChC7D,MAAO,QAEX,iBAAkB,CACdE,SAAU,SACVgG,aAAc,WACdrC,QAAS,W,2jCC1BjB,MACMoY,EAAY,GAEZ1E,EAAkB,IASlB,IATmB,MACrBjb,EADqB,IAErB0S,EAAMiN,EAFe,eAGrB1F,EAHqB,SAIrBlV,EAJqB,SAKrB0C,EALqB,UAMrBG,EANqB,WAOrBhD,EAAa,IAEX,EADCC,EACD,qFACF,MAAO+a,EAAaC,IAAkBra,EAAAA,EAAAA,UAAS,KACxCsa,EAAsBC,IAA4Bva,EAAAA,EAAAA,WAAS,IAC3D6O,EAAYC,IAAiB9O,EAAAA,EAAAA,UAAS,IACtCwa,EAAmBC,IAAwBza,EAAAA,EAAAA,WAAS,GACrD0a,EAAqBxN,EAAM,GAC1BoM,EAAcC,IAAmBvZ,EAAAA,EAAAA,UAAS,IACjDxF,GAAQgI,EAAAA,EAAAA,WAAUP,EAAW,GAAK,GAAIzH,GACtC,MAAMsF,EAAamC,EAAWqX,EAAe9e,GAE7CqW,EAAAA,EAAAA,IAAmB,KACf/B,EAAc,KACf,CAAChP,IAEJ,MAAMqN,GAAWC,EAAAA,EAAAA,UACX5Q,EAASN,IAETye,GAAmB/d,EAAAA,EAAAA,OACrBkG,EAAAA,EAAAA,MAAK,SACLjG,EAAAA,MACCrC,GAAUia,EAAeja,EAAOkgB,KACjCE,EAAAA,EAAAA,UAAQhe,EAAAA,EAAAA,OAAKie,EAAAA,EAAAA,KAAIR,IAAiBS,EAAAA,EAAAA,MAAK7b,EAAAA,SALzB,kBAAM,UAAAkO,EAASe,eAAT,eAAkB6M,cAAc,YAAa5M,SAASC,iBAKdmM,KAG1DS,EAAwB,KAC1BP,GAAqB,GACrBhG,EAAe3U,EAAY4a,EAAoB7L,EAAa,GACvDW,MAAK5S,EAAAA,EAAAA,OAAKmN,EAAAA,EAAAA,QAAOqQ,GAAcC,GAAgBxP,EAAAA,EAAAA,QAAOgE,EAAa,GAAIC,IACvEa,SAAQ,KACL8K,GAAqB,OAI3BxX,EAAeC,IACjBA,EAAM+T,kBAGJgE,GAA4B/L,EAAAA,EAAAA,cAAYc,EAAAA,EAAAA,KAAS2K,EAjD3B,KAiDuE,CAC/FlG,IAGEyG,GAAuBnK,EAAAA,EAAAA,UAAQ,IAAMqJ,EAAYvK,MAAM,EAAGhB,EAAa3B,IAAM,CAACkN,EAAavL,EAAY3B,IACvG8D,EAAiBoJ,EAAY/Z,OAAS6a,EAAqB7a,QAE1D8a,EAAoBC,IAAyBpb,EAAAA,EAAAA,WAAS,GACvDoS,EAAgB,IAAwB,IAAvB,SAACiJ,EAAD,OAAWC,GAAY,EAC1C,OAAQA,GACJ,IAAK,OACGrZ,GACAsX,EAAgB8B,GAEpB,MAEJ,IAAK,SACGpZ,EACAsX,EAAgB8B,GAEhB9b,EAAS8b,GAEb,MAEJ,IAAK,QACL,IAAK,QACGpZ,GACAsX,EAAgB,IACZ8B,GACA9b,GAASgB,EAAAA,EAAAA,MAAK,IAAI/F,EAAO6gB,MAG7B9b,EAAS8b,KAOzB,OACI,kBAAC,IAAD,CACIjB,YAAac,EACbK,wBAAyBC,EAAAA,EACzBnc,WAAU,GACN7E,MAAOsF,EACPP,UAAU3C,EAAAA,EAAAA,OAAK6e,EAAAA,EAAAA,QAAO,GAAIrJ,GAC1B3Q,UAAYyB,IACc,KAAlBA,EAAMwY,SAAkBzZ,IAAakZ,GACrC/I,EAAc,CAACkJ,OAAQ,QAASD,SAAU/B,KAGlDlX,UAAAA,GACG/C,EATG,CAUNsc,aAAc,SAElBC,mBAAoBlc,EAAAA,SACpBmc,6BAA6BC,EAAAA,EAAAA,SACzBta,EAAAA,EAAAA,QAAO,SAAU,iBACjByZ,EACAN,GAEJoB,6BAA6Bnf,EAAAA,EAAAA,OACzBiO,EAAAA,EAAAA,QAAO,IACPwP,EACA2B,EAAAA,EACAzB,GACA1P,EAAAA,EAAAA,QAAO,GACPiE,GAEJmN,qBAAsB,IAAmD,IAAlD,IAACtK,EAAKpS,SAAU6S,GAAkC,EAAhBzS,EAAgB,wBACrE,MAAMuc,EAAgB,CAClBvgB,UAAWyF,GAAAA,CAAW,CAAC,CAAC5E,EAAM,mBAAuBwC,EAAAA,EAAAA,KAAaxE,KAClE6G,MAAOD,GAAAA,CAAW5E,EAAM,UAAc2M,EAAAA,EAAAA,MAAK,CAAC,UAAW,SAAU/J,KAErE,OAAO6C,EACH,kBAAC,EAAApB,UAAD,KACQlB,EADR,CAEIgS,IAAKxE,EACLA,SAAUwE,EACVvS,WAAU,KACHA,EADG,CAEN2B,eAAgBvG,EAAMuC,KAAI,CAACO,EAAM4C,IAC7B,kBAACc,EAAA,EAAD,CAAWlD,IAAKR,EAAM2D,MAAO3D,EAAM4D,SAAU,IAAM3B,GAASY,EAAAA,EAAAA,QAAOD,EAAO,EAAG1F,QAEjF2G,eAAgBrC,EAAAA,EAChBQ,QAAS,EAAF,CACHM,KAAMwB,GAAAA,CACF5E,EAAO,0BACP2M,EAAAA,EAAAA,MAAK,CAAC,UAAW,QAAS/J,KAE3B8c,EALA,CAMH7a,MAAOD,GAAAA,CAAW5E,EAAOyB,cAAeie,EAAc7a,OACtD8a,aAAc3f,EAAO,oCAG7BhC,MAAO8e,EACP/Z,SAAU6S,EACV9S,QAAS,CAACM,KAAMpD,EAAO,4BAG3B,kBAAC,EAAAqE,UAAD,KACQlB,EADR,CAEIgS,IAAKxE,EACLA,SAAUwE,EACVnX,MAAOA,EACP+E,UAAU3C,EAAAA,EAAAA,OAAKie,EAAAA,EAAAA,KAAIzI,GAAgBtR,EAAAA,GAAUvB,GAC7CH,WAAU,KACHA,EADG,CAENE,QAAS,EAAF,CACHM,KAAMwB,GAAAA,CAAW5E,EAAM,aAAiB2M,EAAAA,EAAAA,MAAK,CAAC,UAAW,QAAS/J,KAC/D8c,SAMvBE,2BAA4B,QAAC,SAACla,EAAUma,gBAAgB,IAAC1K,IAA7B,EAAqC2K,EAArC,mCACxB,kBAACC,EAAA,EAAD,CAAQC,SAAUrP,EAASe,QAASuO,KAAMC,QAAQxa,IAAaoY,GAC3D,kBAAC,EAAAqC,MAAD,GACIhL,IAAKA,EACLiL,QAAQ,GACJN,EAHR,CAIIhU,MAAO,CAACpK,OAAO4E,EAAAA,EAAAA,MAAK,cAAeqK,EAASe,YAE3ChM,GAAY,kBAACnG,EAAA,EAAD,CAAWO,UAAWE,EAAO,wCACzCwU,IAAmBsJ,GAChB,kBAAC5H,EAAA,EAAD,CACIpN,QAAS0V,EACT/X,YAAaA,EACboC,QAASmV,OAM7BqC,iBAAkB,CAACC,EAAD,SAAa,cAACC,GAAd,SACd,kBAAC,EAAA3U,SAAD,CACI9L,UAAWE,EAAO,mCAClBwG,SAAU+Z,EACVC,UAAU,OAEV,kBAACjY,EAAA,EAAD,CAAsBvK,MAAOsiB,GACzB,yBAAKxgB,UAAWE,EAAO,mBAAoBsgB,MAIvD7Y,MAAO,CACHC,UAAW9B,EAAY5F,EAAO,oCAAsC,GACpEygB,gBAAiBzgB,EAAO,+BACxB0gB,yBAA0B1gB,EAAO,2CAErC2gB,yBAAyBvgB,EAAAA,EAAAA,OAAKkG,EAAAA,EAAAA,MAAK,cAAe4Z,QAAStB,MAKvE3F,EAAgB5Z,UAAY,CACxBoG,SAAUnG,IAAAA,KACVsG,UAAWtG,IAAAA,KACX8P,YAAa9P,IAAAA,OACbtB,MAAOsB,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,QAAkBA,IAAAA,UAChEyD,SAAUzD,IAAAA,KAAAA,WACV2Y,eAAgB3Y,IAAAA,KAAAA,WAChBsD,WAAYtD,IAAAA,OACZoR,IAAKpR,IAAAA,QAGT,W,8GCzPA,MAAM8Q,EAAkBxS,IACpB,MAAM,SAAC8H,EAAD,KAAWkb,EAAX,YAAiBC,GAAejjB,EAEtC,OACI,kBAAC,IAAD,CACIkjB,UAAW,EACXrc,MAAOiB,EACPoC,OAAOxB,EAAAA,EAAAA,MAAK,kBAAmBsa,GAC/Blc,SAAUmc,EAAY/X,QACtBvB,WAAY,kBAAC,IAAe3J,EAAMijB,gBAK9CzQ,EAAe/Q,UAAY,CACvBqG,SAAUpG,IAAAA,KACVshB,KAAMthB,IAAAA,MAAgB,CAClBtB,MAAOsB,IAAAA,OACPmF,MAAOnF,IAAAA,OACPyhB,OAAQzhB,IAAAA,SACT6M,WACH0U,YAAavhB,IAAAA,MAAgB,CACzBwJ,QAASxJ,IAAAA,KAAAA,WACTmH,YAAanH,IAAAA,KAAAA,WACbqc,WAAYrc,IAAAA,KAAAA,aACb6M,YAGP,W,sJC/BA,MAAMwQ,EAAmBrd,IAAAA,MAAgB,CACrC0hB,OAAQ1hB,IAAAA,OACR2hB,OAAQ3hB,IAAAA,OACR4hB,kBAAmB5hB,IAAAA,OACnB6hB,iBAAkB7hB,IAAAA,SAGhBsH,EAAkBtH,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,OAAkBA,IAAAA,SAE3E2M,EAAoB3M,IAAAA,MAAgB,CACtCtB,MAAO4I,EAAgBuF,WACvB1H,MAAOnF,IAAAA,SAGL4M,EAAyB5M,IAAAA,MAAgB,CAC3CmF,MAAOnF,IAAAA,OAAAA,WACPqD,OAAQrD,IAAAA,QAAkBA,IAAAA,QAAkB6M,aAG1CiV,EAAiB9hB,IAAAA,MAAgB,CACnCoV,GAAIpV,IAAAA,OACJmF,MAAOnF,IAAAA,OACPrB,mBAAoBqB,IAAAA,OACpB+hB,UAAW/hB,IAAAA,KACXgiB,SAAUhiB,IAAAA,KACViiB,WAAYjiB,IAAAA,KACZkiB,iBAAkBliB,IAAAA,KAClBmiB,qBAAsBniB,IAAAA,KACtBoiB,WAAYpiB,IAAAA,QAAkBA,IAAAA,UAG5BqiB,EAAcriB,IAAAA,MAAgB,CAChCsiB,MAAOtiB,IAAAA,OACPuiB,MAAOC,EAAAA,MAGLC,EAAmBziB,IAAAA,MAAgB,CACrCtB,MAAOsB,IAAAA,UAAoB,CAAC0iB,EAAAA,IAAiB1iB,IAAAA,QAAkB0iB,EAAAA,OAC/D7Q,OAAQ7R,IAAAA,SAGN2iB,EAAuB3iB,IAAAA,QACzBA,IAAAA,MAAgB,CACZoV,GAAIpV,IAAAA,OACJmF,MAAOnF,IAAAA,OACPrB,mBAAoBqB,IAAAA,UAItB4iB,EAAyB5iB,IAAAA,QAC3BA,IAAAA,MAAgB,CACZoV,GAAIpV,IAAAA,OACJmF,MAAOnF,IAAAA,OACP6iB,QAASF,KAIXG,EAAkB9iB,IAAAA,UAAoB,CAAC2iB,EAAsBC,IAE7DG,EAAgC/iB,IAAAA,MAAgB,CAClD8E,MAAO9E,IAAAA,OACPgjB,YAAahjB,IAAAA,QAAkBA,IAAAA,QAC/BkX,UAAWlX,IAAAA,OACXijB,cAAejjB,IAAAA,OACfkjB,SAAUC,EAAAA,IACVpV,IAAK/N,IAAAA,OACLojB,UAAWpjB,IAAAA,SAGTqjB,EAA4BrjB,IAAAA,MAAgB,CAC9CoV,GAAIpV,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,SAC3CqD,OAAQrD,IAAAA,MACRshB,KAAMyB,EACNlR,OAAQ7R,IAAAA,OACRsjB,SAAUtjB,IAAAA,U,gDC3EP,MAAM0H,E,MAAqB6b,GAAAA,cAA4B,IAE9D7b,EAAmBtJ,YAAc,sB,gDCF1B,MAAMolB,EAAe9kB,IACxB,MAAM+kB,GAAiBnS,EAAAA,EAAAA,UAIvB,OAHAzD,EAAAA,EAAAA,YAAU,KACN4V,EAAerR,QAAU1T,IAC1B,CAACA,IACG+kB,EAAerR","sources":["webpack://@reltio/remotes/../components/src/HOCs/withContext/withContext.tsx","webpack://@reltio/remotes/../components/src/components/DataTypeValue/DataTypeValue.js","webpack://@reltio/remotes/../components/src/components/EmptySearchResult/NoResults.tsx","webpack://@reltio/remotes/../components/src/components/Highlighter/styles.ts","webpack://@reltio/remotes/../components/src/components/Highlighter/Highlighter.tsx","webpack://@reltio/remotes/../components/src/components/MultipleInput/styles.js","webpack://@reltio/remotes/../components/src/components/MultipleInput/MultipleInput.js","webpack://@reltio/remotes/../components/src/components/MultipliableSelect/styles.js","webpack://@reltio/remotes/../components/src/components/MultipliableSelect/MultipliableSelect.js","webpack://@reltio/remotes/../components/src/components/SearchHighlighter/styles.ts","webpack://@reltio/remotes/../components/src/components/SearchHighlighter/SearchHighlighter.tsx","webpack://@reltio/remotes/../components/src/components/ValueChip/styles.js","webpack://@reltio/remotes/../components/src/components/ValueChip/ValueChip.js","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/styles.js","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/LoadMoreButton.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/MenuList.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/OptionWithCheckIcon/styles.ts","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/OptionWithCheckIcon/OptionWithCheckIcon.tsx","webpack://@reltio/remotes/../components/src/components/editors/BooleanEditor/BooleanEditor.js","webpack://@reltio/remotes/../components/src/components/editors/BooleanRadioEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/BooleanRadioEditor/BooleanRadioEditor.js","webpack://@reltio/remotes/../components/src/components/editors/GroupedDropDownEditor/entriesHelpers.js","webpack://@reltio/remotes/../components/src/components/editors/GroupedDropDownEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/GroupedDropDownEditor/GroupedDropDownEditor.js","webpack://@reltio/remotes/../components/src/components/editors/LookupEditor/entriesHelpers.js","webpack://@reltio/remotes/../components/src/components/editors/LookupEditor/LookupEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/helpers.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useLookupsResolver.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useDefaultOptions.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useAutopopulation.ts","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/DependentLookupEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useSavingFocus.ts","webpack://@reltio/remotes/../components/src/components/editors/SelectEditor/SelectEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DataTypeValueEditor/DataTypeValueEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DataTypeValueEditor/useEditorContext.js","webpack://@reltio/remotes/../components/src/components/editors/EditorsFactory.js","webpack://@reltio/remotes/../components/src/components/editors/DropDownEditor/DropDownEditor.js","webpack://@reltio/remotes/../components/src/components/UploadFileButton/styles.js","webpack://@reltio/remotes/../components/src/components/UploadFileButton/UploadFileButton.js","webpack://@reltio/remotes/../components/src/components/editors/FileTypeEditor/styles.ts","webpack://@reltio/remotes/../components/src/components/editors/FileTypeEditor/FileTypeEditor.tsx","webpack://@reltio/remotes/../components/src/components/editors/NumberEditor/NumberEditor.js","webpack://@reltio/remotes/../components/src/components/SimpleInput/SimpleInput.js","webpack://@reltio/remotes/../components/src/components/editors/TextEditor/TextEditor.js","webpack://@reltio/remotes/../components/src/components/editors/TypeaheadEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/TypeaheadEditor/TypeaheadEditor.js","webpack://@reltio/remotes/../components/src/components/editors/commonComponents/MultiValueChip/MultiValueChip.js","webpack://@reltio/remotes/../components/src/constants/prop-types.js","webpack://@reltio/remotes/../components/src/contexts/SearchValueContext/index.ts","webpack://@reltio/remotes/../components/src/hooks/usePrevious.js"],"sourcesContent":["import React, {memo, Context as ContextType, ComponentType} from 'react';\n\ntype AnyObject = Record<string, unknown>;\n\nexport const withContext = <C extends any, P extends AnyObject, SP extends AnyObject>(\n Context: ContextType<C>,\n contextSelector: (state: C, props?: P) => SP,\n Component: ComponentType<P>\n) => {\n if (Context && contextSelector) {\n const PureComponent = memo(Component);\n PureComponent.displayName = Component.name;\n const PureComponentWithContext = (props) => {\n return (\n <Context.Consumer>\n {(contextState) => <PureComponent {...props} {...contextSelector(contextState, props)} />}\n </Context.Consumer>\n );\n };\n return PureComponentWithContext;\n } else {\n return Component;\n }\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport mdm from '@reltio/mdm-module';\nimport {formatDataTypeValue, isAttributeValueLink, addProtocolToLink} from '@reltio/mdm-sdk';\nimport {useSelector} from 'react-redux';\nimport {Link as Link} from '@material-ui/core';\nimport SearchHighlighter from '../SearchHighlighter/SearchHighlighter';\n\nconst DataTypeValue = ({value = null, dataTypeDefinition, rich = true}) => {\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const localeDateFormat = moment.localeData().longDateFormat('L');\n const localeTimeFormat = moment.localeData().longDateFormat('LTS');\n const dateMask = useSelector(mdm.selectors.getDateMask) || localeDateFormat;\n const dateTimeMask = useSelector(mdm.selectors.getDateTimeMask) || localeDateFormat + ' ' + localeTimeFormat;\n const formattedValue = formatDataTypeValue(\n {attributePresentations, dataTypeDefinition, dateMask, dateTimeMask},\n value\n );\n\n return rich && isAttributeValueLink(dataTypeDefinition, value) ? (\n <Link target=\"_blank\" href={addProtocolToLink(formattedValue)} underline=\"none\">\n <SearchHighlighter text={formattedValue} />\n </Link>\n ) : (\n <SearchHighlighter text={formattedValue} />\n );\n};\n\nDataTypeValue.propTypes = {\n value: PropTypes.any,\n dataTypeDefinition: PropTypes.object,\n rich: PropTypes.bool\n};\n\nexport default DataTypeValue;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport NoMessageComponent from './NoMessageComponent';\n\ntype Props = Omit<React.ComponentPropsWithoutRef<typeof NoMessageComponent>, 'message'>;\n\nexport const NoResults = (props: Props) => {\n return <NoMessageComponent message={i18n.text('No results found')} {...props} />;\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n highlight: {\n fontWeight: 600\n }\n});\n","import React from 'react';\nimport {ascend, map, pipe, reverse, sort, split, toLower, trim} from 'ramda';\nimport {useStyles} from './styles';\n\ntype Props = {\n text?: string;\n highlight?: string;\n className?: string;\n multiTerm?: boolean;\n};\n\nconst Highlighter = ({text, highlight, className, multiTerm = false}: Props) => {\n const styles = useStyles();\n const hasHighlights = text && highlight;\n\n if (!hasHighlights) {\n return <>{text}</>;\n }\n\n const REG_SPACES = new RegExp(/\\s+/);\n const getMultiTerms = pipe(trim, split(REG_SPACES), map(toLower), sort(ascend), reverse);\n const highlightedValues = multiTerm ? getMultiTerms(highlight) : [toLower(highlight)];\n\n const regValues = highlightedValues.map((item) => item.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&'));\n\n const parts = text.split(new RegExp(`(${regValues.join('|')})`, 'gi'));\n\n return (\n <span>\n {parts.map((part, i) => {\n const isHighlightedText = highlightedValues.includes(part.toLocaleLowerCase());\n return isHighlightedText ? (\n <span key={i} className={className || styles.highlight}>\n {part}\n </span>\n ) : (\n part\n );\n })}\n </span>\n );\n};\n\nexport default Highlighter;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n inputRoot: {\n flexWrap: 'wrap'\n },\n autosizeInput: {\n width: 'auto',\n marginLeft: '5px',\n overflow: 'hidden',\n '& input': {\n background: '0px center',\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n color: 'inherit'\n }\n }\n});\n","import AutosizeInput from 'react-input-autosize';\nimport classnames from 'classnames';\nimport {TextField as TextField} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, {useState} from 'react';\nimport {identity, pipe, propEq, remove, uniq, when, trim, isEmpty} from 'ramda';\nimport {getValue, noop} from '../../core/utils';\nimport {useStyles} from './styles';\nimport ValueChip from '../ValueChip/ValueChip';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport i18n from 'ui-i18n';\n\nconst AutosizeInputWrapper = ({CustomInputComponent, ...props}) =>\n CustomInputComponent ? (\n <CustomInputComponent {...props} customInput={AutosizeInput} />\n ) : (\n <AutosizeInput {...props} />\n );\n\nAutosizeInputWrapper.propTypes = {\n CustomInputComponent: PropTypes.elementType\n};\n\nconst BACKSPACE_KEY_CODE = 8;\nconst EMPTY_VALUES_EDIT_HINT = i18n.text('Press Enter to add. You may enter multiple values');\n\nconst isEmptyValue = pipe(trim, isEmpty);\n\nconst MultipleInput = ({\n values = [],\n InputProps = {},\n inputProps = {},\n classes = {},\n onChange = noop,\n getValueLabel = identity,\n ...otherProps\n}) => {\n const styles = useStyles();\n const {root, ...InputClasses} = InputProps.classes || {};\n\n const [inputValue, setInputValue] = useState('');\n const clearInputValue = () => setInputValue('');\n\n const removeValueAt = (index) => onChange(remove(index, 1, values));\n const appendValue = (value) => onChange(uniq([...values, value]));\n\n const hasValues = values.length > 0;\n\n const appendInputValueIfNotEmpty = () => {\n if (!isEmptyValue(inputValue)) {\n appendValue(inputValue);\n clearInputValue();\n }\n };\n const popLastValueIfInputIsEmpty = () => {\n if (inputValue === '' && hasValues) {\n removeValueAt(-1);\n }\n };\n\n const [isFocused, setIsFocused] = useState(false);\n const setFocused = () => setIsFocused(true);\n const setUnfocused = () => setIsFocused(false);\n\n const hintText = !hasValues && isFocused ? EMPTY_VALUES_EDIT_HINT : '';\n\n return (\n <Tooltip title={hintText}>\n <TextField\n {...otherProps}\n classes={{\n root: classes.root\n }}\n value={inputValue}\n onChange={pipe(getValue, setInputValue)}\n InputProps={{\n ...InputProps,\n startAdornment: values.map((value, index) => (\n <ValueChip key={value} label={getValueLabel(value)} onDelete={() => removeValueAt(index)} />\n )),\n inputComponent: AutosizeInputWrapper,\n classes: {\n root: classnames(styles.inputRoot, root),\n input: classnames(styles.autosizeInput, InputClasses.input),\n ...InputClasses\n }\n }}\n inputProps={{\n ...inputProps,\n CustomInputComponent: InputProps.inputComponent\n }}\n onKeyPress={when(propEq('key', 'Enter'), appendInputValueIfNotEmpty)}\n onKeyDown={when(propEq('keyCode', BACKSPACE_KEY_CODE), popLastValueIfInputIsEmpty)}\n onFocus={setFocused}\n onBlur={pipe(appendInputValueIfNotEmpty, setUnfocused)}\n />\n </Tooltip>\n );\n};\n\nMultipleInput.propTypes = {\n values: PropTypes.arrayOf(PropTypes.string),\n InputProps: PropTypes.shape({\n classes: PropTypes.shape({root: PropTypes.string}),\n inputComponent: PropTypes.elementType\n }),\n inputProps: PropTypes.object,\n onChange: PropTypes.func,\n classes: PropTypes.object,\n getValueLabel: PropTypes.func\n};\n\nexport default MultipleInput;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n multiSelect: {\n padding: '3px 48px 3px 8px !important',\n minHeight: '34px !important'\n },\n chips: {\n display: 'flex',\n flexWrap: 'wrap'\n }\n});\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {defaultTo, identity, pipe, prop, remove} from 'ramda';\nimport {TextField as TextField} from '@material-ui/core';\n\nimport {useStyles} from './styles';\n\nimport {SelectValueType} from '../../constants/prop-types';\nimport {getValue, noop} from '../../core/utils';\nimport ValueChip from '../ValueChip/ValueChip';\n\nconst MultipliableSelect = ({\n multiple,\n value,\n children,\n getValueLabel = noop,\n getValuePlaceholder = identity,\n onChange = noop,\n fullWidth,\n TextFieldProps,\n MenuProps,\n classes,\n ...otherProps\n}) => {\n const styles = useStyles();\n return (\n <TextField\n select\n fullWidth={fullWidth}\n {...TextFieldProps}\n value={defaultTo(multiple ? [] : '', value)}\n onChange={pipe(getValue, onChange)}\n SelectProps={{\n ...otherProps,\n MenuProps: {\n getContentAnchorEl: null,\n anchorOrigin: {vertical: 'bottom', horizontal: 'left'},\n ...MenuProps\n },\n classes: {\n ...classes,\n root: classnames({[styles.multiSelect]: multiple}, prop('root', classes))\n },\n multiple,\n // eslint-disable-next-line react/display-name\n renderValue: (selected) =>\n multiple ? (\n <div className={styles.chips}>\n {selected.map((value, index) => (\n <ValueChip\n key={value}\n label={getValueLabel(value) || getValuePlaceholder(value)}\n onMouseDown={(event) => event.stopPropagation()}\n onDelete={() => onChange(remove(index, 1, selected))}\n />\n ))}\n </div>\n ) : (\n getValueLabel(selected) || getValuePlaceholder(selected)\n )\n }}\n >\n {children}\n </TextField>\n );\n};\n\nMultipliableSelect.propTypes = {\n multiple: PropTypes.bool,\n fullWidth: PropTypes.bool,\n value: PropTypes.oneOfType([SelectValueType, PropTypes.arrayOf(SelectValueType)]),\n TextFieldProps: PropTypes.object,\n MenuProps: PropTypes.object,\n children: PropTypes.node,\n classes: PropTypes.object,\n onChange: PropTypes.func,\n getValueLabel: PropTypes.func,\n getValuePlaceholder: PropTypes.func\n};\n\nexport default MultipliableSelect;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n highlightedText: {\n background: 'rgb(255, 235, 203)'\n }\n});\n","import React, {useContext} from 'react';\nimport {SearchValueContext} from '../../contexts';\nimport Highlighter from '../Highlighter/Highlighter';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n text?: string;\n};\n\nconst SearchHighlighter = ({text}: Props) => {\n const styles = useStyles();\n const keywordValue = useContext(SearchValueContext);\n\n return <Highlighter text={text} highlight={keywordValue} className={styles.highlightedText} multiTerm />;\n};\n\nexport default SearchHighlighter;\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst margin = 2;\nexport const useChipStyles = makeStyles({\n root: {\n height: '28px',\n backgroundColor: 'rgba(43, 152, 240, 0.12)',\n maxWidth: `calc(100% - ${margin * 2}px)`,\n margin: `${margin}px`\n },\n deleteIcon: {\n height: 18,\n width: 18,\n color: 'rgba(0,0,0,0.38)',\n marginRight: '8px'\n },\n label: {\n overflow: 'hidden'\n }\n});\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n alignItems: 'center',\n width: '100%'\n },\n label: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n count: {\n color: theme.palette.text.secondary,\n fontSize: '13px',\n letterSpacing: 0,\n lineHeight: '15px',\n marginLeft: 8\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Chip as Chip} from '@material-ui/core';\n\nimport {useStyles, useChipStyles} from './styles';\nimport {mergeClasses} from '../../core/utils';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst ValueChip = ({classes: classesProp = {}, label, count, ...otherProp}) => {\n const classes = useChipStyles();\n const styles = useStyles();\n return (\n <Chip\n classes={mergeClasses(classesProp, classes)}\n label={\n <div className={styles.container}>\n <ExpandedValueTooltip value={label}>\n <div className={styles.label}>{label}</div>\n </ExpandedValueTooltip>\n {count && <div className={styles.count}>{count}</div>}\n </div>\n }\n {...otherProp}\n />\n );\n};\n\nValueChip.propTypes = {\n classes: PropTypes.object,\n label: PropTypes.string,\n count: PropTypes.string\n};\n\nexport default ValueChip;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n loadMoreContainer: {\n display: 'flex',\n height: '32px'\n },\n moreButton: {\n padding: '9px 38px 9px 38px'\n },\n buttonLabel: {\n fontSize: '14px',\n fontWeight: 500,\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n },\n loadingSpinner: {\n alignSelf: 'center',\n marginLeft: '40px'\n }\n});\n","import React from 'react';\nimport {Button as Button} from '@material-ui/core';\nimport {CircularProgress} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {useStyles} from './styles';\n\ntype Props = {\n loading: boolean;\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onMouseDown?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nconst LoadMoreButton = ({loading, onClick, onMouseDown}: Props) => {\n const styles = useStyles();\n\n return (\n <div className={styles.loadMoreContainer}>\n {loading ? (\n <CircularProgress className={styles.loadingSpinner} size={24} />\n ) : (\n <Button color=\"primary\" onClick={onClick} onMouseDown={onMouseDown} className={styles.moreButton}>\n <div className={styles.buttonLabel}>{i18n.text('Load more')}</div>\n </Button>\n )}\n </div>\n );\n};\n\nexport default LoadMoreButton;\n","import React from 'react';\nimport {components} from 'react-select';\n\nconst MenuList = (props) => {\n const {\n selectProps: {menuListFooter},\n children\n } = props;\n\n return (\n <components.MenuList {...props}>\n {children}\n {menuListFooter}\n </components.MenuList>\n );\n};\nexport default MenuList;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n checkIcon: {\n transform: 'scale(.7)',\n marginLeft: '-30px',\n position: 'absolute'\n }\n});\n","import React from 'react';\nimport CheckIcon from '@material-ui/icons/Check';\nimport Option from '../../ReactSelect/commonComponents/Option';\nimport {useStyles} from './styles';\n\ntype Props = {\n children: React.ReactNode;\n isSelected: boolean;\n};\n\nconst OptionWithCheckIcon = (props: Props) => {\n const styles = useStyles();\n const {isSelected, children} = props;\n\n return (\n <Option {...props}>\n {isSelected && <CheckIcon className={styles.checkIcon} />}\n {children}\n </Option>\n );\n};\n\nOptionWithCheckIcon.displayName = 'OptionWithCheckIcon';\n\nexport default OptionWithCheckIcon;\n","import {Checkbox as Checkbox} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {getChecked} from '../../../core/utils';\nimport {pipe} from 'ramda';\n\nconst BooleanEditor = ({value, onChange, ...otherProps}) => (\n <Checkbox {...otherProps} checked={value} onChange={onChange && pipe(getChecked, onChange)} />\n);\n\nBooleanEditor.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.bool\n};\n\nexport default BooleanEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n checkbox_primary: {\n color: theme.palette.divider\n },\n label: {\n color: theme.palette.text.secondary\n }\n}));\n","import BooleanEditor from '../BooleanEditor/BooleanEditor';\nimport {FormControlLabel as FormControlLabel} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {isNil, not, pipe} from 'ramda';\nimport {useStyles} from './styles';\n\nconst BooleanRadioEditor = ({value, onChange, className}) => {\n const styles = useStyles();\n\n return (\n <div className={className}>\n <FormControlLabel\n classes={{label: styles.label}}\n control={\n <BooleanEditor\n classes={{root: styles['checkbox_primary']}}\n color=\"primary\"\n value={!isNil(value) && !!value}\n onChange={onChange}\n />\n }\n label={i18n.text('Yes')}\n />\n <FormControlLabel\n classes={{label: styles.label}}\n control={\n <BooleanEditor\n classes={{root: styles['checkbox_primary']}}\n color=\"primary\"\n value={!isNil(value) && !value}\n onChange={onChange && pipe(not, onChange)}\n />\n }\n label={i18n.text('No')}\n />\n </div>\n );\n};\n\nBooleanRadioEditor.propTypes = {\n value: PropTypes.bool,\n onChange: PropTypes.func,\n className: PropTypes.string\n};\n\nexport default BooleanRadioEditor;\n","import {chain, curry, has} from 'ramda';\n\nconst isGroupEntry = has('values');\n\nconst flattenEntry = curry((depth, entry) =>\n isGroupEntry(entry)\n ? [{label: entry.label, depth, isGroup: true}, ...chain(flattenEntry(depth + 1), entry.values)]\n : {...entry, depth}\n);\n\nconst flattenGroupedEntries = chain(flattenEntry(0));\n\nconst findEntryByValue = curry((entries, _value) => entries.find(({isGroup, value}) => !isGroup && value === _value));\n\nexport {flattenGroupedEntries, findEntryByValue};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n checkIcon: {\n transform: 'scale(.7)',\n marginLeft: '-25px',\n position: 'absolute'\n },\n emptyLabel: {\n padding: '4px 16px'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {isNil, pipe, prop} from 'ramda';\nimport CheckIcon from '@material-ui/icons/Check';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport MultipliableSelect from '../../MultipliableSelect/MultipliableSelect';\nimport {DropDownEntryType, DropDownGroupEntryType, SelectValueType} from '../../../constants/prop-types';\nimport {findEntryByValue, flattenGroupedEntries} from './entriesHelpers';\nimport {useStyles} from './styles';\nimport {useSelectStyles} from '../constants';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\n\nconst MENU_ITEM_OFFSET = 25;\n\nconst GroupedDropDownEditor = ({value, entries, classes, ...otherProps}) => {\n const flattenedEntries = flattenGroupedEntries(entries);\n const selectedValues = isNil(value) ? [] : wrapInArrayIfNeeded(value);\n const styles = useStyles();\n const selectStyles = useSelectStyles();\n\n return (\n <MultipliableSelect\n MenuProps={{\n disableAutoFocusItem: true\n }}\n classes={{\n ...classes,\n root: classnames(selectStyles.root, prop('root', classes)),\n icon: classnames(selectStyles.icon, prop('icon', classes))\n }}\n {...otherProps}\n value={value}\n getValueLabel={pipe(findEntryByValue(flattenedEntries), prop('label'))}\n >\n {flattenedEntries.length > 0 ? (\n flattenedEntries.map(({value, label, depth, isGroup}, index) => (\n <MenuItem\n key={index}\n disabled={isGroup}\n value={value}\n style={{paddingLeft: `${(depth + 1) * MENU_ITEM_OFFSET}px`}}\n >\n {selectedValues.includes(value) && <CheckIcon className={styles.checkIcon} />}\n {label || value.toString()}\n </MenuItem>\n ))\n ) : (\n <MenuItem className={styles.emptyLabel} disabled={true}>\n {i18n.text('No results found')}\n </MenuItem>\n )}\n </MultipliableSelect>\n );\n};\n\nGroupedDropDownEditor.propTypes = {\n value: PropTypes.oneOfType([SelectValueType, PropTypes.arrayOf(SelectValueType)]),\n entries: PropTypes.arrayOf(PropTypes.oneOfType([DropDownEntryType, DropDownGroupEntryType])).isRequired,\n classes: PropTypes.object\n};\n\nexport {GroupedDropDownEditor as default, MENU_ITEM_OFFSET};\n","import {ascend, assocPath, path, prop, curry, useWith} from 'ramda';\nimport {getLookupLabel} from '@reltio/mdm-sdk';\n\nconst LOOKUP_URI_SEPARATOR = '.';\n\nconst splitOnce = curry((separator, string) => {\n const [first, ...other] = string.split(separator);\n return [first, other.join(separator)];\n});\n\n// eslint-disable-next-line react-hooks/rules-of-hooks\nconst getLookupByUri = useWith(path, [splitOnce(LOOKUP_URI_SEPARATOR)]);\n\nconst byLabel = ascend(prop('label'));\n\nconst buildLookupEntries = (lookupTypeCode, lookups) => {\n const getLookupPath = (uri) => {\n const {parent} = getLookupByUri(uri, lookups);\n return parent ? getLookupPath(parent).concat(uri) : [uri];\n };\n\n const buildEntry = ([uri, value]) => {\n const lookup = getLookupByUri(uri, lookups);\n const [, code] = splitOnce(LOOKUP_URI_SEPARATOR, uri);\n const label = getLookupLabel(code, lookup.displayName);\n return lookup === value ? {label, value: code} : {label, values: buildEntries(value)};\n };\n\n const buildEntries = (value) => Object.entries(value).map(buildEntry).sort(byLabel);\n\n const hierarchy = Object.entries(lookups[lookupTypeCode] || []).reduce(\n (acc, [code, value]) => assocPath(getLookupPath(`${lookupTypeCode}${LOOKUP_URI_SEPARATOR}${code}`), value, acc),\n {}\n );\n\n return buildEntries(hierarchy);\n};\n\nexport {buildLookupEntries};\n","import GroupedDropDownEditor from '../GroupedDropDownEditor/GroupedDropDownEditor';\nimport PropTypes from 'prop-types';\nimport React, {useEffect} from 'react';\nimport {SimpleLookupType, LookupValueType} from '@reltio/mdm-sdk';\nimport {always, defaultTo, isEmpty, map, path, pipe, pluck, prop, propEq} from 'ramda';\nimport {buildLookupEntries} from './entriesHelpers';\n\nconst LookupEditor = ({multiple, value, lookupCode: lookupTypeCode, lookups, onChange, getLookups, ...otherProps}) => {\n const codeToLookup = (lookupCode) => ({\n lookupCode,\n value: path([lookupTypeCode, lookupCode, 'displayName'], lookups)\n });\n useEffect(() => {\n if (isEmpty(lookups) && getLookups) {\n getLookups();\n }\n }, [lookups, getLookups]);\n const entries = buildLookupEntries(lookupTypeCode, lookups); // TODO: this code could be not valid if lookups are not loaded\n const commonProps = {\n ...otherProps,\n multiple,\n entries\n };\n value = defaultTo(multiple ? [] : {}, value);\n\n return multiple ? (\n <GroupedDropDownEditor\n {...commonProps}\n value={pluck('lookupCode', value)}\n getValuePlaceholder={(lookupCode) => value.find(propEq('lookupCode', lookupCode)).value}\n onChange={pipe(map(codeToLookup), onChange)}\n />\n ) : (\n <GroupedDropDownEditor\n {...commonProps}\n value={prop('lookupCode', value)}\n getValuePlaceholder={always(prop('value', value))}\n onChange={pipe(codeToLookup, onChange)}\n />\n );\n};\n\nLookupEditor.propTypes = {\n multiple: PropTypes.bool,\n value: PropTypes.oneOfType([LookupValueType, PropTypes.arrayOf(LookupValueType)]),\n lookupCode: PropTypes.string.isRequired,\n lookups: PropTypes.objectOf(PropTypes.objectOf(SimpleLookupType)).isRequired,\n onChange: PropTypes.func,\n getLookups: PropTypes.func\n};\n\nexport default LookupEditor;\n","import {getLookupLabel, utils} from '@reltio/mdm-sdk';\n\nconst getOptionLabel = ({lookupCode, value}) => getLookupLabel(lookupCode, value);\n\nconst buildLookupOptions = (lookups) =>\n Object.entries(lookups)\n .map(([lookupCode, {displayName}]) => ({\n lookupCode,\n value: displayName\n }))\n .sort((lookupA, lookupB) => {\n const labelALower = getOptionLabel(lookupA).toLowerCase();\n const labelBLower = getOptionLabel(lookupB).toLowerCase();\n return utils.strings.sort('asc', labelALower, labelBLower);\n });\n\nexport {getOptionLabel, buildLookupOptions};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n option: {\n paddingLeft: '35px'\n },\n dropdownIndicator: {\n padding: '8px 12px',\n cursor: 'pointer',\n color: theme.palette.text.secondary\n },\n clearIndicator: {\n display: 'none'\n },\n placeholder: {\n position: 'static'\n }\n}));\n","import {useEffect, useState} from 'react';\nimport {curry, filter, hasPath, map, partition, pipe, prop, concat, uniq} from 'ramda';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\n\nconst isUnresolvedLookup = (lookupValue) => lookupValue && lookupValue.lookupCode && !lookupValue.value;\nconst isResolvedLookupCode = curry((resolvedValues, lookupCode) =>\n hasPath([lookupCode, 'displayName'], resolvedValues)\n);\n\nconst useLookupsResolver = ({lookups, resolvedValues, resolveLookups, onLookupsResolve}) => {\n const [requestedCodes, setRequestedCodes] = useState([]);\n useEffect(() => {\n const [resolvedCodes, codesToResolve] = pipe(\n wrapInArrayIfNeeded,\n filter(isUnresolvedLookup),\n map(prop('lookupCode')),\n partition(isResolvedLookupCode(resolvedValues))\n )(lookups);\n if (resolvedCodes.length > 0) {\n const resolvedLookups = resolvedCodes.map((lookupCode) => ({\n lookupCode,\n value: resolvedValues[lookupCode].displayName\n }));\n onLookupsResolve(resolvedLookups);\n }\n const unrequestedCodes = codesToResolve.filter((code) => !requestedCodes.includes(code));\n if (unrequestedCodes.length > 0) {\n setRequestedCodes(pipe(concat(unrequestedCodes), uniq));\n resolveLookups(unrequestedCodes);\n }\n }, [lookups, resolvedValues]); // eslint-disable-line\n};\n\nexport default useLookupsResolver;\n","import {useState, useEffect} from 'react';\nimport {useSafePromise} from '../../../hooks';\n\nconst useDefaultOptions = (loadOptions) => {\n const [defaultOptions, setDefaultOptions] = useState([]);\n const [initialDefaultOptions, setInitialDefaultOptions] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const safePromise = useSafePromise();\n\n useEffect(() => {\n setDefaultOptions([]);\n setIsLoading(true);\n safePromise(loadOptions(''))\n .then((options) => {\n setDefaultOptions(options);\n setInitialDefaultOptions((prevValue) => prevValue || options);\n setIsLoading(false);\n })\n .catch(() => {\n setIsLoading(false);\n });\n }, [loadOptions]); // eslint-disable-line\n return {defaultOptions, initialDefaultOptions, isLoading};\n};\n\nexport default useDefaultOptions;\n","import {useCallback, useEffect} from 'react';\n\ntype Option = {lookupCode: string; value: string};\n\ntype Props = {\n id: string;\n initialDefaultOptions: Option[];\n isEmptyValue: boolean;\n multiple: boolean;\n onChange: (value: Option | Option[]) => void;\n};\n\nconst touchedEditorsMap: {[id: string]: boolean} = {};\nconst addTouchedEditor = (id: string) => {\n touchedEditorsMap[id] = true;\n};\nconst isTouchedEditor = (id: string) => touchedEditorsMap[id];\n\n// Autopopulation for just added editor. Other autopopulation cases should be covered by cascadeUpdate flow.\nconst useAutopopulation = ({id, initialDefaultOptions, isEmptyValue, multiple, onChange}: Props) => {\n useEffect(() => {\n if (id && initialDefaultOptions && initialDefaultOptions.length === 1 && isEmptyValue && !isTouchedEditor(id)) {\n onChange(multiple ? initialDefaultOptions : initialDefaultOptions[0]);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialDefaultOptions]);\n const markAsTouched = useCallback(() => {\n if (id) {\n addTouchedEditor(id);\n }\n }, [id]);\n return {markAsTouched};\n};\n\nexport default useAutopopulation;\n","import React, {useCallback, useRef, useState, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {debounce, LookupValueType} from '@reltio/mdm-sdk';\nimport Select from '../../ReactSelect/Select';\nimport {concat, defaultTo, either, isEmpty, prop} from 'ramda';\nimport {buildLookupOptions, getOptionLabel} from './helpers';\nimport i18n from 'ui-i18n';\nimport {EmptyStub} from '../../../core/utils';\nimport DropdownIndicator from '../../commonReactSelectComponents/DropdownIndicator';\nimport MenuWithPopper from '../../commonReactSelectComponents/MenuWithPopper';\nimport MenuList from '../../commonReactSelectComponents/MenuList';\nimport {useStyles} from './styles';\nimport useLookupsResolver from './useLookupsResolver';\nimport MultiValueChip from '../commonComponents/MultiValueChip/MultiValueChip';\nimport OptionWithCheckIcon from '../../commonReactSelectComponents/OptionWithCheckIcon/OptionWithCheckIcon';\nimport useDefaultOptions from './useDefaultOptions';\nimport useAutopopulation from './useAutopopulation';\nimport useSavingFocus from './useSavingFocus';\nimport LoadMoreButton from '../../commonReactSelectComponents/LoadMoreButton';\nimport {useDidUpdateEffect} from '../../../hooks';\n\nconst SelectComponents = {\n IndicatorSeparator: EmptyStub,\n LoadingIndicator: EmptyStub,\n Option: OptionWithCheckIcon,\n DropdownIndicator,\n Menu: MenuWithPopper,\n MenuList: MenuList,\n MultiValue: MultiValueChip\n};\n\nexport const DEBOUNCE_INTERVAL = 400;\nconst MAX_DEPENDENT_LOOKUP_VALUES = 50;\n\nconst DependentLookupEditor = ({\n multiple,\n value,\n lookupCode: lookupTypeCode,\n TextFieldProps,\n parents,\n onChange,\n getLookups,\n lookups = {},\n resolveLookups,\n fullWidth,\n disabled,\n placeholder,\n autopopulationId,\n max = MAX_DEPENDENT_LOOKUP_VALUES,\n ...otherProps\n}) => {\n const inputRef = useRef(null);\n const selectRef = useRef(null);\n const styles = useStyles();\n\n useLookupsResolver({\n lookups: value,\n resolvedValues: lookups[lookupTypeCode],\n resolveLookups: (codeValues) => resolveLookups(lookupTypeCode, codeValues),\n onLookupsResolve: (lookups) => onChange(multiple ? lookups : lookups[0])\n });\n useSavingFocus(selectRef, inputRef, disabled);\n\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState([]);\n const [pageNumber, setPageNumber] = useState(1);\n const [optionsAreLoading, setOptionsAreLoading] = useState(false);\n\n const handleInputChange = (value) => {\n if (value !== inputValue) {\n setInputValue(value);\n setPageNumber(1);\n debouncedLoadOptions(value, setOptions);\n }\n };\n\n const loadOptions = useCallback(\n (value, pageNumber = 1) => {\n setOptionsAreLoading(true);\n return (parents === null\n ? Promise.resolve([])\n : getLookups({\n type: lookupTypeCode,\n parents,\n displayNamePrefix: value,\n max: max + 1,\n offset: (pageNumber - 1) * max\n })\n )\n .then((buildOptions) => buildLookupOptions(buildOptions))\n .catch(() => [])\n .finally(() => setOptionsAreLoading(false));\n },\n [max, lookupTypeCode, parents]\n );\n\n const loadMoreOptions = useCallback(() => {\n loadOptions(inputValue, pageNumber + 1).then((buildOptions) => {\n setOptions((options) => concat(options.slice(0, pageNumber * max), buildOptions));\n setPageNumber((page) => page + 1);\n });\n }, [max, loadOptions, inputValue, pageNumber]);\n\n const debouncedLoadOptions = useCallback(\n debounce((value, callback) => {\n loadOptions(value).then((options) => callback(options));\n }, DEBOUNCE_INTERVAL),\n [loadOptions]\n );\n\n const {defaultOptions, initialDefaultOptions, isLoading: isLoadingDefaultOptions} = useDefaultOptions(loadOptions);\n\n useEffect(() => {\n setOptions(defaultOptions);\n }, [defaultOptions]);\n\n useDidUpdateEffect(() => {\n setPageNumber(1);\n }, [lookupTypeCode]);\n\n const displayedOptions = useMemo(() => options.slice(0, pageNumber * max), [max, options, pageNumber]);\n const showMoreButton = options.length > displayedOptions.length;\n\n const isEmptyValue = multiple ? isEmpty(value) : !value?.lookupCode && !value?.value;\n\n const {markAsTouched} = useAutopopulation({\n id: autopopulationId,\n initialDefaultOptions,\n isEmptyValue,\n multiple,\n onChange\n });\n\n return (\n <Select\n {...otherProps}\n isMulti={multiple}\n classes={styles}\n menuPortalTarget={document.body}\n menuPlacement=\"auto\"\n TextFieldProps={{\n ...TextFieldProps,\n ref: inputRef,\n disabled: TextFieldProps?.disabled || disabled\n }}\n inputRef={inputRef}\n innerRef={selectRef}\n styles={{\n menuPortal: (base) => ({...base, zIndex: 1300}),\n container: (base) => ({...base, ...(fullWidth ? {width: '100%'} : {})})\n }}\n noOptionsMessage={() =>\n optionsAreLoading && !showMoreButton ? i18n.text('Loading...') : i18n.text('No results found')\n }\n components={SelectComponents}\n isClearable={true}\n isSearchable={true}\n inputValue={inputValue}\n onInputChange={handleInputChange}\n loadingMessage={() => i18n.text('Loading...')}\n isLoading={!inputValue && isLoadingDefaultOptions}\n hideSelectedOptions={false}\n placeholder={placeholder || ''}\n isDisabled={disabled}\n options={displayedOptions}\n getOptionValue={either(prop('value'), prop('lookupCode'))}\n getOptionLabel={getOptionLabel}\n onChange={(value) => {\n markAsTouched();\n onChange(value);\n }}\n value={defaultTo(multiple ? [] : null, value)}\n menuListFooter={showMoreButton && <LoadMoreButton loading={optionsAreLoading} onClick={loadMoreOptions} />}\n />\n );\n};\n\nDependentLookupEditor.propTypes = {\n multiple: PropTypes.bool,\n value: PropTypes.oneOfType([LookupValueType, PropTypes.arrayOf(LookupValueType)]),\n TextFieldProps: PropTypes.shape({\n variant: PropTypes.string,\n margin: PropTypes.string,\n hiddenLabel: PropTypes.bool\n }),\n lookupCode: PropTypes.string.isRequired,\n parents: PropTypes.array,\n getLookups: PropTypes.func,\n onChange: PropTypes.func,\n lookups: PropTypes.object,\n resolveLookups: PropTypes.func,\n fullWidth: PropTypes.bool,\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n autopopulationId: PropTypes.string,\n max: PropTypes.number\n};\n\nexport default DependentLookupEditor;\n","import {useEffect, useRef} from 'react';\n\nconst useSavingFocus = (selectRef, inputRef, disabled: boolean) => {\n const needFocusRef = useRef(false);\n\n if (\n !needFocusRef.current &&\n disabled &&\n document.activeElement === inputRef.current?.getElementsByTagName('input')[0]\n ) {\n needFocusRef.current = true;\n }\n useEffect(() => {\n const handler = () => {\n if (needFocusRef.current) {\n needFocusRef.current = false;\n }\n };\n if (!disabled && needFocusRef.current) {\n selectRef.current?.focus();\n needFocusRef.current = false;\n }\n if (disabled && needFocusRef.current) {\n document?.addEventListener('click', handler);\n return () => {\n document?.removeEventListener('click', handler);\n };\n }\n }, [disabled]);\n};\n\nexport default useSavingFocus;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {prop} from 'ramda';\nimport DropDownEditor from '../DropDownEditor/DropDownEditor';\nimport {useSelectStyles} from '../constants';\n\nconst SelectEditor = ({classes, ...otherProps}) => {\n const styles = useSelectStyles();\n return (\n <DropDownEditor\n MenuProps={{\n disableAutoFocusItem: true\n }}\n classes={{\n ...classes,\n root: classnames(styles.root, prop('root', classes)),\n icon: classnames(styles.icon, prop('icon', classes))\n }}\n {...otherProps}\n />\n );\n};\n\nSelectEditor.propTypes = {\n classes: PropTypes.object\n};\n\nexport default SelectEditor;\n","import {has, is, mergeDeepLeft} from 'ramda';\nimport EditorsFactory from '../EditorsFactory';\nimport PropTypes from 'prop-types';\nimport useEditorContext from './useEditorContext';\nimport {commonTextFieldProps, useInputStyles} from '../constants';\nimport {isEmptyValue} from '@reltio/mdm-sdk';\n\nconst DataTypeValueEditor = ({fieldName, value, onChange, dataTypeDefinition, TextFieldProps = {}, ...otherProps}) => {\n const inputStyles = useInputStyles();\n const editorContext = useEditorContext(fieldName, dataTypeDefinition);\n const isEmpty = (value) => {\n return is(Object, value) && has('value', value) ? isEmptyValue(value.value) : isEmptyValue(value);\n };\n\n TextFieldProps = mergeDeepLeft(TextFieldProps, {\n ...commonTextFieldProps,\n className: inputStyles.marginDense,\n InputProps: {\n disableUnderline: isEmpty(value)\n }\n });\n\n return EditorsFactory.build(dataTypeDefinition.type, {\n onChange,\n value,\n TextFieldProps,\n ...editorContext,\n ...otherProps\n });\n};\n\nDataTypeValueEditor.propTypes = {\n fieldName: PropTypes.string,\n value: PropTypes.any,\n onChange: PropTypes.func,\n dataTypeDefinition: PropTypes.object\n};\n\nexport default DataTypeValueEditor;\n","import mdm, {profile} from '@reltio/mdm-module';\nimport {DataTypes, getDependentLookups, getFacetedAttributeData, getLookups, resolveLookupsList} from '@reltio/mdm-sdk';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {useCallback} from 'react';\nimport {propOr} from 'ramda';\n\nconst useEditorContext = (fieldName, dataTypeDefinition) => {\n const tenant = useSelector(mdm.selectors.getTenant);\n const lookups = useSelector(mdm.selectors.getLookups);\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const globalSearchRequestOptions = useSelector(mdm.selectors.getGlobalSearchRequestOptions);\n const dispatch = useDispatch();\n const typeaheadGetSuggestion = useCallback(\n (searchValue, max, pageNo) =>\n getFacetedAttributeData({\n fieldName,\n searchValue,\n options: {...globalSearchRequestOptions, max, pageNo}\n }).then((response) => Object.keys(response[fieldName])),\n [fieldName, globalSearchRequestOptions]\n );\n\n const {type, values, lookupCode, uri, dependentLookupCode, options} = dataTypeDefinition;\n\n switch (type) {\n case DataTypes.TYPE_ENUM:\n return {entries: values.map((value) => ({value}))};\n case DataTypes.TYPE_LOOKUP:\n return {\n lookups,\n lookupCode,\n getLookups: () =>\n getLookups().then((lookups) => {\n dispatch(profile.lookups.actions.lookupsLoaded(lookups));\n })\n };\n case DataTypes.TYPE_DEPENDENT_LOOKUP:\n return {\n lookups,\n lookupCode: dependentLookupCode,\n getLookups: ({type, parents, displayNamePrefix, max, offset}) => {\n return getDependentLookups({type, parents, displayNamePrefix, max, offset}).then(({codeValues}) =>\n propOr({}, type, codeValues)\n );\n },\n resolveLookups: (type, codeValues) => {\n const lookupsList = codeValues.map((codeValue) => ({type, codeValue}));\n return resolveLookupsList(lookupsList).then((response) => {\n if (Array.isArray(response)) {\n const lookups = response.reduce((acc, lookupData) => ({...acc, ...lookupData[type]}), {});\n dispatch(\n profile.lookups.actions.lookupsForTypeResolved({\n type,\n values: lookups\n })\n );\n }\n });\n }\n };\n case DataTypes.TYPE_TYPEAHEAD:\n return {\n getSuggestions: typeaheadGetSuggestion\n };\n case DataTypes.TYPE_NUMBER:\n case DataTypes.TYPE_FLOAT:\n case DataTypes.TYPE_DOUBLE:\n case DataTypes.TYPE_LONG:\n case DataTypes.TYPE_INT:\n return {\n format: attributePresentations[uri]\n };\n case DataTypes.TYPE_FILE:\n return {tenant};\n case DataTypes.TYPE_SELECT:\n return {entries: options};\n default:\n return {};\n }\n};\n\nexport default useEditorContext;\n","import BooleanRadioEditor from './BooleanRadioEditor/BooleanRadioEditor';\nimport DateEditor from './DateEditor/DateEditor';\nimport LookupEditor from './LookupEditor/LookupEditor';\nimport NumberEditor from './NumberEditor/NumberEditor';\nimport React from 'react';\nimport TextEditor from './TextEditor/TextEditor';\nimport TimestampEditor from './TimestampEditor/TimestampEditor';\nimport TypeaheadEditor from './TypeaheadEditor/TypeaheadEditor';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport DependentLookupEditor from './DependentLookupEditor/DependentLookupEditor';\nimport FileTypeEditor from './FileTypeEditor/FileTypeEditor';\nimport SelectEditor from './SelectEditor/SelectEditor';\n\nexport default class EditorsFactory {\n static build(type, {fullWidth, TextFieldProps, color, ...otherProps} = {}) {\n switch (type) {\n case DataTypes.TYPE_STRING:\n case DataTypes.TYPE_CIK_ID:\n case DataTypes.TYPE_ENTITY_ID:\n case DataTypes.TYPE_URL:\n case DataTypes.TYPE_BLOG_URL:\n case DataTypes.TYPE_IMAGE_URL:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_EMAIL:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} type={'email'} />;\n case DataTypes.TYPE_TEXT:\n case DataTypes.TYPE_BLOB:\n return (\n <TextEditor\n fullWidth={fullWidth}\n rowsMax={7}\n {...TextFieldProps}\n {...otherProps}\n multiline={true}\n />\n );\n case DataTypes.TYPE_PASSWORD:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} type=\"password\" />;\n case DataTypes.TYPE_LONG:\n case DataTypes.TYPE_INT:\n case DataTypes.TYPE_COUNT:\n return <NumberEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} integer={true} />;\n case DataTypes.TYPE_FLOAT:\n case DataTypes.TYPE_DOUBLE:\n case DataTypes.TYPE_NUMBER:\n case DataTypes.TYPE_DOLLAR:\n return <NumberEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_BOOLEAN:\n case DataTypes.TYPE_BOOLEAN_RADIO:\n case DataTypes.TYPE_RDM_LOOKUPS_NOT_RESOLVED:\n return (\n <BooleanRadioEditor\n color={color}\n {...otherProps}\n className={TextFieldProps?.booleanRadioEditorClassName}\n />\n );\n case DataTypes.TYPE_DATE:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n case DataTypes.TYPE_LOCAL_DATE:\n return <DateEditor {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_TIMESTAMP:\n return <TimestampEditor {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_ENUM:\n case DataTypes.TYPE_SELECT:\n return <SelectEditor fullWidth={fullWidth} TextFieldProps={TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_LOOKUP:\n return <LookupEditor fullWidth={fullWidth} TextFieldProps={TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_TYPEAHEAD:\n return <TypeaheadEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_DEPENDENT_LOOKUP:\n return <DependentLookupEditor fullWidth={fullWidth} TextFieldProps={TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_FILE:\n return <FileTypeEditor {...otherProps} />;\n default:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n }\n }\n}\n","import {MenuItem as MenuItem} from '@material-ui/core';\nimport MultipliableSelect from '../../MultipliableSelect/MultipliableSelect';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {DropDownEntryType} from '../../../constants/prop-types';\nimport {pipe, prop, propEq} from 'ramda';\n\nconst findEntryByValue = (entries) => (value) => entries.find(propEq('value', value));\n\nconst DropDownEditor = ({entries, classes = {}, ...otherProps}) => {\n const {menuItem, ...otherClasses} = classes;\n return (\n <MultipliableSelect\n {...otherProps}\n classes={otherClasses}\n getValueLabel={pipe(findEntryByValue(entries), prop('label'))}\n >\n {entries.map(({value, label}, index) => (\n <MenuItem key={index} value={value} className={menuItem}>\n {label || value.toString()}\n </MenuItem>\n ))}\n </MultipliableSelect>\n );\n};\n\nDropDownEditor.propTypes = {\n classes: PropTypes.object,\n entries: PropTypes.arrayOf(DropDownEntryType).isRequired\n};\n\nexport default DropDownEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n fileUploaderInput: {\n display: 'none'\n },\n uploaded: {\n display: 'flex',\n alignItems: 'center'\n },\n label: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n },\n cancelIcon: {\n height: '18px',\n width: '18px',\n color: 'rgba(0,0,0,0.38)',\n marginLeft: '3px',\n cursor: 'pointer'\n }\n});\n","import React, {Fragment, useCallback, useEffect, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport i18n from 'ui-i18n';\nimport {CircularProgress as CircularProgress} from '@material-ui/core';\nimport {Link as Link} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {Button as Button} from '@material-ui/core';\nimport CancelIcon from '@material-ui/icons/Cancel';\nimport {getLabel, getRequestErrorMessage} from '@reltio/mdm-sdk';\nimport ErrorPopup from '../ErrorPopup/ErrorPopup';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\nimport {useStyles} from './styles.js';\n\nconst MODES = {INIT: 1, UPLOADING: 2, UPLOADED: 3};\nconst PROGRESS_ICON_SIZE = 20;\n\nconst showFileUploadError = (error) => {\n console.error(error); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('File upload error'),\n message: getRequestErrorMessage(error)\n });\n};\n\nconst UploadMode = ({supportedFileTypes = [], onUpload, onBeforeUpload}) => {\n const styles = useStyles();\n const fileUploader = useRef();\n const supportedFileTypesString = supportedFileTypes.join(',');\n const onSelectFileClick = () => {\n fileUploader.current.value = null;\n fileUploader.current.click();\n };\n const onUploadListener = (event) => {\n const uploadedFiles = event.target.files || event.dataTransfer.files || [];\n if (uploadedFiles.length > 0) {\n onBeforeUpload();\n onUpload(uploadedFiles[0]);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n return (\n <Fragment>\n <Button variant=\"contained\" onClick={onSelectFileClick}>\n {i18n.text('Select File')}\n </Button>\n\n <input\n type=\"file\"\n className={styles.fileUploaderInput}\n onChange={onUploadListener}\n ref={fileUploader}\n name=\"uploadfile\"\n accept={supportedFileTypesString}\n />\n </Fragment>\n );\n};\n\nUploadMode.propTypes = {\n onUpload: PropTypes.func,\n onBeforeUpload: PropTypes.func,\n supportedFileTypes: PropTypes.arrayOf(PropTypes.string)\n};\n\nconst UploadFileButton = ({\n link,\n filename,\n onUpload,\n onError = showFileUploadError,\n onCancel,\n supportedFileTypes,\n isValidLink = true\n}) => {\n const [mode, setMode] = useState(MODES.INIT);\n const [name, setName] = useState('');\n\n const styles = useStyles();\n useEffect(() => {\n setName(filename);\n }, [filename]);\n\n useEffect(() => {\n setMode(link ? MODES.UPLOADED : MODES.INIT);\n }, [link]);\n const onErrorHandler = useCallback(\n (error) => {\n setMode(MODES.INIT);\n onError(error);\n },\n [onError]\n );\n\n const onUploadHandler = useCallback(\n (result) => {\n return onUpload(result)\n .then(() => {\n setMode(MODES.UPLOADED);\n setName(result.name);\n })\n .catch(onErrorHandler);\n },\n [onUpload, onErrorHandler]\n );\n\n const onBeforeUpload = useCallback(() => {\n setMode(MODES.UPLOADING);\n }, []);\n const switchToInitMode = useCallback(() => {\n setMode(MODES.INIT);\n onCancel();\n }, [onCancel]);\n switch (mode) {\n case MODES.INIT:\n return (\n <UploadMode\n supportedFileTypes={supportedFileTypes}\n onUpload={onUploadHandler}\n onBeforeUpload={onBeforeUpload}\n />\n );\n case MODES.UPLOADED: {\n const label = getLabel(name);\n return (\n <div className={styles.uploaded}>\n <ExpandedValueTooltip value={label}>\n {isValidLink ? (\n <Link href={link} className={styles.label}>\n {label}\n </Link>\n ) : (\n <Typography variant=\"inherit\" className={styles.label}>\n {label}\n </Typography>\n )}\n </ExpandedValueTooltip>\n <CancelIcon\n onClick={switchToInitMode}\n onMouseDown={switchToInitMode}\n onTouchEnd={switchToInitMode}\n className={styles.cancelIcon}\n />\n </div>\n );\n }\n case MODES.UPLOADING:\n return <CircularProgress size={PROGRESS_ICON_SIZE} />;\n default:\n return null;\n }\n};\n\nUploadFileButton.propTypes = {\n link: PropTypes.string,\n filename: PropTypes.string,\n onUpload: PropTypes.func,\n onError: PropTypes.func,\n onCancel: PropTypes.func,\n supportedFileTypes: PropTypes.arrayOf(PropTypes.string),\n isValidLink: PropTypes.bool\n};\n\nexport default UploadFileButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n editor: {\n alignSelf: 'center'\n }\n});\n","import React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {uploadFileForSearch, FileValue} from '@reltio/mdm-sdk';\nimport UploadFileButton from '../../UploadFileButton/UploadFileButton';\nimport {useStyles} from './styles';\n\ntype Props = {\n value?: FileValue;\n onChange: (file: FileValue) => void;\n onError?: (error: string) => void;\n className?: string;\n};\n\nconst FileTypeEditor = ({value, onChange, onError, className}: Props) => {\n const {downloadLink, filename, expirationDate} = value || {};\n const isValidLink = expirationDate >= Date.now();\n const supportedFileTypes = ['.txt', '.csv'];\n const onUploadHandler = useCallback(\n (file) =>\n uploadFileForSearch(file).then(({path, downloadLink, expirationDate}) => {\n onChange({\n filename: file.name,\n downloadLink,\n link: path,\n expirationDate: new Date(expirationDate).getTime()\n });\n }),\n [onChange]\n );\n const onCancelHandler = useCallback(() => onChange(null), [onChange]);\n\n const styles = useStyles();\n return (\n <div className={classnames(styles.editor, className)}>\n <UploadFileButton\n isValidLink={isValidLink}\n link={downloadLink}\n filename={filename}\n supportedFileTypes={supportedFileTypes}\n onUpload={onUploadHandler}\n onError={onError}\n onCancel={onCancelHandler}\n />\n </div>\n );\n};\n\nexport default FileTypeEditor;\n","import NumberFormat from 'react-number-format';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TextEditor from '../TextEditor/TextEditor';\nimport {NumberFormatType} from '../../../constants/prop-types';\nimport {formatNumber} from '@reltio/mdm-sdk';\n\nconst NumberFormatCustom = ({inputRef, onChange, integer, customInput, format, ...otherProps}) => (\n <NumberFormat\n {...otherProps}\n {...format}\n getInputRef={inputRef}\n isNumericString={true}\n onValueChange={(values) => {\n onChange({\n target: {\n value: values.value\n }\n });\n }}\n decimalScale={integer ? 0 : undefined}\n customInput={customInput}\n />\n);\n\nNumberFormatCustom.propTypes = {\n inputRef: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n integer: PropTypes.bool,\n customInput: PropTypes.elementType,\n format: NumberFormatType\n};\n\nconst NumberEditor = ({integer, format, inputProps, InputProps, ...otherProps}) => (\n <TextEditor\n {...otherProps}\n inputProps={{\n integer,\n format,\n ...inputProps\n }}\n InputProps={{\n ...InputProps,\n inputComponent: NumberFormatCustom\n }}\n getValueLabel={formatNumber(format)}\n />\n);\n\nNumberEditor.propTypes = {\n multiple: PropTypes.bool,\n integer: PropTypes.bool,\n format: NumberFormatType,\n inputProps: PropTypes.object,\n InputProps: PropTypes.object,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.number)\n ]),\n onChange: PropTypes.func\n};\n\nexport default NumberEditor;\n","import React, {useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\n\nimport {isNil, pipe, propEq, when} from 'ramda';\nimport {getValue, noop} from '../../core';\nimport {TextField as TextField} from '@material-ui/core';\n\nconst SimpleInput = ({value, onChange = noop, multiline, ...otherProps}) => {\n const [currentValue, setCurrentValue] = useState('');\n\n useEffect(() => {\n setCurrentValue(isNil(value) ? '' : value);\n }, [value]);\n\n const applyCurrentValueChange = () => {\n if (currentValue !== value) {\n onChange(currentValue);\n }\n };\n\n const onEnterPress = () => {\n if (!multiline) {\n applyCurrentValueChange();\n }\n };\n\n return (\n <TextField\n {...otherProps}\n multiline={multiline}\n value={currentValue}\n onKeyPress={when(propEq('key', 'Enter'), onEnterPress)}\n onBlur={applyCurrentValueChange}\n onChange={pipe(getValue, setCurrentValue)}\n />\n );\n};\n\nSimpleInput.propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func,\n multiline: PropTypes.bool,\n InputProps: PropTypes.object,\n className: PropTypes.string\n};\n\nexport default SimpleInput;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport MultipleInput from '../../MultipleInput/MultipleInput';\nimport SimpleInput from '../../SimpleInput/SimpleInput';\n\nconst TextEditor = ({multiple, value, getValueLabel, multiline, ...otherProps}) => {\n return multiple ? (\n <MultipleInput {...otherProps} values={value} getValueLabel={getValueLabel} />\n ) : (\n <SimpleInput {...otherProps} value={value} multiline={multiline} />\n );\n};\n\nTextEditor.propTypes = {\n multiple: PropTypes.bool,\n multiline: PropTypes.bool,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.number)\n ]),\n getValueLabel: PropTypes.func\n};\n\nexport default TextEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n 'typeahead__suggestions-placeholder': {\n padding: '8px 16px',\n textAlign: 'center'\n },\n 'typeahead__suggestions-container--open': {\n maxHeight: '230px',\n overflowY: 'auto'\n },\n 'typeahead__suggestions-list': {\n margin: 0,\n padding: 0,\n listStyleType: 'none'\n },\n 'typeahead__suggestions-menuItem': {\n color: 'rgba(0,0,0,0.87)',\n fontSize: '14px'\n },\n input__root: {\n color: 'rgba(0,0,0,0.87)',\n fontSize: '14px'\n },\n autosizeInput: {\n width: 'auto',\n paddingTop: '10px',\n paddingBottom: '11px',\n marginLeft: '5px',\n overflow: 'hidden',\n '& input': {\n background: '0px center',\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n color: 'inherit'\n }\n },\n rawInput: {\n height: '19px'\n },\n 'multiple-input__root': {\n flexWrap: 'wrap',\n color: 'rgba(0,0,0,0.87)',\n fontSize: '14px'\n },\n 'multiple-input__input': {\n flex: '1 0 25px',\n flexWrap: 'wrap'\n },\n 'multiple-input__adornedStart': {\n paddingLeft: '8px'\n },\n input__underline: {\n '&:before': {\n display: 'none'\n }\n },\n 'typeahead__suggestions-container': {\n width: '100%'\n },\n 'menuItem--item': {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: 'block'\n }\n});\n","import Autosuggest from 'react-autosuggest';\nimport AutosizeInput from 'react-input-autosize';\nimport classnames from 'classnames';\nimport {TextField as TextField} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Paper as Paper} from '@material-ui/core';\nimport Popper from '../../Popper/Popper';\nimport PropTypes from 'prop-types';\nimport React, {useCallback, useRef, useMemo, useState} from 'react';\nimport {NoResults} from '../../../components/EmptySearchResult';\nimport {\n always,\n andThen,\n both,\n concat,\n defaultTo,\n F,\n identity,\n ifElse,\n isEmpty,\n nthArg,\n path,\n pipe,\n prop,\n propEq,\n remove,\n T,\n tap,\n trim,\n uniq\n} from 'ramda';\nimport {debounce, isEmptyValue} from '@reltio/mdm-sdk';\nimport {getValue} from '../../../core/utils';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../ExpandedValueTooltip/ExpandedValueTooltip';\nimport ValueChip from '../../ValueChip/ValueChip';\nimport LoadMoreButton from '../../commonReactSelectComponents/LoadMoreButton';\nimport {useDidUpdateEffect} from '../../../hooks';\n\nconst FETCH_DEBOUNCE_INTERVAL = 300;\nconst PAGE_SIZE = 50;\n\nconst TypeaheadEditor = ({\n value,\n max = PAGE_SIZE,\n getSuggestions,\n onChange,\n multiple,\n fullWidth,\n InputProps = {},\n ...inputProps\n}) => {\n const [suggestions, setSuggestions] = useState([]);\n const [isPlaceholderVisible, setPlaceholderVisibility] = useState(false);\n const [pageNumber, setPageNumber] = useState(1);\n const [nextPageIsLoading, setNextPageIsLoading] = useState(false);\n const pageSizeForRequest = max + 1;\n const [currentValue, setCurrentValue] = useState('');\n value = defaultTo(multiple ? [] : '', value);\n const inputValue = multiple ? currentValue : value;\n\n useDidUpdateEffect(() => {\n setPageNumber(1);\n }, [inputValue]);\n\n const inputRef = useRef();\n const styles = useStyles();\n const isFocused = () => inputRef.current?.querySelector('input') === document.activeElement;\n const fetchSuggestions = pipe(\n prop('value'),\n trim,\n (value) => getSuggestions(value, pageSizeForRequest),\n andThen(pipe(tap(setSuggestions), both(isEmpty, isFocused), setPlaceholderVisibility))\n );\n\n const onLoadMoreSuggestions = () => {\n setNextPageIsLoading(true);\n getSuggestions(inputValue, pageSizeForRequest, pageNumber + 1)\n .then(pipe(concat(suggestions), setSuggestions, always(pageNumber + 1), setPageNumber))\n .finally(() => {\n setNextPageIsLoading(false);\n });\n };\n\n const onMouseDown = (event) => {\n event.preventDefault();\n };\n\n const debouncedFetchSuggestions = useCallback(debounce(fetchSuggestions, FETCH_DEBOUNCE_INTERVAL), [\n getSuggestions\n ]);\n\n const displayedSuggestions = useMemo(() => suggestions.slice(0, pageNumber * max), [suggestions, pageNumber, max]);\n const showMoreButton = suggestions.length > displayedSuggestions.length;\n\n const [hasHighlightedItem, setHasHighlightedItem] = useState(false);\n const onInputChange = ({newValue, method}) => {\n switch (method) {\n case 'type': {\n if (multiple) {\n setCurrentValue(newValue);\n }\n break;\n }\n case 'escape': {\n if (multiple) {\n setCurrentValue(newValue);\n } else {\n onChange(newValue);\n }\n break;\n }\n case 'click':\n case 'enter': {\n if (multiple) {\n setCurrentValue('');\n if (newValue) {\n onChange(uniq([...value, newValue]));\n }\n } else {\n onChange(newValue);\n }\n break;\n }\n }\n };\n\n return (\n <Autosuggest\n suggestions={displayedSuggestions}\n shouldRenderSuggestions={T}\n inputProps={{\n value: inputValue,\n onChange: pipe(nthArg(1), onInputChange),\n onKeyDown: (event) => {\n if (event.keyCode === 13 && multiple && !hasHighlightedItem) {\n onInputChange({method: 'enter', newValue: currentValue});\n }\n },\n fullWidth,\n ...inputProps,\n autoComplete: 'nope'\n }}\n getSuggestionValue={identity}\n onSuggestionsFetchRequested={ifElse(\n propEq('reason', 'input-changed'),\n debouncedFetchSuggestions,\n fetchSuggestions\n )}\n onSuggestionsClearRequested={pipe(\n always([]),\n setSuggestions,\n F,\n setPlaceholderVisibility,\n always(1),\n setPageNumber\n )}\n renderInputComponent={({ref, onChange: onInputChange, ...otherProps}) => {\n const commonClasses = {\n underline: classnames({[styles['input__underline']]: isEmptyValue(value)}),\n input: classnames(styles['rawInput'], path(['classes', 'input'], InputProps))\n };\n return multiple ? (\n <TextField\n {...otherProps}\n ref={inputRef}\n inputRef={ref}\n InputProps={{\n ...InputProps,\n startAdornment: value.map((item, index) => (\n <ValueChip key={item} label={item} onDelete={() => onChange(remove(index, 1, value))} />\n )),\n inputComponent: AutosizeInput,\n classes: {\n root: classnames(\n styles['multiple-input__input'],\n path(['classes', 'root'], InputProps)\n ),\n ...commonClasses,\n input: classnames(styles.autosizeInput, commonClasses.input),\n adornedStart: styles['multiple-input__adornedStart']\n }\n }}\n value={currentValue}\n onChange={onInputChange}\n classes={{root: styles['multiple-input__root']}}\n />\n ) : (\n <TextField\n {...otherProps}\n ref={inputRef}\n inputRef={ref}\n value={value}\n onChange={pipe(tap(onInputChange), getValue, onChange)}\n InputProps={{\n ...InputProps,\n classes: {\n root: classnames(styles['input__root'], path(['classes', 'root'], InputProps)),\n ...commonClasses\n }\n }}\n />\n );\n }}\n renderSuggestionsContainer={({children, containerProps: {ref, ...restContainerProps}}) => (\n <Popper anchorEl={inputRef.current} open={Boolean(children) || isPlaceholderVisible}>\n <Paper\n ref={ref}\n square={true}\n {...restContainerProps}\n style={{width: prop('clientWidth', inputRef.current)}}\n >\n {children || <NoResults className={styles['typeahead__suggestions-placeholder']} />}\n {showMoreButton && !isPlaceholderVisible && (\n <LoadMoreButton\n onClick={onLoadMoreSuggestions}\n onMouseDown={onMouseDown}\n loading={nextPageIsLoading}\n />\n )}\n </Paper>\n </Popper>\n )}\n renderSuggestion={(suggestion, {isHighlighted}) => (\n <MenuItem\n className={styles['typeahead__suggestions-menuItem']}\n selected={isHighlighted}\n component=\"div\"\n >\n <ExpandedValueTooltip value={suggestion}>\n <div className={styles['menuItem--item']}>{suggestion}</div>\n </ExpandedValueTooltip>\n </MenuItem>\n )}\n theme={{\n container: fullWidth ? styles['typeahead__suggestions-container'] : '',\n suggestionsList: styles['typeahead__suggestions-list'],\n suggestionsContainerOpen: styles['typeahead__suggestions-container--open']\n }}\n onSuggestionHighlighted={pipe(prop('suggestion'), Boolean, setHasHighlightedItem)}\n />\n );\n};\n\nTypeaheadEditor.propTypes = {\n multiple: PropTypes.bool,\n fullWidth: PropTypes.bool,\n placeholder: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func.isRequired,\n getSuggestions: PropTypes.func.isRequired,\n InputProps: PropTypes.object,\n max: PropTypes.number\n};\n\nexport default TypeaheadEditor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {prop} from 'ramda';\nimport ValueChip from '../../../ValueChip/ValueChip';\nimport CancelIcon from '@material-ui/icons/Cancel';\n\nconst MultiValueChip = (props) => {\n const {children, data, removeProps} = props;\n\n return (\n <ValueChip\n tabIndex={-1}\n label={children}\n count={prop('formattedNumber', data)}\n onDelete={removeProps.onClick}\n deleteIcon={<CancelIcon {...props.removeProps} />}\n />\n );\n};\n\nMultiValueChip.propTypes = {\n children: PropTypes.node,\n data: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n number: PropTypes.number\n }).isRequired,\n removeProps: PropTypes.shape({\n onClick: PropTypes.func.isRequired,\n onMouseDown: PropTypes.func.isRequired,\n onTouchEnd: PropTypes.func.isRequired\n }).isRequired\n};\n\nexport default MultiValueChip;\n","import PropTypes from 'prop-types';\nimport {AttributeTypeType, FilterValueType, SortOrderType} from '@reltio/mdm-sdk';\n\nconst NumberFormatType = PropTypes.shape({\n prefix: PropTypes.string,\n suffix: PropTypes.string,\n thousandSeparator: PropTypes.string,\n decimalSeparator: PropTypes.string\n});\n\nconst SelectValueType = PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]);\n\nconst DropDownEntryType = PropTypes.shape({\n value: SelectValueType.isRequired,\n label: PropTypes.string\n});\n\nconst DropDownGroupEntryType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n values: PropTypes.arrayOf(PropTypes.object).isRequired\n});\n\nconst ColumnDataType = PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object,\n resizable: PropTypes.bool,\n sortable: PropTypes.bool,\n filterable: PropTypes.bool,\n headCellRenderer: PropTypes.func,\n rowCellValueRenderer: PropTypes.func,\n nestedPath: PropTypes.arrayOf(PropTypes.string)\n});\n\nconst SortingType = PropTypes.shape({\n field: PropTypes.string,\n order: SortOrderType\n});\n\nconst ColumnFilterType = PropTypes.shape({\n value: PropTypes.oneOfType([FilterValueType, PropTypes.arrayOf(FilterValueType)]),\n filter: PropTypes.string\n});\n\nconst PlainColumnsDataType = PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object\n })\n);\n\nconst GroupedColumnsDataType = PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n columns: PlainColumnsDataType\n })\n);\n\nconst ColumnsDataType = PropTypes.oneOfType([PlainColumnsDataType, GroupedColumnsDataType]);\n\nconst QueryBuilderAttributeDataType = PropTypes.shape({\n title: PropTypes.string,\n pathToTitle: PropTypes.arrayOf(PropTypes.string),\n fieldName: PropTypes.string,\n entityTypeUri: PropTypes.string,\n attrType: AttributeTypeType,\n uri: PropTypes.string,\n groupName: PropTypes.string\n});\n\nconst QueryBuilderAttributeType = PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n values: PropTypes.array,\n data: QueryBuilderAttributeDataType,\n filter: PropTypes.string,\n operator: PropTypes.string\n});\n\nexport {\n NumberFormatType,\n SelectValueType,\n DropDownEntryType,\n DropDownGroupEntryType,\n ColumnDataType,\n SortingType,\n ColumnFilterType,\n ColumnsDataType,\n GroupedColumnsDataType,\n QueryBuilderAttributeDataType,\n QueryBuilderAttributeType\n};\n","import React from 'react';\n\nexport const SearchValueContext = React.createContext<string>('');\n\nSearchValueContext.displayName = 'SearchValueContext';\n","import {useEffect, useRef} from 'react';\n\nexport const usePrevious = (value) => {\n const valueHolderRef = useRef();\n useEffect(() => {\n valueHolderRef.current = value;\n }, [value]);\n return valueHolderRef.current;\n};\n"],"names":["withContext","Context","contextSelector","Component","PureComponent","memo","displayName","name","props","Consumer","contextState","DataTypeValue","value","dataTypeDefinition","rich","attributePresentations","useSelector","mdm","localeDateFormat","moment","longDateFormat","localeTimeFormat","dateMask","dateTimeMask","formattedValue","formatDataTypeValue","isAttributeValueLink","Link","target","href","addProtocolToLink","underline","text","propTypes","PropTypes","NoResults","message","i18n","useStyles","makeStyles","highlight","fontWeight","className","multiTerm","styles","REG_SPACES","RegExp","getMultiTerms","pipe","trim","split","map","toLower","sort","ascend","reverse","highlightedValues","regValues","item","replace","parts","join","part","i","includes","toLocaleLowerCase","key","inputRoot","flexWrap","autosizeInput","width","marginLeft","overflow","background","border","fontSize","outline","padding","color","AutosizeInputWrapper","CustomInputComponent","customInput","AutosizeInput","EMPTY_VALUES_EDIT_HINT","isEmptyValue","isEmpty","MultipleInput","values","InputProps","inputProps","classes","onChange","noop","getValueLabel","identity","otherProps","root","InputClasses","inputValue","setInputValue","useState","removeValueAt","index","remove","hasValues","length","appendInputValueIfNotEmpty","uniq","isFocused","setIsFocused","hintText","Tooltip","title","TextField","getValue","startAdornment","ValueChip","label","onDelete","inputComponent","classnames","input","onKeyPress","when","propEq","onKeyDown","onFocus","onBlur","multiSelect","minHeight","chips","display","MultipliableSelect","multiple","children","getValuePlaceholder","fullWidth","TextFieldProps","MenuProps","select","defaultTo","SelectProps","getContentAnchorEl","anchorOrigin","vertical","horizontal","prop","renderValue","selected","onMouseDown","event","stopPropagation","SelectValueType","highlightedText","keywordValue","useContext","SearchValueContext","Highlighter","useChipStyles","height","backgroundColor","maxWidth","margin","deleteIcon","marginRight","theme","container","alignItems","textOverflow","whiteSpace","count","palette","secondary","letterSpacing","lineHeight","classesProp","otherProp","Chip","mergeClasses","ExpandedValueTooltip","loadMoreContainer","moreButton","buttonLabel","loadingSpinner","alignSelf","loading","onClick","CircularProgress","size","Button","selectProps","menuListFooter","checkIcon","transform","position","OptionWithCheckIcon","isSelected","Option","Check","BooleanEditor","Checkbox","checked","getChecked","checkbox_primary","divider","BooleanRadioEditor","FormControlLabel","control","isNil","not","isGroupEntry","has","flattenEntry","curry","depth","entry","isGroup","chain","flattenGroupedEntries","findEntryByValue","entries","_value","find","emptyLabel","GroupedDropDownEditor","flattenedEntries","selectedValues","wrapInArrayIfNeeded","selectStyles","useSelectStyles","disableAutoFocusItem","icon","MenuItem","disabled","style","paddingLeft","toString","DropDownEntryType","DropDownGroupEntryType","isRequired","splitOnce","separator","string","first","other","getLookupByUri","useWith","path","byLabel","LookupEditor","lookupCode","lookupTypeCode","lookups","getLookups","codeToLookup","useEffect","getLookupPath","uri","parent","concat","buildEntry","lookup","code","getLookupLabel","buildEntries","Object","hierarchy","reduce","acc","assocPath","buildLookupEntries","commonProps","pluck","always","LookupValueType","SimpleLookupType","getOptionLabel","buildLookupOptions","lookupA","lookupB","labelALower","toLowerCase","labelBLower","utils","option","dropdownIndicator","cursor","clearIndicator","placeholder","isUnresolvedLookup","lookupValue","isResolvedLookupCode","resolvedValues","hasPath","touchedEditorsMap","SelectComponents","IndicatorSeparator","EmptyStub","LoadingIndicator","DropdownIndicator","Menu","MenuWithPopper","MenuList","MultiValue","MultiValueChip","MAX_DEPENDENT_LOOKUP_VALUES","DependentLookupEditor","parents","resolveLookups","autopopulationId","max","inputRef","useRef","selectRef","onLookupsResolve","requestedCodes","setRequestedCodes","resolvedCodes","codesToResolve","filter","partition","resolvedLookups","unrequestedCodes","useLookupsResolver","codeValues","needFocusRef","current","document","activeElement","getElementsByTagName","handler","focus","addEventListener","removeEventListener","useSavingFocus","options","setOptions","pageNumber","setPageNumber","optionsAreLoading","setOptionsAreLoading","loadOptions","useCallback","Promise","resolve","type","displayNamePrefix","offset","then","buildOptions","catch","finally","loadMoreOptions","slice","page","debouncedLoadOptions","debounce","callback","defaultOptions","initialDefaultOptions","isLoading","isLoadingDefaultOptions","setDefaultOptions","setInitialDefaultOptions","setIsLoading","safePromise","useSafePromise","prevValue","useDefaultOptions","useDidUpdateEffect","displayedOptions","useMemo","showMoreButton","markAsTouched","id","isTouchedEditor","addTouchedEditor","useAutopopulation","Select","isMulti","menuPortalTarget","body","menuPlacement","ref","innerRef","menuPortal","base","zIndex","noOptionsMessage","components","isClearable","isSearchable","onInputChange","loadingMessage","hideSelectedOptions","isDisabled","getOptionValue","either","LoadMoreButton","variant","hiddenLabel","SelectEditor","DropDownEditor","DataTypeValueEditor","fieldName","inputStyles","useInputStyles","editorContext","tenant","globalSearchRequestOptions","dispatch","useDispatch","typeaheadGetSuggestion","searchValue","pageNo","getFacetedAttributeData","response","keys","dependentLookupCode","DataTypes","profile","getDependentLookups","propOr","lookupsList","codeValue","resolveLookupsList","Array","isArray","lookupData","getSuggestions","format","useEditorContext","mergeDeepLeft","commonTextFieldProps","marginDense","disableUnderline","is","TextEditor","rowsMax","multiline","NumberEditor","integer","booleanRadioEditorClassName","DateEditor","TimestampEditor","TypeaheadEditor","FileTypeEditor","build","menuItem","otherClasses","fileUploaderInput","uploaded","cancelIcon","showFileUploadError","error","console","ErrorPopup","getRequestErrorMessage","UploadMode","supportedFileTypes","onUpload","onBeforeUpload","fileUploader","supportedFileTypesString","Fragment","click","uploadedFiles","files","dataTransfer","preventDefault","accept","UploadFileButton","link","filename","onError","onCancel","isValidLink","mode","setMode","setName","onErrorHandler","onUploadHandler","result","switchToInitMode","getLabel","Typography","Cancel","onTouchEnd","editor","downloadLink","expirationDate","Date","now","file","uploadFileForSearch","getTime","onCancelHandler","NumberFormatCustom","getInputRef","isNumericString","onValueChange","decimalScale","undefined","NumberFormatType","formatNumber","SimpleInput","currentValue","setCurrentValue","applyCurrentValueChange","textAlign","maxHeight","overflowY","listStyleType","input__root","paddingTop","paddingBottom","rawInput","flex","input__underline","PAGE_SIZE","suggestions","setSuggestions","isPlaceholderVisible","setPlaceholderVisibility","nextPageIsLoading","setNextPageIsLoading","pageSizeForRequest","fetchSuggestions","andThen","tap","both","querySelector","onLoadMoreSuggestions","debouncedFetchSuggestions","displayedSuggestions","hasHighlightedItem","setHasHighlightedItem","newValue","method","shouldRenderSuggestions","T","nthArg","keyCode","autoComplete","getSuggestionValue","onSuggestionsFetchRequested","ifElse","onSuggestionsClearRequested","F","renderInputComponent","commonClasses","adornedStart","renderSuggestionsContainer","containerProps","restContainerProps","Popper","anchorEl","open","Boolean","Paper","square","renderSuggestion","suggestion","isHighlighted","component","suggestionsList","suggestionsContainerOpen","onSuggestionHighlighted","data","removeProps","tabIndex","number","prefix","suffix","thousandSeparator","decimalSeparator","ColumnDataType","resizable","sortable","filterable","headCellRenderer","rowCellValueRenderer","nestedPath","SortingType","field","order","SortOrderType","ColumnFilterType","FilterValueType","PlainColumnsDataType","GroupedColumnsDataType","columns","ColumnsDataType","QueryBuilderAttributeDataType","pathToTitle","entityTypeUri","attrType","AttributeTypeType","groupName","QueryBuilderAttributeType","operator","React","usePrevious","valueHolderRef"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"2114.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/HOCs/withContext/withContext.tsx","webpack://@reltio/remotes/../components/src/components/DataTypeValue/DataTypeValue.js","webpack://@reltio/remotes/../components/src/components/EmptySearchResult/NoResults.tsx","webpack://@reltio/remotes/../components/src/components/Highlighter/styles.ts","webpack://@reltio/remotes/../components/src/components/Highlighter/Highlighter.tsx","webpack://@reltio/remotes/../components/src/components/MultipleInput/styles.js","webpack://@reltio/remotes/../components/src/components/MultipleInput/MultipleInput.js","webpack://@reltio/remotes/../components/src/components/MultipliableSelect/styles.js","webpack://@reltio/remotes/../components/src/components/MultipliableSelect/MultipliableSelect.js","webpack://@reltio/remotes/../components/src/components/SearchHighlighter/styles.ts","webpack://@reltio/remotes/../components/src/components/SearchHighlighter/SearchHighlighter.tsx","webpack://@reltio/remotes/../components/src/components/ValueChip/styles.js","webpack://@reltio/remotes/../components/src/components/ValueChip/ValueChip.js","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/styles.js","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/LoadMoreButton.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/MenuList.tsx","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/OptionWithCheckIcon/styles.ts","webpack://@reltio/remotes/../components/src/components/commonReactSelectComponents/OptionWithCheckIcon/OptionWithCheckIcon.tsx","webpack://@reltio/remotes/../components/src/components/editors/BooleanEditor/BooleanEditor.js","webpack://@reltio/remotes/../components/src/components/editors/BooleanRadioEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/BooleanRadioEditor/BooleanRadioEditor.js","webpack://@reltio/remotes/../components/src/components/editors/GroupedDropDownEditor/entriesHelpers.js","webpack://@reltio/remotes/../components/src/components/editors/GroupedDropDownEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/GroupedDropDownEditor/GroupedDropDownEditor.js","webpack://@reltio/remotes/../components/src/components/editors/LookupEditor/entriesHelpers.js","webpack://@reltio/remotes/../components/src/components/editors/LookupEditor/LookupEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/helpers.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useLookupsResolver.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useDefaultOptions.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useAutopopulation.ts","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/DependentLookupEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DependentLookupEditor/useSavingFocus.ts","webpack://@reltio/remotes/../components/src/components/editors/SelectEditor/SelectEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DataTypeValueEditor/DataTypeValueEditor.js","webpack://@reltio/remotes/../components/src/components/editors/DataTypeValueEditor/useEditorContext.js","webpack://@reltio/remotes/../components/src/components/editors/EditorsFactory.js","webpack://@reltio/remotes/../components/src/components/editors/DropDownEditor/DropDownEditor.js","webpack://@reltio/remotes/../components/src/components/UploadFileButton/styles.js","webpack://@reltio/remotes/../components/src/components/UploadFileButton/UploadFileButton.js","webpack://@reltio/remotes/../components/src/components/editors/FileTypeEditor/styles.ts","webpack://@reltio/remotes/../components/src/components/editors/FileTypeEditor/FileTypeEditor.tsx","webpack://@reltio/remotes/../components/src/components/editors/NumberEditor/NumberEditor.js","webpack://@reltio/remotes/../components/src/components/SimpleInput/SimpleInput.js","webpack://@reltio/remotes/../components/src/components/editors/TextEditor/TextEditor.js","webpack://@reltio/remotes/../components/src/components/editors/TypeaheadEditor/styles.js","webpack://@reltio/remotes/../components/src/components/editors/TypeaheadEditor/TypeaheadEditor.js","webpack://@reltio/remotes/../components/src/components/editors/commonComponents/MultiValueChip/MultiValueChip.js","webpack://@reltio/remotes/../components/src/constants/prop-types.js","webpack://@reltio/remotes/../components/src/contexts/SearchValueContext/index.ts","webpack://@reltio/remotes/../components/src/hooks/usePrevious.js"],"sourcesContent":["import React, {memo, Context as ContextType, ComponentType} from 'react';\n\ntype AnyObject = Record<string, unknown>;\n\nexport const withContext = <C extends any, P extends AnyObject, SP extends AnyObject>(\n Context: ContextType<C>,\n contextSelector: (state: C, props?: P) => SP,\n Component: ComponentType<P>\n) => {\n if (Context && contextSelector) {\n const PureComponent = memo(Component);\n PureComponent.displayName = Component.name;\n const PureComponentWithContext = (props) => {\n return (\n <Context.Consumer>\n {(contextState) => <PureComponent {...props} {...contextSelector(contextState, props)} />}\n </Context.Consumer>\n );\n };\n return PureComponentWithContext;\n } else {\n return Component;\n }\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport mdm from '@reltio/mdm-module';\nimport {formatDataTypeValue, isAttributeValueLink, addProtocolToLink} from '@reltio/mdm-sdk';\nimport {useSelector} from 'react-redux';\nimport {Link as Link} from '@material-ui/core';\nimport SearchHighlighter from '../SearchHighlighter/SearchHighlighter';\n\nconst DataTypeValue = ({value = null, dataTypeDefinition, rich = true}) => {\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const localeDateFormat = moment.localeData().longDateFormat('L');\n const localeTimeFormat = moment.localeData().longDateFormat('LTS');\n const dateMask = useSelector(mdm.selectors.getDateMask) || localeDateFormat;\n const dateTimeMask = useSelector(mdm.selectors.getDateTimeMask) || localeDateFormat + ' ' + localeTimeFormat;\n const formattedValue = formatDataTypeValue(\n {attributePresentations, dataTypeDefinition, dateMask, dateTimeMask},\n value\n );\n\n return rich && isAttributeValueLink(dataTypeDefinition, value) ? (\n <Link target=\"_blank\" href={addProtocolToLink(formattedValue)} underline=\"none\">\n <SearchHighlighter text={formattedValue} />\n </Link>\n ) : (\n <SearchHighlighter text={formattedValue} />\n );\n};\n\nDataTypeValue.propTypes = {\n value: PropTypes.any,\n dataTypeDefinition: PropTypes.object,\n rich: PropTypes.bool\n};\n\nexport default DataTypeValue;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport NoMessageComponent from './NoMessageComponent';\n\ntype Props = Omit<React.ComponentPropsWithoutRef<typeof NoMessageComponent>, 'message'>;\n\nexport const NoResults = (props: Props) => {\n return <NoMessageComponent message={i18n.text('No results found')} {...props} />;\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n highlight: {\n fontWeight: 600\n }\n});\n","import React from 'react';\nimport {ascend, map, pipe, reverse, sort, split, toLower, trim} from 'ramda';\nimport {useStyles} from './styles';\n\ntype Props = {\n text?: string;\n highlight?: string;\n className?: string;\n multiTerm?: boolean;\n};\n\nconst Highlighter = ({text, highlight, className, multiTerm = false}: Props) => {\n const styles = useStyles();\n const hasHighlights = text && highlight;\n\n if (!hasHighlights) {\n return <>{text}</>;\n }\n\n const REG_SPACES = new RegExp(/\\s+/);\n const getMultiTerms = pipe(trim, split(REG_SPACES), map(toLower), sort(ascend), reverse);\n const highlightedValues = multiTerm ? getMultiTerms(highlight) : [toLower(highlight)];\n\n const regValues = highlightedValues.map((item) => item.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&'));\n\n const parts = text.split(new RegExp(`(${regValues.join('|')})`, 'gi'));\n\n return (\n <span>\n {parts.map((part, i) => {\n const isHighlightedText = highlightedValues.includes(part.toLocaleLowerCase());\n return isHighlightedText ? (\n <span key={i} className={className || styles.highlight}>\n {part}\n </span>\n ) : (\n part\n );\n })}\n </span>\n );\n};\n\nexport default Highlighter;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n inputRoot: {\n flexWrap: 'wrap'\n },\n autosizeInput: {\n width: 'auto',\n marginLeft: '5px',\n overflow: 'hidden',\n '& input': {\n background: '0px center',\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n color: 'inherit'\n }\n }\n});\n","import AutosizeInput from 'react-input-autosize';\nimport classnames from 'classnames';\nimport {TextField as TextField} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, {useState} from 'react';\nimport {identity, pipe, propEq, remove, uniq, when, trim, isEmpty} from 'ramda';\nimport {getValue, noop} from '../../core/utils';\nimport {useStyles} from './styles';\nimport ValueChip from '../ValueChip/ValueChip';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport i18n from 'ui-i18n';\n\nconst AutosizeInputWrapper = ({CustomInputComponent, ...props}) =>\n CustomInputComponent ? (\n <CustomInputComponent {...props} customInput={AutosizeInput} />\n ) : (\n <AutosizeInput {...props} />\n );\n\nAutosizeInputWrapper.propTypes = {\n CustomInputComponent: PropTypes.elementType\n};\n\nconst BACKSPACE_KEY_CODE = 8;\nconst EMPTY_VALUES_EDIT_HINT = i18n.text('Press Enter to add. You may enter multiple values');\n\nconst isEmptyValue = pipe(trim, isEmpty);\n\nconst MultipleInput = ({\n values = [],\n InputProps = {},\n inputProps = {},\n classes = {},\n onChange = noop,\n getValueLabel = identity,\n ...otherProps\n}) => {\n const styles = useStyles();\n const {root, ...InputClasses} = InputProps.classes || {};\n\n const [inputValue, setInputValue] = useState('');\n const clearInputValue = () => setInputValue('');\n\n const removeValueAt = (index) => onChange(remove(index, 1, values));\n const appendValue = (value) => onChange(uniq([...values, value]));\n\n const hasValues = values.length > 0;\n\n const appendInputValueIfNotEmpty = () => {\n if (!isEmptyValue(inputValue)) {\n appendValue(inputValue);\n clearInputValue();\n }\n };\n const popLastValueIfInputIsEmpty = () => {\n if (inputValue === '' && hasValues) {\n removeValueAt(-1);\n }\n };\n\n const [isFocused, setIsFocused] = useState(false);\n const setFocused = () => setIsFocused(true);\n const setUnfocused = () => setIsFocused(false);\n\n const hintText = !hasValues && isFocused ? EMPTY_VALUES_EDIT_HINT : '';\n\n return (\n <Tooltip title={hintText}>\n <TextField\n {...otherProps}\n classes={{\n root: classes.root\n }}\n value={inputValue}\n onChange={pipe(getValue, setInputValue)}\n InputProps={{\n ...InputProps,\n startAdornment: values.map((value, index) => (\n <ValueChip key={value} label={getValueLabel(value)} onDelete={() => removeValueAt(index)} />\n )),\n inputComponent: AutosizeInputWrapper,\n classes: {\n root: classnames(styles.inputRoot, root),\n input: classnames(styles.autosizeInput, InputClasses.input),\n ...InputClasses\n }\n }}\n inputProps={{\n ...inputProps,\n CustomInputComponent: InputProps.inputComponent\n }}\n onKeyPress={when(propEq('key', 'Enter'), appendInputValueIfNotEmpty)}\n onKeyDown={when(propEq('keyCode', BACKSPACE_KEY_CODE), popLastValueIfInputIsEmpty)}\n onFocus={setFocused}\n onBlur={pipe(appendInputValueIfNotEmpty, setUnfocused)}\n />\n </Tooltip>\n );\n};\n\nMultipleInput.propTypes = {\n values: PropTypes.arrayOf(PropTypes.string),\n InputProps: PropTypes.shape({\n classes: PropTypes.shape({root: PropTypes.string}),\n inputComponent: PropTypes.elementType\n }),\n inputProps: PropTypes.object,\n onChange: PropTypes.func,\n classes: PropTypes.object,\n getValueLabel: PropTypes.func\n};\n\nexport default MultipleInput;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n multiSelect: {\n padding: '3px 48px 3px 8px !important',\n minHeight: '34px !important'\n },\n chips: {\n display: 'flex',\n flexWrap: 'wrap'\n }\n});\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport {defaultTo, identity, pipe, prop, remove} from 'ramda';\nimport {TextField as TextField} from '@material-ui/core';\n\nimport {useStyles} from './styles';\n\nimport {SelectValueType} from '../../constants/prop-types';\nimport {getValue, noop} from '../../core/utils';\nimport ValueChip from '../ValueChip/ValueChip';\n\nconst MultipliableSelect = ({\n multiple,\n value,\n children,\n getValueLabel = noop,\n getValuePlaceholder = identity,\n onChange = noop,\n fullWidth,\n TextFieldProps,\n MenuProps,\n classes,\n ...otherProps\n}) => {\n const styles = useStyles();\n return (\n <TextField\n select\n fullWidth={fullWidth}\n {...TextFieldProps}\n value={defaultTo(multiple ? [] : '', value)}\n onChange={pipe(getValue, onChange)}\n SelectProps={{\n ...otherProps,\n MenuProps: {\n getContentAnchorEl: null,\n anchorOrigin: {vertical: 'bottom', horizontal: 'left'},\n ...MenuProps\n },\n classes: {\n ...classes,\n root: classnames({[styles.multiSelect]: multiple}, prop('root', classes))\n },\n multiple,\n // eslint-disable-next-line react/display-name\n renderValue: (selected) =>\n multiple ? (\n <div className={styles.chips}>\n {selected.map((value, index) => (\n <ValueChip\n key={value}\n label={getValueLabel(value) || getValuePlaceholder(value)}\n onMouseDown={(event) => event.stopPropagation()}\n onDelete={() => onChange(remove(index, 1, selected))}\n />\n ))}\n </div>\n ) : (\n getValueLabel(selected) || getValuePlaceholder(selected)\n )\n }}\n >\n {children}\n </TextField>\n );\n};\n\nMultipliableSelect.propTypes = {\n multiple: PropTypes.bool,\n fullWidth: PropTypes.bool,\n value: PropTypes.oneOfType([SelectValueType, PropTypes.arrayOf(SelectValueType)]),\n TextFieldProps: PropTypes.object,\n MenuProps: PropTypes.object,\n children: PropTypes.node,\n classes: PropTypes.object,\n onChange: PropTypes.func,\n getValueLabel: PropTypes.func,\n getValuePlaceholder: PropTypes.func\n};\n\nexport default MultipliableSelect;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n highlightedText: {\n background: 'rgb(255, 235, 203)'\n }\n});\n","import React, {useContext} from 'react';\nimport {SearchValueContext} from '../../contexts';\nimport Highlighter from '../Highlighter/Highlighter';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n text?: string;\n};\n\nconst SearchHighlighter = ({text}: Props) => {\n const styles = useStyles();\n const keywordValue = useContext(SearchValueContext);\n\n return <Highlighter text={text} highlight={keywordValue} className={styles.highlightedText} multiTerm />;\n};\n\nexport default SearchHighlighter;\n","import {makeStyles} from '@material-ui/core/styles';\n\nconst margin = 2;\nexport const useChipStyles = makeStyles({\n root: {\n height: '28px',\n backgroundColor: 'rgba(43, 152, 240, 0.12)',\n maxWidth: `calc(100% - ${margin * 2}px)`,\n margin: `${margin}px`\n },\n deleteIcon: {\n height: 18,\n width: 18,\n color: 'rgba(0,0,0,0.38)',\n marginRight: '8px'\n },\n label: {\n overflow: 'hidden'\n }\n});\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n alignItems: 'center',\n width: '100%'\n },\n label: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n count: {\n color: theme.palette.text.secondary,\n fontSize: '13px',\n letterSpacing: 0,\n lineHeight: '15px',\n marginLeft: 8\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Chip as Chip} from '@material-ui/core';\n\nimport {useStyles, useChipStyles} from './styles';\nimport {mergeClasses} from '../../core/utils';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst ValueChip = ({classes: classesProp = {}, label, count, ...otherProp}) => {\n const classes = useChipStyles();\n const styles = useStyles();\n return (\n <Chip\n classes={mergeClasses(classesProp, classes)}\n label={\n <div className={styles.container}>\n <ExpandedValueTooltip value={label}>\n <div className={styles.label}>{label}</div>\n </ExpandedValueTooltip>\n {count && <div className={styles.count}>{count}</div>}\n </div>\n }\n {...otherProp}\n />\n );\n};\n\nValueChip.propTypes = {\n classes: PropTypes.object,\n label: PropTypes.string,\n count: PropTypes.string\n};\n\nexport default ValueChip;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n loadMoreContainer: {\n display: 'flex',\n height: '32px'\n },\n moreButton: {\n padding: '9px 38px 9px 38px'\n },\n buttonLabel: {\n fontSize: '14px',\n fontWeight: 500,\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n },\n loadingSpinner: {\n alignSelf: 'center',\n marginLeft: '40px'\n }\n});\n","import React from 'react';\nimport {Button as Button} from '@material-ui/core';\nimport {CircularProgress} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport {useStyles} from './styles';\n\ntype Props = {\n loading: boolean;\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onMouseDown?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nconst LoadMoreButton = ({loading, onClick, onMouseDown}: Props) => {\n const styles = useStyles();\n\n return (\n <div className={styles.loadMoreContainer}>\n {loading ? (\n <CircularProgress className={styles.loadingSpinner} size={24} />\n ) : (\n <Button color=\"primary\" onClick={onClick} onMouseDown={onMouseDown} className={styles.moreButton}>\n <div className={styles.buttonLabel}>{i18n.text('Load more')}</div>\n </Button>\n )}\n </div>\n );\n};\n\nexport default LoadMoreButton;\n","import React from 'react';\nimport {components} from 'react-select';\n\nconst MenuList = (props) => {\n const {\n selectProps: {menuListFooter},\n children\n } = props;\n\n return (\n <components.MenuList {...props}>\n {children}\n {menuListFooter}\n </components.MenuList>\n );\n};\nexport default MenuList;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n checkIcon: {\n transform: 'scale(.7)',\n marginLeft: '-30px',\n position: 'absolute'\n }\n});\n","import React from 'react';\nimport CheckIcon from '@material-ui/icons/Check';\nimport Option from '../../ReactSelect/commonComponents/Option';\nimport {useStyles} from './styles';\n\ntype Props = {\n children: React.ReactNode;\n isSelected: boolean;\n};\n\nconst OptionWithCheckIcon = (props: Props) => {\n const styles = useStyles();\n const {isSelected, children} = props;\n\n return (\n <Option {...props}>\n {isSelected && <CheckIcon className={styles.checkIcon} />}\n {children}\n </Option>\n );\n};\n\nOptionWithCheckIcon.displayName = 'OptionWithCheckIcon';\n\nexport default OptionWithCheckIcon;\n","import {Checkbox as Checkbox} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {getChecked} from '../../../core/utils';\nimport {pipe} from 'ramda';\n\nconst BooleanEditor = ({value, onChange, ...otherProps}) => (\n <Checkbox {...otherProps} checked={value} onChange={onChange && pipe(getChecked, onChange)} />\n);\n\nBooleanEditor.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.bool\n};\n\nexport default BooleanEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n checkbox_primary: {\n color: theme.palette.divider\n },\n label: {\n color: theme.palette.text.secondary\n }\n}));\n","import BooleanEditor from '../BooleanEditor/BooleanEditor';\nimport {FormControlLabel as FormControlLabel} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {isNil, not, pipe} from 'ramda';\nimport {useStyles} from './styles';\n\nconst BooleanRadioEditor = ({value, onChange, className}) => {\n const styles = useStyles();\n\n return (\n <div className={className}>\n <FormControlLabel\n classes={{label: styles.label}}\n control={\n <BooleanEditor\n classes={{root: styles['checkbox_primary']}}\n color=\"primary\"\n value={!isNil(value) && !!value}\n onChange={onChange}\n />\n }\n label={i18n.text('Yes')}\n />\n <FormControlLabel\n classes={{label: styles.label}}\n control={\n <BooleanEditor\n classes={{root: styles['checkbox_primary']}}\n color=\"primary\"\n value={!isNil(value) && !value}\n onChange={onChange && pipe(not, onChange)}\n />\n }\n label={i18n.text('No')}\n />\n </div>\n );\n};\n\nBooleanRadioEditor.propTypes = {\n value: PropTypes.bool,\n onChange: PropTypes.func,\n className: PropTypes.string\n};\n\nexport default BooleanRadioEditor;\n","import {chain, curry, has} from 'ramda';\n\nconst isGroupEntry = has('values');\n\nconst flattenEntry = curry((depth, entry) =>\n isGroupEntry(entry)\n ? [{label: entry.label, depth, isGroup: true}, ...chain(flattenEntry(depth + 1), entry.values)]\n : {...entry, depth}\n);\n\nconst flattenGroupedEntries = chain(flattenEntry(0));\n\nconst findEntryByValue = curry((entries, _value) => entries.find(({isGroup, value}) => !isGroup && value === _value));\n\nexport {flattenGroupedEntries, findEntryByValue};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n checkIcon: {\n transform: 'scale(.7)',\n marginLeft: '-25px',\n position: 'absolute'\n },\n emptyLabel: {\n padding: '4px 16px'\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport i18n from 'ui-i18n';\nimport {isNil, pipe, prop} from 'ramda';\nimport CheckIcon from '@material-ui/icons/Check';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport MultipliableSelect from '../../MultipliableSelect/MultipliableSelect';\nimport {DropDownEntryType, DropDownGroupEntryType, SelectValueType} from '../../../constants/prop-types';\nimport {findEntryByValue, flattenGroupedEntries} from './entriesHelpers';\nimport {useStyles} from './styles';\nimport {useSelectStyles} from '../constants';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\n\nconst MENU_ITEM_OFFSET = 25;\n\nconst GroupedDropDownEditor = ({value, entries, classes, ...otherProps}) => {\n const flattenedEntries = flattenGroupedEntries(entries);\n const selectedValues = isNil(value) ? [] : wrapInArrayIfNeeded(value);\n const styles = useStyles();\n const selectStyles = useSelectStyles();\n\n return (\n <MultipliableSelect\n MenuProps={{\n disableAutoFocusItem: true\n }}\n classes={{\n ...classes,\n root: classnames(selectStyles.root, prop('root', classes)),\n icon: classnames(selectStyles.icon, prop('icon', classes))\n }}\n {...otherProps}\n value={value}\n getValueLabel={pipe(findEntryByValue(flattenedEntries), prop('label'))}\n >\n {flattenedEntries.length > 0 ? (\n flattenedEntries.map(({value, label, depth, isGroup}, index) => (\n <MenuItem\n key={index}\n disabled={isGroup}\n value={value}\n style={{paddingLeft: `${(depth + 1) * MENU_ITEM_OFFSET}px`}}\n >\n {selectedValues.includes(value) && <CheckIcon className={styles.checkIcon} />}\n {label || value.toString()}\n </MenuItem>\n ))\n ) : (\n <MenuItem className={styles.emptyLabel} disabled={true}>\n {i18n.text('No results found')}\n </MenuItem>\n )}\n </MultipliableSelect>\n );\n};\n\nGroupedDropDownEditor.propTypes = {\n value: PropTypes.oneOfType([SelectValueType, PropTypes.arrayOf(SelectValueType)]),\n entries: PropTypes.arrayOf(PropTypes.oneOfType([DropDownEntryType, DropDownGroupEntryType])).isRequired,\n classes: PropTypes.object\n};\n\nexport {GroupedDropDownEditor as default, MENU_ITEM_OFFSET};\n","import {ascend, assocPath, path, prop, curry, useWith} from 'ramda';\nimport {getLookupLabel} from '@reltio/mdm-sdk';\n\nconst LOOKUP_URI_SEPARATOR = '.';\n\nconst splitOnce = curry((separator, string) => {\n const [first, ...other] = string.split(separator);\n return [first, other.join(separator)];\n});\n\n// eslint-disable-next-line react-hooks/rules-of-hooks\nconst getLookupByUri = useWith(path, [splitOnce(LOOKUP_URI_SEPARATOR)]);\n\nconst byLabel = ascend(prop('label'));\n\nconst buildLookupEntries = (lookupTypeCode, lookups) => {\n const getLookupPath = (uri) => {\n const {parent} = getLookupByUri(uri, lookups);\n return parent ? getLookupPath(parent).concat(uri) : [uri];\n };\n\n const buildEntry = ([uri, value]) => {\n const lookup = getLookupByUri(uri, lookups);\n const [, code] = splitOnce(LOOKUP_URI_SEPARATOR, uri);\n const label = getLookupLabel(code, lookup.displayName);\n return lookup === value ? {label, value: code} : {label, values: buildEntries(value)};\n };\n\n const buildEntries = (value) => Object.entries(value).map(buildEntry).sort(byLabel);\n\n const hierarchy = Object.entries(lookups[lookupTypeCode] || []).reduce(\n (acc, [code, value]) => assocPath(getLookupPath(`${lookupTypeCode}${LOOKUP_URI_SEPARATOR}${code}`), value, acc),\n {}\n );\n\n return buildEntries(hierarchy);\n};\n\nexport {buildLookupEntries};\n","import GroupedDropDownEditor from '../GroupedDropDownEditor/GroupedDropDownEditor';\nimport PropTypes from 'prop-types';\nimport React, {useEffect} from 'react';\nimport {SimpleLookupType, LookupValueType} from '@reltio/mdm-sdk';\nimport {always, defaultTo, isEmpty, map, path, pipe, pluck, prop, propEq} from 'ramda';\nimport {buildLookupEntries} from './entriesHelpers';\n\nconst LookupEditor = ({multiple, value, lookupCode: lookupTypeCode, lookups, onChange, getLookups, ...otherProps}) => {\n const codeToLookup = (lookupCode) => ({\n lookupCode,\n value: path([lookupTypeCode, lookupCode, 'displayName'], lookups)\n });\n useEffect(() => {\n if (isEmpty(lookups) && getLookups) {\n getLookups();\n }\n }, [lookups, getLookups]);\n const entries = buildLookupEntries(lookupTypeCode, lookups); // TODO: this code could be not valid if lookups are not loaded\n const commonProps = {\n ...otherProps,\n multiple,\n entries\n };\n value = defaultTo(multiple ? [] : {}, value);\n\n return multiple ? (\n <GroupedDropDownEditor\n {...commonProps}\n value={pluck('lookupCode', value)}\n getValuePlaceholder={(lookupCode) => value.find(propEq('lookupCode', lookupCode)).value}\n onChange={pipe(map(codeToLookup), onChange)}\n />\n ) : (\n <GroupedDropDownEditor\n {...commonProps}\n value={prop('lookupCode', value)}\n getValuePlaceholder={always(prop('value', value))}\n onChange={pipe(codeToLookup, onChange)}\n />\n );\n};\n\nLookupEditor.propTypes = {\n multiple: PropTypes.bool,\n value: PropTypes.oneOfType([LookupValueType, PropTypes.arrayOf(LookupValueType)]),\n lookupCode: PropTypes.string.isRequired,\n lookups: PropTypes.objectOf(PropTypes.objectOf(SimpleLookupType)).isRequired,\n onChange: PropTypes.func,\n getLookups: PropTypes.func\n};\n\nexport default LookupEditor;\n","import {getLookupLabel, utils} from '@reltio/mdm-sdk';\n\nconst getOptionLabel = ({lookupCode, value}) => getLookupLabel(lookupCode, value);\n\nconst buildLookupOptions = (lookups) =>\n Object.entries(lookups)\n .map(([lookupCode, {displayName}]) => ({\n lookupCode,\n value: displayName\n }))\n .sort((lookupA, lookupB) => {\n const labelALower = getOptionLabel(lookupA).toLowerCase();\n const labelBLower = getOptionLabel(lookupB).toLowerCase();\n return utils.strings.sort('asc', labelALower, labelBLower);\n });\n\nexport {getOptionLabel, buildLookupOptions};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n option: {\n paddingLeft: '35px'\n },\n dropdownIndicator: {\n padding: '8px 12px',\n cursor: 'pointer',\n color: theme.palette.text.secondary\n },\n clearIndicator: {\n display: 'none'\n },\n placeholder: {\n position: 'static'\n }\n}));\n","import {useEffect, useState} from 'react';\nimport {curry, filter, hasPath, map, partition, pipe, prop, concat, uniq} from 'ramda';\nimport {wrapInArrayIfNeeded} from '@reltio/mdm-sdk';\n\nconst isUnresolvedLookup = (lookupValue) => lookupValue && lookupValue.lookupCode && !lookupValue.value;\nconst isResolvedLookupCode = curry((resolvedValues, lookupCode) =>\n hasPath([lookupCode, 'displayName'], resolvedValues)\n);\n\nconst useLookupsResolver = ({lookups, resolvedValues, resolveLookups, onLookupsResolve}) => {\n const [requestedCodes, setRequestedCodes] = useState([]);\n useEffect(() => {\n const [resolvedCodes, codesToResolve] = pipe(\n wrapInArrayIfNeeded,\n filter(isUnresolvedLookup),\n map(prop('lookupCode')),\n partition(isResolvedLookupCode(resolvedValues))\n )(lookups);\n if (resolvedCodes.length > 0) {\n const resolvedLookups = resolvedCodes.map((lookupCode) => ({\n lookupCode,\n value: resolvedValues[lookupCode].displayName\n }));\n onLookupsResolve(resolvedLookups);\n }\n const unrequestedCodes = codesToResolve.filter((code) => !requestedCodes.includes(code));\n if (unrequestedCodes.length > 0) {\n setRequestedCodes(pipe(concat(unrequestedCodes), uniq));\n resolveLookups(unrequestedCodes);\n }\n }, [lookups, resolvedValues]); // eslint-disable-line\n};\n\nexport default useLookupsResolver;\n","import {useState, useEffect} from 'react';\nimport {useSafePromise} from '../../../hooks';\n\nconst useDefaultOptions = (loadOptions) => {\n const [defaultOptions, setDefaultOptions] = useState([]);\n const [initialDefaultOptions, setInitialDefaultOptions] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const safePromise = useSafePromise();\n\n useEffect(() => {\n setDefaultOptions([]);\n setIsLoading(true);\n safePromise(loadOptions(''))\n .then((options) => {\n setDefaultOptions(options);\n setInitialDefaultOptions((prevValue) => prevValue || options);\n setIsLoading(false);\n })\n .catch(() => {\n setIsLoading(false);\n });\n }, [loadOptions]); // eslint-disable-line\n return {defaultOptions, initialDefaultOptions, isLoading};\n};\n\nexport default useDefaultOptions;\n","import {useCallback, useEffect} from 'react';\n\ntype Option = {lookupCode: string; value: string};\n\ntype Props = {\n id: string;\n initialDefaultOptions: Option[];\n isEmptyValue: boolean;\n multiple: boolean;\n onChange: (value: Option | Option[]) => void;\n};\n\nconst touchedEditorsMap: {[id: string]: boolean} = {};\nconst addTouchedEditor = (id: string) => {\n touchedEditorsMap[id] = true;\n};\nconst isTouchedEditor = (id: string) => touchedEditorsMap[id];\n\n// Autopopulation for just added editor. Other autopopulation cases should be covered by cascadeUpdate flow.\nconst useAutopopulation = ({id, initialDefaultOptions, isEmptyValue, multiple, onChange}: Props) => {\n useEffect(() => {\n if (id && initialDefaultOptions && initialDefaultOptions.length === 1 && isEmptyValue && !isTouchedEditor(id)) {\n onChange(multiple ? initialDefaultOptions : initialDefaultOptions[0]);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialDefaultOptions]);\n const markAsTouched = useCallback(() => {\n if (id) {\n addTouchedEditor(id);\n }\n }, [id]);\n return {markAsTouched};\n};\n\nexport default useAutopopulation;\n","import React, {useCallback, useRef, useState, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {debounce, LookupValueType} from '@reltio/mdm-sdk';\nimport Select from '../../ReactSelect/Select';\nimport {concat, defaultTo, either, isEmpty, prop} from 'ramda';\nimport {buildLookupOptions, getOptionLabel} from './helpers';\nimport i18n from 'ui-i18n';\nimport {EmptyStub} from '../../../core/utils';\nimport DropdownIndicator from '../../commonReactSelectComponents/DropdownIndicator';\nimport MenuWithPopper from '../../commonReactSelectComponents/MenuWithPopper';\nimport MenuList from '../../commonReactSelectComponents/MenuList';\nimport {useStyles} from './styles';\nimport useLookupsResolver from './useLookupsResolver';\nimport MultiValueChip from '../commonComponents/MultiValueChip/MultiValueChip';\nimport OptionWithCheckIcon from '../../commonReactSelectComponents/OptionWithCheckIcon/OptionWithCheckIcon';\nimport useDefaultOptions from './useDefaultOptions';\nimport useAutopopulation from './useAutopopulation';\nimport useSavingFocus from './useSavingFocus';\nimport LoadMoreButton from '../../commonReactSelectComponents/LoadMoreButton';\nimport {useDidUpdateEffect} from '../../../hooks';\n\nconst SelectComponents = {\n IndicatorSeparator: EmptyStub,\n LoadingIndicator: EmptyStub,\n Option: OptionWithCheckIcon,\n DropdownIndicator,\n Menu: MenuWithPopper,\n MenuList: MenuList,\n MultiValue: MultiValueChip\n};\n\nexport const DEBOUNCE_INTERVAL = 400;\nconst MAX_DEPENDENT_LOOKUP_VALUES = 50;\n\nconst DependentLookupEditor = ({\n multiple,\n value,\n lookupCode: lookupTypeCode,\n TextFieldProps,\n parents,\n onChange,\n getLookups,\n lookups = {},\n resolveLookups,\n fullWidth,\n disabled,\n placeholder,\n autopopulationId,\n max = MAX_DEPENDENT_LOOKUP_VALUES,\n ...otherProps\n}) => {\n const inputRef = useRef(null);\n const selectRef = useRef(null);\n const styles = useStyles();\n\n useLookupsResolver({\n lookups: value,\n resolvedValues: lookups[lookupTypeCode],\n resolveLookups: (codeValues) => resolveLookups(lookupTypeCode, codeValues),\n onLookupsResolve: (lookups) => onChange(multiple ? lookups : lookups[0])\n });\n useSavingFocus(selectRef, inputRef, disabled);\n\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState([]);\n const [pageNumber, setPageNumber] = useState(1);\n const [optionsAreLoading, setOptionsAreLoading] = useState(false);\n\n const handleInputChange = (value) => {\n if (value !== inputValue) {\n setInputValue(value);\n setPageNumber(1);\n debouncedLoadOptions(value, setOptions);\n }\n };\n\n const loadOptions = useCallback(\n (value, pageNumber = 1) => {\n setOptionsAreLoading(true);\n return (parents === null\n ? Promise.resolve([])\n : getLookups({\n type: lookupTypeCode,\n parents,\n displayNamePrefix: value,\n max: max + 1,\n offset: (pageNumber - 1) * max\n })\n )\n .then((buildOptions) => buildLookupOptions(buildOptions))\n .catch(() => [])\n .finally(() => setOptionsAreLoading(false));\n },\n [max, lookupTypeCode, parents]\n );\n\n const loadMoreOptions = useCallback(() => {\n loadOptions(inputValue, pageNumber + 1).then((buildOptions) => {\n setOptions((options) => concat(options.slice(0, pageNumber * max), buildOptions));\n setPageNumber((page) => page + 1);\n });\n }, [max, loadOptions, inputValue, pageNumber]);\n\n const debouncedLoadOptions = useCallback(\n debounce((value, callback) => {\n loadOptions(value).then((options) => callback(options));\n }, DEBOUNCE_INTERVAL),\n [loadOptions]\n );\n\n const {defaultOptions, initialDefaultOptions, isLoading: isLoadingDefaultOptions} = useDefaultOptions(loadOptions);\n\n useEffect(() => {\n setOptions(defaultOptions);\n }, [defaultOptions]);\n\n useDidUpdateEffect(() => {\n setPageNumber(1);\n }, [lookupTypeCode]);\n\n const displayedOptions = useMemo(() => options.slice(0, pageNumber * max), [max, options, pageNumber]);\n const showMoreButton = options.length > displayedOptions.length;\n\n const isEmptyValue = multiple ? isEmpty(value) : !value?.lookupCode && !value?.value;\n\n const {markAsTouched} = useAutopopulation({\n id: autopopulationId,\n initialDefaultOptions,\n isEmptyValue,\n multiple,\n onChange\n });\n\n return (\n <Select\n {...otherProps}\n isMulti={multiple}\n classes={styles}\n menuPortalTarget={document.body}\n menuPlacement=\"auto\"\n TextFieldProps={{\n ...TextFieldProps,\n ref: inputRef,\n disabled: TextFieldProps?.disabled || disabled\n }}\n inputRef={inputRef}\n innerRef={selectRef}\n styles={{\n menuPortal: (base) => ({...base, zIndex: 1300}),\n container: (base) => ({...base, ...(fullWidth ? {width: '100%'} : {})})\n }}\n noOptionsMessage={() =>\n optionsAreLoading && !showMoreButton ? i18n.text('Loading...') : i18n.text('No results found')\n }\n components={SelectComponents}\n isClearable={true}\n isSearchable={true}\n inputValue={inputValue}\n onInputChange={handleInputChange}\n loadingMessage={() => i18n.text('Loading...')}\n isLoading={!inputValue && isLoadingDefaultOptions}\n hideSelectedOptions={false}\n placeholder={placeholder || ''}\n isDisabled={disabled}\n options={displayedOptions}\n getOptionValue={either(prop('value'), prop('lookupCode'))}\n getOptionLabel={getOptionLabel}\n onChange={(value) => {\n markAsTouched();\n onChange(value);\n }}\n value={defaultTo(multiple ? [] : null, value)}\n menuListFooter={showMoreButton && <LoadMoreButton loading={optionsAreLoading} onClick={loadMoreOptions} />}\n />\n );\n};\n\nDependentLookupEditor.propTypes = {\n multiple: PropTypes.bool,\n value: PropTypes.oneOfType([LookupValueType, PropTypes.arrayOf(LookupValueType)]),\n TextFieldProps: PropTypes.shape({\n variant: PropTypes.string,\n margin: PropTypes.string,\n hiddenLabel: PropTypes.bool\n }),\n lookupCode: PropTypes.string.isRequired,\n parents: PropTypes.array,\n getLookups: PropTypes.func,\n onChange: PropTypes.func,\n lookups: PropTypes.object,\n resolveLookups: PropTypes.func,\n fullWidth: PropTypes.bool,\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n autopopulationId: PropTypes.string,\n max: PropTypes.number\n};\n\nexport default DependentLookupEditor;\n","import {useEffect, useRef} from 'react';\n\nconst useSavingFocus = (selectRef, inputRef, disabled: boolean) => {\n const needFocusRef = useRef(false);\n\n if (\n !needFocusRef.current &&\n disabled &&\n document.activeElement === inputRef.current?.getElementsByTagName('input')[0]\n ) {\n needFocusRef.current = true;\n }\n useEffect(() => {\n const handler = () => {\n if (needFocusRef.current) {\n needFocusRef.current = false;\n }\n };\n if (!disabled && needFocusRef.current) {\n selectRef.current?.focus();\n needFocusRef.current = false;\n }\n if (disabled && needFocusRef.current) {\n document?.addEventListener('click', handler);\n return () => {\n document?.removeEventListener('click', handler);\n };\n }\n }, [disabled]);\n};\n\nexport default useSavingFocus;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {prop} from 'ramda';\nimport DropDownEditor from '../DropDownEditor/DropDownEditor';\nimport {useSelectStyles} from '../constants';\n\nconst SelectEditor = ({classes, ...otherProps}) => {\n const styles = useSelectStyles();\n return (\n <DropDownEditor\n MenuProps={{\n disableAutoFocusItem: true\n }}\n classes={{\n ...classes,\n root: classnames(styles.root, prop('root', classes)),\n icon: classnames(styles.icon, prop('icon', classes))\n }}\n {...otherProps}\n />\n );\n};\n\nSelectEditor.propTypes = {\n classes: PropTypes.object\n};\n\nexport default SelectEditor;\n","import {memo} from 'react';\nimport {has, is, mergeDeepLeft} from 'ramda';\nimport EditorsFactory from '../EditorsFactory';\nimport PropTypes from 'prop-types';\nimport useEditorContext from './useEditorContext';\nimport {commonTextFieldProps, useInputStyles} from '../constants';\nimport {isEmptyValue} from '@reltio/mdm-sdk';\n\nconst DataTypeValueEditor = ({fieldName, value, onChange, dataTypeDefinition, TextFieldProps = {}, ...otherProps}) => {\n const inputStyles = useInputStyles();\n const editorContext = useEditorContext(fieldName, dataTypeDefinition);\n const isEmpty = (value) => {\n return is(Object, value) && has('value', value) ? isEmptyValue(value.value) : isEmptyValue(value);\n };\n\n TextFieldProps = mergeDeepLeft(TextFieldProps, {\n ...commonTextFieldProps,\n className: inputStyles.marginDense,\n InputProps: {\n disableUnderline: isEmpty(value)\n }\n });\n\n return EditorsFactory.build(dataTypeDefinition.type, {\n onChange,\n value,\n TextFieldProps,\n ...editorContext,\n ...otherProps\n });\n};\n\nDataTypeValueEditor.propTypes = {\n fieldName: PropTypes.string,\n value: PropTypes.any,\n onChange: PropTypes.func,\n dataTypeDefinition: PropTypes.object\n};\n\nDataTypeValueEditor.displayName = 'DataTypeValueEditor';\n\nexport default memo(DataTypeValueEditor);\n","import mdm, {profile} from '@reltio/mdm-module';\nimport {DataTypes, getDependentLookups, getFacetedAttributeData, getLookups, resolveLookupsList} from '@reltio/mdm-sdk';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {useCallback} from 'react';\nimport {propOr} from 'ramda';\n\nconst useEditorContext = (fieldName, dataTypeDefinition) => {\n const tenant = useSelector(mdm.selectors.getTenant);\n const lookups = useSelector(mdm.selectors.getLookups);\n const attributePresentations = useSelector(mdm.selectors.getAttributePresentations);\n const globalSearchRequestOptions = useSelector(mdm.selectors.getGlobalSearchRequestOptions);\n const dispatch = useDispatch();\n const typeaheadGetSuggestion = useCallback(\n (searchValue, max, pageNo) =>\n getFacetedAttributeData({\n fieldName,\n searchValue,\n options: {...globalSearchRequestOptions, max, pageNo}\n }).then((response) => Object.keys(response[fieldName])),\n [fieldName, globalSearchRequestOptions]\n );\n\n const {type, values, lookupCode, uri, dependentLookupCode, options} = dataTypeDefinition;\n\n switch (type) {\n case DataTypes.TYPE_ENUM:\n return {entries: values.map((value) => ({value}))};\n case DataTypes.TYPE_LOOKUP:\n return {\n lookups,\n lookupCode,\n getLookups: () =>\n getLookups().then((lookups) => {\n dispatch(profile.lookups.actions.lookupsLoaded(lookups));\n })\n };\n case DataTypes.TYPE_DEPENDENT_LOOKUP:\n return {\n lookups,\n lookupCode: dependentLookupCode,\n getLookups: ({type, parents, displayNamePrefix, max, offset}) => {\n return getDependentLookups({type, parents, displayNamePrefix, max, offset}).then(({codeValues}) =>\n propOr({}, type, codeValues)\n );\n },\n resolveLookups: (type, codeValues) => {\n const lookupsList = codeValues.map((codeValue) => ({type, codeValue}));\n return resolveLookupsList(lookupsList).then((response) => {\n if (Array.isArray(response)) {\n const lookups = response.reduce((acc, lookupData) => ({...acc, ...lookupData[type]}), {});\n dispatch(\n profile.lookups.actions.lookupsForTypeResolved({\n type,\n values: lookups\n })\n );\n }\n });\n }\n };\n case DataTypes.TYPE_TYPEAHEAD:\n return {\n getSuggestions: typeaheadGetSuggestion\n };\n case DataTypes.TYPE_NUMBER:\n case DataTypes.TYPE_FLOAT:\n case DataTypes.TYPE_DOUBLE:\n case DataTypes.TYPE_LONG:\n case DataTypes.TYPE_INT:\n return {\n format: attributePresentations[uri]\n };\n case DataTypes.TYPE_FILE:\n return {tenant};\n case DataTypes.TYPE_SELECT:\n return {entries: options};\n default:\n return {};\n }\n};\n\nexport default useEditorContext;\n","import BooleanRadioEditor from './BooleanRadioEditor/BooleanRadioEditor';\nimport DateEditor from './DateEditor/DateEditor';\nimport LookupEditor from './LookupEditor/LookupEditor';\nimport NumberEditor from './NumberEditor/NumberEditor';\nimport React from 'react';\nimport TextEditor from './TextEditor/TextEditor';\nimport TimestampEditor from './TimestampEditor/TimestampEditor';\nimport TypeaheadEditor from './TypeaheadEditor/TypeaheadEditor';\nimport {DataTypes} from '@reltio/mdm-sdk';\nimport DependentLookupEditor from './DependentLookupEditor/DependentLookupEditor';\nimport FileTypeEditor from './FileTypeEditor/FileTypeEditor';\nimport SelectEditor from './SelectEditor/SelectEditor';\n\nexport default class EditorsFactory {\n static build(type, {fullWidth, TextFieldProps, color, ...otherProps} = {}) {\n switch (type) {\n case DataTypes.TYPE_STRING:\n case DataTypes.TYPE_CIK_ID:\n case DataTypes.TYPE_ENTITY_ID:\n case DataTypes.TYPE_URL:\n case DataTypes.TYPE_BLOG_URL:\n case DataTypes.TYPE_IMAGE_URL:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_EMAIL:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} type={'email'} />;\n case DataTypes.TYPE_TEXT:\n case DataTypes.TYPE_BLOB:\n return (\n <TextEditor\n fullWidth={fullWidth}\n rowsMax={7}\n {...TextFieldProps}\n {...otherProps}\n multiline={true}\n />\n );\n case DataTypes.TYPE_PASSWORD:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} type=\"password\" />;\n case DataTypes.TYPE_LONG:\n case DataTypes.TYPE_INT:\n case DataTypes.TYPE_COUNT:\n return <NumberEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} integer={true} />;\n case DataTypes.TYPE_FLOAT:\n case DataTypes.TYPE_DOUBLE:\n case DataTypes.TYPE_NUMBER:\n case DataTypes.TYPE_DOLLAR:\n return <NumberEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_BOOLEAN:\n case DataTypes.TYPE_BOOLEAN_RADIO:\n case DataTypes.TYPE_RDM_LOOKUPS_NOT_RESOLVED:\n return (\n <BooleanRadioEditor\n color={color}\n {...otherProps}\n className={TextFieldProps?.booleanRadioEditorClassName}\n />\n );\n case DataTypes.TYPE_DATE:\n case DataTypes.TYPE_ACTIVENESS_DATE:\n case DataTypes.TYPE_LOCAL_DATE:\n return <DateEditor {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_TIMESTAMP:\n return <TimestampEditor {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_ENUM:\n case DataTypes.TYPE_SELECT:\n return <SelectEditor fullWidth={fullWidth} TextFieldProps={TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_LOOKUP:\n return <LookupEditor fullWidth={fullWidth} TextFieldProps={TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_TYPEAHEAD:\n return <TypeaheadEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_DEPENDENT_LOOKUP:\n return <DependentLookupEditor fullWidth={fullWidth} TextFieldProps={TextFieldProps} {...otherProps} />;\n case DataTypes.TYPE_FILE:\n return <FileTypeEditor {...otherProps} />;\n default:\n return <TextEditor fullWidth={fullWidth} {...TextFieldProps} {...otherProps} />;\n }\n }\n}\n","import {MenuItem as MenuItem} from '@material-ui/core';\nimport MultipliableSelect from '../../MultipliableSelect/MultipliableSelect';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {DropDownEntryType} from '../../../constants/prop-types';\nimport {pipe, prop, propEq} from 'ramda';\n\nconst findEntryByValue = (entries) => (value) => entries.find(propEq('value', value));\n\nconst DropDownEditor = ({entries, classes = {}, ...otherProps}) => {\n const {menuItem, ...otherClasses} = classes;\n return (\n <MultipliableSelect\n {...otherProps}\n classes={otherClasses}\n getValueLabel={pipe(findEntryByValue(entries), prop('label'))}\n >\n {entries.map(({value, label}, index) => (\n <MenuItem key={index} value={value} className={menuItem}>\n {label || value.toString()}\n </MenuItem>\n ))}\n </MultipliableSelect>\n );\n};\n\nDropDownEditor.propTypes = {\n classes: PropTypes.object,\n entries: PropTypes.arrayOf(DropDownEntryType).isRequired\n};\n\nexport default DropDownEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n fileUploaderInput: {\n display: 'none'\n },\n uploaded: {\n display: 'flex',\n alignItems: 'center'\n },\n label: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n },\n cancelIcon: {\n height: '18px',\n width: '18px',\n color: 'rgba(0,0,0,0.38)',\n marginLeft: '3px',\n cursor: 'pointer'\n }\n});\n","import React, {Fragment, useCallback, useEffect, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport i18n from 'ui-i18n';\nimport {CircularProgress as CircularProgress} from '@material-ui/core';\nimport {Link as Link} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {Button as Button} from '@material-ui/core';\nimport CancelIcon from '@material-ui/icons/Cancel';\nimport {getLabel, getRequestErrorMessage} from '@reltio/mdm-sdk';\nimport ErrorPopup from '../ErrorPopup/ErrorPopup';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\nimport {useStyles} from './styles.js';\n\nconst MODES = {INIT: 1, UPLOADING: 2, UPLOADED: 3};\nconst PROGRESS_ICON_SIZE = 20;\n\nconst showFileUploadError = (error) => {\n console.error(error); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('File upload error'),\n message: getRequestErrorMessage(error)\n });\n};\n\nconst UploadMode = ({supportedFileTypes = [], onUpload, onBeforeUpload}) => {\n const styles = useStyles();\n const fileUploader = useRef();\n const supportedFileTypesString = supportedFileTypes.join(',');\n const onSelectFileClick = () => {\n fileUploader.current.value = null;\n fileUploader.current.click();\n };\n const onUploadListener = (event) => {\n const uploadedFiles = event.target.files || event.dataTransfer.files || [];\n if (uploadedFiles.length > 0) {\n onBeforeUpload();\n onUpload(uploadedFiles[0]);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n return (\n <Fragment>\n <Button variant=\"contained\" onClick={onSelectFileClick}>\n {i18n.text('Select File')}\n </Button>\n\n <input\n type=\"file\"\n className={styles.fileUploaderInput}\n onChange={onUploadListener}\n ref={fileUploader}\n name=\"uploadfile\"\n accept={supportedFileTypesString}\n />\n </Fragment>\n );\n};\n\nUploadMode.propTypes = {\n onUpload: PropTypes.func,\n onBeforeUpload: PropTypes.func,\n supportedFileTypes: PropTypes.arrayOf(PropTypes.string)\n};\n\nconst UploadFileButton = ({\n link,\n filename,\n onUpload,\n onError = showFileUploadError,\n onCancel,\n supportedFileTypes,\n isValidLink = true\n}) => {\n const [mode, setMode] = useState(MODES.INIT);\n const [name, setName] = useState('');\n\n const styles = useStyles();\n useEffect(() => {\n setName(filename);\n }, [filename]);\n\n useEffect(() => {\n setMode(link ? MODES.UPLOADED : MODES.INIT);\n }, [link]);\n const onErrorHandler = useCallback(\n (error) => {\n setMode(MODES.INIT);\n onError(error);\n },\n [onError]\n );\n\n const onUploadHandler = useCallback(\n (result) => {\n return onUpload(result)\n .then(() => {\n setMode(MODES.UPLOADED);\n setName(result.name);\n })\n .catch(onErrorHandler);\n },\n [onUpload, onErrorHandler]\n );\n\n const onBeforeUpload = useCallback(() => {\n setMode(MODES.UPLOADING);\n }, []);\n const switchToInitMode = useCallback(() => {\n setMode(MODES.INIT);\n onCancel();\n }, [onCancel]);\n switch (mode) {\n case MODES.INIT:\n return (\n <UploadMode\n supportedFileTypes={supportedFileTypes}\n onUpload={onUploadHandler}\n onBeforeUpload={onBeforeUpload}\n />\n );\n case MODES.UPLOADED: {\n const label = getLabel(name);\n return (\n <div className={styles.uploaded}>\n <ExpandedValueTooltip value={label}>\n {isValidLink ? (\n <Link href={link} className={styles.label}>\n {label}\n </Link>\n ) : (\n <Typography variant=\"inherit\" className={styles.label}>\n {label}\n </Typography>\n )}\n </ExpandedValueTooltip>\n <CancelIcon\n onClick={switchToInitMode}\n onMouseDown={switchToInitMode}\n onTouchEnd={switchToInitMode}\n className={styles.cancelIcon}\n />\n </div>\n );\n }\n case MODES.UPLOADING:\n return <CircularProgress size={PROGRESS_ICON_SIZE} />;\n default:\n return null;\n }\n};\n\nUploadFileButton.propTypes = {\n link: PropTypes.string,\n filename: PropTypes.string,\n onUpload: PropTypes.func,\n onError: PropTypes.func,\n onCancel: PropTypes.func,\n supportedFileTypes: PropTypes.arrayOf(PropTypes.string),\n isValidLink: PropTypes.bool\n};\n\nexport default UploadFileButton;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n editor: {\n alignSelf: 'center'\n }\n});\n","import React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport {uploadFileForSearch, FileValue} from '@reltio/mdm-sdk';\nimport UploadFileButton from '../../UploadFileButton/UploadFileButton';\nimport {useStyles} from './styles';\n\ntype Props = {\n value?: FileValue;\n onChange: (file: FileValue) => void;\n onError?: (error: string) => void;\n className?: string;\n};\n\nconst FileTypeEditor = ({value, onChange, onError, className}: Props) => {\n const {downloadLink, filename, expirationDate} = value || {};\n const isValidLink = expirationDate >= Date.now();\n const supportedFileTypes = ['.txt', '.csv'];\n const onUploadHandler = useCallback(\n (file) =>\n uploadFileForSearch(file).then(({path, downloadLink, expirationDate}) => {\n onChange({\n filename: file.name,\n downloadLink,\n link: path,\n expirationDate: new Date(expirationDate).getTime()\n });\n }),\n [onChange]\n );\n const onCancelHandler = useCallback(() => onChange(null), [onChange]);\n\n const styles = useStyles();\n return (\n <div className={classnames(styles.editor, className)}>\n <UploadFileButton\n isValidLink={isValidLink}\n link={downloadLink}\n filename={filename}\n supportedFileTypes={supportedFileTypes}\n onUpload={onUploadHandler}\n onError={onError}\n onCancel={onCancelHandler}\n />\n </div>\n );\n};\n\nexport default FileTypeEditor;\n","import NumberFormat from 'react-number-format';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TextEditor from '../TextEditor/TextEditor';\nimport {NumberFormatType} from '../../../constants/prop-types';\nimport {formatNumber} from '@reltio/mdm-sdk';\n\nconst NumberFormatCustom = ({inputRef, onChange, integer, customInput, format, ...otherProps}) => (\n <NumberFormat\n {...otherProps}\n {...format}\n getInputRef={inputRef}\n isNumericString={true}\n onValueChange={(values) => {\n onChange({\n target: {\n value: values.value\n }\n });\n }}\n decimalScale={integer ? 0 : undefined}\n customInput={customInput}\n />\n);\n\nNumberFormatCustom.propTypes = {\n inputRef: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n integer: PropTypes.bool,\n customInput: PropTypes.elementType,\n format: NumberFormatType\n};\n\nconst NumberEditor = ({integer, format, inputProps, InputProps, ...otherProps}) => (\n <TextEditor\n {...otherProps}\n inputProps={{\n integer,\n format,\n ...inputProps\n }}\n InputProps={{\n ...InputProps,\n inputComponent: NumberFormatCustom\n }}\n getValueLabel={formatNumber(format)}\n />\n);\n\nNumberEditor.propTypes = {\n multiple: PropTypes.bool,\n integer: PropTypes.bool,\n format: NumberFormatType,\n inputProps: PropTypes.object,\n InputProps: PropTypes.object,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.number)\n ]),\n onChange: PropTypes.func\n};\n\nexport default NumberEditor;\n","import React, {useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\n\nimport {isNil, pipe, propEq, when} from 'ramda';\nimport {getValue, noop} from '../../core';\nimport {TextField as TextField} from '@material-ui/core';\n\nconst SimpleInput = ({value, onChange = noop, multiline, ...otherProps}) => {\n const [currentValue, setCurrentValue] = useState('');\n\n useEffect(() => {\n setCurrentValue(isNil(value) ? '' : value);\n }, [value]);\n\n const applyCurrentValueChange = () => {\n if (currentValue !== value) {\n onChange(currentValue);\n }\n };\n\n const onEnterPress = () => {\n if (!multiline) {\n applyCurrentValueChange();\n }\n };\n\n return (\n <TextField\n {...otherProps}\n multiline={multiline}\n value={currentValue}\n onKeyPress={when(propEq('key', 'Enter'), onEnterPress)}\n onBlur={applyCurrentValueChange}\n onChange={pipe(getValue, setCurrentValue)}\n />\n );\n};\n\nSimpleInput.propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func,\n multiline: PropTypes.bool,\n InputProps: PropTypes.object,\n className: PropTypes.string\n};\n\nexport default SimpleInput;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport MultipleInput from '../../MultipleInput/MultipleInput';\nimport SimpleInput from '../../SimpleInput/SimpleInput';\n\nconst TextEditor = ({multiple, value, getValueLabel, multiline, ...otherProps}) => {\n return multiple ? (\n <MultipleInput {...otherProps} values={value} getValueLabel={getValueLabel} />\n ) : (\n <SimpleInput {...otherProps} value={value} multiline={multiline} />\n );\n};\n\nTextEditor.propTypes = {\n multiple: PropTypes.bool,\n multiline: PropTypes.bool,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.number)\n ]),\n getValueLabel: PropTypes.func\n};\n\nexport default TextEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n 'typeahead__suggestions-placeholder': {\n padding: '8px 16px',\n textAlign: 'center'\n },\n 'typeahead__suggestions-container--open': {\n maxHeight: '230px',\n overflowY: 'auto'\n },\n 'typeahead__suggestions-list': {\n margin: 0,\n padding: 0,\n listStyleType: 'none'\n },\n 'typeahead__suggestions-menuItem': {\n color: 'rgba(0,0,0,0.87)',\n fontSize: '14px'\n },\n input__root: {\n color: 'rgba(0,0,0,0.87)',\n fontSize: '14px'\n },\n autosizeInput: {\n width: 'auto',\n paddingTop: '10px',\n paddingBottom: '11px',\n marginLeft: '5px',\n overflow: 'hidden',\n '& input': {\n background: '0px center',\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n color: 'inherit'\n }\n },\n rawInput: {\n height: '19px'\n },\n 'multiple-input__root': {\n flexWrap: 'wrap',\n color: 'rgba(0,0,0,0.87)',\n fontSize: '14px'\n },\n 'multiple-input__input': {\n flex: '1 0 25px',\n flexWrap: 'wrap'\n },\n 'multiple-input__adornedStart': {\n paddingLeft: '8px'\n },\n input__underline: {\n '&:before': {\n display: 'none'\n }\n },\n 'typeahead__suggestions-container': {\n width: '100%'\n },\n 'menuItem--item': {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: 'block'\n }\n});\n","import Autosuggest from 'react-autosuggest';\nimport AutosizeInput from 'react-input-autosize';\nimport classnames from 'classnames';\nimport {TextField as TextField} from '@material-ui/core';\nimport {MenuItem as MenuItem} from '@material-ui/core';\nimport {Paper as Paper} from '@material-ui/core';\nimport Popper from '../../Popper/Popper';\nimport PropTypes from 'prop-types';\nimport React, {useCallback, useRef, useMemo, useState} from 'react';\nimport {NoResults} from '../../../components/EmptySearchResult';\nimport {\n always,\n andThen,\n both,\n concat,\n defaultTo,\n F,\n identity,\n ifElse,\n isEmpty,\n nthArg,\n path,\n pipe,\n prop,\n propEq,\n remove,\n T,\n tap,\n trim,\n uniq\n} from 'ramda';\nimport {debounce, isEmptyValue} from '@reltio/mdm-sdk';\nimport {getValue} from '../../../core/utils';\nimport {useStyles} from './styles';\nimport ExpandedValueTooltip from '../../ExpandedValueTooltip/ExpandedValueTooltip';\nimport ValueChip from '../../ValueChip/ValueChip';\nimport LoadMoreButton from '../../commonReactSelectComponents/LoadMoreButton';\nimport {useDidUpdateEffect} from '../../../hooks';\n\nconst FETCH_DEBOUNCE_INTERVAL = 300;\nconst PAGE_SIZE = 50;\n\nconst TypeaheadEditor = ({\n value,\n max = PAGE_SIZE,\n getSuggestions,\n onChange,\n multiple,\n fullWidth,\n InputProps = {},\n ...inputProps\n}) => {\n const [suggestions, setSuggestions] = useState([]);\n const [isPlaceholderVisible, setPlaceholderVisibility] = useState(false);\n const [pageNumber, setPageNumber] = useState(1);\n const [nextPageIsLoading, setNextPageIsLoading] = useState(false);\n const pageSizeForRequest = max + 1;\n const [currentValue, setCurrentValue] = useState('');\n value = defaultTo(multiple ? [] : '', value);\n const inputValue = multiple ? currentValue : value;\n\n useDidUpdateEffect(() => {\n setPageNumber(1);\n }, [inputValue]);\n\n const inputRef = useRef();\n const styles = useStyles();\n const isFocused = () => inputRef.current?.querySelector('input') === document.activeElement;\n const fetchSuggestions = pipe(\n prop('value'),\n trim,\n (value) => getSuggestions(value, pageSizeForRequest),\n andThen(pipe(tap(setSuggestions), both(isEmpty, isFocused), setPlaceholderVisibility))\n );\n\n const onLoadMoreSuggestions = () => {\n setNextPageIsLoading(true);\n getSuggestions(inputValue, pageSizeForRequest, pageNumber + 1)\n .then(pipe(concat(suggestions), setSuggestions, always(pageNumber + 1), setPageNumber))\n .finally(() => {\n setNextPageIsLoading(false);\n });\n };\n\n const onMouseDown = (event) => {\n event.preventDefault();\n };\n\n const debouncedFetchSuggestions = useCallback(debounce(fetchSuggestions, FETCH_DEBOUNCE_INTERVAL), [\n getSuggestions\n ]);\n\n const displayedSuggestions = useMemo(() => suggestions.slice(0, pageNumber * max), [suggestions, pageNumber, max]);\n const showMoreButton = suggestions.length > displayedSuggestions.length;\n\n const [hasHighlightedItem, setHasHighlightedItem] = useState(false);\n const onInputChange = ({newValue, method}) => {\n switch (method) {\n case 'type': {\n if (multiple) {\n setCurrentValue(newValue);\n }\n break;\n }\n case 'escape': {\n if (multiple) {\n setCurrentValue(newValue);\n } else {\n onChange(newValue);\n }\n break;\n }\n case 'click':\n case 'enter': {\n if (multiple) {\n setCurrentValue('');\n if (newValue) {\n onChange(uniq([...value, newValue]));\n }\n } else {\n onChange(newValue);\n }\n break;\n }\n }\n };\n\n return (\n <Autosuggest\n suggestions={displayedSuggestions}\n shouldRenderSuggestions={T}\n inputProps={{\n value: inputValue,\n onChange: pipe(nthArg(1), onInputChange),\n onKeyDown: (event) => {\n if (event.keyCode === 13 && multiple && !hasHighlightedItem) {\n onInputChange({method: 'enter', newValue: currentValue});\n }\n },\n fullWidth,\n ...inputProps,\n autoComplete: 'nope'\n }}\n getSuggestionValue={identity}\n onSuggestionsFetchRequested={ifElse(\n propEq('reason', 'input-changed'),\n debouncedFetchSuggestions,\n fetchSuggestions\n )}\n onSuggestionsClearRequested={pipe(\n always([]),\n setSuggestions,\n F,\n setPlaceholderVisibility,\n always(1),\n setPageNumber\n )}\n renderInputComponent={({ref, onChange: onInputChange, ...otherProps}) => {\n const commonClasses = {\n underline: classnames({[styles['input__underline']]: isEmptyValue(value)}),\n input: classnames(styles['rawInput'], path(['classes', 'input'], InputProps))\n };\n return multiple ? (\n <TextField\n {...otherProps}\n ref={inputRef}\n inputRef={ref}\n InputProps={{\n ...InputProps,\n startAdornment: value.map((item, index) => (\n <ValueChip key={item} label={item} onDelete={() => onChange(remove(index, 1, value))} />\n )),\n inputComponent: AutosizeInput,\n classes: {\n root: classnames(\n styles['multiple-input__input'],\n path(['classes', 'root'], InputProps)\n ),\n ...commonClasses,\n input: classnames(styles.autosizeInput, commonClasses.input),\n adornedStart: styles['multiple-input__adornedStart']\n }\n }}\n value={currentValue}\n onChange={onInputChange}\n classes={{root: styles['multiple-input__root']}}\n />\n ) : (\n <TextField\n {...otherProps}\n ref={inputRef}\n inputRef={ref}\n value={value}\n onChange={pipe(tap(onInputChange), getValue, onChange)}\n InputProps={{\n ...InputProps,\n classes: {\n root: classnames(styles['input__root'], path(['classes', 'root'], InputProps)),\n ...commonClasses\n }\n }}\n />\n );\n }}\n renderSuggestionsContainer={({children, containerProps: {ref, ...restContainerProps}}) => (\n <Popper anchorEl={inputRef.current} open={Boolean(children) || isPlaceholderVisible}>\n <Paper\n ref={ref}\n square={true}\n {...restContainerProps}\n style={{width: prop('clientWidth', inputRef.current)}}\n >\n {children || <NoResults className={styles['typeahead__suggestions-placeholder']} />}\n {showMoreButton && !isPlaceholderVisible && (\n <LoadMoreButton\n onClick={onLoadMoreSuggestions}\n onMouseDown={onMouseDown}\n loading={nextPageIsLoading}\n />\n )}\n </Paper>\n </Popper>\n )}\n renderSuggestion={(suggestion, {isHighlighted}) => (\n <MenuItem\n className={styles['typeahead__suggestions-menuItem']}\n selected={isHighlighted}\n component=\"div\"\n >\n <ExpandedValueTooltip value={suggestion}>\n <div className={styles['menuItem--item']}>{suggestion}</div>\n </ExpandedValueTooltip>\n </MenuItem>\n )}\n theme={{\n container: fullWidth ? styles['typeahead__suggestions-container'] : '',\n suggestionsList: styles['typeahead__suggestions-list'],\n suggestionsContainerOpen: styles['typeahead__suggestions-container--open']\n }}\n onSuggestionHighlighted={pipe(prop('suggestion'), Boolean, setHasHighlightedItem)}\n />\n );\n};\n\nTypeaheadEditor.propTypes = {\n multiple: PropTypes.bool,\n fullWidth: PropTypes.bool,\n placeholder: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func.isRequired,\n getSuggestions: PropTypes.func.isRequired,\n InputProps: PropTypes.object,\n max: PropTypes.number\n};\n\nexport default TypeaheadEditor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {prop} from 'ramda';\nimport ValueChip from '../../../ValueChip/ValueChip';\nimport CancelIcon from '@material-ui/icons/Cancel';\n\nconst MultiValueChip = (props) => {\n const {children, data, removeProps} = props;\n\n return (\n <ValueChip\n tabIndex={-1}\n label={children}\n count={prop('formattedNumber', data)}\n onDelete={removeProps.onClick}\n deleteIcon={<CancelIcon {...props.removeProps} />}\n />\n );\n};\n\nMultiValueChip.propTypes = {\n children: PropTypes.node,\n data: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n number: PropTypes.number\n }).isRequired,\n removeProps: PropTypes.shape({\n onClick: PropTypes.func.isRequired,\n onMouseDown: PropTypes.func.isRequired,\n onTouchEnd: PropTypes.func.isRequired\n }).isRequired\n};\n\nexport default MultiValueChip;\n","import PropTypes from 'prop-types';\nimport {AttributeTypeType, FilterValueType, SortOrderType} from '@reltio/mdm-sdk';\n\nconst NumberFormatType = PropTypes.shape({\n prefix: PropTypes.string,\n suffix: PropTypes.string,\n thousandSeparator: PropTypes.string,\n decimalSeparator: PropTypes.string\n});\n\nconst SelectValueType = PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]);\n\nconst DropDownEntryType = PropTypes.shape({\n value: SelectValueType.isRequired,\n label: PropTypes.string\n});\n\nconst DropDownGroupEntryType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n values: PropTypes.arrayOf(PropTypes.object).isRequired\n});\n\nconst ColumnDataType = PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object,\n resizable: PropTypes.bool,\n sortable: PropTypes.bool,\n filterable: PropTypes.bool,\n headCellRenderer: PropTypes.func,\n rowCellValueRenderer: PropTypes.func,\n nestedPath: PropTypes.arrayOf(PropTypes.string)\n});\n\nconst SortingType = PropTypes.shape({\n field: PropTypes.string,\n order: SortOrderType\n});\n\nconst ColumnFilterType = PropTypes.shape({\n value: PropTypes.oneOfType([FilterValueType, PropTypes.arrayOf(FilterValueType)]),\n filter: PropTypes.string\n});\n\nconst PlainColumnsDataType = PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n dataTypeDefinition: PropTypes.object\n })\n);\n\nconst GroupedColumnsDataType = PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n columns: PlainColumnsDataType\n })\n);\n\nconst ColumnsDataType = PropTypes.oneOfType([PlainColumnsDataType, GroupedColumnsDataType]);\n\nconst QueryBuilderAttributeDataType = PropTypes.shape({\n title: PropTypes.string,\n pathToTitle: PropTypes.arrayOf(PropTypes.string),\n fieldName: PropTypes.string,\n entityTypeUri: PropTypes.string,\n attrType: AttributeTypeType,\n uri: PropTypes.string,\n groupName: PropTypes.string\n});\n\nconst QueryBuilderAttributeType = PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n values: PropTypes.array,\n data: QueryBuilderAttributeDataType,\n filter: PropTypes.string,\n operator: PropTypes.string\n});\n\nexport {\n NumberFormatType,\n SelectValueType,\n DropDownEntryType,\n DropDownGroupEntryType,\n ColumnDataType,\n SortingType,\n ColumnFilterType,\n ColumnsDataType,\n GroupedColumnsDataType,\n QueryBuilderAttributeDataType,\n QueryBuilderAttributeType\n};\n","import React from 'react';\n\nexport const SearchValueContext = React.createContext<string>('');\n\nSearchValueContext.displayName = 'SearchValueContext';\n","import {useEffect, useRef} from 'react';\n\nexport const usePrevious = (value) => {\n const valueHolderRef = useRef();\n useEffect(() => {\n valueHolderRef.current = value;\n }, [value]);\n return valueHolderRef.current;\n};\n"],"names":["withContext","Context","contextSelector","Component","PureComponent","memo","displayName","name","props","Consumer","contextState","DataTypeValue","value","dataTypeDefinition","rich","attributePresentations","useSelector","mdm","localeDateFormat","moment","longDateFormat","localeTimeFormat","dateMask","dateTimeMask","formattedValue","formatDataTypeValue","isAttributeValueLink","Link","target","href","addProtocolToLink","underline","text","propTypes","PropTypes","NoResults","message","i18n","useStyles","makeStyles","highlight","fontWeight","className","multiTerm","styles","REG_SPACES","RegExp","getMultiTerms","pipe","trim","split","map","toLower","sort","ascend","reverse","highlightedValues","regValues","item","replace","parts","join","part","i","includes","toLocaleLowerCase","key","inputRoot","flexWrap","autosizeInput","width","marginLeft","overflow","background","border","fontSize","outline","padding","color","AutosizeInputWrapper","CustomInputComponent","customInput","AutosizeInput","EMPTY_VALUES_EDIT_HINT","isEmptyValue","isEmpty","MultipleInput","values","InputProps","inputProps","classes","onChange","noop","getValueLabel","identity","otherProps","root","InputClasses","inputValue","setInputValue","useState","removeValueAt","index","remove","hasValues","length","appendInputValueIfNotEmpty","uniq","isFocused","setIsFocused","hintText","Tooltip","title","TextField","getValue","startAdornment","ValueChip","label","onDelete","inputComponent","classnames","input","onKeyPress","when","propEq","onKeyDown","onFocus","onBlur","multiSelect","minHeight","chips","display","MultipliableSelect","multiple","children","getValuePlaceholder","fullWidth","TextFieldProps","MenuProps","select","defaultTo","SelectProps","getContentAnchorEl","anchorOrigin","vertical","horizontal","prop","renderValue","selected","onMouseDown","event","stopPropagation","SelectValueType","highlightedText","keywordValue","useContext","SearchValueContext","Highlighter","useChipStyles","height","backgroundColor","maxWidth","margin","deleteIcon","marginRight","theme","container","alignItems","textOverflow","whiteSpace","count","palette","secondary","letterSpacing","lineHeight","classesProp","otherProp","Chip","mergeClasses","ExpandedValueTooltip","loadMoreContainer","moreButton","buttonLabel","loadingSpinner","alignSelf","loading","onClick","CircularProgress","size","Button","selectProps","menuListFooter","checkIcon","transform","position","OptionWithCheckIcon","isSelected","Option","Check","BooleanEditor","Checkbox","checked","getChecked","checkbox_primary","divider","BooleanRadioEditor","FormControlLabel","control","isNil","not","isGroupEntry","has","flattenEntry","curry","depth","entry","isGroup","chain","flattenGroupedEntries","findEntryByValue","entries","_value","find","emptyLabel","GroupedDropDownEditor","flattenedEntries","selectedValues","wrapInArrayIfNeeded","selectStyles","useSelectStyles","disableAutoFocusItem","icon","MenuItem","disabled","style","paddingLeft","toString","DropDownEntryType","DropDownGroupEntryType","isRequired","splitOnce","separator","string","first","other","getLookupByUri","useWith","path","byLabel","LookupEditor","lookupCode","lookupTypeCode","lookups","getLookups","codeToLookup","useEffect","getLookupPath","uri","parent","concat","buildEntry","lookup","code","getLookupLabel","buildEntries","Object","hierarchy","reduce","acc","assocPath","buildLookupEntries","commonProps","pluck","always","LookupValueType","SimpleLookupType","getOptionLabel","buildLookupOptions","lookupA","lookupB","labelALower","toLowerCase","labelBLower","utils","option","dropdownIndicator","cursor","clearIndicator","placeholder","isUnresolvedLookup","lookupValue","isResolvedLookupCode","resolvedValues","hasPath","touchedEditorsMap","SelectComponents","IndicatorSeparator","EmptyStub","LoadingIndicator","DropdownIndicator","Menu","MenuWithPopper","MenuList","MultiValue","MultiValueChip","MAX_DEPENDENT_LOOKUP_VALUES","DependentLookupEditor","parents","resolveLookups","autopopulationId","max","inputRef","useRef","selectRef","onLookupsResolve","requestedCodes","setRequestedCodes","resolvedCodes","codesToResolve","filter","partition","resolvedLookups","unrequestedCodes","useLookupsResolver","codeValues","needFocusRef","current","document","activeElement","getElementsByTagName","handler","focus","addEventListener","removeEventListener","useSavingFocus","options","setOptions","pageNumber","setPageNumber","optionsAreLoading","setOptionsAreLoading","loadOptions","useCallback","Promise","resolve","type","displayNamePrefix","offset","then","buildOptions","catch","finally","loadMoreOptions","slice","page","debouncedLoadOptions","debounce","callback","defaultOptions","initialDefaultOptions","isLoading","isLoadingDefaultOptions","setDefaultOptions","setInitialDefaultOptions","setIsLoading","safePromise","useSafePromise","prevValue","useDefaultOptions","useDidUpdateEffect","displayedOptions","useMemo","showMoreButton","markAsTouched","id","isTouchedEditor","addTouchedEditor","useAutopopulation","Select","isMulti","menuPortalTarget","body","menuPlacement","ref","innerRef","menuPortal","base","zIndex","noOptionsMessage","components","isClearable","isSearchable","onInputChange","loadingMessage","hideSelectedOptions","isDisabled","getOptionValue","either","LoadMoreButton","variant","hiddenLabel","SelectEditor","DropDownEditor","DataTypeValueEditor","fieldName","inputStyles","useInputStyles","editorContext","tenant","globalSearchRequestOptions","dispatch","useDispatch","typeaheadGetSuggestion","searchValue","pageNo","getFacetedAttributeData","response","keys","dependentLookupCode","DataTypes","profile","getDependentLookups","propOr","lookupsList","codeValue","resolveLookupsList","Array","isArray","lookupData","getSuggestions","format","useEditorContext","mergeDeepLeft","commonTextFieldProps","marginDense","disableUnderline","is","TextEditor","rowsMax","multiline","NumberEditor","integer","booleanRadioEditorClassName","DateEditor","TimestampEditor","TypeaheadEditor","FileTypeEditor","build","menuItem","otherClasses","fileUploaderInput","uploaded","cancelIcon","showFileUploadError","error","console","ErrorPopup","getRequestErrorMessage","UploadMode","supportedFileTypes","onUpload","onBeforeUpload","fileUploader","supportedFileTypesString","Fragment","click","uploadedFiles","files","dataTransfer","preventDefault","accept","UploadFileButton","link","filename","onError","onCancel","isValidLink","mode","setMode","setName","onErrorHandler","onUploadHandler","result","switchToInitMode","getLabel","Typography","Cancel","onTouchEnd","editor","downloadLink","expirationDate","Date","now","file","uploadFileForSearch","getTime","onCancelHandler","NumberFormatCustom","getInputRef","isNumericString","onValueChange","decimalScale","undefined","NumberFormatType","formatNumber","SimpleInput","currentValue","setCurrentValue","applyCurrentValueChange","textAlign","maxHeight","overflowY","listStyleType","input__root","paddingTop","paddingBottom","rawInput","flex","input__underline","PAGE_SIZE","suggestions","setSuggestions","isPlaceholderVisible","setPlaceholderVisibility","nextPageIsLoading","setNextPageIsLoading","pageSizeForRequest","fetchSuggestions","andThen","tap","both","querySelector","onLoadMoreSuggestions","debouncedFetchSuggestions","displayedSuggestions","hasHighlightedItem","setHasHighlightedItem","newValue","method","shouldRenderSuggestions","T","nthArg","keyCode","autoComplete","getSuggestionValue","onSuggestionsFetchRequested","ifElse","onSuggestionsClearRequested","F","renderInputComponent","commonClasses","adornedStart","renderSuggestionsContainer","containerProps","restContainerProps","Popper","anchorEl","open","Boolean","Paper","square","renderSuggestion","suggestion","isHighlighted","component","suggestionsList","suggestionsContainerOpen","onSuggestionHighlighted","data","removeProps","tabIndex","number","prefix","suffix","thousandSeparator","decimalSeparator","ColumnDataType","resizable","sortable","filterable","headCellRenderer","rowCellValueRenderer","nestedPath","SortingType","field","order","SortOrderType","ColumnFilterType","FilterValueType","PlainColumnsDataType","GroupedColumnsDataType","columns","ColumnsDataType","QueryBuilderAttributeDataType","pathToTitle","entityTypeUri","attrType","AttributeTypeType","groupName","QueryBuilderAttributeType","operator","React","usePrevious","valueHolderRef"],"sourceRoot":""}
|