@next-bricks/data-view 0.15.4 → 0.15.6

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 (55) hide show
  1. package/dist/bricks.json +5 -5
  2. package/dist/chunks/1874.00bcad23.js +2 -0
  3. package/dist/chunks/1874.00bcad23.js.map +1 -0
  4. package/dist/chunks/3914.b5986e17.js +2 -0
  5. package/dist/chunks/3914.b5986e17.js.map +1 -0
  6. package/dist/chunks/5151.1c92f05d.js +2 -0
  7. package/dist/chunks/5151.1c92f05d.js.map +1 -0
  8. package/dist/chunks/5202.ff1675ae.js +2 -0
  9. package/dist/chunks/5202.ff1675ae.js.map +1 -0
  10. package/dist/chunks/5381.8b6c0779.js +2 -0
  11. package/dist/chunks/5381.8b6c0779.js.map +1 -0
  12. package/dist/chunks/{6252.a408a0a3.js → 6252.d2312cb8.js} +2 -2
  13. package/dist/chunks/{6252.a408a0a3.js.map → 6252.d2312cb8.js.map} +1 -1
  14. package/dist/chunks/{6301.97e18ad8.js → 6301.60377e21.js} +2 -2
  15. package/dist/chunks/{6301.97e18ad8.js.map → 6301.60377e21.js.map} +1 -1
  16. package/dist/chunks/6653.1db188e5.js +2 -0
  17. package/dist/chunks/6653.1db188e5.js.map +1 -0
  18. package/dist/chunks/6660.a41a9b36.js +2 -0
  19. package/dist/chunks/6660.a41a9b36.js.map +1 -0
  20. package/dist/chunks/7782.ffdd10bd.js +2 -0
  21. package/dist/chunks/7782.ffdd10bd.js.map +1 -0
  22. package/dist/chunks/8498.8821e938.js +2 -0
  23. package/dist/chunks/8498.8821e938.js.map +1 -0
  24. package/dist/chunks/{complex-search.e46ab236.js → complex-search.1de3f6f5.js} +2 -2
  25. package/dist/chunks/{complex-search.e46ab236.js.map → complex-search.1de3f6f5.js.map} +1 -1
  26. package/dist/chunks/main.da0429e1.js +2 -0
  27. package/dist/chunks/main.da0429e1.js.map +1 -0
  28. package/dist/chunks/{modern-style-treemap.6dd5618b.js → modern-style-treemap.2efd3239.js} +3 -3
  29. package/dist/chunks/{modern-style-treemap.6dd5618b.js.map → modern-style-treemap.2efd3239.js.map} +1 -1
  30. package/dist/index.7971429f.js +2 -0
  31. package/dist/index.7971429f.js.map +1 -0
  32. package/dist/manifest.json +69 -69
  33. package/dist/types.json +199 -199
  34. package/package.json +3 -3
  35. package/dist/chunks/3494.2ac2c572.js +0 -2
  36. package/dist/chunks/3494.2ac2c572.js.map +0 -1
  37. package/dist/chunks/3914.738b0862.js +0 -2
  38. package/dist/chunks/3914.738b0862.js.map +0 -1
  39. package/dist/chunks/4454.2eeedfb4.js +0 -2
  40. package/dist/chunks/4454.2eeedfb4.js.map +0 -1
  41. package/dist/chunks/5151.ce644081.js +0 -2
  42. package/dist/chunks/5151.ce644081.js.map +0 -1
  43. package/dist/chunks/5202.3225e09f.js +0 -2
  44. package/dist/chunks/5202.3225e09f.js.map +0 -1
  45. package/dist/chunks/7782.cc445401.js +0 -2
  46. package/dist/chunks/7782.cc445401.js.map +0 -1
  47. package/dist/chunks/7822.aee914cb.js +0 -2
  48. package/dist/chunks/7822.aee914cb.js.map +0 -1
  49. package/dist/chunks/873.1d7a2495.js +0 -2
  50. package/dist/chunks/873.1d7a2495.js.map +0 -1
  51. package/dist/chunks/main.5699c5c3.js +0 -2
  52. package/dist/chunks/main.5699c5c3.js.map +0 -1
  53. package/dist/index.d0d9fc84.js +0 -2
  54. package/dist/index.d0d9fc84.js.map +0 -1
  55. /package/dist/chunks/{modern-style-treemap.6dd5618b.js.LICENSE.txt → modern-style-treemap.2efd3239.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/5202.ff1675ae.js","mappings":"0IAAA,SAASA,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQC,EAAKC,GACpE,IACE,IAAIC,EAAOP,EAAIK,GAAKC,GAChBE,EAAQD,EAAKC,KACnB,CAAE,MAAOC,GAEP,YADAP,EAAOO,EAET,CACIF,EAAKG,KACPT,EAAQO,GAERG,QAAQV,QAAQO,GAAOI,KAAKT,EAAOC,EAEvC,CACe,SAASS,EAAkBC,GACxC,OAAO,WACL,IAAIC,EAAOC,KACTC,EAAOC,UACT,OAAO,IAAIP,SAAQ,SAAUV,EAASC,GACpC,IAAIF,EAAMc,EAAGK,MAAMJ,EAAME,GACzB,SAASd,EAAMK,GACbT,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQI,EAClE,CACA,SAASJ,EAAOgB,GACdrB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASgB,EACnE,CACAjB,OAAMkB,EACR,GACF,CACF,C,iCC7Be,SAASC,EAA2BC,EAAKC,GACtD,GAAIA,EAAkBC,IAAIF,GACxB,MAAM,IAAIG,UAAU,iEAExB,C,gCCJe,SAASC,EAA6BC,EAAUC,EAAYC,GACzE,IAAKD,EAAWJ,IAAIG,GAClB,MAAM,IAAIF,UAAU,gBAAkBI,EAAS,kCAEjD,OAAOD,EAAWE,IAAIH,EACxB,C,8DCHe,SAASI,EAAsBJ,EAAUC,GAEtD,OCJa,SAAkCD,EAAUK,GACzD,OAAIA,EAAWF,IACNE,EAAWF,IAAIG,KAAKN,GAEtBK,EAAWzB,KACpB,CDDS,CAAwBoB,GADd,EAAAO,EAAA,GAA4BP,EAAUC,EAAY,OAErE,C,gDEJe,SAASO,EAA2Bb,EAAKM,EAAYrB,IAClE,OAA0Be,EAAKM,GAC/BA,EAAWQ,IAAId,EAAKf,EACtB,C,8CCFe,SAAS8B,EAAsBV,EAAUC,EAAYrB,GAGlE,OCLa,SAAkCoB,EAAUK,EAAYzB,GACrE,GAAIyB,EAAWI,IACbJ,EAAWI,IAAIH,KAAKN,EAAUpB,OACzB,CACL,IAAKyB,EAAWM,SACd,MAAM,IAAIb,UAAU,4CAEtBO,EAAWzB,MAAQA,CACrB,CACF,CDLE,CAAwBoB,GADP,EAAAO,EAAA,GAA4BP,EAAUC,EAAY,OACrBrB,GACvCA,CACT,C,iBENe,SAASgC,EAAuBZ,EAAUa,EAAY3B,GACnE,IAAK2B,EAAWhB,IAAIG,GAClB,MAAM,IAAIF,UAAU,kDAEtB,OAAOZ,CACT,C,gECJe,SAAS4B,EAA4BnB,EAAKkB,IACvD,OAA0BlB,EAAKkB,GAC/BA,EAAWE,IAAIpB,EACjB,C,gDCHe,SAASqB,EAAgBrB,EAAKlB,EAAKG,GAYhD,OAXAH,GAAM,OAAcA,MACTkB,EACTsB,OAAOC,eAAevB,EAAKlB,EAAK,CAC9BG,MAAOA,EACPuC,YAAY,EACZC,cAAc,EACdT,UAAU,IAGZhB,EAAIlB,GAAOG,EAENe,CACT,C,gDCbA,SAAS0B,EAAQC,EAAQC,GACvB,IAAIC,EAAOP,OAAOO,KAAKF,GACvB,GAAIL,OAAOQ,sBAAuB,CAChC,IAAIC,EAAUT,OAAOQ,sBAAsBH,GAC3CC,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GACpD,OAAOX,OAAOY,yBAAyBP,EAAQM,GAAKT,UACtD,KAAKK,EAAKM,KAAKvC,MAAMiC,EAAME,EAC7B,CACA,OAAOF,CACT,CACe,SAASO,EAAeC,GACrC,IAAK,IAAIC,EAAI,EAAGA,EAAI3C,UAAU4C,OAAQD,IAAK,CACzC,IAAIE,EAAS,MAAQ7C,UAAU2C,GAAK3C,UAAU2C,GAAK,CAAC,EACpDA,EAAI,EAAIZ,EAAQJ,OAAOkB,IAAS,GAAIC,SAAQ,SAAU3D,IACpD,OAAeuD,EAAQvD,EAAK0D,EAAO1D,GACrC,IAAKwC,OAAOoB,0BAA4BpB,OAAOqB,iBAAiBN,EAAQf,OAAOoB,0BAA0BF,IAAWd,EAAQJ,OAAOkB,IAASC,SAAQ,SAAU3D,GAC5JwC,OAAOC,eAAec,EAAQvD,EAAKwC,OAAOY,yBAAyBM,EAAQ1D,GAC7E,GACF,CACA,OAAOuD,CACT,C,iBCpBe,SAASO,EAAyBJ,EAAQK,GACvD,GAAc,MAAVL,EAAgB,MAAO,CAAC,EAC5B,IACI1D,EAAKwD,EADLD,ECHS,SAAuCG,EAAQK,GAC5D,GAAc,MAAVL,EAAgB,MAAO,CAAC,EAC5B,IAEI1D,EAAKwD,EAFLD,EAAS,CAAC,EACVS,EAAaxB,OAAOO,KAAKW,GAE7B,IAAKF,EAAI,EAAGA,EAAIQ,EAAWP,OAAQD,IACjCxD,EAAMgE,EAAWR,GACbO,EAASE,QAAQjE,IAAQ,IAC7BuD,EAAOvD,GAAO0D,EAAO1D,IAEvB,OAAOuD,CACT,CDRe,CAA6BG,EAAQK,GAElD,GAAIvB,OAAOQ,sBAAuB,CAChC,IAAIkB,EAAmB1B,OAAOQ,sBAAsBU,GACpD,IAAKF,EAAI,EAAGA,EAAIU,EAAiBT,OAAQD,IACvCxD,EAAMkE,EAAiBV,GACnBO,EAASE,QAAQjE,IAAQ,GACxBwC,OAAO2B,UAAUC,qBAAqBvC,KAAK6B,EAAQ1D,KACxDuD,EAAOvD,GAAO0D,EAAO1D,GAEzB,CACA,OAAOuD,CACT,C,gEEbe,SAASc,EAAepE,GACrC,IAAID,ECFS,SAAsBsE,EAAOC,GAC1C,GAAuB,YAAnB,OAAQD,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAIE,EAAOF,EAAMG,OAAOC,aACxB,QAAa1D,IAATwD,EAAoB,CACtB,IAAIG,EAAMH,EAAK3C,KAAKyC,EAAOC,UAC3B,GAAqB,YAAjB,OAAQI,GAAmB,OAAOA,EACtC,MAAM,IAAItD,UAAU,+CACtB,CACA,OAA4BuD,OAAiBN,EAC/C,CDPY,CAAYrE,GACtB,MAAwB,YAAjB,OAAQD,GAAoBA,EAAM4E,OAAO5E,EAClD,C,iBELe,SAAS6E,EAAQ3D,GAG9B,OAAO2D,EAAU,mBAAqBJ,QAAU,iBAAmBA,OAAOK,SAAW,SAAU5D,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqBuD,QAAUvD,EAAI6D,cAAgBN,QAAUvD,IAAQuD,OAAON,UAAY,gBAAkBjD,CAC1H,EAAG2D,EAAQ3D,EACb,C,2PCRO,IAAI8D,EAAQ,CAACV,EAAOW,KAGzB,IAAIC,EAAM,IAAIC,QAAQb,EAAO9B,OAAO4C,OAAO,CACzCC,YAAa,eACZJ,IACH,OAAOvE,KAAKsE,MAAME,EAAI,E,wFCLjB,MAAMI,UAAuBC,MAClCR,YAAYS,GAEVC,MAAMD,GACN7E,KAAK+E,KAAO,iBAIRH,MAAMI,mBACRJ,MAAMI,kBAAkBhF,KAAM2E,EAElC,EAEK,MAAMM,UAA0BL,MACrCR,YAAYc,EAAUC,GAEpBL,MAAMI,EAASE,aACf,OAAgBpF,KAAM,gBAAY,IAClC,OAAgBA,KAAM,oBAAgB,GACtCA,KAAK+E,KAAO,oBAIRH,MAAMI,mBACRJ,MAAMI,kBAAkBhF,KAAMiF,GAEhCjF,KAAKkF,SAAWA,EAChBlF,KAAKmF,aAAeA,CACtB,EAEK,MAAME,UAAuBT,MAClCR,YAAYc,GAEVJ,MAAMI,EAASE,aACf,OAAgBpF,KAAM,gBAAY,GAClCA,KAAK+E,KAAO,iBAIRH,MAAMI,mBACRJ,MAAMI,kBAAkBhF,KAAMqF,GAEhCrF,KAAKkF,SAAWA,CAClB,EAEK,MAAMI,UAAuBV,MAClCR,YAAYS,GACVC,MAAMD,GACN7E,KAAK+E,KAAO,gBACd,ECjDa,MAAMQ,EACnBnB,eACE,OAAgBpE,KAAM,WAAY,GACpC,CACAwF,IAAIC,EAAaC,GAKf,OAJA1F,KAAK2F,SAASjD,KAAK,CACjBkD,UAAWH,EACXI,SAAUH,IAEL1F,KAAK2F,SAAS7C,OAAS,CAChC,CACAgD,MAAMC,GAEA/F,KAAK2F,SAASI,KAChB/F,KAAK2F,SAASI,GAAM,KAExB,CACA/C,QAAQlD,GACNE,KAAK2F,SAAS3C,SAAQgD,IAEJ,OAAZA,GACFlG,EAAGkG,EACL,GAEJ,EChBF,IAAIC,EAAY,CAAC,SAAU,eAAgB,oBAAqB,UAAW,uBAAwB,YACjGC,EAAa,CAAC,SAAU,UAAW,eAAgB,oBAAqB,UAAW,uBAAwB,YAC3GC,EAAa,CAAC,OAAQ,UAIxB,SAASC,EAAM5G,GACb,OAAOA,OACT,CACA,IAAI6G,EAAOC,SAASC,cAAc,QAC9BC,EAAeH,EAAOA,EAAKI,KAAOC,SAASC,OAAS,IAE7CC,EAAmBnH,GAASA,aAAiBoH,cAA+B,KAAfpH,EAAMqH,KAC1EC,EAAuB,WACzB,IAAIC,GAAO,QAAkB,UAAWC,EAAK3C,EAAM4C,GAEjD,OAAO,IAAIvH,QAAsB,WAC/B,IAAIwH,GAAQ,QAAkB,UAAWlI,EAASC,GAChD,IAAIgG,EACJgC,EAAOD,IAAMA,EACb,IAAI,aACFG,GACEF,EAAOG,SAAW,CAAC,EAClBD,IAEHA,EAAe,QAEjB,IACElC,QAAiBb,EAAM4C,EAAK3C,EAC9B,CAAE,MAAOgD,GAEP,YADApI,EAAO0H,EAAiBU,GAAK,IAAIhC,EAAegC,EAAEC,YAAc,IAAI5C,EAAe2C,EAAEC,YAEvF,CACA,GAAKrC,EAASsC,GAAd,CAUA,IAAIC,EACJ,IACEA,QAAavC,EAASkC,IACxB,CAAE,MAAOE,GAEP,YADApI,EAAO0H,EAAiBU,GAAK,IAAIhC,EAAegC,EAAEC,YAAc,IAAIlC,EAAeH,GAErF,CAOAjG,EANU,CACRyI,OAAQxC,EAASwC,OACjBtC,WAAYF,EAASE,WACrBuC,QAASzC,EAASyC,QAClBF,QAZF,KATA,CACE,IAAItC,EACJ,IACEA,QAAqBD,EAAS0C,MAChC,CAAE,MAAON,GAET,CACApI,EAAO,IAAI+F,EAAkBC,EAAUC,GAEzC,CAeF,IACA,OAAO,SAAU0C,EAAKC,GACpB,OAAOX,EAAMhH,MAAMH,KAAME,UAC3B,CACF,CA7CiC,GA8CnC,IACA,OAAO,SAAiB6H,EAAIC,EAAKC,GAC/B,OAAOjB,EAAK7G,MAAMH,KAAME,UAC1B,CACF,CArD2B,GAsDhBgI,EAAmB,CAACjB,EAAKkB,KAClC,GAAIA,EAAQ,CACV,IAAIC,EAAY,IAAIC,IAAIpB,EAAKT,GACzB2B,aAAkBG,gBACpBH,EAAOnF,SAAQ,SAAUxD,EAAOH,GAC9B+I,EAAUG,aAAaC,OAAOnJ,EAAKG,EACrC,IAEAqC,OAAO4G,QAAQN,GAAQnF,SAAQ0F,IAC7B,IAAKrJ,EAAKG,GAASkJ,EACfC,MAAMC,QAAQpJ,GAChBA,EAAMwD,SAAQ6F,IACZT,EAAUG,aAAaC,OAAOnJ,EAAK+G,EAAMyC,GAAK,GAAKA,EAAE,IAGvDT,EAAUG,aAAaC,OAAOnJ,EAAK+G,EAAM5G,GAAS,GAAKA,EACzD,IAGJ,IAAI,KACFiH,GACE2B,EACJ,OAAI3B,EAAKqC,WAAWtC,GACXC,EAAKsC,OAAOvC,EAAa1D,QAE3B2D,CACT,CACA,OAAOQ,CAAG,EAER+B,EAAoB,CAACvB,EAAME,KAC7B,QAAatH,IAAToH,EAAoB,CAGtB,IAAIwB,EAAgB,IAAIC,QAAQvB,GAAW,CAAC,GACxCwB,EAAoB,eACpBC,EAAO3B,EAYX,OAVKwB,EAAcxI,IAAI0I,KACD,iBAAT1B,EACTwB,EAAc5H,IAAI8H,EAAmB,qCAC5B1B,aAAgB4B,WAGzBJ,EAAc5H,IAAI8H,EAAmB,oBACrCC,EAAOE,KAAKC,UAAU9B,KAGnB,CACL2B,OACAzB,QAASsB,EAEb,CACA,MAAO,CACLtB,UACD,EAqCC6B,EAAiBtC,IACnB,IAAI,IACFD,EAAG,OACHwC,EAAM,KACNhC,GACEP,EAGJ,MAAI,CAAC,SAAU,MAAO,QAAQwC,SAASxC,EAAOuC,QA3C5B,EAACA,EAAQxC,EAAKC,KAChC,IAAIyC,EAAQzC,EAAOG,SAAW,CAAC,GAC7B,OACEc,EAAM,aAENf,EAAY,kBACZwC,EAAiB,QACjBC,EAAO,qBACPC,EAAoB,SACpBC,GAEEJ,EACJK,GAAc,OAAyBL,EAAO1D,GAChD,OAAOc,EAAQmB,EAAiBjB,EAAKkB,IAAS,QAAc,OAAc,CAAC,EAAG6B,GAAc,CAAC,EAAG,CAC9FP,WACEvC,EAAO,EA6BF+C,CAAcR,EAAQxC,EAAKC,GA3BhB,EAACuC,EAAQxC,EAAKQ,EAAMP,KACxC,IAAIgD,EAAQhD,EAAOG,SAAW,CAAC,GAC7B,OACEc,EAAM,QACNR,EAAO,aAEPP,EAAY,kBACZwC,EAAiB,QACjBC,EAAO,qBACPC,EAAoB,SACpBC,GAEEG,EACJF,GAAc,OAAyBE,EAAOhE,GAChD,OAAOa,EAAQmB,EAAiBjB,EAAKkB,IAAS,QAAc,OAAc,CAAC,EAAG6B,GAAc,CAAC,EAAG,CAC9FP,UACCT,EAAkBvB,EAAME,IAAWT,EAAO,EAetCiD,CAAgBV,EAAQxC,EAAKQ,EAAMP,EAAO,EAE/CkD,EAAwB,IAAIC,QAC5BC,EAAsB,IAAIC,QAC9B,MAAMC,EACJpG,YAAYqG,GACV,IAAIC,EAAQ1K,MACZ,OAA4BA,KAAMsK,IAClC,OAAgBtK,KAAM,oBAAgB,IACtC,OAA2BA,KAAMoK,EAAU,CACzC7I,UAAU,EACV/B,MAAOgK,KAET,OAAgBxJ,KAAM,UAAwB,WAC5C,IAAI2K,GAAQ,QAAkB,UAAW1D,EAAK3C,EAAM+C,GAClD,IAAIuD,EAAQtG,GAAQ,CAAC,GACnB,KACE8E,EAAI,OACJK,GACEmB,EACJZ,GAAc,OAAyBY,EAAOzE,GAChD,OAAO,OAAuBuE,EAAOJ,EAAQO,GAAS3J,KAAKwJ,EAAO,CAChEzD,MACAQ,KAAM2B,EACNK,OAAQA,GAAU,MAClBpC,SAAS,QAAc,OAAc,CAAC,EAAGA,GAAW,CAAC,GAAI2C,IAE7D,IACA,OAAO,SAAUc,EAAKC,EAAKC,GACzB,OAAOL,EAAMxK,MAAMH,KAAME,UAC3B,CACF,CAlB8C,KAmB9C,OAAgBF,KAAM,iBAAiB,SAAUyJ,EAAQxC,GACvD,IAAII,EAAUnH,UAAU4C,OAAS,QAAsBzC,IAAjBH,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAO,OAAuBwK,EAAOJ,EAAQO,GAAS3J,KAAKwJ,EAAO,CAChEzD,MACAwC,SACApC,WAEJ,KACA,OAAgBrH,KAAM,mBAAmB,SAAUyJ,EAAQxC,EAAKQ,GAC9D,IAAIJ,EAAUnH,UAAU4C,OAAS,QAAsBzC,IAAjBH,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAO,OAAuBwK,EAAOJ,EAAQO,GAAS3J,KAAKwJ,EAAO,CAChEzD,MACAwC,SACAhC,OACAJ,WAEJ,IACArH,KAAKiL,aAAe,CAClBlE,QAAS,IAAIxB,EACbL,SAAU,IAAIK,GAEZkF,SAA0CA,EAAQS,UACpD,OAAsBlL,KAAMoK,EAAUK,EAAQS,QAElD,CACAhD,iBAAiBjB,EAAKkB,GACpB,OAAOD,EAAiBjB,EAAKkB,EAC/B,CACAa,kBAAkBvB,EAAME,GACtB,OAAOqB,EAAkBvB,EAAME,EACjC,CACA5G,IAAIkG,EAAKI,GACP,OAAO,OAAuBrH,KAAMsK,EAAQO,GAAS3J,KAAKlB,KAAM,CAC9DiH,MACAwC,OAAQ,MACRpC,WAEJ,CACA8D,OAAOlE,EAAKI,GACV,OAAO,OAAuBrH,KAAMsK,EAAQO,GAAS3J,KAAKlB,KAAM,CAC9DiH,MACAwC,OAAQ,SACRpC,WAEJ,CACA+D,KAAKnE,EAAKI,GACR,OAAO,OAAuBrH,KAAMsK,EAAQO,GAAS3J,KAAKlB,KAAM,CAC9DiH,MACAwC,OAAQ,OACRpC,WAEJ,CACAgE,KAAKpE,EAAKQ,EAAMJ,GACd,OAAO,OAAuBrH,KAAMsK,EAAQO,GAAS3J,KAAKlB,KAAM,CAC9DiH,MACAwC,OAAQ,OACRhC,OACAJ,WAEJ,CACAiE,IAAIrE,EAAKQ,EAAMJ,GACb,OAAO,OAAuBrH,KAAMsK,EAAQO,GAAS3J,KAAKlB,KAAM,CAC9DiH,MACAwC,OAAQ,MACRhC,OACAJ,WAEJ,CACAkE,MAAMtE,EAAKQ,EAAMJ,GACf,OAAO,OAAuBrH,KAAMsK,EAAQO,GAAS3J,KAAKlB,KAAM,CAC9DiH,MACAwC,OAAQ,QACRhC,OACAJ,WAEJ,EAEF,SAASwD,EAAQ3D,GACf,IAAIsE,EAAQ,GACRC,EAAU9L,QAAQV,QAAQiI,GAkB9B,IAjBAlH,KAAKiL,aAAalE,QAAQ/D,SAAQ0I,IAChCF,EAAM9I,KAAKgJ,EAAY9F,UAAW8F,EAAY7F,SAAS,IAEzD2F,EAAM9I,MAAKwE,IAAU,OAAsBlH,KAAMoK,GAAUlJ,KAAKlB,KAAMkH,SAAS7G,GAC/EL,KAAKiL,aAAa/F,SAASlC,SAAQ0I,IACjCF,EAAM9I,MAAKsB,IACT,IAAI2H,EACJ,OAA2D,QAAnDA,EAAwBD,EAAY9F,iBAAiD,IAA1B+F,OAAmC,EAASA,EAAsBzK,KAAKwK,EAAa1H,EAAKkD,EAAO,IAClKzH,IACD,IAAImM,EACJ,OAA0D,QAAlDA,EAAwBF,EAAY7F,gBAAgD,IAA1B+F,OAAmC,EAASA,EAAsB1K,KAAKwK,EAAajM,EAAOyH,EAAO,GACpK,IAEJsE,EAAM9I,MAAKwC,IACT,IAAI2G,EACJ,MAA0H,cAA3E,QAAtCA,EAAkB3E,EAAOG,eAAyC,IAApBwE,OAA6B,EAASA,EAAgBhC,SAA0B3E,EAAWA,EAASuC,IAAI,QAC9JpH,GACImL,EAAM1I,QACX2I,EAAUA,EAAQ7L,KAAK4L,EAAMM,QAASN,EAAMM,SAE9C,OAAOL,CACT,CACA,IAAIM,EAAO,IAAIvB,EACf,SAASwB,EAAmB9E,GAC1B6E,EAAO,IAAIvB,EAAKtD,EAClB,C","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@next-core/http/dist/esm/fetch.js","webpack:///../../node_modules/@next-core/http/dist/esm/errors.js","webpack:///../../node_modules/@next-core/http/dist/esm/InterceptorManager.js","webpack:///../../node_modules/@next-core/http/dist/esm/http.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export var fetch = (input, init) => {\n // Support older browsers which default credentials is \"omit\".\n // Ref https://github.com/whatwg/fetch/pull/585\n var req = new Request(input, Object.assign({\n credentials: \"same-origin\"\n }, init));\n return self.fetch(req);\n};\n//# sourceMappingURL=fetch.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport class HttpFetchError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"HttpFetchError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpFetchError);\n }\n }\n}\nexport class HttpResponseError extends Error {\n constructor(response, responseJson) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n _defineProperty(this, \"responseJson\", void 0);\n this.name = \"HttpResponseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpResponseError);\n }\n this.response = response;\n this.responseJson = responseJson;\n }\n}\nexport class HttpParseError extends Error {\n constructor(response) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n this.name = \"HttpParseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpParseError);\n }\n this.response = response;\n }\n}\nexport class HttpAbortError extends Error {\n constructor(message) {\n super(message);\n this.name = \"HttpAbortError\";\n }\n}\n//# sourceMappingURL=errors.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport default class InterceptorManager {\n constructor() {\n _defineProperty(this, \"handlers\", []);\n }\n use(onFulfilled, onRejected) {\n this.handlers.push({\n fulfilled: onFulfilled,\n rejected: onRejected\n });\n return this.handlers.length - 1;\n }\n eject(id) {\n // istanbul ignore else\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n forEach(fn) {\n this.handlers.forEach(handler => {\n // istanbul ignore else\n if (handler !== null) {\n fn(handler);\n }\n });\n }\n}\n//# sourceMappingURL=InterceptorManager.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet\";\nimport _classPrivateMethodGet from \"@babel/runtime/helpers/classPrivateMethodGet\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _excluded = [\"params\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded2 = [\"params\", \"headers\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded3 = [\"body\", \"method\"];\nimport { fetch } from \"./fetch.js\";\nimport { HttpAbortError, HttpFetchError, HttpParseError, HttpResponseError } from \"./errors.js\";\nimport InterceptorManager from \"./InterceptorManager.js\";\nfunction isNil(value) {\n return value === undefined || value === null;\n}\nvar base = document.querySelector(\"base\");\nvar fullBaseHref = base ? base.href : location.origin + \"/\";\n// https://developer.mozilla.org/en-US/docs/Web/API/DOMException\nexport var isHttpAbortError = error => error instanceof DOMException && error.code === 20;\nvar request = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (url, init, config) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var response;\n config.url = url;\n var {\n responseType\n } = config.options || {};\n if (!responseType) {\n // Defaults to `json`\n responseType = \"json\";\n }\n try {\n response = yield fetch(url, init);\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpFetchError(e.toString()));\n return;\n }\n if (!response.ok) {\n var responseJson;\n try {\n responseJson = yield response.json();\n } catch (e) {\n // Do nothing.\n }\n reject(new HttpResponseError(response, responseJson));\n return;\n }\n var data;\n try {\n data = yield response[responseType]();\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpParseError(response));\n return;\n }\n var res = {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n data\n };\n resolve(res);\n });\n return function (_x4, _x5) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n return function request(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\nexport var getUrlWithParams = (url, params) => {\n if (params) {\n var parsedUrl = new URL(url, fullBaseHref);\n if (params instanceof URLSearchParams) {\n params.forEach(function (value, key) {\n parsedUrl.searchParams.append(key, value);\n });\n } else {\n Object.entries(params).forEach(_ref3 => {\n var [key, value] = _ref3;\n if (Array.isArray(value)) {\n value.forEach(v => {\n parsedUrl.searchParams.append(key, isNil(v) ? \"\" : v);\n });\n } else {\n parsedUrl.searchParams.append(key, isNil(value) ? \"\" : value);\n }\n });\n }\n var {\n href\n } = parsedUrl;\n if (href.startsWith(fullBaseHref)) {\n return href.substr(fullBaseHref.length);\n }\n return href;\n }\n return url;\n};\nvar getBodyAndHeaders = (data, headers) => {\n if (data !== undefined) {\n // `new Headers(undefined)` will throw a TypeError in older browsers (chrome 58).\n // https://bugs.chromium.org/p/chromium/issues/detail?id=335871\n var parsedHeaders = new Headers(headers || {});\n var contentTypeHeader = \"Content-Type\";\n var body = data;\n // If `Content-Type` already provided, ignore detecting content type.\n if (!parsedHeaders.has(contentTypeHeader)) {\n if (typeof data === \"string\") {\n parsedHeaders.set(contentTypeHeader, \"application/x-www-form-urlencoded\");\n } else if (data instanceof FormData) {\n // Do nothing\n } else {\n parsedHeaders.set(contentTypeHeader, \"application/json\");\n body = JSON.stringify(data);\n }\n }\n return {\n body,\n headers: parsedHeaders\n };\n }\n return {\n headers\n };\n};\nvar simpleRequest = (method, url, config) => {\n var _ref4 = config.options || {},\n {\n params,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref4,\n requestInit = _objectWithoutProperties(_ref4, _excluded);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }), config);\n};\nvar requestWithBody = (method, url, data, config) => {\n var _ref5 = config.options || {},\n {\n params,\n headers,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref5,\n requestInit = _objectWithoutProperties(_ref5, _excluded2);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }, getBodyAndHeaders(data, headers)), config);\n};\nvar defaultAdapter = config => {\n var {\n url,\n method,\n data\n } = config;\n\n // \"DELETE\", \"GET\", \"HEAD\" methods.\n if ([\"DELETE\", \"GET\", \"HEAD\"].includes(config.method)) {\n return simpleRequest(method, url, config);\n }\n\n // \"POST\", \"PUT\" , \"PATCH\" methods.\n return requestWithBody(method, url, data, config);\n};\nvar _adapter = /*#__PURE__*/new WeakMap();\nvar _fetch = /*#__PURE__*/new WeakSet();\nclass Http {\n constructor(_config) {\n var _this = this;\n _classPrivateMethodInitSpec(this, _fetch);\n _defineProperty(this, \"interceptors\", void 0);\n _classPrivateFieldInitSpec(this, _adapter, {\n writable: true,\n value: defaultAdapter\n });\n _defineProperty(this, \"request\", /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator(function* (url, init, options) {\n var _ref7 = init || {},\n {\n body,\n method\n } = _ref7,\n requestInit = _objectWithoutProperties(_ref7, _excluded3);\n return _classPrivateMethodGet(_this, _fetch, _fetch2).call(_this, {\n url,\n data: body,\n method: method || \"GET\",\n options: _objectSpread(_objectSpread({}, options || {}), requestInit)\n });\n });\n return function (_x6, _x7, _x8) {\n return _ref6.apply(this, arguments);\n };\n }());\n _defineProperty(this, \"simpleRequest\", function (method, url) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _classPrivateMethodGet(_this, _fetch, _fetch2).call(_this, {\n url,\n method,\n options\n });\n });\n _defineProperty(this, \"requestWithBody\", function (method, url, data) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return _classPrivateMethodGet(_this, _fetch, _fetch2).call(_this, {\n url,\n method,\n data,\n options\n });\n });\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n if (_config !== null && _config !== void 0 && _config.adapter) {\n _classPrivateFieldSet(this, _adapter, _config.adapter);\n }\n }\n getUrlWithParams(url, params) {\n return getUrlWithParams(url, params);\n }\n getBodyAndHeaders(data, headers) {\n return getBodyAndHeaders(data, headers);\n }\n get(url, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"GET\",\n options\n });\n }\n delete(url, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"DELETE\",\n options\n });\n }\n head(url, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"HEAD\",\n options\n });\n }\n post(url, data, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"POST\",\n data,\n options\n });\n }\n put(url, data, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"PUT\",\n data,\n options\n });\n }\n patch(url, data, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"PATCH\",\n data,\n options\n });\n }\n}\nfunction _fetch2(config) {\n var chain = [];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(interceptor => {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n chain.push(config => _classPrivateFieldGet(this, _adapter).call(this, config), undefined);\n this.interceptors.response.forEach(interceptor => {\n chain.push(res => {\n var _interceptor$fulfille;\n return (_interceptor$fulfille = interceptor.fulfilled) === null || _interceptor$fulfille === void 0 ? void 0 : _interceptor$fulfille.call(interceptor, res, config);\n }, error => {\n var _interceptor$rejected;\n return (_interceptor$rejected = interceptor.rejected) === null || _interceptor$rejected === void 0 ? void 0 : _interceptor$rejected.call(interceptor, error, config);\n });\n });\n chain.push(response => {\n var _config$options;\n return ((_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.observe) === \"response\" ? response : response.data;\n }, undefined);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n}\nvar http = new Http();\nfunction createHttpInstance(config) {\n http = new Http(config);\n}\nexport { http, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=http.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_checkPrivateRedeclaration","obj","privateCollection","has","TypeError","_classExtractFieldDescriptor","receiver","privateMap","action","get","_classPrivateFieldGet","descriptor","call","classExtractFieldDescriptor","_classPrivateFieldInitSpec","set","_classPrivateFieldSet","writable","_classPrivateMethodGet","privateSet","_classPrivateMethodInitSpec","add","_defineProperty","Object","defineProperty","enumerable","configurable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread2","target","i","length","source","forEach","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","indexOf","sourceSymbolKeys","prototype","propertyIsEnumerable","_toPropertyKey","input","hint","prim","Symbol","toPrimitive","res","String","_typeof","iterator","constructor","fetch","init","req","Request","assign","credentials","HttpFetchError","Error","message","super","name","captureStackTrace","HttpResponseError","response","responseJson","statusText","HttpParseError","HttpAbortError","InterceptorManager","use","onFulfilled","onRejected","handlers","fulfilled","rejected","eject","id","handler","_excluded","_excluded2","_excluded3","isNil","base","document","querySelector","fullBaseHref","href","location","origin","isHttpAbortError","DOMException","code","request","_ref","url","config","_ref2","responseType","options","e","toString","ok","data","status","headers","json","_x4","_x5","_x","_x2","_x3","getUrlWithParams","params","parsedUrl","URL","URLSearchParams","searchParams","append","entries","_ref3","Array","isArray","v","startsWith","substr","getBodyAndHeaders","parsedHeaders","Headers","contentTypeHeader","body","FormData","JSON","stringify","defaultAdapter","method","includes","_ref4","interceptorParams","observe","noAbortOnRouteChange","useCache","requestInit","simpleRequest","_ref5","requestWithBody","_adapter","WeakMap","_fetch","WeakSet","Http","_config","_this","_ref6","_ref7","_fetch2","_x6","_x7","_x8","interceptors","adapter","delete","head","post","put","patch","chain","promise","interceptor","_interceptor$fulfille","_interceptor$rejected","_config$options","shift","http","createHttpInstance"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[5381,6660,4795],{4795:(e,r,t)=>{function n(e,r,t,n,a,u,i){try{var c=e[u](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,a)}function a(e){return function(){var r=this,t=arguments;return new Promise((function(a,u){var i=e.apply(r,t);function c(e){n(i,a,u,c,s,"next",e)}function s(e){n(i,a,u,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>a})},6660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>s,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n,a=t(4795),u=t(8657),i=t(9236),c=function(e){var{useBrick:r,data:t}=e,[n,c]=(0,u.useState)(null),s=(0,u.useRef)(),[o,l]=(0,u.useState)(),d=(0,u.useRef)(0),v=(0,u.useMemo)((()=>{var e;return null===(e=i.__secret_internals.getRenderId)||void 0===e?void 0:e.call(i.__secret_internals)}),[]);(0,u.useEffect)((()=>{function e(){return e=(0,a.Z)((function*(){try{c(yield i.__secret_internals.renderUseBrick(r,t)),l(++d.current)}catch(e){(function(e){var r,t=null===(r=i.__secret_internals.getRenderId)||void 0===r?void 0:r.call(i.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,i.handleHttpError)(e))}})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[t,r,v]);var f=(0,u.useCallback)((e=>{e?s.current=i.__secret_internals.mountUseBrick(n,e):(i.__secret_internals.unmountUseBrick(n,s.current),s.current=void 0)}),[n]);if(!n)return null;var{tagName:_}=n;if(null===_)return null;var p=_;return u.createElement(p,{key:o,ref:f})},s=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(c,{key:r,useBrick:e,data:t})))):u.createElement(c,{useBrick:r,data:t})};if(window.dll&&null!==(n=window.BRICK_NEXT_VERSIONS)&&void 0!==n&&null!==(n=n["brick-container"])&&void 0!==n&&n.startsWith("2.")){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=window.dll("tYg3");o&&l&&(c=o(u),s=l(u))}function d(){var[e,r]=(0,u.useState)(i.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,i.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
+ //# sourceMappingURL=5381.8b6c0779.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/5381.8b6c0779.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _window$BRICK_NEXT_VE;\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n setRenderResult(yield __secret_internals.renderUseBrick(useBrick, data));\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n }, [data, useBrick, initialRenderId]);\n var refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n }, [renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\nif (window.dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\")) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = window.dll(\"tYg3\");\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_window$BRICK_NEXT_VE","ReactUseBrick","_ref","useBrick","data","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","_init","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","window","dll","BRICK_NEXT_VERSIONS","startsWith","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[6252],{9439:(t,e,a)=>{a.d(e,{F:()=>P});var i=a(2159),r=a(8657),l=a.n(r),n=a(1211),o=["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#E86452","#6DC8EC","#945FB9","#FF9845","#1E9493","#FF99C3"],s={dataFill:{fillStyle:"rgba(76,132,250,0.67)"},dataCircle:{r:2,strokeStyle:"#ccc",fillStyle:"#fff",lineWidth:.5},dataLine:{strokeStyle:"#0B2EE7",lineWidth:5}},d={n:0,dataRadiusOfPercent:[],dataRadius:[],angleArr:[],tooltipsContentArr:[],originDataSource:[],radius:1},c=function(t,e){var a=(0,n.cloneDeep)(d);if(a.radius=e,(null==t?void 0:t.length)<1)return a;a.originDataSource=t,a.n=t.length;var i=2*Math.PI/a.n;return t.forEach(((t,r)=>{a.dataRadiusOfPercent[r]=t.value/t.maxValue,a.dataRadius[r]=a.dataRadiusOfPercent[r]*e,a.angleArr[r]=r*i})),a},f=function(t,e,a){var i=(0,n.cloneDeep)(s);return(0,n.merge)(i.dataFill,t),(0,n.merge)(i.dataCircle,e),(0,n.merge)(i.dataLine,a),i},h=function(t,e,a){for(var i=[],r=0;r<t;r++){var l={x:0,y:0};l.x=e[r]*Math.sin(a[r]),l.y=-e[r]*Math.cos(a[r]),i.push(l)}return i},u=function(t,e,a){for(var i=[],r=2*Math.PI/t,l=0;l<t;l++){var n={x:0,y:0};n.x=e*Math.sin(l*r)+a[0],n.y=-e*Math.cos(l*r)+a[1],i.push(n)}return i},y=function(t,e){var a=e.n,i=e.r,r=e.origin,l=e.strokeStyle,n=e.lineWidth*e.ratio;t.save(),t.beginPath();var o=2*Math.PI/a;t.translate(r[0],r[1]),t.moveTo(0,-i);for(var s=0;s<a;s++)t.rotate(o),t.lineTo(0,-i);if(t.closePath(),t.stroke(),e.strokeStyle&&(t.strokeStyle=l,t.lineWidth=n,t.lineCap="butt"),e.fillStyle){if("string"==typeof e.fillStyle)t.fillStyle=e.fillStyle;else if(e.fillStyle instanceof Array){var d=t.createLinearGradient(-i,-i,i,i);e.fillStyle.forEach((t=>{d.addColorStop(0,t[0]),d.addColorStop(1,t[1])})),t.fillStyle=d}t.fill()}t.restore()},v=function(t,e){var{n:a,r:i,origin:r,strokeStyle:l}=e,n=e.lineWidth*e.ratio;t.save();var o=2*Math.PI/a;t.translate(r[0],r[1]),t.lineWidth=n,t.lineCap="butt",t.rotate(-Math.PI/2);for(var s=0;s<a;s++){var d=i*Math.cos(o*s),c=i*Math.sin(o*s),f=i*Math.cos(o*(s+1)),h=i*Math.sin(o*(s+1));t.beginPath(),t.moveTo(d,c),t.lineTo(f,h);var u=t.createLinearGradient(d,c,f,h);u.addColorStop(0,l),u.addColorStop(.5,"#1D2B57"),u.addColorStop(.6,"#1D2B57"),u.addColorStop(1,l),t.strokeStyle=u,t.stroke()}t.restore()},S=function(t,e,a){t.save(),t.beginPath(),a.map((a=>{t.moveTo(e[0],e[1]),t.lineTo(a.x,a.y)})),t.strokeStyle="#1D2B57",t.lineWidth=2,t.stroke(),t.restore()},g=function(t,e,a,i,r){t.save();var l=a/2,n=a/4,s=a/12>10?a/12:10;i.map(((i,d)=>{var c,f,h,u,y=i.x,v=i.x,S=i.x,g=i.y,p=i.x,k=(null===(c=r[d])||void 0===c?void 0:c.color)||o[d]||"#ccc";t.beginPath(),t.moveTo(i.x,i.y),i.x-e[0]>=0?(S=(v=(y+=l)+l)+s,p=y+12):i.x-e[0]<0&&(S=(v=(y-=l)-l)-s,p=v+12),i.y-e[1]<0?g-=n:i.y-e[1]>0&&(g+=n),t.lineTo(y,g),t.lineTo(S,g),t.strokeStyle="rgba(255, 255, 255, .1)",t.stroke(),t.beginPath(),t.moveTo(v,g),t.lineTo(S,g),t.strokeStyle=k,t.lineWidth=2,t.stroke();var x=null!==(f=r[d])&&void 0!==f&&f.percentValue?g-a/3.5:g-a/5.5,m=a/12;if(null!==(h=r[d])&&void 0!==h&&h.name&&(t.fillStyle=k,t.fillRect(p,x,12,12),t.textAlign="left",t.font="400 ".concat(m,"px HarmonyOS_Sans_SC_Black"),t.fillStyle="rgba(255, 255, 255, .4)",t.fillText("".concat(r[d].name),p+18,x+6),t.stroke()),null!==(u=r[d])&&void 0!==u&&u.percentValue){var P,b=a/10;t.textAlign="left",t.font="500 ".concat(b,"px HarmonyOS_Sans_SC_Black"),t.fillStyle="#fff",t.fillText("".concat(null===(P=r[d])||void 0===P?void 0:P.percentValue),p+18,x+6+1.5*m),t.stroke()}})),t.restore()};function p(t,e){var{x:a,y:i,r,originX:l,originY:n,strokeStyle:o,lineWidth:s,fillStyle:d}=e;t.save(),t.beginPath(),t.translate(l,n),t.arc(a,i,r,0,2*Math.PI),t.closePath(),t.strokeStyle=o,t.lineWidth=s,t.lineJoin="round",t.fillStyle=d,t.stroke(),t.fill(),t.restore()}var k=function(t,e,a,i){var{dataLineOptions:r,dataFillOptions:l,dataCircleOptions:n}=i;0!==r.dataPoints.length&&(function(t,e,a){var{strokeStyle:i,lineWidth:r,dataPoints:l}=a,n=l.length;t.save(),t.beginPath(),t.translate(e[0],e[1]),t.moveTo(l[0].x,l[0].y);for(var o=1;o<n;o++)t.lineTo(l[o].x,l[o].y);t.closePath(),t.strokeStyle=i,t.lineWidth=r,t.lineJoin="round",t.stroke(),t.restore()}(t,e,r),function(t,e,a){var{fillStyle:i,dataPoints:r}=a,l=r.length;t.save(),t.beginPath(),t.translate(e[0],e[1]),t.moveTo(r[0].x,r[0].y);for(var n=1;n<l;n++)t.lineTo(r[n].x,r[n].y);t.closePath(),t.fillStyle=i,t.fill(),t.restore()}(t,e,l),function(t,e,a,i){for(var{strokeStyle:r,fillStyle:l,dataPoints:n}=i,o=i.r*a,s=i.lineWidth*a,d=n.length,c=0;c<d;c++)p(t,{x:n[c].x,y:n[c].y,r:o,originX:e[0],originY:e[1],strokeStyle:r,lineWidth:s,fillStyle:l})}(t,e,a,n))},x=function(t,e){for(var{layer:a,n:i,r,ratio:l,origin:n,lineWidth:o}=e,s=[["#3366FF","#83F5E1"]],d=a;d>0;d--)d===a?(v(t,{n:i,r,origin:n,ratio:l,lineWidth:o,strokeStyle:"rgba(51, 102, 255)"}),v(t,{n:i,r:.95*r,origin:n,ratio:l,strokeStyle:"rgba(76,132,250,0.1)",lineWidth:o})):y(t,{n:i,r:.95*r/a*d,origin:n,fillStyle:d%2!=0?"#29292d":s,strokeStyle:"transparent",lineWidth:o,ratio:l})},m=["dataSource","radius","value","dataFill","dataCircle","dataLine","scale"];function P(t){var{dataSource:e,radius:a,value:n,dataFill:o,dataCircle:y,dataLine:v,scale:p}=t,P=(0,i.Z)(t,m),b=(0,r.useRef)(null),C=(0,r.useRef)(null),[W,F]=(0,r.useState)(d),[w,O]=(0,r.useState)(s),T=window.devicePixelRatio;return(0,r.useEffect)((()=>{var t=b.current,i=t.getContext("2d"),r=t.clientWidth,l=t.clientHeight;t.width=r*T,t.height=l*T;var n=Math.min(t.width,t.height)*p;C.current=i,F(c(e,null!=a?a:n))}),[e,a,p]),(0,r.useEffect)((()=>{O(f(o,y,v))}),[o,y,v]),(0,r.useEffect)((()=>{var t=0,e=null,a=b.current,i=C.current,r=[a.width/2,a.height/2];if(i){var l=()=>{e=window.requestAnimationFrame(l),(t+=.05)>=1&&window.cancelAnimationFrame(e),i.clearRect(0,0,a.width,a.height),x(i,{layer:5,n:W.n,r:W.radius,ratio:T,origin:r,lineWidth:2});var o=W.dataRadius.map((e=>e*t)),s=h(W.n,o,W.angleArr),d={dataPoints:s,strokeStyle:w.dataLine.strokeStyle,lineWidth:w.dataLine.lineWidth},c={dataPoints:s,r:w.dataCircle.r,strokeStyle:w.dataCircle.strokeStyle,fillStyle:w.dataCircle.fillStyle,lineWidth:w.dataCircle.lineWidth},f={dataPoints:s,fillStyle:w.dataFill.fillStyle};k(i,r,T,{dataLineOptions:d,dataFillOptions:f,dataCircleOptions:c});var y=u(W.n,W.radius,r);if(S(i,r,y),g(i,r,W.radius,y,W.originDataSource),n){var v=W.radius/5;i.font="bold ".concat(v,"px HarmonyOS_Sans_SC_Black"),i.fillStyle="#fff",i.textAlign="center",i.textBaseline="middle",i.fillText("".concat(n),r[0],r[1])}};l()}}),[W,w,n]),l().createElement("div",{className:"radarWrap",style:{width:"".concat(P.width,"px"),height:"".concat(P.height,"px")}},l().createElement("canvas",{className:"canvasWrap",ref:b}))}},2742:(t,e,a)=>{a.d(e,{Z:()=>o});var i=a(9601),r=a.n(i),l=a(2609),n=a.n(l)()(r());n.push([t.id,".radarWrap{position:relative;width:100%;height:100%;.canvasWrap{display:block;width:100%;height:100%}}",""]);const o=n.toString()},2159:(t,e,a)=>{function i(t,e){if(null==t)return{};var a,i,r=function(t,e){if(null==t)return{};var a,i,r={},l=Object.keys(t);for(i=0;i<l.length;i++)a=l[i],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(i=0;i<l.length;i++)a=l[i],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}a.d(e,{Z:()=>i})}}]);
2
- //# sourceMappingURL=6252.a408a0a3.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[6252],{9439:(t,e,a)=>{a.d(e,{F:()=>P});var i=a(2159),r=a(8657),l=a.n(r),n=a(1211),o=["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#E86452","#6DC8EC","#945FB9","#FF9845","#1E9493","#FF99C3"],s={dataFill:{fillStyle:"rgba(76,132,250,0.67)"},dataCircle:{r:2,strokeStyle:"#ccc",fillStyle:"#fff",lineWidth:.5},dataLine:{strokeStyle:"#0B2EE7",lineWidth:5}},d={n:0,dataRadiusOfPercent:[],dataRadius:[],angleArr:[],tooltipsContentArr:[],originDataSource:[],radius:1},c=function(t,e){var a=(0,n.cloneDeep)(d);if(a.radius=e,(null==t?void 0:t.length)<1)return a;a.originDataSource=t,a.n=t.length;var i=2*Math.PI/a.n;return t.forEach(((t,r)=>{a.dataRadiusOfPercent[r]=t.value/t.maxValue,a.dataRadius[r]=a.dataRadiusOfPercent[r]*e,a.angleArr[r]=r*i})),a},f=function(t,e,a){var i=(0,n.cloneDeep)(s);return(0,n.merge)(i.dataFill,t),(0,n.merge)(i.dataCircle,e),(0,n.merge)(i.dataLine,a),i},h=function(t,e,a){for(var i=[],r=0;r<t;r++){var l={x:0,y:0};l.x=e[r]*Math.sin(a[r]),l.y=-e[r]*Math.cos(a[r]),i.push(l)}return i},u=function(t,e,a){for(var i=[],r=2*Math.PI/t,l=0;l<t;l++){var n={x:0,y:0};n.x=e*Math.sin(l*r)+a[0],n.y=-e*Math.cos(l*r)+a[1],i.push(n)}return i},y=function(t,e){var a=e.n,i=e.r,r=e.origin,l=e.strokeStyle,n=e.lineWidth*e.ratio;t.save(),t.beginPath();var o=2*Math.PI/a;t.translate(r[0],r[1]),t.moveTo(0,-i);for(var s=0;s<a;s++)t.rotate(o),t.lineTo(0,-i);if(t.closePath(),t.stroke(),e.strokeStyle&&(t.strokeStyle=l,t.lineWidth=n,t.lineCap="butt"),e.fillStyle){if("string"==typeof e.fillStyle)t.fillStyle=e.fillStyle;else if(e.fillStyle instanceof Array){var d=t.createLinearGradient(-i,-i,i,i);e.fillStyle.forEach((t=>{d.addColorStop(0,t[0]),d.addColorStop(1,t[1])})),t.fillStyle=d}t.fill()}t.restore()},v=function(t,e){var{n:a,r:i,origin:r,strokeStyle:l}=e,n=e.lineWidth*e.ratio;t.save();var o=2*Math.PI/a;t.translate(r[0],r[1]),t.lineWidth=n,t.lineCap="butt",t.rotate(-Math.PI/2);for(var s=0;s<a;s++){var d=i*Math.cos(o*s),c=i*Math.sin(o*s),f=i*Math.cos(o*(s+1)),h=i*Math.sin(o*(s+1));t.beginPath(),t.moveTo(d,c),t.lineTo(f,h);var u=t.createLinearGradient(d,c,f,h);u.addColorStop(0,l),u.addColorStop(.5,"#1D2B57"),u.addColorStop(.6,"#1D2B57"),u.addColorStop(1,l),t.strokeStyle=u,t.stroke()}t.restore()},S=function(t,e,a){t.save(),t.beginPath(),a.map((a=>{t.moveTo(e[0],e[1]),t.lineTo(a.x,a.y)})),t.strokeStyle="#1D2B57",t.lineWidth=2,t.stroke(),t.restore()},g=function(t,e,a,i,r){t.save();var l=a/2,n=a/4,s=a/12>10?a/12:10;i.map(((i,d)=>{var c,f,h,u,y=i.x,v=i.x,S=i.x,g=i.y,p=i.x,k=(null===(c=r[d])||void 0===c?void 0:c.color)||o[d]||"#ccc";t.beginPath(),t.moveTo(i.x,i.y),i.x-e[0]>=0?(S=(v=(y+=l)+l)+s,p=y+12):i.x-e[0]<0&&(S=(v=(y-=l)-l)-s,p=v+12),i.y-e[1]<0?g-=n:i.y-e[1]>0&&(g+=n),t.lineTo(y,g),t.lineTo(S,g),t.strokeStyle="rgba(255, 255, 255, .1)",t.stroke(),t.beginPath(),t.moveTo(v,g),t.lineTo(S,g),t.strokeStyle=k,t.lineWidth=2,t.stroke();var x=null!==(f=r[d])&&void 0!==f&&f.percentValue?g-a/3.5:g-a/5.5,m=a/12;if(null!==(h=r[d])&&void 0!==h&&h.name&&(t.fillStyle=k,t.fillRect(p,x,12,12),t.textAlign="left",t.font="400 ".concat(m,"px HarmonyOS_Sans_SC_Black"),t.fillStyle="rgba(255, 255, 255, .4)",t.fillText("".concat(r[d].name),p+18,x+6),t.stroke()),null!==(u=r[d])&&void 0!==u&&u.percentValue){var P,W=a/10;t.textAlign="left",t.font="500 ".concat(W,"px HarmonyOS_Sans_SC_Black"),t.fillStyle="#fff",t.fillText("".concat(null===(P=r[d])||void 0===P?void 0:P.percentValue),p+18,x+6+1.5*m),t.stroke()}})),t.restore()};function p(t,e){var{x:a,y:i,r,originX:l,originY:n,strokeStyle:o,lineWidth:s,fillStyle:d}=e;t.save(),t.beginPath(),t.translate(l,n),t.arc(a,i,r,0,2*Math.PI),t.closePath(),t.strokeStyle=o,t.lineWidth=s,t.lineJoin="round",t.fillStyle=d,t.stroke(),t.fill(),t.restore()}var k=function(t,e,a,i){var{dataLineOptions:r,dataFillOptions:l,dataCircleOptions:n}=i;0!==r.dataPoints.length&&(function(t,e,a){var{strokeStyle:i,lineWidth:r,dataPoints:l}=a,n=l.length;t.save(),t.beginPath(),t.translate(e[0],e[1]),t.moveTo(l[0].x,l[0].y);for(var o=1;o<n;o++)t.lineTo(l[o].x,l[o].y);t.closePath(),t.strokeStyle=i,t.lineWidth=r,t.lineJoin="round",t.stroke(),t.restore()}(t,e,r),function(t,e,a){var{fillStyle:i,dataPoints:r}=a,l=r.length;t.save(),t.beginPath(),t.translate(e[0],e[1]),t.moveTo(r[0].x,r[0].y);for(var n=1;n<l;n++)t.lineTo(r[n].x,r[n].y);t.closePath(),t.fillStyle=i,t.fill(),t.restore()}(t,e,l),function(t,e,a,i){for(var{strokeStyle:r,fillStyle:l,dataPoints:n}=i,o=i.r*a,s=i.lineWidth*a,d=n.length,c=0;c<d;c++)p(t,{x:n[c].x,y:n[c].y,r:o,originX:e[0],originY:e[1],strokeStyle:r,lineWidth:s,fillStyle:l})}(t,e,a,n))},x=function(t,e){for(var{layer:a,n:i,r,ratio:l,origin:n,lineWidth:o}=e,s=[["#3366FF","#83F5E1"]],d=a;d>0;d--)d===a?(v(t,{n:i,r,origin:n,ratio:l,lineWidth:o,strokeStyle:"rgba(51, 102, 255)"}),v(t,{n:i,r:.95*r,origin:n,ratio:l,strokeStyle:"rgba(76,132,250,0.1)",lineWidth:o})):y(t,{n:i,r:.95*r/a*d,origin:n,fillStyle:d%2!=0?"#29292d":s,strokeStyle:"transparent",lineWidth:o,ratio:l})},m=["dataSource","radius","value","dataFill","dataCircle","dataLine","scale"];function P(t){var{dataSource:e,radius:a,value:n,dataFill:o,dataCircle:y,dataLine:v,scale:p}=t,P=(0,i.Z)(t,m),W=(0,r.useRef)(null),b=(0,r.useRef)(null),[C,F]=(0,r.useState)(d),[w,O]=(0,r.useState)(s),T=window.devicePixelRatio;return(0,r.useEffect)((()=>{var t=W.current,i=t.getContext("2d"),r=t.clientWidth,l=t.clientHeight;t.width=r*T,t.height=l*T;var n=Math.min(t.width,t.height)*p;b.current=i,F(c(e,null!=a?a:n))}),[e,a,p]),(0,r.useEffect)((()=>{O(f(o,y,v))}),[o,y,v]),(0,r.useEffect)((()=>{var t=0,e=null,a=W.current,i=b.current,r=[a.width/2,a.height/2];if(i){var l=()=>{e=window.requestAnimationFrame(l),(t+=.05)>=1&&window.cancelAnimationFrame(e),i.clearRect(0,0,a.width,a.height),x(i,{layer:5,n:C.n,r:C.radius,ratio:T,origin:r,lineWidth:2});var o=C.dataRadius.map((e=>e*t)),s=h(C.n,o,C.angleArr),d={dataPoints:s,strokeStyle:w.dataLine.strokeStyle,lineWidth:w.dataLine.lineWidth},c={dataPoints:s,r:w.dataCircle.r,strokeStyle:w.dataCircle.strokeStyle,fillStyle:w.dataCircle.fillStyle,lineWidth:w.dataCircle.lineWidth},f={dataPoints:s,fillStyle:w.dataFill.fillStyle};k(i,r,T,{dataLineOptions:d,dataFillOptions:f,dataCircleOptions:c});var y=u(C.n,C.radius,r);if(S(i,r,y),g(i,r,C.radius,y,C.originDataSource),n){var v=C.radius/5;i.font="bold ".concat(v,"px HarmonyOS_Sans_SC_Black"),i.fillStyle="#fff",i.textAlign="center",i.textBaseline="middle",i.fillText("".concat(n),r[0],r[1])}};l()}}),[C,w,n]),l().createElement("div",{className:"radarWrap",style:{width:"".concat(P.width,"px"),height:"".concat(P.height,"px")}},l().createElement("canvas",{className:"canvasWrap",ref:W}))}},2742:(t,e,a)=>{a.d(e,{Z:()=>o});var i=a(9601),r=a.n(i),l=a(2609),n=a.n(l)()(r());n.push([t.id,".radarWrap{position:relative;width:100%;height:100%}.radarWrap .canvasWrap{display:block;width:100%;height:100%}",""]);const o=n.toString()},2159:(t,e,a)=>{function i(t,e){if(null==t)return{};var a,i,r=function(t,e){if(null==t)return{};var a,i,r={},l=Object.keys(t);for(i=0;i<l.length;i++)a=l[i],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(i=0;i<l.length;i++)a=l[i],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}a.d(e,{Z:()=>i})}}]);
2
+ //# sourceMappingURL=6252.d2312cb8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/6252.a408a0a3.js","mappings":"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","sources":["webpack:///./src/radar-chart/utils.ts","webpack:///./src/radar-chart/radar.tsx","webpack:///./src/radar-chart/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { cloneDeep, merge } from \"lodash\";\nimport {\n Axis,\n BaseConfig,\n CircleOptions,\n Data,\n DataCircle,\n DataCircleOptions,\n DataFill,\n DataFillProps,\n DataLine,\n DataLineOptions,\n DataPolyProps,\n DrawPolygonOptions,\n DrawRadarBgOption,\n GradientPolygon,\n UserConfig,\n} from \"./interface.js\";\n\nexport const colorMap = [\n \"#5B8FF9\",\n \"#5AD8A6\",\n \"#5D7092\",\n \"#F6BD16\",\n \"#E86452\",\n \"#6DC8EC\",\n \"#945FB9\",\n \"#FF9845\",\n \"#1E9493\",\n \"#FF99C3\",\n]; //chart-v2 的主题色\n\nexport const baseUserConfig: UserConfig = {\n dataFill: {\n fillStyle: \"rgba(76,132,250,0.67)\",\n },\n dataCircle: {\n r: 2,\n strokeStyle: \"#ccc\",\n fillStyle: \"#fff\",\n lineWidth: 0.5,\n },\n dataLine: {\n strokeStyle: \"#0B2EE7\",\n lineWidth: 5,\n },\n};\nexport const baseRadarConfig: BaseConfig = {\n n: 0,\n dataRadiusOfPercent: [],\n dataRadius: [],\n angleArr: [],\n tooltipsContentArr: [],\n originDataSource: [],\n radius: 1,\n};\n/**\n * // 初始化参数配置\n * @param dataSource\n * @param radius\n * @returns BaseConfig\n */\nexport const constructBaseConfig = function (\n dataSource: Data[],\n radius: number\n) {\n const baseConfig: BaseConfig = cloneDeep(baseRadarConfig);\n baseConfig.radius = radius;\n if (dataSource?.length < 1) return baseConfig;\n baseConfig.originDataSource = dataSource;\n baseConfig.n = dataSource.length;\n const disAngle = (Math.PI * 2) / baseConfig.n;\n dataSource.forEach((data, i) => {\n baseConfig.dataRadiusOfPercent[i] = data.value / data.maxValue;\n baseConfig.dataRadius[i] = baseConfig.dataRadiusOfPercent[i] * radius;\n baseConfig.angleArr[i] = i * disAngle;\n });\n return baseConfig;\n};\n\nexport const constructUserConfig = function (\n dataFill: DataFill,\n dataCircle: DataCircle,\n dataLine: DataLine\n) {\n const userConfig: UserConfig = cloneDeep(baseUserConfig);\n merge(userConfig.dataFill, dataFill);\n merge(userConfig.dataCircle, dataCircle);\n merge(userConfig.dataLine, dataLine);\n return userConfig;\n};\n\n/**\n * 获取数据点相对于原点的坐标\n * n:多边形边数\n * dataRadiusArr: 数据点的坐标数组\n * angleArr: 多边形的角度数组\n */\nexport const getDataPointsPos = function (\n n: number,\n dataRadiusArr: number[],\n angleArr: number[]\n) {\n const dataPointsPosArray = [];\n for (let i = 0; i < n; i++) {\n const curPoinrPos: Axis = {\n x: 0,\n y: 0,\n };\n curPoinrPos.x = dataRadiusArr[i] * Math.sin(angleArr[i]);\n curPoinrPos.y = -dataRadiusArr[i] * Math.cos(angleArr[i]);\n dataPointsPosArray.push(curPoinrPos);\n }\n return dataPointsPosArray;\n};\n\n/**\n * 获取正多边形每个点的坐标位置数组(相对于原点)\n * n: 多边形的边数\n * r: 半径\n * origin: 原点位置\n */\nexport const getPolygonPos = function (n: number, r: number, origin: number[]) {\n const dotsArray = []; // 多边形每一个点的坐标数组,格式如[{x: 1, y: 2}]\n const angle = (Math.PI * 2) / n;\n for (let i = 0; i < n; i++) {\n const curPos: Axis = {\n x: 0,\n y: 0,\n };\n curPos.x = r * Math.sin(i * angle) + origin[0];\n curPos.y = -r * Math.cos(i * angle) + origin[1];\n dotsArray.push(curPos);\n }\n return dotsArray;\n};\n\n/**\n * 绘制闭合正多边形\n * n: 边数\n * r:半径\n * origin:正多边形的中心位置。数组形式[x, y]\n * fillStyle:填充样式\n * strokeStyle:线条样式\n * lineWidth: 线条宽度\n */\nexport const drawPolygon = function (\n context: CanvasRenderingContext2D,\n options: DrawPolygonOptions\n) {\n // 对传入参数进行默认值设置\n const n = options.n,\n r = options.r,\n origin = options.origin,\n strokeStyle = options.strokeStyle,\n lineWidth = options.lineWidth * options.ratio,\n lineCap = \"butt\";\n\n context.save();\n context.beginPath();\n const angle = (Math.PI * 2) / n;\n context.translate(origin[0], origin[1]);\n context.moveTo(0, -r);\n for (let i = 0; i < n; i++) {\n context.rotate(angle);\n context.lineTo(0, -r);\n }\n context.closePath();\n context.stroke();\n\n if (options.strokeStyle) {\n context.strokeStyle = strokeStyle;\n context.lineWidth = lineWidth;\n context.lineCap = lineCap;\n }\n if (options.fillStyle) {\n if (typeof options.fillStyle === \"string\") {\n context.fillStyle = options.fillStyle;\n } else if (options.fillStyle instanceof Array) {\n // 创建线性渐变对象\n const gradient = context.createLinearGradient(-r, -r, r, r);\n options.fillStyle.forEach((colors) => {\n gradient.addColorStop(0, colors[0]);\n gradient.addColorStop(1, colors[1]);\n });\n context.fillStyle = gradient;\n }\n\n context.fill();\n }\n context.restore();\n};\n\n/**\n * 绘制线性渐变的多边形,\n * n: 边数\n * r:半径\n * origin:正多边形的中心位置。数组形式[x, y]\n * strokeStyle:线条样式\n * lineWidth: 线条宽度\n */\nexport const drawGradientPolygon = function (\n context: CanvasRenderingContext2D,\n options: GradientPolygon\n) {\n // 对传入参数进行默认值设置\n const { n, r, origin, strokeStyle } = options;\n const lineWidth = options.lineWidth * options.ratio,\n lineCap = \"butt\";\n context.save();\n const angle = (Math.PI * 2) / n;\n context.translate(origin[0], origin[1]);\n\n // 设置线条样式\n context.lineWidth = lineWidth;\n context.lineCap = lineCap;\n // 添加偏移量,使第一条边与正上方对齐\n context.rotate(-Math.PI / 2);\n\n for (let i = 0; i < n; i++) {\n // 计算当前边的起点和终点坐标\n const startX = r * Math.cos(angle * i),\n startY = r * Math.sin(angle * i),\n endX = r * Math.cos(angle * (i + 1)),\n endY = r * Math.sin(angle * (i + 1));\n // 开始一个新的路径\n context.beginPath();\n // 绘制多边形的一条边\n context.moveTo(startX, startY);\n context.lineTo(endX, endY);\n // 创建线性渐变对象\n const gradient = context.createLinearGradient(startX, startY, endX, endY);\n gradient.addColorStop(0, strokeStyle);\n gradient.addColorStop(0.5, \"#1D2B57\");\n gradient.addColorStop(0.6, \"#1D2B57\");\n gradient.addColorStop(1, strokeStyle);\n // 设置当前路径的描边样式为线性渐变\n context.strokeStyle = gradient;\n context.stroke();\n }\n context.restore();\n};\n\n/**\n * 绘制数据点连接线条(一次性画完)\n * dataPoints: 数据的位置数组\n * strokeStyle: 线条样式\n * lineWidth: 线条宽度\n */\nexport const drawDataLine = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n options: DataLineOptions\n) {\n const { strokeStyle, lineWidth, dataPoints } = options;\n const dataPointsLen = dataPoints.length;\n context.save();\n context.beginPath();\n context.translate(origin[0], origin[1]);\n context.moveTo(dataPoints[0].x, dataPoints[0].y);\n for (let i = 1; i < dataPointsLen; i++) {\n context.lineTo(dataPoints[i].x, dataPoints[i].y);\n }\n context.closePath();\n context.strokeStyle = strokeStyle;\n context.lineWidth = lineWidth;\n context.lineJoin = \"round\";\n context.stroke();\n context.restore();\n};\n/**\n * 绘制放射性中心点到多边形顶点连线\n * @param context\n * @param origin\n * @param dataPoints 多边形顶点坐标\n */\nexport const drawVertexLine = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n dataPoints: Axis[]\n) {\n context.save();\n context.beginPath();\n dataPoints.map((point) => {\n context.moveTo(origin[0], origin[1]);\n context.lineTo(point.x, point.y);\n });\n context.strokeStyle = \"#1D2B57\";\n context.lineWidth = 2;\n context.stroke();\n context.restore();\n};\nexport const drawLeadLineAndText = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n r: number,\n dataPoints: Axis[],\n dataSource: Data[]\n) {\n context.save();\n const offsetX = r / 2,\n offsetY = r / 4,\n offsetEndX = r / 12 > 10 ? r / 12 : 10,\n rectSize = 12;\n dataPoints.map((point, i) => {\n let curPosX = point.x,\n curPosMiddleX = point.x,\n curPosEndX = point.x,\n curPosY = point.y,\n rectX = point.x;\n const color = dataSource[i]?.color || colorMap[i] || \"#ccc\";\n context.beginPath();\n context.moveTo(point.x, point.y);\n\n if (point.x - origin[0] >= 0) {\n //引线方向往右\n curPosX += offsetX;\n curPosMiddleX = curPosX + offsetX;\n curPosEndX = curPosMiddleX + offsetEndX;\n rectX = curPosX + rectSize;\n } else if (point.x - origin[0] < 0) {\n //引线方向往左\n curPosX -= offsetX;\n curPosMiddleX = curPosX - offsetX;\n curPosEndX = curPosMiddleX - offsetEndX;\n rectX = curPosMiddleX + rectSize;\n }\n\n if (point.y - origin[1] < 0) {\n curPosY -= offsetY;\n } else if (point.y - origin[1] > 0) {\n curPosY += offsetY;\n }\n context.lineTo(curPosX, curPosY);\n context.lineTo(curPosEndX, curPosY);\n context.strokeStyle = \"rgba(255, 255, 255, .1)\";\n context.stroke();\n context.beginPath();\n context.moveTo(curPosMiddleX, curPosY);\n context.lineTo(curPosEndX, curPosY);\n context.strokeStyle = color;\n context.lineWidth = 2;\n context.stroke();\n\n //文本\n const rectY = dataSource[i]?.percentValue\n ? curPosY - r / 3.5\n : curPosY - r / 5.5;\n const legendSize = r / 12;\n\n if (dataSource[i]?.name) {\n context.fillStyle = color;\n context.fillRect(rectX, rectY, rectSize, rectSize);\n\n context.textAlign = \"left\";\n context.font = `400 ${legendSize}px HarmonyOS_Sans_SC_Black`;\n context.fillStyle = \"rgba(255, 255, 255, .4)\";\n context.fillText(\n `${dataSource[i].name}`,\n rectX + rectSize * 1.5,\n rectY + rectSize / 2\n );\n context.stroke();\n }\n if (dataSource[i]?.percentValue) {\n const percentSize = r / 10;\n context.textAlign = \"left\";\n context.font = `500 ${percentSize}px HarmonyOS_Sans_SC_Black`;\n context.fillStyle = \"#fff\";\n context.fillText(\n `${dataSource[i]?.percentValue}`,\n rectX + rectSize * 1.5,\n rectY + rectSize / 2 + legendSize * 1.5\n );\n context.stroke();\n }\n });\n context.restore();\n};\n\n/**\n * 绘制数据点圆圈\n * dataPoints: 数据的位置数组\n * r: 圆圈半径\n * strokeStyle: 圆的描边样式\n * fillStyle: 圆的描边宽度\n * lineWidth: 圆的填充样式\n */\nexport const drawDataCircle = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n ratio: number,\n options: DataCircleOptions\n) {\n const { strokeStyle, fillStyle, dataPoints } = options;\n const r = options.r * ratio,\n lineWidth = options.lineWidth * ratio;\n\n const dataPointsPosArrayLen = dataPoints.length;\n for (let i = 0; i < dataPointsPosArrayLen; i++) {\n drawCircle(context, {\n x: dataPoints[i].x,\n y: dataPoints[i].y,\n r: r,\n originX: origin[0],\n originY: origin[1],\n strokeStyle: strokeStyle,\n lineWidth: lineWidth,\n fillStyle: fillStyle,\n });\n }\n};\n\n/**\n * 绘制圆圈\n * x: 圆心位置x\n * y: 圆心位置y\n * r: 半径\n * originX: 原点位置x\n * originY: 原点位置y\n * strokeStyle: 描边样式\n * lineWidth: 线条宽度\n * fillStyle: 填充样式\n */\nexport function drawCircle(\n context: CanvasRenderingContext2D,\n options: CircleOptions\n) {\n const { x, y, r, originX, originY, strokeStyle, lineWidth, fillStyle } =\n options;\n context.save();\n context.beginPath();\n context.translate(originX, originY);\n context.arc(x, y, r, 0, Math.PI * 2);\n context.closePath();\n context.strokeStyle = strokeStyle;\n context.lineWidth = lineWidth;\n context.lineJoin = \"round\";\n context.fillStyle = fillStyle;\n context.stroke();\n context.fill();\n context.restore();\n}\n\n/**\n * 绘制数据多边形填充\n * dataPoints: 数据的位置数组\n * fillStyle: 填充样式\n */\nexport const drawDataFill = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n options: DataFillProps\n) {\n const { fillStyle, dataPoints } = options;\n const dataPointsPosArrayLen = dataPoints.length;\n context.save();\n context.beginPath();\n context.translate(origin[0], origin[1]);\n context.moveTo(dataPoints[0].x, dataPoints[0].y);\n for (let i = 1; i < dataPointsPosArrayLen; i++) {\n context.lineTo(dataPoints[i].x, dataPoints[i].y);\n }\n context.closePath();\n context.fillStyle = fillStyle;\n context.fill();\n context.restore();\n};\n\n/**\n * 绘制数据点组成的图案\n * dataLineOptions\n * dataFillOptions\n * dataCircleOptions\n */\nexport const drawDataPoly = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n ratio: number,\n options: DataPolyProps\n) {\n const { dataLineOptions, dataFillOptions, dataCircleOptions } = options;\n const dataPointsPosArrayLen = dataLineOptions.dataPoints.length;\n if (dataPointsPosArrayLen === 0) return;\n // 绘制数据点连接线条\n drawDataLine(context, origin, dataLineOptions);\n // 绘制数据多边形填充\n drawDataFill(context, origin, dataFillOptions);\n // 绘制数据点圆圈\n drawDataCircle(context, origin, ratio, dataCircleOptions);\n};\n\n/**\n * 绘制雷达的背景图\n * 参数options对象的属性如下:\n * layer: 多边形层数\n * n: 边数\n * r:半径\n * origin:正多边形的中心位置。数组形式[x, y]\n * oddStrokeStyle: index为奇数的多边形的描边颜色\n * oddFillStyle: index为奇数的多边形的填充颜色\n * evenStrokeStyle: index为偶数的多边形的描边颜色\n * evenFillStyle: index为偶数的多边形的填充颜色\n */\nexport const drawRadarBackground = function (\n context: CanvasRenderingContext2D,\n options: DrawRadarBgOption\n) {\n const { layer, n, r, ratio, origin, lineWidth } = options;\n const evenStrokeStyle = \"transparent\",\n oddStrokeStyle = \"transparent\",\n evenFillStyle = [[\"#3366FF\", \"#83F5E1\"]],\n oddFillStyle = \"#29292d\";\n // 由外向内绘画多边形\n for (let i = layer; i > 0; i--) {\n if (i === layer) {\n drawGradientPolygon(context, {\n n,\n r,\n origin,\n ratio,\n lineWidth,\n strokeStyle: \"rgba(51, 102, 255)\",\n });\n drawGradientPolygon(context, {\n n,\n r: r * 0.95,\n origin,\n ratio,\n strokeStyle: \"rgba(76,132,250,0.1)\",\n lineWidth,\n });\n } else {\n const layerDis = (r * 0.95) / layer;\n const fillStyle = i % 2 != 0 ? oddFillStyle : evenFillStyle,\n strokeStyle = i % 2 != 0 ? oddStrokeStyle : evenStrokeStyle,\n layerRadiu = layerDis * i;\n drawPolygon(context, {\n n,\n r: layerRadiu,\n origin,\n fillStyle,\n strokeStyle,\n lineWidth,\n ratio,\n });\n }\n }\n};\n","import React, { ReactElement, useEffect, useRef, useState } from \"react\";\nimport {\n baseRadarConfig,\n baseUserConfig,\n constructBaseConfig,\n constructUserConfig,\n drawDataPoly,\n drawLeadLineAndText,\n drawRadarBackground,\n drawVertexLine,\n getDataPointsPos,\n getPolygonPos,\n} from \"./utils.js\";\nimport { BaseConfig, RadarProps, UserConfig } from \"./interface.js\";\n\nexport function Radar({\n dataSource,\n radius,\n value,\n dataFill,\n dataCircle,\n dataLine,\n scale,\n ...props\n}: RadarProps): ReactElement {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D>(null);\n const [baseConfig, setBaseConfig] = useState<BaseConfig>(baseRadarConfig);\n const [userConfig, setUserConfig] = useState<UserConfig>(baseUserConfig);\n\n const ratio = window.devicePixelRatio;\n useEffect(() => {\n const canvas = canvasRef.current;\n const context = canvas.getContext(\"2d\");\n const canvasWidth = canvas.clientWidth;\n const canvasHeight = canvas.clientHeight;\n // 根据设备像素比调整画布的实际像素大小\n canvas.width = canvasWidth * ratio;\n canvas.height = canvasHeight * ratio;\n const defaultRadius = Math.min(canvas.width, canvas.height) * scale; // 正多边形的默认半径\n\n contextRef.current = context;\n setBaseConfig(constructBaseConfig(dataSource, radius ?? defaultRadius));\n }, [dataSource, radius, scale]);\n useEffect(() => {\n setUserConfig(constructUserConfig(dataFill, dataCircle, dataLine));\n }, [dataFill, dataCircle, dataLine]);\n\n useEffect(() => {\n let radiusPrecent = 0,\n timer = null;\n const canvas = canvasRef.current;\n const context = contextRef.current;\n const origin = [canvas.width / 2, canvas.height / 2];\n\n if (context) {\n // 起requestAnimationFrame为了数值绘制区域有过渡效果\n const drawFrame = () => {\n timer = window.requestAnimationFrame(drawFrame);\n // 数据点坐标元素\n radiusPrecent += 0.05;\n if (radiusPrecent >= 1) {\n window.cancelAnimationFrame(timer);\n }\n // 清空画布\n context.clearRect(0, 0, canvas.width, canvas.height);\n // 绘制背景图\n drawRadarBackground(context, {\n layer: 5,\n n: baseConfig.n,\n r: baseConfig.radius,\n ratio,\n origin,\n lineWidth: 2,\n });\n\n const dataRadius = baseConfig.dataRadius.map((value) => {\n return value * radiusPrecent;\n });\n const dataPointsPosArray = getDataPointsPos(\n baseConfig.n,\n dataRadius,\n baseConfig.angleArr\n );\n const dataLineOptions = {\n dataPoints: dataPointsPosArray,\n strokeStyle: userConfig.dataLine.strokeStyle,\n lineWidth: userConfig.dataLine.lineWidth,\n };\n const dataCircleOptions = {\n dataPoints: dataPointsPosArray,\n r: userConfig.dataCircle.r,\n strokeStyle: userConfig.dataCircle.strokeStyle,\n fillStyle: userConfig.dataCircle.fillStyle,\n lineWidth: userConfig.dataCircle.lineWidth,\n };\n const dataFillOptions = {\n dataPoints: dataPointsPosArray,\n fillStyle: userConfig.dataFill.fillStyle,\n };\n drawDataPoly(context, origin, ratio, {\n dataLineOptions: dataLineOptions,\n dataFillOptions: dataFillOptions,\n dataCircleOptions: dataCircleOptions,\n });\n\n //绘制放射性中心点到多边形顶点连线\n const polygonOuterPointsPosArr = getPolygonPos(\n baseConfig.n,\n baseConfig.radius,\n origin\n );\n drawVertexLine(context, origin, polygonOuterPointsPosArr);\n drawLeadLineAndText(\n context,\n origin,\n baseConfig.radius,\n polygonOuterPointsPosArr,\n baseConfig.originDataSource\n );\n if (value) {\n const fontSize = baseConfig.radius / 5;\n context.font = `bold ${fontSize}px HarmonyOS_Sans_SC_Black`;\n context.fillStyle = \"#fff\";\n context.textAlign = \"center\";\n context.textBaseline = \"middle\";\n context.fillText(`${value}`, origin[0], origin[1]);\n }\n };\n drawFrame();\n }\n }, [baseConfig, userConfig, value]);\n\n return (\n <div\n className=\"radarWrap\"\n style={{ width: `${props.width}px`, height: `${props.height}px` }}\n >\n <canvas className=\"canvasWrap\" ref={canvasRef} />\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.radarWrap{position:relative;width:100%;height:100%;.canvasWrap{display:block;width:100%;height:100%}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}"],"names":["colorMap","baseUserConfig","dataFill","fillStyle","dataCircle","r","strokeStyle","lineWidth","dataLine","baseRadarConfig","n","dataRadiusOfPercent","dataRadius","angleArr","tooltipsContentArr","originDataSource","radius","constructBaseConfig","dataSource","baseConfig","cloneDeep","length","disAngle","Math","PI","forEach","data","i","value","maxValue","constructUserConfig","userConfig","merge","getDataPointsPos","dataRadiusArr","dataPointsPosArray","curPoinrPos","x","y","sin","cos","push","getPolygonPos","origin","dotsArray","angle","curPos","drawPolygon","context","options","ratio","save","beginPath","translate","moveTo","rotate","lineTo","closePath","stroke","lineCap","Array","gradient","createLinearGradient","colors","addColorStop","fill","restore","drawGradientPolygon","startX","startY","endX","endY","drawVertexLine","dataPoints","map","point","drawLeadLineAndText","offsetX","offsetY","offsetEndX","_dataSource$i","_dataSource$i2","_dataSource$i3","_dataSource$i4","curPosX","curPosMiddleX","curPosEndX","curPosY","rectX","color","rectY","percentValue","legendSize","name","fillRect","textAlign","font","concat","fillText","rectSize","_dataSource$i5","percentSize","drawCircle","originX","originY","arc","lineJoin","drawDataPoly","dataLineOptions","dataFillOptions","dataCircleOptions","dataPointsLen","drawDataLine","dataPointsPosArrayLen","drawDataFill","drawDataCircle","drawRadarBackground","layer","evenFillStyle","Radar","_ref","scale","props","_objectWithoutProperties","_excluded","canvasRef","useRef","contextRef","setBaseConfig","useState","setUserConfig","window","devicePixelRatio","useEffect","canvas","current","getContext","canvasWidth","clientWidth","canvasHeight","clientHeight","width","height","defaultRadius","min","radiusPrecent","timer","drawFrame","requestAnimationFrame","cancelAnimationFrame","clearRect","polygonOuterPointsPosArr","fontSize","textBaseline","React","className","style","ref","___CSS_LOADER_EXPORT___","module","id","toString","source","excluded","key","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/6252.d2312cb8.js","mappings":"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","sources":["webpack:///./src/radar-chart/utils.ts","webpack:///./src/radar-chart/radar.tsx","webpack:///./src/radar-chart/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { cloneDeep, merge } from \"lodash\";\nimport {\n Axis,\n BaseConfig,\n CircleOptions,\n Data,\n DataCircle,\n DataCircleOptions,\n DataFill,\n DataFillProps,\n DataLine,\n DataLineOptions,\n DataPolyProps,\n DrawPolygonOptions,\n DrawRadarBgOption,\n GradientPolygon,\n UserConfig,\n} from \"./interface.js\";\n\nexport const colorMap = [\n \"#5B8FF9\",\n \"#5AD8A6\",\n \"#5D7092\",\n \"#F6BD16\",\n \"#E86452\",\n \"#6DC8EC\",\n \"#945FB9\",\n \"#FF9845\",\n \"#1E9493\",\n \"#FF99C3\",\n]; //chart-v2 的主题色\n\nexport const baseUserConfig: UserConfig = {\n dataFill: {\n fillStyle: \"rgba(76,132,250,0.67)\",\n },\n dataCircle: {\n r: 2,\n strokeStyle: \"#ccc\",\n fillStyle: \"#fff\",\n lineWidth: 0.5,\n },\n dataLine: {\n strokeStyle: \"#0B2EE7\",\n lineWidth: 5,\n },\n};\nexport const baseRadarConfig: BaseConfig = {\n n: 0,\n dataRadiusOfPercent: [],\n dataRadius: [],\n angleArr: [],\n tooltipsContentArr: [],\n originDataSource: [],\n radius: 1,\n};\n/**\n * // 初始化参数配置\n * @param dataSource\n * @param radius\n * @returns BaseConfig\n */\nexport const constructBaseConfig = function (\n dataSource: Data[],\n radius: number\n) {\n const baseConfig: BaseConfig = cloneDeep(baseRadarConfig);\n baseConfig.radius = radius;\n if (dataSource?.length < 1) return baseConfig;\n baseConfig.originDataSource = dataSource;\n baseConfig.n = dataSource.length;\n const disAngle = (Math.PI * 2) / baseConfig.n;\n dataSource.forEach((data, i) => {\n baseConfig.dataRadiusOfPercent[i] = data.value / data.maxValue;\n baseConfig.dataRadius[i] = baseConfig.dataRadiusOfPercent[i] * radius;\n baseConfig.angleArr[i] = i * disAngle;\n });\n return baseConfig;\n};\n\nexport const constructUserConfig = function (\n dataFill: DataFill,\n dataCircle: DataCircle,\n dataLine: DataLine\n) {\n const userConfig: UserConfig = cloneDeep(baseUserConfig);\n merge(userConfig.dataFill, dataFill);\n merge(userConfig.dataCircle, dataCircle);\n merge(userConfig.dataLine, dataLine);\n return userConfig;\n};\n\n/**\n * 获取数据点相对于原点的坐标\n * n:多边形边数\n * dataRadiusArr: 数据点的坐标数组\n * angleArr: 多边形的角度数组\n */\nexport const getDataPointsPos = function (\n n: number,\n dataRadiusArr: number[],\n angleArr: number[]\n) {\n const dataPointsPosArray = [];\n for (let i = 0; i < n; i++) {\n const curPoinrPos: Axis = {\n x: 0,\n y: 0,\n };\n curPoinrPos.x = dataRadiusArr[i] * Math.sin(angleArr[i]);\n curPoinrPos.y = -dataRadiusArr[i] * Math.cos(angleArr[i]);\n dataPointsPosArray.push(curPoinrPos);\n }\n return dataPointsPosArray;\n};\n\n/**\n * 获取正多边形每个点的坐标位置数组(相对于原点)\n * n: 多边形的边数\n * r: 半径\n * origin: 原点位置\n */\nexport const getPolygonPos = function (n: number, r: number, origin: number[]) {\n const dotsArray = []; // 多边形每一个点的坐标数组,格式如[{x: 1, y: 2}]\n const angle = (Math.PI * 2) / n;\n for (let i = 0; i < n; i++) {\n const curPos: Axis = {\n x: 0,\n y: 0,\n };\n curPos.x = r * Math.sin(i * angle) + origin[0];\n curPos.y = -r * Math.cos(i * angle) + origin[1];\n dotsArray.push(curPos);\n }\n return dotsArray;\n};\n\n/**\n * 绘制闭合正多边形\n * n: 边数\n * r:半径\n * origin:正多边形的中心位置。数组形式[x, y]\n * fillStyle:填充样式\n * strokeStyle:线条样式\n * lineWidth: 线条宽度\n */\nexport const drawPolygon = function (\n context: CanvasRenderingContext2D,\n options: DrawPolygonOptions\n) {\n // 对传入参数进行默认值设置\n const n = options.n,\n r = options.r,\n origin = options.origin,\n strokeStyle = options.strokeStyle,\n lineWidth = options.lineWidth * options.ratio,\n lineCap = \"butt\";\n\n context.save();\n context.beginPath();\n const angle = (Math.PI * 2) / n;\n context.translate(origin[0], origin[1]);\n context.moveTo(0, -r);\n for (let i = 0; i < n; i++) {\n context.rotate(angle);\n context.lineTo(0, -r);\n }\n context.closePath();\n context.stroke();\n\n if (options.strokeStyle) {\n context.strokeStyle = strokeStyle;\n context.lineWidth = lineWidth;\n context.lineCap = lineCap;\n }\n if (options.fillStyle) {\n if (typeof options.fillStyle === \"string\") {\n context.fillStyle = options.fillStyle;\n } else if (options.fillStyle instanceof Array) {\n // 创建线性渐变对象\n const gradient = context.createLinearGradient(-r, -r, r, r);\n options.fillStyle.forEach((colors) => {\n gradient.addColorStop(0, colors[0]);\n gradient.addColorStop(1, colors[1]);\n });\n context.fillStyle = gradient;\n }\n\n context.fill();\n }\n context.restore();\n};\n\n/**\n * 绘制线性渐变的多边形,\n * n: 边数\n * r:半径\n * origin:正多边形的中心位置。数组形式[x, y]\n * strokeStyle:线条样式\n * lineWidth: 线条宽度\n */\nexport const drawGradientPolygon = function (\n context: CanvasRenderingContext2D,\n options: GradientPolygon\n) {\n // 对传入参数进行默认值设置\n const { n, r, origin, strokeStyle } = options;\n const lineWidth = options.lineWidth * options.ratio,\n lineCap = \"butt\";\n context.save();\n const angle = (Math.PI * 2) / n;\n context.translate(origin[0], origin[1]);\n\n // 设置线条样式\n context.lineWidth = lineWidth;\n context.lineCap = lineCap;\n // 添加偏移量,使第一条边与正上方对齐\n context.rotate(-Math.PI / 2);\n\n for (let i = 0; i < n; i++) {\n // 计算当前边的起点和终点坐标\n const startX = r * Math.cos(angle * i),\n startY = r * Math.sin(angle * i),\n endX = r * Math.cos(angle * (i + 1)),\n endY = r * Math.sin(angle * (i + 1));\n // 开始一个新的路径\n context.beginPath();\n // 绘制多边形的一条边\n context.moveTo(startX, startY);\n context.lineTo(endX, endY);\n // 创建线性渐变对象\n const gradient = context.createLinearGradient(startX, startY, endX, endY);\n gradient.addColorStop(0, strokeStyle);\n gradient.addColorStop(0.5, \"#1D2B57\");\n gradient.addColorStop(0.6, \"#1D2B57\");\n gradient.addColorStop(1, strokeStyle);\n // 设置当前路径的描边样式为线性渐变\n context.strokeStyle = gradient;\n context.stroke();\n }\n context.restore();\n};\n\n/**\n * 绘制数据点连接线条(一次性画完)\n * dataPoints: 数据的位置数组\n * strokeStyle: 线条样式\n * lineWidth: 线条宽度\n */\nexport const drawDataLine = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n options: DataLineOptions\n) {\n const { strokeStyle, lineWidth, dataPoints } = options;\n const dataPointsLen = dataPoints.length;\n context.save();\n context.beginPath();\n context.translate(origin[0], origin[1]);\n context.moveTo(dataPoints[0].x, dataPoints[0].y);\n for (let i = 1; i < dataPointsLen; i++) {\n context.lineTo(dataPoints[i].x, dataPoints[i].y);\n }\n context.closePath();\n context.strokeStyle = strokeStyle;\n context.lineWidth = lineWidth;\n context.lineJoin = \"round\";\n context.stroke();\n context.restore();\n};\n/**\n * 绘制放射性中心点到多边形顶点连线\n * @param context\n * @param origin\n * @param dataPoints 多边形顶点坐标\n */\nexport const drawVertexLine = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n dataPoints: Axis[]\n) {\n context.save();\n context.beginPath();\n dataPoints.map((point) => {\n context.moveTo(origin[0], origin[1]);\n context.lineTo(point.x, point.y);\n });\n context.strokeStyle = \"#1D2B57\";\n context.lineWidth = 2;\n context.stroke();\n context.restore();\n};\nexport const drawLeadLineAndText = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n r: number,\n dataPoints: Axis[],\n dataSource: Data[]\n) {\n context.save();\n const offsetX = r / 2,\n offsetY = r / 4,\n offsetEndX = r / 12 > 10 ? r / 12 : 10,\n rectSize = 12;\n dataPoints.map((point, i) => {\n let curPosX = point.x,\n curPosMiddleX = point.x,\n curPosEndX = point.x,\n curPosY = point.y,\n rectX = point.x;\n const color = dataSource[i]?.color || colorMap[i] || \"#ccc\";\n context.beginPath();\n context.moveTo(point.x, point.y);\n\n if (point.x - origin[0] >= 0) {\n //引线方向往右\n curPosX += offsetX;\n curPosMiddleX = curPosX + offsetX;\n curPosEndX = curPosMiddleX + offsetEndX;\n rectX = curPosX + rectSize;\n } else if (point.x - origin[0] < 0) {\n //引线方向往左\n curPosX -= offsetX;\n curPosMiddleX = curPosX - offsetX;\n curPosEndX = curPosMiddleX - offsetEndX;\n rectX = curPosMiddleX + rectSize;\n }\n\n if (point.y - origin[1] < 0) {\n curPosY -= offsetY;\n } else if (point.y - origin[1] > 0) {\n curPosY += offsetY;\n }\n context.lineTo(curPosX, curPosY);\n context.lineTo(curPosEndX, curPosY);\n context.strokeStyle = \"rgba(255, 255, 255, .1)\";\n context.stroke();\n context.beginPath();\n context.moveTo(curPosMiddleX, curPosY);\n context.lineTo(curPosEndX, curPosY);\n context.strokeStyle = color;\n context.lineWidth = 2;\n context.stroke();\n\n //文本\n const rectY = dataSource[i]?.percentValue\n ? curPosY - r / 3.5\n : curPosY - r / 5.5;\n const legendSize = r / 12;\n\n if (dataSource[i]?.name) {\n context.fillStyle = color;\n context.fillRect(rectX, rectY, rectSize, rectSize);\n\n context.textAlign = \"left\";\n context.font = `400 ${legendSize}px HarmonyOS_Sans_SC_Black`;\n context.fillStyle = \"rgba(255, 255, 255, .4)\";\n context.fillText(\n `${dataSource[i].name}`,\n rectX + rectSize * 1.5,\n rectY + rectSize / 2\n );\n context.stroke();\n }\n if (dataSource[i]?.percentValue) {\n const percentSize = r / 10;\n context.textAlign = \"left\";\n context.font = `500 ${percentSize}px HarmonyOS_Sans_SC_Black`;\n context.fillStyle = \"#fff\";\n context.fillText(\n `${dataSource[i]?.percentValue}`,\n rectX + rectSize * 1.5,\n rectY + rectSize / 2 + legendSize * 1.5\n );\n context.stroke();\n }\n });\n context.restore();\n};\n\n/**\n * 绘制数据点圆圈\n * dataPoints: 数据的位置数组\n * r: 圆圈半径\n * strokeStyle: 圆的描边样式\n * fillStyle: 圆的描边宽度\n * lineWidth: 圆的填充样式\n */\nexport const drawDataCircle = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n ratio: number,\n options: DataCircleOptions\n) {\n const { strokeStyle, fillStyle, dataPoints } = options;\n const r = options.r * ratio,\n lineWidth = options.lineWidth * ratio;\n\n const dataPointsPosArrayLen = dataPoints.length;\n for (let i = 0; i < dataPointsPosArrayLen; i++) {\n drawCircle(context, {\n x: dataPoints[i].x,\n y: dataPoints[i].y,\n r: r,\n originX: origin[0],\n originY: origin[1],\n strokeStyle: strokeStyle,\n lineWidth: lineWidth,\n fillStyle: fillStyle,\n });\n }\n};\n\n/**\n * 绘制圆圈\n * x: 圆心位置x\n * y: 圆心位置y\n * r: 半径\n * originX: 原点位置x\n * originY: 原点位置y\n * strokeStyle: 描边样式\n * lineWidth: 线条宽度\n * fillStyle: 填充样式\n */\nexport function drawCircle(\n context: CanvasRenderingContext2D,\n options: CircleOptions\n) {\n const { x, y, r, originX, originY, strokeStyle, lineWidth, fillStyle } =\n options;\n context.save();\n context.beginPath();\n context.translate(originX, originY);\n context.arc(x, y, r, 0, Math.PI * 2);\n context.closePath();\n context.strokeStyle = strokeStyle;\n context.lineWidth = lineWidth;\n context.lineJoin = \"round\";\n context.fillStyle = fillStyle;\n context.stroke();\n context.fill();\n context.restore();\n}\n\n/**\n * 绘制数据多边形填充\n * dataPoints: 数据的位置数组\n * fillStyle: 填充样式\n */\nexport const drawDataFill = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n options: DataFillProps\n) {\n const { fillStyle, dataPoints } = options;\n const dataPointsPosArrayLen = dataPoints.length;\n context.save();\n context.beginPath();\n context.translate(origin[0], origin[1]);\n context.moveTo(dataPoints[0].x, dataPoints[0].y);\n for (let i = 1; i < dataPointsPosArrayLen; i++) {\n context.lineTo(dataPoints[i].x, dataPoints[i].y);\n }\n context.closePath();\n context.fillStyle = fillStyle;\n context.fill();\n context.restore();\n};\n\n/**\n * 绘制数据点组成的图案\n * dataLineOptions\n * dataFillOptions\n * dataCircleOptions\n */\nexport const drawDataPoly = function (\n context: CanvasRenderingContext2D,\n origin: number[],\n ratio: number,\n options: DataPolyProps\n) {\n const { dataLineOptions, dataFillOptions, dataCircleOptions } = options;\n const dataPointsPosArrayLen = dataLineOptions.dataPoints.length;\n if (dataPointsPosArrayLen === 0) return;\n // 绘制数据点连接线条\n drawDataLine(context, origin, dataLineOptions);\n // 绘制数据多边形填充\n drawDataFill(context, origin, dataFillOptions);\n // 绘制数据点圆圈\n drawDataCircle(context, origin, ratio, dataCircleOptions);\n};\n\n/**\n * 绘制雷达的背景图\n * 参数options对象的属性如下:\n * layer: 多边形层数\n * n: 边数\n * r:半径\n * origin:正多边形的中心位置。数组形式[x, y]\n * oddStrokeStyle: index为奇数的多边形的描边颜色\n * oddFillStyle: index为奇数的多边形的填充颜色\n * evenStrokeStyle: index为偶数的多边形的描边颜色\n * evenFillStyle: index为偶数的多边形的填充颜色\n */\nexport const drawRadarBackground = function (\n context: CanvasRenderingContext2D,\n options: DrawRadarBgOption\n) {\n const { layer, n, r, ratio, origin, lineWidth } = options;\n const evenStrokeStyle = \"transparent\",\n oddStrokeStyle = \"transparent\",\n evenFillStyle = [[\"#3366FF\", \"#83F5E1\"]],\n oddFillStyle = \"#29292d\";\n // 由外向内绘画多边形\n for (let i = layer; i > 0; i--) {\n if (i === layer) {\n drawGradientPolygon(context, {\n n,\n r,\n origin,\n ratio,\n lineWidth,\n strokeStyle: \"rgba(51, 102, 255)\",\n });\n drawGradientPolygon(context, {\n n,\n r: r * 0.95,\n origin,\n ratio,\n strokeStyle: \"rgba(76,132,250,0.1)\",\n lineWidth,\n });\n } else {\n const layerDis = (r * 0.95) / layer;\n const fillStyle = i % 2 != 0 ? oddFillStyle : evenFillStyle,\n strokeStyle = i % 2 != 0 ? oddStrokeStyle : evenStrokeStyle,\n layerRadiu = layerDis * i;\n drawPolygon(context, {\n n,\n r: layerRadiu,\n origin,\n fillStyle,\n strokeStyle,\n lineWidth,\n ratio,\n });\n }\n }\n};\n","import React, { ReactElement, useEffect, useRef, useState } from \"react\";\nimport {\n baseRadarConfig,\n baseUserConfig,\n constructBaseConfig,\n constructUserConfig,\n drawDataPoly,\n drawLeadLineAndText,\n drawRadarBackground,\n drawVertexLine,\n getDataPointsPos,\n getPolygonPos,\n} from \"./utils.js\";\nimport { BaseConfig, RadarProps, UserConfig } from \"./interface.js\";\n\nexport function Radar({\n dataSource,\n radius,\n value,\n dataFill,\n dataCircle,\n dataLine,\n scale,\n ...props\n}: RadarProps): ReactElement {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D>(null);\n const [baseConfig, setBaseConfig] = useState<BaseConfig>(baseRadarConfig);\n const [userConfig, setUserConfig] = useState<UserConfig>(baseUserConfig);\n\n const ratio = window.devicePixelRatio;\n useEffect(() => {\n const canvas = canvasRef.current;\n const context = canvas.getContext(\"2d\");\n const canvasWidth = canvas.clientWidth;\n const canvasHeight = canvas.clientHeight;\n // 根据设备像素比调整画布的实际像素大小\n canvas.width = canvasWidth * ratio;\n canvas.height = canvasHeight * ratio;\n const defaultRadius = Math.min(canvas.width, canvas.height) * scale; // 正多边形的默认半径\n\n contextRef.current = context;\n setBaseConfig(constructBaseConfig(dataSource, radius ?? defaultRadius));\n }, [dataSource, radius, scale]);\n useEffect(() => {\n setUserConfig(constructUserConfig(dataFill, dataCircle, dataLine));\n }, [dataFill, dataCircle, dataLine]);\n\n useEffect(() => {\n let radiusPrecent = 0,\n timer = null;\n const canvas = canvasRef.current;\n const context = contextRef.current;\n const origin = [canvas.width / 2, canvas.height / 2];\n\n if (context) {\n // 起requestAnimationFrame为了数值绘制区域有过渡效果\n const drawFrame = () => {\n timer = window.requestAnimationFrame(drawFrame);\n // 数据点坐标元素\n radiusPrecent += 0.05;\n if (radiusPrecent >= 1) {\n window.cancelAnimationFrame(timer);\n }\n // 清空画布\n context.clearRect(0, 0, canvas.width, canvas.height);\n // 绘制背景图\n drawRadarBackground(context, {\n layer: 5,\n n: baseConfig.n,\n r: baseConfig.radius,\n ratio,\n origin,\n lineWidth: 2,\n });\n\n const dataRadius = baseConfig.dataRadius.map((value) => {\n return value * radiusPrecent;\n });\n const dataPointsPosArray = getDataPointsPos(\n baseConfig.n,\n dataRadius,\n baseConfig.angleArr\n );\n const dataLineOptions = {\n dataPoints: dataPointsPosArray,\n strokeStyle: userConfig.dataLine.strokeStyle,\n lineWidth: userConfig.dataLine.lineWidth,\n };\n const dataCircleOptions = {\n dataPoints: dataPointsPosArray,\n r: userConfig.dataCircle.r,\n strokeStyle: userConfig.dataCircle.strokeStyle,\n fillStyle: userConfig.dataCircle.fillStyle,\n lineWidth: userConfig.dataCircle.lineWidth,\n };\n const dataFillOptions = {\n dataPoints: dataPointsPosArray,\n fillStyle: userConfig.dataFill.fillStyle,\n };\n drawDataPoly(context, origin, ratio, {\n dataLineOptions: dataLineOptions,\n dataFillOptions: dataFillOptions,\n dataCircleOptions: dataCircleOptions,\n });\n\n //绘制放射性中心点到多边形顶点连线\n const polygonOuterPointsPosArr = getPolygonPos(\n baseConfig.n,\n baseConfig.radius,\n origin\n );\n drawVertexLine(context, origin, polygonOuterPointsPosArr);\n drawLeadLineAndText(\n context,\n origin,\n baseConfig.radius,\n polygonOuterPointsPosArr,\n baseConfig.originDataSource\n );\n if (value) {\n const fontSize = baseConfig.radius / 5;\n context.font = `bold ${fontSize}px HarmonyOS_Sans_SC_Black`;\n context.fillStyle = \"#fff\";\n context.textAlign = \"center\";\n context.textBaseline = \"middle\";\n context.fillText(`${value}`, origin[0], origin[1]);\n }\n };\n drawFrame();\n }\n }, [baseConfig, userConfig, value]);\n\n return (\n <div\n className=\"radarWrap\"\n style={{ width: `${props.width}px`, height: `${props.height}px` }}\n >\n <canvas className=\"canvasWrap\" ref={canvasRef} />\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.radarWrap{position:relative;width:100%;height:100%}.radarWrap .canvasWrap{display:block;width:100%;height:100%}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}"],"names":["colorMap","baseUserConfig","dataFill","fillStyle","dataCircle","r","strokeStyle","lineWidth","dataLine","baseRadarConfig","n","dataRadiusOfPercent","dataRadius","angleArr","tooltipsContentArr","originDataSource","radius","constructBaseConfig","dataSource","baseConfig","cloneDeep","length","disAngle","Math","PI","forEach","data","i","value","maxValue","constructUserConfig","userConfig","merge","getDataPointsPos","dataRadiusArr","dataPointsPosArray","curPoinrPos","x","y","sin","cos","push","getPolygonPos","origin","dotsArray","angle","curPos","drawPolygon","context","options","ratio","save","beginPath","translate","moveTo","rotate","lineTo","closePath","stroke","lineCap","Array","gradient","createLinearGradient","colors","addColorStop","fill","restore","drawGradientPolygon","startX","startY","endX","endY","drawVertexLine","dataPoints","map","point","drawLeadLineAndText","offsetX","offsetY","offsetEndX","_dataSource$i","_dataSource$i2","_dataSource$i3","_dataSource$i4","curPosX","curPosMiddleX","curPosEndX","curPosY","rectX","color","rectY","percentValue","legendSize","name","fillRect","textAlign","font","concat","fillText","rectSize","_dataSource$i5","percentSize","drawCircle","originX","originY","arc","lineJoin","drawDataPoly","dataLineOptions","dataFillOptions","dataCircleOptions","dataPointsLen","drawDataLine","dataPointsPosArrayLen","drawDataFill","drawDataCircle","drawRadarBackground","layer","evenFillStyle","Radar","_ref","scale","props","_objectWithoutProperties","_excluded","canvasRef","useRef","contextRef","setBaseConfig","useState","setUserConfig","window","devicePixelRatio","useEffect","canvas","current","getContext","canvasWidth","clientWidth","canvasHeight","clientHeight","width","height","defaultRadius","min","radiusPrecent","timer","drawFrame","requestAnimationFrame","cancelAnimationFrame","clearRect","polygonOuterPointsPosArr","fontSize","textBaseline","React","className","style","ref","___CSS_LOADER_EXPORT___","module","id","toString","source","excluded","key","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""}