@next-bricks/ai-portal 0.58.6 → 0.58.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/bricks.json +45 -45
  2. package/dist/chunks/1488.171d8f4f.js +2 -0
  3. package/dist/chunks/1488.171d8f4f.js.map +1 -0
  4. package/dist/chunks/151.98b4630f.js +2 -0
  5. package/dist/chunks/151.98b4630f.js.map +1 -0
  6. package/dist/chunks/2232.fb0bce86.js +2 -0
  7. package/dist/chunks/2232.fb0bce86.js.map +1 -0
  8. package/dist/chunks/2324.17662f31.js +2 -0
  9. package/dist/chunks/2324.17662f31.js.map +1 -0
  10. package/dist/chunks/{chat-box.041da849.js → chat-box.6eab985e.js} +2 -2
  11. package/dist/chunks/chat-box.6eab985e.js.map +1 -0
  12. package/dist/chunks/chat-input.fce2d021.js +2 -0
  13. package/dist/chunks/chat-input.fce2d021.js.map +1 -0
  14. package/dist/chunks/chat-stream.541a3565.js +2 -0
  15. package/dist/chunks/chat-stream.541a3565.js.map +1 -0
  16. package/dist/chunks/{main.d38cd700.js → main.15818e0c.js} +2 -2
  17. package/dist/chunks/{main.d38cd700.js.map → main.15818e0c.js.map} +1 -1
  18. package/dist/chunks/notice-dropdown.4d0fa5c5.js +2 -0
  19. package/dist/chunks/notice-dropdown.4d0fa5c5.js.map +1 -0
  20. package/dist/examples.json +23 -23
  21. package/dist/{index.95f2837d.js → index.c4df1948.js} +2 -2
  22. package/dist/{index.95f2837d.js.map → index.c4df1948.js.map} +1 -1
  23. package/dist/manifest.json +351 -340
  24. package/dist/types.json +1506 -1321
  25. package/dist-types/chat-stream/ChatStream.d.ts +3 -1
  26. package/dist-types/cruise-canvas/FileList/FileList.d.ts +2 -1
  27. package/dist-types/notice-dropdown/index.d.ts +5 -0
  28. package/dist-types/shared/FileUpload/GlobalDragOverlay.d.ts +3 -3
  29. package/dist-types/shared/FileUpload/i18n.d.ts +6 -1
  30. package/dist-types/shared/FileUpload/validateFiles.d.ts +2 -0
  31. package/dist-types/shared/bricks.d.ts +2 -1
  32. package/dist-types/shared/interfaces.d.ts +4 -0
  33. package/package.json +2 -2
  34. package/dist/chunks/1488.8388b745.js +0 -2
  35. package/dist/chunks/1488.8388b745.js.map +0 -1
  36. package/dist/chunks/151.21608da8.js +0 -2
  37. package/dist/chunks/151.21608da8.js.map +0 -1
  38. package/dist/chunks/2232.c2811097.js +0 -2
  39. package/dist/chunks/2232.c2811097.js.map +0 -1
  40. package/dist/chunks/2324.c7c2427a.js +0 -2
  41. package/dist/chunks/2324.c7c2427a.js.map +0 -1
  42. package/dist/chunks/chat-box.041da849.js.map +0 -1
  43. package/dist/chunks/chat-input.2c5e645b.js +0 -2
  44. package/dist/chunks/chat-input.2c5e645b.js.map +0 -1
  45. package/dist/chunks/chat-stream.da44fc66.js +0 -2
  46. package/dist/chunks/chat-stream.da44fc66.js.map +0 -1
  47. package/dist/chunks/notice-dropdown.6262ed81.js +0 -2
  48. package/dist/chunks/notice-dropdown.6262ed81.js.map +0 -1
  49. package/dist-types/shared/FileUpload/acceptFiles.d.ts +0 -1
  50. /package/dist-types/shared/FileUpload/{acceptFiles.spec.d.ts → validateFiles.spec.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/2324.c7c2427a.js","mappings":"qLAEO,IAAKA,EAAC,SAADA,GAAC,OAADA,EAAC,4BAADA,EAAC,sBAADA,EAAC,8BAADA,EAAC,kCAADA,CAAC,MAOb,MAcaC,EAAK,8BAILC,EAAIC,EAAAA,KAAKC,UAAU,KAAMH,IAMtCI,EAAAA,EAAAA,gBAAeJ,EARQ,CAAEK,GAhBN,CACjBC,aAAc,eACdC,UAAW,eACXC,cAAe,gBACfC,gBAAiB,mBAYUC,GATV,CACjBJ,aAAc,OACdC,UAAW,SACXC,cAAe,OACfC,gBAAiB,Y,oQCTfE,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IACxBF,EAAQG,OAAS,SAAc,KAAM,QACrCH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQM,OAAS,IAAQA,YAASC,E,eCTpD,SAASC,EAAiBC,GAKd,IALe,SACxCC,EAAQ,OACRC,EAAM,SACNC,EAAQ,eACRC,GACuBJ,EACvB,MAAOK,EAAYC,IAAiBC,EAAAA,EAAAA,WAAS,GACvCC,GAAiBC,EAAAA,EAAAA,QAAO,GA+E9B,OA7EAC,EAAAA,EAAAA,YAAU,KACR,GAAIT,EAGF,OAFAO,EAAeG,QAAU,OACzBL,GAAc,GAIhB,MAAMM,EAAmBC,IAAiB,IAAAC,EACxCD,EAAEE,iBACFF,EAAEG,kBAEF,IAAK,MAAMC,KAAUJ,EAAEK,eACrB,GACED,aAAkBE,cACE,cAAnBF,EAAOG,SAA8C,aAAnBH,EAAOG,SAE1C,OAKaC,MAAMC,MAAmB,QAAdR,EAAAD,EAAEU,oBAAY,IAAAT,OAAA,EAAdA,EAAgBU,QAAS,IAAIC,MACtDC,GAAuB,SAAdA,EAAKC,SAIjBnB,EAAeG,UACfL,GAAc,GAAK,EAGfsB,EAAmBf,IACvBA,EAAEE,iBACFF,EAAEG,kBACER,EAAeG,QAAU,GAC3BH,EAAeG,UAEc,IAA3BH,EAAeG,SAAeL,GAAc,EAAM,EAGlDuB,EAAkBhB,IACtBA,EAAEE,iBACFF,EAAEG,iBAAiB,EAGfc,EAAcjB,IAClBA,EAAEE,iBACFF,EAAEG,kBAEFR,EAAeG,QAAU,EACzBL,GAAc,GAEd,MAAMyB,EAAQV,MAAMC,KAAKT,EAAEU,aAAcQ,OACzC,GAAIA,EAAMC,OAAS,EAAG,CACpB,GAAI9B,KACuB+B,EAAAA,EAAAA,GAAY/B,EAAQ6B,GAG3C,YADAG,EAAAA,EAAAA,iBAAgB/B,GAIpBC,SAAAA,EAAiB2B,EACnB,GAQF,OALAI,OAAOC,iBAAiB,YAAaxB,GACrCuB,OAAOC,iBAAiB,YAAaR,GACrCO,OAAOC,iBAAiB,WAAYP,GACpCM,OAAOC,iBAAiB,OAAQN,GAEzB,KACLK,OAAOE,oBAAoB,YAAazB,GACxCuB,OAAOE,oBAAoB,YAAaT,GACxCO,OAAOE,oBAAoB,WAAYR,GACvCM,OAAOE,oBAAoB,OAAQP,EAAW,CAC/C,GACA,CAAC5B,EAAQD,EAAUE,EAAUC,IAE3BC,GAIEiC,EAAAA,EAAAA,cACLC,IAAAA,cAAA,OAAKC,UAAWC,EAAOC,SACrBH,IAAAA,cAAA,OAAKI,IAAKC,EAAWC,MAAM,KAAKC,OAAO,OACvCP,IAAAA,cAAA,OAAKC,UAAWC,EAAOM,QAAQlE,EAAAA,EAAAA,GAAEF,EAAAA,EAAEU,kBACnCkD,IAAAA,cAAA,OAAKC,UAAWC,EAAOO,aAAc7C,IAEvC8C,SAASC,MATF,IAWX,C,sEC9GIC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,ibAAkb,KAE3dH,EAAwBtD,OAAS,CAChC,QAAW,oBACX,MAAS,kBACT,YAAe,yBAEhB,S,2HCEA,MAAM0D,GAAcC,EAAAA,EAAAA,WAAyC,WAUtD,SAASC,EAAazD,GAMN,IANO,MAC5B+B,EAAK,SACL2B,EAAQ,UACRlB,EAAS,SACTmB,EAAQ,MACRC,GACmB5D,EACnB,MAAM6D,EAAc9B,EAAM+B,OAAOC,GAC/BA,EAAKA,KAAKC,KAAKC,WAAW,YAG5B,OACE1B,IAAAA,cAAA,MACEC,UAAW0B,IAAW,QAAS1B,GAC/B2B,QAAUtD,IACRA,EAAEG,iBAAiB,GAGpBe,EAAMqC,KAAKL,GACVxB,IAAAA,cAAC8B,GAAaC,EAAAA,EAAAA,GAAA,GACRP,EAAI,CACRQ,IAAKR,EAAKS,IACVX,YAAaA,EACbF,SAAUA,QAGZD,GAAY3B,EAAMC,OAAS0B,EAC3BnB,IAAAA,cAAA,UACEA,IAAAA,cAAA,UAAQC,UAAU,eAAe2B,QAASP,GACxCrB,IAAAA,cAACgB,EAAW,CAACkB,IAAI,OAAOC,KAAK,WAG/B,KAGV,CAOA,SAASL,EAAaM,GAOC,IAPA,IACrBH,EAAG,KACHT,EAAI,OACJa,EAAM,gBACNC,EAAe,YACfhB,EAAW,SACXF,GACmBgB,EACnB,MAAOX,EAAMU,IAAQI,EAAAA,EAAAA,IAAmBf,EAAKC,KAAMD,EAAKgB,MAClDC,GAAOC,EAAAA,EAAAA,IAAelB,EAAKiB,MAC3BE,EAAUnB,EAAKC,KAAKC,WAAW,WAC9BkB,EAAOC,IAAY7E,EAAAA,EAAAA,aAE1BG,EAAAA,EAAAA,YAAU,KACR,GAAIwE,EAAS,CACX,MAAMG,EAAMC,IAAIC,gBAAgBxB,GAEhC,OADAqB,EAASC,GACF,KACLC,IAAIE,gBAAgBH,EAAI,CAE5B,CACED,OAAStF,EACX,GACC,CAACiE,EAAMmB,IAEV,MAAMO,EACJlD,IAAAA,cAAA,UACEC,UAAU,cACV2B,QAASA,KACPR,EAASa,EAAKK,EAAgB,GAGhCtC,IAAAA,cAACgB,EAAW,CAACkB,IAAI,OAAOiB,MAAM,SAAShB,KAAK,kBAIhD,OAAIb,EAEAtB,IAAAA,cAAA,MACEC,UAAW0B,IAAW,gBAAiB,CAAEyB,OAAmB,WAAXf,KAEjDrC,IAAAA,cAAA,OAAKC,UAAU,aAAaG,IAAKwC,IACrB,cAAXP,GACCrC,IAAAA,cAAA,OAAKC,UAAU,gBACbD,IAAAA,cAACgB,EAAW,CAACkB,IAAI,OAAOC,KAAK,qBAAqBkB,UAAQ,KAGlD,WAAXhB,GACCrC,IAAAA,cAAA,OAAKC,UAAU,iBAAgB3D,EAAAA,EAAAA,GAAEF,EAAAA,EAAES,gBAEpCqG,GAMLlD,IAAAA,cAAA,MACEC,UAAW0B,IAAW,OAAQ,CAC5ByB,OAAmB,WAAXf,EACRiB,UAAsB,cAAXjB,KAGZM,EACC3C,IAAAA,cAAA,OAAKC,UAAU,aAAaG,IAAKwC,IAEjC5C,IAAAA,cAAA,OAAKC,UAAU,YAAYG,IAAK+B,EAAM7B,MAAO,GAAIC,OAAQ,KAE3DP,IAAAA,cAAA,OAAKC,UAAU,gBACbD,IAAAA,cAAA,OAAKC,UAAU,aAAauB,EAAKgB,MACjCxC,IAAAA,cAAA,OAAKC,UAAU,iBACbD,IAAAA,cAAA,QAAMC,UAAU,eACb,GAAc,cAAXoC,GAAyB/F,EAAAA,EAAAA,GAAEF,EAAAA,EAAEQ,WAAwB,WAAXyF,GAAsB/F,EAAAA,EAAAA,GAAEF,EAAAA,EAAES,eAAiB4E,KAE1F,MAAMgB,MAGVS,EAGP,C,mFCzIA,IAAIjB,EAAM,EAMH,SAASsB,EAAkBvG,GAChC,MAAMwG,EAAUxG,aAAO,EAAPA,EAASwG,QACnB7F,EAASX,aAAO,EAAPA,EAASW,OAClBwD,EAAWnE,aAAO,EAAPA,EAASmE,SACpBvD,EAAWZ,aAAO,EAAPA,EAASY,UACnB4B,EAAOiE,IAAYzF,EAAAA,EAAAA,YACpB0F,IAAalE,GAASA,EAAMC,OAAS,GAE3CtB,EAAAA,EAAAA,YAAU,KACRqB,SAAAA,EAAOmE,SAAQC,UACb,GAAwB,UAApBC,EAASxB,OAAoB,CAC/B,MAAMC,EAAkB,IAAIwB,gBAE5BL,GAAUM,GACDA,aAAS,EAATA,EAAWlC,KAAK1C,GACjBA,EAAK8C,MAAQ4B,EAAS5B,IACjB,IAAK9C,EAAMkD,OAAQ,YAAaC,mBAElCnD,MAIX,IACE,MAAM6E,EAAW,IAAIC,SACrBD,EAASE,OAAO,OAAQL,EAASrC,MAEjC,MAAM2C,QAAiBC,EAAAA,KAAKC,QAC1B,gEACA,CACEC,OAAQ,OACR3D,KAAMqD,EACNO,OAAQjC,EAAgBiC,SAI5Bd,GAAUM,GACDA,aAAS,EAATA,EAAWlC,KAAK1C,GACjBA,EAAK8C,MAAQ4B,EAAS5B,IACjB,IACF9C,EACHkD,OAAQ,OACRmC,SAAUL,EAASM,MAGhBtF,KAGb,CAAE,MAAOuF,GACPjB,GAAUM,GACDA,aAAS,EAATA,EAAWlC,KAAK1C,GACjBA,EAAK8C,MAAQ4B,EAAS5B,IACjB,IAAK9C,EAAMkD,OAAQ,UAErBlD,OAGXQ,EAAAA,EAAAA,iBAAgB+E,EAClB,CACF,IACA,GACD,CAAClF,IAEJ,MAAOmF,EAAcC,IAAmB5G,EAAAA,EAAAA,WAAS,IAC1C6G,EAAWC,IAAgB9G,EAAAA,EAAAA,YAC5B+G,GAAa7G,EAAAA,EAAAA,SAAO,IAE1BC,EAAAA,EAAAA,YAAU,KACR,MAAMwG,GACHnF,GAASA,EAAM+B,OAAOC,GAAyB,SAAhBA,EAAKa,SACvCuC,EAAgBD,GACZI,EAAW3G,QACb2G,EAAW3G,SAAU,EAGnBuG,GACFG,EAAatF,aAAK,EAALA,EAAOqC,KAAKL,GAASA,EAAKgD,WACzC,GACC,CAAChF,IAEJ,MAAMwF,GAAcC,EAAAA,EAAAA,cACjBC,IACCzB,GAAU0B,IACR,MAAMC,EAAO,IACPD,QAAAA,EAAQ,MACTD,EAASrD,KAAeL,IAAI,CAC7BS,IAxFHA,IAyFGT,OACAa,OAAQ,aAGZ,OAAIlB,GAAYiE,EAAK3F,OAAS0B,EACrBiE,EAAKC,MAAM,EAAGlE,GAEhBiE,CAAI,GACX,GAEJ,CAACjE,IAGGmE,GAAaL,EAAAA,EAAAA,cAAY,KAC7BxB,OAASlG,EAAU,GAClB,IAEGgI,GAAaN,EAAAA,EAAAA,cAAahD,IAC9BwB,GAAU0B,GAASA,aAAI,EAAJA,EAAMK,QAAQhE,GAASA,EAAKS,MAAQA,KAAK,GAC3D,IAEGwD,IAAatE,KAAc3B,GAASA,EAAMC,QAAU0B,EAEpDuE,GAAQT,EAAAA,EAAAA,cACX3G,IACC,IAAKkF,EACH,OAEF,MAAMmC,EAAWrH,EAAEsH,cAAcpG,MACjC,GAAImG,EAASlG,OAAS,GAAK+D,EAAS,CAClClF,EAAEE,iBACFF,EAAEG,kBACF,MAAMe,EAAQ,IAAImG,GAClB,GAAIhI,KACuB+B,EAAAA,EAAAA,GAAY/B,EAAQ6B,GAG3C,YADAG,EAAAA,EAAAA,iBAAgB/B,GAIpBoH,EAAYxF,EACd,IAEF,CAACgE,EAAS7F,EAAQC,EAAUoH,IAG9B,MAAO,CACLxF,QACA8F,aACAN,cACAO,aACA7B,WACAiB,eACAE,YACAY,WACAC,QAEJ,C,sEC1JI9E,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,k2DACmpC,KAE5rC,QAAeH,EAAwBiF,U,iFCFvC,MAAMC,GAAoB7E,EAAAA,EAAAA,WACxB,yBAGI8E,EAAgC,CACpC7D,IAAK,SACLC,KAAM,aAaK6D,GAAeC,EAAAA,EAAAA,YAAWC,GAEvC,SAASA,EAAkBzI,EAEzB0I,GACA,IAFA,OAAExI,EAAM,SAAED,EAAQ,SAAE0I,GAA6B3I,EAGjD,MAAM4I,GAAWnI,EAAAA,EAAAA,QAAyB,MAgB1C,OANAoI,EAAAA,EAAAA,qBAAoBH,GAAK,KAAM,CAC7BI,cAAeA,KAAM,IAAAC,EACH,QAAhBA,EAAAH,EAASjI,eAAO,IAAAoI,GAAhBA,EAAkBC,OAAO,MAK3BzG,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,SACEyB,KAAK,OACL9D,OAAQA,EACR+I,UAAQ,EACRC,QAAM,EACNR,IAAKE,EACLD,SAtBqB9H,IACzB,MAAMkB,EAAQlB,EAAEI,OAAOc,MACnBA,IACF4G,SAAAA,EAAWtH,MAAMC,KAAKS,KAExBlB,EAAEI,OAAOkI,MAAQ,EAAE,EAkBfhF,QAAUtD,IACRA,EAAEG,iBAAiB,IAGvBuB,IAAAA,cAAC8F,EAAiB,CAChBe,QAAQ,QACR5G,UAAU,aACVkC,KAAM4D,EACNe,SAASxK,EAAAA,EAAAA,GAAEF,EAAAA,EAAEO,cACbe,SAAUA,EACVkE,QAAUtD,IAAM,IAAAyI,EACdzI,EAAEG,kBACc,QAAhBsI,EAAAV,EAASjI,eAAO,IAAA2I,GAAhBA,EAAkBN,OAAO,IAKnC,C,kBCzEO,SAAS/G,EAAY/B,EAAgB6B,GAC1C,MAAMwH,EAAgBrJ,EAAOsJ,MAAM,KAAKpF,KAAKJ,GAASA,EAAKyF,SAiB3D,OAhByB1H,EAAM+B,OAAOC,IACpC,MAAM2F,EAAW3F,EAAKC,KACtB,OAAOuF,EAAc9H,MAAMuC,IACzB,GAAa,QAATA,GAA2B,MAATA,EACpB,OAAO,EAET,GAAIA,EAAKC,WAAW,KAClB,OAAOF,EAAKgB,KAAK4E,cAAcC,SAAS5F,EAAK2F,eAE/C,GAAI3F,EAAK4F,SAAS,MAAO,CACvB,MAAMC,EAAW7F,EAAKwF,MAAM,KAAK,GACjC,OAAOE,EAASzF,WAAW,GAAG4F,KAChC,CACA,OAAOH,IAAa1F,CAAI,GACxB,GAGN,C,mDCnBA,MAAM8F,EAAe,oSAafC,EAAe,CACnB,iBACA,cACA,cACA,iBACA,cACA,cACA,YACA,eACA,iBACA,iBACA,QACA,cACA,eACA,gBACA,eACA,aACA,aACA,eAMK,SAASC,EAAiBC,GAC/B,MAAMC,EAAkB/H,OAAOgI,iBAAiBF,GAIhD,MAAO,GAHaF,EAAa3F,KAC9BW,GAAS,GAAGA,KAAQmF,EAAgBE,iBAAiBrF,OACtDsF,KAAK,QACkBP,GAC3B,C,8FCvCA,IAAIQ,ECSJ,MAAMC,EAAS,uBAAuBC,KAAKC,UAAUC,UACjD,UACA,UAiCSC,EAAqBpI,EAAAA,WAGhCqI,GAEF,SAASA,EAAwB5K,EAmB/B0I,GACmB,IAlBjBmC,WAAYC,EAAW,QACvBC,EAAO,QACPC,EAAO,WACPC,EAAU,YACVC,EAAW,aACXC,EACAhC,MAAOiC,EAAS,MAChBC,EAAK,WACLC,EAAU,oBACVC,EAAmB,SACnB5C,EAAQ,SACR6C,EAAQ,UACRC,EAAS,mBACTC,EAAkB,iBAClBC,KACGC,GACqB5L,EAG1B,MAAM6K,EAAaC,SAAAA,GACZ3B,EAAO0C,IAAYtL,EAAAA,EAAAA,UAAS6K,QAAAA,EAAa,IAC1CU,GAAcrL,EAAAA,EAAAA,QAA4B,OACzCsL,EAAWC,IAAgBzL,EAAAA,EAAAA,UAAqC,OAEvEsI,EAAAA,EAAAA,qBACEH,GACA,KAAM,CACJuD,MAAOA,KACL,MAAMC,EAAWJ,EAAYnL,QAE7B,GAAIuL,EAAU,KAAAC,EACZ,MAAMC,EAA4B,QAAjBD,EAAGD,EAAS/C,aAAK,IAAAgD,OAAA,EAAdA,EAAgBnK,OACpCkK,EAASD,QACTG,GAAeF,EAASG,kBAAkBD,EAAaA,EACzD,GAEFnC,QAAS6B,EAAYnL,WAEvB,IAGF,MAAM2L,GAAe9E,EAAAA,EAAAA,cAAY,KAC/B,MAAM0E,EAAWJ,EAAYnL,QAC7B,GAAIuL,GAAYrB,EAAY,CAC1B,MAAMQ,EDlFG,SACbkB,EACAhN,GAEA,MAAM,QACJwL,EAAU,KAAI,QACdC,EAAU,KAAI,WACdC,EAAa,EAAC,YACdC,EAAc,GACZ3L,QAAAA,EAAW,CAAC,EAahB,IAAIiN,EACAC,EACAC,EAbCpC,IACHA,EAAiBrH,SAAS0J,cAAc,YACxCrC,EAAesC,aAAa,YAAa,MACzCtC,EAAesC,aAAa,cAAe,QAC3C3J,SAASC,KAAK2J,YAAYvC,IAI5BA,EAAesC,aAAa,SAAS5C,EAAAA,EAAAA,GAAiBuC,IACtDjC,EAAenB,MAAQoD,EAAWpD,OAASoD,EAAWO,aAAe,GAMrE,IAAIhK,EAASwH,EAAeyC,aAAe9B,EAE3C,GAAgB,OAAZF,GAAgC,OAAZC,EAAkB,CACxC,MAAMgC,EAGAC,WACE9K,OACGgI,iBAAiBG,GACjBF,iBAAiB,gBAEZ,OAAZW,IACFyB,EAAYQ,EAAkBjC,EAAUG,EAAcD,EACtDnI,EAASoK,KAAKC,IAAIX,EAAW1J,IAEf,OAAZkI,IACFyB,EAAYO,EAAkBhC,EAAUE,EAAcD,EAClDnI,GAAU2J,IACZC,EAAY,UAEd5J,EAASoK,KAAKE,IAAIX,EAAW3J,GAEjC,CAEA,MAAMuI,EAA6B,CACjCvI,SACA4J,YACAW,OAAQ,QAUV,OAPIb,IACFnB,EAAMmB,UAAYA,GAEhBC,IACFpB,EAAMoB,UAAYA,GAGbpB,CACT,CCkBoBiC,CAAuBpB,EAAU,CAC7CnB,UACAC,UACAC,aACAC,iBAMAqC,EAAAA,EAAAA,YAAU,KACRvB,EAAaX,EAAM,GAGzB,IACC,CAACR,EAAYG,EAASD,EAASE,EAAYC,KAS9CxK,EAAAA,EAAAA,YAAU,KACRmL,EAAST,QAAAA,EAAa,GAAG,GACxB,CAACA,KAEJ1K,EAAAA,EAAAA,YAAU,KACR4L,GAAc,GACb,CAACA,EAAcnD,IAElB,MAAMqE,GAAiB/M,EAAAA,EAAAA,SAAO,GAExBgN,GAAyBjG,EAAAA,EAAAA,cAC5B3G,IACC2M,EAAe7M,SAAU,EACzB+K,SAAAA,EAAqB7K,EAAE,GAEzB,CAAC6K,IAGGgC,GAAuBlG,EAAAA,EAAAA,cAC1B3G,IACC2M,EAAe7M,SAAU,EACzBgL,SAAAA,EAAmB9K,EAAE,GAEvB,CAAC8K,IAGGgC,GAAgBnG,EAAAA,EAAAA,cACnB3G,IACK2M,EAAe7M,UAKI,KAAnB8K,aAAS,EAATA,EAAY5K,KAKJ,UAAVA,EAAE0D,MACc,wBAAf+G,GACIzK,EAAE+M,SACY,mBAAftC,GAAmCzK,EAAE0J,MAEzC1J,EAAEE,iBACFF,EAAEG,kBACFwK,SAAAA,EAAW3K,GACb,GAEF,CAAC4K,EAAWD,EAAUF,IAiDxB,OA9CAuC,EAAAA,EAAAA,kBAAgB,KACd,MAAMC,EAAmBvC,aAAmB,EAAnBA,EAAqB5K,QACxCuL,EAAWJ,EAAYnL,QAC7B,GAAImN,GAAoB5B,EAAU,CAChC,MAAM,MAAE6B,EAAK,IAAEC,GAAQF,EACvBvC,EAAoB5K,QAAU,KAC9BuL,EAASG,kBAAkB0B,EAAOC,EACpC,IACC,CAACzC,EAAqBpC,KAGzBzI,EAAAA,EAAAA,YAAU,KACR,MAAMuN,EAAY9C,aAAY,EAAZA,EAAcxK,QAChC,IAAKsN,IAAcpD,EACjB,OAEF,IAAIqD,EACJ,MAAMC,EAAW,IAAIC,EAAAA,GAAgBC,IACnC,IAAK,MAAMC,KAASD,EAClB,GAAIC,EAAMrN,SAAWgN,EAAW,CAE9B,MAAMM,EAAoBD,EAAME,eAC5BF,EAAME,eAAe,GACnBF,EAAME,eAAe,GAAGC,WACvBH,EAAME,eACJC,WACLH,EAAMI,YAAY7L,MACtB,QACwB/C,IAAtByO,GACAA,IAAsBL,EACtB,CACA,MAAMS,GAAaT,EACnBA,EAAqBK,EAChBI,GACHC,sBAAsBtC,EAE1B,CACF,CACF,IAGF,OADA6B,EAASU,QAAQZ,GACV,KACLE,EAASW,YAAY,CACtB,GACA,CAACjE,EAAYM,EAAcmB,IAG5B/J,EAAAA,cAAA,YAAA+B,EAAAA,EAAAA,GAAA,GACMsH,EAAK,CACTlD,IAAKoD,EACL3C,MAAOA,EACPkC,MAAO,IACFA,KACAU,GAELpD,SAhHF9H,IAEAgL,EAAShL,EAAEI,OAAOkI,OAClBR,SAAAA,EAAW9H,EAAE,EA8GX6K,mBAAoB+B,EACpB9B,iBAAkB+B,EAClBjC,UAAWkC,IAGjB,C","sources":["webpack:///./src/shared/FileUpload/i18n.ts","webpack:///./src/shared/FileUpload/GlobalDragOverlay.module.css?40e0","webpack:///./src/shared/FileUpload/GlobalDragOverlay.tsx","webpack:///./src/shared/FileUpload/GlobalDragOverlay.module.css","webpack:///./src/shared/FileUpload/UploadedFiles.tsx","webpack:///./src/shared/useFilesUploading.ts","webpack:///./src/shared/FileUpload/UploadedFiles.shadow.css","webpack:///./src/shared/FileUpload/UploadButton.tsx","webpack:///./src/shared/FileUpload/acceptFiles.ts","webpack:///../../../src/utils/getMirroredStyle.ts","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../src/TextareaAutoResize.tsx"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\n\nexport enum K {\n UPLOAD_FILES = \"UPLOAD_FILES\",\n UPLOADING = \"UPLOADING\",\n UPLOAD_FAILED = \"UPLOAD_FAILED\",\n DROP_FILES_HERE = \"DROP_FILES_HERE\",\n}\n\nconst en: Locale = {\n UPLOAD_FILES: \"Upload files\",\n UPLOADING: \"Uploading...\",\n UPLOAD_FAILED: \"Upload failed\",\n DROP_FILES_HERE: \"Drop files here\",\n};\n\nconst zh: Locale = {\n UPLOAD_FILES: \"上传文件\",\n UPLOADING: \"上传中...\",\n UPLOAD_FAILED: \"上传失败\",\n DROP_FILES_HERE: \"在此处拖放文件\",\n};\n\nexport const NS = \"bricks/ai-portal/FileUpload\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n\ninitializeI18n(NS, locales);\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./GlobalDragOverlay.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./GlobalDragOverlay.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport dragImage from \"./drag-file@2x.png\";\nimport { K, t } from \"./i18n\";\nimport styles from \"./GlobalDragOverlay.module.css\";\nimport { acceptFiles } from \"./acceptFiles\";\n\nexport interface GlobalDragOverlayProps {\n disabled?: boolean;\n accept?: string;\n dragTips?: string;\n onFilesDropped?: (files: File[]) => void;\n}\n\nexport default function GlobalDragOverlay({\n disabled,\n accept,\n dragTips,\n onFilesDropped,\n}: GlobalDragOverlayProps) {\n const [isDragging, setIsDragging] = useState(false);\n const dragCounterRef = useRef(0);\n\n useEffect(() => {\n if (disabled) {\n dragCounterRef.current = 0;\n setIsDragging(false);\n return;\n }\n\n const handleDragEnter = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n for (const target of e.composedPath()) {\n if (\n target instanceof HTMLElement &&\n (target.tagName === \"EO-DRAWER\" || target.tagName === \"EO-MODAL\")\n ) {\n return;\n }\n }\n\n // 只在拖入文件时触发(排除文字、链接等)\n const hasFiles = Array.from(e.dataTransfer?.items || []).some(\n (item) => item.kind === \"file\"\n );\n if (!hasFiles) return;\n\n dragCounterRef.current++;\n setIsDragging(true);\n };\n\n const handleDragLeave = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (dragCounterRef.current > 0) {\n dragCounterRef.current--;\n }\n if (dragCounterRef.current === 0) setIsDragging(false);\n };\n\n const handleDragOver = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const handleDrop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n dragCounterRef.current = 0;\n setIsDragging(false);\n\n const files = Array.from(e.dataTransfer!.files);\n if (files.length > 0) {\n if (accept) {\n const allFilesAccepted = acceptFiles(accept, files);\n if (!allFilesAccepted) {\n handleHttpError(dragTips);\n return;\n }\n }\n onFilesDropped?.(files);\n }\n };\n\n window.addEventListener(\"dragenter\", handleDragEnter);\n window.addEventListener(\"dragleave\", handleDragLeave);\n window.addEventListener(\"dragover\", handleDragOver);\n window.addEventListener(\"drop\", handleDrop);\n\n return () => {\n window.removeEventListener(\"dragenter\", handleDragEnter);\n window.removeEventListener(\"dragleave\", handleDragLeave);\n window.removeEventListener(\"dragover\", handleDragOver);\n window.removeEventListener(\"drop\", handleDrop);\n };\n }, [accept, disabled, dragTips, onFilesDropped]);\n\n if (!isDragging) {\n return null;\n }\n\n return createPortal(\n <div className={styles.overlay}>\n <img src={dragImage} width=\"91\" height=\"79\" />\n <div className={styles.title}>{t(K.DROP_FILES_HERE)}</div>\n <div className={styles.description}>{dragTips}</div>\n </div>,\n document.body\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.overlay--SI1oXhAV{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999}.title--FmBT01QV{font-weight:600;font-size:20px;color:rgba(0,0,0,0.88);line-height:28px;margin-top:17px}.description--Yhdhm5wT{color:rgba(0,0,0,0.45);font-size:14px;margin-top:11px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"overlay\": `overlay--SI1oXhAV`,\n\t\"title\": `title--FmBT01QV`,\n\t\"description\": `description--Yhdhm5wT`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { FileItem } from \"./interfaces\";\nimport {\n formatFileSize,\n getFileTypeAndIcon,\n} from \"../../cruise-canvas/utils/file\";\nimport { K, t } from \"./i18n\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface UploadedFilesProps {\n files: FileItem[];\n maxFiles?: number;\n className?: string;\n onRemove: (uid: number, abortController: AbortController | undefined) => void;\n onAdd: () => void;\n}\n\nexport function UploadedFiles({\n files,\n maxFiles,\n className,\n onRemove,\n onAdd,\n}: UploadedFilesProps) {\n const showAsImage = files.every((file) =>\n file.file.type.startsWith(\"image/\")\n );\n\n return (\n <ul\n className={classNames(\"files\", className)}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {files.map((file) => (\n <FileComponent\n {...file}\n key={file.uid}\n showAsImage={showAsImage}\n onRemove={onRemove}\n />\n ))}\n {!maxFiles || files.length < maxFiles ? (\n <li>\n <button className=\"btn-add-file\" onClick={onAdd}>\n <WrappedIcon lib=\"antd\" icon=\"plus\" />\n </button>\n </li>\n ) : null}\n </ul>\n );\n}\n\ninterface FileComponentProps extends FileItem {\n showAsImage?: boolean;\n onRemove: (uid: number, abortController: AbortController | undefined) => void;\n}\n\nfunction FileComponent({\n uid,\n file,\n status,\n abortController,\n showAsImage,\n onRemove,\n}: FileComponentProps) {\n const [type, icon] = getFileTypeAndIcon(file.type, file.name);\n const size = formatFileSize(file.size);\n const isImage = file.type.startsWith(\"image/\");\n const [image, setImage] = useState<string | undefined>();\n\n useEffect(() => {\n if (isImage) {\n const url = URL.createObjectURL(file);\n setImage(url);\n return () => {\n URL.revokeObjectURL(url);\n };\n } else {\n setImage(undefined);\n }\n }, [file, isImage]);\n\n const buttonRemove = (\n <button\n className=\"file-remove\"\n onClick={() => {\n onRemove(uid, abortController);\n }}\n >\n <WrappedIcon lib=\"antd\" theme=\"filled\" icon=\"close-circle\" />\n </button>\n );\n\n if (showAsImage) {\n return (\n <li\n className={classNames(\"file as-image\", { failed: status === \"failed\" })}\n >\n <img className=\"file-image\" src={image} />\n {status === \"uploading\" && (\n <div className=\"file-overlay\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )}\n {status === \"failed\" && (\n <div className=\"file-overlay\">{t(K.UPLOAD_FAILED)}</div>\n )}\n {buttonRemove}\n </li>\n );\n }\n\n return (\n <li\n className={classNames(\"file\", {\n failed: status === \"failed\",\n uploading: status === \"uploading\",\n })}\n >\n {isImage ? (\n <img className=\"file-image\" src={image} />\n ) : (\n <img className=\"file-icon\" src={icon} width={26} height={32} />\n )}\n <div className=\"file-content\">\n <div className=\"file-name\">{file.name}</div>\n <div className=\"file-metadata\">\n <span className=\"file-status\">\n {`${status === \"uploading\" ? t(K.UPLOADING) : status === \"failed\" ? t(K.UPLOAD_FAILED) : type}`}\n </span>\n {` · ${size}`}\n </div>\n </div>\n {buttonRemove}\n </li>\n );\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { http } from \"@next-core/http\";\nimport type { FileItem } from \"./FileUpload/interfaces\";\nimport type { UploadFileInfo, UploadOptions } from \"./interfaces\";\nimport { acceptFiles } from \"./FileUpload/acceptFiles\";\n// import { getNextUid } from \"./FileUpload/UploadButton\";\n\nlet uid = 0;\n\nexport function getNextUid() {\n return uid++;\n}\n\nexport function useFilesUploading(options?: UploadOptions) {\n const enabled = options?.enabled;\n const accept = options?.accept;\n const maxFiles = options?.maxFiles;\n const dragTips = options?.dragTips;\n const [files, setFiles] = useState<FileItem[] | undefined>();\n const hasFiles = !!files && files.length > 0;\n\n useEffect(() => {\n files?.forEach(async (fileItem) => {\n if (fileItem.status === \"ready\") {\n const abortController = new AbortController();\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"uploading\", abortController };\n }\n return item;\n });\n });\n\n try {\n const formData = new FormData();\n formData.append(\"file\", fileItem.file);\n\n const response = await http.request<{ data: UploadFileInfo }>(\n \"api/gateway/logic.llm.aiops_service/api/v1/elevo/files/upload\",\n {\n method: \"POST\",\n body: formData,\n signal: abortController.signal,\n }\n );\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return {\n ...item,\n status: \"done\",\n fileInfo: response.data,\n };\n }\n return item;\n });\n });\n } catch (error) {\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"failed\" };\n }\n return item;\n });\n });\n handleHttpError(error);\n }\n }\n });\n }, [files]);\n\n const [allFilesDone, setAllFilesDone] = useState(true);\n const [fileInfos, setFileInfos] = useState<UploadFileInfo[] | undefined>();\n const initialRef = useRef(true);\n\n useEffect(() => {\n const allFilesDone =\n !files || files.every((file) => file.status === \"done\");\n setAllFilesDone(allFilesDone);\n if (initialRef.current) {\n initialRef.current = false;\n return;\n }\n if (allFilesDone) {\n setFileInfos(files?.map((file) => file.fileInfo!));\n }\n }, [files]);\n\n const appendFiles = useCallback(\n (newFiles: File[]) => {\n setFiles((prev) => {\n const list = [\n ...(prev ?? []),\n ...newFiles.map<FileItem>((file) => ({\n uid: getNextUid(),\n file,\n status: \"ready\",\n })),\n ];\n if (maxFiles && list.length > maxFiles) {\n return list.slice(0, maxFiles);\n }\n return list;\n });\n },\n [maxFiles]\n );\n\n const resetFiles = useCallback(() => {\n setFiles(undefined);\n }, []);\n\n const removeFile = useCallback((uid: number) => {\n setFiles((prev) => prev?.filter((file) => file.uid !== uid));\n }, []);\n\n const exceeded = !!maxFiles && !!files && files.length >= maxFiles;\n\n const paste = useCallback(\n (e: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (!enabled) {\n return;\n }\n const fileList = e.clipboardData.files;\n if (fileList.length > 0 && enabled) {\n e.preventDefault();\n e.stopPropagation();\n const files = [...fileList];\n if (accept) {\n const allFilesAccepted = acceptFiles(accept, files);\n if (!allFilesAccepted) {\n handleHttpError(dragTips!);\n return;\n }\n }\n appendFiles(files);\n }\n },\n [enabled, accept, dragTips, appendFiles]\n );\n\n return {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\n };\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files{list-style:none;margin:0;padding:4px 0 0;position:absolute;display:flex;gap:8px;top:10px;left:16px;right:16px;overflow-x:auto}.file{background:rgba(0,0,0,0.04);border-radius:6px;display:flex;width:200px;height:60px;align-items:center;padding:0 8px;position:relative}.file.uploading::before{content:\"\";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,0.06);border-radius:6px;animation:loadingAnimation 1.5s linear infinite}@keyframes loadingAnimation{0%{right:100%}100%{right:0}}.file-content{min-width:0;flex:1}.file-icon{margin:0 11px 0 6px}.file-image{margin-right:8px;object-fit:cover;border-radius:4px;max-width:44px;max-height:44px}.file-name,\n.file-metadata{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name{color:rgba(0,0,0,0.88)}.file-metadata{color:rgba(0,0,0,0.45);font-size:12px;margin-top:3px}.file-remove{position:absolute;top:-4px;right:-4px;font-size:12px;padding:1px;display:flex;color:rgba(0,0,0,0.88);cursor:pointer;background:#fff;border-radius:14px}.file:not(:hover) .file-remove{display:none}.btn-add-file{border-radius:6px;border:1px dashed rgba(0,0,0,0.1);color:rgba(0,0,0,0.45);font-size:16px;display:flex;width:60px;height:60px;align-items:center;justify-content:center;cursor:pointer}.btn-add-file:hover{background:rgba(0,0,0,0.04)}.file.failed .file-status{color:var(--color-error)}.file.as-image{width:60px;border:1px solid rgba(0,0,0,0.1);padding:0;background:none;justify-content:center}.file.as-image .file-image{max-width:100%;max-height:100%;margin:0;border-radius:6px}.file.as-image.failed{border-color:#f24c25}.file-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,10,26,0.45);border-radius:6px;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px}.file.failed .file-overlay{background:rgba(0,10,26,0.7);color:#ff754f;font-size:12px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, { forwardRef, useImperativeHandle, useRef } from \"react\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { IconButton, IconButtonProps } from \"../../icon-button\";\nimport { K, t } from \"./i18n\";\n\nconst WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nconst ICON_UPLOAD: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"paperclip\",\n};\n\nexport interface UploadButtonProps {\n accept?: string;\n disabled?: boolean;\n onChange?: (files: File[]) => void;\n}\n\nexport interface UploadButtonRef {\n requestUpload: () => void;\n}\n\nexport const UploadButton = forwardRef(LegacyUploadButton);\n\nfunction LegacyUploadButton(\n { accept, disabled, onChange }: UploadButtonProps,\n ref: React.Ref<UploadButtonRef>\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files;\n if (files) {\n onChange?.(Array.from(files));\n }\n e.target.value = \"\";\n };\n\n useImperativeHandle(ref, () => ({\n requestUpload: () => {\n inputRef.current?.click();\n },\n }));\n\n return (\n <>\n <input\n type=\"file\"\n accept={accept}\n multiple\n hidden\n ref={inputRef}\n onChange={handleInputChange}\n onClick={(e) => {\n e.stopPropagation();\n }}\n />\n <WrappedIconButton\n variant=\"light\"\n className=\"btn-upload\"\n icon={ICON_UPLOAD}\n tooltip={t(K.UPLOAD_FILES)}\n disabled={disabled}\n onClick={(e) => {\n e.stopPropagation();\n inputRef.current?.click();\n }}\n />\n </>\n );\n}\n","export function acceptFiles(accept: string, files: File[]) {\n const acceptedTypes = accept.split(\",\").map((type) => type.trim());\n const allFilesAccepted = files.every((file) => {\n const mimeType = file.type;\n return acceptedTypes.some((type) => {\n if (type === \"*/*\" || type === \"*\") {\n return true;\n }\n if (type.startsWith(\".\")) {\n return file.name.toLowerCase().endsWith(type.toLowerCase());\n }\n if (type.endsWith(\"/*\")) {\n const baseType = type.split(\"/\")[0];\n return mimeType.startsWith(`${baseType}/`);\n }\n return mimeType === type;\n });\n });\n return allFilesAccepted;\n}\n","const HIDDEN_STYLE = `\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n left: 0!important;\n pointer-events: none!important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\n\n/**\n * 创建一个镜像元素,用于计算光标位置或文本尺寸。\n */\nexport function getMirroredStyle(element: HTMLElement) {\n const uiTextNodeStyle = window.getComputedStyle(element);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n return `${sizingStyle};${HIDDEN_STYLE}`;\n}\n","// istanbul ignore file\nimport type React from \"react\";\nimport { getMirroredStyle } from \"./getMirroredStyle.js\";\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined;\n\nexport interface AutoSizeOptions {\n minRows?: number | null;\n maxRows?: number | null;\n borderSize?: number;\n paddingSize?: number;\n}\n\n/**\n * 计算 textarea 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n options?: AutoSizeOptions\n): React.CSSProperties {\n const {\n minRows = null,\n maxRows = null,\n borderSize = 2,\n paddingSize = 8,\n } = options ?? {};\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n // equal style\n hiddenTextarea.setAttribute(\"style\", getMirroredStyle(uiTextNode));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined;\n let maxHeight: number | undefined;\n let overflowY: React.CSSProperties[\"overflowY\"];\n\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n const singleRowHeight =\n process.env.NODE_ENV === \"test\"\n ? 22\n : parseFloat(\n window\n .getComputedStyle(hiddenTextarea)\n .getPropertyValue(\"line-height\")\n );\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n if (height <= maxHeight) {\n overflowY = \"hidden\";\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { flushSync } from \"react-dom\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\n\n// istanbul ignore next\nconst modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n\nexport interface TextareaAutoResizeProps\n extends React.DetailedHTMLProps<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n > {\n /** @default true */\n autoResize?: boolean;\n minRows?: number | null;\n maxRows?: number | null;\n /** @default 2 */\n borderSize?: number;\n /** @default 8 */\n paddingSize?: number;\n containerRef?: React.RefObject<HTMLElement>;\n submitWhen?: \"enter-without-shift\" | \"enter-with-mod\";\n desiredSelectionRef?: React.MutableRefObject<{\n start: number;\n end: number;\n } | null>;\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n /**\n * The handler can return false to prevent default behavior (submit)\n */\n onKeyDown?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void | false;\n}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\n element: HTMLTextAreaElement | null;\n}\n\nexport const TextareaAutoResize = React.forwardRef<\n TextareaAutoResizeRef,\n TextareaAutoResizeProps\n>(LegacyTextareaAutoResize);\n\nfunction LegacyTextareaAutoResize(\n {\n autoResize: _autoResize,\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n containerRef,\n value: propValue,\n style,\n submitWhen,\n desiredSelectionRef,\n onChange,\n onSubmit,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n ...props\n }: TextareaAutoResizeProps,\n ref: React.ForwardedRef<TextareaAutoResizeRef>\n): React.JSX.Element {\n const autoResize = _autoResize ?? true;\n const [value, setValue] = useState(propValue ?? \"\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const [autoStyle, setAutoStyle] = useState<React.CSSProperties | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus: () => {\n const textarea = textareaRef.current;\n // istanbul ignore else: defensive check\n if (textarea) {\n const valueLength = textarea.value?.length;\n textarea.focus();\n valueLength && textarea.setSelectionRange(valueLength, valueLength);\n }\n },\n element: textareaRef.current,\n }),\n []\n );\n\n const doAutoResize = useCallback(() => {\n const textarea = textareaRef.current;\n if (textarea && autoResize) {\n const style = calculateAutoSizeStyle(textarea, {\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n });\n // istanbul ignore next\n if (process.env.NODE_ENV === \"test\") {\n setAutoStyle(style);\n } else {\n flushSync(() => {\n setAutoStyle(style);\n });\n }\n }\n }, [autoResize, maxRows, minRows, borderSize, paddingSize]);\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLTextAreaElement>\n ): void => {\n setValue(e.target.value);\n onChange?.(e);\n };\n\n useEffect(() => {\n setValue(propValue ?? \"\");\n }, [propValue]);\n\n useEffect(() => {\n doAutoResize();\n }, [doAutoResize, value]);\n\n const compositionRef = useRef(false);\n\n const handleCompositionStart = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = true;\n onCompositionStart?.(e);\n },\n [onCompositionStart]\n );\n\n const handleCompositionEnd = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = false;\n onCompositionEnd?.(e);\n },\n [onCompositionEnd]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n\n if (onKeyDown?.(e) === false) {\n return;\n }\n\n if (\n e.key === \"Enter\" &&\n (submitWhen === \"enter-without-shift\"\n ? !e.shiftKey\n : submitWhen === \"enter-with-mod\" && e[modKey])\n ) {\n e.preventDefault();\n e.stopPropagation();\n onSubmit?.(e);\n }\n },\n [onKeyDown, onSubmit, submitWhen]\n );\n\n useLayoutEffect(() => {\n const desiredSelection = desiredSelectionRef?.current;\n const textarea = textareaRef.current;\n if (desiredSelection && textarea) {\n const { start, end } = desiredSelection;\n desiredSelectionRef.current = null;\n textarea.setSelectionRange(start, end);\n }\n }, [desiredSelectionRef, value]);\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container || !autoResize) {\n return;\n }\n let previousInlineSize: number | undefined;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n // istanbul ignore next: compatibility\n const currentInlineSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n if (\n currentInlineSize !== undefined &&\n currentInlineSize !== previousInlineSize\n ) {\n const isInitial = !previousInlineSize;\n previousInlineSize = currentInlineSize;\n if (!isInitial) {\n requestAnimationFrame(doAutoResize);\n }\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [autoResize, containerRef, doAutoResize]);\n\n return (\n <textarea\n {...props}\n ref={textareaRef}\n value={value}\n style={{\n ...style,\n ...autoStyle,\n }}\n onChange={handleInputChange}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n onKeyDown={handleKeyDown}\n />\n );\n}\n"],"names":["K","NS","t","i18n","getFixedT","initializeI18n","en","UPLOAD_FILES","UPLOADING","UPLOAD_FAILED","DROP_FILES_HERE","zh","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","GlobalDragOverlay","_ref","disabled","accept","dragTips","onFilesDropped","isDragging","setIsDragging","useState","dragCounterRef","useRef","useEffect","current","handleDragEnter","e","_e$dataTransfer","preventDefault","stopPropagation","target","composedPath","HTMLElement","tagName","Array","from","dataTransfer","items","some","item","kind","handleDragLeave","handleDragOver","handleDrop","files","length","acceptFiles","handleHttpError","window","addEventListener","removeEventListener","createPortal","React","className","styles","overlay","src","dragImage","width","height","title","description","document","body","___CSS_LOADER_EXPORT___","push","module","id","WrappedIcon","wrapBrick","UploadedFiles","maxFiles","onRemove","onAdd","showAsImage","every","file","type","startsWith","classNames","onClick","map","FileComponent","_extends","key","uid","lib","icon","_ref2","status","abortController","getFileTypeAndIcon","name","size","formatFileSize","isImage","image","setImage","url","URL","createObjectURL","revokeObjectURL","buttonRemove","theme","failed","spinning","uploading","useFilesUploading","enabled","setFiles","hasFiles","forEach","async","fileItem","AbortController","prevFiles","formData","FormData","append","response","http","request","method","signal","fileInfo","data","error","allFilesDone","setAllFilesDone","fileInfos","setFileInfos","initialRef","appendFiles","useCallback","newFiles","prev","list","slice","resetFiles","removeFile","filter","exceeded","paste","fileList","clipboardData","toString","WrappedIconButton","ICON_UPLOAD","UploadButton","forwardRef","LegacyUploadButton","ref","onChange","inputRef","useImperativeHandle","requestUpload","_inputRef$current","click","multiple","hidden","value","variant","tooltip","_inputRef$current2","acceptedTypes","split","trim","mimeType","toLowerCase","endsWith","baseType","HIDDEN_STYLE","SIZING_STYLE","getMirroredStyle","element","uiTextNodeStyle","getComputedStyle","getPropertyValue","join","hiddenTextarea","modKey","test","navigator","platform","TextareaAutoResize","LegacyTextareaAutoResize","autoResize","_autoResize","minRows","maxRows","borderSize","paddingSize","containerRef","propValue","style","submitWhen","desiredSelectionRef","onSubmit","onKeyDown","onCompositionStart","onCompositionEnd","props","setValue","textareaRef","autoStyle","setAutoStyle","focus","textarea","_textarea$value","valueLength","setSelectionRange","doAutoResize","uiTextNode","minHeight","maxHeight","overflowY","createElement","setAttribute","appendChild","placeholder","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","calculateAutoSizeStyle","flushSync","compositionRef","handleCompositionStart","handleCompositionEnd","handleKeyDown","shiftKey","useLayoutEffect","desiredSelection","start","end","container","previousInlineSize","observer","ResizeObserver","entries","entry","currentInlineSize","contentBoxSize","inlineSize","contentRect","isInitial","requestAnimationFrame","observe","disconnect"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/chat-box.041da849.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./src/chat-box/i18n.ts","webpack:///./src/chat-box/bricks.ts","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/chat-box/styles.shadow.css","webpack:///./src/cruise-canvas/utils/file.ts","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../src/getCaretPositionInTextarea.ts","webpack:///../../src/getContentRectsInTextarea.ts","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///./src/data-providers/set-chat-command.ts","webpack:///./src/chat-box/index.tsx"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ASK_ANY_THING = \"ASK_ANYTHING\",\n COMMON_TASKS = \"COMMON_TASKS\",\n}\n\nconst en: Locale = {\n [K.ASK_ANY_THING]: \"Ask anything\",\n [K.COMMON_TASKS]: \"Common tasks\",\n};\n\nconst zh: Locale = {\n [K.ASK_ANY_THING]: \"询问任何问题\",\n [K.COMMON_TASKS]: \"常用任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-box\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n ActionsEvents,\n ActionsEventsMapping,\n ActionsProps,\n EoActions,\n} from \"@next-bricks/basic/actions\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedActions = wrapBrick<\n EoActions,\n ActionsProps & { activeKeys?: (string | number)[] },\n ActionsEvents,\n ActionsEventsMapping\n>(\"eo-actions\", {\n onActionClick: \"action.click\",\n onItemDragEnd: \"item.drag.end\",\n onItemDragStart: \"item.drag.start\",\n});\nexport const WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./images/bg.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px;margin:0 -12px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:6px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}.mention-overlay{position:absolute;border-radius:4px;pointer-events:none;background:rgba(38,45,65,0.1)}.buttons{display:flex;align-items:center;gap:12px}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { pipes } from \"@easyops-cn/brick-next-pipes\";\nimport fileText from \"../images/file-text@2x.png\";\nimport filePdf from \"../images/file-pdf@2x.png\";\nimport fileDoc from \"../images/file-doc@2x.png\";\nimport filePpt from \"../images/file-ppt@2x.png\";\nimport fileXls from \"../images/file-xls@2x.png\";\nimport fileOther from \"../images/file-other@2x.png\";\n\nconst MIME_TYPES = new Map<string, string>([\n [\"md\", \"text/markdown\"],\n [\"pdf\", \"application/pdf\"],\n [\"doc\", \"application/msword\"],\n [\n \"docx\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n [\"txt\", \"text/plain\"],\n [\"csv\", \"text/csv\"],\n [\"xls\", \"application/vnd.ms-excel\"],\n [\"xlsx\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n [\"ppt\", \"application/vnd.ms-powerpoint\"],\n [\n \"pptx\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n ],\n [\"jpg\", \"image/jpeg\"],\n [\"jpeg\", \"image/jpeg\"],\n [\"png\", \"image/png\"],\n [\"gif\", \"image/gif\"],\n [\"bmp\", \"image/bmp\"],\n [\"webp\", \"image/webp\"],\n [\"svg\", \"image/svg+xml\"],\n]);\n\nexport function formatFileSize(size: number) {\n const [value, unit] = pipes.unitFormat(size, \"bytes\", 1);\n const number = +value;\n return `${number > 100 ? Math.round(number) : number} ${unit}`;\n}\n\nexport function getFileTypeAndIcon(\n mimeType: string | undefined,\n filename: string | undefined\n): [type: string, icon: string] {\n const type = mimeType || getMimeTypeByFilename(filename);\n\n if (type.startsWith(\"image/\")) {\n return [\"Image\", fileOther];\n }\n\n switch (type) {\n case \"text/markdown\":\n case \"text/x-markdown\":\n return [\"Markdown\", fileText];\n case \"application/pdf\":\n return [\"PDF\", filePdf];\n case \"application/msword\":\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":\n return [\"Word\", fileDoc];\n case \"application/vnd.ms-excel\":\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":\n return [\"Excel\", fileXls];\n case \"application/vnd.ms-powerpoint\":\n case \"application/vnd.openxmlformats-officedocument.presentationml.presentation\":\n return [\"PowerPoint\", filePpt];\n }\n\n if (type.startsWith(\"text/\")) {\n return [\"Text\", fileText];\n }\n\n return [\"File\", fileOther];\n}\n\nexport function getMimeTypeByFilename(filename: string | undefined): string {\n let ext = \"\";\n const matches = filename?.match(/\\.([^.]+)$/);\n if (matches) {\n ext = matches[1].toLowerCase();\n }\n return MIME_TYPES.get(ext) ?? \"unknown\";\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import { getMirroredStyle } from \"./utils/getMirroredStyle.js\";\n\nlet hiddenElement: HTMLDivElement | undefined;\n\nexport function getCaretPositionInTextarea(\n textarea: HTMLTextAreaElement,\n index: number\n) {\n if (!hiddenElement) {\n hiddenElement = document.createElement(\"div\");\n hiddenElement.setAttribute(\"tab-index\", \"-1\");\n hiddenElement.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenElement);\n }\n\n hiddenElement.setAttribute(\"style\", getMirroredStyle(textarea));\n hiddenElement.textContent = textarea.value.slice(0, index);\n\n const span = document.createElement(\"span\");\n span.textContent = \"\\u200b\"; // 占位符\n hiddenElement.appendChild(span);\n\n const rect = span.getBoundingClientRect();\n span.remove();\n return {\n top: rect.top,\n left: rect.left,\n };\n}\n","import { getMirroredStyle } from \"./utils/getMirroredStyle.js\";\n\nlet hiddenElement: HTMLDivElement | undefined;\n\nexport function getContentRectsInTextarea(\n textarea: HTMLTextAreaElement,\n prefix: string,\n measureContent: string\n): DOMRect[] {\n if (!hiddenElement) {\n hiddenElement = document.createElement(\"div\");\n hiddenElement.setAttribute(\"tab-index\", \"-1\");\n hiddenElement.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenElement);\n }\n hiddenElement.setAttribute(\"style\", getMirroredStyle(textarea));\n\n hiddenElement.textContent = prefix;\n\n const span = document.createElement(\"span\");\n span.textContent = measureContent;\n hiddenElement.appendChild(span);\n\n const fullRect = span.getBoundingClientRect();\n span.remove();\n\n if (measureContent.length <= 1) {\n return [fullRect];\n }\n\n const leadingChar = measureContent[0];\n const leadingSpan = document.createElement(\"span\");\n leadingSpan.textContent = leadingChar;\n hiddenElement.appendChild(leadingSpan);\n const leadingRect = leadingSpan.getBoundingClientRect();\n leadingSpan.remove();\n\n hiddenElement.textContent = `${prefix}${measureContent.slice(0, -1)}`;\n const trailingChar = measureContent[measureContent.length - 1];\n const trailingSpan = document.createElement(\"span\");\n trailingSpan.textContent = trailingChar;\n hiddenElement.appendChild(trailingSpan);\n const trailingRect = trailingSpan.getBoundingClientRect();\n trailingSpan.remove();\n\n if (leadingRect.top === trailingRect.top) {\n return [fullRect];\n }\n\n const rects: DOMRect[] = [];\n\n // Leading rect\n rects.push(\n new DOMRect(\n leadingRect.left,\n leadingRect.top,\n fullRect.right - leadingRect.left,\n leadingRect.bottom - leadingRect.top\n )\n );\n\n // Middle rect\n const height = trailingRect.top - leadingRect.bottom;\n if (height >= 10) {\n rects.push(\n new DOMRect(fullRect.left, leadingRect.bottom, fullRect.width, height)\n );\n }\n\n // Trailing rect\n rects.push(\n new DOMRect(\n fullRect.left,\n trailingRect.top,\n trailingRect.right - fullRect.left,\n trailingRect.bottom - trailingRect.top\n )\n );\n\n return rects;\n}\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","import { createProviderClass } from \"@next-core/utils/general\";\nimport type { CommandPayload } from \"../shared/interfaces.js\";\n\nexport interface ChatCommand {\n command: string;\n payload: CommandPayload;\n}\n\nlet chatCommand: ChatCommand | null = null;\n\nexport function setChatCommand(command: ChatCommand | null): void {\n chatCommand = command;\n}\n\nexport function getChatCommand(): ChatCommand | null {\n return chatCommand;\n}\n\ncustomElements.define(\n \"ai-portal.set-chat-command\",\n createProviderClass(setChatCommand)\n);\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n useImperativeHandle,\n createRef,\n useMemo,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport {\n getCaretPositionInTextarea,\n getContentRectsInTextarea,\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { SimpleAction, SubMenuAction } from \"@next-bricks/basic/actions\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n getChatCommand,\n setChatCommand,\n} from \"../data-providers/set-chat-command.js\";\nimport type {\n ChatPayload,\n CommandPayload,\n UploadOptions,\n} from \"../shared/interfaces.js\";\nimport {\n UploadButton,\n type UploadButtonRef,\n} from \"../shared/FileUpload/UploadButton.js\";\nimport { UploadedFiles } from \"../shared/FileUpload/UploadedFiles.js\";\nimport UploadedFilesStyleText from \"../shared/FileUpload/UploadedFiles.shadow.css\";\nimport { WrappedActions, WrappedIcon } from \"./bricks.js\";\nimport { useFilesUploading } from \"../shared/useFilesUploading.js\";\nimport GlobalDragOverlay from \"../shared/FileUpload/GlobalDragOverlay.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport const ChatBoxComponent = forwardRef(LegacyChatBoxComponent);\n\nexport interface ChatBoxProps {\n disabled?: boolean;\n placeholder?: string;\n autoFocus?: boolean;\n aiEmployees?: AIEmployee[];\n commands?: Command[];\n uploadOptions?: UploadOptions;\n}\n\nexport interface AIEmployee {\n employeeId: string;\n name: string;\n}\n\nexport interface ChatBoxRef {\n setValue: (value: string) => void;\n getValue: () => string;\n focusOnInput: () => void;\n}\n\nexport interface Command {\n label: string;\n value: string;\n options?: Command[];\n payload?: CommandPayload;\n}\n\ntype ActionWithAncestors = SimpleAction & {\n key: string | number;\n ancestors?: Command[];\n items?: ActionWithAncestors[];\n payload?: CommandPayload;\n};\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText, UploadedFilesStyleText],\n shadowOptions: {\n delegatesFocus: true,\n },\n})\nclass ChatBox extends ReactNextElement implements ChatBoxProps {\n ref = createRef<ChatBoxRef>();\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ attribute: false })\n accessor aiEmployees: AIEmployee[] | undefined;\n\n @property({ attribute: false })\n accessor commands: Command[] | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n /**\n * @deprecated Use `chat.submit` event instead\n */\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n @event({ type: \"chat.submit\" })\n accessor #chatSubmit!: EventEmitter<ChatPayload>;\n\n #handleChatSubmit = (payload: ChatPayload) => {\n this.#chatSubmit.emit(payload);\n };\n\n @event({ type: \"command.select\" })\n accessor #commandSelect!: EventEmitter<CommandPayload | null>;\n\n #handleCommandSelect = (command: CommandPayload | null) => {\n this.#commandSelect.emit(command);\n };\n\n @method()\n setValue(value: string) {\n this.ref.current?.setValue(value);\n }\n\n @method()\n getValue() {\n return this.ref.current?.getValue();\n }\n\n @method()\n focusOnInput() {\n return this.ref.current?.focusOnInput();\n }\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n aiEmployees={this.aiEmployees}\n commands={this.commands}\n uploadOptions={this.uploadOptions}\n onMessageSubmit={this.#handleMessageSubmit}\n onChatSubmit={this.#handleChatSubmit}\n onCommandSelect={this.#handleCommandSelect}\n ref={this.ref}\n />\n );\n }\n}\n\ninterface ChatBoxComponentProps extends ChatBoxProps {\n onMessageSubmit: (value: string) => void;\n onChatSubmit: (payload: ChatPayload) => void;\n onCommandSelect: (command: CommandPayload | null) => void;\n ref?: React.Ref<ChatBoxRef>;\n}\n\ninterface MentionPopover {\n style: React.CSSProperties;\n range: {\n start: number;\n end: number;\n };\n actions: ActionWithAncestors[];\n}\n\nfunction LegacyChatBoxComponent(\n {\n disabled,\n placeholder,\n autoFocus,\n aiEmployees,\n commands,\n uploadOptions,\n onMessageSubmit,\n onChatSubmit,\n onCommandSelect,\n }: ChatBoxComponentProps,\n ref: React.Ref<ChatBoxRef>\n) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [mentionPopover, setMentionPopover] = useState<MentionPopover | null>(\n null\n );\n const [mentionOverlay, setMentionOverlay] = useState<\n React.CSSProperties[] | null\n >(null);\n const [mentionedText, setMentionedText] = useState(\"\");\n const [activeActionIndex, setActiveActionIndex] = useState(0);\n const [activeActionIndexes, setActiveActionIndexes] = useState<number[]>([0]);\n const [command, setCommand] = useState<CommandPayload | null>(null);\n const [mentioned, setMentioned] = useState<string | null>(null);\n const [commandPopover, setCommandPopover] = useState<MentionPopover | null>(\n null\n );\n const [commandOverlay, setCommandOverlay] = useState<\n React.CSSProperties[] | null\n >(null);\n const [commandText, setCommandText] = useState(\"\");\n const selectionRef = useRef<{ start: number; end: number } | null>(null);\n\n const uploadEnabled = uploadOptions?.enabled;\n const uploadAccept = uploadOptions?.accept;\n const {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\n } = useFilesUploading(uploadOptions);\n\n useEffect(() => {\n if (!uploadEnabled) {\n resetFiles();\n }\n }, [uploadEnabled, resetFiles]);\n\n useEffect(() => {\n const store = window.__elevo_try_it_out;\n if (store) {\n delete window.__elevo_try_it_out;\n }\n if (typeof store?.content === \"string\") {\n valueRef.current = store.content;\n setValue(store.content);\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n setValue: (value: string) => {\n valueRef.current = value;\n setValue(value);\n },\n getValue: () => {\n return valueRef.current;\n },\n focusOnInput: () => {\n textareaRef.current?.focus();\n },\n }));\n\n const doSubmit = useCallback(\n (value: string) => {\n const content = value.slice(commandText.length || mentionedText.length);\n onMessageSubmit(content);\n onChatSubmit({\n content,\n files: fileInfos,\n cmd: command,\n aiEmployeeId: mentioned,\n });\n },\n [\n commandText.length,\n mentionedText.length,\n command,\n fileInfos,\n mentioned,\n onChatSubmit,\n onMessageSubmit,\n ]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value && allFilesDone) {\n doSubmit(e.currentTarget.value);\n }\n },\n [doSubmit, allFilesDone]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value, selectionStart, selectionEnd } = e.target;\n valueRef.current = value;\n setValue(value);\n\n if (\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n aiEmployees?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n if (previousContent.startsWith(\"@\")) {\n const mentionText = previousContent.slice(1).toLowerCase();\n const matchedEmployees = aiEmployees\n .filter(\n (employee) =>\n employee.employeeId.toLowerCase().includes(mentionText) ||\n employee.name.toLowerCase().includes(mentionText)\n )\n .slice(0, 10);\n if (matchedEmployees.length > 0) {\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setMentionPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\n },\n range: { start: 0, end: selectionStart },\n actions: matchedEmployees.map((employee) => ({\n key: employee.employeeId,\n text: employee.name,\n data: employee,\n })),\n });\n setActiveActionIndex(0);\n return;\n }\n }\n }\n setMentionPopover(null);\n\n if (\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n commands?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n if (previousContent.startsWith(\"/\")) {\n const commandText = previousContent.slice(1).toLowerCase();\n const matchedCommands = commands\n .filter((command) =>\n command.label.toLowerCase().includes(commandText)\n )\n .slice(0, 10);\n if (matchedCommands.length > 0) {\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setCommandPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\n },\n range: { start: 0, end: selectionStart },\n actions: matchedCommands.map((command) => ({\n key: command.value,\n text: command.label,\n data: command,\n ancestors: [],\n items: getCommandSubMenu(command, []),\n payload: command.payload,\n })),\n });\n setActiveActionIndexes([0]);\n return;\n }\n }\n }\n setCommandPopover(null);\n },\n [aiEmployees, commands]\n );\n\n useEffect(() => {\n if (mentionedText && !value.includes(mentionedText)) {\n setMentionedText(\"\");\n setMentioned(null);\n }\n }, [mentionedText, value]);\n\n useEffect(() => {\n if (commandText && !value.includes(commandText)) {\n setCommandText(\"\");\n setCommand(null);\n onCommandSelect(null);\n }\n }, [commandText, onCommandSelect, value]);\n\n const handleSubmitClick = useCallback(() => {\n doSubmit(valueRef.current);\n }, [doSubmit]);\n\n useEffect(\n () => {\n if (autoFocus) {\n Promise.resolve().then(() => {\n textareaRef.current?.focus();\n });\n }\n },\n // One-time focus\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (!mentionedText || !element) {\n setMentionOverlay(null);\n return;\n }\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n mentionedText.slice(0, -1)\n );\n setMentionOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n }, [mentionedText, hasFiles]);\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (!commandText || !element) {\n setCommandOverlay(null);\n return;\n }\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandText.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n }, [commandText, hasFiles]);\n\n const chatCommand = useMemo(() => {\n const command = getChatCommand();\n if (command) {\n setChatCommand(null);\n }\n return command;\n }, []);\n\n useEffect(() => {\n if (chatCommand) {\n setCommand(chatCommand.payload);\n onCommandSelect(chatCommand.payload);\n }\n }, [chatCommand, onCommandSelect]);\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (chatCommand && element) {\n const commandStr = `/${chatCommand.command} `;\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandStr.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n valueRef.current = commandStr;\n selectionRef.current = {\n start: commandStr.length,\n end: commandStr.length,\n };\n setValue(commandStr);\n setCommandText(commandStr);\n }\n }, [chatCommand]);\n\n const handleMention = useCallback(\n (action: SimpleAction) => {\n const mention = `@${action.text} `;\n const prefix = `${valueRef.current.slice(0, mentionPopover!.range.start)}${mention}`;\n const newValue = `${prefix}${valueRef.current.slice(mentionPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setMentionedText(mention);\n setMentionPopover(null);\n setMentioned((action as { data?: AIEmployee }).data!.employeeId);\n textareaRef.current?.focus();\n },\n [mentionPopover]\n );\n\n const handleSelectCommand = useCallback(\n (action: ActionWithAncestors) => {\n const command = `/${[...action.ancestors!.map((an) => an.label), action.text].join(\": \")} `;\n const prefix = `${valueRef.current.slice(0, commandPopover!.range.start)}${command}`;\n const newValue = `${prefix}${valueRef.current.slice(commandPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setCommandText(command);\n setCommandPopover(null);\n setCommand(action.payload!);\n onCommandSelect(action.payload!);\n textareaRef.current?.focus();\n },\n [commandPopover, onCommandSelect]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n switch (e.key) {\n case \"Escape\":\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n setMentionPopover(null);\n setCommandPopover(null);\n return false;\n case \"ArrowUp\":\n case \"ArrowDown\": {\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (mentionPopover) {\n setActiveActionIndex((prev) => {\n const nextIndex = prev + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = mentionPopover.actions.length;\n const next = (total + nextIndex) % total;\n return next;\n });\n } else {\n setActiveActionIndexes((prev) => {\n let cursor = 0;\n let { actions } = commandPopover!;\n const list: number[] = [];\n while (cursor < prev.length - 1) {\n const action = actions[prev[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n list.push(prev[cursor]);\n cursor += 1;\n }\n const nextIndex = prev[cursor] + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = actions.length;\n const next = (total + nextIndex) % total;\n list.push(next);\n return list;\n });\n }\n return false;\n }\n case \"Enter\":\n case \"ArrowLeft\":\n case \"ArrowRight\":\n if (mentionPopover) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n handleMention(mentionPopover.actions[activeActionIndex]);\n return false;\n }\n } else if (commandPopover) {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n\n if (e.key === \"ArrowLeft\") {\n if (activeActionIndexes.length > 1) {\n setActiveActionIndexes((prev) => prev.slice(0, -1));\n }\n return false;\n }\n\n let cursor = 0;\n let { actions } = commandPopover!;\n let action: ActionWithAncestors | undefined;\n while (cursor < activeActionIndexes.length) {\n action = actions[activeActionIndexes[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n cursor += 1;\n }\n if (action) {\n if (isSubMenuAction(action)) {\n setActiveActionIndexes((prev) => [...prev, 0]);\n } else if (e.key === \"Enter\") {\n handleSelectCommand(action);\n }\n }\n return false;\n }\n break;\n case \"Delete\":\n case \"Backspace\": {\n const popovers = [\n {\n textLength: mentionedText.length,\n prefixLength: 0,\n },\n {\n textLength: commandText.length,\n prefixLength: 0,\n },\n ];\n\n for (const { textLength, prefixLength } of popovers) {\n if (textLength) {\n let { selectionStart, selectionEnd } = e.currentTarget;\n if (selectionStart === selectionEnd) {\n if (e.key === \"Backspace\") {\n selectionStart -= 1;\n } else {\n selectionEnd += 1;\n }\n }\n const currentStart = prefixLength;\n const currentEnd = currentStart + textLength;\n if (selectionStart < currentEnd && selectionEnd > currentStart) {\n const start = Math.min(selectionStart, currentStart);\n const end = Math.max(selectionEnd, currentEnd);\n const newValue = `${valueRef.current.slice(0, start)}${valueRef.current.slice(end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start, end: start };\n setValue(newValue);\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n }\n break;\n }\n }\n },\n [\n activeActionIndex,\n activeActionIndexes,\n commandPopover,\n commandText.length,\n handleMention,\n handleSelectCommand,\n mentionPopover,\n mentionedText.length,\n ]\n );\n\n const commandCheckedKeys = useMemo(() => {\n if (!commandPopover) {\n return [];\n }\n let actions = commandPopover.actions;\n const checkedKeys: (string | number)[] = [];\n for (let i = 0; i < activeActionIndexes.length; i += 1) {\n const index = activeActionIndexes[i];\n const action = actions[index];\n if (action) {\n if (isSubMenuAction(action)) {\n checkedKeys.push(action.key!);\n actions = action.items;\n } else {\n checkedKeys.push(action.key!);\n break;\n }\n } else {\n break;\n }\n }\n return checkedKeys;\n }, [activeActionIndexes, commandPopover]);\n\n const uploadButtonRef = useRef<UploadButtonRef>(null);\n\n const onFilesDropped = useCallback(\n (files: File[]) => {\n appendFiles(files);\n textareaRef.current?.focus();\n },\n [appendFiles]\n );\n\n const sendDisabled =\n !value ||\n !allFilesDone ||\n (!!mentionedText && value.length <= mentionedText.length) ||\n (!!commandText && value.length <= commandText.length);\n\n return (\n <>\n <div className=\"root\">\n <div className=\"container\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={58 / 22}\n paddingSize={hasFiles ? 144 : 60}\n autoResize\n disabled={disabled}\n placeholder={placeholder ?? t(K.ASK_ANY_THING)}\n submitWhen=\"enter-without-shift\"\n desiredSelectionRef={selectionRef}\n onSubmit={handleSubmit}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onPaste={paste}\n style={{\n paddingTop: hasFiles ? 94 : 10,\n }}\n />\n {hasFiles && (\n <UploadedFiles\n files={files!}\n onRemove={(uid, abortController) => {\n removeFile(uid);\n abortController?.abort();\n }}\n onAdd={() => {\n uploadButtonRef.current?.requestUpload();\n }}\n />\n )}\n <div className=\"actions-bar\">\n <div>\n <slot name=\"actions\"></slot>\n </div>\n <div className=\"buttons\">\n {uploadEnabled ? (\n <>\n <UploadButton\n ref={uploadButtonRef}\n accept={uploadAccept}\n disabled={exceeded}\n onChange={(files) => {\n appendFiles(files);\n textareaRef.current?.focus();\n }}\n />\n <div className=\"btn-divider\"></div>\n </>\n ) : null}\n <button\n className=\"btn-send\"\n disabled={sendDisabled}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-up\" />\n </button>\n </div>\n </div>\n {mentionOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {commandOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {mentionPopover &&\n createPortal(\n <WrappedActions\n actions={mentionPopover.actions}\n style={mentionPopover.style}\n activeKeys={[mentionPopover.actions[activeActionIndex].key!]}\n onActionClick={(e) => handleMention(e.detail)}\n />,\n document.body\n )}\n {commandPopover &&\n createPortal(\n <WrappedActions\n actions={commandPopover.actions}\n style={commandPopover.style}\n activeKeys={commandCheckedKeys}\n onActionClick={(e) =>\n handleSelectCommand(e.detail as ActionWithAncestors)\n }\n />,\n document.body\n )}\n </div>\n </div>\n <GlobalDragOverlay\n disabled={!uploadEnabled || exceeded}\n accept={uploadAccept}\n dragTips={uploadOptions?.dragTips}\n onFilesDropped={onFilesDropped}\n />\n </>\n );\n}\n\nfunction getCommandSubMenu(\n command: Command,\n ancestors: Command[]\n): ActionWithAncestors[] | undefined {\n return command.options?.map((subCommand) => {\n const nextAncestors = [...ancestors, command];\n return {\n key: subCommand.value,\n text: subCommand.label,\n data: subCommand,\n ancestors: nextAncestors,\n items: getCommandSubMenu(subCommand, nextAncestors),\n payload: subCommand.payload,\n };\n });\n}\n\nfunction isSubMenuAction(\n action: SimpleAction | SubMenuAction\n): action is SubMenuAction {\n return !!(action as SubMenuAction).items?.length;\n}\n"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","K","en","ASK_ANY_THING","COMMON_TASKS","zh","NS","locales","t","i18n","getFixedT","WrappedIcon","wrapBrick","WrappedActions","onActionClick","onItemDragEnd","onItemDragStart","url","String","__esModule","default","test","slice","hash","needQuotes","replace","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","nonce","setAttribute","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","toString","MIME_TYPES","Map","formatFileSize","size","unit","pipes","unitFormat","number","Math","round","getFileTypeAndIcon","mimeType","filename","type","getMimeTypeByFilename","startsWith","fileOther","fileText","filePdf","fileDoc","fileXls","filePpt","_MIME_TYPES$get","ext","matches","match","toLowerCase","get","stylesInDOM","getIndexByIdentifier","identifier","result","i","modulesToDom","list","idCountMap","identifiers","item","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","domAPI","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","hiddenElement","getCaretPositionInTextarea","textarea","createElement","body","getMirroredStyle","textContent","span","rect","getBoundingClientRect","top","left","getContentRectsInTextarea","prefix","measureContent","fullRect","leadingChar","leadingSpan","leadingRect","trailingChar","trailingSpan","trailingRect","rects","DOMRect","right","bottom","height","width","memo","insert","style","target","styleTarget","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","_extends","assign","bind","arguments","source","prototype","hasOwnProperty","call","this","element","setAttributes","attributes","chatCommand","setChatCommand","command","getChatCommand","customElements","define","createProviderClass","initializeI18n","defineElement","property","event","method","createDecorators","ChatBoxComponent","forwardRef","LegacyChatBoxComponent","_ChatBox","_A","WeakMap","_B","_C","_D","_E","_F","_G","_ChatBox_brand","WeakSet","_handleMessageSubmit","_H","_handleChatSubmit","_I","_handleCommandSelect","ChatBox","ReactNextElement","constructor","_classPrivateMethodInitSpec","_initProto","createRef","_classPrivateFieldInitSpec","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_aiEmployees","_init_extra_aiEmployees","_init_commands","_init_extra_commands","_init_uploadOptions","_init_extra_uploadOptions","_init_messageSubmit","_init_extra_messageSubmit","_classPrivateGetter","_get_messageSubmit","emit","_init_chatSubmit","_init_extra_chatSubmit","payload","_get_chatSubmit","_init_commandSelect","_init_extra_commandSelect","_get_commandSelect","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","placeholder","autoFocus","aiEmployees","commands","uploadOptions","setValue","_this$ref$current","ref","current","getValue","_this$ref$current2","focusOnInput","_this$ref$current3","render","React","onMessageSubmit","onChatSubmit","onCommandSelect","_ref","containerRef","useRef","textareaRef","useState","valueRef","mentionPopover","setMentionPopover","mentionOverlay","setMentionOverlay","mentionedText","setMentionedText","activeActionIndex","setActiveActionIndex","activeActionIndexes","setActiveActionIndexes","setCommand","mentioned","setMentioned","commandPopover","setCommandPopover","commandOverlay","setCommandOverlay","commandText","setCommandText","selectionRef","uploadEnabled","enabled","uploadAccept","accept","files","resetFiles","appendFiles","removeFile","hasFiles","allFilesDone","fileInfos","exceeded","paste","useFilesUploading","useEffect","store","__elevo_try_it_out","content","useImperativeHandle","_textareaRef$current","focus","doSubmit","useCallback","cmd","aiEmployeeId","handleSubmit","currentTarget","handleChange","selectionStart","selectionEnd","previousContent","mentionText","matchedEmployees","filter","employee","employeeId","includes","name","position","textareaRect","zIndex","range","start","end","actions","map","text","data","matchedCommands","label","ancestors","items","getCommandSubMenu","handleSubmitClick","Promise","resolve","then","_textareaRef$current2","_textareaRef$current3","_textareaRef$current4","useMemo","_textareaRef$current5","commandStr","handleMention","action","_textareaRef$current6","mention","newValue","handleSelectCommand","_textareaRef$current7","an","join","handleKeyDown","preventDefault","stopPropagation","nativeEvent","stopImmediatePropagation","prev","nextIndex","total","cursor","isSubMenuAction","next","popovers","textLength","prefixLength","currentStart","currentEnd","min","max","commandCheckedKeys","checkedKeys","uploadButtonRef","onFilesDropped","_textareaRef$current8","sendDisabled","className","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","desiredSelectionRef","onSubmit","onChange","onKeyDown","onPaste","paddingTop","UploadedFiles","onRemove","uid","abortController","abort","onAdd","_uploadButtonRef$curr","requestUpload","UploadButton","_textareaRef$current9","onClick","lib","icon","overlay","createPortal","activeKeys","detail","GlobalDragOverlay","dragTips","_command$options","subCommand","nextAncestors","_items","_ChatBox2","_set_messageSubmit","_set_chatSubmit","_set_commandSelect","c","_initClass","_applyDecs","styleTexts","styleText","UploadedFilesStyleText","shadowOptions","delegatesFocus","Boolean","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[7218],{1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var a="";n.supports&&(a+="@supports (".concat(n.supports,") {")),n.media&&(a+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(a+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),a+=n.css,i&&(a+="}"),n.media&&(a+="}"),n.supports&&(a+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},23396:(e,t,n)=>{n.d(t,{I:()=>o,K:()=>i,NS:()=>r,t:()=>s});var a=n(52616);let i=function(e){return e.TERMINATE_THE_TASK="TERMINATE_THE_TASK",e}({});const r="bricks/ai-portal/chat-input",o={en:{TERMINATE_THE_TASK:"Terminate the task"},zh:{TERMINATE_THE_TASK:"终止任务"}},s=a.i18n.getFixedT(null,r)},30855:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},45962:(e,t,n)=>{n.r(t),n.d(t,{ChatInput:()=>re});var a,i=n(74635),r=n(70918),o=n(26902),s=n(5536),c=n(86121),l=n(70829),p=n(62740),u=n(18769),d=n.n(u),m=n(90870),f=n(30981),h=n(92879),b=(n(34419),n(52616)),g=n(99126),x=n(53373),v=n.n(x),A=n(23396),w=n(84479),k=n(45387),E=n(51020),T=n(45889),y=n(57227),M=n(21020);let S,C,F,N,R,_,W,I,z,O,D,B,j,H,K,L,P,q,U,$,J,G,Q,V,X;(0,b.initializeI18n)(A.NS,A.I);const Y={lib:"antd",icon:"loading-3-quarters",spinning:!0},Z={lib:"fa",prefix:"far",icon:"circle-stop"},ee=(0,f.wrapBrick)("eo-icon"),te=(0,f.wrapBrick)("ai-portal.icon-button"),{defineElement:ne,property:ae,event:ie}=(0,m.createDecorators)();let re;var oe=new WeakMap,se=new WeakMap,ce=new WeakMap,le=new WeakMap,pe=new WeakMap,ue=new WeakMap,de=new WeakMap,me=new WeakSet,fe=new WeakMap,he=new WeakMap,be=new WeakMap,ge=new WeakMap,xe=new WeakMap;class ve extends f.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,me),(0,r.A)(this,oe,C(this)),(0,r.A)(this,se,(F(this),N(this))),(0,r.A)(this,ce,(R(this),_(this))),(0,r.A)(this,le,(W(this),I(this))),(0,r.A)(this,pe,(z(this),O(this))),(0,r.A)(this,ue,(D(this),B(this))),(0,r.A)(this,de,(j(this),H(this))),(0,r.A)(this,fe,(P(this),e=>{(0,s.A)(me,this,K).emit(e)})),(0,r.A)(this,he,q(this)),(0,r.A)(this,be,(J(this),e=>{(0,s.A)(me,this,U).emit(e)})),(0,r.A)(this,ge,G(this)),(0,r.A)(this,xe,(X(this),()=>{(0,s.A)(me,this,Q).emit()}))}get placeholder(){return(0,l.A)(oe,this)}set placeholder(e){(0,c.A)(oe,this,e)}get autoFocus(){return(0,l.A)(se,this)}set autoFocus(e){(0,c.A)(se,this,e)}get submitDisabled(){return(0,l.A)(ce,this)}set submitDisabled(e){(0,c.A)(ce,this,e)}get supportsTerminate(){return(0,l.A)(le,this)}set supportsTerminate(e){(0,c.A)(le,this,e)}get terminating(){return(0,l.A)(pe,this)}set terminating(e){(0,c.A)(pe,this,e)}get uploadOptions(){return(0,l.A)(ue,this)}set uploadOptions(e){(0,c.A)(ue,this,e)}render(){return d().createElement(Ae,{placeholder:this.placeholder,autoFocus:this.autoFocus,submitDisabled:this.submitDisabled,supportsTerminate:this.supportsTerminate,terminating:this.terminating,uploadOptions:this.uploadOptions,onMessageSubmit:(0,l.A)(fe,this),onChatSubmit:(0,l.A)(be,this),onTerminate:(0,l.A)(xe,this)})}}function Ae(e){let{placeholder:t,autoFocus:n,submitDisabled:a,supportsTerminate:i,terminating:r,uploadOptions:o,onMessageSubmit:s,onChatSubmit:c,onTerminate:l}=e;const p=(0,u.useRef)(null),m=(0,u.useRef)(null),[f,b]=(0,u.useState)(""),x=(0,u.useRef)(""),[w,E]=(0,u.useState)(!1),S=null==o?void 0:o.enabled,C=null==o?void 0:o.accept,{files:F,resetFiles:N,appendFiles:R,removeFile:_,hasFiles:W,allFilesDone:I,fileInfos:z,exceeded:O,paste:D}=(0,T.O)(o),B=(0,u.useRef)(null);(0,u.useEffect)((()=>{S||N()}),[S,N]),(0,u.useEffect)((()=>{var e;n&&!a&&(null===(e=m.current)||void 0===e||e.focus())}),[n,a]);const j=(0,u.useCallback)((e=>{!a&&e&&I&&(s(e),c({content:e,files:z}),x.current="",b(""),N())}),[I,a,s,c,z,N]),H=(0,u.useCallback)((e=>{j(e.currentTarget.value)}),[j]),K=(0,u.useCallback)((e=>{x.current=e.target.value,b(e.target.value)}),[]),L=(0,u.useCallback)((()=>{j(x.current)}),[j]);(0,u.useEffect)((()=>{if(W)return void E(!0);const e=null==p?void 0:p.current;if(!e)return;const t=new g.A((t=>{for(const n of t)n.target===e&&(n.contentBoxSize?n.contentBoxSize[0]?n.contentBoxSize[0].blockSize:n.contentBoxSize.blockSize:n.contentRect.height)>52&&E(!0)}));return t.observe(e),()=>{t.disconnect()}}),[W]),(0,u.useEffect)((()=>{f||W||E(!1)}),[f,W]);const P=(0,u.useCallback)((e=>{var t;for(const t of e.nativeEvent.composedPath())if(t instanceof HTMLTextAreaElement||t instanceof HTMLButtonElement)return;null===(t=m.current)||void 0===t||t.focus()}),[]),q=(0,u.useCallback)((e=>{var t;R(e),null===(t=m.current)||void 0===t||t.focus()}),[R]);return d().createElement(d().Fragment,null,d().createElement("div",{className:"container",onClick:P},d().createElement("div",{className:v()("box",{wrap:w})},d().createElement("div",{className:"input",ref:p},d().createElement(h.e,{containerRef:p,ref:m,value:f,minRows:1,maxRows:4,borderSize:0,paddingSize:W?86:16,autoResize:!0,placeholder:t,submitWhen:"enter-without-shift",onSubmit:H,onChange:K,onPaste:D,style:{paddingTop:W?78:8}}),W&&d().createElement(k.C,{files:F,className:"condensed",onRemove:(e,t)=>{_(e),null==t||t.abort()},onAdd:()=>{var e;null===(e=B.current)||void 0===e||e.requestUpload()}})),d().createElement("div",{className:"toolbar"},S?d().createElement(d().Fragment,null,d().createElement(y.s,{ref:B,accept:C,disabled:O,onChange:e=>{var t;R(e),null===(t=m.current)||void 0===t||t.focus()}}),d().createElement("div",{className:"btn-divider"})):null,a&&i?d().createElement(d().Fragment,null,r?d().createElement(te,{icon:Y,disabled:!0}):d().createElement(te,{icon:Z,tooltip:(0,A.t)(A.K.TERMINATE_THE_TASK),onClick:l})):d().createElement("button",{className:"btn-send",disabled:a||!f||!I,onClick:L},d().createElement(ee,{lib:"fa",icon:"arrow-up"}))))),d().createElement(M.A,{disabled:!S||O||(null==o?void 0:o.dragDisabled),accept:C,dragTips:null==o?void 0:o.dragTips,onFilesDropped:q}))}a=ve,({e:[C,F,N,R,_,W,I,z,O,D,B,j,H,K,L,P,q,U,$,J,G,Q,V,X],c:[re,S]}=(0,p.A)(a,[ne("ai-portal.chat-input",{styleTexts:[w.A,E.A],shadowOptions:{delegatesFocus:!0}})],[[ae(),1,"placeholder"],[ae({type:Boolean}),1,"autoFocus"],[ae({type:Boolean}),1,"submitDisabled"],[ae({type:Boolean}),1,"supportsTerminate"],[ae({type:Boolean}),1,"terminating"],[ae({attribute:!1}),1,"uploadOptions"],[ie({type:"message.submit"}),1,"messageSubmit",e=>(0,l.A)(de,e),(e,t)=>(0,c.A)(de,e,t)],[ie({type:"chat.submit"}),1,"chatSubmit",e=>(0,l.A)(he,e),(e,t)=>(0,c.A)(he,e,t)],[ie({type:"terminate"}),1,"terminate",e=>(0,l.A)(ge,e),(e,t)=>(0,c.A)(ge,e,t)]],0,(e=>xe.has((0,o.A)(e))),f.ReactNextElement)),S()},60136:(e,t,n)=>{n.d(t,{v7:()=>u,NL:()=>d,xf:()=>m});var a=n(61919);const i=n.p+"images/62542537.png",r=n.p+"images/94d7a053.png",o=n.p+"images/0e7e6764.png",s=n.p+"images/7944ebaf.png",c=n.p+"images/c7ec12fe.png",l=n.p+"images/3316492a.png",p=new Map([["md","text/markdown"],["pdf","application/pdf"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["txt","text/plain"],["csv","text/csv"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["png","image/png"],["gif","image/gif"],["bmp","image/bmp"],["webp","image/webp"],["svg","image/svg+xml"]]);function u(e){const[t,n]=a.pipes.unitFormat(e,"bytes",1),i=+t;return`${i>100?Math.round(i):i} ${n}`}function d(e,t){const n=e||m(t);if(n.startsWith("image/"))return["Image",l];switch(n){case"text/markdown":case"text/x-markdown":return["Markdown",i];case"application/pdf":return["PDF",r];case"application/msword":case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return["Word",o];case"application/vnd.ms-excel":case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return["Excel",c];case"application/vnd.ms-powerpoint":case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return["PowerPoint",s]}return n.startsWith("text/")?["Text",i]:["File",l]}function m(e){var t;let n="";const a=null==e?void 0:e.match(/\.([^.]+)$/);return a&&(n=a[1].toLowerCase()),null!==(t=p.get(n))&&void 0!==t?t:"unknown"}},72591:e=>{var t=[];function n(e){for(var n=-1,a=0;a<t.length;a++)if(t[a].identifier===e){n=a;break}return n}function a(e,a){for(var r={},o=[],s=0;s<e.length;s++){var c=e[s],l=a.base?c[0]+a.base:c[0],p=r[l]||0,u="".concat(l," ").concat(p);r[l]=p+1;var d=n(u),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==d)t[d].references++,t[d].updater(m);else{var f=i(m,a);a.byIndex=s,t.splice(s,0,{identifier:u,updater:f,references:1})}o.push(u)}return o}function i(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,i){var r=a(e=e||[],i=i||{});return function(e){e=e||[];for(var o=0;o<r.length;o++){var s=n(r[o]);t[s].references--}for(var c=a(e,i),l=0;l<r.length;l++){var p=n(r[l]);0===t[p].references&&(t[p].updater(),t.splice(p,1))}r=c}}},73656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},84479:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(36758),i=n.n(a),r=n(40935),o=n.n(r)()(i());o.push([e.id,":host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{position:relative;min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font:inherit;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:6px 0 6px 8px;margin-left:auto;display:flex;align-items:center;gap:12px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border-radius:8px;color:#fff}.btn-send:disabled{background:rgba(0,0,0,0.15)}.btn-send:not(:disabled){cursor:pointer}.btn-send:not(:disabled):hover{background:#5166ff}.btn-send:not(:disabled):active{background:#1e33cc}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}.files.condensed{top:2px;left:8px;right:8px}",""]);const s=o.toString()},88128:e=>{var t={};e.exports=function(e,n){var a=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(n)}},89575:(e,t,n)=>{function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},a.apply(this,arguments)}n.d(t,{A:()=>a})},93051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}}]);
2
- //# sourceMappingURL=chat-input.2c5e645b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/chat-input.2c5e645b.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./src/chat-input/i18n.ts","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/chat-input/index.tsx","webpack:///./src/cruise-canvas/utils/file.ts","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///./src/chat-input/styles.shadow.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n TERMINATE_THE_TASK = \"TERMINATE_THE_TASK\",\n}\n\nconst en: Locale = {\n TERMINATE_THE_TASK: \"Terminate the task\",\n};\n\nconst zh: Locale = {\n TERMINATE_THE_TASK: \"终止任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-input\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\nimport styleText from \"./styles.shadow.css\";\nimport { UploadedFiles } from \"../shared/FileUpload/UploadedFiles.js\";\nimport UploadedFilesStyleText from \"../shared/FileUpload/UploadedFiles.shadow.css\";\nimport { useFilesUploading } from \"../shared/useFilesUploading.js\";\nimport {\n UploadButton,\n type UploadButtonRef,\n} from \"../shared/FileUpload/UploadButton.js\";\nimport type { ChatPayload, UploadOptions } from \"../shared/interfaces.js\";\nimport GlobalDragOverlay from \"../shared/FileUpload/GlobalDragOverlay.js\";\n\ninitializeI18n(NS, locales);\n\nconst ICON_LOADING: GeneralIconProps = {\n lib: \"antd\",\n icon: \"loading-3-quarters\",\n spinning: true,\n};\n\nconst ICON_STOP: GeneralIconProps = {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n};\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatInputProps {\n placeholder?: string;\n autoFocus?: boolean;\n submitDisabled?: boolean;\n supportsTerminate?: boolean;\n terminating?: boolean;\n uploadOptions?: UploadOptions;\n}\n\nexport interface ChatInputEvents {\n \"chat.submit\": CustomEvent<ChatPayload>;\n terminate: Event;\n}\n\nexport interface ChatInputMapEvents {\n onChatSubmit: \"chat.submit\";\n onTerminate: \"terminate\";\n}\n\n/**\n * 构件 `ai-portal.chat-input`\n */\nexport\n@defineElement(\"ai-portal.chat-input\", {\n styleTexts: [styleText, UploadedFilesStyleText],\n shadowOptions: {\n delegatesFocus: true,\n },\n})\nclass ChatInput extends ReactNextElement implements ChatInputProps {\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ type: Boolean })\n accessor submitDisabled: boolean | undefined;\n\n @property({ type: Boolean })\n accessor supportsTerminate: boolean | undefined;\n\n @property({ type: Boolean })\n accessor terminating: boolean | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n /**\n * @deprecated Use `chat.submit` event instead\n */\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n @event({ type: \"chat.submit\" })\n accessor #chatSubmit!: EventEmitter<ChatPayload>;\n\n #handleChatSubmit = (payload: ChatPayload) => {\n this.#chatSubmit.emit(payload);\n };\n\n @event({ type: \"terminate\" })\n accessor #terminate!: EventEmitter<void>;\n\n #handleTerminate = () => {\n this.#terminate.emit();\n };\n\n render() {\n return (\n <ChatInputComponent\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n submitDisabled={this.submitDisabled}\n supportsTerminate={this.supportsTerminate}\n terminating={this.terminating}\n uploadOptions={this.uploadOptions}\n onMessageSubmit={this.#handleMessageSubmit}\n onChatSubmit={this.#handleChatSubmit}\n onTerminate={this.#handleTerminate}\n />\n );\n }\n}\n\ninterface ChatInputComponentProps extends ChatInputProps {\n onMessageSubmit: (value: string) => void;\n onChatSubmit: (payload: ChatPayload) => void;\n onTerminate: () => void;\n}\n\nfunction ChatInputComponent({\n placeholder,\n autoFocus,\n submitDisabled,\n supportsTerminate,\n terminating,\n uploadOptions,\n onMessageSubmit,\n onChatSubmit,\n onTerminate,\n}: ChatInputComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [wrap, setWrap] = useState(false);\n const uploadEnabled = uploadOptions?.enabled;\n const uploadAccept = uploadOptions?.accept;\n const {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\n } = useFilesUploading(uploadOptions);\n const uploadButtonRef = useRef<UploadButtonRef>(null);\n\n useEffect(() => {\n if (!uploadEnabled) {\n resetFiles();\n }\n }, [uploadEnabled, resetFiles]);\n\n useEffect(() => {\n if (autoFocus && !submitDisabled) {\n textareaRef.current?.focus();\n }\n }, [autoFocus, submitDisabled]);\n\n const onBeforeSubmit = useCallback(\n (value: string) => {\n if (submitDisabled || !value || !allFilesDone) {\n return;\n }\n\n onMessageSubmit(value);\n onChatSubmit({ content: value, files: fileInfos });\n valueRef.current = \"\";\n setValue(\"\");\n resetFiles();\n },\n [\n allFilesDone,\n submitDisabled,\n onMessageSubmit,\n onChatSubmit,\n fileInfos,\n resetFiles,\n ]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n onBeforeSubmit(e.currentTarget.value);\n },\n [onBeforeSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onBeforeSubmit(valueRef.current);\n }, [onBeforeSubmit]);\n\n // istanbul ignore next\n useEffect(() => {\n if (hasFiles) {\n setWrap(true);\n return;\n }\n const container = containerRef?.current;\n if (!container) {\n return;\n }\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n const currentBlockSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .blockSize\n : entry.contentRect.height;\n if (currentBlockSize > 52) {\n setWrap(true);\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [hasFiles]);\n\n useEffect(() => {\n if (!value && !hasFiles) {\n setWrap(false);\n }\n }, [value, hasFiles]);\n\n const handleContainerClick = useCallback((e: React.MouseEvent) => {\n for (const item of e.nativeEvent.composedPath()) {\n if (\n item instanceof HTMLTextAreaElement ||\n item instanceof HTMLButtonElement\n ) {\n return;\n }\n }\n textareaRef.current?.focus();\n }, []);\n\n const onFilesDropped = useCallback(\n (files: File[]) => {\n appendFiles(files);\n textareaRef.current?.focus();\n },\n [appendFiles]\n );\n\n return (\n <>\n <div className=\"container\" onClick={handleContainerClick}>\n <div className={classNames(\"box\", { wrap })}>\n <div className=\"input\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={1}\n maxRows={4}\n borderSize={0}\n paddingSize={hasFiles ? 86 : 16}\n autoResize\n placeholder={placeholder}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n onPaste={paste}\n style={{\n paddingTop: hasFiles ? 78 : 8,\n }}\n />\n {hasFiles && (\n <UploadedFiles\n files={files!}\n className=\"condensed\"\n onRemove={(uid, abortController) => {\n removeFile(uid);\n abortController?.abort();\n }}\n onAdd={() => {\n uploadButtonRef.current?.requestUpload();\n }}\n />\n )}\n </div>\n <div className=\"toolbar\">\n {uploadEnabled ? (\n <>\n <UploadButton\n ref={uploadButtonRef}\n accept={uploadAccept}\n disabled={exceeded}\n onChange={(files) => {\n appendFiles(files);\n textareaRef.current?.focus();\n }}\n />\n <div className=\"btn-divider\"></div>\n </>\n ) : null}\n {!submitDisabled || !supportsTerminate ? (\n <button\n className=\"btn-send\"\n disabled={submitDisabled || !value || !allFilesDone}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" icon=\"arrow-up\" />\n </button>\n ) : (\n <>\n {terminating ? (\n <WrappedIconButton icon={ICON_LOADING} disabled />\n ) : (\n <WrappedIconButton\n icon={ICON_STOP}\n tooltip={t(K.TERMINATE_THE_TASK)}\n onClick={onTerminate}\n />\n )}\n </>\n )}\n </div>\n </div>\n </div>\n <GlobalDragOverlay\n disabled={!uploadEnabled || exceeded || uploadOptions?.dragDisabled}\n accept={uploadAccept}\n dragTips={uploadOptions?.dragTips}\n onFilesDropped={onFilesDropped}\n />\n </>\n );\n}\n","import { pipes } from \"@easyops-cn/brick-next-pipes\";\nimport fileText from \"../images/file-text@2x.png\";\nimport filePdf from \"../images/file-pdf@2x.png\";\nimport fileDoc from \"../images/file-doc@2x.png\";\nimport filePpt from \"../images/file-ppt@2x.png\";\nimport fileXls from \"../images/file-xls@2x.png\";\nimport fileOther from \"../images/file-other@2x.png\";\n\nconst MIME_TYPES = new Map<string, string>([\n [\"md\", \"text/markdown\"],\n [\"pdf\", \"application/pdf\"],\n [\"doc\", \"application/msword\"],\n [\n \"docx\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n [\"txt\", \"text/plain\"],\n [\"csv\", \"text/csv\"],\n [\"xls\", \"application/vnd.ms-excel\"],\n [\"xlsx\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n [\"ppt\", \"application/vnd.ms-powerpoint\"],\n [\n \"pptx\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n ],\n [\"jpg\", \"image/jpeg\"],\n [\"jpeg\", \"image/jpeg\"],\n [\"png\", \"image/png\"],\n [\"gif\", \"image/gif\"],\n [\"bmp\", \"image/bmp\"],\n [\"webp\", \"image/webp\"],\n [\"svg\", \"image/svg+xml\"],\n]);\n\nexport function formatFileSize(size: number) {\n const [value, unit] = pipes.unitFormat(size, \"bytes\", 1);\n const number = +value;\n return `${number > 100 ? Math.round(number) : number} ${unit}`;\n}\n\nexport function getFileTypeAndIcon(\n mimeType: string | undefined,\n filename: string | undefined\n): [type: string, icon: string] {\n const type = mimeType || getMimeTypeByFilename(filename);\n\n if (type.startsWith(\"image/\")) {\n return [\"Image\", fileOther];\n }\n\n switch (type) {\n case \"text/markdown\":\n case \"text/x-markdown\":\n return [\"Markdown\", fileText];\n case \"application/pdf\":\n return [\"PDF\", filePdf];\n case \"application/msword\":\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":\n return [\"Word\", fileDoc];\n case \"application/vnd.ms-excel\":\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":\n return [\"Excel\", fileXls];\n case \"application/vnd.ms-powerpoint\":\n case \"application/vnd.openxmlformats-officedocument.presentationml.presentation\":\n return [\"PowerPoint\", filePpt];\n }\n\n if (type.startsWith(\"text/\")) {\n return [\"Text\", fileText];\n }\n\n return [\"File\", fileOther];\n}\n\nexport function getMimeTypeByFilename(filename: string | undefined): string {\n let ext = \"\";\n const matches = filename?.match(/\\.([^.]+)$/);\n if (matches) {\n ext = matches[1].toLowerCase();\n }\n return MIME_TYPES.get(ext) ?? \"unknown\";\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{position:relative;min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font:inherit;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:6px 0 6px 8px;margin-left:auto;display:flex;align-items:center;gap:12px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border-radius:8px;color:#fff}.btn-send:disabled{background:rgba(0,0,0,0.15)}.btn-send:not(:disabled){cursor:pointer}.btn-send:not(:disabled):hover{background:#5166ff}.btn-send:not(:disabled):active{background:#1e33cc}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}.files.condensed{top:2px;left:8px;right:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","K","NS","locales","en","TERMINATE_THE_TASK","zh","t","i18n","getFixedT","nonce","setAttribute","initializeI18n","ICON_LOADING","lib","icon","spinning","ICON_STOP","prefix","WrappedIcon","wrapBrick","WrappedIconButton","defineElement","property","event","createDecorators","_ChatInput","_A","WeakMap","_B","_C","_D","_E","_F","_G","_ChatInput_brand","WeakSet","_handleMessageSubmit","_H","_handleChatSubmit","_I","_handleTerminate","ChatInput","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_submitDisabled","_init_extra_submitDisabled","_init_supportsTerminate","_init_extra_supportsTerminate","_init_terminating","_init_extra_terminating","_init_uploadOptions","_init_extra_uploadOptions","_init_messageSubmit","_init_extra_messageSubmit","value","_classPrivateGetter","this","_get_messageSubmit","emit","_init_chatSubmit","_init_extra_chatSubmit","payload","_get_chatSubmit","_init_terminate","_init_extra_terminate","_get_terminate","placeholder","_classPrivateFieldGet","v","_classPrivateFieldSet","autoFocus","submitDisabled","supportsTerminate","terminating","uploadOptions","render","React","ChatInputComponent","onMessageSubmit","onChatSubmit","onTerminate","_ref","containerRef","useRef","textareaRef","setValue","useState","valueRef","wrap","setWrap","uploadEnabled","enabled","uploadAccept","accept","files","resetFiles","appendFiles","removeFile","hasFiles","allFilesDone","fileInfos","exceeded","paste","useFilesUploading","uploadButtonRef","useEffect","_textareaRef$current","current","focus","onBeforeSubmit","useCallback","content","handleSubmit","e","currentTarget","handleChange","target","handleSubmitClick","container","observer","ResizeObserver","entries","entry","contentBoxSize","blockSize","contentRect","height","observe","disconnect","handleContainerClick","_textareaRef$current2","item","nativeEvent","composedPath","HTMLTextAreaElement","HTMLButtonElement","onFilesDropped","_textareaRef$current3","className","onClick","classNames","ref","TextareaAutoResize","minRows","maxRows","borderSize","paddingSize","autoResize","submitWhen","onSubmit","onChange","onPaste","style","paddingTop","UploadedFiles","onRemove","uid","abortController","abort","onAdd","_uploadButtonRef$curr","requestUpload","UploadButton","disabled","_textareaRef$current4","tooltip","GlobalDragOverlay","dragDisabled","dragTips","_ChatInput2","_set_messageSubmit","_set_chatSubmit","_set_terminate","c","_initClass","_applyDecs","styleTexts","styleText","UploadedFilesStyleText","shadowOptions","delegatesFocus","type","Boolean","attribute","o","_","has","_checkInRHS","MIME_TYPES","Map","formatFileSize","size","unit","pipes","unitFormat","number","Math","round","getFileTypeAndIcon","mimeType","filename","getMimeTypeByFilename","startsWith","fileOther","fileText","filePdf","fileDoc","fileXls","filePpt","_MIME_TYPES$get","ext","matches","match","toLowerCase","get","stylesInDOM","getIndexByIdentifier","identifier","result","i","modulesToDom","list","idCountMap","identifiers","id","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","push","api","domAPI","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","___CSS_LOADER_EXPORT___","toString","memo","insert","styleTarget","querySelector","window","HTMLIFrameElement","contentDocument","head","getTarget","Error","_extends","Object","assign","bind","source","key","prototype","hasOwnProperty","call","element","createElement","setAttributes","attributes"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[366],{23182:(e,t,i)=>{i.r(t),i.d(t,{ChatStream:()=>Ve});var s,a=i(74635),h=i(70918),n=i(26902),r=i(5536),o=i(86121),A=i(70829),p=i(62740),w=i(18769),c=i.n(w),l=i(90870),u=i(30981),d=(i(34419),i(52616)),k=i(48952),b=i(62232);let m,y,M,W,v,F,f,g,O,S,I,U,D,C,N,R,x,V,E,T,B,_,j,q,H,P,z,G,J,K,L,Q,X,Y,Z,$,ee,te,ie,se,ae,he,ne,re,oe,Ae,pe,we,ce,le,ue,de,ke,be,me,ye,Me,We,ve,Fe,fe,ge,Oe,Se,Ie,Ue;(0,d.initializeI18n)(k.NS,k.I);const{defineElement:De,property:Ce,event:Ne,method:Re}=(0,l.createDecorators)(),xe=(0,w.forwardRef)(b.C);let Ve;var Ee=new WeakMap,Te=new WeakMap,Be=new WeakMap,_e=new WeakMap,je=new WeakMap,qe=new WeakMap,He=new WeakMap,Pe=new WeakMap,ze=new WeakMap,Ge=new WeakMap,Je=new WeakMap,Ke=new WeakMap,Le=new WeakMap,Qe=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Ze=new WeakMap,$e=new WeakMap,et=new WeakMap,tt=new WeakSet,it=new WeakMap,st=new WeakMap,at=new WeakMap,ht=new WeakMap,nt=new WeakMap,rt=new WeakMap,ot=new WeakMap,At=new WeakMap,pt=new WeakMap,wt=new WeakMap,ct=new WeakMap,lt=new WeakMap,ut=new WeakMap,dt=new WeakMap;class kt extends u.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,tt),(0,h.A)(this,Ee,(m(this),M(this))),(0,h.A)(this,Te,(W(this),v(this))),(0,h.A)(this,Be,(F(this),f(this))),(0,h.A)(this,_e,(g(this),O(this))),(0,h.A)(this,je,(S(this),I(this))),(0,h.A)(this,qe,(U(this),D(this))),(0,h.A)(this,He,(C(this),N(this))),(0,h.A)(this,Pe,(R(this),x(this))),(0,h.A)(this,ze,(V(this),E(this))),(0,h.A)(this,Ge,(T(this),B(this))),(0,h.A)(this,Je,(_(this),j(this))),(0,h.A)(this,Ke,(q(this),H(this))),(0,h.A)(this,Le,(P(this),z(this))),(0,h.A)(this,Qe,(G(this),J(this))),(0,h.A)(this,Xe,(K(this),L(this))),(0,h.A)(this,Ye,(Q(this),X(this))),(0,h.A)(this,Ze,(Y(this),Z(this))),(0,h.A)(this,$e,($(this),ee(this))),(0,h.A)(this,et,(te(this),ie(this))),(0,h.A)(this,it,(he(this),()=>{(0,r.A)(tt,this,se).emit()})),(0,h.A)(this,st,ne(this)),(0,h.A)(this,at,(Ae(this),()=>{(0,r.A)(tt,this,re).emit()})),(0,h.A)(this,ht,pe(this)),(0,h.A)(this,nt,(le(this),e=>{(0,r.A)(tt,this,we).emit(e)})),(0,h.A)(this,rt,ue(this)),(0,h.A)(this,ot,(be(this),e=>{(0,r.A)(tt,this,de).emit(e)})),(0,h.A)(this,At,me(this)),(0,h.A)(this,pt,(We(this),()=>{(0,r.A)(tt,this,ye).emit("canvas")})),(0,h.A)(this,wt,ve(this)),(0,h.A)(this,ct,(ge(this),e=>{(0,r.A)(tt,this,Fe).emit(e)})),(0,h.A)(this,lt,Oe(this)),(0,h.A)(this,ut,(Ue(this),()=>{(0,r.A)(tt,this,Se).emit()})),(0,h.A)(this,dt,(0,w.createRef)())}get conversationId(){return(0,A.A)(Ee,this)}set conversationId(e){(0,o.A)(Ee,this,e)}get initialRequest(){return(0,A.A)(Te,this)}set initialRequest(e){(0,o.A)(Te,this,e)}get replay(){return(0,A.A)(Be,this)}set replay(e){(0,o.A)(Be,this,e)}get replayDelay(){return(0,A.A)(_e,this)}set replayDelay(e){(0,o.A)(_e,this,e)}get supports(){return(0,A.A)(je,this)}set supports(e){(0,o.A)(je,this,e)}get showHumanActions(){return(0,A.A)(qe,this)}set showHumanActions(e){(0,o.A)(qe,this,e)}get showFeedback(){return(0,A.A)(He,this)}set showFeedback(e){(0,o.A)(He,this,e)}get showFeedbackAfterFailed(){return(0,A.A)(Pe,this)}set showFeedbackAfterFailed(e){(0,o.A)(Pe,this,e)}get showFeedbackOnView(){return(0,A.A)(ze,this)}set showFeedbackOnView(e){(0,o.A)(ze,this,e)}get showUiSwitch(){return(0,A.A)(Ge,this)}set showUiSwitch(e){(0,o.A)(Ge,this,e)}get hideMermaid(){return(0,A.A)(Je,this)}set hideMermaid(e){(0,o.A)(Je,this,e)}get previewUrlTemplate(){return(0,A.A)(Ke,this)}set previewUrlTemplate(e){(0,o.A)(Ke,this,e)}get showCases(){return(0,A.A)(Le,this)}set showCases(e){(0,o.A)(Le,this,e)}get exampleProjects(){return(0,A.A)(Qe,this)}set exampleProjects(e){(0,o.A)(Qe,this,e)}get tryItOutUrl(){return(0,A.A)(Xe,this)}set tryItOutUrl(e){(0,o.A)(Xe,this,e)}get uploadOptions(){return(0,A.A)(Ye,this)}set uploadOptions(e){(0,o.A)(Ye,this,e)}get notices(){return(0,A.A)(Ze,this)}set notices(e){(0,o.A)(Ze,this,e)}get showNoticeIcon(){return(0,A.A)($e,this)}set showNoticeIcon(e){(0,o.A)($e,this,e)}resumed(){var e,t;null===(e=(0,A.A)(dt,this).current)||void 0===e||null===(t=e.resumed)||void 0===t||t.call(e)}feedbackSubmitDone(){var e;null===(e=(0,A.A)(dt,this).current)||void 0===e||e.feedbackSubmitDone()}feedbackSubmitFailed(){var e;null===(e=(0,A.A)(dt,this).current)||void 0===e||e.feedbackSubmitFailed()}feedbackOnViewDone(e){var t;null===(t=(0,A.A)(dt,this).current)||void 0===t||t.feedbackOnViewDone(e)}render(){return c().createElement(xe,{conversationId:this.conversationId,initialRequest:this.initialRequest,replay:this.replay,replayDelay:this.replayDelay,supports:this.supports,showHumanActions:this.showHumanActions,showFeedback:this.showFeedback,showFeedbackAfterFailed:this.showFeedbackAfterFailed,showFeedbackOnView:this.showFeedbackOnView,showUiSwitch:this.showUiSwitch,showNoticeIcon:this.showNoticeIcon,previewUrlTemplate:this.previewUrlTemplate,showCases:this.showCases,exampleProjects:this.exampleProjects,tryItOutUrl:this.tryItOutUrl,uploadOptions:this.uploadOptions,notices:this.notices,onShare:(0,A.A)(it,this),onTerminate:(0,A.A)(at,this),onSubmitFeedback:(0,A.A)(nt,this),onSwitchToCanvas:(0,A.A)(pt,this),onFeedbackOnView:(0,A.A)(ot,this),onDetailChange:(0,A.A)(ct,this),onMarkNoticesRead:(0,A.A)(ut,this),ref:(0,A.A)(dt,this)})}}s=kt,({e:[M,W,v,F,f,g,O,S,I,U,D,C,N,R,x,V,E,T,B,_,j,q,H,P,z,G,J,K,L,Q,X,Y,Z,$,ee,te,ie,se,ae,he,ne,re,oe,Ae,pe,we,ce,le,ue,de,ke,be,me,ye,Me,We,ve,Fe,fe,ge,Oe,Se,Ie,Ue,m],c:[Ve,y]}=(0,p.A)(s,[De("ai-portal.chat-stream",{shadowOptions:!1})],[[Ce(),1,"conversationId"],[Ce({attribute:!1,render:!1}),1,"initialRequest"],[Ce({type:Boolean}),1,"replay"],[Ce({type:Number}),1,"replayDelay"],[Ce({attribute:!1}),1,"supports"],[Ce({type:Boolean}),1,"showHumanActions"],[Ce({type:Boolean}),1,"showFeedback"],[Ce({type:Boolean}),1,"showFeedbackAfterFailed"],[Ce({type:Boolean}),1,"showFeedbackOnView"],[Ce({type:Boolean}),1,"showUiSwitch"],[Ce({type:Boolean,render:!1}),1,"hideMermaid"],[Ce(),1,"previewUrlTemplate"],[Ce({attribute:!1}),1,"showCases"],[Ce({attribute:!1}),1,"exampleProjects"],[Ce(),1,"tryItOutUrl"],[Ce({attribute:!1}),1,"uploadOptions"],[Ce({attribute:!1}),1,"notices"],[Ce({type:Boolean}),1,"showNoticeIcon"],[Ne({type:"share"}),1,"shareEvent",e=>(0,A.A)(et,e),(e,t)=>(0,o.A)(et,e,t)],[Ne({type:"terminate"}),1,"terminateEvent",e=>(0,A.A)(st,e),(e,t)=>(0,o.A)(st,e,t)],[Ne({type:"feedback.submit"}),1,"feedbackSubmitEvent",e=>(0,A.A)(ht,e),(e,t)=>(0,o.A)(ht,e,t)],[Ne({type:"feedback.on.view"}),1,"feedbackOnViewEvent",e=>(0,A.A)(rt,e),(e,t)=>(0,o.A)(rt,e,t)],[Ne({type:"ui.switch"}),1,"switch",e=>(0,A.A)(At,e),(e,t)=>(0,o.A)(At,e,t)],[Ne({type:"detail.change"}),1,"detailChange",e=>(0,A.A)(wt,e),(e,t)=>(0,o.A)(wt,e,t)],[Ne({type:"mark.notices.read"}),1,"markNoticesReadEvent",e=>(0,A.A)(lt,e),(e,t)=>(0,o.A)(lt,e,t)],[Re(),2,"resumed"],[Re(),2,"feedbackSubmitDone"],[Re(),2,"feedbackSubmitFailed"],[Re(),2,"feedbackOnViewDone"]],0,(e=>dt.has((0,n.A)(e))),u.ReactNextElement)),y()}}]);
2
- //# sourceMappingURL=chat-stream.da44fc66.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/chat-stream.da44fc66.js","mappings":"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","sources":["webpack:///./src/chat-stream/index.tsx"],"sourcesContent":["// istanbul ignore file: experimental\nimport React, { createRef, forwardRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport type { FeedbackDetail } from \"../cruise-canvas/interfaces.js\";\nimport { ChatStreamComponent } from \"./ChatStream.js\";\nimport type {\n ExampleProject,\n RequestStore,\n ShowCaseType,\n UploadOptions,\n NoticeItem,\n} from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatStreamProps {\n conversationId?: string;\n initialRequest?: RequestStore | null;\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showHumanActions?: boolean;\n showFeedback?: boolean;\n showFeedbackAfterFailed?: boolean;\n showFeedbackOnView?: boolean;\n showUiSwitch?: boolean;\n showNoticeIcon?: boolean;\n previewUrlTemplate?: string;\n showCases?: ShowCaseType[];\n exampleProjects?: ExampleProject[];\n tryItOutUrl?: string;\n uploadOptions?: UploadOptions;\n notices?: NoticeItem[];\n}\n\nexport interface ConversationDetail {\n projectId?: string;\n}\n\nconst ForwardedChatStreamComponent = forwardRef(ChatStreamComponent);\n\n/**\n * 构件 `ai-portal.chat-stream`\n */\nexport\n@defineElement(\"ai-portal.chat-stream\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass ChatStream extends ReactNextElement implements ChatStreamProps {\n @property()\n accessor conversationId: string | undefined;\n\n /** 初始请求数据。仅初始设置有效。 */\n @property({ attribute: false, render: false })\n accessor initialRequest: RequestStore | undefined | null;\n\n /** 是否启用回放。仅初始设置有效。 */\n @property({ type: Boolean })\n accessor replay: boolean | undefined;\n\n /**\n * 设置回放时消息之间的时间间隔,单位为秒。仅初始设置有效。\n *\n * @default 2\n */\n @property({ type: Number })\n accessor replayDelay: number | undefined;\n\n @property({ attribute: false })\n accessor supports: Record<string, boolean> | undefined;\n\n @property({ type: Boolean })\n accessor showHumanActions: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedback: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackAfterFailed: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackOnView: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showUiSwitch: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor hideMermaid: boolean | undefined;\n\n @property()\n accessor previewUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor showCases: ShowCaseType[] | undefined;\n\n @property({ attribute: false })\n accessor exampleProjects: ExampleProject[] | undefined;\n\n @property()\n accessor tryItOutUrl: string | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n @property({ attribute: false })\n accessor notices: NoticeItem[] | undefined;\n\n @property({ type: Boolean })\n accessor showNoticeIcon: boolean | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"terminate\" })\n accessor #terminateEvent!: EventEmitter<void>;\n\n #onTerminate = () => {\n this.#terminateEvent.emit();\n };\n\n @event({ type: \"feedback.submit\" })\n accessor #feedbackSubmitEvent!: EventEmitter<FeedbackDetail>;\n\n #onSubmitFeedback = (detail: FeedbackDetail) => {\n this.#feedbackSubmitEvent.emit(detail);\n };\n\n @event({ type: \"feedback.on.view\" })\n accessor #feedbackOnViewEvent!: EventEmitter<string>;\n\n #onFeedbackOnView = (viewId: string) => {\n this.#feedbackOnViewEvent.emit(viewId);\n };\n\n @event({ type: \"ui.switch\" })\n accessor #switch!: EventEmitter<\"canvas\">;\n\n #onSwitchToCanvas = () => {\n this.#switch.emit(\"canvas\");\n };\n\n @event({ type: \"detail.change\" })\n accessor #detailChange!: EventEmitter<ConversationDetail>;\n\n #onDetailChange = (detail: ConversationDetail) => {\n this.#detailChange.emit(detail);\n };\n\n @event({ type: \"mark.notices.read\" })\n accessor #markNoticesReadEvent!: EventEmitter<void>;\n\n #onMarkNoticesRead = () => {\n this.#markNoticesReadEvent.emit();\n };\n\n #ref = createRef<ChatStreamRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed?.();\n }\n\n @method()\n feedbackSubmitDone() {\n this.#ref.current?.feedbackSubmitDone();\n }\n\n @method()\n feedbackSubmitFailed() {\n this.#ref.current?.feedbackSubmitFailed();\n }\n\n @method()\n feedbackOnViewDone(viewId: string) {\n this.#ref.current?.feedbackOnViewDone(viewId);\n }\n\n render() {\n return (\n <ForwardedChatStreamComponent\n conversationId={this.conversationId!}\n initialRequest={this.initialRequest}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showHumanActions={this.showHumanActions}\n showFeedback={this.showFeedback}\n showFeedbackAfterFailed={this.showFeedbackAfterFailed}\n showFeedbackOnView={this.showFeedbackOnView}\n showUiSwitch={this.showUiSwitch}\n showNoticeIcon={this.showNoticeIcon}\n previewUrlTemplate={this.previewUrlTemplate}\n showCases={this.showCases}\n exampleProjects={this.exampleProjects}\n tryItOutUrl={this.tryItOutUrl}\n uploadOptions={this.uploadOptions}\n notices={this.notices}\n onShare={this.#onShare}\n onTerminate={this.#onTerminate}\n onSubmitFeedback={this.#onSubmitFeedback}\n onSwitchToCanvas={this.#onSwitchToCanvas}\n onFeedbackOnView={this.#onFeedbackOnView}\n onDetailChange={this.#onDetailChange}\n onMarkNoticesRead={this.#onMarkNoticesRead}\n ref={this.#ref}\n />\n );\n }\n}\n\nexport interface ChatStreamRef {\n resumed?: () => void;\n feedbackSubmitDone: () => void;\n feedbackSubmitFailed: () => void;\n feedbackOnViewDone: (viewId: string) => void;\n}\n"],"names":["initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","ForwardedChatStreamComponent","forwardRef","ChatStreamComponent","_ChatStream","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_ChatStream_brand","WeakSet","_onShare","_T","_onTerminate","_U","_onSubmitFeedback","_V","_onFeedbackOnView","_W","_onSwitchToCanvas","_X","_onDetailChange","_Y","_onMarkNoticesRead","_ref","ChatStream","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_conversationId","_init_extra_conversationId","_init_initialRequest","_init_extra_initialRequest","_init_replay","_init_extra_replay","_init_replayDelay","_init_extra_replayDelay","_init_supports","_init_extra_supports","_init_showHumanActions","_init_extra_showHumanActions","_init_showFeedback","_init_extra_showFeedback","_init_showFeedbackAfterFailed","_init_extra_showFeedbackAfterFailed","_init_showFeedbackOnView","_init_extra_showFeedbackOnView","_init_showUiSwitch","_init_extra_showUiSwitch","_init_hideMermaid","_init_extra_hideMermaid","_init_previewUrlTemplate","_init_extra_previewUrlTemplate","_init_showCases","_init_extra_showCases","_init_exampleProjects","_init_extra_exampleProjects","_init_tryItOutUrl","_init_extra_tryItOutUrl","_init_uploadOptions","_init_extra_uploadOptions","_init_notices","_init_extra_notices","_init_showNoticeIcon","_init_extra_showNoticeIcon","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","_init_terminateEvent","_init_extra_terminateEvent","_get_terminateEvent","_init_feedbackSubmitEvent","_init_extra_feedbackSubmitEvent","detail","_get_feedbackSubmitEvent","_init_feedbackOnViewEvent","_init_extra_feedbackOnViewEvent","viewId","_get_feedbackOnViewEvent","_init_switch","_init_extra_switch","_get_switch","_init_detailChange","_init_extra_detailChange","_get_detailChange","_init_markNoticesReadEvent","_init_extra_markNoticesReadEvent","_get_markNoticesReadEvent","createRef","conversationId","_classPrivateFieldGet","v","_classPrivateFieldSet","initialRequest","replay","replayDelay","supports","showHumanActions","showFeedback","showFeedbackAfterFailed","showFeedbackOnView","showUiSwitch","hideMermaid","previewUrlTemplate","showCases","exampleProjects","tryItOutUrl","uploadOptions","notices","showNoticeIcon","resumed","_classPrivateFieldGet2","_classPrivateFieldGet3","current","call","feedbackSubmitDone","_classPrivateFieldGet4","feedbackSubmitFailed","_classPrivateFieldGet5","feedbackOnViewDone","_classPrivateFieldGet6","render","React","onShare","onTerminate","onSubmitFeedback","onSwitchToCanvas","onFeedbackOnView","onDetailChange","onMarkNoticesRead","ref","_ChatStream2","e","_set_shareEvent","_set_terminateEvent","_set_feedbackSubmitEvent","_set_feedbackOnViewEvent","_set_switch","_set_detailChange","_set_markNoticesReadEvent","c","_initClass","_applyDecs","shadowOptions","attribute","type","Boolean","Number","o","_","has","_checkInRHS"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2052,4595],{5536:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(12559);function o(e,t,n){return n((0,r.A)(e,t))}},9884:(e,t,n)=>{n.d(t,{A:()=>d});var r=n(36758),o=n.n(r),i=n(40935),a=n.n(i),s=n(20062),c=n.n(s),l=new URL(n(17932),n.b),p=a()(o()),u=c()(l);p.push([e.id,`:host{display:inline-block}:host([hidden]){display:none}.popover::part(popup){border-radius:12px}.notice-dropdown-content{max-width:500px;border-radius:12px;display:flex;flex-direction:column;background-image:url(${u});background-size:cover}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.title{font-size:18px;font-weight:500;color:var(--text-color-title)}.close-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#000}ul{list-style:none;margin:0;padding:4px}.content{flex:1;max-height:500px;overflow-y:auto}.link{display:block}.link::part(link){display:flex;align-items:start;gap:12px;padding:10px 16px}.link:hover::part(link):hover{background-color:rgba(0,0,0,0.04);border-radius:8px}.link:last-child{border-bottom:none}.icon-wrapper{position:relative;flex-shrink:0;width:18px;height:18px;padding:2px 0;display:flex;align-items:center;justify-content:center;font-size:18px}.message-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.primary-text{font-size:14px;font-weight:400;line-height:20px;color:var(--text-color-title)}.secondary-text{color:rgba(0,0,0,0.45)}.empty-state{padding:60px 20px;text-align:center;font-size:14px;color:var(--text-color-secondary)}.footer{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 10px;box-shadow:0px -12px 16px -8px rgba(0,0,0,0.08);border-radius:0px 0px 12px 12px}.footer .footer-button::part(button){color:var(--text-color-secondary)}.footer .footer-button::part(button):hover{color:var(--text-color-default)!important}`,""]);const d=p.toString()},11369:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(17545);function o(e){var t=function(e){if("object"!=(0,r.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=(0,r.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,r.A)(t)?t:t+""}},12559:(e,t,n)=>{function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},17545:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{A:()=>r})},17932:(e,t,n)=>{e.exports=n.p+"images/391238ae.png"},20062:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},26902:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(17545);function o(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,r.A)(e):"null"));return e}},36758:e=>{e.exports=function(e){return e[1]}},40935:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(a[c]=!0)}for(var l=0;l<e.length;l++){var p=[].concat(e[l]);r&&a[p[0]]||(void 0!==i&&(void 0===p[5]||(p[1]="@layer".concat(p[5].length>0?" ".concat(p[5]):""," {").concat(p[1],"}")),p[5]=i),n&&(p[2]?(p[1]="@media ".concat(p[2]," {").concat(p[1],"}"),p[2]=n):p[2]=n),o&&(p[4]?(p[1]="@supports (".concat(p[4],") {").concat(p[1],"}"),p[4]=o):p[4]="".concat(o)),t.push(p))}},t}},48557:(e,t,n)=>{e.exports=n.p+"images/218d5865.svg"},48839:(e,t,n)=>{e.exports=n.p+"images/0155287e.svg"},52376:(e,t,n)=>{e.exports=n.p+"images/0e89dec0.svg"},62740:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(17545),o=n(26902);function i(e,t,n){"symbol"==(0,r.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var a=n(11369);function s(e,t,n,s,c,l){var p,u,d,h,f,m,g,v=Symbol.metadata||Symbol.for("Symbol.metadata"),E=Object.defineProperty,A=Object.create,y=[A(null),A(null)],x=t.length;function b(t,n,r){return function(o,i){n&&(i=o,o=e);for(var a=0;a<t.length;a++)i=t[a].apply(o,r?[i]:[]);return r?i:o}}function w(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return e}function S(e,t,n,o,a,s,c,l,d,h,f){function m(e){if(!f(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),v=t[3],A=!c,x=1===a,S=3===a,k=4===a,N=2===a;function M(t,n,r){return function(o,i){return n&&(i=o,o=e),r&&r(o),_[t].call(o,i)}}if(!A){var _={},C=[],T=S?"get":k||x?"set":"value";if(d?(h||x?_={get:i((function(){return v(this)}),o,"get"),set:function(e){t[4](this,e)}}:_[T]=v,h||i(_[T],o,N?"":T)):h||(_=Object.getOwnPropertyDescriptor(e,o)),!h&&!d){if((u=y[+l][o])&&7!=(u^a))throw Error("Decorating two elements with the same name ("+_[T].name+") is not supported yet");y[+l][o]=a<3?1:a}}for(var R=e,W=g.length-1;W>=0;W-=n?2:1){var L=w(g[W],"A decorator","be",!0),j=n?g[W-1]:void 0,B={},G={kind:["field","accessor","method","getter","setter","class"][a],name:o,metadata:p,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");w(t,"An initializer","be",!0),s.push(t)}.bind(null,B)};if(A)u=L.call(j,R,G),B.v=1,w(u,"class decorators","return")&&(R=u);else if(G.static=l,G.private=d,u=G.access={has:d?f.bind():function(e){return o in e}},k||(u.get=d?N?function(e){return m(e),_.value}:M("get",0,m):function(e){return e[o]}),N||S||(u.set=d?M("set",0,m):function(e,t){e[o]=t}),R=L.call(j,x?{get:_.get,set:_.set}:_[T],G),B.v=1,x){if("object"==(0,r.A)(R)&&R)(u=w(R.get,"accessor.get"))&&(_.get=u),(u=w(R.set,"accessor.set"))&&(_.set=u),(u=w(R.init,"accessor.init"))&&C.unshift(u);else if(void 0!==R)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(R,(h?"field":"method")+" decorators","return")&&(h?C.unshift(R):_[T]=R)}return a<2&&c.push(b(C,l,1),b(s,l,0)),h||A||(d?x?c.splice(-1,0,M("get",l),M("set",l)):c.push(N?_[T]:w.call.bind(_[T])):E(e,o,_)),R}function k(e){return E(e,v,{configurable:!0,enumerable:!0,value:p})}return void 0!==l&&(p=l[v]),p=A(null==p?null:p),f=[],m=function(e){e&&f.push(b(e))},g=function(t,r){for(var i=0;i<n.length;i++){var s=n[i],l=s[1],p=7&l;if((8&l)==t&&!p==r){var u=s[2],m=!!s[3],g=16&l;S(t?e:e.prototype,s,g,m?"#"+u:(0,a.A)(u),p,p<2?[]:t?h=h||[]:d=d||[],f,!!t,m,r,t&&m?function(t){return(0,o.A)(t)===e}:c)}}},g(8,0),g(0,0),g(8,1),g(0,1),m(d),m(h),u=f,x||k(e),{e:u,get c(){var n=[];return x&&[k(e=S(e,[t],s,e.name,5,n)),b(n,1)]}}}},65549:(e,t,n)=>{n.d(t,{Q:()=>o});var r=n(41030);function o(e,t){return null==e?void 0:e.replace(/{{(.*?)}}/g,((e,n)=>(0,r.get)(t,n.trim())))}},70829:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(12559);function o(e,t){return e.get((0,r.A)(e,t))}},70918:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(72016);function o(e,t,n){(0,r.A)(e,t),t.set(e,n)}},72016:(e,t,n)=>{function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},72419:(e,t,n)=>{n.r(t),n.d(t,{NoticeDropdown:()=>re});var r,o=n(74635),i=n(70918),a=n(26902),s=n(5536),c=n(86121),l=n(70829),p=n(62740),u=n(18769),d=n.n(u),h=n(90870),f=n(30981),m=(n(34419),n(52616)),g=n(84905),v=n(9884),E=n(65549),A=n(48839),y=n(48557),x=n(91799),b=n(52376);let w,S,k,N,M,_,C,T,R,W,L,j,B,G,P,O,z,I,K,D,U,Q,V,$,F;(0,m.initializeI18n)(g.NS,g.I);const{defineElement:H,property:Z,event:q}=(0,h.createDecorators)(),J=(0,f.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",onBeforeVisibleChange:"before.visible.change"}),X=(0,f.wrapBrick)("eo-icon"),Y=(0,f.wrapBrick)("eo-link"),ee=(0,f.wrapBrick)("eo-button"),te=(0,f.wrapBrick)("eo-counter-badge"),ne=(0,f.wrapBrick)("ai-portal.icon-button");let re;var oe=new WeakMap,ie=new WeakMap,ae=new WeakMap,se=new WeakMap,ce=new WeakMap,le=new WeakMap,pe=new WeakMap,ue=new WeakMap,de=new WeakMap,he=new WeakSet,fe=new WeakMap,me=new WeakMap,ge=new WeakMap;class ve extends f.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,he),(0,i.A)(this,oe,S(this)),(0,i.A)(this,ie,(k(this),N(this))),(0,i.A)(this,ae,(M(this),_(this))),(0,i.A)(this,se,(C(this),T(this))),(0,i.A)(this,ce,(R(this),W(this))),(0,i.A)(this,le,(L(this),j(this))),(0,i.A)(this,pe,(B(this),G(this))),(0,i.A)(this,ue,(P(this),O(this))),(0,i.A)(this,de,(z(this),I(this))),(0,i.A)(this,fe,(U(this),Q(this))),(0,i.A)(this,me,(F(this),e=>{(0,s.A)(he,this,K).emit(e)})),(0,i.A)(this,ge,(()=>{(0,s.A)(he,this,V).emit()}))}get dataSource(){return(0,l.A)(oe,this)}set dataSource(e){(0,c.A)(oe,this,e)}get popoverPlacement(){return(0,l.A)(ie,this)}set popoverPlacement(e){(0,c.A)(ie,this,e)}get emptyText(){return(0,l.A)(ae,this)}set emptyText(e){(0,c.A)(ae,this,e)}get notifyCenterUrl(){return(0,l.A)(se,this)}set notifyCenterUrl(e){(0,c.A)(se,this,e)}get urlTemplate(){return(0,l.A)(ce,this)}set urlTemplate(e){(0,c.A)(ce,this,e)}get dropdownMaxWidth(){return(0,l.A)(le,this)}set dropdownMaxWidth(e){(0,c.A)(le,this,e)}get dropdownContentStyle(){return(0,l.A)(pe,this)}set dropdownContentStyle(e){(0,c.A)(pe,this,e)}get hideNotifyCenterButton(){return(0,l.A)(ue,this)}set hideNotifyCenterButton(e){(0,c.A)(ue,this,e)}render(){return d().createElement(Ee,{dataSource:this.dataSource,popoverPlacement:this.popoverPlacement,emptyText:this.emptyText,onNoticeClick:(0,l.A)(me,this),urlTemplate:this.urlTemplate,dropdownMaxWidth:this.dropdownMaxWidth,notifyCenterUrl:this.notifyCenterUrl,dropdownContentStyle:this.dropdownContentStyle,onMarkAllRead:(0,l.A)(ge,this),hideNotifyCenterButton:this.hideNotifyCenterButton})}}function Ee(e){var t;let{dataSource:n=[],popoverPlacement:r,emptyText:o,notifyCenterUrl:i,urlTemplate:a,dropdownMaxWidth:s,dropdownContentStyle:c,onNoticeClick:l,onMarkAllRead:p,hideNotifyCenterButton:h}=e;const[f,m]=(0,u.useState)(!1),v=(0,u.useRef)(null),A=(0,u.useCallback)((e=>{m(e.detail)}),[]),y=(0,u.useCallback)((()=>{m(!1)}),[]),x=(0,u.useCallback)((e=>{l(e)}),[l]),b=(0,u.useCallback)((()=>{p()}),[p]);return(0,u.useEffect)((()=>{if(!f)return;const e=e=>{var t;((null===(t=e.composedPath)||void 0===t?void 0:t.call(e))||[]).some((e=>e instanceof HTMLElement&&e===v.current))||m(!1)};return document.addEventListener("click",e,!0),()=>{document.removeEventListener("click",e,!0)}}),[f]),d().createElement(J,{className:"popover",placement:r,trigger:"click",active:f,arrow:!1,distance:8,ref:v,onBeforeVisibleChange:A},d().createElement("span",{slot:"anchor"},d().createElement("slot",{name:"trigger"},d().createElement(te,{showZero:!1,dot:!0,count:null!==(t=null==n?void 0:n.length)&&void 0!==t?t:0,offset:[-5,0]},d().createElement(ne,{icon:{lib:"antd",icon:"bell"}})))),d().createElement("div",{className:"notice-dropdown-content",style:{maxWidth:s}},d().createElement("div",{className:"header"},d().createElement("div",{className:"title"},(0,g.t)(g.K.MESSAGE_LIST)),d().createElement("div",{className:"close-btn",onClick:y},d().createElement(X,{lib:"antd",icon:"close"}))),d().createElement("div",{className:"content",style:c},(null==n?void 0:n.length)>0?d().createElement("ul",{className:"message-list"},n.map((e=>d().createElement("li",{key:e.id},d().createElement(Y,{className:"link",url:(0,E.Q)(a,e),onClick:()=>x(e.id)},d().createElement("div",{className:"icon-wrapper"},d().createElement(X,{imgSrc:Ae(e.type),keepSvgOriginalColor:!0})),d().createElement("div",{className:"message-content"},d().createElement("div",{className:"primary-text"},e.title),e.description&&d().createElement("div",{className:"secondary-text"},e.description))))))):d().createElement("div",{className:"empty-state"},o||(0,g.t)(g.K.NO_NEW_MESSAGE))),d().createElement("div",{className:"footer"},d().createElement(ee,{disabled:!(null!=n&&n.length),type:"text",className:"footer-button",onClick:b},(0,g.t)(g.K.MARK_ALL_READ)),!h&&d().createElement(ee,{href:i,type:"text",className:"footer-button"},(0,g.t)(g.K.ENTER_MESSAGE_CENTER)," >"))))}function Ae(e){switch(e){case"project":default:return A;case"account":return y;case"system":return x;case"space":return b}}r=ve,({e:[S,k,N,M,_,C,T,R,W,L,j,B,G,P,O,z,I,K,D,U,Q,V,$,F],c:[re,w]}=(0,p.A)(r,[H("ai-portal.notice-dropdown",{styleTexts:[v.A]})],[[Z({attribute:!1}),1,"dataSource"],[Z(),1,"popoverPlacement"],[Z(),1,"emptyText"],[Z(),1,"notifyCenterUrl"],[Z(),1,"urlTemplate"],[Z(),1,"dropdownMaxWidth"],[Z({attribute:!1}),1,"dropdownContentStyle"],[Z({type:Boolean}),1,"hideNotifyCenterButton"],[q({type:"notice.click"}),1,"noticeClickEvent",e=>(0,l.A)(de,e),(e,t)=>(0,c.A)(de,e,t)],[q({type:"mark.all.read"}),1,"markAllReadEvent",e=>(0,l.A)(fe,e),(e,t)=>(0,c.A)(fe,e,t)]],0,(e=>ge.has((0,a.A)(e))),f.ReactNextElement)),w()},74635:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(72016);function o(e,t){(0,r.A)(e,t),t.add(e)}},84905:(e,t,n)=>{n.d(t,{I:()=>a,K:()=>o,NS:()=>i,t:()=>s});var r=n(52616);let o=function(e){return e.MESSAGE_LIST="MESSAGE_LIST",e.NO_NEW_MESSAGE="NO_NEW_MESSAGE",e.MARK_ALL_READ="MARK_ALL_READ",e.ENTER_MESSAGE_CENTER="ENTER_MESSAGE_CENTER",e}({});const i="bricks/ai-portal/notice-dropdown",a={en:{MESSAGE_LIST:"Message List",NO_NEW_MESSAGE:"No new messages for now",MARK_ALL_READ:"Mark all as read",ENTER_MESSAGE_CENTER:"Enter Message Center"},zh:{MESSAGE_LIST:"消息列表",NO_NEW_MESSAGE:"暂无新消息",MARK_ALL_READ:"全部已读",ENTER_MESSAGE_CENTER:"进入消息中心"}},s=r.i18n.getFixedT(null,i)},86121:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(12559);function o(e,t,n){return e.set((0,r.A)(e,t),n),n}},91799:(e,t,n)=>{e.exports=n.p+"images/dcee4821.svg"}}]);
2
- //# sourceMappingURL=notice-dropdown.6262ed81.js.map