@next-bricks/advanced 0.46.1 → 0.47.1

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 (69) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/2252.98aa3e1e.js +3 -0
  3. package/dist/chunks/2252.98aa3e1e.js.map +1 -0
  4. package/dist/chunks/4197.9455fba5.js +2 -0
  5. package/dist/chunks/4197.9455fba5.js.map +1 -0
  6. package/dist/chunks/4765.da59ee88.js +2 -0
  7. package/dist/chunks/4765.da59ee88.js.map +1 -0
  8. package/dist/chunks/{4837.352c9202.js → 4837.a4abe532.js} +2 -2
  9. package/dist/chunks/4837.a4abe532.js.map +1 -0
  10. package/dist/chunks/7146.c51ea5fd.js +2 -0
  11. package/dist/chunks/7146.c51ea5fd.js.map +1 -0
  12. package/dist/chunks/{7218.964cf725.js → 7218.7fb394fc.js} +2 -2
  13. package/dist/chunks/7218.7fb394fc.js.map +1 -0
  14. package/dist/chunks/9140.4c7cb597.js +3 -0
  15. package/dist/chunks/9140.4c7cb597.js.map +1 -0
  16. package/dist/chunks/{capture-snapshot.081a0052.js → capture-snapshot.35797eba.js} +2 -2
  17. package/dist/chunks/{capture-snapshot.081a0052.js.map → capture-snapshot.35797eba.js.map} +1 -1
  18. package/dist/chunks/eo-cascader.972d0f1a.js +2 -0
  19. package/dist/chunks/{eo-cascader.046be28f.js.map → eo-cascader.972d0f1a.js.map} +1 -1
  20. package/dist/chunks/eo-next-table.52ec790d.js +2 -0
  21. package/dist/chunks/eo-next-table.52ec790d.js.map +1 -0
  22. package/dist/chunks/eo-table.12739d5e.js +2 -0
  23. package/dist/chunks/{eo-table.88f9914d.js.map → eo-table.12739d5e.js.map} +1 -1
  24. package/dist/chunks/eo-tree-select.cb6bcb08.js +2 -0
  25. package/dist/chunks/{eo-tree-select.c825c841.js.map → eo-tree-select.cb6bcb08.js.map} +1 -1
  26. package/dist/chunks/{eo-tree.52b4e6d0.js → eo-tree.926c0da4.js} +3 -3
  27. package/dist/chunks/{eo-tree.52b4e6d0.js.map → eo-tree.926c0da4.js.map} +1 -1
  28. package/dist/chunks/eo-workbench-layout-v2.f1eda59a.js +3 -0
  29. package/dist/chunks/{eo-workbench-layout-v2.30d5a182.js.map → eo-workbench-layout-v2.f1eda59a.js.map} +1 -1
  30. package/dist/chunks/eo-workbench-layout.4414c0db.js +2 -0
  31. package/dist/chunks/{eo-workbench-layout.cc16b555.js.map → eo-workbench-layout.4414c0db.js.map} +1 -1
  32. package/dist/chunks/main.5156bdb0.js +2 -0
  33. package/dist/chunks/main.5156bdb0.js.map +1 -0
  34. package/dist/examples.json +1 -1
  35. package/dist/index.639ce0e4.js +2 -0
  36. package/dist/index.639ce0e4.js.map +1 -0
  37. package/dist/manifest.json +5 -0
  38. package/dist/types.json +16 -0
  39. package/dist-types/next-table/index.d.ts +2 -0
  40. package/dist-types/next-table/interface.d.ts +1 -0
  41. package/docs/eo-next-table.md +42 -0
  42. package/package.json +2 -2
  43. package/dist/chunks/2252.4d662a7c.js +0 -3
  44. package/dist/chunks/2252.4d662a7c.js.map +0 -1
  45. package/dist/chunks/3933.6f31d144.js +0 -2
  46. package/dist/chunks/3933.6f31d144.js.map +0 -1
  47. package/dist/chunks/4197.0bc01105.js +0 -2
  48. package/dist/chunks/4197.0bc01105.js.map +0 -1
  49. package/dist/chunks/4837.352c9202.js.map +0 -1
  50. package/dist/chunks/6314.de17c1ed.js +0 -2
  51. package/dist/chunks/6314.de17c1ed.js.map +0 -1
  52. package/dist/chunks/7218.964cf725.js.map +0 -1
  53. package/dist/chunks/9140.8ee0d298.js +0 -3
  54. package/dist/chunks/9140.8ee0d298.js.map +0 -1
  55. package/dist/chunks/eo-cascader.046be28f.js +0 -2
  56. package/dist/chunks/eo-next-table.b1956f5e.js +0 -2
  57. package/dist/chunks/eo-next-table.b1956f5e.js.map +0 -1
  58. package/dist/chunks/eo-table.88f9914d.js +0 -2
  59. package/dist/chunks/eo-tree-select.c825c841.js +0 -2
  60. package/dist/chunks/eo-workbench-layout-v2.30d5a182.js +0 -3
  61. package/dist/chunks/eo-workbench-layout.cc16b555.js +0 -2
  62. package/dist/chunks/main.8146253f.js +0 -2
  63. package/dist/chunks/main.8146253f.js.map +0 -1
  64. package/dist/index.d3a389eb.js +0 -2
  65. package/dist/index.d3a389eb.js.map +0 -1
  66. /package/dist/chunks/{2252.4d662a7c.js.LICENSE.txt → 2252.98aa3e1e.js.LICENSE.txt} +0 -0
  67. /package/dist/chunks/{9140.8ee0d298.js.LICENSE.txt → 9140.4c7cb597.js.LICENSE.txt} +0 -0
  68. /package/dist/chunks/{eo-tree.52b4e6d0.js.LICENSE.txt → eo-tree.926c0da4.js.LICENSE.txt} +0 -0
  69. /package/dist/chunks/{eo-workbench-layout-v2.30d5a182.js.LICENSE.txt → eo-workbench-layout-v2.f1eda59a.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-workbench-layout-v2.30d5a182.js","mappings":";mIA4DAA,EAAOC,QAjBP,SAAgBC,GACd,GAAwB,oBAAbC,SACT,MAAO,CACLC,OAAQ,WAAmB,EAC3BC,OAAQ,WAAmB,GAG/B,IAAIC,EAAeJ,EAAQK,mBAAmBL,GAC9C,MAAO,CACLE,OAAQ,SAAgBI,IAjD5B,SAAeF,EAAcJ,EAASM,GACpC,IAAIC,EAAM,GACND,EAAIE,WACND,GAAO,cAAcE,OAAOH,EAAIE,SAAU,QAExCF,EAAII,QACNH,GAAO,UAAUE,OAAOH,EAAII,MAAO,OAErC,IAAIC,OAAiC,IAAdL,EAAIM,MACvBD,IACFJ,GAAO,SAASE,OAAOH,EAAIM,MAAMC,OAAS,EAAI,IAAIJ,OAAOH,EAAIM,OAAS,GAAI,OAE5EL,GAAOD,EAAIC,IACPI,IACFJ,GAAO,KAELD,EAAII,QACNH,GAAO,KAELD,EAAIE,WACND,GAAO,KAET,IAAIO,EAAYR,EAAIQ,UAChBA,GAA6B,oBAATC,OACtBR,GAAO,uDAAuDE,OAAOM,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUL,MAAe,QAKtId,EAAQoB,kBAAkBb,EAAKH,EAAcJ,EAAQA,QACvD,CAoBMqB,CAAMjB,EAAcJ,EAASM,EAC/B,EACAH,OAAQ,YArBZ,SAA4BC,GAE1B,GAAgC,OAA5BA,EAAakB,WACf,OAAO,EAETlB,EAAakB,WAAWC,YAAYnB,EACtC,CAgBMoB,CAAmBpB,EACrB,EAEJ,+DC1De,SAASqB,EAAoBC,EAAGC,EAAGC,GAChD,OAAOA,GAAE,OAAiBF,EAAGC,GAC/B,mHCUA,MAAME,GAAcC,EAAAA,EAAAA,WAAyC,WASvDC,EAAW,CAAC,IAAK,IAAK,IAAK,KAE1B,SAASC,EACdC,GAEA,MAAM,UAAEC,EAAS,OAAEC,EAAM,SAAEC,EAAQ,OAAEC,GAAWJ,EAa1CK,GAAWC,EAAAA,EAAAA,UACf,KAAMC,EAAAA,EAAAA,WAAUN,EAAUI,WAC1B,CAACJ,EAAUI,YAENG,EAAaC,IAAkBC,EAAAA,EAAAA,WAAS,KAC7CC,EAAAA,EAAAA,MACE,IACKP,EACHQ,UAAWR,EAAOQ,WAAaX,EAAUH,SAASe,GAEpDf,MAMJgB,EAAAA,EAAAA,YAAU,KACR,MAAMC,GAAiBJ,EAAAA,EAAAA,MACrB,IACKP,EACHQ,UAAWR,EAAOQ,WAAaX,EAAUH,SAASe,GAEpDf,IAGGkB,EAAAA,EAAAA,SAAQD,EAAgBP,IAC3BC,EAAeM,EACjB,GACC,CAACX,EAAQI,EAAaP,EAAUH,SAASe,IAE5C,MAAMI,GAAkBX,EAAAA,EAAAA,UAAQ,IACU,KAAjCE,aAAW,EAAXA,EAAaS,kBACfT,aAAW,EAAXA,EAAaS,iBAA0B,EACxC,GACH,CAACT,IAEEU,GAAcZ,EAAAA,EAAAA,UAAQ,IACnB,GAAKW,GACX,CAACA,IAEEE,GAAqBb,EAAAA,EAAAA,UAAQ,KACjC,MAAMc,EAAM,GAAKH,EACjB,MAAO,CACLG,MACAC,MAAOD,EACR,GACA,CAACH,IAEJ,OACEK,IAAAA,cAAA,OAAKC,UAAWC,EAAAA,EAAOC,aACpBvB,GACCoB,IAAAA,cAAA,OACEC,UAAWC,EAAAA,EAAOE,SAClBC,MAAO,CACLP,IAAKF,GAEPU,YAnEqBC,IAC3BA,EAAEC,gBAAgB,EAmEZ,cAAY,8CAGhBR,IAAAA,cAACS,EAAAA,cAAa,CAAC1B,SAAUA,EAAU2B,KAAMxB,IACxCN,GACCoB,IAAAA,cAAC1B,EAAW,CACVqC,KAAK,SACLC,IAAI,OACJP,MAAOR,EACPI,UAAWC,EAAAA,EAAOW,WAClBC,QA1EmBP,IACzBA,EAAEC,iBACF3B,SAAAA,EAAWC,EAAOiC,EAAE,EAyEd,cAAY,2CAKtB,CAEO,MAAMC,GAA+BC,EAAAA,EAAAA,MAC1CxC,uLCzGEhC,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQyE,cAAgB,IACxBzE,EAAQ0E,OAAS,SAAc,KAAM,QACrC1E,EAAQ2E,OAAS,IACjB3E,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQ4E,OAAS,IAAQA,YAASC,meCgBnE,MAAM,cAAEC,GAAa,SAAEC,GAAQ,MAAEC,GAAK,OAAEC,KAAWC,EAAAA,EAAAA,oBAE7CC,IAAgBrD,EAAAA,EAAAA,WAA+B,aAC/CsD,IAAwBtD,EAAAA,EAAAA,WAK5B,qBAAsB,CAAEuD,cAAe,iBACnCC,IAAaC,EAAAA,EAAAA,gBAAmC,qBAKhDC,GAAa,GAAGC,OAAOC,SAASC,UAASC,EAAAA,EAAAA,8GAuBzCC,GAAcC,GAClBA,SAAAA,EAAKC,SAAS,KAAOD,EAAIE,MAAM,KAAK,GAAKF,GACrC,QAAEG,IAAYC,EAAAA,KAAKC,UAEZC,IAA6BC,EAAAA,EAAAA,aAGxC,SAAmCC,EAcnCC,GACA,IAdA,UACEC,EAAY,OACZC,QAASC,EAAY,cACrBC,EAAa,cACbC,EAAgB,GAAE,OAClBzE,EAAM,kBACN0E,EAAiB,SACjBC,EAAQ,OACRC,EAAM,SACNC,EAAQ,cACR3B,EAAa,UACb4B,GACDX,EAGD,MAAMY,GAA4B3E,EAAAA,EAAAA,UAChC,KAAM4E,EAAAA,EAAAA,eAAcC,EAAAA,aACpB,IAEIC,GAAgBC,EAAAA,EAAAA,QAAuB,MACvCC,GAAmBD,EAAAA,EAAAA,QAAuB,MAC1CE,GAAiBF,EAAAA,EAAAA,QAAsBZ,QAAAA,EAAgB,KACtDD,EAASgB,IAAe9E,EAAAA,EAAAA,UAC7B6E,EAAeE,SAEXC,GAAkBpF,EAAAA,EAAAA,UACtB,KAAMqF,EAAAA,EAAAA,OAAMhB,EAAe,QAC3B,CAACA,KAEIiB,EAAMC,IAAWnF,EAAAA,EAAAA,UAAiB,IAClCoF,EAAoBC,IACzBrF,EAAAA,EAAAA,YACIsF,GAAuBX,EAAAA,EAAAA,UAEvBY,GAAaC,EAAAA,EAAAA,cAAa1B,IAC9Be,EAAeE,QAAUjB,EACzBgB,EAAYhB,EAAQ,GACnB,KAEH2B,EAAAA,EAAAA,qBAAoB7B,GAAK,KAAM,CAAG2B,iBAElC,MAAMG,GAAeF,EAAAA,EAAAA,cAClB1B,IACCyB,EAAWzB,GACXK,SAAAA,EAAWL,EAAQ,GAErB,CAACK,EAAUoB,IAmBPI,GAAqBH,EAAAA,EAAAA,cACxBI,IACC,IAAKpG,EACH,OAIF,GAAIoG,EAAcC,MAAMC,GAAMA,EAAEC,cAC9B,OAGF,MAAMC,GAAoBf,EAAAA,EAAAA,OAAMnB,EAAS,KACzC,IAAK,IAAImC,EAAI,EAAGA,EAAIL,EAAc1H,OAAQ+H,IAAK,CAC7C,MAAM,EAAEC,EAAC,EAAE/F,EAAC,EAAEgG,EAAC,EAAEC,EAAC,EAAEzE,EAAC,KAAE0E,GAAST,EAAcK,GAK7B,IAAAK,EAJjB,GAAU,IAANnG,GAAW+F,EAAI,EACCN,EAAcW,MAC7BC,GAASA,EAAK7E,IAAMA,GAAgB,IAAX6E,EAAKrG,GAAWqG,EAAKL,IAAMA,GAAKD,EAAI,MAG9DN,EAAcK,GAAGI,KAA4B,QAAxBC,EAAGV,EAAcK,GAAGI,YAAI,IAAAC,EAAAA,EAAIF,QAGnDR,EAAcK,GAAGG,EAAIC,QAAAA,EAAQD,EAC7BR,EAAcK,GAAGI,UAAOnE,CAE5B,CAEAwD,EACEE,EAAca,KAAKX,IAEV,IADYE,aAAiB,EAAjBA,EAAoBF,EAAEnE,MACdmE,EAAGY,KAAMxD,GAAW4C,EAAEnE,OAEpD,GAEH,CAAC+D,EAAclG,EAAQsE,IAOnB6C,EAAoBA,KACxBjB,EAAa,GAAG,EAGZkB,GAAapB,EAAAA,EAAAA,cAAY,KAC7BpB,SAAAA,EAASN,EAAQ,GAChB,CAACA,EAASM,IA0BPyC,EAAeA,CACnBtH,EACAuH,KAEA,MAAMC,GAAoBC,EAAAA,EAAAA,GAA2BzH,EAAU4D,KACzD6C,GAAoBf,EAAAA,EAAAA,OAAM6B,EAAgB,KAC1CG,EAAanD,EAAQ2C,KAAK/G,IACvB,IACFA,MACAwH,EAAAA,EAAAA,MAAKlB,aAAiB,EAAjBA,EAAoBtG,EAAOiC,GAAI,CAAC,IAAK,UAGjD,IAAIwF,EAAY,IACXJ,KACAxH,EAAUH,SACbuC,EAAG,GAAGpC,EAAU4D,OAAOiE,KAAKC,WAC5BnH,UAAWX,EAAUH,SAASe,EAC9BuG,KAAMnH,EAAU4D,IAChB+C,EAAG3G,EAAUH,SAASe,EAAI,EAAI,EAAsB,EAAjB2D,EAAQ5F,OAAcgH,EACzDiB,EAAGmB,KAEL,GAAIR,EAAgB,CAClB,MAAMS,EAAWT,EAAeP,MAAMT,GAAc,sBAARA,EAAEnE,IAM9C,OALAwF,EAAY,IACPA,MACAD,EAAAA,EAAAA,MAAKK,EAAU,IAAK,WAEzB7B,EAAa,CAACyB,KAAcF,GAE9B,CACAvB,EAAa5B,EAAQhG,OAAOqJ,GAAW,EAGnCK,GAAmBhC,EAAAA,EAAAA,cACtB7D,IAAc,IAAA8F,EACb/B,EAAmD,QAAvC+B,EAAC3D,EAAQ4D,QAAQlB,GAASA,EAAK7E,IAAMA,WAAE,IAAA8F,EAAAA,EAAI,GAAG,GAE5D,CAAC/B,EAAc5B,IAIX6D,GAAenC,EAAAA,EAAAA,cACnB,CAAC7D,EAAWiG,KACV,MAAMC,EAAOT,KAAKU,MACfF,EAtNa,IAsNoB,IAE9BG,EAAYjE,EAAQyC,MAAM7G,GAAwBA,EAAOiC,IAAMA,IAErE,GAAKoG,GAEYX,KAAKU,KAAKC,EAAU3B,KACpByB,EAAM,CACrB,MAAMZ,EAAanD,EAAQ2C,KAAKD,GAC9BA,EAAK7E,IAAMA,EAAI,IAAK6E,EAAMJ,EAAGyB,GAASrB,IAExCd,EAAauB,EACf,IAEF,CAACnD,EAAS4B,IAGNsC,GAAcpI,EAAAA,EAAAA,UAAQ,IACnBkE,EACJ2C,KAAK/G,IAAW,IAAAuI,EAAAC,EAAAC,EACf,MAAM5I,EAAYyF,EAAgB9B,GAAWxD,EAAOgH,OACpD,IAAKnH,EACH,OAAO,KAET,MAAM6I,EACmB,aAAvB1I,aAAM,EAANA,EAAQ2I,YACJ,QAAQxF,KAAanD,aAAM,EAANA,EAAQ4I,4CACN,WAAvB5I,aAAM,EAANA,EAAQ2I,YACN3I,aAAM,EAANA,EAAQ4I,eACR,OACFC,EACwB,WAA5B7I,aAAM,EAANA,EAAQ8I,iBACJ,GAAG9I,aAAM,EAANA,EAAQa,qBAAqBb,aAAM,EAANA,EAAQ8I,mBAAmB9I,aAAM,EAANA,EAAQ+I,kBAC3C,QAD4DR,EACnFvI,aAAM,EAANA,EAAQ8I,uBAAe,IAAAP,EAAAA,EAAI,oBAC5BS,EAAe,GAA2B,QAA3BR,EAAGxI,aAAM,EAANA,EAAQiJ,wBAAgB,IAAAT,EAAAA,EAAI,MAEpD,OACEtH,IAAAA,cAAA,OACEC,UAAU,WACV,YAAW,IACa,QAAtBsH,EAAI5I,EAAUH,gBAAQ,IAAA+I,EAAAA,EAAI,CAAC,KACxBzI,EACHS,EAAGT,EAAOQ,WAAaR,EAAOS,GAEhCgD,IAAKzD,EAAOiC,EACZV,MAAO,IACD1B,EAAU0B,OAAO,CAAC,EACtBmH,aACAG,SACAG,eACAE,eAAgB,eAGlBhI,IAAAA,cAACiI,EAAAA,OAAM,CAACC,eAAa,IAClBC,IAAc,IAAb,KAAEC,GAAMD,EAIR,OAHIC,EAAKC,QACPtB,EAAajI,EAAOiC,EAAGqH,EAAKC,QAG5BrI,IAAAA,cAACgB,EAAAA,EAA4B,CAC3BrC,UAAWA,EACXC,OAAQA,EACRE,OAAQA,EACRD,SAAU+H,GACV,IAIJ,IAGTE,OAAOwB,UACT,CAACpF,EAASkB,EAAiBxF,EAAQgI,EAAkBG,IAElDwB,GAA8B3D,EAAAA,EAAAA,cAAY,KAC9C,GAAIZ,GAAoBpF,EAAQ,KAAA4J,EAAAC,EAC9B,MAAM,IAAE3I,GACyC,QADpC0I,EACa,QADbC,EACXzE,EAAiBG,eAAO,IAAAsE,GAAkB,QAAlBA,EAAxBA,EAA0BC,wBAAgB,IAAAD,OAAA,EAA1CA,EAA6C,UAAE,IAAAD,EAAAA,EAAK,CAAC,OAC/ClH,IAARxB,GACE2E,EAAsB,CACpB4D,OAAQ3L,SAASiM,KAAKC,aAAe9I,GAE3C,IACC,CAAClB,IAcJ,OAZAY,EAAAA,EAAAA,YAAU,KACR,GAAIZ,EAKF,OAJA2J,IACA5D,EAAWxB,GAAgB,IAC3BjB,OAAO2G,iBAAiB,SAAUN,GAE3B,KACLrG,OAAO4G,oBAAoB,SAAUP,EAA4B,CAErE,GACC,CAAC3J,EAAQ2J,EAA6BpF,EAAcwB,IAGrD3E,IAAAA,cAAA,OAAKC,UAAWC,EAAAA,EAAO6I,kBAAmB/F,IAAKc,GAC5ClF,GACCoB,IAAAA,cAAA,OAAKC,UAAWC,EAAAA,EAAO8I,iBAAkB3I,MAAOmE,GAC9CxE,IAAAA,cAAA,OAAKC,UAAWC,EAAAA,EAAO+I,gBAAiBhG,GACxCjD,IAAAA,cAAA,OAAKC,UAAWC,EAAAA,EAAOmD,eACpBA,aAAa,EAAbA,EAAewC,KAAI,CAAClH,EAAWuK,IAC9BlJ,IAAAA,cAACmJ,EAAAA,EAA0B,CACzBxK,UAAWA,EACXmC,QAASA,KACPmF,EAAatH,EAAU,EAEzByK,YAAaA,KACX1E,EAAqBP,QAAUxF,CAAS,EAE1C0K,UAAWA,KACT3E,EAAqBP,aAAU7C,CAAS,EAE1CiB,IAAK5D,EAAU4D,KAAO2G,OAGzB9F,aAAa,EAAbA,EAAerE,WACdiB,IAAAA,cAACsJ,EAAAA,uBAAsB,CAACvK,SAAUqE,EAAcrE,aAKxDiB,IAAAA,cAAA,OACEC,UAAWC,EAAAA,EAAOqJ,cAClBvG,IAAKgB,EACL3D,MAAOmE,GAEN5F,GACCoB,IAAAA,cAAA,OAAKC,UAAWC,EAAAA,EAAOsJ,gBACrBxJ,IAAAA,cAAC4B,GAAa,CAACkE,KAAK,UAAUhF,QAASkF,GAAY,MAGnDhG,IAAAA,cAAC4B,GAAa,CAACd,QAtMJ2I,KACnBhG,SAAAA,GAAY,GAqMkC,MACrCH,GACCtD,IAAAA,cAAC4B,GAAa,CACZ,cAAY,iBACZd,QA9MQ4I,KACpBhG,SAAAA,GAAa,GA8MF,MAIH1D,IAAAA,cAAC6B,GAAqB,CACpB8H,QAAQ,KACRhJ,KAAM,CAAEC,IAAK,OAAQD,KAAM,QAC3BiJ,QAAS,IACHlH,GACA,CAAC,CAAEmH,KAAM,QAASpI,MAAO,mBACzB,GACJ,CAAEoI,KAAM,QAASpI,MAAO,oBACxB,CAAEoI,KAAM,OAAQC,QAAQ,EAAMrI,MAAO,UAEvCK,cAAgBvB,IArNDwJ,KACzB,MAAM,MAAEtI,GAAUsI,EAGX,UADCtI,EAEJM,GAAW,CACT+D,KAAM,UACNkE,MAAO,OACPC,QAAS,4BACRC,KAAKnE,GAGRjE,SAAAA,EAAgBiI,EAAQ7G,QAAAA,EAAW,GACvC,EAyMYiH,CAAkB5J,EAAE6J,OAAO,EAE7B,cAAY,yBAIlBpK,IAAAA,cAAC2D,EAAyB,CACxB1D,UAAWoK,IAAWnK,EAAAA,EAAOpB,OAAQ,CACnC,CAAC,GAAGoB,EAAAA,EAAOoK,cAAe1L,IAE5B2L,gBAAiB,IAAIC,EAAAA,EAAiB3J,wCACtC4J,YAAa,CAAEC,GAAI,KAAMC,GAAI,KAAMC,GAAI,KACvCC,UA9XS,EA+XTvG,KAAM,CAAEoG,GAAI,EAAGC,GAAI,EAAGC,GAAIhM,EAAS,EAAI,GACvCkM,aAAa,EACb3F,YAAavG,EACbmM,YAAanM,EACboM,YAAY,WACZC,OAAQ,CAnYG,GACC,IAoYZC,kBAAkB,EAClBC,eAAgBA,KACd,GAAIzG,EAAqBP,QACvB,OAAOmC,EAAAA,EAAAA,MAAK5B,EAAqBP,QAAQ3F,SAAU,CAAC,IAAK,KAC3D,EAEF4M,OAAStM,IACH4F,EAAqBP,SACvB8B,EAAavB,EAAqBP,QAASrF,EAC7C,EAEFuM,eAAgBtG,EAChBuG,mBA1QuBC,CAACC,EAAwBC,KACtDlH,EAAQkH,EAAQ,GA2QTrE,IAKX,IAEA,IAAAsE,GAAA,IAAAC,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAC,QAAAC,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QAAAiB,GAAA,IAAAjB,QAAAkB,GAAA,IAAAlB,QAIA,MAAAmB,WACkCC,EAAAA,iBAAiBC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAf,KACjDgB,EAAAA,EAAAA,GAAA,KAAAzB,IAAa0B,EAAA,OAAGC,EAAAA,EAAAA,gBAA6CF,EAAAA,EAAAA,GAAA,KAAAvB,GAAA0B,EAAA,QAAAH,EAAAA,EAAAA,GAAA,KAAAtB,IAAA0B,EAAA,MAAAC,EAAA,SAAAL,EAAAA,EAAAA,GAAA,KAAArB,IAAA2B,EAAA,MAAAC,EAAA,SAAAP,EAAAA,EAAAA,GAAA,KAAApB,IAAA4B,EAAA,MAAAC,EAAA,SAAAT,EAAAA,EAAAA,GAAA,KAAAnB,IAAA6B,EAAA,MAAAC,EAAA,SAgB7DX,EAAAA,EAAAA,GAAA,KAAAlB,IAAA8B,EAAA,MAAAC,EAAA,SAAAb,EAAAA,EAAAA,GAAA,KAAAjB,IAAA+B,EAAA,MAAAC,EAAA,SASAf,EAAAA,EAAAA,GAAA,KAAAd,IAAa8B,EAAA,MAAIlL,KACfhF,EAAAA,EAAAA,GAAAkO,GAAAiC,KAAKC,GAAaC,KAAKrL,EAAQ,KAC/BkK,EAAAA,EAAAA,GAAA,KAAAb,GAAAiC,EAAA,QAKFpB,EAAAA,EAAAA,GAAA,KAAAZ,IAAWiC,EAAA,MAAIvL,KACbhF,EAAAA,EAAAA,GAAAkO,GAAAiC,KAAKK,GAAWH,KAAKrL,EAAQ,KAC7BkK,EAAAA,EAAAA,GAAA,KAAAX,GAAAkC,EAAA,QAKFvB,EAAAA,EAAAA,GAAA,KAAAV,IAAakC,GAAA,MAAG,MACd1Q,EAAAA,EAAAA,GAAAkO,GAAAiC,KAAKQ,GAAaN,MAAM,KACxBnB,EAAAA,EAAAA,GAAA,KAAAT,GAAAmC,GAAA,QAIF1B,EAAAA,EAAAA,GAAA,KAAAR,IAAcmC,GAAA,MAAG,MACf7Q,EAAAA,EAAAA,GAAAkO,GAAAiC,KAAKW,IAAcT,MAAM,KAG3BnB,EAAAA,EAAAA,GAAA,KAAAP,GAAAoC,GAAA,QAaA7B,EAAAA,EAAAA,GAAA,KAAAN,IAAkBoC,GAAA,MAAG,CAACnF,EAAsB7G,MAC1ChF,EAAAA,EAAAA,GAAAkO,GAAAiC,KAAKc,IAAkBZ,KAAK,CAAExE,SAAQ7G,YACtC6G,EAAOtI,OACL4M,KAAKe,cAAc,IAAIC,YAAYtF,EAAOtI,MAAO,CAAE2I,OAAQlH,IAAW,GACxE,cA/DOD,GAAS,OAAAqM,EAAAA,EAAAA,GAAAzD,GAAA,mBAAT5I,CAASiC,IAAAqK,EAAAA,EAAAA,GAAA1D,GAAA,KAAA3G,EAAA,WAGTtG,GAAM,OAAA0Q,EAAAA,EAAAA,GAAAxD,GAAA,gBAANlN,CAAMsG,IAAAqK,EAAAA,EAAAA,GAAAzD,GAAA,KAAA5G,EAAA,YAGNhC,GAAO,OAAAoM,EAAAA,EAAAA,GAAAvD,GAAA,iBAAP7I,CAAOgC,IAAAqK,EAAAA,EAAAA,GAAAxD,GAAA,KAAA7G,EAAA,kBAGP9B,GAAa,OAAAkM,EAAAA,EAAAA,GAAAtD,GAAA,uBAAb5I,CAAa8B,IAAAqK,EAAAA,EAAAA,GAAAvD,GAAA,KAAA9G,EAAA,kBAGb7B,GAAa,OAAAiM,EAAAA,EAAAA,GAAArD,GAAA,uBAAb5I,CAAa6B,IAAAqK,EAAAA,EAAAA,GAAAtD,GAAA,KAAA/G,EAAA,sBAKb5B,GAAiB,OAAAgM,EAAAA,EAAAA,GAAApD,GAAA,2BAAjB5I,CAAiB4B,IAAAqK,EAAAA,EAAAA,GAAArD,GAAA,KAAAhH,EAAA,CAiD1BP,UAAAA,CAAWzB,GAAmB,IAAAsM,EACF,QAA1BA,GAAAF,EAAAA,EAAAA,GAAK3D,GAAL0C,MAAmBlK,eAAO,IAAAqL,GAA1BA,EAA4B7K,WAAWzB,EACzC,CAEAuM,iBAAAA,GAGOpB,KAAKhO,MAAMqP,UACdrB,KAAKhO,MAAMqP,QAAU,SAEvBC,MAAMF,mBACR,CAEAG,MAAAA,GACE,OACE5P,IAAAA,cAAC6C,GAA0B,CACzBI,UAAWoL,KAAKpL,UAChBC,QAASmL,KAAKnL,QACdE,cAAeiL,KAAKjL,cACpBC,cAAegL,KAAKhL,cACpBC,kBAAmB+K,KAAK/K,kBACxB1E,OAAQyP,KAAKzP,OACb2E,UAAU+L,EAAAA,EAAAA,GAAKhD,GAAL+B,MACV7K,QAAQ8L,EAAAA,EAAAA,GAAK9C,GAAL6B,MACR5K,UAAU6L,EAAAA,EAAAA,GAAK5C,GAAL2B,MACVvM,eAAewN,EAAAA,EAAAA,GAAKxC,GAALuB,MACf3K,WAAW4L,EAAAA,EAAAA,GAAK1C,GAALyB,MACXrL,KAAKsM,EAAAA,EAAAA,GAAK3D,GAAL0C,OAGX,EACDwB,EAAA9C,KAAAxM,GAAAgN,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAG,EAAAwB,EAAA1B,EAAAI,EAAAE,EAAAqB,EAAAtB,EAAAE,EAAAE,EAAAmB,EAAApB,GAAAE,GAAAE,GAAAiB,GAAAlB,GAAAE,GAAAE,GAAAe,GAAAhB,GAAA7B,GAAA8C,GAAAzE,GAAA0E,KAAAC,EAAAA,EAAAA,GAAAR,EAAA,CAtGAtO,GAAc,yBAA0B,CAAE+O,eAAe,KAAQ,EAI/D9O,KAAU,gBAGVA,GAAS,CAAEsE,KAAMwC,UAAU,aAG3B9G,GAAS,CAAE+O,WAAW,IAAQ,cAG9B/O,GAAS,CAAE+O,WAAW,IAAQ,oBAG9B/O,GAAS,CAAE+O,WAAW,IAAQ,oBAK9B/O,GAAS,CAAEsE,KAAMwC,UAAU,wBAG3B7G,GAAM,CAAEqE,KAAM,WAAW,gBAAA0K,IAAAlB,EAAAA,EAAAA,GAAAnD,GAAAqE,GAAA,CAAAA,EAAAtL,KAAAqK,EAAAA,EAAAA,GAAApD,GAAAqE,EAAAtL,IAAA,CAOzBzD,GAAM,CAAEqE,KAAM,SAAS,cAAA0K,IAAAlB,EAAAA,EAAAA,GAAA/C,GAAAiE,GAAA,CAAAA,EAAAtL,KAAAqK,EAAAA,EAAAA,GAAAhD,GAAAiE,EAAAtL,IAAA,CAOvBzD,GAAM,CAAEqE,KAAM,WAAW,gBAAA0K,IAAAlB,EAAAA,EAAAA,GAAA7C,GAAA+D,GAAA,CAAAA,EAAAtL,KAAAqK,EAAAA,EAAAA,GAAA9C,GAAA+D,EAAAtL,IAAA,CAOzBzD,GAAM,CAAEqE,KAAM,YAAY,iBAAA0K,IAAAlB,EAAAA,EAAAA,GAAA3C,GAAA6D,GAAA,CAAAA,EAAAtL,KAAAqK,EAAAA,EAAAA,GAAA5C,GAAA6D,EAAAtL,IAAA,CAa1BzD,GAAM,CAAEqE,KAAM,iBAAiB,qBAAA0K,IAAAlB,EAAAA,EAAAA,GAAAzC,GAAA2D,GAAA,CAAAA,EAAAtL,KAAAqK,EAAAA,EAAAA,GAAA1C,GAAA2D,EAAAtL,IAAA,CAY/BxD,KAAQ,oBAAA+O,GAAA3D,GAAA4D,KAAAC,EAAAA,EAAAA,GAAAF,KArEuBzD,EAAAA,mBAAgBoD,kCC1clD7T,EAAOC,QANP,SAAwCK,GACtC,IAAI+T,EAAmD,KACnDA,GACF/T,EAAagU,aAAa,QAASD,EAEvC,uLCGInU,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQyE,cAAgB,IACxBzE,EAAQ0E,OAAS,SAAc,KAAM,QACrC1E,EAAQ2E,OAAS,IACjB3E,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQ4E,OAAS,IAAQA,YAASC,iDCtB5D,MAAM6E,EAAqC,CAChD7G,UAAW,EACXwR,cAAc,EACdlJ,gBAAiB,QACjBmJ,kBAAmB,GACnBpR,gBAAiB,EACjBoI,iBAAkB,EAClBiJ,eAAgB,UAChBnJ,gBAAiB,UACjBJ,WAAY,QAGDrB,EACX6K,IACoB,IAAAC,EACpB,MAAMC,EAAyD,CAC7D,cAAe,CACbC,aAAc,2BACdN,cAAc,EACdO,aAAc,MAEhB,2BAA4B,CAC1BD,aAAc,yBACdN,cAAc,EACdO,aAAc,MAEhB,aAAc,CACZD,aAAc,0CACdN,cAAc,EACdO,aAAc,MAEhB,kCAAoC,CAClCD,aAAc,+BACdN,cAAc,EACdO,aAAc,MAEhB,gCAAkC,CAChCD,aAAc,oCACdN,cAAc,EACdO,aAAc,OAGlB,MAAO,IACFlL,KACkC,QAArC+K,EAAIC,aAAqB,EAArBA,EAAwBF,UAAS,IAAAC,EAAAA,EAAI,CAAC,EAC3C,iBC/CH,OAOC,WACA,aAEA,IAAII,EAAS,CAAC,EAAEC,eAEhB,SAASlH,IAGR,IAFA,IAAImH,EAAU,GAELzQ,EAAI,EAAGA,EAAImM,UAAU5P,OAAQyD,IAAK,CAC1C,IAAI0Q,EAAMvE,UAAUnM,GAChB0Q,IACHD,EAAUE,EAAYF,EAASG,EAAWF,IAE5C,CAEA,OAAOD,CACR,CAEA,SAASG,EAAYF,GACpB,GAAmB,iBAARA,GAAmC,iBAARA,EACrC,OAAOA,EAGR,GAAmB,iBAARA,EACV,MAAO,GAGR,GAAIG,MAAMC,QAAQJ,GACjB,OAAOpH,EAAWvM,MAAM,KAAM2T,GAG/B,GAAIA,EAAIK,WAAaC,OAAOC,UAAUF,WAAaL,EAAIK,SAASA,WAAWtP,SAAS,iBACnF,OAAOiP,EAAIK,WAGZ,IAAIN,EAAU,GAEd,IAAK,IAAIjP,KAAOkP,EACXH,EAAOW,KAAKR,EAAKlP,IAAQkP,EAAIlP,KAChCiP,EAAUE,EAAYF,EAASjP,IAIjC,OAAOiP,CACR,CAEA,SAASE,EAAaQ,EAAOC,GAC5B,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQT,CAEqC3V,EAAOC,SAC3C6N,EAAW+H,QAAU/H,EACrB9N,EAAOC,QAAU6N,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIH,CArEA,qFCJIgI,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAAC/V,EAAOgW,GAAI,glBAAilB,KAE1nBF,EAAwBhR,OAAS,CAChC,kBAAqB,8BACrB,qBAAwB,iCACxB,mBAAsB,+BACtB,qBAAwB,iCACxB,uBAA0B,oCAE3B,+eCXIgR,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAAC/V,EAAOgW,GAAI,+gBAAghB,KAEzjBF,EAAwBhR,OAAS,CAChC,UAAa,sBACb,SAAY,qBACZ,WAAc,uBACd,YAAe,yBAEhB,+LCFI5E,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQyE,cAAgB,IACxBzE,EAAQ0E,OAAS,SAAc,KAAM,QACrC1E,EAAQ2E,OAAS,IACjB3E,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQ4E,OAAS,IAAQA,YAASC,0BCtBnE,IAAIkR,EAAc,GAClB,SAASC,EAAqBC,GAE5B,IADA,IAAIC,GAAU,EACL5R,EAAI,EAAGA,EAAIyR,EAAYlV,OAAQyD,IACtC,GAAIyR,EAAYzR,GAAG2R,aAAeA,EAAY,CAC5CC,EAAS5R,EACT,KACF,CAEF,OAAO4R,CACT,CACA,SAASC,EAAaC,EAAMpW,GAG1B,IAFA,IAAIqW,EAAa,CAAC,EACdC,EAAc,GACThS,EAAI,EAAGA,EAAI8R,EAAKvV,OAAQyD,IAAK,CACpC,IAAI6E,EAAOiN,EAAK9R,GACZwR,EAAK9V,EAAQuW,KAAOpN,EAAK,GAAKnJ,EAAQuW,KAAOpN,EAAK,GAClDqN,EAAQH,EAAWP,IAAO,EAC1BG,EAAa,GAAGxV,OAAOqV,EAAI,KAAKrV,OAAO+V,GAC3CH,EAAWP,GAAMU,EAAQ,EACzB,IAAIC,EAAoBT,EAAqBC,GACzC3V,EAAM,CACRC,IAAK4I,EAAK,GACVzI,MAAOyI,EAAK,GACZrI,UAAWqI,EAAK,GAChB3I,SAAU2I,EAAK,GACfvI,MAAOuI,EAAK,IAEd,IAA2B,IAAvBsN,EACFV,EAAYU,GAAmBC,aAC/BX,EAAYU,GAAmBE,QAAQrW,OAClC,CACL,IAAIqW,EAAUC,EAAgBtW,EAAKN,GACnCA,EAAQ6W,QAAUvS,EAClByR,EAAYe,OAAOxS,EAAG,EAAG,CACvB2R,WAAYA,EACZU,QAASA,EACTD,WAAY,GAEhB,CACAJ,EAAYT,KAAKI,EACnB,CACA,OAAOK,CACT,CACA,SAASM,EAAgBtW,EAAKN,GAC5B,IAAI+W,EAAM/W,EAAQ2E,OAAO3E,GAYzB,OAXA+W,EAAI7W,OAAOI,GACG,SAAiB0W,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAOzW,MAAQD,EAAIC,KAAOyW,EAAOtW,QAAUJ,EAAII,OAASsW,EAAOlW,YAAcR,EAAIQ,WAAakW,EAAOxW,WAAaF,EAAIE,UAAYwW,EAAOpW,QAAUN,EAAIM,MACzJ,OAEFmW,EAAI7W,OAAOI,EAAM0W,EACnB,MACED,EAAI5W,QAER,CAEF,CACAL,EAAOC,QAAU,SAAUqW,EAAMpW,GAG/B,IAAIiX,EAAkBd,EADtBC,EAAOA,GAAQ,GADfpW,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgBkX,GACrBA,EAAUA,GAAW,GACrB,IAAK,IAAI5S,EAAI,EAAGA,EAAI2S,EAAgBpW,OAAQyD,IAAK,CAC/C,IACImI,EAAQuJ,EADKiB,EAAgB3S,IAEjCyR,EAAYtJ,GAAOiK,YACrB,CAEA,IADA,IAAIS,EAAqBhB,EAAae,EAASlX,GACtCoX,EAAK,EAAGA,EAAKH,EAAgBpW,OAAQuW,IAAM,CAClD,IACIC,EAASrB,EADKiB,EAAgBG,IAEK,IAAnCrB,EAAYsB,GAAQX,aACtBX,EAAYsB,GAAQV,UACpBZ,EAAYe,OAAOO,EAAQ,GAE/B,CACAJ,EAAkBE,CACpB,CACF,0BCtEArX,EAAOC,QAVP,SAA2BQ,EAAKH,GAC9B,GAAIA,EAAakX,WACflX,EAAakX,WAAWC,QAAUhX,MAC7B,CACL,KAAOH,EAAaoX,YAClBpX,EAAamB,YAAYnB,EAAaoX,YAExCpX,EAAaqX,YAAYxX,SAASyX,eAAenX,GACnD,CACF,gECXe,SAASmQ,EAA4BpQ,EAAKqX,IACvD,OAA0BrX,EAAKqX,GAC/BA,EAAWC,IAAItX,EACjB,sKCOIN,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQyE,cAAgB,IACxBzE,EAAQ0E,OAAS,SAAc,KAAM,QACrC1E,EAAQ2E,OAAS,IACjB3E,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,IAAQ4E,QAAS,IAAQA,wFCdnD,SAAS8H,EACdzK,GAEA,MAAM,UAAEC,EAAS,QAAEmC,EAAO,YAAEsI,EAAW,UAAEC,GAAc3K,GACjD,IAAE6D,EAAG,MAAEyH,EAAK,UAAEsK,GAAc3V,EAElC,OACEqB,IAAAA,cAAA,OACEC,UAAWC,EAAAA,EAAOqU,qBAClB,cAAY,iCAEZvU,IAAAA,cAAA,OAAKC,UAAWC,EAAAA,EAAOsU,oBAAqBxK,GAC5ChK,IAAAA,cAAA,OACEC,UAAWC,EAAAA,EAAOuU,qBAClBC,WAAS,EACTtL,YAAc7I,IACZA,EAAEoU,aAAaC,QAAQ,aAAcrS,GACrC6G,SAAAA,GAAe,EAEjBC,UAAWA,EACXvI,QAASA,EACT,cAAY,2CAEZd,IAAAA,cAAA,OACEC,UAAWC,EAAAA,EAAO2U,uBAClBC,IAAKR,EACLS,IAAK/K,KAKf,mHCpCIqI,EAA0B,IAA4B,KAC1DA,EAAwBtR,EAAE,KAC1BsR,EAAwBtR,EAAE,KAE1BsR,EAAwBC,KAAK,CAAC/V,EAAOgW,GAAI,sMAAuM,KAEhP,kCCTA,IAAItR,EAAO,CAAC,EA+BZ1E,EAAOC,QAPP,SAA0B2E,EAAQd,GAChC,IAAI2U,EAtBN,SAAmBA,GACjB,QAA4B,IAAjB/T,EAAK+T,GAAyB,CACvC,IAAIC,EAAcvY,SAASwY,cAAcF,GAGzC,GAAI9S,OAAOiT,mBAAqBF,aAAuB/S,OAAOiT,kBAC5D,IAGEF,EAAcA,EAAYG,gBAAgBC,IAC5C,CAAE,MAAO9U,GAEP0U,EAAc,IAChB,CAEFhU,EAAK+T,GAAUC,CACjB,CACA,OAAOhU,EAAK+T,EACd,CAIeM,CAAUnU,GACvB,IAAK6T,EACH,MAAM,IAAIO,MAAM,2GAElBP,EAAOd,YAAY7T,EACrB,oFC7BIgS,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAAC/V,EAAOgW,GAAI,yrDAA0rD,KAEnuDF,EAAwBhR,OAAS,CAChC,kBAAqB,8BACrB,iBAAoB,6BACpB,eAAkB,2BAClB,cAAiB,0BACjB,cAAiB,0BACjB,OAAU,mBACV,eAAkB,2BAClB,WAAc,wBAEf,kCCRA9E,EAAOC,QANP,SAA4BC,GAC1B,IAAI+Y,EAAU9Y,SAAS+Y,cAAc,SAGrC,OAFAhZ,EAAQyE,cAAcsU,EAAS/Y,EAAQiZ,YACvCjZ,EAAQ0E,OAAOqU,EAAS/Y,EAAQA,SACzB+Y,CACT","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css?66f3","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/utils.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./src/workbench-layout-v2/styles.module.css","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 assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import React, { memo, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\n\nimport styles from \"./DroppableComponentLayoutItem.module.css\";\nimport { cloneDeep, isEqual, omit } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface DroppableComponentLayoutItemProps {\n component: WorkbenchComponent;\n layout: ExtraLayout;\n isEdit?: boolean;\n onDelete?(i: string): void;\n}\n\nconst position = [\"x\", \"y\", \"w\", \"h\"];\n\nexport function DroppableComponentLayoutItemElement(\n props: DroppableComponentLayoutItemProps\n): React.ReactElement {\n const { component, isEdit, onDelete, layout } = props;\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const handleDeleteClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onDelete?.(layout.i);\n };\n /**\n * cloneDeep 操作是为了让 useBrick事件抛出的值是计算后的值\n */\n const useBrick = useMemo(\n () => cloneDeep(component.useBrick),\n [component.useBrick]\n );\n const [cardConfigs, setCardConfigs] = useState(() =>\n omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n )\n );\n\n // todo 用于处理 layout 重新渲染导致页面卡顿\n /* istanbul ignore next */\n useEffect(() => {\n const newCardConfigs = omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n );\n\n if (!isEqual(newCardConfigs, cardConfigs)) {\n setCardConfigs(newCardConfigs);\n }\n }, [layout, cardConfigs, component.position.w]);\n\n const cardBorderWidth = useMemo(() => {\n return cardConfigs?.cardBorderWidth !== 1\n ? (cardConfigs?.cardBorderWidth as any) - 1\n : 0;\n }, [cardConfigs]);\n\n const editMaskTop = useMemo(() => {\n return 45 + cardBorderWidth;\n }, [cardBorderWidth]);\n\n const deleteIconPosition = useMemo(() => {\n const top = 15 + cardBorderWidth;\n return {\n top,\n right: top,\n };\n }, [cardBorderWidth]);\n\n return (\n <div className={styles.itemWrapper}>\n {isEdit && (\n <div\n className={styles.editMask}\n style={{\n top: editMaskTop,\n }}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={useBrick} data={cardConfigs} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n style={deleteIconPosition}\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n\nexport const DroppableComponentLayoutItem = memo(\n DroppableComponentLayoutItemElement\n);\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]!./DraggableComponentMenuItem.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]!./DraggableComponentMenuItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { Layout, Responsive, WidthProvider } from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport { keyBy, pick } from \"lodash\";\nimport { SizeMe } from \"react-sizeme\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\nimport { getLayoutDefaultCardConfig } from \"./utils\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", { onActionClick: \"action.click\" });\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nconst ROW_HEIGHT = 1;\nconst MARGIN_WIDTH = 16;\nconst MARGIN_HEIGHT = 16;\nconst URl_PREFIX = `${window.location.origin}${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`;\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n onChange?: (layout: ExtraLayout[]) => void;\n onSave?: (layout: ExtraLayout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: ExtraLayout[]) => void;\n onSetting?: () => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<ExtraLayout[]>(layoutsProps ?? []);\n const [layouts, _setLayouts] = useState<ExtraLayout[]>(\n layoutCacheRef.current\n );\n const keyComponentMap = useMemo(\n () => keyBy(componentList, \"key\"),\n [componentList]\n );\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n const draggingComponentRef = useRef<WorkbenchComponent>();\n\n const setLayouts = useCallback((layouts: ExtraLayout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({ setLayouts }));\n\n const handleChange = useCallback(\n (layouts: ExtraLayout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n // const placeholderDOM = gridLayoutRef.current?.querySelector(\n // \".react-grid-placeholder\"\n // );\n // if (placeholderDOM) {\n // if (newItem.w > 1 && newItem.x > 0) {\n // !placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.add(\"forbidden\");\n // } else {\n // placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.remove(\"forbidden\");\n // }\n // }\n // };\n\n /* istanbul ignore next */\n const handleLayoutChange = useCallback(\n (currentLayout: ExtraLayout[]) => {\n if (!isEdit) {\n return;\n }\n\n // 占位拖拽不触发 setLayouts\n if (currentLayout.some((v) => v.isDraggable)) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n currentLayout.map((v) => {\n const layoutItem = currentLayoutsMap?.[v.i];\n return { ...layoutItem, ...v, type: getRealKey(v.i) };\n })\n );\n },\n [handleChange, isEdit, layouts]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(layouts);\n }, [layouts, onSave]);\n\n const handleSetting = () => {\n onSetting?.();\n };\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(action, layouts ?? []);\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n currentLayouts?: Layout[]\n ): void => {\n const defaultCardConfig = getLayoutDefaultCardConfig(component.key);\n const currentLayoutsMap = keyBy(currentLayouts, \"i\");\n const newLayouts = layouts.map((layout) => {\n return {\n ...layout,\n ...pick(currentLayoutsMap?.[layout.i], [\"x\", \"y\"]),\n };\n });\n let newLayout = {\n ...defaultCardConfig,\n ...component.position,\n i: `${component.key}:${Math.random()}`,\n cardWidth: component.position.w,\n type: component.key,\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n };\n if (currentLayouts) {\n const dropItem = currentLayouts.find((v) => v.i === \"__dropping-elem__\");\n newLayout = {\n ...newLayout,\n ...pick(dropItem, \"x\", \"y\"),\n };\n handleChange([newLayout, ...newLayouts]);\n return;\n }\n handleChange(layouts.concat(newLayout));\n };\n\n const handleDeleteItem = useCallback(\n (i: string) => {\n handleChange(layouts.filter((item) => item.i !== i) ?? []);\n },\n [handleChange, layouts]\n );\n\n /* istanbul ignore next */\n const handleResize = useCallback(\n (i: string, contentHeight: number) => {\n const newH = Math.ceil(\n (contentHeight + MARGIN_HEIGHT) / (MARGIN_HEIGHT + ROW_HEIGHT)\n );\n const oldLayout = layouts.find((layout: ExtraLayout) => layout.i === i);\n\n if (!oldLayout) return;\n\n const currentH = Math.ceil(oldLayout.h);\n if (currentH !== newH) {\n const newLayouts = layouts.map((item) =>\n item.i === i ? { ...item, h: newH } : item\n );\n handleChange(newLayouts);\n }\n },\n [layouts, handleChange]\n );\n\n const renderChild = useMemo(() => {\n return layouts\n .map((layout) => {\n const component = keyComponentMap[getRealKey(layout.type as string)];\n if (!component) {\n return null;\n }\n const background =\n layout?.cardBgType === \"picture\"\n ? `url(\"${URl_PREFIX}${layout?.cardBackground}\") no-repeat center / cover`\n : layout?.cardBgType === \"color\"\n ? layout?.cardBackground\n : \"#fff\";\n const border =\n layout?.cardBorderStyle === \"solid\"\n ? `${layout?.cardBorderWidth}px ${layout?.cardBorderStyle} ${layout?.cardBorderColor}`\n : (layout?.cardBorderStyle ?? \"1px solid #e8e8e8\");\n const borderRadius = `${layout?.cardBorderRadius ?? 6}px`;\n\n return (\n <div\n className=\"drag-box\"\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n w: layout.cardWidth || layout.w,\n }}\n key={layout.i}\n style={{\n ...(component.style||{}),\n background,\n border,\n borderRadius,\n backdropFilter: \"blur(10px)\"\n }}\n >\n <SizeMe monitorHeight>\n {({ size }) => {\n if (size.height) {\n handleResize(layout.i, size.height);\n }\n return (\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={handleDeleteItem}\n />\n );\n }}\n </SizeMe>\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem, handleResize]);\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper} style={layoutWrapperStyle}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n {componentList?.map((component, index) => (\n <DraggableComponentMenuItem\n component={component}\n onClick={() => {\n addComponent(component);\n }}\n onDragStart={() => {\n draggingComponentRef.current = component;\n }}\n onDragEnd={() => {\n draggingComponentRef.current = undefined;\n }}\n key={component.key || index}\n />\n ))}\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n 设置\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模板加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={classNames(styles.layout, {\n [`${styles.layoutEdit}`]: isEdit,\n })}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={ROW_HEIGHT}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n compactType=\"vertical\"\n margin={[MARGIN_WIDTH, MARGIN_HEIGHT]}\n // onDrag={handleDragCallback}\n useCSSTransforms={false}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, layout);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2,未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n /**\n * description: 用于设置页面样式和布局的按钮\n */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n onSetting={this.#handleSetting}\n ref={this.#componentRef}\n />\n );\n }\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;","\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]!./DroppableComponentLayoutItem.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]!./DroppableComponentLayoutItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { CardStyleConfig } from \"../interfaces\";\n\nexport const defaultCardConfig: CardStyleConfig = {\n cardWidth: 2,\n showMoreIcon: false,\n cardBorderStyle: \"solid\",\n cardTitleFontSize: 16,\n cardBorderWidth: 1,\n cardBorderRadius: 6,\n cardTitleColor: \"#262626\",\n cardBorderColor: \"#e8e8e8\",\n cardBgType: \"none\",\n};\n\nexport const getLayoutDefaultCardConfig = (\n cardType: string\n): CardStyleConfig => {\n const moreLinkByCardTypeMap: Record<string, CardStyleConfig> = {\n \"notice-card\": {\n moreIconLink: \"/announcement-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"cmdb-object-collect-card\": {\n moreIconLink: \"/cmdb-model-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"itsm-todos\": {\n moreIconLink: \"/itsc-workbench/workbench?activeKey=run\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"abnormalResourceInspectionResults\":{\n moreIconLink: \"/automatic-inspection/suites\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"abnormalSystemInspectionResults\":{\n moreIconLink: \"/automatic-inspection/system/list\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n }\n };\n return {\n ...defaultCardConfig,\n ...(moreLinkByCardTypeMap?.[cardType] ?? {}),\n };\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\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, `.componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"componentItemIcon\": `componentItemIcon--znvUWa0v`,\n\t\"componentItemWrapper\": `componentItemWrapper--mLC8xy_9`,\n\t\"componentItemTitle\": `componentItemTitle--zo3KGnys`,\n\t\"componentItemContent\": `componentItemContent--zOG8IL31`,\n\t\"componentItemThumbnail\": `componentItemThumbnail--epDINDMl`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`,\n\t\"itemWrapper\": `itemWrapper--_lUkkTz1`\n};\nexport default ___CSS_LOADER_EXPORT___;\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]!./styles.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]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\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 checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\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[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.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[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { WorkbenchComponent } from \"../interfaces\";\nimport styles from \"./DraggableComponentMenuItem.module.css\";\nexport interface DraggableComponentMenuItemProps {\n component: WorkbenchComponent;\n onClick?(): void;\n onDragStart?(): void;\n onDragEnd?(): void;\n}\n\nexport function DraggableComponentMenuItem(\n props: DraggableComponentMenuItemProps\n): React.ReactElement {\n const { component, onClick, onDragStart, onDragEnd } = props;\n const { key, title, thumbnail } = component;\n\n return (\n <div\n className={styles.componentItemWrapper}\n data-testid=\"draggable-component-menu-item\"\n >\n <div className={styles.componentItemTitle}>{title}</div>\n <div\n className={styles.componentItemContent}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", key);\n onDragStart?.();\n }}\n onDragEnd={onDragEnd}\n onClick={onClick}\n data-testid=\"draggable-component-menu-item-thumbnail\"\n >\n <img\n className={styles.componentItemThumbnail}\n src={thumbnail}\n alt={title}\n />\n </div>\n </div>\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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;","// 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, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"layoutEdit\": `layoutEdit--FVqWXNWj`\n};\nexport default ___CSS_LOADER_EXPORT___;\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","_classPrivateGetter","s","r","a","WrappedIcon","wrapBrick","position","DroppableComponentLayoutItemElement","props","component","isEdit","onDelete","layout","useBrick","useMemo","cloneDeep","cardConfigs","setCardConfigs","useState","omit","cardWidth","w","useEffect","newCardConfigs","isEqual","cardBorderWidth","editMaskTop","deleteIconPosition","top","right","React","className","styles","itemWrapper","editMask","style","onMouseDown","e","preventDefault","ReactUseBrick","data","icon","lib","deleteIcon","onClick","i","DroppableComponentLayoutItem","memo","setAttributes","insert","domAPI","locals","undefined","defineElement","property","event","method","createDecorators","WrappedButton","WrappedDropdownButton","onActionClick","showDialog","unwrapProvider","URl_PREFIX","window","location","origin","getBasePath","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","toolbarBricks","componentList","showSettingButton","onChange","onSave","onCancel","onSetting","ResponsiveReactGridLayout","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","current","keyComponentMap","keyBy","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","draggingComponentRef","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","some","v","isDraggable","currentLayoutsMap","t","x","y","h","minH","_currentLayout$t$minH","find","item","map","type","handleClearLayout","handleSave","addComponent","currentLayouts","defaultCardConfig","getLayoutDefaultCardConfig","newLayouts","pick","newLayout","Math","random","Infinity","dropItem","handleDeleteItem","_layouts$filter","filter","handleResize","contentHeight","newH","ceil","oldLayout","renderChild","_layout$cardBorderSty","_layout$cardBorderRad","_component$position","background","cardBgType","cardBackground","border","cardBorderStyle","cardBorderColor","borderRadius","cardBorderRadius","backdropFilter","SizeMe","monitorHeight","_ref2","size","height","Boolean","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","getClientRects","body","clientHeight","addEventListener","removeEventListener","gridLayoutWrapper","componentWrapper","componentTitle","index","DraggableComponentMenuItem","onDragStart","onDragEnd","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","handleCancel","handleSetting","btnText","actions","text","danger","action","title","content","then","handleActionClick","detail","classNames","layoutEdit","draggableCancel","layoutItemStyles","breakpoints","lg","md","sm","rowHeight","isResizable","isDroppable","compactType","margin","useCSSTransforms","onDropDragOver","onDrop","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_H","_handleSave","_I","_handleCancel","_J","_handleSetting","_K","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_showSettingButton","_init_extra_showSettingButton","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_settingEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","has","_checkInRHS","nonce","setAttribute","showMoreIcon","cardTitleFontSize","cardTitleColor","cardType","_moreLinkByCardTypeMa","moreLinkByCardTypeMap","moreIconLink","moreIconText","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","call","value","newClass","default","___CSS_LOADER_EXPORT___","push","id","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","add","thumbnail","componentItemWrapper","componentItemTitle","componentItemContent","draggable","dataTransfer","setData","componentItemThumbnail","src","alt","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","element","createElement","attributes"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-workbench-layout-v2.f1eda59a.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css?66f3","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/utils.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./src/workbench-layout-v2/styles.module.css","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 assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import React, { memo, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\n\nimport styles from \"./DroppableComponentLayoutItem.module.css\";\nimport { cloneDeep, isEqual, omit } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface DroppableComponentLayoutItemProps {\n component: WorkbenchComponent;\n layout: ExtraLayout;\n isEdit?: boolean;\n onDelete?(i: string): void;\n}\n\nconst position = [\"x\", \"y\", \"w\", \"h\"];\n\nexport function DroppableComponentLayoutItemElement(\n props: DroppableComponentLayoutItemProps\n): React.ReactElement {\n const { component, isEdit, onDelete, layout } = props;\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const handleDeleteClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onDelete?.(layout.i);\n };\n /**\n * cloneDeep 操作是为了让 useBrick事件抛出的值是计算后的值\n */\n const useBrick = useMemo(\n () => cloneDeep(component.useBrick),\n [component.useBrick]\n );\n const [cardConfigs, setCardConfigs] = useState(() =>\n omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n )\n );\n\n // todo 用于处理 layout 重新渲染导致页面卡顿\n /* istanbul ignore next */\n useEffect(() => {\n const newCardConfigs = omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n );\n\n if (!isEqual(newCardConfigs, cardConfigs)) {\n setCardConfigs(newCardConfigs);\n }\n }, [layout, cardConfigs, component.position.w]);\n\n const cardBorderWidth = useMemo(() => {\n return cardConfigs?.cardBorderWidth !== 1\n ? (cardConfigs?.cardBorderWidth as any) - 1\n : 0;\n }, [cardConfigs]);\n\n const editMaskTop = useMemo(() => {\n return 45 + cardBorderWidth;\n }, [cardBorderWidth]);\n\n const deleteIconPosition = useMemo(() => {\n const top = 15 + cardBorderWidth;\n return {\n top,\n right: top,\n };\n }, [cardBorderWidth]);\n\n return (\n <div className={styles.itemWrapper}>\n {isEdit && (\n <div\n className={styles.editMask}\n style={{\n top: editMaskTop,\n }}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={useBrick} data={cardConfigs} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n style={deleteIconPosition}\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n\nexport const DroppableComponentLayoutItem = memo(\n DroppableComponentLayoutItemElement\n);\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]!./DraggableComponentMenuItem.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]!./DraggableComponentMenuItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { Layout, Responsive, WidthProvider } from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport { keyBy, pick } from \"lodash\";\nimport { SizeMe } from \"react-sizeme\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\nimport { getLayoutDefaultCardConfig } from \"./utils\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", { onActionClick: \"action.click\" });\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nconst ROW_HEIGHT = 1;\nconst MARGIN_WIDTH = 16;\nconst MARGIN_HEIGHT = 16;\nconst URl_PREFIX = `${window.location.origin}${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`;\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n onChange?: (layout: ExtraLayout[]) => void;\n onSave?: (layout: ExtraLayout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: ExtraLayout[]) => void;\n onSetting?: () => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<ExtraLayout[]>(layoutsProps ?? []);\n const [layouts, _setLayouts] = useState<ExtraLayout[]>(\n layoutCacheRef.current\n );\n const keyComponentMap = useMemo(\n () => keyBy(componentList, \"key\"),\n [componentList]\n );\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n const draggingComponentRef = useRef<WorkbenchComponent>();\n\n const setLayouts = useCallback((layouts: ExtraLayout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({ setLayouts }));\n\n const handleChange = useCallback(\n (layouts: ExtraLayout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n // const placeholderDOM = gridLayoutRef.current?.querySelector(\n // \".react-grid-placeholder\"\n // );\n // if (placeholderDOM) {\n // if (newItem.w > 1 && newItem.x > 0) {\n // !placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.add(\"forbidden\");\n // } else {\n // placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.remove(\"forbidden\");\n // }\n // }\n // };\n\n /* istanbul ignore next */\n const handleLayoutChange = useCallback(\n (currentLayout: ExtraLayout[]) => {\n if (!isEdit) {\n return;\n }\n\n // 占位拖拽不触发 setLayouts\n if (currentLayout.some((v) => v.isDraggable)) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n currentLayout.map((v) => {\n const layoutItem = currentLayoutsMap?.[v.i];\n return { ...layoutItem, ...v, type: getRealKey(v.i) };\n })\n );\n },\n [handleChange, isEdit, layouts]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(layouts);\n }, [layouts, onSave]);\n\n const handleSetting = () => {\n onSetting?.();\n };\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(action, layouts ?? []);\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n currentLayouts?: Layout[]\n ): void => {\n const defaultCardConfig = getLayoutDefaultCardConfig(component.key);\n const currentLayoutsMap = keyBy(currentLayouts, \"i\");\n const newLayouts = layouts.map((layout) => {\n return {\n ...layout,\n ...pick(currentLayoutsMap?.[layout.i], [\"x\", \"y\"]),\n };\n });\n let newLayout = {\n ...defaultCardConfig,\n ...component.position,\n i: `${component.key}:${Math.random()}`,\n cardWidth: component.position.w,\n type: component.key,\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n };\n if (currentLayouts) {\n const dropItem = currentLayouts.find((v) => v.i === \"__dropping-elem__\");\n newLayout = {\n ...newLayout,\n ...pick(dropItem, \"x\", \"y\"),\n };\n handleChange([newLayout, ...newLayouts]);\n return;\n }\n handleChange(layouts.concat(newLayout));\n };\n\n const handleDeleteItem = useCallback(\n (i: string) => {\n handleChange(layouts.filter((item) => item.i !== i) ?? []);\n },\n [handleChange, layouts]\n );\n\n /* istanbul ignore next */\n const handleResize = useCallback(\n (i: string, contentHeight: number) => {\n const newH = Math.ceil(\n (contentHeight + MARGIN_HEIGHT) / (MARGIN_HEIGHT + ROW_HEIGHT)\n );\n const oldLayout = layouts.find((layout: ExtraLayout) => layout.i === i);\n\n if (!oldLayout) return;\n\n const currentH = Math.ceil(oldLayout.h);\n if (currentH !== newH) {\n const newLayouts = layouts.map((item) =>\n item.i === i ? { ...item, h: newH } : item\n );\n handleChange(newLayouts);\n }\n },\n [layouts, handleChange]\n );\n\n const renderChild = useMemo(() => {\n return layouts\n .map((layout) => {\n const component = keyComponentMap[getRealKey(layout.type as string)];\n if (!component) {\n return null;\n }\n const background =\n layout?.cardBgType === \"picture\"\n ? `url(\"${URl_PREFIX}${layout?.cardBackground}\") no-repeat center / cover`\n : layout?.cardBgType === \"color\"\n ? layout?.cardBackground\n : \"#fff\";\n const border =\n layout?.cardBorderStyle === \"solid\"\n ? `${layout?.cardBorderWidth}px ${layout?.cardBorderStyle} ${layout?.cardBorderColor}`\n : (layout?.cardBorderStyle ?? \"1px solid #e8e8e8\");\n const borderRadius = `${layout?.cardBorderRadius ?? 6}px`;\n\n return (\n <div\n className=\"drag-box\"\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n w: layout.cardWidth || layout.w,\n }}\n key={layout.i}\n style={{\n ...(component.style||{}),\n background,\n border,\n borderRadius,\n backdropFilter: \"blur(10px)\"\n }}\n >\n <SizeMe monitorHeight>\n {({ size }) => {\n if (size.height) {\n handleResize(layout.i, size.height);\n }\n return (\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={handleDeleteItem}\n />\n );\n }}\n </SizeMe>\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem, handleResize]);\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper} style={layoutWrapperStyle}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n {componentList?.map((component, index) => (\n <DraggableComponentMenuItem\n component={component}\n onClick={() => {\n addComponent(component);\n }}\n onDragStart={() => {\n draggingComponentRef.current = component;\n }}\n onDragEnd={() => {\n draggingComponentRef.current = undefined;\n }}\n key={component.key || index}\n />\n ))}\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n 设置\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模板加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={classNames(styles.layout, {\n [`${styles.layoutEdit}`]: isEdit,\n })}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={ROW_HEIGHT}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n compactType=\"vertical\"\n margin={[MARGIN_WIDTH, MARGIN_HEIGHT]}\n // onDrag={handleDragCallback}\n useCSSTransforms={false}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, layout);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2,未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n /**\n * description: 用于设置页面样式和布局的按钮\n */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n onSetting={this.#handleSetting}\n ref={this.#componentRef}\n />\n );\n }\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;","\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]!./DroppableComponentLayoutItem.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]!./DroppableComponentLayoutItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { CardStyleConfig } from \"../interfaces\";\n\nexport const defaultCardConfig: CardStyleConfig = {\n cardWidth: 2,\n showMoreIcon: false,\n cardBorderStyle: \"solid\",\n cardTitleFontSize: 16,\n cardBorderWidth: 1,\n cardBorderRadius: 6,\n cardTitleColor: \"#262626\",\n cardBorderColor: \"#e8e8e8\",\n cardBgType: \"none\",\n};\n\nexport const getLayoutDefaultCardConfig = (\n cardType: string\n): CardStyleConfig => {\n const moreLinkByCardTypeMap: Record<string, CardStyleConfig> = {\n \"notice-card\": {\n moreIconLink: \"/announcement-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"cmdb-object-collect-card\": {\n moreIconLink: \"/cmdb-model-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"itsm-todos\": {\n moreIconLink: \"/itsc-workbench/workbench?activeKey=run\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"abnormalResourceInspectionResults\":{\n moreIconLink: \"/automatic-inspection/suites\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"abnormalSystemInspectionResults\":{\n moreIconLink: \"/automatic-inspection/system/list\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n }\n };\n return {\n ...defaultCardConfig,\n ...(moreLinkByCardTypeMap?.[cardType] ?? {}),\n };\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\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, `.componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"componentItemIcon\": `componentItemIcon--znvUWa0v`,\n\t\"componentItemWrapper\": `componentItemWrapper--mLC8xy_9`,\n\t\"componentItemTitle\": `componentItemTitle--zo3KGnys`,\n\t\"componentItemContent\": `componentItemContent--zOG8IL31`,\n\t\"componentItemThumbnail\": `componentItemThumbnail--epDINDMl`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`,\n\t\"itemWrapper\": `itemWrapper--_lUkkTz1`\n};\nexport default ___CSS_LOADER_EXPORT___;\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]!./styles.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]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\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 checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\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[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.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[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { WorkbenchComponent } from \"../interfaces\";\nimport styles from \"./DraggableComponentMenuItem.module.css\";\nexport interface DraggableComponentMenuItemProps {\n component: WorkbenchComponent;\n onClick?(): void;\n onDragStart?(): void;\n onDragEnd?(): void;\n}\n\nexport function DraggableComponentMenuItem(\n props: DraggableComponentMenuItemProps\n): React.ReactElement {\n const { component, onClick, onDragStart, onDragEnd } = props;\n const { key, title, thumbnail } = component;\n\n return (\n <div\n className={styles.componentItemWrapper}\n data-testid=\"draggable-component-menu-item\"\n >\n <div className={styles.componentItemTitle}>{title}</div>\n <div\n className={styles.componentItemContent}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", key);\n onDragStart?.();\n }}\n onDragEnd={onDragEnd}\n onClick={onClick}\n data-testid=\"draggable-component-menu-item-thumbnail\"\n >\n <img\n className={styles.componentItemThumbnail}\n src={thumbnail}\n alt={title}\n />\n </div>\n </div>\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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;","// 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, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"layoutEdit\": `layoutEdit--FVqWXNWj`\n};\nexport default ___CSS_LOADER_EXPORT___;\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","_classPrivateGetter","s","r","a","WrappedIcon","wrapBrick","position","DroppableComponentLayoutItemElement","props","component","isEdit","onDelete","layout","useBrick","useMemo","cloneDeep","cardConfigs","setCardConfigs","useState","omit","cardWidth","w","useEffect","newCardConfigs","isEqual","cardBorderWidth","editMaskTop","deleteIconPosition","top","right","React","className","styles","itemWrapper","editMask","style","onMouseDown","e","preventDefault","ReactUseBrick","data","icon","lib","deleteIcon","onClick","i","DroppableComponentLayoutItem","memo","setAttributes","insert","domAPI","locals","undefined","defineElement","property","event","method","createDecorators","WrappedButton","WrappedDropdownButton","onActionClick","showDialog","unwrapProvider","URl_PREFIX","window","location","origin","getBasePath","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","toolbarBricks","componentList","showSettingButton","onChange","onSave","onCancel","onSetting","ResponsiveReactGridLayout","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","current","keyComponentMap","keyBy","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","draggingComponentRef","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","some","v","isDraggable","currentLayoutsMap","t","x","y","h","minH","_currentLayout$t$minH","find","item","map","type","handleClearLayout","handleSave","addComponent","currentLayouts","defaultCardConfig","getLayoutDefaultCardConfig","newLayouts","pick","newLayout","Math","random","Infinity","dropItem","handleDeleteItem","_layouts$filter","filter","handleResize","contentHeight","newH","ceil","oldLayout","renderChild","_layout$cardBorderSty","_layout$cardBorderRad","_component$position","background","cardBgType","cardBackground","border","cardBorderStyle","cardBorderColor","borderRadius","cardBorderRadius","backdropFilter","SizeMe","monitorHeight","_ref2","size","height","Boolean","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","getClientRects","body","clientHeight","addEventListener","removeEventListener","gridLayoutWrapper","componentWrapper","componentTitle","index","DraggableComponentMenuItem","onDragStart","onDragEnd","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","handleCancel","handleSetting","btnText","actions","text","danger","action","title","content","then","handleActionClick","detail","classNames","layoutEdit","draggableCancel","layoutItemStyles","breakpoints","lg","md","sm","rowHeight","isResizable","isDroppable","compactType","margin","useCSSTransforms","onDropDragOver","onDrop","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_H","_handleSave","_I","_handleCancel","_J","_handleSetting","_K","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_showSettingButton","_init_extra_showSettingButton","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_settingEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","has","_checkInRHS","nonce","setAttribute","showMoreIcon","cardTitleFontSize","cardTitleColor","cardType","_moreLinkByCardTypeMa","moreLinkByCardTypeMap","moreIconLink","moreIconText","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","call","value","newClass","default","___CSS_LOADER_EXPORT___","push","id","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","add","thumbnail","componentItemWrapper","componentItemTitle","componentItemContent","draggable","dataTransfer","setData","componentItemThumbnail","src","alt","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","element","createElement","attributes"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_advanced=globalThis.webpackChunk_next_bricks_advanced||[]).push([[9326],{5536:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(12559);function i(e,t,r){return r((0,a.A)(e,t))}},16322:(e,t,r)=>{r.d(t,{A:()=>h});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(20062),l=r.n(s),c=new URL(r(59224),r.b),d=o()(i()),p=l()(c);d.push([e.id,`.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${p});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`,""]);const h=d.toString()},34566:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n)()(i());o.push([e.id,'.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}',""]);const s=o.toString()},55319:(e,t,r)=>{r.r(t),r.d(t,{EoWorkbenchLayout:()=>ie,EoWorkbenchLayoutComponent:()=>ae});var a,i=r(74635),n=r(70918),o=r(26902),s=r(5536),l=r(86121),c=r(70829),d=r(62740),p=r(18769),h=r.n(p),g=r(7921),u=r(11280),m=r(49523),b=r(72736),w=r(69113),v=(r(76477),r(45833)),y=r(91116);let f,x,k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F;const{defineElement:$,property:J,event:U,method:X}=(0,g.createDecorators)(),q=(0,u.wrapBrick)("eo-button"),O=(0,u.wrapBrick)("eo-dropdown-button",{onActionClick:"action.click"}),K=(0,u.wrapBrick)("eo-icon"),V=(0,u.wrapBrick)("eo-checkbox",{onChange:"change"}),ee=(0,m.unwrapProvider)("basic.show-dialog"),te=e=>null!=e&&e.includes(":")?e.split(":")[0]:e,{isAdmin:re}=w.auth.getAuth(),ae=(0,p.forwardRef)((function(e,t){let{cardTitle:r="卡片列表",layouts:a,componentList:i=[],isEdit:n,onChange:o,onSave:s,onCancel:l,onActionClick:c}=e;const d=(0,p.useMemo)((()=>(0,v.WidthProvider)(v.Responsive)),[]),g=(0,p.useRef)(null),u=(0,p.useRef)(null),m=(0,p.useRef)(null!=a?a:[]),[w,y]=(0,p.useState)(m.current),[f,x]=(0,p.useState)(3),[k,z]=(0,p.useState)(),A=(0,p.useCallback)((e=>{m.current=e,y(e)}),[]);(0,p.useImperativeHandle)(t,(()=>({setLayouts:A})));const E=(0,p.useCallback)((e=>{A(e),null==o||o(e)}),[o,A]),C=(0,p.useCallback)((e=>{if(!n)return;let t=!0;for(let a=0;a<e.length;a++){const{x:i,w:n,y:o,h:s,i:l,minH:c}=e[a];if(n>1&&i>0){t=!1;break}if(1===n&&i<2){const t=e.find((e=>e.i!==l&&1===e.w&&e.y===o&&i<2));var r;t&&(e[a].minH=null!==(r=e[a].minH)&&void 0!==r?r:s,e[a].h=Math.max(t.h,s))}else e[a].h=null!=c?c:s,e[a].minH=void 0}E(t?e:m.current.map((e=>{const{w:t,i:r}=e,a=`${te(r)}:${Math.random()}`;let i=e.x;return t>1&&i>0&&(i=0),{...e,x:i,i:a}})))}),[E,n]),M=(0,p.useCallback)((e=>{const t=e.detail.map((e=>e.value)),r=w.map((e=>te(e.i))),a=e.detail.filter((e=>!r.includes(e.key))).map((e=>({...e.position,x:e.w>1?0:2*w.length%f,y:1/0})));E(w.filter((e=>t.includes(te(e.i)))).concat(a))}),[w,E,f]),I=()=>{E([])},L=(0,p.useCallback)((()=>{null==s||s(w.map((e=>({...e,i:te(e.i)}))))}),[w,s]),N=(0,p.useCallback)(((e,t)=>{var r;e.stopPropagation(),E(null!==(r=w.filter((e=>te(e.i)!==t.key)))&&void 0!==r?r:[])}),[E,w]),W=e=>{e.preventDefault()},B=(0,p.useMemo)((()=>w.map((e=>{var t;const r=i.find((t=>t.key===te(e.i)));return r?h().createElement("div",{key:e.i,"data-grid":{...null!==(t=r.position)&&void 0!==t?t:{},...e},style:r.style,className:"drag-box"},n&&h().createElement("div",{className:"edit-mask",onMouseDown:W}),h().createElement(b.ReactUseBrick,{useBrick:r.useBrick}),n&&h().createElement(K,{icon:"delete",lib:"antd",className:"delete-icon",onClick:e=>N(e,r)})):null})).filter(Boolean)),[i,N,w,n]),D=(0,p.useMemo)((()=>i.map((e=>({...e,label:e.title,value:e.key})))),[i]),H=(0,p.useMemo)((()=>w.map((e=>te(e.i)))),[w]),T=(0,p.useCallback)((()=>{if(u&&n){var e,t;const{top:r}=null!==(e=null===(t=u.current)||void 0===t||null===(t=t.getClientRects())||void 0===t?void 0:t[0])&&void 0!==e?e:{};void 0!==r&&z({height:document.body.clientHeight-r,overflow:"scroll"})}}),[n]);return(0,p.useEffect)((()=>{if(n)return T(),A(a||[]),window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}}),[n,T,a,A]),h().createElement("div",{className:"grid-layout-wrapper",ref:g},n&&h().createElement("div",{className:"component-wrapper"},h().createElement("div",{className:"component-title"},r),h().createElement("div",{className:"component-list"},h().createElement(V,{options:D,value:H,onChange:M}),h().createElement("slot",{name:"toolbar"}))),h().createElement("div",{className:"layout-wrapper",ref:u,style:k},n&&h().createElement("div",{className:"actions-wrapper"},h().createElement(q,{type:"primary",onClick:L},"保存"),h().createElement(q,{onClick:()=>{null==l||l()}},"取消"),h().createElement(O,{btnText:"更多",icon:{lib:"antd",icon:"down"},actions:[...re?[{text:"另存为模板",event:"saveAsTemplate"}]:[],{text:"从模版加载",event:"loadFromTemplate"},{text:"清空所有",danger:!0,event:"clear"}],onActionClick:e=>{(e=>{const{event:t}=e;"clear"===t?ee({type:"confirm",title:"清空确认",content:"将清空所有卡片,从零开始编辑,该操作无法撤回。"}).then(I):null==c||c(e,(null!=w?w:[]).map((e=>({...e,i:te(e.i)}))))})(e.detail)},"data-testid":"edit-layout-actions"})),h().createElement(d,{className:"layout",draggableCancel:".delete-icon,.edit-actions,.ignore-item",breakpoints:{lg:1300,md:1024,sm:768},rowHeight:1,cols:{lg:3,md:3,sm:n?3:1},isResizable:!1,isDraggable:n,onDrag:(e,t,r)=>{var a;const i=null===(a=g.current)||void 0===a?void 0:a.querySelector(".react-grid-placeholder");i&&(r.w>1&&r.x>0?!i.classList.contains("forbidden")&&i.classList.add("forbidden"):i.classList.contains("forbidden")&&i.classList.remove("forbidden"))},onLayoutChange:C,onBreakpointChange:(e,t)=>{x(t)}},B)))}));let ie;var ne=new WeakMap,oe=new WeakMap,se=new WeakMap,le=new WeakMap,ce=new WeakMap,de=new WeakMap,pe=new WeakSet,he=new WeakMap,ge=new WeakMap,ue=new WeakMap,me=new WeakMap,be=new WeakMap,we=new WeakMap,ve=new WeakMap;class ye extends u.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,pe),(0,n.A)(this,ne,(f(this),(0,p.createRef)())),(0,n.A)(this,oe,k(this)),(0,n.A)(this,se,(z(this),A(this))),(0,n.A)(this,le,(E(this),C(this))),(0,n.A)(this,ce,(M(this),I(this))),(0,n.A)(this,de,(L(this),N(this))),(0,n.A)(this,he,(D(this),e=>{(0,s.A)(pe,this,W).emit(e)})),(0,n.A)(this,ge,H(this)),(0,n.A)(this,ue,(S(this),e=>{(0,s.A)(pe,this,T).emit(e)})),(0,n.A)(this,me,Z(this)),(0,n.A)(this,be,(G(this),()=>{(0,s.A)(pe,this,P).emit()})),(0,n.A)(this,we,_(this)),(0,n.A)(this,ve,(F(this),(e,t)=>{(0,s.A)(pe,this,Y).emit({action:e,layouts:t}),e.event&&this.dispatchEvent(new CustomEvent(e.event,{detail:t}))}))}get cardTitle(){return(0,c.A)(oe,this)}set cardTitle(e){(0,l.A)(oe,this,e)}get isEdit(){return(0,c.A)(se,this)}set isEdit(e){(0,l.A)(se,this,e)}get layouts(){return(0,c.A)(le,this)}set layouts(e){(0,l.A)(le,this,e)}get componentList(){return(0,c.A)(ce,this)}set componentList(e){(0,l.A)(ce,this,e)}setLayouts(e){var t;null===(t=(0,c.A)(ne,this).current)||void 0===t||t.setLayouts(e)}render(){return h().createElement(ae,{cardTitle:this.cardTitle,layouts:this.layouts,componentList:this.componentList,isEdit:this.isEdit,onChange:(0,c.A)(he,this),onSave:(0,c.A)(ue,this),onCancel:(0,c.A)(be,this),onActionClick:(0,c.A)(ve,this),ref:(0,c.A)(ne,this)})}}a=ye,({e:[k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F,f],c:[ie,x]}=(0,d.A)(a,[$("eo-workbench-layout",{styleTexts:[y.A]})],[[J(),1,"cardTitle"],[J({type:Boolean}),1,"isEdit"],[J({attribute:!1}),1,"layouts"],[J({attribute:!1}),1,"componentList"],[U({type:"change"}),1,"changeEvent",e=>(0,c.A)(de,e),(e,t)=>(0,l.A)(de,e,t)],[U({type:"save"}),1,"saveEvent",e=>(0,c.A)(ge,e),(e,t)=>(0,l.A)(ge,e,t)],[U({type:"cancel"}),1,"cancelEvent",e=>(0,c.A)(me,e),(e,t)=>(0,l.A)(me,e,t)],[U({type:"action.click"}),1,"actionClickEvent",e=>(0,c.A)(we,e),(e,t)=>(0,l.A)(we,e,t)],[X(),2,"setLayouts"]],0,(e=>ve.has((0,o.A)(e))),u.ReactNextElement)),x()},59224:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+"},74635:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(72016);function i(e,t){(0,a.A)(e,t),t.add(e)}},91116:(e,t,r)=>{r.d(t,{A:()=>d});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(34566),l=r(16322),c=o()(i());c.i(s.A),c.i(l.A),c.push([e.id,":host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}",""]);const d=c.toString()}}]);
2
+ //# sourceMappingURL=eo-workbench-layout.4414c0db.js.map