@next-bricks/data-view 1.12.1 → 1.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +14 -14
- package/dist/chunks/{114.3c9ded00.js → 114.19fb04c3.js} +2 -2
- package/dist/chunks/{114.3c9ded00.js.map → 114.19fb04c3.js.map} +1 -1
- package/dist/chunks/{1493.f58ac7e3.js → 1493.d9a3fd09.js} +2 -2
- package/dist/chunks/{1493.f58ac7e3.js.map → 1493.d9a3fd09.js.map} +1 -1
- package/dist/chunks/{3171.58807427.js → 3171.f1058377.js} +2 -2
- package/dist/chunks/{3171.58807427.js.map → 3171.f1058377.js.map} +1 -1
- package/dist/chunks/4765.108f59d4.js +2 -0
- package/dist/chunks/4765.108f59d4.js.map +1 -0
- package/dist/chunks/{7218.fd284b6b.js → 4837.7e3e2eea.js} +2 -2
- package/dist/chunks/4837.7e3e2eea.js.map +1 -0
- package/dist/chunks/{5552.87da9878.js → 5552.01e2ba3d.js} +2 -2
- package/dist/chunks/{5552.87da9878.js.map → 5552.01e2ba3d.js.map} +1 -1
- package/dist/chunks/7146.01773098.js +2 -0
- package/dist/chunks/7146.01773098.js.map +1 -0
- package/dist/chunks/{4837.f34e276b.js → 7218.2b5b7887.js} +2 -2
- package/dist/chunks/7218.2b5b7887.js.map +1 -0
- package/dist/chunks/{7733.218dd478.js → 7733.c0366b9c.js} +2 -2
- package/dist/chunks/{7733.218dd478.js.map → 7733.c0366b9c.js.map} +1 -1
- package/dist/chunks/{8097.e14d0f64.js → 8097.6028e869.js} +2 -2
- package/dist/chunks/{8097.e14d0f64.js.map → 8097.6028e869.js.map} +1 -1
- package/dist/chunks/8826.6472b495.js +2 -0
- package/dist/chunks/{8826.7aa371b5.js.map → 8826.6472b495.js.map} +1 -1
- package/dist/chunks/9140.9bce802b.js +3 -0
- package/dist/chunks/9140.9bce802b.js.map +1 -0
- package/dist/chunks/{app-wall-card-item.da5f2d4f.js → app-wall-card-item.438a2758.js} +3 -3
- package/dist/chunks/{app-wall-card-item.da5f2d4f.js.map → app-wall-card-item.438a2758.js.map} +1 -1
- package/dist/chunks/{app-wall-relation-line.7042a5be.js → app-wall-relation-line.94bc5eba.js} +3 -3
- package/dist/chunks/{app-wall-relation-line.7042a5be.js.map → app-wall-relation-line.94bc5eba.js.map} +1 -1
- package/dist/chunks/{app-wall-system-card.c8153e32.js → app-wall-system-card.29cd2836.js} +2 -2
- package/dist/chunks/{app-wall-system-card.c8153e32.js.map → app-wall-system-card.29cd2836.js.map} +1 -1
- package/dist/chunks/{app-wall.276c885a.js → app-wall.1d0801d4.js} +2 -2
- package/dist/chunks/{app-wall.276c885a.js.map → app-wall.1d0801d4.js.map} +1 -1
- package/dist/chunks/{basic-index-group.2e63b2b7.js → basic-index-group.ffbab2ee.js} +2 -2
- package/dist/chunks/{basic-index-group.2e63b2b7.js.map → basic-index-group.ffbab2ee.js.map} +1 -1
- package/dist/chunks/{battery-chart.3c0f114d.js → battery-chart.80355972.js} +2 -2
- package/dist/chunks/{battery-chart.3c0f114d.js.map → battery-chart.80355972.js.map} +1 -1
- package/dist/chunks/{brick-notification.937aab80.js → brick-notification.11d7411b.js} +2 -2
- package/dist/chunks/{brick-notification.937aab80.js.map → brick-notification.11d7411b.js.map} +1 -1
- package/dist/chunks/{bubbles-indicator.af0a0a56.js → bubbles-indicator.9df60d36.js} +2 -2
- package/dist/chunks/{bubbles-indicator.af0a0a56.js.map → bubbles-indicator.9df60d36.js.map} +1 -1
- package/dist/chunks/{cabinet-app-layer.dfafd4b1.js → cabinet-app-layer.05c66229.js} +3 -3
- package/dist/chunks/{cabinet-app-layer.dfafd4b1.js.map → cabinet-app-layer.05c66229.js.map} +1 -1
- package/dist/chunks/{cabinet-button.4eacd143.js → cabinet-button.ee9ea68d.js} +2 -2
- package/dist/chunks/{cabinet-button.4eacd143.js.map → cabinet-button.ee9ea68d.js.map} +1 -1
- package/dist/chunks/{cabinet-container.6de86813.js → cabinet-container.70ba99de.js} +3 -3
- package/dist/chunks/{cabinet-container.6de86813.js.map → cabinet-container.70ba99de.js.map} +1 -1
- package/dist/chunks/{cabinet-graph.b401d383.js → cabinet-graph.4cfa6429.js} +2 -2
- package/dist/chunks/{cabinet-graph.b401d383.js.map → cabinet-graph.4cfa6429.js.map} +1 -1
- package/dist/chunks/{cabinet-node.6cdcc2f4.js → cabinet-node.54685641.js} +3 -3
- package/dist/chunks/{cabinet-node.6cdcc2f4.js.map → cabinet-node.54685641.js.map} +1 -1
- package/dist/chunks/{cabinet-thumbnail.d2a5a22e.js → cabinet-thumbnail.ae05c311.js} +3 -3
- package/dist/chunks/{cabinet-thumbnail.d2a5a22e.js.map → cabinet-thumbnail.ae05c311.js.map} +1 -1
- package/dist/chunks/{china-map-chart.b86cfdc6.js → china-map-chart.7f0adf1a.js} +2 -2
- package/dist/chunks/{china-map-chart.b86cfdc6.js.map → china-map-chart.7f0adf1a.js.map} +1 -1
- package/dist/chunks/{china-map.faf20495.js → china-map.3e89e422.js} +2 -2
- package/dist/chunks/{china-map.faf20495.js.map → china-map.3e89e422.js.map} +1 -1
- package/dist/chunks/complex-search.6254baa8.js +2 -0
- package/dist/chunks/{complex-search.c53d6876.js.map → complex-search.6254baa8.js.map} +1 -1
- package/dist/chunks/{crystal-ball-indicator.170ca1e4.js → crystal-ball-indicator.bb7f716b.js} +2 -2
- package/dist/chunks/{crystal-ball-indicator.170ca1e4.js.map → crystal-ball-indicator.bb7f716b.js.map} +1 -1
- package/dist/chunks/{data-display-flipper-fifth.3d575cb7.js → data-display-flipper-fifth.6cdcf8a4.js} +2 -2
- package/dist/chunks/{data-display-flipper-fifth.3d575cb7.js.map → data-display-flipper-fifth.6cdcf8a4.js.map} +1 -1
- package/dist/chunks/{data-display-flipper-sixth.9aa671ab.js → data-display-flipper-sixth.d3052c74.js} +2 -2
- package/dist/chunks/{data-display-flipper-sixth.9aa671ab.js.map → data-display-flipper-sixth.d3052c74.js.map} +1 -1
- package/dist/chunks/{data-display-flipper.b0b989af.js → data-display-flipper.df9e9e17.js} +2 -2
- package/dist/chunks/{data-display-flipper.b0b989af.js.map → data-display-flipper.df9e9e17.js.map} +1 -1
- package/dist/chunks/{dropdown-menu.8639ec11.js → dropdown-menu.7c2ad1f0.js} +3 -3
- package/dist/chunks/{dropdown-menu.8639ec11.js.map → dropdown-menu.7c2ad1f0.js.map} +1 -1
- package/dist/chunks/{gauge-chart.41091236.js → gauge-chart.cbbfe883.js} +2 -2
- package/dist/chunks/{gauge-chart.41091236.js.map → gauge-chart.cbbfe883.js.map} +1 -1
- package/dist/chunks/{gear-background.9bfb53bd.js → gear-background.5ab63f12.js} +2 -2
- package/dist/chunks/{gear-background.9bfb53bd.js.map → gear-background.5ab63f12.js.map} +1 -1
- package/dist/chunks/{globe-with-gear-indicator.c9e02dda.js → globe-with-gear-indicator.61e1e1e1.js} +2 -2
- package/dist/chunks/{globe-with-gear-indicator.c9e02dda.js.map → globe-with-gear-indicator.61e1e1e1.js.map} +1 -1
- package/dist/chunks/{globe-with-halo-indicator.efc88256.js → globe-with-halo-indicator.dbbb98b8.js} +2 -2
- package/dist/chunks/{globe-with-halo-indicator.efc88256.js.map → globe-with-halo-indicator.dbbb98b8.js.map} +1 -1
- package/dist/chunks/{globe-with-orbit-indicator.7283d892.js → globe-with-orbit-indicator.3539cb84.js} +2 -2
- package/dist/chunks/{globe-with-orbit-indicator.7283d892.js.map → globe-with-orbit-indicator.3539cb84.js.map} +1 -1
- package/dist/chunks/{graph-layout-grid.a55d8a02.js → graph-layout-grid.abb6c059.js} +2 -2
- package/dist/chunks/{graph-layout-grid.a55d8a02.js.map → graph-layout-grid.abb6c059.js.map} +1 -1
- package/dist/chunks/{graph-node.cf0b1cfa.js → graph-node.dce0737b.js} +2 -2
- package/dist/chunks/{graph-node.cf0b1cfa.js.map → graph-node.dce0737b.js.map} +1 -1
- package/dist/chunks/graph-text.fa54ea09.js +2 -0
- package/dist/chunks/{graph-text.35673faa.js.map → graph-text.fa54ea09.js.map} +1 -1
- package/dist/chunks/{grid-background.cc1e3afa.js → grid-background.ac91a79b.js} +2 -2
- package/dist/chunks/{grid-background.cc1e3afa.js.map → grid-background.ac91a79b.js.map} +1 -1
- package/dist/chunks/{hi-tech-button.dead37e9.js → hi-tech-button.174e33b5.js} +2 -2
- package/dist/chunks/{hi-tech-button.dead37e9.js.map → hi-tech-button.174e33b5.js.map} +1 -1
- package/dist/chunks/{indicator-card.f7458b02.js → indicator-card.365a80fa.js} +3 -3
- package/dist/chunks/{indicator-card.f7458b02.js.map → indicator-card.365a80fa.js.map} +1 -1
- package/dist/chunks/{lights-component-title.9cd0ac54.js → lights-component-title.b45aca52.js} +2 -2
- package/dist/chunks/{lights-component-title.9cd0ac54.js.map → lights-component-title.b45aca52.js.map} +1 -1
- package/dist/chunks/{loading-panel.7016fde7.js → loading-panel.c38af443.js} +2 -2
- package/dist/chunks/{loading-panel.7016fde7.js.map → loading-panel.c38af443.js.map} +1 -1
- package/dist/chunks/main.fbfe3e79.js +2 -0
- package/dist/chunks/main.fbfe3e79.js.map +1 -0
- package/dist/chunks/{modern-style-component-title.7c84583d.js → modern-style-component-title.66152366.js} +2 -2
- package/dist/chunks/{modern-style-component-title.7c84583d.js.map → modern-style-component-title.66152366.js.map} +1 -1
- package/dist/chunks/{modern-style-page-title.9c0ea141.js → modern-style-page-title.f50dfbec.js} +2 -2
- package/dist/chunks/{modern-style-page-title.9c0ea141.js.map → modern-style-page-title.f50dfbec.js.map} +1 -1
- package/dist/chunks/{modern-style-treemap.3836ca2d.js → modern-style-treemap.1f2b7101.js} +3 -3
- package/dist/chunks/{modern-style-treemap.3836ca2d.js.map → modern-style-treemap.1f2b7101.js.map} +1 -1
- package/dist/chunks/{particle-animation.b1ee4077.js → particle-animation.ee49b237.js} +2 -2
- package/dist/chunks/{particle-animation.b1ee4077.js.map → particle-animation.ee49b237.js.map} +1 -1
- package/dist/chunks/{progress-bar-list.1bda79e5.js → progress-bar-list.7254b6b3.js} +2 -2
- package/dist/chunks/{progress-bar-list.1bda79e5.js.map → progress-bar-list.7254b6b3.js.map} +1 -1
- package/dist/chunks/{radar-chart.12f7c254.js → radar-chart.0e982983.js} +2 -2
- package/dist/chunks/{radar-chart.12f7c254.js.map → radar-chart.0e982983.js.map} +1 -1
- package/dist/chunks/{simple-card-item.527df7f3.js → simple-card-item.c36118a6.js} +3 -3
- package/dist/chunks/{simple-card-item.527df7f3.js.map → simple-card-item.c36118a6.js.map} +1 -1
- package/dist/chunks/{tabs-drawer.6f738d4a.js → tabs-drawer.2e83b00f.js} +3 -3
- package/dist/chunks/{tabs-drawer.6f738d4a.js.map → tabs-drawer.2e83b00f.js.map} +1 -1
- package/dist/chunks/{tabs-page-title.de666d04.js → tabs-page-title.19eaecee.js} +3 -3
- package/dist/chunks/{tabs-page-title.de666d04.js.map → tabs-page-title.19eaecee.js.map} +1 -1
- package/dist/chunks/{tech-mesh-base-view.bb1c3815.js → tech-mesh-base-view.2c686877.js} +2 -2
- package/dist/chunks/{tech-mesh-base-view.bb1c3815.js.map → tech-mesh-base-view.2c686877.js.map} +1 -1
- package/dist/chunks/{title-text.b5045fb6.js → title-text.fc52bc8a.js} +2 -2
- package/dist/chunks/{title-text.b5045fb6.js.map → title-text.fc52bc8a.js.map} +1 -1
- package/dist/chunks/{top-title-bar.a630cb07.js → top-title-bar.0e9025cd.js} +2 -2
- package/dist/chunks/{top-title-bar.a630cb07.js.map → top-title-bar.0e9025cd.js.map} +1 -1
- package/dist/examples.json +19 -19
- package/dist/index.0223ee1d.js +2 -0
- package/dist/index.0223ee1d.js.map +1 -0
- package/dist/manifest.json +222 -222
- package/dist/types.json +382 -382
- package/package.json +4 -4
- package/dist/chunks/3933.f2b54556.js +0 -2
- package/dist/chunks/3933.f2b54556.js.map +0 -1
- package/dist/chunks/4837.f34e276b.js.map +0 -1
- package/dist/chunks/6314.a27d2069.js +0 -2
- package/dist/chunks/6314.a27d2069.js.map +0 -1
- package/dist/chunks/7218.fd284b6b.js.map +0 -1
- package/dist/chunks/8826.7aa371b5.js +0 -2
- package/dist/chunks/9140.3c21ab5b.js +0 -3
- package/dist/chunks/9140.3c21ab5b.js.map +0 -1
- package/dist/chunks/complex-search.c53d6876.js +0 -2
- package/dist/chunks/graph-text.35673faa.js +0 -2
- package/dist/chunks/main.dc2e2e0c.js +0 -2
- package/dist/chunks/main.dc2e2e0c.js.map +0 -1
- package/dist/index.bddd5f0f.js +0 -2
- package/dist/index.bddd5f0f.js.map +0 -1
- /package/dist/chunks/{9140.3c21ab5b.js.LICENSE.txt → 9140.9bce802b.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{app-wall-card-item.da5f2d4f.js.LICENSE.txt → app-wall-card-item.438a2758.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{app-wall-relation-line.7042a5be.js.LICENSE.txt → app-wall-relation-line.94bc5eba.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-app-layer.dfafd4b1.js.LICENSE.txt → cabinet-app-layer.05c66229.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-container.6de86813.js.LICENSE.txt → cabinet-container.70ba99de.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-node.6cdcc2f4.js.LICENSE.txt → cabinet-node.54685641.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{cabinet-thumbnail.d2a5a22e.js.LICENSE.txt → cabinet-thumbnail.ae05c311.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{dropdown-menu.8639ec11.js.LICENSE.txt → dropdown-menu.7c2ad1f0.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{indicator-card.f7458b02.js.LICENSE.txt → indicator-card.365a80fa.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{modern-style-treemap.3836ca2d.js.LICENSE.txt → modern-style-treemap.1f2b7101.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{simple-card-item.527df7f3.js.LICENSE.txt → simple-card-item.c36118a6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{tabs-drawer.6f738d4a.js.LICENSE.txt → tabs-drawer.2e83b00f.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{tabs-page-title.de666d04.js.LICENSE.txt → tabs-page-title.19eaecee.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/1493.f58ac7e3.js","mappings":"gMAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,unCAEsgC,KAE/iC,QAAeH,EAAwBI,U,sECNnCJ,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,i3BAE2sB,KAEpvB,QAAeH,EAAwBI,U,sECNnCJ,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,uuFAKi9B,KAE1/B,QAAeH,EAAwBI,U,sECTnCJ,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,otDAGgR,KAEzT,QAAeH,EAAwBI,U,uJCgEhC,MAAMC,EAAqBA,CAChCC,EACAC,EACAC,KAEA,MAAMC,GAAY,IAAIC,EAAAA,KAAUC,WAAWJ,EAAcD,GACnDM,EAAaH,EAAUI,SAEvBC,EAAcC,SAASC,cAC3B,oCAEFF,EAAYG,MAAMC,OAAS,GAAGN,MAC9BE,EAAYK,UAAUC,IAAI,iBAC1BN,EAAYN,WAAaA,EACzB,MAAMa,EAAa,IAAIC,EAAAA,GAAYR,GAE7BS,GAAe,IAAIb,EAAAA,KAAUc,YACjClB,EACAC,EACA,IAEFc,EAAWI,SAASC,KAAKH,GAIzB,MAAMI,GAAa,IAAIC,EAAAA,KAAaC,mBAClC,IAAInB,EAAAA,IAAQ,EAAG,EAAG,GAAGoB,YACrBrB,EAAUsB,QAAQD,aAIpB,OAFAT,EAAWW,0BAA0BL,GAE9BN,CAAU,EAGNY,EAA2BA,CACtCC,EACAC,KAEA,MAAMC,EAAS,IAAI1B,EAAAA,IAAQwB,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAC/CG,EAAS,IAAI3B,EAAAA,IAAQyB,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAC/C,MAAO,CACLZ,cAAc,IAAIb,EAAAA,KAAUc,YAAYY,EAAQC,EAAQ,IACxD5B,WAAW,IAAIC,EAAAA,KAAUC,WAAWyB,EAAQC,GAC7C,EAEUC,EAAuCC,IAQlD,MAAM,GAAEC,EAAE,GAAEC,EAAE,EAAEC,EAAC,GAAEC,EAAE,GAAEC,EAAE,OAAEC,GAAWN,EAChCrB,EAAS4B,KAAKC,KAAKD,KAAKE,IAAIP,EAAK,EAAID,EAAK,EAAG,GAAKM,KAAKE,IAAIN,EAAG,IAC9DO,EAAUlC,SAASC,cAAc,OACvCiC,EAAQhC,MAAMiC,QAAU,+BACEhC,mCACAyB,4FAEiBzB,OACxByB,EAAK,EAAIC,EAAK,QACT1B,OAAYyB,EAAK,EAAIC,EAAK,EAAIA,UAAWD,8BAEjE,MAAMQ,EAAWpC,SAASC,cAAc,OACxCmC,EAASC,UAAY,kCACrBH,EAAQI,YAAYF,GACpB,MAAMjB,EAAsBW,EAAS,EAAEL,EAAK,EAAG,EAAG,GAAK,CAACA,EAAK,EAAG,EAAG,GAC7DL,EAAoBU,EAAS,EAAEJ,EAAK,EAAG,EAAGC,GAAK,CAACD,EAAK,EAAG,EAAGC,GAC3DY,EAAkB,IAAIhC,EAAAA,GAAY2B,IAClC,aAAE1B,EAAY,UAAEd,GAAcwB,EAAyBC,EAAOC,GACpEmB,EAAgB7B,SAASC,KAAKH,GAC9B,MAAMI,GAAa,IAAIC,EAAAA,KAAaC,mBAClC,IAAInB,EAAAA,IAAQ,EAAG,EAAG,GAAGoB,YACrBrB,EAAUsB,QAAQD,aAGpB,OADAwB,EAAgBtB,0BAA0BL,GACnC2B,CAAe,EAGXC,EAAuChB,IAQlD,MAAM,GAAEC,EAAE,GAAEC,EAAE,EAAEC,EAAC,GAAEC,EAAE,GAAEC,EAAE,MAAEY,GAAUjB,EAC/BrB,EAAS4B,KAAKC,KAAKD,KAAKE,IAAIL,EAAK,EAAIC,EAAK,EAAG,GAAKE,KAAKE,IAAIN,EAAG,IAC9DO,EAAUlC,SAASC,cAAc,OACvCiC,EAAQhC,MAAMiC,QAAU,+BACET,mCACAvB,4FAEiBuB,UACxBA,EAAK,EAAID,EAAK,EAAIA,OACdtB,QAAauB,EAAK,EAAID,EAAK,OAAOtB,6BAEzD,MAAMiC,EAAWpC,SAASC,cAAc,OACxCmC,EAASC,UAAY,kCACrBH,EAAQI,YAAYF,GACpB,MAAMG,EAAkB,IAAIhC,EAAAA,GAAY2B,GAClCf,EAAsBsB,EAAQ,CAAC,GAAIZ,EAAK,EAAG,GAAK,CAAC,EAAGA,EAAK,EAAG,GAC5DT,EAAoBqB,EAAQ,CAAC,GAAIb,EAAK,EAAGD,GAAK,CAAC,EAAGC,EAAK,EAAGD,IAC1D,aAAEnB,EAAY,UAAEd,GAAcwB,EAAyBC,EAAOC,GACpEmB,EAAgB7B,SAASC,KAAKH,GAC9B,MAAMkC,GAAgB,IAAI7B,EAAAA,KAAaC,mBACrC,IAAInB,EAAAA,IAAQ,GAAI,EAAG,GAAGoB,YACtBrB,EAAUsB,QAAQD,aAGpB,OADAwB,EAAgBtB,0BAA0ByB,GACnCH,CAAe,EAOXI,EAA2BnB,IACtC,MAAM,WACJoB,EAAU,YACVC,EAAW,SACXC,EAAQ,QACRC,EAAO,YACPC,EAAW,aACXC,EAAY,aACZC,EAAY,QACZC,GACE3B,EACEG,EAAI,IACJyB,EAAYpD,SAASC,cAAc,OACnCoD,EAAkB,IAAI9C,EAAAA,GAAY6C,GACxCC,EAAgB3C,SAAS4C,OAAOV,EAAWW,OAE3C,MAAM9B,EAAamB,EAAWY,MAC5B3B,EAAae,EAAWzC,OACxBuB,EAAK,KACLE,EAAK,KAED6B,EAAazD,SAASC,cAAc,OAC1CwD,EAAWvD,MAAMiC,QAAU,+BACDV,oCACCI,2MAK3B,MAAM6B,EAAoB,IAAInD,EAAAA,GAAYkD,GAC1CC,EAAkBhD,SAASiD,EAAI,EAC/BN,EAAgBhD,IAAIqD,GAGpB,MAAME,EAAU5D,SAASC,cAAc,OACvC2D,EAAQ1D,MAAMiC,QAAU,mRAOxB,MAAM0B,EAAe7D,SAASC,cAC5B,+BAEF4D,EAAaf,SAAWA,QAAAA,EAAY,GACpCe,EAAad,QAAUA,QAAAA,EAAW,EAClCc,EAAaV,QAAUA,EACvBS,EAAQvB,UAAY,oBACpBuB,EAAQtB,YAAYuB,GACpB,MAAMC,EAAiB,IAAIvD,EAAAA,GAAYqD,GACvCE,EAAepD,SAAS4C,IAAI,EAAG,EAAG3B,GAElC,MAAMoC,EAAsBxC,EAAoC,CAC9DE,KACAC,KACAG,KACAD,KACAD,EACAG,QAAQ,IAEJkC,EAAuBzC,EAAoC,CAC/DE,KACAC,KACAG,KACAD,KACAD,EACAG,QAAQ,IAEJmC,EAAqBzB,EAAoC,CAC7Df,KACAC,KACAG,KACAD,KACAD,EACAc,OAAO,IAEHyB,EAAwB1B,EAAoC,CAChEf,KACAC,KACAG,KACAD,KACAD,EACAc,OAAO,IAQT,GANAY,EAAgBhD,IACd0D,EACAC,EACAE,EACAD,GAEEpB,EAAa,CACf,MAAMsB,EAAUnE,SAASC,cAAc,OACvCkE,EAAQjE,MAAMiC,QAAU,oMAOxBgC,EAAQ9B,UAAY,oBACpB,MAAM+B,EAAWpE,SAASC,cAAc,QACxCmE,EAASlE,MAAMmE,OAAS,UACxBD,EAASE,UAAYzB,EACrBsB,EAAQ7B,YAAY8B,GACpB,MAAMG,EAAgB,IAAIhE,EAAAA,GAAY4D,GACtCI,EAAc7D,SAAS4C,KAAI,KAAc,IAAS,IAClDiB,EAAcC,QAAQzC,KAAK0C,GAAK,GAChCX,EAAezD,IAAIkE,GACnBH,EAASM,cAAgB1B,CAC3B,CACA,GAAIC,EAAc,CAChB,MAAM0B,EAAW3E,SAASC,cAAc,OACxC0E,EAASzE,MAAMiC,QAAU,wPAQzBwC,EAAStC,UAAY,oBACrB,MAAMuC,EAAW5E,SAASC,cAAc,QACxC2E,EAAS1E,MAAMmE,OAAS,UACxBO,EAASN,UAAYrB,EAErB0B,EAASrC,YAAYsC,GACrB,MAAMC,EAAiB,IAAItE,EAAAA,GAAYoE,GACvCE,EAAenE,SAAS4C,IAAI5B,KAAa,IAAS,IAClDmD,EAAeL,QAAQzC,KAAK0C,GAAK,GACjCX,EAAezD,IAAIwE,GACnBD,EAASF,cAAgBxB,CAC3B,CAEA,OADAG,EAAgBhD,IAAIyD,GACbT,CAAe,EASXyB,EAAiBA,CAC5BC,EACAC,EACAC,KAEA,GAAKF,UAAAA,EAAYjF,OAAQ,MAAO,GAChC,IAAIoF,EAAoBH,EAAWI,KAAKxD,IAAC,IAAWA,EAAGyD,EAAG,EAAGC,EAAG,MAChE,GAAIH,EAAQpF,SAAWkF,EAAOC,EAC5BC,EAAUA,EAAQC,KAAI,CAACxD,EAAG2D,KAAM,IAC3B3D,EACHyD,EAAIE,EAAIN,EAAQ,EAChBK,EAAGE,SAAS,GAAGD,EAAIN,GAAU,UAE1B,CACL,MAAMQ,EAASR,GAAQC,EAAO,GACxBQ,EAAOP,EAAQpF,OAAS0F,EAC9B,IAAK,IAAI7D,EAAI,EAAGA,EAAI6D,EAAQ7D,IAAK,CAC/B,MAAM+D,EAAIR,EAAQvD,GAClB+D,EAAEN,EAAKzD,EAAIqD,EAAQ,EACnBU,EAAEL,EAAIE,SAAS,GAAG5D,EAAIqD,GAAU,CAClC,CACA,IAAK,IAAIW,EAAI,EAAGA,EAAIF,EAAO,EAAGE,IAAK,CACjC,MAAMC,EAAIV,EAAQS,EAAIH,GACpBK,EAAIX,EAAQA,EAAQpF,OAAS,EAAI6F,GACnCC,EAAER,EAAIO,EAAI,EACVC,EAAEP,EAAIJ,EACFW,IAAMC,IACRA,EAAET,EAAIJ,EAAOW,EACbE,EAAER,EAAIJ,EAEV,CACF,CACA,OAAOC,CAAO,EAEHY,EAAoBA,CAC/BC,EACAC,EACAhB,EACAC,KAEA,MAAMgB,EAAW,IAAIC,EAAAA,IAKrB,OAJAD,EAASvF,SAAS0E,EAChBW,EAAKX,EAAIY,EAASG,YAAcnB,EAAO,EAAI,IAAOgB,EAASG,WAC7DF,EAASvF,SAAS2E,GACfU,EAAKV,EAAIW,EAASI,aAAenB,EAAO,EAAI,IAAOe,EAASI,YACxDH,CAAQ,EAuBJI,EAAoBA,CAC/BN,EACAC,EACAhB,EACAC,EACAqB,EACAC,KAEA,MAAMN,EAAW,IAAIC,EAAAA,IACfM,EAAS,IAAI7G,EAAAA,IACbe,EA9B4B+F,EAClCV,EACAC,EACAhB,EACAC,EACAqB,KAEA,MAAM5F,EAAqB,CACvB0E,EAAG,EACHC,EAAG,EACH1B,EAAG,GAEL+C,EAAInB,SAAS,GAAGP,EAAOgB,EAASG,WAAa,MAAUG,EAAQvE,KAAK0C,IACpEkC,EAAI3B,EAAO,EAAI,GAKjB,OAJAtE,EAAS0E,EAAIsB,EAAI3E,KAAK6E,IAAI7E,KAAK0C,IAAM,MAAQsB,EAAKX,EAAIuB,IAAML,EAAQtB,MACpEtE,EAAS2E,GACNU,EAAKV,EAAIW,EAASI,aAAenB,EAAO,EAAI,IAAOe,EAASI,YAC/D1F,EAASiD,EAAI+C,EAAI3E,KAAKC,KAAK0E,EAAIA,EAAIhG,EAAS0E,EAAI1E,EAAS0E,GAClD1E,CAAQ,EAYE+F,CAAqBV,EAAMC,EAAUhB,EAAMC,EAAMqB,GAQlE,OAPAL,EAASvF,SAAS0E,EAAI1E,EAAS0E,EAC/Ba,EAASvF,SAAS2E,EAAI3E,EAAS2E,EAC/BY,EAASvF,SAASiD,EAAIjD,EAASiD,EAC/B6C,EAAOpB,EAAI,EACXoB,EAAOnB,EAAIY,EAASvF,SAAS2E,EAC7BmB,EAAO7C,EAAI4C,EACXN,EAASY,OAAOL,GACTP,CAAQ,EAEJa,EAAwBA,CACnCC,EACAC,EACAC,EACAnH,KAEA,MAAM4G,EAAIM,EAAO7G,OAAS,EAAI6G,EAAOE,OACnCP,GAAKK,EAAOxD,MAAQ,EAAIwD,EAAOE,QAAUH,EAAOI,OAChD7B,EACG,GAAMvD,KAAKqF,IAAIT,EAAGD,GAAM3E,KAAKsF,IAAKN,EAAOO,IAAMvF,KAAK0C,GAAM,KAC3DuC,EAAOrD,EACX,IAAI4D,EAAI,EAMR,OALAN,EAAeO,SAAQ,SAAUC,GAC/B3H,GAAUiC,KAAK2F,IAAIC,MAAM,KAAMF,EAAEG,WAC/B9H,GAAUiC,KAAKqF,IAAIO,MAAM,KAAMF,EAAEG,YAChCL,EAAIE,EAAEI,SACX,IACO9F,KAAKqF,IAAIG,EAAGjC,EAAE,EAEVwC,EAAkBA,CAC7BC,EACAC,KAEA,MAAMC,EAAwB,GACxBC,EAAWH,EAAOG,SAOxB,OANAC,MAAMC,QAAQJ,IACZA,EAAclI,QACdkI,EAAcR,SAAQ,SAAUlC,GAC7B4C,EAASG,MAAQ/C,EAAEgD,QAAUJ,EAASG,MAAQ/C,EAAEiD,QAC/CN,EAAU/I,KAAKoG,EACnB,IACK2C,CAAS,EAELO,EAAqBA,CAChCC,EACAC,KAEA,MAAMC,EAAcD,EAAQE,cACtBC,EAAQJ,EAAEK,eAA6BC,MAC1CC,GAASA,aAAI,EAAJA,EAAMC,aAElB,IAAIJ,aAAI,EAAJA,EAAMH,WAAYC,EAAa,OAAOE,EAC1C,MAAMK,EAAYlJ,SAASmJ,iBAAiBV,EAAEW,QAASX,EAAEY,SACnDd,EAASW,aAAS,EAATA,EAAWD,WAAWE,iBACnCV,EAAEW,QACFX,EAAEY,SAEJ,OAAId,aAAM,EAANA,EAAQG,WAAYC,EAAoBJ,EACrC,IAAI,E,mCC7ab,MAAMtB,EAAmC,CACvC,CACEW,SAAU,CAAC,EAAG,IACdC,SAAU,KAEZ,CACED,SAAU,CAAC,GAAI,IACfC,SAAU,MAEZ,CACED,SAAU,CAAC,GAAI,IACfC,SAAU,MAEZ,CACED,SAAU,CAAC,GAAI,KACfC,SAAU,MAEZ,CACED,SAAU,CAAC,IAAK,KAChBC,SAAU,MAEZ,CACED,SAAU,CAAC,IAAK,KAChBC,SAAU,OAGRP,EAAM,GACNhB,EAAQ,IACRgD,EAAa,IACbC,EAAiB,IAEjBC,EAAgBA,CACpB1J,EACAkG,EACAkB,EACAuC,KAEA,MAAMzE,EAAOjD,KAAK2H,KAChB3H,KAAKC,KAAMlC,EAASkG,EAASI,aAAgBqD,EAAUzD,EAASG,cAE5DlB,EAAOlD,KAAK2H,KAAK5J,EAASkF,GAC1BuB,EACJhB,SAAS,GAAGP,EAAOgB,EAASG,WAAa,MAAUG,EAAQvE,KAAK0C,IAKlE,MAAO,CACLO,OACAC,OACAsB,SACAS,OAAQ,CACNxD,MARF,EAAI+C,EAASxE,KAAK6E,IAAK7E,KAAK0C,IAAM6B,EAAQ,GAAM,KAAON,EAASG,WAS9DhG,OARW8E,EAAOe,EAASI,YAS3Bc,SACAvD,EATM4C,EAASA,EAASxE,KAAK4H,IAAK5H,KAAK0C,IAAM6B,EAAQ,GAAM,MAW9D,EAGGsD,GAAoBC,EAAAA,EAAAA,WACxB,kCAGK,SAASC,EAAetI,GAC7B,MAAM,UACJyG,EAAS,wBACT8B,EAAuB,YACvBC,EAAW,kBACXC,EAAiB,kBACjBC,EAAiB,gBACjBC,EAAe,eACfC,EAAc,cACdC,EAAa,SACbrE,EAAQ,0BACRsE,EAAyB,gBACzBC,EAAe,YACfC,EAAW,SACXC,EAAQ,YACRC,EAAW,iBACXC,GACEnJ,GACGoJ,EAAyBC,IAC9BC,EAAAA,EAAAA,UAAkB,MAEdC,GAAeC,EAAAA,EAAAA,UACfC,GAAaD,EAAAA,EAAAA,UACbE,GAAcF,EAAAA,EAAAA,UACdG,GAAUH,EAAAA,EAAAA,UACVI,GAAgBJ,EAAAA,EAAAA,UAChBK,GAAaL,EAAAA,EAAAA,UASbM,GAAcN,EAAAA,EAAAA,UACdO,GAAWP,EAAAA,EAAAA,UACXQ,GAAYR,EAAAA,EAAAA,UACZS,GAAcT,EAAAA,EAAAA,UACdU,GAAiBV,EAAAA,EAAAA,UACjBW,GAAaX,EAAAA,EAAAA,QAAgB,CACjCY,MAAO,GACPC,MAAO,KAEHC,IAAad,EAAAA,EAAAA,QAAsB,IACnCe,IAAiBf,EAAAA,EAAAA,QAAsB,IACvCgB,IAAgBhB,EAAAA,EAAAA,QAAe,GAC/BiB,IAAqBjB,EAAAA,EAAAA,QAAe,KAEpCkB,IAAYlB,EAAAA,EAAAA,QAAmB,CACnChG,KAAM,EACNC,KAAM,EACNsB,OAAQ,EACRS,OAAQ,CACNxD,MAAO,EACPrD,OAAQ,EACR+G,OAAQwD,EACR/G,EAAG,KAGDwI,IAAiBnB,EAAAA,EAAAA,QAAuB,CAC5CoB,QAAS,KACTC,eAAgB,KAChBC,cAAe,KACfC,WAAY,KACZC,cAAe,KACfC,eAAe,EACfC,eAAe,EACfC,iBAAiB,EACjBC,QAAQ,IAGJC,IAASC,EAAAA,EAAAA,cAAY,KACzBxB,EAAYyB,QAAQF,OAAOtB,EAASwB,QAASvB,EAAUuB,SACvDtB,EAAYsB,QAAQC,YAClBf,GAAmBc,QAAUxD,EAC/BkC,EAAYsB,QAAQE,cAAc,GACjC,IAmMGC,GAAuBC,IAAqC,IAAAC,EAChE,GAA2B,QAAvBA,EAACjB,GAAeY,eAAO,IAAAK,IAAtBA,EAAwBhB,QAAS,OAAOe,aAAU,EAAVA,IAC7C,MAAM,YACJE,EACAC,QAASC,EAAQ,WACjBC,GACErB,GAAeY,QAAQX,QAG3B,IAAIqB,EAAAA,EAAMJ,EAAYK,UACnBC,GACC,CACEvI,EAAGmI,EAASG,SAAStI,EACrBC,EAAGkI,EAASG,SAASrI,EACrB1B,EAAG4J,EAASG,SAAS/J,GAPV,KAWdxC,QACH,IAAIsM,EAAAA,EAAMJ,EAAYO,OACnBD,GACC,CACEvI,EAAG,EACHC,EAAG,EACH1B,EAAG,GAjBQ,KAqBdxC,QACH,IAAIsM,EAAAA,EAAMJ,EAAY3M,UACnBiN,GACC,CACEvI,EAAGmI,EAAS7M,SAAS0E,EACrBC,EAAGkI,EAAS7M,SAAS2E,EACrB1B,EAAG4J,EAAS7M,SAASiD,GA3BV,KA+BdkK,SAAShB,IACTiB,SAAQ,KAAM,IAAAC,EACK,iCAAlB1D,GACEgD,EAAYjB,QAAQhM,UAAU4N,OAC5B,UAAUR,EAAWS,QAAU,iBAEjB,QAAlBF,EAAAjC,GAAWiB,eAAO,IAAAgB,GAAlBA,EAAoBvG,SAAS0G,IAC3BA,EAAK9B,QAAQlM,MAAMiO,QAAU,GAAG,IAElCpC,GAAegB,QAAQvF,SAASlH,IAC9BiL,EAASwB,QAAQiB,OAAO1N,EAAW,IAErCyL,GAAegB,QAAU,GACzBF,IAAQ,IAETM,YAAW,KAAM,IAAAiB,EAChBjC,GAAeY,QAAQJ,iBAAkB,EACzCQ,SAAAA,EAAmC,QAAzBiB,EAAGjC,GAAeY,eAAO,IAAAqB,OAAA,EAAtBA,EAAwBhC,QAAQ,IAE9CjL,OAAO,EAGNkN,GAAYA,CAACC,EAAqBC,KACtCpC,GAAeY,QAAQH,QAAS,EAChC,IAAK,IAAItH,EAAI,EAAGA,EAAIwG,GAAWiB,QAAQjN,OAAQwF,IAAK,CAClD,MAAMyC,EAAS+D,GAAWiB,QAAQzH,GAC5BiD,EAAS+F,EAAQhJ,GAEvB,IAAImI,EAAAA,EAAM1F,EAAOrH,UACdiN,GACC,CACEvI,EAAGmD,EAAO7H,SAAS0E,EACnBC,EAAGkD,EAAO7H,SAAS2E,EACnB1B,EAAG4E,EAAO7H,SAASiD,GAErB6K,EAAAA,IAAUC,UAAUF,EAAqB,EAAXA,IAE/BG,OAAOC,EAAAA,GAAOC,YAAYC,OAC1B1N,QAEH,IAAIsM,EAAAA,EAAM1F,EAAO2F,UACdC,GACC,CACEvI,EAAGmD,EAAOmF,SAAStI,EACnBC,EAAGkD,EAAOmF,SAASrI,EACnB1B,EAAG4E,EAAOmF,SAAS/J,GAErB6K,EAAAA,IAAUC,UAAUF,EAAqB,EAAXA,IAE/BG,OAAOC,EAAAA,GAAOC,YAAYC,OAC1B1N,OACL,CAEA,IAAIsM,EAAAA,EAAM,CAAC,GACRE,GAAG,CAAC,EAAc,EAAXY,GACPV,SAAShB,IACT1L,QACAgM,YAAW,KACVhB,GAAeY,QAAQH,QAAS,CAAI,GACpC,EA4DAkC,GAAsBC,IAC1BtD,EAAYsB,QAAQiC,QACpB,MAAMjH,EAASoE,GAAeY,QAAQX,QAAQiB,YACxC9E,EAAS4D,GAAeY,QAAQX,QAAQkB,QAC9CnB,GAAeY,QAAQH,QAAS,EAChCT,GAAeY,QAAQL,eAAgB,EAEvC,MAAMuC,EAAI,CACR7J,EAAGmD,EAAO7H,SAAS0E,EAAI,EAAI,GAAKY,EAASxC,MAAQ,EAAIwC,EAASxC,MAC9D6B,EAAG,EACH1B,GAAI6H,EAAUuB,QAAQrM,SAASiD,EAAI,KAAO,KAEtCuL,EAAI,CACR9J,EAAG,EACHC,EAAG,EACH1B,EAAG6H,EAAUuB,QAAQrM,SAASiD,EAAI,KAE9BgC,EAAI,CACRP,EAAG,EACHC,EAAGkD,EAAOmF,SAASrI,EAAI,EAAgB,IAAVtD,KAAK0C,GAAW,IAAiB,GAAV1C,KAAK0C,GAAW,IACpEd,EAAG,GAEChC,EAAI,CACRyD,EAAG,EACHC,EAAGkD,EAAOmF,SAASrI,EAAI,EAAgB,KAAVtD,KAAK0C,GAAY,IAAiB,IAAV1C,KAAK0C,GAAY,IACtEd,EAAG,GAEC2B,EAAI,IAAImI,EAAAA,EAAM1F,EAAOrH,UACrByO,EAAI,IAAI1B,EAAAA,EAAM1F,EAAO2F,UACrBnG,EAAI,IAAIkG,EAAAA,EAAM1F,EAAOrH,UACrB0O,EAAI,IAAI3B,EAAAA,EAAM1F,EAAO2F,UAgCpB,IAAA2B,EA/BHN,GAEFzJ,EAAEqI,GAAGsB,EAAG,KACLP,SACAvB,YAAW,KACV/B,EAAc2B,QAAQuC,QAAS,EAC/BnD,GAAeY,QAAQX,QAAQlM,MAAMiO,QAAU,GAAG,IAEtDgB,EAAExB,GAAGhI,EAAG,KAAK+I,SACbnH,EAAEoG,GACA,CACEvI,EAAGmD,EAAO7H,SAAS0E,EACnBC,EAAGkD,EAAO7H,SAAS2E,EACnB1B,EAAG4E,EAAO7H,SAASiD,GAErB,KACA+K,SACFU,EAAEzB,GACA,CACEvI,EAAGmD,EAAOmF,SAAStI,EACnBC,EAAGkD,EAAOmF,SAASrI,EACnB1B,EAAG4E,EAAOmF,SAAS/J,GAErB,KAEC+K,SACAvB,YAAW,KAAM,IAAAoC,EACE,QAAlBA,EAAAzD,GAAWiB,eAAO,IAAAwC,GAAlBA,EAAoB/H,SAAS0G,IAC3BA,EAAK9B,QAAQlM,MAAMiO,QAAU,GAAG,GAChC,MAIY,QAAlBkB,EAAAvD,GAAWiB,eAAO,IAAAsC,GAAlBA,EAAoB7H,SAAS0G,IACvBnG,GAAUmG,IACZA,EAAK9B,QAAQlM,MAAMiO,QAAU,MAC/B,IAEF7I,EAAEqI,GAAGsB,EAAG,KACLP,SACAZ,SAAQ,KAEP3C,EAAQ4B,QAAQuC,QAAS,EACzBlE,EAAc2B,QAAQuC,QAAS,CAAI,IAEvCH,EAAExB,GAAGhI,EAAG,KAAK+I,SACbnH,EAAEoG,GAAGuB,EAAG,KACLR,SACAZ,SAAQ,WACP3B,GAAeY,QAAQX,QAAQlM,MAAMiO,QAAU,IAC/C/C,EAAc2B,QAAQ7M,MAAMsP,WAAa,2BACzCpE,EAAc2B,QAAQuC,QAAS,CACjC,IACFF,EAAEzB,GAAGhM,EAAG,KAAK+M,UAEfpJ,EAAEmK,MAAMlI,GAAGpG,QACXgO,EAAEM,MAAML,GAAGjO,QACX,IAAIsM,EAAAA,EAAM,CAAC,GACRE,GAAG,CAAC,EAAG,MACPE,UAAS,KAER,GADAhB,KACI9K,KAAK2N,IAAI3H,EAAO2F,SAASrI,IAAMtD,KAAK0C,GAAK,EAAG,CAC9C,MAAMkL,EAAOxD,GAAeY,QAAQX,QAAQwD,wBACtChC,EAAQ,KACRpK,EAAQmM,EAAKnM,MAAQoK,EACrBzN,EAASwP,EAAKxP,OAASyN,EAC7BxC,EAAc2B,QAAQ7M,MAAMsD,MAAQ,GAAGA,MACvC4H,EAAc2B,QAAQ7M,MAAMC,OAAS,GAAGA,MACxCiL,EAAc2B,QAAQ7M,MAAM2P,IAC1BF,EAAKE,KAAQjC,EAAQ,GAAKzN,EAAU,EADJ,KAGlCiL,EAAc2B,QAAQ7M,MAAM4P,KAC1BH,EAAKG,MAASlC,EAAQ,GAAKpK,EAAS,EADH,IAGrC,KAEDrC,QACAgM,YAAW,WACVhB,GAAeY,QAAQH,QAAS,EAChCT,GAAeY,QAAQL,eAAiBqC,EACxC5D,EAAQ4B,QAAQuC,OAASP,CAC3B,GAAE,EAoTN,OAzRAgB,EAAAA,EAAAA,YAAU,KAER,IAAIC,EAleOC,MAAM,IAAAC,EACjB,MAAMC,EACwB,QADXD,EAAGlQ,SACnBoQ,eAAe5F,UAAY,IAAA0F,OAAA,EADRA,EAElBN,wBACEpM,GAAQ2M,aAAa,EAAbA,EAAe3M,QAAS6M,OAAOC,WACvCnQ,GAASgQ,aAAa,EAAbA,EAAehQ,SAAUkQ,OAAOE,YACzCpJ,EAAS3D,EAAQrD,EACjBqQ,EAAQ,IAAIC,EAAAA,IACZ1J,EAAS,IAAI2J,EAAAA,IAAkBpJ,EAAKH,EAAQ,GAAK,KAEjDwJ,EAAW,IAAIC,EAAAA,GACrBD,EAASE,QAAQrN,EAAOrD,GACxB8K,EAAW8B,QAAQ+D,gBAAgBH,EAASI,YAE5C,MAAMC,EAAW,IAAIC,EAAAA,EAAkBlK,EAAQ4J,EAASI,YACxDC,EAASE,YAAc,GACvBF,EAASG,YAAc,IACvBH,EAAShE,YAAc,IACvBgE,EAASvG,SAAWA,EAEpBc,EAASwB,QAAUyD,EACnBhF,EAAUuB,QAAUhG,EACpB0E,EAAYsB,QAAUiE,EACtB1F,EAAYyB,QAAU4D,CAAQ,EA0c9BV,GAEA,MAAMmB,EAAUA,KACdpB,EAASqB,sBAAsBD,GAC/BE,EAAAA,GAAAA,SACA7F,EAAYsB,QAAQwE,QAAQ,EAE9BH,IACA,MAAMhO,EAAYoH,EACdxK,SAASoQ,eAAe5F,GACxBxK,SAASwR,KAEPC,EAAW,IAAIC,gBACnBC,EAAAA,EAAAA,WAAS,KACP,MAAM,MAAEnO,EAAK,OAAErD,GAAWiD,EAAUwM,wBACpCpE,EAAUuB,QAAQ5F,OAAS3D,EAAQrD,EACnCqL,EAAUuB,QAAQ6E,yBAClBtG,EAAYyB,QAAQ8D,QAAQrN,EAAOrD,GACnC0M,IAAQ,GACP,MAIL,OAFApB,EAAYsB,QAAQ8E,iBAAiB,SAAUhF,IAC/C4E,EAASK,QAAQ1O,GACV,KACLqO,EAASM,aACTtG,EAAYsB,QAAQiF,oBAAoB,SAAUnF,IAClDpB,EAAYsB,QAAQkF,UACpBX,EAAAA,GAAAA,YACA9F,EAAUuB,QAAQmF,QAClB3G,EAASwB,QAAQmF,QACjBC,qBAAqBnC,EAAO,CAC7B,GACA,KAEHD,EAAAA,EAAAA,YAAU,KAAM,IAAAqC,EACd,MAAMtS,GAAyB,QAAhBsS,EAAA5Q,EAAMuD,kBAAU,IAAAqN,OAAA,EAAhBA,EAAkBtS,SAAU,EAC3C,GAAIA,EAAS,EAAG,CA9gBQA,KACxBoM,GAAUa,QAAUvD,EAClB1J,EACAkG,EACA0E,EACA,EAAIc,EAAUuB,QAAQ5F,OACvB,EAygBCkL,CAAiBvS,GACjBmM,GAAmBc,QAAUjG,EAC3B0E,EAAUuB,QACVb,GAAUa,QAAQ/F,OAClBiD,EAAoBhD,EAAiB,GACrCnH,GAEF0L,EAAUuB,QAAQrM,SAASiD,EAAIsI,GAAmBc,QAClDvB,EAAUuB,QAAQ6E,yBAClBnG,EAAYsB,QAAQuF,UAAU3R,KAAK6K,EAAUuB,QAAQrM,UAErCoE,EACdtD,EAAMuD,WACNmH,GAAUa,QAAQ/H,KAClBkH,GAAUa,QAAQ9H,MAzfhBuC,SAASzB,IAAS,IAAAwM,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACtB,MAAMzG,EAAUpM,SAASC,cACvBoK,GAEF+B,EAAQ6B,OAASlI,EAAKkI,OACtB7B,EAAQ0G,UAA8B,QAArBP,EAAGxM,EAAKgN,qBAAa,IAAAR,OAAA,EAAlBA,EAAoBO,UACxC1G,EAAQ4G,YAAgC,QAArBR,EAAGzM,EAAKgN,qBAAa,IAAAP,OAAA,EAAlBA,EAAoBQ,YAC1C5G,EAAQ6G,WAA+B,QAArBR,EAAG1M,EAAKgN,qBAAa,IAAAN,OAAA,EAAlBA,EAAoBQ,WACzC7G,EAAQ8G,MAA0B,QAArBR,EAAG3M,EAAKgN,qBAAa,IAAAL,OAAA,EAAlBA,EAAoBQ,MACpC9G,EAAQ+G,WAA+B,QAArBR,EAAG5M,EAAKgN,qBAAa,IAAAJ,OAAA,EAAlBA,EAAoBQ,WACzC/G,EAAQgH,SAA6B,QAArBR,EAAG7M,EAAKgN,qBAAa,IAAAH,OAAA,EAAlBA,EAAoBQ,SACvChH,EAAQiH,gBAAoC,QAArBR,EAAG9M,EAAKgN,qBAAa,IAAAF,OAAA,EAAlBA,EAAoBQ,gBAC9C,MAAMC,EAAc,WAAUvN,aAAI,EAAJA,EAAMkI,SAAU,WAC9C7B,EAAQ/J,UAAY,wBAAwBiR,IAC5ClH,EAAQlM,MAAMsD,MAAQ,GAAGwC,EAASxC,UAClC4I,EAAQlM,MAAMC,OAAS,GAAG6F,EAAS7F,WACnCiM,EAAQhM,UAAUC,IAAI,kBAEtB,MAAMkT,EAAY,IAAIhT,EAAAA,GAAY6L,GAClCmH,EAAU7S,SAAS4C,IACjB,IAAMvB,KAAKyR,SAAW,IACtB,IAAMzR,KAAKyR,SAAW,IACtB,IAAMzR,KAAKyR,SAAW,KAGxBjI,EAASwB,QAAQ1M,IAAIkT,GACrBzH,GAAWiB,QAAQ7N,KAAKqU,GAExB,MAAM3H,EAAQ9F,EACZC,EACAC,EACAkG,GAAUa,QAAQ/H,KAClBkH,GAAUa,QAAQ9H,MAEpB0G,EAAWoB,QAAQnB,MAAM1M,KAAK0M,GAC9B,MAAMC,EAAQxF,EACZN,EACAC,EACAkG,GAAUa,QAAQ/H,KAClBkH,GAAUa,QAAQ9H,KAClBqB,EACA4F,GAAUa,QAAQxG,QAEpBoF,EAAWoB,QAAQlB,MAAM3M,KAAK2M,GAE9B0H,EAAUrL,SAAWnC,EACrBqG,EAAQiB,YAAckG,EACtBnH,EAAQoB,WAAazH,EACrBqG,EAAQkB,QAAUzB,CAAK,IA4cvBwC,GAAU1C,EAAWoB,QAAQlB,MAAO,IACtC,CAEA,MAAO,KAlFPJ,EAAYsB,QAAQiC,QACpBsC,EAAAA,GAAAA,YACAxF,GAAWiB,QAAQ5H,KAAKoC,IACtBgE,EAASwB,QAAQiB,OAAOzG,EAAE,IAE5BuE,GAAWiB,QAAU,GACrBpB,EAAWoB,QAAU,CACnBnB,MAAO,GACPC,MAAO,IAGTM,GAAeY,QAAU,CACvBX,QAAS,KACTC,eAAgB,KAChBC,cAAe,KACfC,WAAY,KACZC,cAAe,KACfI,QAAQ,EACRF,eAAe,EACfD,eAAe,EACfE,iBAAiB,EA+DN,CACZ,GACA,CAACnL,EAAMuD,WAAYkF,KAEtB8F,EAAAA,EAAAA,YAAU,KACR,GAAIpF,EAAkB,CACpB,MAAMyB,EAAUpM,SAASC,cAAc,0BACvCoL,EAAW0B,QAAUX,EACrBpM,SAASyT,cAAc,qBAAqBnR,YAAY8J,EAC1D,IACC,CAACzB,KAEJoF,EAAAA,EAAAA,YAAU,KACR,MAAM3M,EAAY2H,EAAagC,QACzB2G,EAAmBjL,IAEvB,GADAkL,aAAaxH,GAAeY,QAAQV,gBAElCF,GAAeY,QAAQL,eACvBP,GAAeY,QAAQN,gBACtBN,GAAeY,QAAQH,OAExB,OAAO,EACT,MAAMrE,EAASC,EAAmBC,EAAG4B,GACrC,GAAIM,EAAkB,KAAAiJ,EAAAC,EACpB,MAAMC,GACc,QAAlBF,EAAAvI,EAAW0B,eAAO,IAAA6G,OAAA,EAAlBA,EAAoBG,cACpBxL,SAAkB,QAAZsL,EAANtL,EAAQiF,kBAAU,IAAAqG,GAAM,QAANA,EAAlBA,EAAoB9N,YAAI,IAAA8N,OAAA,EAAxBA,EAA0BE,YAEvBxL,GAAWuL,GACdzI,EAAW0B,QAAQiH,YAAW,EAElC,CACA7H,GAAeY,QAAQV,eAAiBgE,OAAO4D,YAAW,KACxD/G,IAAoB,KAClB3E,IACG4D,GAAeY,QAAQL,eA1cEnE,KAClC,MAAM,YAAE8E,EAAW,WAAEG,GAAejF,EAC9B2L,EAAY7G,EAAYK,SAASrI,EACjC8O,EAAiB9G,EAAYjB,QAAQwD,wBACrClP,EAAqB,CACzB0E,EAAGiI,EAAY3M,SAAS0E,EAAI,GAAKrD,KAAK6E,IAAIsN,GAC1C7O,EAAGgI,EAAY3M,SAAS2E,EAAI,GAC5B1B,EAAG0J,EAAY3M,SAASiD,EAAI,IAAM5B,KAAK4H,IAAIuK,IAGvCtG,EACFuG,EAAe3Q,OAASwC,EAASxC,MAC7BwI,GAAce,QACdhL,KAAK2F,IACH1B,EAASxC,MAAQ2Q,EAAe3Q,MAChCwC,EAAS7F,OAASgU,EAAehU,QAG3CgM,GAAeY,QAAQJ,iBAAkB,EACzC,IAAIc,EAAAA,EAAMJ,EAAYK,UASnBI,SAAQ,KACW,iCAAlBzD,GACEgD,EAAYjB,QAAQhM,UAAUC,IAC5B,UAAUmN,EAAWS,QAAU,gBAChC,IAEJ9M,QACH,IAAIsM,EAAAA,EAAMJ,EAAYO,OACnBD,GACC,CACEvI,EAAGwI,EACHvI,EAAGuI,EACHjK,EAAGiK,GAvBI,KA2BVzM,QAEH,IAAIsM,EAAAA,EAAMJ,EAAY3M,UACnBiN,GAAGjN,EA9BO,KA+BVmN,SAAShB,IACTM,YAAW,WAMV,GA5FuBpF,KAAwB,IAAAqM,EACnD,MAAMC,EAAevM,EAAgBC,EAAQE,GACvCC,EAAWH,EAAOG,SACxB,IAAI5H,EAAyBgU,EAC7BD,SAAAA,EAAc7M,SAAS+M,IACjBA,EAASjM,SAAWJ,EAASG,KAE/BiM,EAAaxI,GAAWiB,QAAQhE,MAC7BxB,GAAMA,EAAEW,SAASG,MAAQkM,EAAShM,SAErCjI,EACEgU,GACAhV,EAAmByI,EAAOrH,SAAU4T,EAAW5T,SAAU,UAE3D4T,EAAaxI,GAAWiB,QAAQhE,MAC7BxB,GAAMA,EAAEW,SAASG,MAAQkM,EAASjM,SAErChI,EACEgU,GACAhV,EAAmBgV,EAAW5T,SAAUqH,EAAOrH,SAAU,WAExDJ,IACLyL,GAAegB,QAAQ7N,KAAKoB,GAC5BiL,EAASwB,QAAQ1M,IAAIC,GAAW,IAEhB,QAAlB8T,EAAAtI,GAAWiB,eAAO,IAAAqH,GAAlBA,EAAoB5M,SAAS0G,IAEzBnG,GAAUmG,GACVmG,EAAaG,OACVrF,GAAMA,EAAE7G,QAAU4F,EAAKhG,SAASG,KAAO8G,EAAE5G,QAAU2F,EAAKhG,SAASG,QAGpE6F,EAAK9B,QAAQlM,MAAMiO,QAAU,MAC/B,GACA,EAsDEsG,CAAoBpH,GACpBR,KACAV,GAAeY,QAAQX,QAAU7D,EAE7BoC,EAAkB,KAAA+J,EACpB,MAAM/E,EAAOpH,EAAOqH,wBACd+E,EAAUhF,EAAKG,KAAOH,EAAKnM,MAAQ,EACnCoR,EAAUjF,EAAKE,IAAMF,EAAKxP,OAAS,EAEzCkL,EAAW0B,QAAQgH,WAAaxL,SAAkB,QAAZmM,EAANnM,EAAQiF,kBAAU,IAAAkH,GAAM,QAANA,EAAlBA,EAAoB3O,YAAI,IAAA2O,OAAA,EAAxBA,EAA0BX,WAC1D1I,EAAW0B,QAAQ8H,YAAY,CAAEzP,EAAGuP,EAAStP,EAAGuP,IAChDvJ,EAAW0B,QAAQiH,YAAW,EAChC,CACF,IACC7S,OAAO,EA0YF2T,CAA2BvM,GAC7BoL,aAAaxH,GAAeY,QAAQV,eAAe,GACnD,GACD,IAAI,EAGH0I,EAAkBtM,IACtB,GACE0D,GAAeY,QAAQL,eACvBP,GAAeY,QAAQN,gBACtBN,GAAeY,QAAQH,OAExB,OAAO,EACT,MAAMrE,EAASC,EAAmBC,EAAG4B,GACrC,GAAIM,EAAkB,KAAAqK,EACpB,MAAMlB,EACJzI,EAAW0B,QAAQgH,aAAcxL,SAAkB,QAAZyM,EAANzM,EAAQiF,kBAAU,IAAAwH,GAAM,QAANA,EAAlBA,EAAoBjP,YAAI,IAAAiP,OAAA,EAAxBA,EAA0BjB,YAExDxL,GAAWuL,GACdzI,EAAW0B,QAAQiH,YAAW,EAElC,GAGIiB,EAAexM,IAGnB,GAFAkL,aAAaxH,GAAeY,QAAQR,YACpCoH,aAAaxH,GAAeY,QAAQV,gBAElCF,GAAeY,QAAQL,eACvBP,GAAeY,QAAQN,gBACtBN,GAAeY,QAAQH,OAExB,OAAO,EAET,MAAMrE,EAASC,EAAmBC,EAAG4B,GACrC8B,GAAeY,QAAQR,WAAa8D,OAAO4D,YAAW,WACpDN,aAAaxH,GAAeY,QAAQV,gBACpCa,IAAoB,KACd3E,IACFoL,aAAaxH,GAAeY,QAAQR,YACpCoH,aAAaxH,GAAeY,QAAQV,gBACpC5D,EAAEyM,kBACF/I,GAAeY,QAAQX,QAAU7D,EAC7B+B,EACFC,SAAAA,EAAkBhC,EAAOiF,aAEzB3C,EAA2BtC,EAAOiF,YAClCsB,IAAmB,IAEvB,GAEJ,GAAG,IAAI,EAEHqG,EAAiB1M,IAIrB,GAHAkL,aAAaxH,GAAeY,QAAQR,YACpCoH,aAAaxH,GAAeY,QAAQV,gBACpCsH,aAAaxH,GAAeY,QAAQP,eAElCL,GAAeY,QAAQL,eACvBP,GAAeY,QAAQN,gBACtBN,GAAeY,QAAQH,OAExB,OAAO,EAET,MAAMrE,EAASC,EAAmBC,EAAG4B,IAC/B,WAAEmD,EAAU,YAAEH,GAAgB9E,EACpC4D,GAAeY,QAAQN,eAAgB,EACvCN,GAAeY,QAAQP,cAAgB6D,OAAO4D,YAAW,WACvD/G,IAAoB,KAAM,IAAAkI,EACxB,GACEpL,IAC2B,QAA3BoL,EAAA5H,EAAW6H,wBAAgB,IAAAD,GAAU,QAAVA,EAA3BA,EAA6BtS,gBAAQ,IAAAsS,OAAA,EAArCA,EAAuCtV,QAAS,EAEhDoK,EAAkBsD,GAClBrB,GAAeY,QAAQN,eAAgB,OAEvC,GAAIlE,EAAQ,CACVoL,aAAaxH,GAAeY,QAAQV,gBACpCsH,aAAaxH,GAAeY,QAAQR,YACpCtB,EAAW8B,QAAQ3M,UAAUC,IAAI,kBACjCoL,EAAYsB,QAAQiC,QACpB,MAAMsG,EAAe,CACnBnH,QAAS,EACTP,MAAO,EACP2H,gBAAiB,EACjBC,iBAAkB,EAClBC,eAAgB,EAChBC,kBAAmB,GAEfhQ,EAAI,CACRN,EAAGiI,EAAY3M,SAAS0E,EACxBC,EACE,IACAW,EAAS7F,QAAU+L,GAAUa,QAAQ9H,KAAOuI,EAAWnI,IAErDqB,EAAI,IAAI+G,EAAAA,EAAMjC,EAAUuB,QAAQrM,UAChCiG,EAAI,IAAI8G,EAAAA,EAAM6H,GACdhQ,EAAI,IAAImI,EAAAA,EAAM,CAClB9J,EAAG,IAECwL,EAAI,IAAI1B,EAAAA,EAAMjC,EAAUuB,QAAQrM,UAChC6G,EAAI,IAAIkG,EAAAA,EAAMhC,EAAYsB,QAAQxE,QAClC6G,EAAI,IAAI3B,EAAAA,EAAM,CAClBkI,KAAM,GACNC,OAAQ,IAEVvH,GAAU1C,EAAWoB,QAAQnB,MAAO,KACpClF,EAAEiH,GACA,CACEvI,EAAG,EACHC,GAAI,KACJ1B,EAAG,MAEL,KACA8L,MAAML,EAAGzI,EAAGrB,GACdqB,EAAEgH,GACA,CACEQ,QAAS,GAEX,KACAL,SAAQ,KAAM,IAAA+H,EAAAC,EAAAC,EAAAC,EAAAC,EACd,MAAM5S,EAAkBV,EAAwB,CAC9CC,WAAY,CACVY,MAAOwC,EAASxC,MAChBrD,OAAQ6F,EAAS7F,OACjBoD,MAAO,CACL8J,EAAY3M,SAAS0E,EACrBiI,EAAY3M,SAAS2E,EACrBgI,EAAY3M,SAASiD,IAGzBb,SAAqC,QAA7B+S,EAAErI,EAAW6H,wBAAgB,IAAAQ,OAAA,EAA3BA,EAA6B/S,SACvCC,QAAoC,QAA7B+S,EAAEtI,EAAW6H,wBAAgB,IAAAS,OAAA,EAA3BA,EAA6B/S,QACtCI,QAAoC,QAA7B4S,EAAEvI,EAAW6H,wBAAgB,IAAAU,OAAA,EAA3BA,EAA6B5S,QACtCN,YAAwC,QAA7BmT,EAAExI,EAAW6H,wBAAgB,IAAAW,OAAA,EAA3BA,EAA6BnT,YAC1CI,aAAyC,QAA7BgT,EAAEzI,EAAW6H,wBAAgB,IAAAY,OAAA,EAA3BA,EAA6BhT,aAC3CC,aAAcA,IAAMiH,EAAgBqD,GACpCxK,YAAaA,IAAMoH,EAAeoD,KAEpC9B,EAAeqB,QAAU1J,EACzBkI,EAASwB,QAAQ1M,IAAIgD,EAAgB,IAEvCiC,EAAEqI,GACA,CACEhK,EAAG2F,GAEL,KAEC4M,MAAM,KACNzG,MAAMN,EAAG5H,GAEZ4H,EAAExB,GACA,CACEvI,EAAGM,EAAEN,EACLC,GAAI,KAAOK,EAAEL,GAEf,KAEFkC,EAAEoG,GACA,CACEvI,EAAGM,EAAEN,EACLC,EAAGK,EAAEL,GAEP,KACA8H,YAAW,WACXjC,EAAY6B,QAAQ7M,MAAMiW,WAAa,SACzC,IACAzP,EAAEvF,OACJ,CACF,GAEJ,GAAG,IAAI,EAOT,OAJAiC,EAAUyO,iBAAiB,WAAYsD,GACvC/R,EAAUyO,iBAAiB,QAASoD,GACpC7R,EAAUyO,iBAAiB,YAAa6B,GACxCtQ,EAAUyO,iBAAiB,WAAYkD,GAChC,KACL3R,EAAU4O,oBAAoB,YAAa0B,GAC3CtQ,EAAU4O,oBAAoB,WAAY+C,GAC1C3R,EAAU4O,oBAAoB,QAASiD,GACvC7R,EAAU4O,oBAAoB,WAAYmD,EAAc,CACzD,GACA,CAAC7K,EAA2BC,IAG7B6L,IAAAA,cAAA,OAAK/T,UAAU,oBAAoBgU,IAAKtL,GACtCqL,IAAAA,cAAA,OAAK/T,UAAU,UAAUgU,IAAKpL,IAC9BmL,IAAAA,cAAA,OACE/T,UAAU,OACVgU,IAAKlL,EACLmL,QAASA,KACPnK,GAAeY,QAAQH,QAAUkC,IAAmB,EAAK,EAE3DQ,QAAQ,GAER8G,IAAAA,cAACxM,GAAiB2M,EAAAA,EAAAA,GAAA,GACZ3L,aAAuB,EAAvBA,EAAyB4L,gBAAe,CAC5CF,QAAU7N,GAAMA,EAAEyM,kBAClBD,YAAaA,IAAMlL,EAAwBa,GAC3CyL,IAAKjL,EACL/I,UAAWoU,IAAW,CACpBC,YAAiD,YAApC9L,aAAuB,EAAvBA,EAAyBqD,QACtC0I,eAAoD,aAApC/L,aAAuB,EAAvBA,EAAyBqD,cAI/CmI,IAAAA,cAAA,OACE/T,UAAU,WACVgU,IAAKnL,EACLoL,QAASA,KAtfIM,MACjBtF,EAAAA,GAAAA,YACA,MAGE7I,EAAI,IAAIgF,EAAAA,EAAM,CACZ9J,EAAG,IAEL+C,EAAI,IAAI+G,EAAAA,EANA,CACNU,QAAS,IAMXxH,EAAI,IAAI8G,EAAAA,EAAMjC,EAAUuB,QAAQrM,UAChC4E,EAAI,IAAImI,EAAAA,EAAMhC,EAAYsB,QAAQxE,QAClC4G,EAAI,IAAI1B,EAAAA,EAAM,CACZkI,KAAM,KACNC,OAAQ,MAEZnN,EAAEkF,GACA,CACEhK,EAAG2F,GAEL,KACAmG,MAAM9I,EAAGrB,EAAG6J,GACdzI,EAAEiH,GACA,CACEQ,QAAS,GAEX,KAECL,SAAQ,KACPvC,EAASwB,QAAQiB,OAAOtC,EAAeqB,SACvC7B,EAAY6B,QAAQ7M,MAAMiW,WAAa,QAAQ,IAEhDD,MAAM,KAETvP,EAAEgH,GAAGlC,EAAYsB,QAAQuF,UAAW,KAAKnF,YAAW,WAClD1B,EAAYsB,QAAQiC,QACpB/D,EAAW8B,QAAQ3M,UAAU4N,OAAO,kBACpCK,GAAU1C,EAAWoB,QAAQlB,MAAO,KACpCM,GAAeY,QAAQN,eAAgB,CACzC,IACAnH,EAAEqI,GACA,CACEvI,EAAG,EACHC,EAAG,EACH1B,EAAG,GAEL,KAEFwL,EAAExB,GACA,CACEgI,KAAM,EACNC,OAAQ,GAEV,KAEFnN,EAAEtH,QACFuF,EAAEvF,OAAO,EAgcHyV,EAAY,IAKtB,C,sECx9BI3X,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,sgIAAugI,KAEhjI,QAAeH,EAAwBI,U","sources":["webpack:///./src/app-wall/system-card/system-card.shadow.css","webpack:///./src/app-wall/relation-line/relation-line.shadow.css","webpack:///./src/app-wall/app-wall.shadow.css","webpack:///./src/app-wall/card-item/card-item.shadow.css","webpack:///./src/app-wall/utils.ts","webpack:///./src/app-wall/app-wall.tsx","webpack:///./src/data-view-variables.shadow.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.wrapper{position:relative;width:100%;height:100%;padding:30px 24px 35px;left:0;display:flex;flex-direction:column;border-radius:var(--no-border-radius)}.cardName{font-size:var(--title-font-size-strong);line-height:22px;text-align:center;font-weight:var(--font-weight-500);color:var(--color-normal-text);text-shadow:0 1px 4px rgba(51,102,255,0.5);margin-bottom:35px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.descriptions{flex:1;margin-bottom:20px;font-size:var(--auxiliary-font-size-small);overflow:auto;font-weight:var(--font-weight-400)}.descriptionsItem .itemKey{color:var(--color-secondary-text)}.descriptionsItem .itemValue{color:var(--color-strong-text)}.descriptionsItem{display:flex;gap:10px;margin-bottom:12px}.descriptionsItem>div{flex:1;text-align:left;word-break:break-all}.buttonContent{position:absolute;bottom:16px;right:24px;font-size:var(--auxiliary-font-size);color:#99CCFF;cursor:pointer;font-weight:var(--font-weight-500)}.buttonName{margin-left:5px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:inline-block;width:-moz-fit-content;width:fit-content;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.relation-line{position:relative;width:6px;height:100%;background:var(--color-text-divider-line-1);overflow:hidden}.relation-line::after{content:'';position:absolute;width:100%;height:20%;left:0px;top:0px;animation:lightMove 1000ms ease-in-out infinite,lightOpacity 1000ms ease-in-out infinite}.relation-line.light-color-blue::after{background:linear-gradient(rgba(80,255,255,0) 0%,rgba(80,255,255,1) 90%,#DFFFFF 100%)}.relation-line.light-color-purple::after{background:linear-gradient(rgba(102,0,255,0) 0%,rgba(102,0,255,1) 90%,#B07BFF 100%)}@keyframes lightMove{0%{top:0;transform:translateY(-100%)}100%{top:100%;transform:translateY(0)}}@keyframes lightOpacity{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:block;width:100%;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.mask-container{position:absolute;top:0;left:0;width:100%;height:100%;background:#0c1216;z-index:1000}.appwall-container{padding:8px}.appwall{position:relative}.appwall.loading .card-item{pointer-events:none!important}.mask{position:absolute;width:100%;height:100%;top:0;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center}.mask[hidden]{display:none}.infoWrapper{position:absolute;background:var(--color-fill-bg-base-4);box-shadow:0 0 12px 2px rgba(80,255,255,0.45),inset 0 0 22px 0 #20242a;border:2px solid #50ffff;overflow:hidden}.warningWrapper{position:absolute;background:linear-gradient(180deg,#cc0066 0%,rgba(204,0,102,0.2) 100%),#0f1117ff;box-shadow:0 0 12px 2px rgba(204,0,102,0.4),inset 0 4px 10px 0 rgba(255,255,255,0.65);overflow:hidden}.relation-line{pointer-events:none!important}.closeBtn{visibility:hidden;position:fixed;top:50px;right:50px;width:46px;height:46px;text-align:center;border:1px solid;color:rgb(138 189 255/84%);font-size:20px;line-height:46px;cursor:pointer;background:rgba(138,189,255,0.13);border-image:linear-gradient(135deg,rgba(255,255,255,0.5),rgba(255,255,255,0),rgba(255,255,255,0.33)) 1 1;display:flex;justify-content:center;align-items:center;z-index:1000}.closeBtn:before,\n.closeBtn:after{content:\"\";width:2px;height:20px;background:linear-gradient(180deg,#3467ff 0%,#98cbff 100%);position:absolute}.closeBtn:before{transform:rotateZ(45deg)}.closeBtn:after{transform:rotateZ(-45deg)}.closeBtn:hover:after,\n.closeBtn:hover:before{background:var(--color-normal-text)}.visibilityAnimate{visibility:hidden;animation:visibility 0.5s both 1s}.trapezoidalLeftOrRightAnimation,\n.trapezoidalTopOrBottomAnimation{background:linear-gradient(180deg,rgba(51,102,255,0.4) 0%,#99ccff 100%);opacity:0.2;position:absolute}.trapezoidalTopOrBottomAnimation{bottom:0;width:100%;left:0;animation:animateTop 1s both}.trapezoidalLeftOrRightAnimation{top:0;right:0;height:100%;animation:animateLeft 1s both}@keyframes animateTop{0%{height:0}100%{height:100%}}@keyframes animateLeft{0%{width:0}100%{width:100%}}@keyframes visibility{0%{visibility:hidden}100%{visibility:visible}}.card-item-container{transition:opacity 0.5s}.status-normal-card{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning-card{box-shadow:0 0 100px #cc0066;background:-webkit-gradient(liner,left top,left bottom,from(#cc0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#cc0066 0%,rgba(204,0,102,0.2) 100%)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:inline-block;width:100%;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.card-item-container{position:relative;width:100%;height:100%}.card-item{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;border-radius:var(--no-border-radius);border-color:transparent;transition:border-color 0.5s}.status-normal:hover{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning:hover{box-shadow:0 0 100px #CC0066;background:-webkit-gradient(liner,left top,left bottom,from(#CC0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#CC0066 0%,rgba(204,0,102,0.2) 100%)}.card-item-container.status-normal .card-item{background:var(--color-fill-bg-base-4);box-shadow:inset 0px 1px 2px 0px rgba(255,255,255,0.45)}.card-item-container.status-normal:hover .card-item{border:2px solid rgba(80,255,255,0.58)}.card-item-container.status-warning .card-item{background:linear-gradient(180deg,#CC0066 0%,rgba(204,0,102,0.2) 100%);box-shadow:inset 0px 2px 6px 0px rgba(255,255,255,0.65)}.card-item-container.status-warning:hover .card-item{border:none}.card-item-text-container{width:100%;padding:0 12px}.card-item-title,\n.card-item-description{font-size:20px;font-weight:var(--font-weight-500);color:var(--color-normal-text)}.card-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-item-description{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import {\n Vector3,\n Object3D,\n Quaternion,\n Vector3Tuple,\n PerspectiveCamera,\n} from \"three\";\nimport { CSS3DObject } from \"three/addons/renderers/CSS3DRenderer.js\";\nimport \"./card-item/index.js\";\nimport \"./relation-line/index.js\";\nimport \"./system-card/index.js\";\nimport type { AppWallCardItemProps } from \"./card-item/index.js\";\nimport type {\n AppWallRelationLine,\n AppWallRelationLineProps,\n} from \"./relation-line/index.js\";\nimport type { SystemCardProps } from \"./system-card/index.js\";\nimport {\n TrapezoidalObjectProps,\n TrapezoidalProps,\n bounds,\n CardSize,\n DistanceConfig,\n Position,\n Target,\n Ele,\n AppWallCardBrickNameType,\n} from \"./interface.js\";\nimport { CabinetThumbnail } from \"../cabinet/cabinet-thumbnail/index.jsx\";\nimport { SimpleCardItemProps } from \"../simple-card-item/index.js\";\n\nexport interface AppData {\n key: string;\n status: \"normal\" | \"warning\";\n cardItemProps: AppWallCardItemProps & SimpleCardItemProps;\n systemCardProps: SystemCardProps;\n trapezoidalProps: TrapezoidalProps;\n data?: any;\n}\n\nexport type Relation = {\n source: string;\n target: string;\n};\n\nexport interface UserData {\n appData: AppData;\n elementStyle: {\n width: number;\n height: number;\n };\n turningStyle: {\n width: number;\n height: number;\n };\n systemCardStyle: {\n width: number;\n height: number;\n };\n hoverStyle: {\n width: number;\n height: number;\n };\n cardItemObject3D: {\n curve: Object3D;\n flat: Object3D;\n hover: Object3D;\n clickTurn: Object3D;\n };\n systemCardObject3D: {\n clickTurn: Object3D;\n front: Object3D;\n };\n}\nexport const createRelationLine = (\n sourceVector: Vector3,\n targetVector: Vector3,\n lightColor: AppWallRelationLineProps[\"lightColor\"]\n): CSS3DObject => {\n const subVector = new Vector3().subVectors(targetVector, sourceVector);\n const lineLength = subVector.length();\n\n const lineElement = document.createElement(\n \"data-view.app-wall-relation-line\"\n ) as AppWallRelationLine;\n lineElement.style.height = `${lineLength}px`;\n lineElement.classList.add(\"relation-line\");\n lineElement.lightColor = lightColor;\n const lineObject = new CSS3DObject(lineElement);\n\n const centerVector = new Vector3().lerpVectors(\n sourceVector,\n targetVector,\n 0.5\n );\n lineObject.position.copy(centerVector);\n // lineObject.lookAt(new Vector3(0, 0, 10).add(centerVector));\n // lineObject.lookAt(new Vector3(0, 10000, 0));\n\n const quaternion = new Quaternion().setFromUnitVectors(\n new Vector3(0, 1, 0).normalize(),\n subVector.clone().normalize()\n );\n lineObject.setRotationFromQuaternion(quaternion);\n\n return lineObject;\n};\n\nexport const getCenterPointOrSubPoint = (\n start: Vector3Tuple,\n end: Vector3Tuple\n) => {\n const pointA = new Vector3(start[0], start[1], start[2]);\n const pointB = new Vector3(end[0], end[1], end[2]);\n return {\n centerVector: new Vector3().lerpVectors(pointA, pointB, 0.5), //中心点坐标\n subVector: new Vector3().subVectors(pointA, pointB), // a-b向量\n };\n};\nexport const createTrapezoidalRightOrLeftElement = (props: {\n BW: number;\n TW: number;\n d: number;\n TH: number;\n BH: number;\n isLeft: boolean;\n}): CSS3DObject => {\n const { BW, TW, d, TH, BH, isLeft } = props;\n const height = Math.sqrt(Math.pow(TW / 2 - BW / 2, 2) + Math.pow(d, 2)); //斜边\n const wrapper = document.createElement(\"div\");\n wrapper.style.cssText = `\n width: ${height}px;\n height:${TH}px;\n position: relative;\n clip-path: polygon(0 0, ${height}px ${\n TH / 2 - BH / 2\n }px, ${height}px ${TH / 2 - BH / 2 + BH}px, 0 ${TH}px);\n `;\n const cantCard = document.createElement(\"div\");\n cantCard.className = \"trapezoidalLeftOrRightAnimation\";\n wrapper.appendChild(cantCard);\n const start: Vector3Tuple = isLeft ? [-BW / 2, 0, 0] : [BW / 2, 0, 0];\n const end: Vector3Tuple = isLeft ? [-TW / 2, 0, d] : [TW / 2, 0, d];\n const objectCantModel = new CSS3DObject(wrapper);\n const { centerVector, subVector } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector);\n const quaternion = new Quaternion().setFromUnitVectors(\n new Vector3(1, 0, 0).normalize(),\n subVector.clone().normalize()\n );\n objectCantModel.setRotationFromQuaternion(quaternion);\n return objectCantModel;\n};\n\nexport const createTrapezoidalTopOrBottomElement = (props: {\n BW: number;\n TW: number;\n d: number;\n TH: number;\n BH: number;\n isTop: boolean;\n}): CSS3DObject => {\n const { BW, TW, d, TH, BH, isTop } = props;\n const height = Math.sqrt(Math.pow(TH / 2 - BH / 2, 2) + Math.pow(d, 2)); //斜边\n const wrapper = document.createElement(\"div\");\n wrapper.style.cssText = `\n width: ${TW}px;\n height:${height}px;\n position: relative;\n clip-path: polygon(0 0, ${TW}px 0, ${\n TW / 2 - BW / 2 + BW\n }px ${height}px, ${TW / 2 - BW / 2}px ${height}px);\n `;\n const cantCard = document.createElement(\"div\");\n cantCard.className = \"trapezoidalTopOrBottomAnimation\";\n wrapper.appendChild(cantCard);\n const objectCantModel = new CSS3DObject(wrapper);\n const start: Vector3Tuple = isTop ? [0, -BH / 2, 0] : [0, BH / 2, 0];\n const end: Vector3Tuple = isTop ? [0, -TH / 2, d] : [0, TH / 2, d];\n const { centerVector, subVector } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector);\n const topQuaternion = new Quaternion().setFromUnitVectors(\n new Vector3(0, -1, 0).normalize(),\n subVector.clone().normalize()\n );\n objectCantModel.setRotationFromQuaternion(topQuaternion);\n return objectCantModel;\n};\n/**\n * 创建梯台模型\n * @param props\n * @returns\n */\nexport const createTrapezoidalObject = (props: TrapezoidalObjectProps) => {\n const {\n objectData,\n leftBtnName,\n clusters,\n columns,\n leftOnClick,\n rightBtnName,\n rightOnClick,\n appName,\n } = props;\n const d = 600;\n const container = document.createElement(\"div\");\n const objectContainer = new CSS3DObject(container);\n objectContainer.position.set(...objectData.point);\n // 模型为梯形 , 底部和顶部的宽高成一定的比例计算, bw: tw = 1:11; bh:th= 1:4.5\n const BW: number = objectData.width,\n BH: number = objectData.height,\n TW = 1500,\n TH = 1200;\n // 底部\n const bottomCard = document.createElement(\"div\");\n bottomCard.style.cssText = `\n width: ${BW}px;\n height: ${BH}px;\n box-shadow: inset 0px 1px 2px 0px rgba(255,255,255,0.45);\n border: 1px solid rgba(118,255,255,0.58);\n padding: 16px;\n `;\n const objectBottomModel = new CSS3DObject(bottomCard);\n objectBottomModel.position.z = 0;\n objectContainer.add(objectBottomModel);\n\n // 顶部\n const topCard = document.createElement(\"div\");\n topCard.style.cssText = `\n width: ${TW}px;\n height:${TH}px;\n background: linear-gradient(rgb(13, 54, 179,0.6) 0%, rgb(74, 108, 156,0.6) 100%);\n box-sizing: border-box;\n padding: 16px;\n `;\n const thumbnailEle = document.createElement(\n \"data-view.cabinet-thumbnail\"\n ) as CabinetThumbnail;\n thumbnailEle.clusters = clusters ?? [];\n thumbnailEle.columns = columns ?? 4;\n thumbnailEle.appName = appName;\n topCard.className = \"visibilityAnimate\";\n topCard.appendChild(thumbnailEle);\n const objectTopModel = new CSS3DObject(topCard);\n objectTopModel.position.set(0, 0, d);\n\n const objectCantLeftModel = createTrapezoidalRightOrLeftElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isLeft: true,\n }); //斜面右边\n const objectCantRightModel = createTrapezoidalRightOrLeftElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isLeft: false,\n }); //斜面右边\n const objectCantTopModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: true,\n }); //斜面前边\n const objectCantBottomModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: false,\n }); //斜面后面\n objectContainer.add(\n objectCantLeftModel,\n objectCantRightModel,\n objectCantBottomModel,\n objectCantTopModel\n );\n if (leftBtnName) {\n const btnLeft = document.createElement(\"div\");\n btnLeft.style.cssText = `\n color: #6BE0FA;\n font-size: 28px;\n font-weight: 500;\n width: ${TW / 2}px;\n line-height: 16px;\n `;\n btnLeft.className = \"visibilityAnimate\";\n const wordNode = document.createElement(\"span\");\n wordNode.style.cursor = \"pointer\";\n wordNode.innerText = leftBtnName;\n btnLeft.appendChild(wordNode);\n const btnLeftObject = new CSS3DObject(btnLeft);\n btnLeftObject.position.set(-TW / 4 + 10, -TH / 2, 14);\n btnLeftObject.rotateX(Math.PI / 2);\n objectTopModel.add(btnLeftObject);\n wordNode.onpointerdown = leftOnClick;\n }\n if (rightBtnName) {\n const btnRight = document.createElement(\"div\");\n btnRight.style.cssText = `\n color: #FFFFFF;\n font-size: 30px;\n font-weight: 500;\n width: ${TW / 2}px;\n text-shadow: 0px 1px 4px #3366FF;\n text-align: right;\n `;\n btnRight.className = \"visibilityAnimate\";\n const textNode = document.createElement(\"span\");\n textNode.style.cursor = \"pointer\";\n textNode.innerText = rightBtnName;\n\n btnRight.appendChild(textNode);\n const btnRightObject = new CSS3DObject(btnRight);\n btnRightObject.position.set(TW / 4 - 10, -TH / 2, 14);\n btnRightObject.rotateX(Math.PI / 2);\n objectTopModel.add(btnRightObject);\n textNode.onpointerdown = rightOnClick;\n }\n objectContainer.add(objectTopModel);\n return objectContainer;\n};\n/**\n * 布局计算\n * @param dataSource\n * @param maxX\n * @param maxY\n * @returns\n */\nexport const setAppPosition = (\n dataSource: AppData[],\n maxX: number,\n maxY: number\n) => {\n if (!dataSource?.length) return [];\n let appData: Target[] = dataSource.map((d) => ({ ...d, x: 0, y: 0 }));\n if (appData.length === maxX * maxY) {\n appData = appData.map((d, i) => ({\n ...d,\n x: (i % maxX) + 1,\n y: parseInt(`${i / maxX}`) + 1,\n }));\n } else {\n const offset = maxX * (maxY - 1);\n const leng = appData.length - offset;\n for (let d = 0; d < offset; d++) {\n const u = appData[d];\n u.x = (d % maxX) + 1;\n u.y = parseInt(`${d / maxX}`) + 1;\n }\n for (let h = 0; h < leng / 2; h++) {\n const g = appData[h + offset],\n m = appData[appData.length - 1 - h];\n g.x = h + 1;\n g.y = maxY;\n if (g !== m) {\n m.x = maxX - h;\n m.y = maxY;\n }\n }\n }\n return appData;\n};\nexport const createTableTarget = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number\n) => {\n const object3D = new Object3D();\n object3D.position.x =\n data.x * cardSize.outerWidth - (maxX / 2 + 0.5) * cardSize.outerWidth;\n object3D.position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n return object3D;\n};\n\nexport const computeCurvePosition = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number\n) => {\n const position: Position = {\n x: 0,\n y: 0,\n z: 0,\n },\n n = parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI),\n a = maxX / 2 + 0.5;\n position.x = n * Math.sin(Math.PI / (180 / ((data.x - a) * (angle / maxX))));\n position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n position.z = n - Math.sqrt(n * n - position.x * position.x);\n return position;\n};\nexport const createCurveTarget = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number,\n radius: number\n) => {\n const object3D = new Object3D();\n const vector = new Vector3();\n const position = computeCurvePosition(data, cardSize, maxX, maxY, angle);\n object3D.position.x = position.x;\n object3D.position.y = position.y;\n object3D.position.z = position.z;\n vector.x = 0;\n vector.y = object3D.position.y;\n vector.z = radius;\n object3D.lookAt(vector);\n return object3D;\n};\nexport const computeCameraDistance = (\n camera: PerspectiveCamera,\n bounds: bounds,\n distanceConfig: DistanceConfig[],\n length: number\n) => {\n const n = bounds.height + 2 * bounds.margin,\n a = (bounds.width + 2 * bounds.margin) / camera.aspect,\n i =\n (0.5 * Math.max(a, n)) / Math.tan((camera.fov * Math.PI) / 360) +\n bounds.z;\n let o = 0;\n distanceConfig.forEach(function (t) {\n length >= Math.min.apply(null, t.numRange) &&\n length <= Math.max.apply(null, t.numRange) &&\n (o = t.distance);\n });\n return Math.max(o, i);\n};\nexport const getAppRelations = (\n object: CSS3DObject,\n relationsData: Relation[]\n) => {\n const relations: Relation[] = [];\n const userData = object.userData;\n Array.isArray(relationsData) &&\n relationsData.length &&\n relationsData.forEach(function (i) {\n (userData.key !== i.source && userData.key !== i.target) ||\n relations.push(i);\n });\n return relations;\n};\nexport const findElementByEvent = (\n e: MouseEvent,\n tagName: AppWallCardBrickNameType\n) => {\n const _targetName = tagName.toUpperCase();\n const path = (e.composedPath() as Element[]).find(\n (node) => node?.shadowRoot\n ) as Ele;\n if (path?.tagName === _targetName) return path;\n const customEle = document.elementFromPoint(e.clientX, e.clientY);\n const target = customEle?.shadowRoot.elementFromPoint(\n e.clientX,\n e.clientY\n ) as Ele;\n if (target?.tagName === _targetName) return target;\n return null;\n};\n","import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { debounce } from \"lodash\";\nimport { MathUtils, Object3D, PerspectiveCamera, Scene } from \"three\";\nimport {\n CSS3DObject,\n CSS3DRenderer,\n} from \"three/addons/renderers/CSS3DRenderer.js\";\nimport { TrackballControls } from \"three/addons/controls/TrackballControls.js\";\nimport TWEEN, { Tween, Easing } from \"@tweenjs/tween.js\";\nimport type { AppWallProps } from \"./index.jsx\";\nimport {\n AppWallCardBrickEleType,\n BaseConfig,\n CardSize,\n DistanceConfig,\n Ele,\n Position,\n RegisterEvents,\n Target,\n Targets,\n} from \"./interface.js\";\nimport {\n AppData,\n computeCameraDistance,\n createCurveTarget,\n createTableTarget,\n createTrapezoidalObject,\n setAppPosition,\n createRelationLine,\n getAppRelations,\n findElementByEvent,\n} from \"./utils.js\";\n\nimport \"./card-item/index.js\";\nimport { SystemCard, SystemCardProps } from \"./system-card/index.jsx\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nconst distanceConfig: DistanceConfig[] = [\n {\n numRange: [0, 40],\n distance: 3000,\n },\n {\n numRange: [40, 60],\n distance: 2200,\n },\n {\n numRange: [60, 80],\n distance: 2700,\n },\n {\n numRange: [80, 120],\n distance: 3200,\n },\n {\n numRange: [120, 160],\n distance: 3400,\n },\n {\n numRange: [160, 300],\n distance: 3600,\n },\n];\nconst fov = 45;\nconst angle = 100;\nconst panelSpace = 300;\nconst offsetDistance = 500;\n\nconst getViewBounds = (\n length: number,\n cardSize: CardSize,\n margin: number,\n aspectH: number\n) => {\n const maxX = Math.ceil(\n Math.sqrt((length * cardSize.outerHeight) / (aspectH * cardSize.outerWidth))\n );\n const maxY = Math.ceil(length / maxX);\n const radius =\n parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI);\n const width =\n 2 * radius * Math.sin((Math.PI * (angle / 2)) / 180) + cardSize.outerWidth;\n const height = maxY * cardSize.outerHeight;\n const z = radius - radius * Math.cos((Math.PI * (angle / 2)) / 180);\n return {\n maxX,\n maxY,\n radius,\n bounds: {\n width,\n height,\n margin,\n z,\n },\n };\n};\n\nconst WrappedSystemCard = wrapBrick<SystemCard, SystemCardProps>(\n \"data-view.app-wall-system-card\"\n);\n\nexport function AppWallElement(props: AppWallProps): ReactElement {\n const {\n relations,\n onSystemCardButtonClick,\n useDblclick,\n useDistanceConfig,\n handleCardDbClick,\n rightBtnOnClick,\n leftBtnOnClick,\n cardBrickName,\n cardSize,\n disabledDefaultClickEvent,\n handleCardClick,\n containerId,\n noRotate,\n boundMargin,\n useSystemPopover,\n } = props;\n const [curClickCardItemAppData, setCurClickCardItemAppData] =\n useState<AppData>(null);\n\n const containerRef = useRef<HTMLDivElement>();\n const appwallRef = useRef<HTMLDivElement>();\n const closeBtnRef = useRef<HTMLDivElement>();\n const maskRef = useRef<HTMLDivElement>();\n const systemCardRef = useRef<SystemCard>();\n const popoverRef = useRef<\n HTMLElement &\n Ele & {\n instanceId: string;\n setPosition: (pos: { x: number; y: number }) => void;\n setVisible: (visible: boolean) => void;\n }\n >();\n\n const rendererRef = useRef<CSS3DRenderer>();\n const sceneRef = useRef<Scene>();\n const cameraRef = useRef<PerspectiveCamera>();\n const controlsRef = useRef<TrackballControls>();\n const graph3DViewRef = useRef<CSS3DObject>(); // 梯形模型\n const targetsRef = useRef<Targets>({\n table: [],\n curve: [],\n });\n const objectsRef = useRef<CSS3DObject[]>([]);\n const lineCiCodesRef = useRef<CSS3DObject[]>([]);\n const hoverScaleRef = useRef<number>(1);\n const baseCameraDistance = useRef<number>(5000);\n\n const configRef = useRef<BaseConfig>({\n maxX: 0,\n maxY: 0,\n radius: 0,\n bounds: {\n width: 0,\n height: 0,\n margin: boundMargin,\n z: 0,\n },\n });\n const registerEvents = useRef<RegisterEvents>({\n element: null,\n mouseoverTimer: null,\n mouseoutTimer: null,\n clickTimer: null,\n dblClickTimer: null,\n isShowGraph3D: false,\n isShowAppInfo: false,\n isShowRelations: false,\n enable: true, //是否可以触发事件\n });\n\n const render = useCallback(() => {\n rendererRef.current.render(sceneRef.current, cameraRef.current);\n controlsRef.current.maxDistance =\n baseCameraDistance.current + offsetDistance;\n controlsRef.current.handleResize();\n }, []);\n\n const updateViewBounds = (length: number) => {\n configRef.current = getViewBounds(\n length,\n cardSize,\n boundMargin,\n 1 / cameraRef.current.aspect\n );\n };\n\n const init = () => {\n const containerRect = document\n .getElementById(containerId)\n ?.getBoundingClientRect();\n const width = containerRect?.width || window.innerWidth;\n const height = containerRect?.height || window.innerHeight;\n const aspect = width / height;\n const scene = new Scene();\n const camera = new PerspectiveCamera(fov, aspect, 0.1, 10000);\n\n const renderer = new CSS3DRenderer();\n renderer.setSize(width, height);\n appwallRef.current.replaceChildren(renderer.domElement);\n\n const controls = new TrackballControls(camera, renderer.domElement);\n controls.rotateSpeed = 0.5;\n controls.minDistance = 500;\n controls.maxDistance = 10000;\n controls.noRotate = noRotate;\n\n sceneRef.current = scene;\n cameraRef.current = camera;\n controlsRef.current = controls;\n rendererRef.current = renderer;\n };\n\n const createView = (table: Target[]) => {\n table.forEach((data) => {\n const element = document.createElement(\n cardBrickName\n ) as AppWallCardBrickEleType & Ele;\n element.status = data.status;\n element.cardTitle = data.cardItemProps?.cardTitle;\n element.description = data.cardItemProps?.description;\n element.background = data.cardItemProps?.background;\n element.color = data.cardItemProps?.color;\n element.titleStyle = data.cardItemProps?.titleStyle;\n element.desStyle = data.cardItemProps?.desStyle;\n element.descriptionList = data.cardItemProps?.descriptionList;\n const statusClass = `status-${data?.status || \"normal\"}`;\n element.className = `card-item-container ${statusClass}`;\n element.style.width = `${cardSize.width}px`;\n element.style.height = `${cardSize.height}px`;\n element.classList.add(\"card-item-wrap\");\n // 随机进入\n const objectCSS = new CSS3DObject(element);\n objectCSS.position.set(\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3\n );\n\n sceneRef.current.add(objectCSS);\n objectsRef.current.push(objectCSS);\n\n const table = createTableTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY\n );\n targetsRef.current.table.push(table);\n const curve = createCurveTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY,\n angle,\n configRef.current.radius\n );\n targetsRef.current.curve.push(curve);\n\n objectCSS.userData = data;\n element.__objectCSS = objectCSS;\n element.__userData = data;\n element.__curve = curve;\n });\n };\n\n const createRelationLines = (object: CSS3DObject) => {\n const curRelations = getAppRelations(object, relations);\n const userData = object.userData;\n let lineObject: CSS3DObject, lineTarget: CSS3DObject;\n curRelations?.forEach((relation) => {\n if (relation.source === userData.key) {\n //获取目标target CSS3DObject\n lineTarget = objectsRef.current.find(\n (o) => o.userData.key === relation.target\n );\n lineObject =\n lineTarget &&\n createRelationLine(object.position, lineTarget.position, \"blue\");\n } else {\n lineTarget = objectsRef.current.find(\n (o) => o.userData.key === relation.source\n );\n lineObject =\n lineTarget &&\n createRelationLine(lineTarget.position, object.position, \"purple\");\n }\n if (!lineObject) return;\n lineCiCodesRef.current.push(lineObject);\n sceneRef.current.add(lineObject);\n });\n objectsRef.current?.forEach((item) => {\n if (\n object != item &&\n curRelations.every(\n (r) => r.source != item.userData.key && r.target != item.userData.key\n )\n ) {\n item.element.style.opacity = \"0.2\";\n }\n });\n };\n\n const showElementBetweenRelation = (target: Ele) => {\n const { __objectCSS, __userData } = target;\n const rotationY = __objectCSS.rotation.y;\n const currentEleRect = __objectCSS.element.getBoundingClientRect();\n const position: Position = {\n x: __objectCSS.position.x + 50 * Math.sin(rotationY),\n y: __objectCSS.position.y + 15,\n z: __objectCSS.position.z + 100 * Math.cos(rotationY),\n };\n\n const scale =\n currentEleRect.width >= cardSize.width\n ? hoverScaleRef.current\n : Math.min(\n cardSize.width / currentEleRect.width,\n cardSize.height / currentEleRect.height\n ),\n duration = 100;\n registerEvents.current.isShowRelations = true;\n new Tween(__objectCSS.rotation)\n // .to(\n // {\n // x: 0,\n // y: 0,\n // z: 0,\n // },\n // duration\n // )\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.add(\n `status-${__userData.status || \"normal\"}-card`\n );\n })\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: scale,\n y: scale,\n z: scale,\n },\n duration\n )\n .start();\n\n new Tween(__objectCSS.position)\n .to(position, duration)\n .onUpdate(render)\n .onComplete(function () {\n //创建连线\n createRelationLines(__objectCSS);\n render();\n registerEvents.current.element = target;\n\n if (useSystemPopover) {\n const rect = target.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n\n popoverRef.current.instanceId = target?.__userData?.data?.instanceId;\n popoverRef.current.setPosition({ x: centerX, y: centerY });\n popoverRef.current.setVisible(true);\n }\n })\n .start();\n };\n\n const restoreElementState = (onComplete?: (ele?: Ele) => void) => {\n if (!registerEvents.current?.element) return onComplete?.();\n const {\n __objectCSS,\n __curve: object3d,\n __userData,\n } = registerEvents.current.element;\n const duration = 100;\n\n new Tween(__objectCSS.rotation)\n .to(\n {\n x: object3d.rotation.x,\n y: object3d.rotation.y,\n z: object3d.rotation.z,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: 1,\n y: 1,\n z: 1,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.position)\n .to(\n {\n x: object3d.position.x,\n y: object3d.position.y,\n z: object3d.position.z,\n },\n duration\n )\n .onUpdate(render)\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.remove(\n `status-${__userData.status || \"normal\"}-card`\n );\n objectsRef.current?.forEach((item) => {\n item.element.style.opacity = \"1\";\n });\n lineCiCodesRef.current.forEach((lineObject) => {\n sceneRef.current.remove(lineObject);\n });\n lineCiCodesRef.current = [];\n render();\n })\n .onComplete(() => {\n registerEvents.current.isShowRelations = false;\n onComplete?.(registerEvents.current?.element);\n })\n .start();\n };\n\n const transform = (targets: Object3D[], duration: number) => {\n registerEvents.current.enable = false;\n for (let i = 0; i < objectsRef.current.length; i++) {\n const object = objectsRef.current[i];\n const target = targets[i];\n\n new Tween(object.position)\n .to(\n {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n\n new Tween(object.rotation)\n .to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n }\n\n new Tween({})\n .to({}, duration * 2)\n .onUpdate(render)\n .start()\n .onComplete(() => {\n registerEvents.current.enable = true;\n });\n };\n\n const handeReset = () => {\n TWEEN.removeAll();\n const o = {\n opacity: 1,\n },\n e = new Tween({\n z: 0,\n }),\n n = new Tween(o),\n a = new Tween(cameraRef.current.position),\n i = new Tween(controlsRef.current.target),\n r = new Tween({\n blur: 1500,\n spread: 100,\n });\n e.to(\n {\n z: panelSpace,\n },\n 1e3\n ).chain(a, i, r);\n n.to(\n {\n opacity: 0,\n },\n 1e3\n )\n .onStart(() => {\n sceneRef.current.remove(graph3DViewRef.current);\n closeBtnRef.current.style.visibility = \"hidden\";\n })\n .delay(300);\n\n a.to(controlsRef.current.position0, 1e3).onComplete(function () {\n controlsRef.current.reset();\n appwallRef.current.classList.remove(\"mask-container\");\n transform(targetsRef.current.curve, 600);\n registerEvents.current.isShowGraph3D = false;\n });\n i.to(\n {\n x: 0,\n y: 0,\n z: 0,\n },\n 1e3\n );\n r.to(\n {\n blur: 0,\n spread: 0,\n },\n 1e3\n );\n e.start();\n n.start();\n };\n const showAppInfoAnimate = (toggle: boolean) => {\n controlsRef.current.reset();\n const object = registerEvents.current.element.__objectCSS;\n const target = registerEvents.current.element.__curve;\n registerEvents.current.enable = false;\n registerEvents.current.isShowAppInfo = true;\n //定义四个位置\n const c = {\n x: target.position.x > 0 ? 2 * -cardSize.width : 2 * cardSize.width,\n y: 0,\n z: (cameraRef.current.position.z - 500) / 1.5,\n };\n const p = {\n x: 0,\n y: 0,\n z: cameraRef.current.position.z - 500,\n };\n const h = {\n x: 0,\n y: target.rotation.y > 0 ? (-Math.PI * 90) / 180 : (Math.PI * 90) / 180,\n z: 0,\n };\n const d = {\n x: 0,\n y: target.rotation.y > 0 ? (-Math.PI * 180) / 180 : (Math.PI * 180) / 180,\n z: 0,\n };\n const i = new Tween(object.position);\n const r = new Tween(object.rotation);\n const o = new Tween(object.position);\n const s = new Tween(object.rotation);\n if (toggle) {\n //收\n i.to(c, 500)\n .easing()\n .onComplete(() => {\n systemCardRef.current.hidden = true;\n registerEvents.current.element.style.opacity = \"1\";\n });\n r.to(h, 500).easing();\n o.to(\n {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n 700\n ).easing();\n s.to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n 700\n )\n .easing()\n .onComplete(() => {\n objectsRef.current?.forEach((item) => {\n item.element.style.opacity = \"1\";\n });\n });\n } else {\n //出\n objectsRef.current?.forEach((item) => {\n if (object != item) {\n item.element.style.opacity = \"0.2\";\n }\n });\n i.to(c, 700)\n .easing()\n .onStart(() => {\n //为了飞出去的途中,不能在点击其他的卡片飞出来\n maskRef.current.hidden = false;\n systemCardRef.current.hidden = true;\n });\n r.to(h, 700).easing();\n o.to(p, 500)\n .easing()\n .onStart(function () {\n registerEvents.current.element.style.opacity = \"0\";\n systemCardRef.current.style.transition = \"transition: all .3s ease\";\n systemCardRef.current.hidden = false;\n });\n s.to(d, 500).easing();\n }\n i.chain(o).start();\n r.chain(s).start();\n new Tween({})\n .to({}, 1400)\n .onUpdate(() => {\n render();\n if (Math.abs(object.rotation.y) >= Math.PI / 2) {\n const rect = registerEvents.current.element.getBoundingClientRect();\n const scale = 1.35;\n const width = rect.width * scale;\n const height = rect.height * scale;\n systemCardRef.current.style.width = `${width}px`;\n systemCardRef.current.style.height = `${height}px`;\n systemCardRef.current.style.top = `${\n rect.top - ((scale - 1) * height) / 2\n }px`;\n systemCardRef.current.style.left = `${\n rect.left - ((scale - 1) * width) / 2\n }px`;\n }\n })\n .start()\n .onComplete(function () {\n registerEvents.current.enable = true;\n registerEvents.current.isShowAppInfo = !toggle;\n maskRef.current.hidden = toggle;\n });\n };\n const resetView = () => {\n controlsRef.current.reset();\n TWEEN.removeAll();\n objectsRef.current.map((o) => {\n sceneRef.current.remove(o);\n });\n objectsRef.current = [];\n targetsRef.current = {\n table: [],\n curve: [],\n };\n //重置交互状态\n registerEvents.current = {\n element: null,\n mouseoverTimer: null,\n mouseoutTimer: null,\n clickTimer: null,\n dblClickTimer: null,\n enable: true,\n isShowAppInfo: false,\n isShowGraph3D: false,\n isShowRelations: false,\n };\n };\n\n useEffect(() => {\n init();\n let cancel: number;\n const animate = () => {\n cancel = requestAnimationFrame(animate);\n TWEEN.update();\n controlsRef.current.update();\n };\n animate();\n const container = containerId\n ? document.getElementById(containerId)\n : document.body;\n\n const observer = new ResizeObserver(\n debounce(() => {\n const { width, height } = container.getBoundingClientRect();\n cameraRef.current.aspect = width / height;\n cameraRef.current.updateProjectionMatrix();\n rendererRef.current.setSize(width, height);\n render();\n }, 300)\n );\n controlsRef.current.addEventListener(\"change\", render);\n observer.observe(container);\n return () => {\n observer.disconnect();\n controlsRef.current.removeEventListener(\"change\", render);\n controlsRef.current.dispose();\n TWEEN.removeAll();\n cameraRef.current.clear();\n sceneRef.current.clear();\n cancelAnimationFrame(cancel);\n };\n }, []);\n\n useEffect(() => {\n const length = props.dataSource?.length || 0;\n if (length > 0) {\n updateViewBounds(length);\n baseCameraDistance.current = computeCameraDistance(\n cameraRef.current,\n configRef.current.bounds,\n useDistanceConfig ? distanceConfig : [],\n length\n );\n cameraRef.current.position.z = baseCameraDistance.current;\n cameraRef.current.updateProjectionMatrix();\n controlsRef.current.position0.copy(cameraRef.current.position);\n\n const appData = setAppPosition(\n props.dataSource,\n configRef.current.maxX,\n configRef.current.maxY\n );\n createView(appData);\n transform(targetsRef.current.curve, 1000);\n }\n\n return () => {\n resetView();\n };\n }, [props.dataSource, useDistanceConfig]);\n\n useEffect(() => {\n if (useSystemPopover) {\n const element = document.createElement(\"monitoring.sys-popover\") as any;\n popoverRef.current = element;\n document.querySelector(\"#main-mount-point\").appendChild(element);\n }\n }, [useSystemPopover]);\n\n useEffect(() => {\n const container = containerRef.current;\n const handleMouseover = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n const target = findElementByEvent(e, cardBrickName);\n if (useSystemPopover) {\n const canRenderPopover =\n popoverRef.current?.instanceId !=\n target?.__userData?.data?.instanceId;\n\n if (!target || !canRenderPopover) {\n popoverRef.current.setVisible(false);\n }\n }\n registerEvents.current.mouseoverTimer = window.setTimeout(() => {\n restoreElementState(() => {\n target &&\n !registerEvents.current.isShowAppInfo &&\n showElementBetweenRelation(target);\n clearTimeout(registerEvents.current.mouseoverTimer);\n });\n }, 300);\n };\n\n const handleMouseout = (e: MouseEvent) => {\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n const target = findElementByEvent(e, cardBrickName);\n if (useSystemPopover) {\n const canRenderPopover =\n popoverRef.current.instanceId != target?.__userData?.data?.instanceId;\n\n if (!target || !canRenderPopover) {\n popoverRef.current.setVisible(false);\n }\n }\n };\n\n const handleClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n registerEvents.current.clickTimer = window.setTimeout(function () {\n clearTimeout(registerEvents.current.mouseoverTimer);\n restoreElementState(() => {\n if (target) {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n e.stopPropagation();\n registerEvents.current.element = target;\n if (disabledDefaultClickEvent) {\n handleCardClick?.(target.__userData);\n } else {\n setCurClickCardItemAppData(target.__userData);\n showAppInfoAnimate(false);\n }\n }\n });\n }, 200);\n };\n const handleDbClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n clearTimeout(registerEvents.current.dblClickTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n const { __userData, __objectCSS } = target;\n registerEvents.current.isShowGraph3D = true;\n registerEvents.current.dblClickTimer = window.setTimeout(function () {\n restoreElementState(() => {\n if (\n useDblclick ||\n __userData.trapezoidalProps?.clusters?.length < 1\n ) {\n handleCardDbClick(__userData);\n registerEvents.current.isShowGraph3D = false;\n } else {\n if (target) {\n clearTimeout(registerEvents.current.mouseoverTimer);\n clearTimeout(registerEvents.current.clickTimer);\n appwallRef.current.classList.add(\"mask-container\");\n controlsRef.current.reset();\n const basePosition = {\n opacity: 0,\n scale: 0,\n borderLeftWidth: 0,\n borderRightWidth: 0,\n borderTopWidth: 0,\n borderBottomWidth: 0,\n };\n const u = {\n x: __objectCSS.position.x,\n y:\n 860 +\n cardSize.height * (configRef.current.maxY - __userData.y),\n };\n const n = new Tween(cameraRef.current.position);\n const a = new Tween(basePosition);\n const i = new Tween({\n z: 0,\n });\n const r = new Tween(cameraRef.current.position);\n const o = new Tween(controlsRef.current.target);\n const s = new Tween({\n blur: 12,\n spread: 0,\n });\n transform(targetsRef.current.table, 600);\n n.to(\n {\n x: 0,\n y: -3600,\n z: 1600,\n },\n 1e3\n ).chain(s, a, i);\n a.to(\n {\n opacity: 1,\n },\n 700\n ).onStart(() => {\n const objectContainer = createTrapezoidalObject({\n objectData: {\n width: cardSize.width,\n height: cardSize.height,\n point: [\n __objectCSS.position.x,\n __objectCSS.position.y,\n __objectCSS.position.z,\n ],\n },\n clusters: __userData.trapezoidalProps?.clusters,\n columns: __userData.trapezoidalProps?.columns,\n appName: __userData.trapezoidalProps?.appName,\n leftBtnName: __userData.trapezoidalProps?.leftBtnName,\n rightBtnName: __userData.trapezoidalProps?.rightBtnName,\n rightOnClick: () => rightBtnOnClick(__userData),\n leftOnClick: () => leftBtnOnClick(__userData),\n });\n graph3DViewRef.current = objectContainer;\n sceneRef.current.add(objectContainer);\n });\n i.to(\n {\n z: panelSpace,\n },\n 1e3\n )\n .delay(230)\n .chain(r, o);\n\n r.to(\n {\n x: u.x,\n y: -3600 + u.y,\n },\n 1e3\n );\n o.to(\n {\n x: u.x,\n y: u.y,\n },\n 1e3\n ).onComplete(function () {\n closeBtnRef.current.style.visibility = \"visible\";\n });\n n.start();\n }\n }\n });\n }, 200);\n };\n\n container.addEventListener(\"dblclick\", handleDbClick);\n container.addEventListener(\"click\", handleClick);\n container.addEventListener(\"mouseover\", handleMouseover);\n container.addEventListener(\"mouseout\", handleMouseout);\n return () => {\n container.removeEventListener(\"mouseover\", handleMouseover);\n container.removeEventListener(\"mouseout\", handleMouseout);\n container.removeEventListener(\"click\", handleClick);\n container.removeEventListener(\"dblclick\", handleDbClick);\n };\n }, [disabledDefaultClickEvent, handleCardClick]);\n\n return (\n <div className=\"appwall-container\" ref={containerRef}>\n <div className=\"appwall\" ref={appwallRef}></div>\n <div\n className=\"mask\"\n ref={maskRef}\n onClick={() => {\n registerEvents.current.enable && showAppInfoAnimate(true);\n }}\n hidden={true}\n >\n <WrappedSystemCard\n {...curClickCardItemAppData?.systemCardProps}\n onClick={(e) => e.stopPropagation()}\n handleClick={() => onSystemCardButtonClick(curClickCardItemAppData)}\n ref={systemCardRef}\n className={classNames({\n infoWrapper: curClickCardItemAppData?.status === \"normal\",\n warningWrapper: curClickCardItemAppData?.status === \"warning\",\n })}\n />\n </div>\n <div\n className=\"closeBtn\"\n ref={closeBtnRef}\n onClick={() => {\n handeReset();\n }}\n />\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, `:host{--palette-rgba-white-1:rgba(255,255,255,10%);--palette-rgba-white-2:rgba(255,255,255,20%);--palette-rgba-white-3:rgba(255,255,255,30%);--palette-rgba-white-4:rgba(255,255,255,40%);--palette-rgba-white-5:rgba(255,255,255,50%);--palette-rgba-white-6:rgba(255,255,255,60%);--palette-rgba-white-7:rgba(255,255,255,70%);--palette-rgba-white-8:rgba(255,255,255,80%);--palette-rgba-white-9:rgba(255,255,255,90%);--palette-rgba-white-10:rgba(255,255,255,100%);--palette-rgba-gray-1:rgba(0,0,0,10%);--palette-rgba-gray-2:rgba(0,0,0,20%);--palette-rgba-gray-3:rgba(0,0,0,30%);--palette-rgba-gray-4:rgba(0,0,0,40%);--palette-rgba-gray-5:rgba(0,0,0,50%);--palette-rgba-gray-6:rgba(0,0,0,60%);--palette-rgba-gray-7:rgba(0,0,0,70%);--palette-rgba-gray-8:rgba(0,0,0,80%);--palette-rgba-gray-9:rgba(0,0,0,90%);--palette-rgba-gray-10:rgba(0,0,0,100%);--palette-rgba-blue-gray-2:rgba(101,106,134,20%);--palette-rgba-blue-gray-3:rgba(101,106,134,30%);--palette-rgba-blue-gray-8:rgba(101,106,134,80%);--palette-tech-blue-4-channel:67,127,255;--palette-tech-blue-4:rgb(var(--palette-tech-blue-4-channel));--palette-tech-blue-6-channel:51,102,255;--palette-tech-blue-6:rgb(var(--palette-tech-blue-6-channel));--palette-tech-blue-8-channel:40,69,159;--palette-tech-blue-8:rgb(var(--palette-tech-blue-8-channel));--palette-sea-green-4-channel:131,245,225;--palette-sea-green-4:rgb(var(--palette-sea-green-4-channel));--palette-green-6-channel:81,235,73;--palette-green-6:rgb(var(--palette-green-6-channel));--palette-green-2:rgba(var(--palette-green-6-channel),20%);--palette-lotus-pink-7-channel:204,0,102;--palette-lotus-pink-7:rgb(var(--palette-lotus-pink-7-channel));--palette-red-6-channel:242,39,39;--palette-red-6:rgb(var(--palette-red-6-channel));--palette-red-2:rgba(var(--palette-red-6-channel),20%);--color-fill-global-bg:#0f1014;--color-fill-bg-container-1:var(--palette-rgba-white-1);--color-fill-bg-container-2:var(--palette-rgba-blue-gray-2);--color-fill-bg-container-3:var(--palette-rgba-blue-gray-8);--color-fill-bg-base-1:var(--palette-rgba-blue-gray-2);--color-fill-bg-base-2:rgba(15,16,20,0%);--color-fill-bg-base-3:rgba(0,0,0,20%);--color-fill-bg-base-4:rgba(40,46,58,100%);--color-fill-bg-base-5:rgba(19,25,47,80%);--color-fill-bg-base-6:var(--palette-rgba-blue-gray-3);--color-brand:var(--palette-tech-blue-6);--color-brand-hover:var(--palette-tech-blue-4);--color-brand-active:var(--palette-tech-blue-8);--color-contrast-1:var(--palette-sea-green-4);--color-error:var(--palette-red-6);--color-error-bg:var(--palette-red-2);--color-success:var(--palette-green-6);--color-success-bg:var(--palette-green-2);--color-header-text-big:var(--palette-rgba-white-10);--color-header-text:var(--palette-rgba-white-10);--color-normal-text:var(--palette-rgba-white-10);--color-strong-text:var(--palette-rgba-white-9);--color-auxiliary-text:var(--palette-rgba-white-8);--color-secondary-text:var(--palette-rgba-white-6);--color-disabled-text:var(--palette-rgba-white-4);--color-border-divider-line:var(--palette-rgba-white-1);--color-text-divider-line-1:var(--palette-rgba-white-2);--color-text-divider-line-2:var(--palette-rgba-white-2);--small-border-radius:2px;--medius-border-radius:5px;--larger-border-radius:12px;--container-border-radius:9999px;--no-border-radius:0px;--mask-bg:var(--palette-rgba-gray-7);--title-font-size-larger:30px;--title-font-size-strong:22px;--title-font-size:18px;--normal-font-size:14px;--auxiliary-font-size:16px;--auxiliary-font-size-small:12px;--overview-data-font-size:34px;--statistics-data-font-size:28px;--normal-data-font-size-larger:20px;--normal-data-font-size:16px;--chart-legend-font-size:12px;--chart-tooltips-font-size-1:12px;--chart-tooltips-font-size-2:12px;--chart-axis-x-font-size:12px;--chart-axis-x-font-size-larger:14px;--chart-axis-y-font-size:12px;--chart-axis-y-font-size-larger:14px;--font-weight-600:600;--font-weight-500:500;--font-weight-400:400;--text-shadow:0px 1px 4px #2863ee;--border-width-base:1px;--border-width-double-base:2px;--border-width-tribble-base:3px;--punctate-width-base:1px;--paragraph-width-base:1px;--button-text-color:#40d0db}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","createRelationLine","sourceVector","targetVector","lightColor","subVector","Vector3","subVectors","lineLength","length","lineElement","document","createElement","style","height","classList","add","lineObject","CSS3DObject","centerVector","lerpVectors","position","copy","quaternion","Quaternion","setFromUnitVectors","normalize","clone","setRotationFromQuaternion","getCenterPointOrSubPoint","start","end","pointA","pointB","createTrapezoidalRightOrLeftElement","props","BW","TW","d","TH","BH","isLeft","Math","sqrt","pow","wrapper","cssText","cantCard","className","appendChild","objectCantModel","createTrapezoidalTopOrBottomElement","isTop","topQuaternion","createTrapezoidalObject","objectData","leftBtnName","clusters","columns","leftOnClick","rightBtnName","rightOnClick","appName","container","objectContainer","set","point","width","bottomCard","objectBottomModel","z","topCard","thumbnailEle","objectTopModel","objectCantLeftModel","objectCantRightModel","objectCantTopModel","objectCantBottomModel","btnLeft","wordNode","cursor","innerText","btnLeftObject","rotateX","PI","onpointerdown","btnRight","textNode","btnRightObject","setAppPosition","dataSource","maxX","maxY","appData","map","x","y","i","parseInt","offset","leng","u","h","g","m","createTableTarget","data","cardSize","object3D","Object3D","outerWidth","outerHeight","createCurveTarget","angle","radius","vector","computeCurvePosition","n","a","sin","lookAt","computeCameraDistance","camera","bounds","distanceConfig","margin","aspect","max","tan","fov","o","forEach","t","min","apply","numRange","distance","getAppRelations","object","relationsData","relations","userData","Array","isArray","key","source","target","findElementByEvent","e","tagName","_targetName","toUpperCase","path","composedPath","find","node","shadowRoot","customEle","elementFromPoint","clientX","clientY","panelSpace","offsetDistance","getViewBounds","aspectH","ceil","cos","WrappedSystemCard","wrapBrick","AppWallElement","onSystemCardButtonClick","useDblclick","useDistanceConfig","handleCardDbClick","rightBtnOnClick","leftBtnOnClick","cardBrickName","disabledDefaultClickEvent","handleCardClick","containerId","noRotate","boundMargin","useSystemPopover","curClickCardItemAppData","setCurClickCardItemAppData","useState","containerRef","useRef","appwallRef","closeBtnRef","maskRef","systemCardRef","popoverRef","rendererRef","sceneRef","cameraRef","controlsRef","graph3DViewRef","targetsRef","table","curve","objectsRef","lineCiCodesRef","hoverScaleRef","baseCameraDistance","configRef","registerEvents","element","mouseoverTimer","mouseoutTimer","clickTimer","dblClickTimer","isShowGraph3D","isShowAppInfo","isShowRelations","enable","render","useCallback","current","maxDistance","handleResize","restoreElementState","onComplete","_registerEvents$curre","__objectCSS","__curve","object3d","__userData","Tween","rotation","to","scale","onUpdate","onStart","_objectsRef$current2","remove","status","item","opacity","_registerEvents$curre2","transform","targets","duration","MathUtils","randFloat","easing","Easing","Exponential","InOut","showAppInfoAnimate","toggle","reset","c","p","r","s","_objectsRef$current4","hidden","_objectsRef$current3","transition","chain","abs","rect","getBoundingClientRect","top","left","useEffect","cancel","init","_document$getElementB","containerRect","getElementById","window","innerWidth","innerHeight","scene","Scene","PerspectiveCamera","renderer","CSS3DRenderer","setSize","replaceChildren","domElement","controls","TrackballControls","rotateSpeed","minDistance","animate","requestAnimationFrame","TWEEN","update","body","observer","ResizeObserver","debounce","updateProjectionMatrix","addEventListener","observe","disconnect","removeEventListener","dispose","clear","cancelAnimationFrame","_props$dataSource","updateViewBounds","position0","_data$cardItemProps","_data$cardItemProps2","_data$cardItemProps3","_data$cardItemProps4","_data$cardItemProps5","_data$cardItemProps6","_data$cardItemProps7","cardTitle","cardItemProps","description","background","color","titleStyle","desStyle","descriptionList","statusClass","objectCSS","random","querySelector","handleMouseover","clearTimeout","_popoverRef$current","_target$__userData2","canRenderPopover","instanceId","setVisible","setTimeout","rotationY","currentEleRect","_objectsRef$current","curRelations","lineTarget","relation","every","createRelationLines","_target$__userData","centerX","centerY","setPosition","showElementBetweenRelation","handleMouseout","_target$__userData3","handleClick","stopPropagation","handleDbClick","_userData$trapezoida","trapezoidalProps","basePosition","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","blur","spread","_userData$trapezoida2","_userData$trapezoida3","_userData$trapezoida4","_userData$trapezoida5","_userData$trapezoida6","delay","visibility","React","ref","onClick","_extends","systemCardProps","classNames","infoWrapper","warningWrapper","handeReset"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/1493.d9a3fd09.js","mappings":"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","sources":["webpack:///./src/app-wall/system-card/system-card.shadow.css","webpack:///./src/app-wall/relation-line/relation-line.shadow.css","webpack:///./src/app-wall/app-wall.shadow.css","webpack:///./src/app-wall/card-item/card-item.shadow.css","webpack:///./src/app-wall/utils.ts","webpack:///./src/app-wall/app-wall.tsx","webpack:///./src/data-view-variables.shadow.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.wrapper{position:relative;width:100%;height:100%;padding:30px 24px 35px;left:0;display:flex;flex-direction:column;border-radius:var(--no-border-radius)}.cardName{font-size:var(--title-font-size-strong);line-height:22px;text-align:center;font-weight:var(--font-weight-500);color:var(--color-normal-text);text-shadow:0 1px 4px rgba(51,102,255,0.5);margin-bottom:35px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.descriptions{flex:1;margin-bottom:20px;font-size:var(--auxiliary-font-size-small);overflow:auto;font-weight:var(--font-weight-400)}.descriptionsItem .itemKey{color:var(--color-secondary-text)}.descriptionsItem .itemValue{color:var(--color-strong-text)}.descriptionsItem{display:flex;gap:10px;margin-bottom:12px}.descriptionsItem>div{flex:1;text-align:left;word-break:break-all}.buttonContent{position:absolute;bottom:16px;right:24px;font-size:var(--auxiliary-font-size);color:#99CCFF;cursor:pointer;font-weight:var(--font-weight-500)}.buttonName{margin-left:5px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:inline-block;width:-moz-fit-content;width:fit-content;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.relation-line{position:relative;width:6px;height:100%;background:var(--color-text-divider-line-1);overflow:hidden}.relation-line::after{content:'';position:absolute;width:100%;height:20%;left:0px;top:0px;animation:lightMove 1000ms ease-in-out infinite,lightOpacity 1000ms ease-in-out infinite}.relation-line.light-color-blue::after{background:linear-gradient(rgba(80,255,255,0) 0%,rgba(80,255,255,1) 90%,#DFFFFF 100%)}.relation-line.light-color-purple::after{background:linear-gradient(rgba(102,0,255,0) 0%,rgba(102,0,255,1) 90%,#B07BFF 100%)}@keyframes lightMove{0%{top:0;transform:translateY(-100%)}100%{top:100%;transform:translateY(0)}}@keyframes lightOpacity{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:block;width:100%;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.mask-container{position:absolute;top:0;left:0;width:100%;height:100%;background:#0c1216;z-index:1000}.appwall-container{padding:8px}.appwall{position:relative}.appwall.loading .card-item{pointer-events:none!important}.mask{position:absolute;width:100%;height:100%;top:0;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center}.mask[hidden]{display:none}.infoWrapper{position:absolute;background:var(--color-fill-bg-base-4);box-shadow:0 0 12px 2px rgba(80,255,255,0.45),inset 0 0 22px 0 #20242a;border:2px solid #50ffff;overflow:hidden}.warningWrapper{position:absolute;background:linear-gradient(180deg,#cc0066 0%,rgba(204,0,102,0.2) 100%),#0f1117ff;box-shadow:0 0 12px 2px rgba(204,0,102,0.4),inset 0 4px 10px 0 rgba(255,255,255,0.65);overflow:hidden}.relation-line{pointer-events:none!important}.closeBtn{visibility:hidden;position:fixed;top:50px;right:50px;width:46px;height:46px;text-align:center;border:1px solid;color:rgb(138 189 255/84%);font-size:20px;line-height:46px;cursor:pointer;background:rgba(138,189,255,0.13);border-image:linear-gradient(135deg,rgba(255,255,255,0.5),rgba(255,255,255,0),rgba(255,255,255,0.33)) 1 1;display:flex;justify-content:center;align-items:center;z-index:1000}.closeBtn:before,\n.closeBtn:after{content:\"\";width:2px;height:20px;background:linear-gradient(180deg,#3467ff 0%,#98cbff 100%);position:absolute}.closeBtn:before{transform:rotateZ(45deg)}.closeBtn:after{transform:rotateZ(-45deg)}.closeBtn:hover:after,\n.closeBtn:hover:before{background:var(--color-normal-text)}.visibilityAnimate{visibility:hidden;animation:visibility 0.5s both 1s}.trapezoidalLeftOrRightAnimation,\n.trapezoidalTopOrBottomAnimation{background:linear-gradient(180deg,rgba(51,102,255,0.4) 0%,#99ccff 100%);opacity:0.2;position:absolute}.trapezoidalTopOrBottomAnimation{bottom:0;width:100%;left:0;animation:animateTop 1s both}.trapezoidalLeftOrRightAnimation{top:0;right:0;height:100%;animation:animateLeft 1s both}@keyframes animateTop{0%{height:0}100%{height:100%}}@keyframes animateLeft{0%{width:0}100%{width:100%}}@keyframes visibility{0%{visibility:hidden}100%{visibility:visible}}.card-item-container{transition:opacity 0.5s}.status-normal-card{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning-card{box-shadow:0 0 100px #cc0066;background:-webkit-gradient(liner,left top,left bottom,from(#cc0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#cc0066 0%,rgba(204,0,102,0.2) 100%)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:inline-block;width:100%;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.card-item-container{position:relative;width:100%;height:100%}.card-item{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;border-radius:var(--no-border-radius);border-color:transparent;transition:border-color 0.5s}.status-normal:hover{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning:hover{box-shadow:0 0 100px #CC0066;background:-webkit-gradient(liner,left top,left bottom,from(#CC0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#CC0066 0%,rgba(204,0,102,0.2) 100%)}.card-item-container.status-normal .card-item{background:var(--color-fill-bg-base-4);box-shadow:inset 0px 1px 2px 0px rgba(255,255,255,0.45)}.card-item-container.status-normal:hover .card-item{border:2px solid rgba(80,255,255,0.58)}.card-item-container.status-warning .card-item{background:linear-gradient(180deg,#CC0066 0%,rgba(204,0,102,0.2) 100%);box-shadow:inset 0px 2px 6px 0px rgba(255,255,255,0.65)}.card-item-container.status-warning:hover .card-item{border:none}.card-item-text-container{width:100%;padding:0 12px}.card-item-title,\n.card-item-description{font-size:20px;font-weight:var(--font-weight-500);color:var(--color-normal-text)}.card-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-item-description{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import {\n Vector3,\n Object3D,\n Quaternion,\n Vector3Tuple,\n PerspectiveCamera,\n} from \"three\";\nimport { CSS3DObject } from \"three/addons/renderers/CSS3DRenderer.js\";\nimport \"./card-item/index.js\";\nimport \"./relation-line/index.js\";\nimport \"./system-card/index.js\";\nimport type { AppWallCardItemProps } from \"./card-item/index.js\";\nimport type {\n AppWallRelationLine,\n AppWallRelationLineProps,\n} from \"./relation-line/index.js\";\nimport type { SystemCardProps } from \"./system-card/index.js\";\nimport {\n TrapezoidalObjectProps,\n TrapezoidalProps,\n bounds,\n CardSize,\n DistanceConfig,\n Position,\n Target,\n Ele,\n AppWallCardBrickNameType,\n} from \"./interface.js\";\nimport { CabinetThumbnail } from \"../cabinet/cabinet-thumbnail/index.jsx\";\nimport { SimpleCardItemProps } from \"../simple-card-item/index.js\";\n\nexport interface AppData {\n key: string;\n status: \"normal\" | \"warning\";\n cardItemProps: AppWallCardItemProps & SimpleCardItemProps;\n systemCardProps: SystemCardProps;\n trapezoidalProps: TrapezoidalProps;\n data?: any;\n}\n\nexport type Relation = {\n source: string;\n target: string;\n};\n\nexport interface UserData {\n appData: AppData;\n elementStyle: {\n width: number;\n height: number;\n };\n turningStyle: {\n width: number;\n height: number;\n };\n systemCardStyle: {\n width: number;\n height: number;\n };\n hoverStyle: {\n width: number;\n height: number;\n };\n cardItemObject3D: {\n curve: Object3D;\n flat: Object3D;\n hover: Object3D;\n clickTurn: Object3D;\n };\n systemCardObject3D: {\n clickTurn: Object3D;\n front: Object3D;\n };\n}\nexport const createRelationLine = (\n sourceVector: Vector3,\n targetVector: Vector3,\n lightColor: AppWallRelationLineProps[\"lightColor\"]\n): CSS3DObject => {\n const subVector = new Vector3().subVectors(targetVector, sourceVector);\n const lineLength = subVector.length();\n\n const lineElement = document.createElement(\n \"data-view.app-wall-relation-line\"\n ) as AppWallRelationLine;\n lineElement.style.height = `${lineLength}px`;\n lineElement.classList.add(\"relation-line\");\n lineElement.lightColor = lightColor;\n const lineObject = new CSS3DObject(lineElement);\n\n const centerVector = new Vector3().lerpVectors(\n sourceVector,\n targetVector,\n 0.5\n );\n lineObject.position.copy(centerVector);\n // lineObject.lookAt(new Vector3(0, 0, 10).add(centerVector));\n // lineObject.lookAt(new Vector3(0, 10000, 0));\n\n const quaternion = new Quaternion().setFromUnitVectors(\n new Vector3(0, 1, 0).normalize(),\n subVector.clone().normalize()\n );\n lineObject.setRotationFromQuaternion(quaternion);\n\n return lineObject;\n};\n\nexport const getCenterPointOrSubPoint = (\n start: Vector3Tuple,\n end: Vector3Tuple\n) => {\n const pointA = new Vector3(start[0], start[1], start[2]);\n const pointB = new Vector3(end[0], end[1], end[2]);\n return {\n centerVector: new Vector3().lerpVectors(pointA, pointB, 0.5), //中心点坐标\n subVector: new Vector3().subVectors(pointA, pointB), // a-b向量\n };\n};\nexport const createTrapezoidalRightOrLeftElement = (props: {\n BW: number;\n TW: number;\n d: number;\n TH: number;\n BH: number;\n isLeft: boolean;\n}): CSS3DObject => {\n const { BW, TW, d, TH, BH, isLeft } = props;\n const height = Math.sqrt(Math.pow(TW / 2 - BW / 2, 2) + Math.pow(d, 2)); //斜边\n const wrapper = document.createElement(\"div\");\n wrapper.style.cssText = `\n width: ${height}px;\n height:${TH}px;\n position: relative;\n clip-path: polygon(0 0, ${height}px ${\n TH / 2 - BH / 2\n }px, ${height}px ${TH / 2 - BH / 2 + BH}px, 0 ${TH}px);\n `;\n const cantCard = document.createElement(\"div\");\n cantCard.className = \"trapezoidalLeftOrRightAnimation\";\n wrapper.appendChild(cantCard);\n const start: Vector3Tuple = isLeft ? [-BW / 2, 0, 0] : [BW / 2, 0, 0];\n const end: Vector3Tuple = isLeft ? [-TW / 2, 0, d] : [TW / 2, 0, d];\n const objectCantModel = new CSS3DObject(wrapper);\n const { centerVector, subVector } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector);\n const quaternion = new Quaternion().setFromUnitVectors(\n new Vector3(1, 0, 0).normalize(),\n subVector.clone().normalize()\n );\n objectCantModel.setRotationFromQuaternion(quaternion);\n return objectCantModel;\n};\n\nexport const createTrapezoidalTopOrBottomElement = (props: {\n BW: number;\n TW: number;\n d: number;\n TH: number;\n BH: number;\n isTop: boolean;\n}): CSS3DObject => {\n const { BW, TW, d, TH, BH, isTop } = props;\n const height = Math.sqrt(Math.pow(TH / 2 - BH / 2, 2) + Math.pow(d, 2)); //斜边\n const wrapper = document.createElement(\"div\");\n wrapper.style.cssText = `\n width: ${TW}px;\n height:${height}px;\n position: relative;\n clip-path: polygon(0 0, ${TW}px 0, ${\n TW / 2 - BW / 2 + BW\n }px ${height}px, ${TW / 2 - BW / 2}px ${height}px);\n `;\n const cantCard = document.createElement(\"div\");\n cantCard.className = \"trapezoidalTopOrBottomAnimation\";\n wrapper.appendChild(cantCard);\n const objectCantModel = new CSS3DObject(wrapper);\n const start: Vector3Tuple = isTop ? [0, -BH / 2, 0] : [0, BH / 2, 0];\n const end: Vector3Tuple = isTop ? [0, -TH / 2, d] : [0, TH / 2, d];\n const { centerVector, subVector } = getCenterPointOrSubPoint(start, end);\n objectCantModel.position.copy(centerVector);\n const topQuaternion = new Quaternion().setFromUnitVectors(\n new Vector3(0, -1, 0).normalize(),\n subVector.clone().normalize()\n );\n objectCantModel.setRotationFromQuaternion(topQuaternion);\n return objectCantModel;\n};\n/**\n * 创建梯台模型\n * @param props\n * @returns\n */\nexport const createTrapezoidalObject = (props: TrapezoidalObjectProps) => {\n const {\n objectData,\n leftBtnName,\n clusters,\n columns,\n leftOnClick,\n rightBtnName,\n rightOnClick,\n appName,\n } = props;\n const d = 600;\n const container = document.createElement(\"div\");\n const objectContainer = new CSS3DObject(container);\n objectContainer.position.set(...objectData.point);\n // 模型为梯形 , 底部和顶部的宽高成一定的比例计算, bw: tw = 1:11; bh:th= 1:4.5\n const BW: number = objectData.width,\n BH: number = objectData.height,\n TW = 1500,\n TH = 1200;\n // 底部\n const bottomCard = document.createElement(\"div\");\n bottomCard.style.cssText = `\n width: ${BW}px;\n height: ${BH}px;\n box-shadow: inset 0px 1px 2px 0px rgba(255,255,255,0.45);\n border: 1px solid rgba(118,255,255,0.58);\n padding: 16px;\n `;\n const objectBottomModel = new CSS3DObject(bottomCard);\n objectBottomModel.position.z = 0;\n objectContainer.add(objectBottomModel);\n\n // 顶部\n const topCard = document.createElement(\"div\");\n topCard.style.cssText = `\n width: ${TW}px;\n height:${TH}px;\n background: linear-gradient(rgb(13, 54, 179,0.6) 0%, rgb(74, 108, 156,0.6) 100%);\n box-sizing: border-box;\n padding: 16px;\n `;\n const thumbnailEle = document.createElement(\n \"data-view.cabinet-thumbnail\"\n ) as CabinetThumbnail;\n thumbnailEle.clusters = clusters ?? [];\n thumbnailEle.columns = columns ?? 4;\n thumbnailEle.appName = appName;\n topCard.className = \"visibilityAnimate\";\n topCard.appendChild(thumbnailEle);\n const objectTopModel = new CSS3DObject(topCard);\n objectTopModel.position.set(0, 0, d);\n\n const objectCantLeftModel = createTrapezoidalRightOrLeftElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isLeft: true,\n }); //斜面右边\n const objectCantRightModel = createTrapezoidalRightOrLeftElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isLeft: false,\n }); //斜面右边\n const objectCantTopModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: true,\n }); //斜面前边\n const objectCantBottomModel = createTrapezoidalTopOrBottomElement({\n BW,\n TW,\n BH,\n TH,\n d,\n isTop: false,\n }); //斜面后面\n objectContainer.add(\n objectCantLeftModel,\n objectCantRightModel,\n objectCantBottomModel,\n objectCantTopModel\n );\n if (leftBtnName) {\n const btnLeft = document.createElement(\"div\");\n btnLeft.style.cssText = `\n color: #6BE0FA;\n font-size: 28px;\n font-weight: 500;\n width: ${TW / 2}px;\n line-height: 16px;\n `;\n btnLeft.className = \"visibilityAnimate\";\n const wordNode = document.createElement(\"span\");\n wordNode.style.cursor = \"pointer\";\n wordNode.innerText = leftBtnName;\n btnLeft.appendChild(wordNode);\n const btnLeftObject = new CSS3DObject(btnLeft);\n btnLeftObject.position.set(-TW / 4 + 10, -TH / 2, 14);\n btnLeftObject.rotateX(Math.PI / 2);\n objectTopModel.add(btnLeftObject);\n wordNode.onpointerdown = leftOnClick;\n }\n if (rightBtnName) {\n const btnRight = document.createElement(\"div\");\n btnRight.style.cssText = `\n color: #FFFFFF;\n font-size: 30px;\n font-weight: 500;\n width: ${TW / 2}px;\n text-shadow: 0px 1px 4px #3366FF;\n text-align: right;\n `;\n btnRight.className = \"visibilityAnimate\";\n const textNode = document.createElement(\"span\");\n textNode.style.cursor = \"pointer\";\n textNode.innerText = rightBtnName;\n\n btnRight.appendChild(textNode);\n const btnRightObject = new CSS3DObject(btnRight);\n btnRightObject.position.set(TW / 4 - 10, -TH / 2, 14);\n btnRightObject.rotateX(Math.PI / 2);\n objectTopModel.add(btnRightObject);\n textNode.onpointerdown = rightOnClick;\n }\n objectContainer.add(objectTopModel);\n return objectContainer;\n};\n/**\n * 布局计算\n * @param dataSource\n * @param maxX\n * @param maxY\n * @returns\n */\nexport const setAppPosition = (\n dataSource: AppData[],\n maxX: number,\n maxY: number\n) => {\n if (!dataSource?.length) return [];\n let appData: Target[] = dataSource.map((d) => ({ ...d, x: 0, y: 0 }));\n if (appData.length === maxX * maxY) {\n appData = appData.map((d, i) => ({\n ...d,\n x: (i % maxX) + 1,\n y: parseInt(`${i / maxX}`) + 1,\n }));\n } else {\n const offset = maxX * (maxY - 1);\n const leng = appData.length - offset;\n for (let d = 0; d < offset; d++) {\n const u = appData[d];\n u.x = (d % maxX) + 1;\n u.y = parseInt(`${d / maxX}`) + 1;\n }\n for (let h = 0; h < leng / 2; h++) {\n const g = appData[h + offset],\n m = appData[appData.length - 1 - h];\n g.x = h + 1;\n g.y = maxY;\n if (g !== m) {\n m.x = maxX - h;\n m.y = maxY;\n }\n }\n }\n return appData;\n};\nexport const createTableTarget = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number\n) => {\n const object3D = new Object3D();\n object3D.position.x =\n data.x * cardSize.outerWidth - (maxX / 2 + 0.5) * cardSize.outerWidth;\n object3D.position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n return object3D;\n};\n\nexport const computeCurvePosition = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number\n) => {\n const position: Position = {\n x: 0,\n y: 0,\n z: 0,\n },\n n = parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI),\n a = maxX / 2 + 0.5;\n position.x = n * Math.sin(Math.PI / (180 / ((data.x - a) * (angle / maxX))));\n position.y =\n -data.y * cardSize.outerHeight + (maxY / 2 + 0.5) * cardSize.outerHeight;\n position.z = n - Math.sqrt(n * n - position.x * position.x);\n return position;\n};\nexport const createCurveTarget = (\n data: Target,\n cardSize: CardSize,\n maxX: number,\n maxY: number,\n angle: number,\n radius: number\n) => {\n const object3D = new Object3D();\n const vector = new Vector3();\n const position = computeCurvePosition(data, cardSize, maxX, maxY, angle);\n object3D.position.x = position.x;\n object3D.position.y = position.y;\n object3D.position.z = position.z;\n vector.x = 0;\n vector.y = object3D.position.y;\n vector.z = radius;\n object3D.lookAt(vector);\n return object3D;\n};\nexport const computeCameraDistance = (\n camera: PerspectiveCamera,\n bounds: bounds,\n distanceConfig: DistanceConfig[],\n length: number\n) => {\n const n = bounds.height + 2 * bounds.margin,\n a = (bounds.width + 2 * bounds.margin) / camera.aspect,\n i =\n (0.5 * Math.max(a, n)) / Math.tan((camera.fov * Math.PI) / 360) +\n bounds.z;\n let o = 0;\n distanceConfig.forEach(function (t) {\n length >= Math.min.apply(null, t.numRange) &&\n length <= Math.max.apply(null, t.numRange) &&\n (o = t.distance);\n });\n return Math.max(o, i);\n};\nexport const getAppRelations = (\n object: CSS3DObject,\n relationsData: Relation[]\n) => {\n const relations: Relation[] = [];\n const userData = object.userData;\n Array.isArray(relationsData) &&\n relationsData.length &&\n relationsData.forEach(function (i) {\n (userData.key !== i.source && userData.key !== i.target) ||\n relations.push(i);\n });\n return relations;\n};\nexport const findElementByEvent = (\n e: MouseEvent,\n tagName: AppWallCardBrickNameType\n) => {\n const _targetName = tagName.toUpperCase();\n const path = (e.composedPath() as Element[]).find(\n (node) => node?.shadowRoot\n ) as Ele;\n if (path?.tagName === _targetName) return path;\n const customEle = document.elementFromPoint(e.clientX, e.clientY);\n const target = customEle?.shadowRoot.elementFromPoint(\n e.clientX,\n e.clientY\n ) as Ele;\n if (target?.tagName === _targetName) return target;\n return null;\n};\n","import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { debounce } from \"lodash\";\nimport { MathUtils, Object3D, PerspectiveCamera, Scene } from \"three\";\nimport {\n CSS3DObject,\n CSS3DRenderer,\n} from \"three/addons/renderers/CSS3DRenderer.js\";\nimport { TrackballControls } from \"three/addons/controls/TrackballControls.js\";\nimport TWEEN, { Tween, Easing } from \"@tweenjs/tween.js\";\nimport type { AppWallProps } from \"./index.jsx\";\nimport {\n AppWallCardBrickEleType,\n BaseConfig,\n CardSize,\n DistanceConfig,\n Ele,\n Position,\n RegisterEvents,\n Target,\n Targets,\n} from \"./interface.js\";\nimport {\n AppData,\n computeCameraDistance,\n createCurveTarget,\n createTableTarget,\n createTrapezoidalObject,\n setAppPosition,\n createRelationLine,\n getAppRelations,\n findElementByEvent,\n} from \"./utils.js\";\n\nimport \"./card-item/index.js\";\nimport { SystemCard, SystemCardProps } from \"./system-card/index.jsx\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nconst distanceConfig: DistanceConfig[] = [\n {\n numRange: [0, 40],\n distance: 3000,\n },\n {\n numRange: [40, 60],\n distance: 2200,\n },\n {\n numRange: [60, 80],\n distance: 2700,\n },\n {\n numRange: [80, 120],\n distance: 3200,\n },\n {\n numRange: [120, 160],\n distance: 3400,\n },\n {\n numRange: [160, 300],\n distance: 3600,\n },\n];\nconst fov = 45;\nconst angle = 100;\nconst panelSpace = 300;\nconst offsetDistance = 500;\n\nconst getViewBounds = (\n length: number,\n cardSize: CardSize,\n margin: number,\n aspectH: number\n) => {\n const maxX = Math.ceil(\n Math.sqrt((length * cardSize.outerHeight) / (aspectH * cardSize.outerWidth))\n );\n const maxY = Math.ceil(length / maxX);\n const radius =\n parseInt(`${maxX * cardSize.outerWidth * 180}`) / (angle * Math.PI);\n const width =\n 2 * radius * Math.sin((Math.PI * (angle / 2)) / 180) + cardSize.outerWidth;\n const height = maxY * cardSize.outerHeight;\n const z = radius - radius * Math.cos((Math.PI * (angle / 2)) / 180);\n return {\n maxX,\n maxY,\n radius,\n bounds: {\n width,\n height,\n margin,\n z,\n },\n };\n};\n\nconst WrappedSystemCard = wrapBrick<SystemCard, SystemCardProps>(\n \"data-view.app-wall-system-card\"\n);\n\nexport function AppWallElement(props: AppWallProps): ReactElement {\n const {\n relations,\n onSystemCardButtonClick,\n useDblclick,\n useDistanceConfig,\n handleCardDbClick,\n rightBtnOnClick,\n leftBtnOnClick,\n cardBrickName,\n cardSize,\n disabledDefaultClickEvent,\n handleCardClick,\n containerId,\n noRotate,\n boundMargin,\n useSystemPopover,\n } = props;\n const [curClickCardItemAppData, setCurClickCardItemAppData] =\n useState<AppData>(null);\n\n const containerRef = useRef<HTMLDivElement>();\n const appwallRef = useRef<HTMLDivElement>();\n const closeBtnRef = useRef<HTMLDivElement>();\n const maskRef = useRef<HTMLDivElement>();\n const systemCardRef = useRef<SystemCard>();\n const popoverRef = useRef<\n HTMLElement &\n Ele & {\n instanceId: string;\n setPosition: (pos: { x: number; y: number }) => void;\n setVisible: (visible: boolean) => void;\n }\n >();\n\n const rendererRef = useRef<CSS3DRenderer>();\n const sceneRef = useRef<Scene>();\n const cameraRef = useRef<PerspectiveCamera>();\n const controlsRef = useRef<TrackballControls>();\n const graph3DViewRef = useRef<CSS3DObject>(); // 梯形模型\n const targetsRef = useRef<Targets>({\n table: [],\n curve: [],\n });\n const objectsRef = useRef<CSS3DObject[]>([]);\n const lineCiCodesRef = useRef<CSS3DObject[]>([]);\n const hoverScaleRef = useRef<number>(1);\n const baseCameraDistance = useRef<number>(5000);\n\n const configRef = useRef<BaseConfig>({\n maxX: 0,\n maxY: 0,\n radius: 0,\n bounds: {\n width: 0,\n height: 0,\n margin: boundMargin,\n z: 0,\n },\n });\n const registerEvents = useRef<RegisterEvents>({\n element: null,\n mouseoverTimer: null,\n mouseoutTimer: null,\n clickTimer: null,\n dblClickTimer: null,\n isShowGraph3D: false,\n isShowAppInfo: false,\n isShowRelations: false,\n enable: true, //是否可以触发事件\n });\n\n const render = useCallback(() => {\n rendererRef.current.render(sceneRef.current, cameraRef.current);\n controlsRef.current.maxDistance =\n baseCameraDistance.current + offsetDistance;\n controlsRef.current.handleResize();\n }, []);\n\n const updateViewBounds = (length: number) => {\n configRef.current = getViewBounds(\n length,\n cardSize,\n boundMargin,\n 1 / cameraRef.current.aspect\n );\n };\n\n const init = () => {\n const containerRect = document\n .getElementById(containerId)\n ?.getBoundingClientRect();\n const width = containerRect?.width || window.innerWidth;\n const height = containerRect?.height || window.innerHeight;\n const aspect = width / height;\n const scene = new Scene();\n const camera = new PerspectiveCamera(fov, aspect, 0.1, 10000);\n\n const renderer = new CSS3DRenderer();\n renderer.setSize(width, height);\n appwallRef.current.replaceChildren(renderer.domElement);\n\n const controls = new TrackballControls(camera, renderer.domElement);\n controls.rotateSpeed = 0.5;\n controls.minDistance = 500;\n controls.maxDistance = 10000;\n controls.noRotate = noRotate;\n\n sceneRef.current = scene;\n cameraRef.current = camera;\n controlsRef.current = controls;\n rendererRef.current = renderer;\n };\n\n const createView = (table: Target[]) => {\n table.forEach((data) => {\n const element = document.createElement(\n cardBrickName\n ) as AppWallCardBrickEleType & Ele;\n element.status = data.status;\n element.cardTitle = data.cardItemProps?.cardTitle;\n element.description = data.cardItemProps?.description;\n element.background = data.cardItemProps?.background;\n element.color = data.cardItemProps?.color;\n element.titleStyle = data.cardItemProps?.titleStyle;\n element.desStyle = data.cardItemProps?.desStyle;\n element.descriptionList = data.cardItemProps?.descriptionList;\n const statusClass = `status-${data?.status || \"normal\"}`;\n element.className = `card-item-container ${statusClass}`;\n element.style.width = `${cardSize.width}px`;\n element.style.height = `${cardSize.height}px`;\n element.classList.add(\"card-item-wrap\");\n // 随机进入\n const objectCSS = new CSS3DObject(element);\n objectCSS.position.set(\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3,\n 4e3 * Math.random() - 2e3\n );\n\n sceneRef.current.add(objectCSS);\n objectsRef.current.push(objectCSS);\n\n const table = createTableTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY\n );\n targetsRef.current.table.push(table);\n const curve = createCurveTarget(\n data,\n cardSize,\n configRef.current.maxX,\n configRef.current.maxY,\n angle,\n configRef.current.radius\n );\n targetsRef.current.curve.push(curve);\n\n objectCSS.userData = data;\n element.__objectCSS = objectCSS;\n element.__userData = data;\n element.__curve = curve;\n });\n };\n\n const createRelationLines = (object: CSS3DObject) => {\n const curRelations = getAppRelations(object, relations);\n const userData = object.userData;\n let lineObject: CSS3DObject, lineTarget: CSS3DObject;\n curRelations?.forEach((relation) => {\n if (relation.source === userData.key) {\n //获取目标target CSS3DObject\n lineTarget = objectsRef.current.find(\n (o) => o.userData.key === relation.target\n );\n lineObject =\n lineTarget &&\n createRelationLine(object.position, lineTarget.position, \"blue\");\n } else {\n lineTarget = objectsRef.current.find(\n (o) => o.userData.key === relation.source\n );\n lineObject =\n lineTarget &&\n createRelationLine(lineTarget.position, object.position, \"purple\");\n }\n if (!lineObject) return;\n lineCiCodesRef.current.push(lineObject);\n sceneRef.current.add(lineObject);\n });\n objectsRef.current?.forEach((item) => {\n if (\n object != item &&\n curRelations.every(\n (r) => r.source != item.userData.key && r.target != item.userData.key\n )\n ) {\n item.element.style.opacity = \"0.2\";\n }\n });\n };\n\n const showElementBetweenRelation = (target: Ele) => {\n const { __objectCSS, __userData } = target;\n const rotationY = __objectCSS.rotation.y;\n const currentEleRect = __objectCSS.element.getBoundingClientRect();\n const position: Position = {\n x: __objectCSS.position.x + 50 * Math.sin(rotationY),\n y: __objectCSS.position.y + 15,\n z: __objectCSS.position.z + 100 * Math.cos(rotationY),\n };\n\n const scale =\n currentEleRect.width >= cardSize.width\n ? hoverScaleRef.current\n : Math.min(\n cardSize.width / currentEleRect.width,\n cardSize.height / currentEleRect.height\n ),\n duration = 100;\n registerEvents.current.isShowRelations = true;\n new Tween(__objectCSS.rotation)\n // .to(\n // {\n // x: 0,\n // y: 0,\n // z: 0,\n // },\n // duration\n // )\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.add(\n `status-${__userData.status || \"normal\"}-card`\n );\n })\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: scale,\n y: scale,\n z: scale,\n },\n duration\n )\n .start();\n\n new Tween(__objectCSS.position)\n .to(position, duration)\n .onUpdate(render)\n .onComplete(function () {\n //创建连线\n createRelationLines(__objectCSS);\n render();\n registerEvents.current.element = target;\n\n if (useSystemPopover) {\n const rect = target.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n\n popoverRef.current.instanceId = target?.__userData?.data?.instanceId;\n popoverRef.current.setPosition({ x: centerX, y: centerY });\n popoverRef.current.setVisible(true);\n }\n })\n .start();\n };\n\n const restoreElementState = (onComplete?: (ele?: Ele) => void) => {\n if (!registerEvents.current?.element) return onComplete?.();\n const {\n __objectCSS,\n __curve: object3d,\n __userData,\n } = registerEvents.current.element;\n const duration = 100;\n\n new Tween(__objectCSS.rotation)\n .to(\n {\n x: object3d.rotation.x,\n y: object3d.rotation.y,\n z: object3d.rotation.z,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: 1,\n y: 1,\n z: 1,\n },\n duration\n )\n .start();\n new Tween(__objectCSS.position)\n .to(\n {\n x: object3d.position.x,\n y: object3d.position.y,\n z: object3d.position.z,\n },\n duration\n )\n .onUpdate(render)\n .onStart(() => {\n cardBrickName === \"data-view.app-wall-card-item\" &&\n __objectCSS.element.classList.remove(\n `status-${__userData.status || \"normal\"}-card`\n );\n objectsRef.current?.forEach((item) => {\n item.element.style.opacity = \"1\";\n });\n lineCiCodesRef.current.forEach((lineObject) => {\n sceneRef.current.remove(lineObject);\n });\n lineCiCodesRef.current = [];\n render();\n })\n .onComplete(() => {\n registerEvents.current.isShowRelations = false;\n onComplete?.(registerEvents.current?.element);\n })\n .start();\n };\n\n const transform = (targets: Object3D[], duration: number) => {\n registerEvents.current.enable = false;\n for (let i = 0; i < objectsRef.current.length; i++) {\n const object = objectsRef.current[i];\n const target = targets[i];\n\n new Tween(object.position)\n .to(\n {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n\n new Tween(object.rotation)\n .to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n MathUtils.randFloat(duration, duration * 2)\n )\n .easing(Easing.Exponential.InOut)\n .start();\n }\n\n new Tween({})\n .to({}, duration * 2)\n .onUpdate(render)\n .start()\n .onComplete(() => {\n registerEvents.current.enable = true;\n });\n };\n\n const handeReset = () => {\n TWEEN.removeAll();\n const o = {\n opacity: 1,\n },\n e = new Tween({\n z: 0,\n }),\n n = new Tween(o),\n a = new Tween(cameraRef.current.position),\n i = new Tween(controlsRef.current.target),\n r = new Tween({\n blur: 1500,\n spread: 100,\n });\n e.to(\n {\n z: panelSpace,\n },\n 1e3\n ).chain(a, i, r);\n n.to(\n {\n opacity: 0,\n },\n 1e3\n )\n .onStart(() => {\n sceneRef.current.remove(graph3DViewRef.current);\n closeBtnRef.current.style.visibility = \"hidden\";\n })\n .delay(300);\n\n a.to(controlsRef.current.position0, 1e3).onComplete(function () {\n controlsRef.current.reset();\n appwallRef.current.classList.remove(\"mask-container\");\n transform(targetsRef.current.curve, 600);\n registerEvents.current.isShowGraph3D = false;\n });\n i.to(\n {\n x: 0,\n y: 0,\n z: 0,\n },\n 1e3\n );\n r.to(\n {\n blur: 0,\n spread: 0,\n },\n 1e3\n );\n e.start();\n n.start();\n };\n const showAppInfoAnimate = (toggle: boolean) => {\n controlsRef.current.reset();\n const object = registerEvents.current.element.__objectCSS;\n const target = registerEvents.current.element.__curve;\n registerEvents.current.enable = false;\n registerEvents.current.isShowAppInfo = true;\n //定义四个位置\n const c = {\n x: target.position.x > 0 ? 2 * -cardSize.width : 2 * cardSize.width,\n y: 0,\n z: (cameraRef.current.position.z - 500) / 1.5,\n };\n const p = {\n x: 0,\n y: 0,\n z: cameraRef.current.position.z - 500,\n };\n const h = {\n x: 0,\n y: target.rotation.y > 0 ? (-Math.PI * 90) / 180 : (Math.PI * 90) / 180,\n z: 0,\n };\n const d = {\n x: 0,\n y: target.rotation.y > 0 ? (-Math.PI * 180) / 180 : (Math.PI * 180) / 180,\n z: 0,\n };\n const i = new Tween(object.position);\n const r = new Tween(object.rotation);\n const o = new Tween(object.position);\n const s = new Tween(object.rotation);\n if (toggle) {\n //收\n i.to(c, 500)\n .easing()\n .onComplete(() => {\n systemCardRef.current.hidden = true;\n registerEvents.current.element.style.opacity = \"1\";\n });\n r.to(h, 500).easing();\n o.to(\n {\n x: target.position.x,\n y: target.position.y,\n z: target.position.z,\n },\n 700\n ).easing();\n s.to(\n {\n x: target.rotation.x,\n y: target.rotation.y,\n z: target.rotation.z,\n },\n 700\n )\n .easing()\n .onComplete(() => {\n objectsRef.current?.forEach((item) => {\n item.element.style.opacity = \"1\";\n });\n });\n } else {\n //出\n objectsRef.current?.forEach((item) => {\n if (object != item) {\n item.element.style.opacity = \"0.2\";\n }\n });\n i.to(c, 700)\n .easing()\n .onStart(() => {\n //为了飞出去的途中,不能在点击其他的卡片飞出来\n maskRef.current.hidden = false;\n systemCardRef.current.hidden = true;\n });\n r.to(h, 700).easing();\n o.to(p, 500)\n .easing()\n .onStart(function () {\n registerEvents.current.element.style.opacity = \"0\";\n systemCardRef.current.style.transition = \"transition: all .3s ease\";\n systemCardRef.current.hidden = false;\n });\n s.to(d, 500).easing();\n }\n i.chain(o).start();\n r.chain(s).start();\n new Tween({})\n .to({}, 1400)\n .onUpdate(() => {\n render();\n if (Math.abs(object.rotation.y) >= Math.PI / 2) {\n const rect = registerEvents.current.element.getBoundingClientRect();\n const scale = 1.35;\n const width = rect.width * scale;\n const height = rect.height * scale;\n systemCardRef.current.style.width = `${width}px`;\n systemCardRef.current.style.height = `${height}px`;\n systemCardRef.current.style.top = `${\n rect.top - ((scale - 1) * height) / 2\n }px`;\n systemCardRef.current.style.left = `${\n rect.left - ((scale - 1) * width) / 2\n }px`;\n }\n })\n .start()\n .onComplete(function () {\n registerEvents.current.enable = true;\n registerEvents.current.isShowAppInfo = !toggle;\n maskRef.current.hidden = toggle;\n });\n };\n const resetView = () => {\n controlsRef.current.reset();\n TWEEN.removeAll();\n objectsRef.current.map((o) => {\n sceneRef.current.remove(o);\n });\n objectsRef.current = [];\n targetsRef.current = {\n table: [],\n curve: [],\n };\n //重置交互状态\n registerEvents.current = {\n element: null,\n mouseoverTimer: null,\n mouseoutTimer: null,\n clickTimer: null,\n dblClickTimer: null,\n enable: true,\n isShowAppInfo: false,\n isShowGraph3D: false,\n isShowRelations: false,\n };\n };\n\n useEffect(() => {\n init();\n let cancel: number;\n const animate = () => {\n cancel = requestAnimationFrame(animate);\n TWEEN.update();\n controlsRef.current.update();\n };\n animate();\n const container = containerId\n ? document.getElementById(containerId)\n : document.body;\n\n const observer = new ResizeObserver(\n debounce(() => {\n const { width, height } = container.getBoundingClientRect();\n cameraRef.current.aspect = width / height;\n cameraRef.current.updateProjectionMatrix();\n rendererRef.current.setSize(width, height);\n render();\n }, 300)\n );\n controlsRef.current.addEventListener(\"change\", render);\n observer.observe(container);\n return () => {\n observer.disconnect();\n controlsRef.current.removeEventListener(\"change\", render);\n controlsRef.current.dispose();\n TWEEN.removeAll();\n cameraRef.current.clear();\n sceneRef.current.clear();\n cancelAnimationFrame(cancel);\n };\n }, []);\n\n useEffect(() => {\n const length = props.dataSource?.length || 0;\n if (length > 0) {\n updateViewBounds(length);\n baseCameraDistance.current = computeCameraDistance(\n cameraRef.current,\n configRef.current.bounds,\n useDistanceConfig ? distanceConfig : [],\n length\n );\n cameraRef.current.position.z = baseCameraDistance.current;\n cameraRef.current.updateProjectionMatrix();\n controlsRef.current.position0.copy(cameraRef.current.position);\n\n const appData = setAppPosition(\n props.dataSource,\n configRef.current.maxX,\n configRef.current.maxY\n );\n createView(appData);\n transform(targetsRef.current.curve, 1000);\n }\n\n return () => {\n resetView();\n };\n }, [props.dataSource, useDistanceConfig]);\n\n useEffect(() => {\n if (useSystemPopover) {\n const element = document.createElement(\"monitoring.sys-popover\") as any;\n popoverRef.current = element;\n document.querySelector(\"#main-mount-point\").appendChild(element);\n }\n }, [useSystemPopover]);\n\n useEffect(() => {\n const container = containerRef.current;\n const handleMouseover = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n const target = findElementByEvent(e, cardBrickName);\n if (useSystemPopover) {\n const canRenderPopover =\n popoverRef.current?.instanceId !=\n target?.__userData?.data?.instanceId;\n\n if (!target || !canRenderPopover) {\n popoverRef.current.setVisible(false);\n }\n }\n registerEvents.current.mouseoverTimer = window.setTimeout(() => {\n restoreElementState(() => {\n target &&\n !registerEvents.current.isShowAppInfo &&\n showElementBetweenRelation(target);\n clearTimeout(registerEvents.current.mouseoverTimer);\n });\n }, 300);\n };\n\n const handleMouseout = (e: MouseEvent) => {\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n const target = findElementByEvent(e, cardBrickName);\n if (useSystemPopover) {\n const canRenderPopover =\n popoverRef.current.instanceId != target?.__userData?.data?.instanceId;\n\n if (!target || !canRenderPopover) {\n popoverRef.current.setVisible(false);\n }\n }\n };\n\n const handleClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n registerEvents.current.clickTimer = window.setTimeout(function () {\n clearTimeout(registerEvents.current.mouseoverTimer);\n restoreElementState(() => {\n if (target) {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n e.stopPropagation();\n registerEvents.current.element = target;\n if (disabledDefaultClickEvent) {\n handleCardClick?.(target.__userData);\n } else {\n setCurClickCardItemAppData(target.__userData);\n showAppInfoAnimate(false);\n }\n }\n });\n }, 200);\n };\n const handleDbClick = (e: MouseEvent) => {\n clearTimeout(registerEvents.current.clickTimer);\n clearTimeout(registerEvents.current.mouseoverTimer);\n clearTimeout(registerEvents.current.dblClickTimer);\n if (\n registerEvents.current.isShowAppInfo ||\n registerEvents.current.isShowGraph3D ||\n !registerEvents.current.enable\n )\n return false;\n\n const target = findElementByEvent(e, cardBrickName);\n const { __userData, __objectCSS } = target;\n registerEvents.current.isShowGraph3D = true;\n registerEvents.current.dblClickTimer = window.setTimeout(function () {\n restoreElementState(() => {\n if (\n useDblclick ||\n __userData.trapezoidalProps?.clusters?.length < 1\n ) {\n handleCardDbClick(__userData);\n registerEvents.current.isShowGraph3D = false;\n } else {\n if (target) {\n clearTimeout(registerEvents.current.mouseoverTimer);\n clearTimeout(registerEvents.current.clickTimer);\n appwallRef.current.classList.add(\"mask-container\");\n controlsRef.current.reset();\n const basePosition = {\n opacity: 0,\n scale: 0,\n borderLeftWidth: 0,\n borderRightWidth: 0,\n borderTopWidth: 0,\n borderBottomWidth: 0,\n };\n const u = {\n x: __objectCSS.position.x,\n y:\n 860 +\n cardSize.height * (configRef.current.maxY - __userData.y),\n };\n const n = new Tween(cameraRef.current.position);\n const a = new Tween(basePosition);\n const i = new Tween({\n z: 0,\n });\n const r = new Tween(cameraRef.current.position);\n const o = new Tween(controlsRef.current.target);\n const s = new Tween({\n blur: 12,\n spread: 0,\n });\n transform(targetsRef.current.table, 600);\n n.to(\n {\n x: 0,\n y: -3600,\n z: 1600,\n },\n 1e3\n ).chain(s, a, i);\n a.to(\n {\n opacity: 1,\n },\n 700\n ).onStart(() => {\n const objectContainer = createTrapezoidalObject({\n objectData: {\n width: cardSize.width,\n height: cardSize.height,\n point: [\n __objectCSS.position.x,\n __objectCSS.position.y,\n __objectCSS.position.z,\n ],\n },\n clusters: __userData.trapezoidalProps?.clusters,\n columns: __userData.trapezoidalProps?.columns,\n appName: __userData.trapezoidalProps?.appName,\n leftBtnName: __userData.trapezoidalProps?.leftBtnName,\n rightBtnName: __userData.trapezoidalProps?.rightBtnName,\n rightOnClick: () => rightBtnOnClick(__userData),\n leftOnClick: () => leftBtnOnClick(__userData),\n });\n graph3DViewRef.current = objectContainer;\n sceneRef.current.add(objectContainer);\n });\n i.to(\n {\n z: panelSpace,\n },\n 1e3\n )\n .delay(230)\n .chain(r, o);\n\n r.to(\n {\n x: u.x,\n y: -3600 + u.y,\n },\n 1e3\n );\n o.to(\n {\n x: u.x,\n y: u.y,\n },\n 1e3\n ).onComplete(function () {\n closeBtnRef.current.style.visibility = \"visible\";\n });\n n.start();\n }\n }\n });\n }, 200);\n };\n\n container.addEventListener(\"dblclick\", handleDbClick);\n container.addEventListener(\"click\", handleClick);\n container.addEventListener(\"mouseover\", handleMouseover);\n container.addEventListener(\"mouseout\", handleMouseout);\n return () => {\n container.removeEventListener(\"mouseover\", handleMouseover);\n container.removeEventListener(\"mouseout\", handleMouseout);\n container.removeEventListener(\"click\", handleClick);\n container.removeEventListener(\"dblclick\", handleDbClick);\n };\n }, [disabledDefaultClickEvent, handleCardClick]);\n\n return (\n <div className=\"appwall-container\" ref={containerRef}>\n <div className=\"appwall\" ref={appwallRef}></div>\n <div\n className=\"mask\"\n ref={maskRef}\n onClick={() => {\n registerEvents.current.enable && showAppInfoAnimate(true);\n }}\n hidden={true}\n >\n <WrappedSystemCard\n {...curClickCardItemAppData?.systemCardProps}\n onClick={(e) => e.stopPropagation()}\n handleClick={() => onSystemCardButtonClick(curClickCardItemAppData)}\n ref={systemCardRef}\n className={classNames({\n infoWrapper: curClickCardItemAppData?.status === \"normal\",\n warningWrapper: curClickCardItemAppData?.status === \"warning\",\n })}\n />\n </div>\n <div\n className=\"closeBtn\"\n ref={closeBtnRef}\n onClick={() => {\n handeReset();\n }}\n />\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, `:host{--palette-rgba-white-1:rgba(255,255,255,10%);--palette-rgba-white-2:rgba(255,255,255,20%);--palette-rgba-white-3:rgba(255,255,255,30%);--palette-rgba-white-4:rgba(255,255,255,40%);--palette-rgba-white-5:rgba(255,255,255,50%);--palette-rgba-white-6:rgba(255,255,255,60%);--palette-rgba-white-7:rgba(255,255,255,70%);--palette-rgba-white-8:rgba(255,255,255,80%);--palette-rgba-white-9:rgba(255,255,255,90%);--palette-rgba-white-10:rgba(255,255,255,100%);--palette-rgba-gray-1:rgba(0,0,0,10%);--palette-rgba-gray-2:rgba(0,0,0,20%);--palette-rgba-gray-3:rgba(0,0,0,30%);--palette-rgba-gray-4:rgba(0,0,0,40%);--palette-rgba-gray-5:rgba(0,0,0,50%);--palette-rgba-gray-6:rgba(0,0,0,60%);--palette-rgba-gray-7:rgba(0,0,0,70%);--palette-rgba-gray-8:rgba(0,0,0,80%);--palette-rgba-gray-9:rgba(0,0,0,90%);--palette-rgba-gray-10:rgba(0,0,0,100%);--palette-rgba-blue-gray-2:rgba(101,106,134,20%);--palette-rgba-blue-gray-3:rgba(101,106,134,30%);--palette-rgba-blue-gray-8:rgba(101,106,134,80%);--palette-tech-blue-4-channel:67,127,255;--palette-tech-blue-4:rgb(var(--palette-tech-blue-4-channel));--palette-tech-blue-6-channel:51,102,255;--palette-tech-blue-6:rgb(var(--palette-tech-blue-6-channel));--palette-tech-blue-8-channel:40,69,159;--palette-tech-blue-8:rgb(var(--palette-tech-blue-8-channel));--palette-sea-green-4-channel:131,245,225;--palette-sea-green-4:rgb(var(--palette-sea-green-4-channel));--palette-green-6-channel:81,235,73;--palette-green-6:rgb(var(--palette-green-6-channel));--palette-green-2:rgba(var(--palette-green-6-channel),20%);--palette-lotus-pink-7-channel:204,0,102;--palette-lotus-pink-7:rgb(var(--palette-lotus-pink-7-channel));--palette-red-6-channel:242,39,39;--palette-red-6:rgb(var(--palette-red-6-channel));--palette-red-2:rgba(var(--palette-red-6-channel),20%);--color-fill-global-bg:#0f1014;--color-fill-bg-container-1:var(--palette-rgba-white-1);--color-fill-bg-container-2:var(--palette-rgba-blue-gray-2);--color-fill-bg-container-3:var(--palette-rgba-blue-gray-8);--color-fill-bg-base-1:var(--palette-rgba-blue-gray-2);--color-fill-bg-base-2:rgba(15,16,20,0%);--color-fill-bg-base-3:rgba(0,0,0,20%);--color-fill-bg-base-4:rgba(40,46,58,100%);--color-fill-bg-base-5:rgba(19,25,47,80%);--color-fill-bg-base-6:var(--palette-rgba-blue-gray-3);--color-brand:var(--palette-tech-blue-6);--color-brand-hover:var(--palette-tech-blue-4);--color-brand-active:var(--palette-tech-blue-8);--color-contrast-1:var(--palette-sea-green-4);--color-error:var(--palette-red-6);--color-error-bg:var(--palette-red-2);--color-success:var(--palette-green-6);--color-success-bg:var(--palette-green-2);--color-header-text-big:var(--palette-rgba-white-10);--color-header-text:var(--palette-rgba-white-10);--color-normal-text:var(--palette-rgba-white-10);--color-strong-text:var(--palette-rgba-white-9);--color-auxiliary-text:var(--palette-rgba-white-8);--color-secondary-text:var(--palette-rgba-white-6);--color-disabled-text:var(--palette-rgba-white-4);--color-border-divider-line:var(--palette-rgba-white-1);--color-text-divider-line-1:var(--palette-rgba-white-2);--color-text-divider-line-2:var(--palette-rgba-white-2);--small-border-radius:2px;--medius-border-radius:5px;--larger-border-radius:12px;--container-border-radius:9999px;--no-border-radius:0px;--mask-bg:var(--palette-rgba-gray-7);--title-font-size-larger:30px;--title-font-size-strong:22px;--title-font-size:18px;--normal-font-size:14px;--auxiliary-font-size:16px;--auxiliary-font-size-small:12px;--overview-data-font-size:34px;--statistics-data-font-size:28px;--normal-data-font-size-larger:20px;--normal-data-font-size:16px;--chart-legend-font-size:12px;--chart-tooltips-font-size-1:12px;--chart-tooltips-font-size-2:12px;--chart-axis-x-font-size:12px;--chart-axis-x-font-size-larger:14px;--chart-axis-y-font-size:12px;--chart-axis-y-font-size-larger:14px;--font-weight-600:600;--font-weight-500:500;--font-weight-400:400;--text-shadow:0px 1px 4px #2863ee;--border-width-base:1px;--border-width-double-base:2px;--border-width-tribble-base:3px;--punctate-width-base:1px;--paragraph-width-base:1px;--button-text-color:#40d0db}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","createRelationLine","sourceVector","targetVector","lightColor","subVector","Vector3","subVectors","lineLength","length","lineElement","document","createElement","style","height","classList","add","lineObject","CSS3DObject","centerVector","lerpVectors","position","copy","quaternion","Quaternion","setFromUnitVectors","normalize","clone","setRotationFromQuaternion","getCenterPointOrSubPoint","start","end","pointA","pointB","createTrapezoidalRightOrLeftElement","props","BW","TW","d","TH","BH","isLeft","Math","sqrt","pow","wrapper","cssText","cantCard","className","appendChild","objectCantModel","createTrapezoidalTopOrBottomElement","isTop","topQuaternion","createTrapezoidalObject","objectData","leftBtnName","clusters","columns","leftOnClick","rightBtnName","rightOnClick","appName","container","objectContainer","set","point","width","bottomCard","objectBottomModel","z","topCard","thumbnailEle","objectTopModel","objectCantLeftModel","objectCantRightModel","objectCantTopModel","objectCantBottomModel","btnLeft","wordNode","cursor","innerText","btnLeftObject","rotateX","PI","onpointerdown","btnRight","textNode","btnRightObject","setAppPosition","dataSource","maxX","maxY","appData","map","x","y","i","parseInt","offset","leng","u","h","g","m","createTableTarget","data","cardSize","object3D","Object3D","outerWidth","outerHeight","createCurveTarget","angle","radius","vector","computeCurvePosition","n","a","sin","lookAt","computeCameraDistance","camera","bounds","distanceConfig","margin","aspect","max","tan","fov","o","forEach","t","min","apply","numRange","distance","getAppRelations","object","relationsData","relations","userData","Array","isArray","key","source","target","findElementByEvent","e","tagName","_targetName","toUpperCase","path","composedPath","find","node","shadowRoot","customEle","elementFromPoint","clientX","clientY","panelSpace","offsetDistance","getViewBounds","aspectH","ceil","cos","WrappedSystemCard","wrapBrick","AppWallElement","onSystemCardButtonClick","useDblclick","useDistanceConfig","handleCardDbClick","rightBtnOnClick","leftBtnOnClick","cardBrickName","disabledDefaultClickEvent","handleCardClick","containerId","noRotate","boundMargin","useSystemPopover","curClickCardItemAppData","setCurClickCardItemAppData","useState","containerRef","useRef","appwallRef","closeBtnRef","maskRef","systemCardRef","popoverRef","rendererRef","sceneRef","cameraRef","controlsRef","graph3DViewRef","targetsRef","table","curve","objectsRef","lineCiCodesRef","hoverScaleRef","baseCameraDistance","configRef","registerEvents","element","mouseoverTimer","mouseoutTimer","clickTimer","dblClickTimer","isShowGraph3D","isShowAppInfo","isShowRelations","enable","render","useCallback","current","maxDistance","handleResize","restoreElementState","onComplete","_registerEvents$curre","__objectCSS","__curve","object3d","__userData","Tween","rotation","to","scale","onUpdate","onStart","_objectsRef$current2","remove","status","item","opacity","_registerEvents$curre2","transform","targets","duration","MathUtils","randFloat","easing","Easing","Exponential","InOut","showAppInfoAnimate","toggle","reset","c","p","r","s","_objectsRef$current4","hidden","_objectsRef$current3","transition","chain","abs","rect","getBoundingClientRect","top","left","useEffect","cancel","init","_document$getElementB","containerRect","getElementById","window","innerWidth","innerHeight","scene","Scene","PerspectiveCamera","renderer","CSS3DRenderer","setSize","replaceChildren","domElement","controls","TrackballControls","rotateSpeed","minDistance","animate","requestAnimationFrame","TWEEN","update","body","observer","ResizeObserver","debounce","updateProjectionMatrix","addEventListener","observe","disconnect","removeEventListener","dispose","clear","cancelAnimationFrame","_props$dataSource","updateViewBounds","position0","_data$cardItemProps","_data$cardItemProps2","_data$cardItemProps3","_data$cardItemProps4","_data$cardItemProps5","_data$cardItemProps6","_data$cardItemProps7","cardTitle","cardItemProps","description","background","color","titleStyle","desStyle","descriptionList","statusClass","objectCSS","random","querySelector","handleMouseover","clearTimeout","_popoverRef$current","_target$__userData2","canRenderPopover","instanceId","setVisible","setTimeout","rotationY","currentEleRect","_objectsRef$current","curRelations","lineTarget","relation","every","createRelationLines","_target$__userData","centerX","centerY","setPosition","showElementBetweenRelation","handleMouseout","_target$__userData3","handleClick","stopPropagation","handleDbClick","_userData$trapezoida","trapezoidalProps","basePosition","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","blur","spread","_userData$trapezoida2","_userData$trapezoida3","_userData$trapezoida4","_userData$trapezoida5","_userData$trapezoida6","delay","visibility","React","ref","onClick","_extends","systemCardProps","classNames","infoWrapper","warningWrapper","handeReset"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[3171,5552],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>d,i18nText:()=>l,initializeI18n:()=>u});var i=t(75630),s=t(
|
|
2
|
-
//# sourceMappingURL=3171.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[3171,5552],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>d,i18nText:()=>l,initializeI18n:()=>u});var i=t(75630),s=t(34726),r=t(848);let a=!1;const o=new Set;function u(e,n){if(a||(a=!0,s.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!o.has(e)){o.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var c=t(24493);function l(e){var n;if(!e)return;const t=null!==(n=s.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,t))return e[t];const i=t.split("-")[0];if(i!==t)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;const r=`${i}-`;for(const n of Object.keys(e))if(n.startsWith(r))return e[n]}const d=i.default}}]);
|
|
2
|
+
//# sourceMappingURL=3171.f1058377.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/3171.
|
|
1
|
+
{"version":3,"file":"chunks/3171.f1058377.js","mappings":"oPAEA,IAAIA,GAAc,EAClB,MAAMC,EAAwB,IAAIC,IAC3B,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAAjD,CAGAH,EAAsBmB,IAAIhB,GAC1B,IAAK,MAAOiB,EAAMH,KAAcI,OAAOC,QAAQlB,GAC7C,EAAAC,KAAKkB,kBAAkBH,EAAMjB,EAAIc,EAHnC,CAKF,C,eCjCO,SAASO,EAASC,GACvB,IAAIC,EACJ,IAAKD,EACH,OAEF,MAAME,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAE3G,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOZ,OAAOa,KAAKT,GAC5B,GAAIQ,EAAIE,WAAWH,GACjB,OAAOP,EAAKQ,EAGlB,CC3BO,MAAM5B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nlet initialized = false;\nconst initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (const [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n var _i18n$language;\n if (!data) {\n return;\n }\n const language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _i18n$language : \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n const primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n const prefix = `${primaryLanguage}-`;\n for (const key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport const i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","add","lang","Object","entries","addResourceBundle","i18nText","data","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[4765,7146],{97146:(e,t,r)=>{function o(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(n,s){if("string"==typeof t?n.name===t:t.includes(n.name)){const t=[];for(let i=1;i<=r;i++){const r=s[s.length-i];if("MemberExpression"===(null==r?void 0:r.node.type)&&"object"===r.key){const s=r.node;s.computed||"Identifier"!==s.property.type?s.computed&&"Literal"===s.property.type&&"string"==typeof s.property.value?t.push(o?`${n.name}.${s.property.value}`:s.property.value):e.hasNonStaticUsage=!0:t.push(o?`${n.name}.${s.property.name}`:s.property.name)}else e.hasNonStaticUsage=!0}t.length===r&&e.usedProperties.add(t.join("."))}}}function n(e,t){return function(r,o,n){if(o.name===e){const e=n[n.length-1],o=n[n.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==e?void 0:e.node.type)&&"object"===e.key&&(e.node.computed?"Literal"===e.node.property.type&&e.node.property.value===t:"Identifier"===e.node.property.type&&e.node.property.name===t)){const e=o.node.arguments;if(e.length>0){const t=e[0];"Literal"===t.type&&"string"==typeof t.value?r.usedArgs.add(t.value):r.hasNonStaticUsage=!0}}}}}r.r(t),r.d(t,{beforeVisitGlobalMember:()=>o,collectAppGetMenuUsage:()=>s,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>b,createProviderClass:()=>c.createProviderClass,replaceUseChildren:()=>E,scanPermissionActionsInAny:()=>A,scanPermissionActionsInStoryboard:()=>m,strictCollectMemberUsage:()=>u,track:()=>f,trackAll:()=>y,traverseStoryboardExpressions:()=>l,traverseStoryboardFunction:()=>g,traverseStoryboardFunctions:()=>h,unwrapProvider:()=>c.unwrapProvider});const s=n("APP","getMenu"),i=n("INSTALLED_APPS","has");var a=r(71321),c=r(24493);function l(e,t,r){const o=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:s,visitNonExpressionString:i,visitObject:l}="string"==typeof r?{matchExpressionString:e=>e.includes(r)}:r;!function e(r){if("string"==typeof r)if((0,a.isEvaluable)(r))if(n(r))try{(0,a.preevaluate)(r,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal(e,o){t(e,o,r)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==s||s(r);else null==i||i(r);else if((0,c.isObject)(r)){if(o.has(r))return;o.add(r),null==l||l(r);for(const t of Array.isArray(r)?r:Object.values(r))e(t)}}(e)}function u(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const{hasNonStaticUsage:o,nonStaticUsage:n,usedProperties:s}=p(e,t,r);if(o)throw new Error(`Non-static usage of ${t} is prohibited, check your expression: "${n}"`);return s}function p(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n={usedProperties:new Set,hasNonStaticUsage:!1},s=o(n,t,r);return l(e,((e,t,r)=>{s(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=r)}),t),n}const d=["CTX","STATE","FORM_STATE"];function f(e,t,r){if(e.includes(t)){const n={usedProperties:new Set,hasNonStaticUsage:!1},{expression:s}=(0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(n,r)}});let i;if("SequenceExpression"===s.type&&(i=s.expressions[0])&&"Literal"===i.type&&i.value===t){if(n.usedProperties.size>0)return n.usedProperties;console.warn(`You are using "${t}" but no \`${r}\` usage found in your expression: ${JSON.stringify(e)}`)}}return!1}function y(e){if(d.some((t=>e.includes(t)))){const t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(t,d,1,!0)}}),t.usedProperties.size>0){const e=[...t.usedProperties],r={context:!1,state:!1,formState:!1},o={CTX:"context",STATE:"state",FORM_STATE:"formState"};return e.forEach((e=>{const[t,n]=e.split(".");r[o[t]]||(r[o[t]]=[]),r[o[t]].push(n)})),r}console.warn(`You are using track all but no "CTX" or "STATE" or "FORM_STATE" usage found in your expression: ${JSON.stringify(e)}`)}return!1}function h(e,t,r){if(Array.isArray(e))for(const o of e)null!=r&&r.matchSource&&!r.matchSource(o.source)||g(o,t)}function g(e,t,r){try{(0,a.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t},cacheKey:e})}catch(t){r||console.error(`Parse storyboard function "${e.name}" failed:`,t)}}function b(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const s={usedProperties:new Set,hasNonStaticUsage:!1};if(e.source.includes(t)&&g(e,o(s,t,n),r),s.hasNonStaticUsage&&!r)throw new Error(`Non-static usage of ${t} is prohibited, check your function: "${e.name}"`);return s.usedProperties.delete(e.name),s.usedProperties}const S="PERMISSIONS",v="check";function m(e){var t;const r=new Set,o=P(r),{customTemplates:n,functions:s}=null!==(t=e.meta)&&void 0!==t?t:{};return l([e.routes,n],o,S),h(s,o,{matchSource:e=>e.includes(S)}),Array.from(r)}function A(e){const t=new Set;return l(e,P(t),S),Array.from(t)}function P(e){return function(t,r){if(t.name===S){const t=r[r.length-1],o=r[r.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==t?void 0:t.node.type)&&"object"===t.key&&(t.node.computed?"Literal"===t.node.property.type&&t.node.property.value===v:"Identifier"===t.node.property.type&&t.node.property.name===v))for(const t of o.node.arguments)"Literal"===t.type&&"string"==typeof t.value&&e.add(t.value)}}}var k=r(20563);const w=/^\[\w+\]$/;function E(e){if(Array.isArray(e))for(const t of e)x(t);else x(e)}function x(e){let t=e.slots;const r=new Map;if(Array.isArray(e.children)&&!t){const t=[];for(const n of e.children){var o;const e=null!==(o=n.slot)&&void 0!==o?o:"";if(w.test(e)){delete n.slot;const o=r.get(e);o?o.push(n):r.set(e,[n]),t.push(n)}x(n)}(0,k.pull)(e.children,...t)}else{null!=t||(t={});for(const[e,o]of Object.entries(t)){if(w.test(e)){const{bricks:n}=o;Array.isArray(n)&&n.length>0&&(r.set(e,n),E(n)),delete t[e]}Array.isArray(o.bricks)&&E(o.bricks)}}r.size>0&&T(e.properties,r)}function T(e,t){if(Array.isArray(e))for(const r of e)T(r,t);else if((0,c.isObject)(e))for(const[r,o]of Object.entries(e))if("useChildren"===r){const n=t.get(o);n&&(delete e[r],e.useBrick=1===n.length?n[0]:n)}else T(o,t)}}}]);
|
|
2
|
+
//# sourceMappingURL=4765.108f59d4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/4765.108f59d4.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/beforeVisitGlobalMember.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberCallUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/track.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/collectMemberUsageInFunction.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/permissions.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/replaceUseChildren.js"],"sourcesContent":["export function beforeVisitGlobalMember(usage, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n let rememberObjectName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return function beforeVisitGlobal(node, parent) {\n if (typeof objectName === \"string\" ? node.name === objectName : objectName.includes(node.name)) {\n const segments = [];\n for (let i = 1; i <= level; i++) {\n const memberParent = parent[parent.length - i];\n if ((memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\") {\n const memberNode = memberParent.node;\n if (!memberNode.computed && memberNode.property.type === \"Identifier\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.name}` : memberNode.property.name);\n } else if (memberNode.computed && memberNode.property.type === \"Literal\" && typeof memberNode.property.value === \"string\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.value}` : memberNode.property.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n if (segments.length === level) {\n usage.usedProperties.add(segments.join(\".\"));\n }\n }\n };\n}\n//# sourceMappingURL=beforeVisitGlobalMember.js.map","function collectMemberCallUsageFactory(object, property) {\n return function collectMemberCallUsage(usage, node, parent) {\n if (node.name === object) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === property : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === property)) {\n const args = callParent.node.arguments;\n if (args.length > 0) {\n const firstArg = args[0];\n if (firstArg.type === \"Literal\" && typeof firstArg.value === \"string\") {\n usage.usedArgs.add(firstArg.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n }\n }\n };\n}\nexport const collectAppGetMenuUsage = collectMemberCallUsageFactory(\"APP\", \"getMenu\");\nexport const collectInstalledAppsHasUsage = collectMemberCallUsageFactory(\"INSTALLED_APPS\", \"has\");\n//# sourceMappingURL=collectMemberCallUsage.js.map","import { isEvaluable, preevaluate } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nexport function traverseStoryboardExpressions(data, beforeVisitGlobal,\n// If `options` is a string, it means the *keyword*.\noptions) {\n const memo = new WeakSet();\n const {\n matchExpressionString,\n visitNotMatchedExpressionString,\n visitNonExpressionString,\n visitObject\n } = typeof options === \"string\" ? {\n matchExpressionString: v => v.includes(options)\n } : options;\n function traverse(value) {\n if (typeof value === \"string\") {\n if (isEvaluable(value)) {\n if (matchExpressionString(value)) {\n try {\n preevaluate(value, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n beforeVisitGlobal(node, parent, value);\n }\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse storyboard expression failed:\", error);\n }\n } else {\n visitNotMatchedExpressionString === null || visitNotMatchedExpressionString === void 0 || visitNotMatchedExpressionString(value);\n }\n } else {\n visitNonExpressionString === null || visitNonExpressionString === void 0 || visitNonExpressionString(value);\n }\n } else if (isObject(value)) {\n // Avoid call stack overflow.\n if (memo.has(value)) {\n return;\n }\n memo.add(value);\n visitObject === null || visitObject === void 0 || visitObject(value);\n for (const item of Array.isArray(value) ? value : Object.values(value)) {\n traverse(item);\n }\n }\n }\n traverse(data);\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nimport { traverseStoryboardExpressions } from \"./traverse.js\";\nexport function strictCollectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const {\n hasNonStaticUsage,\n nonStaticUsage,\n usedProperties\n } = collectMemberUsage(data, objectName, level);\n if (hasNonStaticUsage) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your expression: \"${nonStaticUsage}\"`);\n }\n return usedProperties;\n}\nexport function collectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const beforeVisitGlobal = beforeVisitGlobalMember(usage, objectName, level);\n traverseStoryboardExpressions(data, (node, parent, expr) => {\n beforeVisitGlobal(node, parent);\n if (usage.hasNonStaticUsage) {\n usage.nonStaticUsage = expr;\n }\n }, objectName);\n return usage;\n}\n//# sourceMappingURL=collectMemberUsage.js.map","import { preevaluate } from \"@next-core/cook\";\nimport { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nconst TRACK_NAMES = [\"CTX\", \"STATE\", \"FORM_STATE\"];\nexport function track(raw, trackText, variableName) {\n if (raw.includes(trackText)) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const {\n expression\n } = preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, variableName)\n }\n });\n let trackCtxExp;\n if (expression.type === \"SequenceExpression\" && (trackCtxExp = expression.expressions[0]) && trackCtxExp.type === \"Literal\" && trackCtxExp.value === trackText) {\n if (usage.usedProperties.size > 0) {\n return usage.usedProperties;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using \"${trackText}\" but no \\`${variableName}\\` usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n }\n return false;\n}\nexport function trackAll(raw) {\n // Do not pre-evaluate a string if it doesn't include track names.\n if (TRACK_NAMES.some(name => raw.includes(name))) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, TRACK_NAMES, 1, true)\n }\n });\n if (usage.usedProperties.size > 0) {\n const usedProperties = [...usage.usedProperties];\n const result = {\n context: false,\n state: false,\n formState: false\n };\n const keyMap = {\n CTX: \"context\",\n STATE: \"state\",\n FORM_STATE: \"formState\"\n };\n usedProperties.forEach(item => {\n const [key, name] = item.split(\".\");\n if (!result[keyMap[key]]) {\n result[keyMap[key]] = [];\n }\n result[keyMap[key]].push(name);\n });\n return result;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using track all but no \"CTX\" or \"STATE\" or \"FORM_STATE\" usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n return false;\n}\n//# sourceMappingURL=track.js.map","import { precookFunction } from \"@next-core/cook\";\nexport function traverseStoryboardFunctions(functions, beforeVisitGlobal, options) {\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n if (!(options !== null && options !== void 0 && options.matchSource) || options.matchSource(fn.source)) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\n }\n }\n }\n}\nexport function traverseStoryboardFunction(fn, beforeVisitGlobal, silentErrors) {\n try {\n precookFunction(fn.source, {\n typescript: fn.typescript,\n withParent: true,\n hooks: {\n beforeVisitGlobal\n },\n cacheKey: fn\n });\n } catch (error) {\n if (!silentErrors) {\n // eslint-disable-next-line no-console\n console.error(`Parse storyboard function \"${fn.name}\" failed:`, error);\n }\n }\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"../expressions/beforeVisitGlobalMember.js\";\nimport { traverseStoryboardFunction } from \"./traverse.js\";\nexport function collectMemberUsageInFunction(fn, objectName, silentErrors) {\n let level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n if (fn.source.includes(objectName)) {\n traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level), silentErrors);\n }\n if (usage.hasNonStaticUsage && !silentErrors) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your function: \"${fn.name}\"`);\n }\n usage.usedProperties.delete(fn.name);\n return usage.usedProperties;\n}\n//# sourceMappingURL=collectMemberUsageInFunction.js.map","import { traverseStoryboardExpressions } from \"./expressions/index.js\";\nimport { traverseStoryboardFunctions } from \"./functions/index.js\";\nconst PERMISSIONS = \"PERMISSIONS\";\nconst check = \"check\";\nexport function scanPermissionActionsInStoryboard(storyboard) {\n var _storyboard$meta;\n const collection = new Set();\n const beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n const {\n customTemplates,\n functions\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions, {\n matchSource(source) {\n return source.includes(PERMISSIONS);\n }\n });\n return Array.from(collection);\n}\nexport function scanPermissionActionsInAny(data) {\n const collection = new Set();\n traverseStoryboardExpressions(data, beforeVisitPermissionsFactory(collection), PERMISSIONS);\n return Array.from(collection);\n}\nfunction beforeVisitPermissionsFactory(collection) {\n return function beforeVisitPermissions(node, parent) {\n if (node.name === PERMISSIONS) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === check : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === check)) {\n for (const arg of callParent.node.arguments) {\n if (arg.type === \"Literal\" && typeof arg.value === \"string\") {\n collection.add(arg.value);\n }\n }\n }\n }\n };\n}\n//# sourceMappingURL=permissions.js.map","import { isObject } from \"@next-core/utils/general\";\nimport { pull } from \"lodash\";\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\nfunction replaceInBrick(brick) {\n let slots = brick.slots;\n const useChildrenMap = new Map();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks = [];\n for (const child of brick.children) {\n var _child$slot;\n const slot = (_child$slot = child.slot) !== null && _child$slot !== void 0 ? _child$slot : \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots !== null && slots !== void 0 ? slots : slots = {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const {\n bricks: children\n } = slotConf;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n if (Array.isArray(slotConf.bricks)) {\n replaceUseChildren(slotConf.bricks);\n }\n }\n }\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\nfunction replaceInProperties(value, useChildrenMap) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n//# sourceMappingURL=replaceUseChildren.js.map"],"names":["beforeVisitGlobalMember","usage","objectName","level","arguments","length","undefined","rememberObjectName","node","parent","name","includes","segments","i","memberParent","type","key","memberNode","computed","property","value","push","hasNonStaticUsage","usedProperties","add","join","collectMemberCallUsageFactory","object","callParent","args","firstArg","usedArgs","collectAppGetMenuUsage","collectInstalledAppsHasUsage","traverseStoryboardExpressions","data","beforeVisitGlobal","options","memo","WeakSet","matchExpressionString","visitNotMatchedExpressionString","visitNonExpressionString","visitObject","v","traverse","isEvaluable","preevaluate","cache","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","Set","expr","TRACK_NAMES","track","raw","trackText","variableName","expression","trackCtxExp","expressions","size","warn","JSON","stringify","trackAll","some","result","context","state","formState","keyMap","CTX","STATE","FORM_STATE","forEach","split","traverseStoryboardFunctions","functions","fn","matchSource","source","traverseStoryboardFunction","silentErrors","precookFunction","typescript","cacheKey","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","_storyboard$meta","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","arg","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","_child$slot","slot","test","get","set","pull","slotConf","entries","bricks","replaceInProperties","properties","k","useBrick"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[4837,7218],{64837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>_,useNavConfig:()=>w,useProvider:()=>v,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(18769),c=t(36305);let s=function(e){let{useBrick:r,data:t,errorBoundary:s,refCallback:u,ignoredCallback:a}=e;const[o,i]=(0,n.useState)(null),l=(0,n.useRef)(),[d,f]=(0,n.useState)(),p=(0,n.useRef)(0),g=(0,n.useMemo)((()=>{var e;return null===(e=c.__secret_internals.getRenderId)||void 0===e?void 0:e.call(c.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await c.__secret_internals.renderUseBrick(r,t,s);if(e)return;i(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=c.__secret_internals.getRenderId)||void 0===r?void 0:r.call(c.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,c.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,s]);const y=(0,n.useCallback)((e=>{e?l.current=c.__secret_internals.mountUseBrick(o,e):(c.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==u||u(e)}),[u,o]);if(!o)return null;const{tagName:v}=o;if(null===v)return null==a||a(),null;const m=v;return n.createElement(m,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:c}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(s,{key:r,useBrick:e,data:t,errorBoundary:c})))):n.createElement(s,{useBrick:r,data:t,errorBoundary:c})};const a=(0,c.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(s=e(n),u=r(n))}function o(){const[e,r]=(0,n.useState)(c.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function i(){const[e,r]=n.useState((()=>(0,c.getRuntime)().getRecentApps()));return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function l(){return i().currentApp}function d(){const[e,r]=n.useState(null);return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}const f={provider:"",customOptions:{onError:()=>{},transform:(e,r)=>r,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0},p=Object.entries(f).reduce(((e,r)=>{let[t,n]=r;return"[object Object]"===Object.prototype.toString.call(n)?{...e,...n}:{...e,[t]:n}}),{});var g=t(20563);const y=new Map;function v(){const{provider:e,customOptions:r,dependencies:t,requestInit:s}=function(e,r,t){const c=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),s=(0,n.useMemo)((()=>{let t={};return(0,g.isObject)(e)?t=e:(0,g.isObject)(r)&&(t=r),{...p,...t}}),[e,r]),u=(0,n.useMemo)((()=>{const e=[...Object.keys(f),...Object.keys(f.customOptions)],{args:r=null,...t}=Object.keys(s).reduce(((r,t)=>(e.includes(t)||(r[t]=s[t]),r)),{});return{options:{...t},args:r}}),[s]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),o=s.loading||Array.isArray(a);return{provider:c,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=s[r],e)),{}),loading:o})),[s]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:o,cache:i,...l}=r,[d,v]=(0,n.useState)(l.loading),m=(0,n.useRef)("pending"),k=(0,n.useRef)(),w=(0,n.useRef)(!1),_=(0,n.useRef)(),h=(0,n.useRef)(),b=(0,n.useRef)(l.data),B=(0,n.useReducer)((()=>({})),[])[1],E=(0,n.useCallback)((async(e,r)=>{try{_.current=void 0,o||v(!0);const t=await async function(e,r,t){let n;const s=function(e){const r=e=>Object.keys(e).sort().map((r=>({[r]:e[r]})));for(var t=arguments.length,n=new Array(t>1?t-1:0),c=1;c<t;c++)n[c-1]=arguments[c];try{const t="object"!=typeof(s=n)||null===s||Array.isArray(s)?n.map((e=>function(e){return"string"==typeof e}(e)?e:r(e))):r(n);return JSON.stringify({provider:e,args:t})}catch(r){return JSON.stringify({provider:e,args:n})}var s}(e,...t);return!r&&y.has(s)&&y.delete(s),y.has(s)?n=y.get(s):(n=(0,c.fetchByProvider)(e,t,{cache:r?"default":"reload"}),r&&y.set(s,n)),n}(e,i,r);h.current=t,b.current=a(b.current,t)}catch(e){_.current=e,b.current=void 0}return o||v(!1),_.current&&u(_.current),b.current}),[e,r,t,s,o,a,l.data,u,i]),O=(0,n.useCallback)((async(r,t)=>{let n=e,c=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?c=r:(0,g.isObject)(t)&&(c=t),o?(async()=>(k.current=E(n,c).then((e=>(m.current="success",e)),(e=>(m.current="error",e.current=e,e))),B(),await k.current))():E(n,c)}),[E]),R=(0,n.useMemo)((()=>Object.defineProperties({query:O},{loading:{get:()=>d},data:{get:()=>b.current},error:{get:()=>_.current}})),[O]);if((0,n.useEffect)((()=>(w.current=!0,Array.isArray(t)&&e&&R.query(e,s.args),()=>w.current=!1)),t),o&&k.current)switch(m.current){case"pending":throw k.current;case"error":throw _.current}return Object.assign([R,h.current,d,_.current],{request:R,...R,response:h.current,data:b.current,loading:d,error:_.current})}var m=t(
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[4837,7218],{64837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>_,useNavConfig:()=>w,useProvider:()=>v,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(18769),c=t(36305);let s=function(e){let{useBrick:r,data:t,errorBoundary:s,refCallback:u,ignoredCallback:a}=e;const[o,i]=(0,n.useState)(null),l=(0,n.useRef)(),[d,f]=(0,n.useState)(),p=(0,n.useRef)(0),g=(0,n.useMemo)((()=>{var e;return null===(e=c.__secret_internals.getRenderId)||void 0===e?void 0:e.call(c.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await c.__secret_internals.renderUseBrick(r,t,s);if(e)return;i(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=c.__secret_internals.getRenderId)||void 0===r?void 0:r.call(c.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,c.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,s]);const y=(0,n.useCallback)((e=>{e?l.current=c.__secret_internals.mountUseBrick(o,e):(c.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==u||u(e)}),[u,o]);if(!o)return null;const{tagName:v}=o;if(null===v)return null==a||a(),null;const m=v;return n.createElement(m,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:c}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(s,{key:r,useBrick:e,data:t,errorBoundary:c})))):n.createElement(s,{useBrick:r,data:t,errorBoundary:c})};const a=(0,c.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(s=e(n),u=r(n))}function o(){const[e,r]=(0,n.useState)(c.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function i(){const[e,r]=n.useState((()=>(0,c.getRuntime)().getRecentApps()));return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function l(){return i().currentApp}function d(){const[e,r]=n.useState(null);return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}const f={provider:"",customOptions:{onError:()=>{},transform:(e,r)=>r,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0},p=Object.entries(f).reduce(((e,r)=>{let[t,n]=r;return"[object Object]"===Object.prototype.toString.call(n)?{...e,...n}:{...e,[t]:n}}),{});var g=t(20563);const y=new Map;function v(){const{provider:e,customOptions:r,dependencies:t,requestInit:s}=function(e,r,t){const c=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),s=(0,n.useMemo)((()=>{let t={};return(0,g.isObject)(e)?t=e:(0,g.isObject)(r)&&(t=r),{...p,...t}}),[e,r]),u=(0,n.useMemo)((()=>{const e=[...Object.keys(f),...Object.keys(f.customOptions)],{args:r=null,...t}=Object.keys(s).reduce(((r,t)=>(e.includes(t)||(r[t]=s[t]),r)),{});return{options:{...t},args:r}}),[s]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),o=s.loading||Array.isArray(a);return{provider:c,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=s[r],e)),{}),loading:o})),[s]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:o,cache:i,...l}=r,[d,v]=(0,n.useState)(l.loading),m=(0,n.useRef)("pending"),k=(0,n.useRef)(),w=(0,n.useRef)(!1),_=(0,n.useRef)(),h=(0,n.useRef)(),b=(0,n.useRef)(l.data),B=(0,n.useReducer)((()=>({})),[])[1],E=(0,n.useCallback)((async(e,r)=>{try{_.current=void 0,o||v(!0);const t=await async function(e,r,t){let n;const s=function(e){const r=e=>Object.keys(e).sort().map((r=>({[r]:e[r]})));for(var t=arguments.length,n=new Array(t>1?t-1:0),c=1;c<t;c++)n[c-1]=arguments[c];try{const t="object"!=typeof(s=n)||null===s||Array.isArray(s)?n.map((e=>function(e){return"string"==typeof e}(e)?e:r(e))):r(n);return JSON.stringify({provider:e,args:t})}catch(r){return JSON.stringify({provider:e,args:n})}var s}(e,...t);return!r&&y.has(s)&&y.delete(s),y.has(s)?n=y.get(s):(n=(0,c.fetchByProvider)(e,t,{cache:r?"default":"reload"}),r&&y.set(s,n)),n}(e,i,r);h.current=t,b.current=a(b.current,t)}catch(e){_.current=e,b.current=void 0}return o||v(!1),_.current&&u(_.current),b.current}),[e,r,t,s,o,a,l.data,u,i]),O=(0,n.useCallback)((async(r,t)=>{let n=e,c=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?c=r:(0,g.isObject)(t)&&(c=t),o?(async()=>(k.current=E(n,c).then((e=>(m.current="success",e)),(e=>(m.current="error",e.current=e,e))),B(),await k.current))():E(n,c)}),[E]),R=(0,n.useMemo)((()=>Object.defineProperties({query:O},{loading:{get:()=>d},data:{get:()=>b.current},error:{get:()=>_.current}})),[O]);if((0,n.useEffect)((()=>(w.current=!0,Array.isArray(t)&&e&&R.query(e,s.args),()=>w.current=!1)),t),o&&k.current)switch(m.current){case"pending":throw k.current;case"error":throw _.current}return Object.assign([R,h.current,d,_.current],{request:R,...R,response:h.current,data:b.current,loading:d,error:_.current})}var m=t(11280);async function k(e,r){return await c.__secret_internals.loadBricks([e]),(0,m.wrapBrick)(e,r)}function w(){const[e,r]=(0,n.useState)((()=>(0,c.getRuntime)().getNavConfig()));return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("navConfig.change",e),()=>window.removeEventListener("navConfig.change",e)}),[]),e}function _(e,r){return(0,n.useMemo)((()=>null!=e?(0,n.lazy)((async()=>({default:await k(e,r)}))):null),[e,r])}}}]);
|
|
2
|
+
//# sourceMappingURL=4837.7e3e2eea.js.map
|