@next-bricks/data-view 0.15.9 → 0.15.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{1646.800c5e56.js → 1646.f7efb4e3.js} +2 -2
  3. package/dist/chunks/{7746.c5074280.js.map → 1646.f7efb4e3.js.map} +1 -1
  4. package/dist/chunks/3458.e1664a75.js +2 -0
  5. package/dist/chunks/3458.e1664a75.js.map +1 -0
  6. package/dist/chunks/{4049.f3c6fa2c.js → 4049.77be2912.js} +2 -2
  7. package/dist/chunks/{4049.f3c6fa2c.js.map → 4049.77be2912.js.map} +1 -1
  8. package/dist/chunks/5114.8f5c2c9b.js +2 -0
  9. package/dist/chunks/{5114.f11910ec.js.map → 5114.8f5c2c9b.js.map} +1 -1
  10. package/dist/chunks/5381.c033548c.js +2 -0
  11. package/dist/chunks/{5381.67057e34.js.map → 5381.c033548c.js.map} +1 -1
  12. package/dist/chunks/{5636.e0080dc9.js → 5636.04e20f8a.js} +2 -2
  13. package/dist/chunks/{5636.e0080dc9.js.map → 5636.04e20f8a.js.map} +1 -1
  14. package/dist/chunks/{5725.a33cc67f.js → 5725.b4ca3ca8.js} +2 -2
  15. package/dist/chunks/{7672.2c894e14.js.map → 5725.b4ca3ca8.js.map} +1 -1
  16. package/dist/chunks/6205.dafb1737.js +2 -0
  17. package/dist/chunks/{6205.e0ca5723.js.map → 6205.dafb1737.js.map} +1 -1
  18. package/dist/chunks/6301.9dc07051.js +2 -0
  19. package/dist/chunks/{6301.d76aa7db.js.map → 6301.9dc07051.js.map} +1 -1
  20. package/dist/chunks/{6473.033bb65d.js → 6473.860c166a.js} +2 -2
  21. package/dist/chunks/{6473.033bb65d.js.map → 6473.860c166a.js.map} +1 -1
  22. package/dist/chunks/6660.8377e90d.js +2 -0
  23. package/dist/chunks/{6660.35d15a5a.js.map → 6660.8377e90d.js.map} +1 -1
  24. package/dist/chunks/7164.350797e2.js +2 -0
  25. package/dist/chunks/{7164.d5fa73ec.js.map → 7164.350797e2.js.map} +1 -1
  26. package/dist/chunks/{7672.2c894e14.js → 7672.0eebcd73.js} +2 -2
  27. package/dist/chunks/{5725.a33cc67f.js.map → 7672.0eebcd73.js.map} +1 -1
  28. package/dist/chunks/{7746.c5074280.js → 7746.f6fb97d0.js} +2 -2
  29. package/dist/chunks/{1646.800c5e56.js.map → 7746.f6fb97d0.js.map} +1 -1
  30. package/dist/chunks/7782.a3b6cf4d.js +2 -0
  31. package/dist/chunks/7782.a3b6cf4d.js.map +1 -0
  32. package/dist/chunks/8691.d300572b.js +2 -0
  33. package/dist/chunks/8691.d300572b.js.map +1 -0
  34. package/dist/chunks/app-wall-card-item.da5a9f78.js +3 -0
  35. package/dist/chunks/{app-wall-card-item.66073883.js.map → app-wall-card-item.da5a9f78.js.map} +1 -1
  36. package/dist/chunks/app-wall-relation-line.5daa44cb.js +3 -0
  37. package/dist/chunks/{app-wall-relation-line.b465193b.js.map → app-wall-relation-line.5daa44cb.js.map} +1 -1
  38. package/dist/chunks/app-wall-system-card.90fa2124.js +2 -0
  39. package/dist/chunks/{app-wall-system-card.0f4c459b.js.map → app-wall-system-card.90fa2124.js.map} +1 -1
  40. package/dist/chunks/app-wall.230705b3.js +2 -0
  41. package/dist/chunks/{app-wall.97e70d76.js.map → app-wall.230705b3.js.map} +1 -1
  42. package/dist/chunks/battery-chart.ae9aa315.js +2 -0
  43. package/dist/chunks/{battery-chart.83bdf03f.js.map → battery-chart.ae9aa315.js.map} +1 -1
  44. package/dist/chunks/brick-notification.4340315d.js +2 -0
  45. package/dist/chunks/{brick-notification.c5b64b84.js.map → brick-notification.4340315d.js.map} +1 -1
  46. package/dist/chunks/cabinet-app-layer.bd2df2ad.js +3 -0
  47. package/dist/chunks/{cabinet-app-layer.2497f75d.js.map → cabinet-app-layer.bd2df2ad.js.map} +1 -1
  48. package/dist/chunks/cabinet-button.82fc3470.js +2 -0
  49. package/dist/chunks/{cabinet-button.b7c691c4.js.map → cabinet-button.82fc3470.js.map} +1 -1
  50. package/dist/chunks/cabinet-container.4a94ba99.js +3 -0
  51. package/dist/chunks/{cabinet-container.c7fedd36.js.map → cabinet-container.4a94ba99.js.map} +1 -1
  52. package/dist/chunks/cabinet-graph.02f98adb.js +2 -0
  53. package/dist/chunks/{cabinet-graph.c542ef6e.js.map → cabinet-graph.02f98adb.js.map} +1 -1
  54. package/dist/chunks/cabinet-node.6401cdef.js +3 -0
  55. package/dist/chunks/{cabinet-node.4cfbd18d.js.map → cabinet-node.6401cdef.js.map} +1 -1
  56. package/dist/chunks/cabinet-thumbnail.7b837aa0.js +3 -0
  57. package/dist/chunks/{cabinet-thumbnail.7d897c3a.js.map → cabinet-thumbnail.7b837aa0.js.map} +1 -1
  58. package/dist/chunks/{complex-search.a31b8d52.js → complex-search.1003d655.js} +2 -2
  59. package/dist/chunks/{complex-search.a31b8d52.js.map → complex-search.1003d655.js.map} +1 -1
  60. package/dist/chunks/dropdown-menu.cb19abf6.js +3 -0
  61. package/dist/chunks/{dropdown-menu.5f4a483a.js.map → dropdown-menu.cb19abf6.js.map} +1 -1
  62. package/dist/chunks/gauge-chart.80cfaf95.js +2 -0
  63. package/dist/chunks/{gauge-chart.a350ab36.js.map → gauge-chart.80cfaf95.js.map} +1 -1
  64. package/dist/chunks/gear-background.dea33dd9.js +2 -0
  65. package/dist/chunks/{gear-background.234ee2d9.js.map → gear-background.dea33dd9.js.map} +1 -1
  66. package/dist/chunks/graph-layout-grid.17626afe.js +2 -0
  67. package/dist/chunks/{graph-layout-grid.e3e65333.js.map → graph-layout-grid.17626afe.js.map} +1 -1
  68. package/dist/chunks/graph-node.0bec86b9.js +2 -0
  69. package/dist/chunks/{graph-node.f706e033.js.map → graph-node.0bec86b9.js.map} +1 -1
  70. package/dist/chunks/{graph-text.db252964.js → graph-text.3f3686df.js} +2 -2
  71. package/dist/chunks/{graph-text.db252964.js.map → graph-text.3f3686df.js.map} +1 -1
  72. package/dist/chunks/grid-background.c7cf8018.js +2 -0
  73. package/dist/chunks/{grid-background.a3f86d68.js.map → grid-background.c7cf8018.js.map} +1 -1
  74. package/dist/chunks/hi-tech-button.72425a89.js +2 -0
  75. package/dist/chunks/{hi-tech-button.60b508d3.js.map → hi-tech-button.72425a89.js.map} +1 -1
  76. package/dist/chunks/lights-component-title.d94fc67d.js +2 -0
  77. package/dist/chunks/{lights-component-title.66d2917b.js.map → lights-component-title.d94fc67d.js.map} +1 -1
  78. package/dist/chunks/loading-panel.bc7943e2.js +2 -0
  79. package/dist/chunks/{loading-panel.3550101b.js.map → loading-panel.bc7943e2.js.map} +1 -1
  80. package/dist/chunks/main.6dd81b5e.js +2 -0
  81. package/dist/chunks/main.6dd81b5e.js.map +1 -0
  82. package/dist/chunks/modern-style-component-title.7c07455b.js +2 -0
  83. package/dist/chunks/{modern-style-component-title.5ffd3936.js.map → modern-style-component-title.7c07455b.js.map} +1 -1
  84. package/dist/chunks/modern-style-page-title.64180809.js +2 -0
  85. package/dist/chunks/{modern-style-page-title.a71d5704.js.map → modern-style-page-title.64180809.js.map} +1 -1
  86. package/dist/chunks/modern-style-treemap.6c21f64e.js +3 -0
  87. package/dist/chunks/{modern-style-treemap.f604b3cc.js.map → modern-style-treemap.6c21f64e.js.map} +1 -1
  88. package/dist/chunks/particle-animation.85eaa981.js +2 -0
  89. package/dist/chunks/{particle-animation.5cdf0004.js.map → particle-animation.85eaa981.js.map} +1 -1
  90. package/dist/chunks/radar-chart.786098a1.js +2 -0
  91. package/dist/chunks/{radar-chart.cedd89b0.js.map → radar-chart.786098a1.js.map} +1 -1
  92. package/dist/chunks/tabs-drawer.6080b0ef.js +3 -0
  93. package/dist/chunks/{tabs-drawer.126f7cec.js.map → tabs-drawer.6080b0ef.js.map} +1 -1
  94. package/dist/chunks/tabs-page-title.4327ec9e.js +3 -0
  95. package/dist/chunks/{tabs-page-title.9c6318ac.js.map → tabs-page-title.4327ec9e.js.map} +1 -1
  96. package/dist/chunks/tech-mesh-base-view.8803dcf7.js +2 -0
  97. package/dist/chunks/{tech-mesh-base-view.de782fc2.js.map → tech-mesh-base-view.8803dcf7.js.map} +1 -1
  98. package/dist/chunks/title-text.cecb3ab8.js +2 -0
  99. package/dist/chunks/{title-text.f14ab430.js.map → title-text.cecb3ab8.js.map} +1 -1
  100. package/dist/chunks/top-title-bar.54b43068.js +2 -0
  101. package/dist/chunks/{top-title-bar.34d11dd5.js.map → top-title-bar.54b43068.js.map} +1 -1
  102. package/dist/index.26dff487.js +2 -0
  103. package/dist/index.26dff487.js.map +1 -0
  104. package/package.json +4 -4
  105. package/dist/chunks/3458.3f529505.js +0 -2
  106. package/dist/chunks/3458.3f529505.js.map +0 -1
  107. package/dist/chunks/5114.f11910ec.js +0 -2
  108. package/dist/chunks/5381.67057e34.js +0 -2
  109. package/dist/chunks/6205.e0ca5723.js +0 -2
  110. package/dist/chunks/6301.d76aa7db.js +0 -2
  111. package/dist/chunks/6660.35d15a5a.js +0 -2
  112. package/dist/chunks/7164.d5fa73ec.js +0 -2
  113. package/dist/chunks/7782.2a51fa60.js +0 -2
  114. package/dist/chunks/7782.2a51fa60.js.map +0 -1
  115. package/dist/chunks/8691.fa598c6a.js +0 -2
  116. package/dist/chunks/8691.fa598c6a.js.map +0 -1
  117. package/dist/chunks/app-wall-card-item.66073883.js +0 -3
  118. package/dist/chunks/app-wall-relation-line.b465193b.js +0 -3
  119. package/dist/chunks/app-wall-system-card.0f4c459b.js +0 -2
  120. package/dist/chunks/app-wall.97e70d76.js +0 -2
  121. package/dist/chunks/battery-chart.83bdf03f.js +0 -2
  122. package/dist/chunks/brick-notification.c5b64b84.js +0 -2
  123. package/dist/chunks/cabinet-app-layer.2497f75d.js +0 -3
  124. package/dist/chunks/cabinet-button.b7c691c4.js +0 -2
  125. package/dist/chunks/cabinet-container.c7fedd36.js +0 -3
  126. package/dist/chunks/cabinet-graph.c542ef6e.js +0 -2
  127. package/dist/chunks/cabinet-node.4cfbd18d.js +0 -3
  128. package/dist/chunks/cabinet-thumbnail.7d897c3a.js +0 -3
  129. package/dist/chunks/dropdown-menu.5f4a483a.js +0 -3
  130. package/dist/chunks/gauge-chart.a350ab36.js +0 -2
  131. package/dist/chunks/gear-background.234ee2d9.js +0 -2
  132. package/dist/chunks/graph-layout-grid.e3e65333.js +0 -2
  133. package/dist/chunks/graph-node.f706e033.js +0 -2
  134. package/dist/chunks/grid-background.a3f86d68.js +0 -2
  135. package/dist/chunks/hi-tech-button.60b508d3.js +0 -2
  136. package/dist/chunks/lights-component-title.66d2917b.js +0 -2
  137. package/dist/chunks/loading-panel.3550101b.js +0 -2
  138. package/dist/chunks/main.ffd01c4c.js +0 -2
  139. package/dist/chunks/main.ffd01c4c.js.map +0 -1
  140. package/dist/chunks/modern-style-component-title.5ffd3936.js +0 -2
  141. package/dist/chunks/modern-style-page-title.a71d5704.js +0 -2
  142. package/dist/chunks/modern-style-treemap.f604b3cc.js +0 -3
  143. package/dist/chunks/particle-animation.5cdf0004.js +0 -2
  144. package/dist/chunks/radar-chart.cedd89b0.js +0 -2
  145. package/dist/chunks/tabs-drawer.126f7cec.js +0 -3
  146. package/dist/chunks/tabs-page-title.9c6318ac.js +0 -3
  147. package/dist/chunks/tech-mesh-base-view.de782fc2.js +0 -2
  148. package/dist/chunks/title-text.f14ab430.js +0 -2
  149. package/dist/chunks/top-title-bar.34d11dd5.js +0 -2
  150. package/dist/index.73fee407.js +0 -2
  151. package/dist/index.73fee407.js.map +0 -1
  152. /package/dist/chunks/{app-wall-card-item.66073883.js.LICENSE.txt → app-wall-card-item.da5a9f78.js.LICENSE.txt} +0 -0
  153. /package/dist/chunks/{app-wall-relation-line.b465193b.js.LICENSE.txt → app-wall-relation-line.5daa44cb.js.LICENSE.txt} +0 -0
  154. /package/dist/chunks/{cabinet-app-layer.2497f75d.js.LICENSE.txt → cabinet-app-layer.bd2df2ad.js.LICENSE.txt} +0 -0
  155. /package/dist/chunks/{cabinet-container.c7fedd36.js.LICENSE.txt → cabinet-container.4a94ba99.js.LICENSE.txt} +0 -0
  156. /package/dist/chunks/{cabinet-node.4cfbd18d.js.LICENSE.txt → cabinet-node.6401cdef.js.LICENSE.txt} +0 -0
  157. /package/dist/chunks/{cabinet-thumbnail.7d897c3a.js.LICENSE.txt → cabinet-thumbnail.7b837aa0.js.LICENSE.txt} +0 -0
  158. /package/dist/chunks/{dropdown-menu.5f4a483a.js.LICENSE.txt → dropdown-menu.cb19abf6.js.LICENSE.txt} +0 -0
  159. /package/dist/chunks/{modern-style-treemap.f604b3cc.js.LICENSE.txt → modern-style-treemap.6c21f64e.js.LICENSE.txt} +0 -0
  160. /package/dist/chunks/{tabs-drawer.126f7cec.js.LICENSE.txt → tabs-drawer.6080b0ef.js.LICENSE.txt} +0 -0
  161. /package/dist/chunks/{tabs-page-title.9c6318ac.js.LICENSE.txt → tabs-page-title.4327ec9e.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5114.f11910ec.js","mappings":"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","sources":["webpack:///./src/app-wall/utils.ts","webpack:///./src/app-wall/app-wall.tsx","webpack:///./src/app-wall/app-wall.shadow.css","webpack:///./src/app-wall/card-item/card-item.shadow.css","webpack:///./src/app-wall/relation-line/relation-line.shadow.css","webpack:///./src/app-wall/system-card/system-card.shadow.css","webpack:///./src/data-view-variables.shadow.css"],"sourcesContent":["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} from \"./interface.js\";\nimport { CabinetThumbnail } from \"../cabinet/cabinet-thumbnail/index.jsx\";\n\nexport interface AppData {\n key: string;\n status: \"normal\" | \"warning\";\n cardItemProps: AppWallCardItemProps;\n systemCardProps: SystemCardProps;\n trapezoidalProps: TrapezoidalProps;\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 = (e: MouseEvent) => {\n const path = (e.composedPath() as Element[]).find(\n (node) => node?.shadowRoot\n ) as Ele;\n if (path?.tagName === \"DATA-VIEW.APP-WALL-CARD-ITEM\") 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 === \"DATA-VIEW.APP-WALL-CARD-ITEM\") return target;\n return null;\n};\n","/* istanbul ignore next */\nimport React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\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 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\";\nimport { AppWallCardItem } from \"./card-item/index.jsx\";\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 cardSize: CardSize = {\n width: 120,\n height: 160,\n outerWidth: 140,\n outerHeight: 180,\n lgWidth: 180,\n lgHeight: 240,\n};\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;\n\nconst getViewBounds = (length: number) => {\n const maxX = Math.ceil(\n Math.sqrt((length * cardSize.outerHeight) / (0.4 * 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: 100,\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 } = props;\n const [curClickCardItemAppData, setCurClickCardItemAppData] =\n useState<AppData>(null);\n // props.dataSource=table;\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\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\n const configRef = useRef<BaseConfig>({\n maxX: 0,\n maxY: 0,\n radius: 0,\n bounds: {\n width: 0,\n height: 0,\n margin: 100,\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 }, []);\n\n const updateViewBounds = (length: number) => {\n configRef.current = getViewBounds(length);\n };\n\n const init = () => {\n const width = window.innerWidth;\n const height = window.innerHeight;\n const aspect = width / height;\n\n const renderer = new CSS3DRenderer();\n renderer.setSize(width, height);\n appwallRef.current.replaceChildren(renderer.domElement);\n\n const camera = new PerspectiveCamera(fov, aspect, 0.1, 10000);\n\n const controls = new TrackballControls(camera, renderer.domElement);\n controls.rotateSpeed = 0.5;\n controls.minDistance = 500;\n controls.maxDistance = 10000;\n const scene = new Scene();\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, i) => {\n const element = document.createElement(\n \"data-view.app-wall-card-item\"\n ) as AppWallCardItem & Ele;\n element.status = data.status;\n element.cardTitle = data.cardItemProps?.cardTitle;\n element.description = data.cardItemProps?.description;\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 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 const scale = 1.25;\n registerEvents.current.isShowRelations = true;\n new Tween(__objectCSS.rotation)\n .to(\n {\n x: 0,\n y: 0,\n z: 0,\n },\n 300\n )\n .onStart(() => {\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 300\n )\n .start();\n new Tween(__objectCSS.position)\n .to(position, 300)\n .onUpdate(render)\n .onComplete(function () {\n //创建连线\n createRelationLines(__objectCSS);\n render();\n registerEvents.current.element = target;\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\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 300\n )\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: 1,\n y: 1,\n z: 1,\n },\n 300\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 300\n )\n .onUpdate(render)\n .onStart(() => {\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\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\n const onWindowResize = () => {\n cameraRef.current.aspect = window.innerWidth / window.innerHeight;\n cameraRef.current.updateProjectionMatrix();\n rendererRef.current.setSize(window.innerWidth, window.innerHeight);\n render();\n };\n\n controlsRef.current.addEventListener(\"change\", render);\n window.addEventListener(\"resize\", onWindowResize);\n\n return () => {\n window.removeEventListener(\"resize\", onWindowResize);\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 cameraRef.current.position.z = computeCameraDistance(\n cameraRef.current,\n configRef.current.bounds,\n useDistanceConfig ? distanceConfig : [],\n length\n );\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, 1500);\n }\n\n return () => {\n resetView();\n };\n }, [props.dataSource, useDistanceConfig]);\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);\n registerEvents.current.mouseoverTimer = window.setTimeout(() => {\n restoreElementState(() => {\n target &&\n !registerEvents.current.isShowAppInfo &&\n showElementBetweenRelation(target);\n clearTimeout(registerEvents.current.mouseoverTimer);\n });\n }, 500);\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);\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 setCurClickCardItemAppData(target.__userData);\n showAppInfoAnimate(false);\n }\n });\n }, 300);\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);\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 }, 300);\n };\n\n container.addEventListener(\"dblclick\", handleDbClick);\n container.addEventListener(\"click\", handleClick);\n container.addEventListener(\"mouseover\", handleMouseover);\n return () => {\n container.removeEventListener(\"mouseover\", handleMouseover);\n container.removeEventListener(\"click\", handleClick);\n container.removeEventListener(\"dblclick\", handleDbClick);\n };\n }, []);\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{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{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","// 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:-webkit-fit-content;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: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{--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":["createRelationLine","sourceVector","targetVector","lightColor","subVector","Vector3","subVectors","lineLength","length","lineElement","document","createElement","style","height","concat","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","_objectSpread","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","push","findElementByEvent","e","path","composedPath","find","node","shadowRoot","tagName","customEle","elementFromPoint","clientX","clientY","lgWidth","lgHeight","panelSpace","getViewBounds","ceil","cos","WrappedSystemCard","wrapBrick","AppWallElement","onSystemCardButtonClick","useDblclick","useDistanceConfig","handleCardDbClick","rightBtnOnClick","leftBtnOnClick","curClickCardItemAppData","setCurClickCardItemAppData","useState","containerRef","useRef","appwallRef","closeBtnRef","maskRef","systemCardRef","rendererRef","sceneRef","cameraRef","controlsRef","graph3DViewRef","targetsRef","table","curve","objectsRef","lineCiCodesRef","configRef","registerEvents","element","mouseoverTimer","mouseoutTimer","clickTimer","dblClickTimer","isShowGraph3D","isShowAppInfo","isShowRelations","enable","render","useCallback","current","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","_objectsRef$current4","c","p","r","s","hidden","_objectsRef$current3","transition","chain","abs","rect","getBoundingClientRect","top","left","useEffect","cancel","init","window","innerWidth","innerHeight","renderer","CSS3DRenderer","setSize","replaceChildren","domElement","PerspectiveCamera","controls","TrackballControls","rotateSpeed","minDistance","maxDistance","scene","Scene","animate","requestAnimationFrame","TWEEN","update","onWindowResize","updateProjectionMatrix","addEventListener","removeEventListener","dispose","clear","cancelAnimationFrame","_props$dataSource","updateViewBounds","position0","_data$cardItemProps","_data$cardItemProps2","cardTitle","cardItemProps","description","statusClass","objectCSS","random","handleMouseover","clearTimeout","setTimeout","rotationY","_objectsRef$current","lineTarget","curRelations","relation","every","showElementBetweenRelation","handleClick","stopPropagation","handleDbClick","_userData$trapezoida","trapezoidalProps","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","___CSS_LOADER_EXPORT___","module","id","toString"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5114.8f5c2c9b.js","mappings":"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","sources":["webpack:///./src/app-wall/utils.ts","webpack:///./src/app-wall/app-wall.tsx","webpack:///./src/app-wall/app-wall.shadow.css","webpack:///./src/app-wall/card-item/card-item.shadow.css","webpack:///./src/app-wall/relation-line/relation-line.shadow.css","webpack:///./src/app-wall/system-card/system-card.shadow.css","webpack:///./src/data-view-variables.shadow.css"],"sourcesContent":["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} from \"./interface.js\";\nimport { CabinetThumbnail } from \"../cabinet/cabinet-thumbnail/index.jsx\";\n\nexport interface AppData {\n key: string;\n status: \"normal\" | \"warning\";\n cardItemProps: AppWallCardItemProps;\n systemCardProps: SystemCardProps;\n trapezoidalProps: TrapezoidalProps;\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 = (e: MouseEvent) => {\n const path = (e.composedPath() as Element[]).find(\n (node) => node?.shadowRoot\n ) as Ele;\n if (path?.tagName === \"DATA-VIEW.APP-WALL-CARD-ITEM\") 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 === \"DATA-VIEW.APP-WALL-CARD-ITEM\") return target;\n return null;\n};\n","/* istanbul ignore next */\nimport React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\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 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\";\nimport { AppWallCardItem } from \"./card-item/index.jsx\";\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 cardSize: CardSize = {\n width: 120,\n height: 160,\n outerWidth: 140,\n outerHeight: 180,\n lgWidth: 180,\n lgHeight: 240,\n};\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;\n\nconst getViewBounds = (length: number) => {\n const maxX = Math.ceil(\n Math.sqrt((length * cardSize.outerHeight) / (0.4 * 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: 100,\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 } = props;\n const [curClickCardItemAppData, setCurClickCardItemAppData] =\n useState<AppData>(null);\n // props.dataSource=table;\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\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\n const configRef = useRef<BaseConfig>({\n maxX: 0,\n maxY: 0,\n radius: 0,\n bounds: {\n width: 0,\n height: 0,\n margin: 100,\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 }, []);\n\n const updateViewBounds = (length: number) => {\n configRef.current = getViewBounds(length);\n };\n\n const init = () => {\n const width = window.innerWidth;\n const height = window.innerHeight;\n const aspect = width / height;\n\n const renderer = new CSS3DRenderer();\n renderer.setSize(width, height);\n appwallRef.current.replaceChildren(renderer.domElement);\n\n const camera = new PerspectiveCamera(fov, aspect, 0.1, 10000);\n\n const controls = new TrackballControls(camera, renderer.domElement);\n controls.rotateSpeed = 0.5;\n controls.minDistance = 500;\n controls.maxDistance = 10000;\n const scene = new Scene();\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, i) => {\n const element = document.createElement(\n \"data-view.app-wall-card-item\"\n ) as AppWallCardItem & Ele;\n element.status = data.status;\n element.cardTitle = data.cardItemProps?.cardTitle;\n element.description = data.cardItemProps?.description;\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 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 const scale = 1.25;\n registerEvents.current.isShowRelations = true;\n new Tween(__objectCSS.rotation)\n .to(\n {\n x: 0,\n y: 0,\n z: 0,\n },\n 300\n )\n .onStart(() => {\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 300\n )\n .start();\n new Tween(__objectCSS.position)\n .to(position, 300)\n .onUpdate(render)\n .onComplete(function () {\n //创建连线\n createRelationLines(__objectCSS);\n render();\n registerEvents.current.element = target;\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\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 300\n )\n .start();\n new Tween(__objectCSS.scale)\n .to(\n {\n x: 1,\n y: 1,\n z: 1,\n },\n 300\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 300\n )\n .onUpdate(render)\n .onStart(() => {\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\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\n const onWindowResize = () => {\n cameraRef.current.aspect = window.innerWidth / window.innerHeight;\n cameraRef.current.updateProjectionMatrix();\n rendererRef.current.setSize(window.innerWidth, window.innerHeight);\n render();\n };\n\n controlsRef.current.addEventListener(\"change\", render);\n window.addEventListener(\"resize\", onWindowResize);\n\n return () => {\n window.removeEventListener(\"resize\", onWindowResize);\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 cameraRef.current.position.z = computeCameraDistance(\n cameraRef.current,\n configRef.current.bounds,\n useDistanceConfig ? distanceConfig : [],\n length\n );\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, 1500);\n }\n\n return () => {\n resetView();\n };\n }, [props.dataSource, useDistanceConfig]);\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);\n registerEvents.current.mouseoverTimer = window.setTimeout(() => {\n restoreElementState(() => {\n target &&\n !registerEvents.current.isShowAppInfo &&\n showElementBetweenRelation(target);\n clearTimeout(registerEvents.current.mouseoverTimer);\n });\n }, 500);\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);\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 setCurClickCardItemAppData(target.__userData);\n showAppInfoAnimate(false);\n }\n });\n }, 300);\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);\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 }, 300);\n };\n\n container.addEventListener(\"dblclick\", handleDbClick);\n container.addEventListener(\"click\", handleClick);\n container.addEventListener(\"mouseover\", handleMouseover);\n return () => {\n container.removeEventListener(\"mouseover\", handleMouseover);\n container.removeEventListener(\"click\", handleClick);\n container.removeEventListener(\"dblclick\", handleDbClick);\n };\n }, []);\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{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{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","// 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:-webkit-fit-content;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: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{--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":["createRelationLine","sourceVector","targetVector","lightColor","subVector","Vector3","subVectors","lineLength","length","lineElement","document","createElement","style","height","concat","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","_objectSpread","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","push","findElementByEvent","e","path","composedPath","find","node","shadowRoot","tagName","customEle","elementFromPoint","clientX","clientY","lgWidth","lgHeight","panelSpace","getViewBounds","ceil","cos","WrappedSystemCard","wrapBrick","AppWallElement","onSystemCardButtonClick","useDblclick","useDistanceConfig","handleCardDbClick","rightBtnOnClick","leftBtnOnClick","curClickCardItemAppData","setCurClickCardItemAppData","useState","containerRef","useRef","appwallRef","closeBtnRef","maskRef","systemCardRef","rendererRef","sceneRef","cameraRef","controlsRef","graph3DViewRef","targetsRef","table","curve","objectsRef","lineCiCodesRef","configRef","registerEvents","element","mouseoverTimer","mouseoutTimer","clickTimer","dblClickTimer","isShowGraph3D","isShowAppInfo","isShowRelations","enable","render","useCallback","current","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","_objectsRef$current4","c","p","r","s","hidden","_objectsRef$current3","transition","chain","abs","rect","getBoundingClientRect","top","left","useEffect","cancel","init","window","innerWidth","innerHeight","renderer","CSS3DRenderer","setSize","replaceChildren","domElement","PerspectiveCamera","controls","TrackballControls","rotateSpeed","minDistance","maxDistance","scene","Scene","animate","requestAnimationFrame","TWEEN","update","onWindowResize","updateProjectionMatrix","addEventListener","removeEventListener","dispose","clear","cancelAnimationFrame","_props$dataSource","updateViewBounds","position0","_data$cardItemProps","_data$cardItemProps2","cardTitle","cardItemProps","description","statusClass","objectCSS","random","handleMouseover","clearTimeout","setTimeout","rotationY","_objectsRef$current","lineTarget","curRelations","relation","every","showElementBetweenRelation","handleClick","stopPropagation","handleDbClick","_userData$trapezoida","trapezoidalProps","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","___CSS_LOADER_EXPORT___","module","id","toString"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[5381,6660,4795],{4795:(e,r,t)=>{function n(e,r,t,n,a,u,i){try{var c=e[u](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,a)}function a(e){return function(){var r=this,t=arguments;return new Promise((function(a,u){var i=e.apply(r,t);function c(e){n(i,a,u,c,s,"next",e)}function s(e){n(i,a,u,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>a})},6660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>s,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n,a=t(4795),u=t(8657),i=t(104),c=function(e){var{useBrick:r,data:t}=e,[n,c]=(0,u.useState)(null),s=(0,u.useRef)(),[o,l]=(0,u.useState)(),d=(0,u.useRef)(0),v=(0,u.useMemo)((()=>{var e;return null===(e=i.__secret_internals.getRenderId)||void 0===e?void 0:e.call(i.__secret_internals)}),[]);(0,u.useEffect)((()=>{function e(){return e=(0,a.Z)((function*(){try{c(yield i.__secret_internals.renderUseBrick(r,t)),l(++d.current)}catch(e){(function(e){var r,t=null===(r=i.__secret_internals.getRenderId)||void 0===r?void 0:r.call(i.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,i.handleHttpError)(e))}})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[t,r,v]);var f=(0,u.useCallback)((e=>{e?s.current=i.__secret_internals.mountUseBrick(n,e):(i.__secret_internals.unmountUseBrick(n,s.current),s.current=void 0)}),[n]);if(!n)return null;var{tagName:_}=n;if(null===_)return null;var p=_;return u.createElement(p,{key:o,ref:f})},s=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(c,{key:r,useBrick:e,data:t})))):u.createElement(c,{useBrick:r,data:t})};if(window.dll&&null!==(n=window.BRICK_NEXT_VERSIONS)&&void 0!==n&&null!==(n=n["brick-container"])&&void 0!==n&&n.startsWith("2.")){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=window.dll("tYg3");o&&l&&(c=o(u),s=l(u))}function d(){var[e,r]=(0,u.useState)(i.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,i.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
+ //# sourceMappingURL=5381.c033548c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5381.67057e34.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _window$BRICK_NEXT_VE;\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n setRenderResult(yield __secret_internals.renderUseBrick(useBrick, data));\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n }, [data, useBrick, initialRenderId]);\n var refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n }, [renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\nif (window.dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\")) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = window.dll(\"tYg3\");\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_window$BRICK_NEXT_VE","ReactUseBrick","_ref","useBrick","data","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","_init","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","window","dll","BRICK_NEXT_VERSIONS","startsWith","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5381.c033548c.js","mappings":"0IAAA,SAASA,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQC,EAAKC,GACpE,IACE,IAAIC,EAAOP,EAAIK,GAAKC,GAChBE,EAAQD,EAAKC,KACnB,CAAE,MAAOC,GAEP,YADAP,EAAOO,EAET,CACIF,EAAKG,KACPT,EAAQO,GAERG,QAAQV,QAAQO,GAAOI,KAAKT,EAAOC,EAEvC,CACe,SAASS,EAAkBC,GACxC,OAAO,WACL,IAAIC,EAAOC,KACTC,EAAOC,UACT,OAAO,IAAIP,SAAQ,SAAUV,EAASC,GACpC,IAAIF,EAAMc,EAAGK,MAAMJ,EAAME,GACzB,SAASd,EAAMK,GACbT,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQI,EAClE,CACA,SAASJ,EAAOgB,GACdrB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASgB,EACnE,CACAjB,OAAMkB,EACR,GACF,CACF,C,yLC5BIC,E,6BAKAC,EAAgB,SAAuBC,GACzC,IAAI,SACFC,EAAQ,KACRC,GACEF,GACCG,EAAcC,IAAmB,IAAAC,UAAS,MAC3CC,GAAc,IAAAC,WACbC,EAAWC,IAAgB,IAAAJ,YAC5BK,GAAe,IAAAH,QAAO,GACtBI,GAAkB,IAAAC,UAAQ,KAC5B,IAAIC,EACJ,OAAmE,QAA3DA,EAAuB,EAAAC,mBAAmBC,mBAAkD,IAAzBF,OAAkC,EAASA,EAAqBG,KAAK,EAAAF,mBAAmB,GAClK,KACH,IAAAG,YAAU,KAIR,SAASC,IAaP,OAZAA,GAAQ,QAAkB,YACxB,IACEd,QAAsB,EAAAU,mBAAmBK,eAAelB,EAAUC,IAClEO,IAAyBC,EA2CpBU,QA1CP,CAAE,MAAOnC,IA4CjB,SAAyB0B,GACvB,IAAIU,EACAC,EAA2E,QAA5DD,EAAwB,EAAAP,mBAAmBC,mBAAmD,IAA1BM,OAAmC,EAASA,EAAsBL,KAAK,EAAAF,oBAC9J,OAAQH,IAAoBW,GAAeX,IAAoBW,CACjE,EA/CcC,CAAgBZ,KAElBa,QAAQvC,MAAM,0BAA2BgB,EAAU,aAAcC,IACjE,IAAAuB,iBAAgBxC,GAEpB,CACF,IACOiC,EAAMvB,MAAMH,KAAME,UAC3B,EAjBA,WACSwB,EAAMvB,MAAMH,KAAME,UAC3B,CAgBAgC,EAAM,GACL,CAACxB,EAAMD,EAAUU,IACpB,IAAIgB,GAAc,IAAAC,cAAYC,IACxBA,EACFvB,EAAYc,QAAU,EAAAN,mBAAmBgB,cAEzC3B,EAAc0B,IAGd,EAAAf,mBAAmBiB,gBAAgB5B,EAAcG,EAAYc,SAC7Dd,EAAYc,aAAUvB,EACxB,GACC,CAACM,IACJ,IAAKA,EAEH,OAAO,KAIT,IAAI,QACF6B,GACE7B,EACJ,GAAgB,OAAZ6B,EACF,OAAO,KAET,IAAIC,EAAeD,EACnB,OAAoB,gBAAoBC,EAAc,CACpDpD,IAAK2B,EACL0B,IAAKP,GAET,EASIQ,EAAyB,SAAgCC,GAC3D,IAAI,SACFnC,EAAQ,KACRC,GACEkC,EACJ,OAAIC,MAAMC,QAAQrC,GACI,gBAAoB,WAAgB,KAAMA,EAASsC,KAAI,CAACC,EAAMC,IAAuB,gBAAoB1C,EAAe,CAC1IlB,IAAK4D,EACLxC,SAAUuC,EACVtC,KAAMA,OAGU,gBAAoBH,EAAe,CACrDE,SAAUA,EACVC,KAAMA,GAEV,EAIA,GAAIwC,OAAOC,KAAgE,QAAxD7C,EAAwB4C,OAAOE,2BAA2D,IAA1B9C,GAA2G,QAAtEA,EAAwBA,EAAsB,0BAA0D,IAA1BA,GAAoCA,EAAsB+C,WAAW,MAAO,CAChR,IAAI,8BACFC,EAA6B,wBAC7BC,GACEL,OAAOC,IAAI,QACXG,GAAiCC,IACnChD,EAAgB+C,EAA8B,GAC9CX,EAAyBY,EAAwB,GAErD,CCxGO,SAASC,IACd,IAAKC,EAAcC,IAAmB,IAAA7C,UAAS,EAAA8C,iBAU/C,OATA,IAAAlC,YAAU,KACR,IAAImC,EAAsBC,IACxBH,EAAgBG,EAAMC,OAAO,EAG/B,OADAZ,OAAOa,iBAAiB,eAAgBH,GACjC,KACLV,OAAOc,oBAAoB,eAAgBJ,EAAoB,CAChE,GACA,IACIH,CACT,CCZO,SAASQ,IACd,IAAKC,EAAYC,GAAiB,YAAe,KAAM,IAAAC,cAAaC,kBAQpE,OAPA,aAAgB,KACd,IAAIC,EAAWT,IACbM,EAAcN,EAAMC,OAAO,EAG7B,OADAZ,OAAOa,iBAAiB,aAAcO,GAC/B,IAAMpB,OAAOc,oBAAoB,aAAcM,EAAS,GAC9D,IACIJ,CACT,CCIO,SAASK,IACd,OAAON,IAAgBO,UACzB,CCjBO,SAASC,IACd,IAAKC,EAAaC,GAAkB,WAAe,MAQnD,OAPA,aAAgB,KACd,IAAIL,EAAWT,IACbc,EAAed,EAAMC,OAAO,EAG9B,OADAZ,OAAOa,iBAAiB,eAAgBO,GACjC,IAAMpB,OAAOc,oBAAoB,eAAgBM,EAAS,GAChE,IACII,CACT,C","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _window$BRICK_NEXT_VE;\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n setRenderResult(yield __secret_internals.renderUseBrick(useBrick, data));\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n }, [data, useBrick, initialRenderId]);\n var refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n }, [renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\nif (window.dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\")) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = window.dll(\"tYg3\");\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_window$BRICK_NEXT_VE","ReactUseBrick","_ref","useBrick","data","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","_init","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","window","dll","BRICK_NEXT_VERSIONS","startsWith","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[5636],{5636:(i,n,e)=>{e.r(n),e.d(n,{initializeReactI18n:()=>c,useTranslation:()=>a.useTranslation});var t=e(33),a=e(7348),s=!1;function c(i,n){(0,t.initializeI18n)(i,n),s||(s=!0,a.initReactI18next.init(t.i18n))}}}]);
2
- //# sourceMappingURL=5636.e0080dc9.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[5636],{5636:(i,n,e)=>{e.r(n),e.d(n,{initializeReactI18n:()=>c,useTranslation:()=>a.useTranslation});var t=e(420),a=e(7348),s=!1;function c(i,n){(0,t.initializeI18n)(i,n),s||(s=!0,a.initReactI18next.init(t.i18n))}}}]);
2
+ //# sourceMappingURL=5636.04e20f8a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5636.e0080dc9.js","mappings":"oOAEIA,GAAc,EACX,SAASC,EAAoBC,EAAIC,IACtC,IAAAC,gBAAeF,EAAIC,GACdH,IACHA,GAAc,EACd,EAAAK,iBAAiBC,KAAK,EAAAC,MAE1B,C","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/react.js"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { initReactI18next, useTranslation } from \"react-i18next\";\nvar initialized = false;\nexport function initializeReactI18n(NS, locales) {\n initializeI18n(NS, locales);\n if (!initialized) {\n initialized = true;\n initReactI18next.init(i18n);\n }\n}\nexport { useTranslation };\n//# sourceMappingURL=react.js.map"],"names":["initialized","initializeReactI18n","NS","locales","initializeI18n","initReactI18next","init","i18n"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5636.04e20f8a.js","mappings":"qOAEIA,GAAc,EACX,SAASC,EAAoBC,EAAIC,IACtC,IAAAC,gBAAeF,EAAIC,GACdH,IACHA,GAAc,EACd,EAAAK,iBAAiBC,KAAK,EAAAC,MAE1B,C","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/react.js"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { initReactI18next, useTranslation } from \"react-i18next\";\nvar initialized = false;\nexport function initializeReactI18n(NS, locales) {\n initializeI18n(NS, locales);\n if (!initialized) {\n initialized = true;\n initReactI18next.init(i18n);\n }\n}\nexport { useTranslation };\n//# sourceMappingURL=react.js.map"],"names":["initialized","initializeReactI18n","NS","locales","initializeI18n","initReactI18next","init","i18n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[5725,7672],{7672:(e,t,r)=>{r.r(t),r.d(t,{inject:()=>y,transform:()=>k,transformAndInject:()=>D});var a=r(5178),n=r(9939),i=function(e){return e[e.Initial=0]="Initial",e[e.ExpectField=1]="ExpectField",e[e.ExpectOptionalBeginDefault=2]="ExpectOptionalBeginDefault",e[e.ExpectDefaultValue=3]="ExpectDefaultValue",e[e.ExpectOptionalBeginPipe=4]="ExpectOptionalBeginPipe",e[e.ExpectPipeIdentifier=5]="ExpectPipeIdentifier",e[e.ExpectOptionalBeginPipeParameter=6]="ExpectOptionalBeginPipeParameter",e[e.ExpectPipeParameter=7]="ExpectPipeParameter",e[e.ExpectPlaceholderEnd=8]="ExpectPlaceholderEnd",e}({}),s=function(e){return e.Raw="Raw",e.BeginPlaceHolder="BeginPlaceHolder",e.Field="Field",e.BeginDefault="BeginDefault",e.LiteralString="LiteralString",e.BeginPipe="BeginPipe",e.PipeIdentifier="PipeIdentifier",e.BeginPipeParameter="BeginPipeParameter",e.EndPlaceHolder="EndPlaceHolder",e.JsonValue="JsonValue",e}({}),u=function(e){return e[e.Array=0]="Array",e[e.Object=1]="Object",e[e.String=2]="String",e[e.Others=3]="Others",e}({});function c(e){return new RegExp("(".concat([].concat(e).map((e=>(0,a.escapeRegExp)(e))).join("|"),")\\{"))}function l(e){var t,r=b(e),a=null===(t=r.match(e.beginPlaceholder))||void 0===t?void 0:t[0],n=a?r.indexOf(a):-1;if(n>=0&&a&&"{"!==r.charAt(n+a.length)){var u=e.cursor+n;n>0&&e.tokens.push({type:s.Raw,value:r.substring(0,n)}),e.tokens.push({type:s.BeginPlaceHolder,loc:{start:u,end:u+a.length},value:a.substring(0,a.length-1)}),e.cursor+=n+a.length,e.status=i.ExpectField}else e.tokens.push({type:s.Raw,value:r}),e.cursor=e.raw.length}function o(e){e.cursor+=b(e).match(/^[ \r\n\t]*/)[0].length}function p(e){var[t]=b(e).match(/^(?:[\*\x2D\.0-9A-\[\]_a-z\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);e.tokens.push({type:s.Field,value:t}),e.cursor+=t.length,e.status=i.ExpectOptionalBeginDefault}function d(e){"="===b(e).charAt(0)?(e.tokens.push({type:s.BeginDefault}),e.cursor+=1,e.status=i.ExpectDefaultValue):e.status=i.ExpectOptionalBeginPipe}function f(e){x(e,i.ExpectOptionalBeginPipe)}function g(e){"|"===b(e).charAt(0)?(e.tokens.push({type:s.BeginPipe}),e.cursor+=1,e.status=i.ExpectPipeIdentifier):e.status=i.ExpectPlaceholderEnd}function h(e){var t=b(e).match(/^[a-zA-Z]\w*/);if(!t)throw new Error("Expected a pipe identifier at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));var r=t[0];e.tokens.push({type:s.PipeIdentifier,value:r}),e.cursor+=r.length,e.status=i.ExpectOptionalBeginPipeParameter}function P(e){":"===b(e).charAt(0)?(e.tokens.push({type:s.BeginPipeParameter}),e.cursor+=1,e.status=i.ExpectPipeParameter):e.status=i.ExpectOptionalBeginPipe}function E(e){x(e,i.ExpectOptionalBeginPipeParameter)}function v(e){if("}"!==b(e).charAt(0))throw new Error("Expected a placeholder end '}' at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));e.tokens.push({type:s.EndPlaceHolder,loc:{start:e.cursor,end:e.cursor+1}}),e.cursor+=1,e.status=i.Initial}var F=new Map([["false",!1],["null",null],["true",!0]]);function x(e,t){var r=b(e);if(/[0-9[{"]/.test(r.charAt(0))||/-[0-9]/.test(r.substring(0,2)))!function(e,t){for(var r=b(e),a=r.charAt(0),n="["===a?u.Array:"{"===a?u.Object:'"'===a?u.String:u.Others,i=0,c=0,l=0,o=!1,p=!1,d=!1;i<r.length;){var f=r.charAt(i);if(p)p=!1;else if(o)'"'===f?o=!1:"\\"===f&&(p=!0);else switch(f){case"[":l+=1;break;case"{":c+=1;break;case"]":l-=1;break;case"}":c-=1;break;case'"':o=!0}switch(i+=1,n){case u.Array:d=!l;break;case u.Object:d=!c;break;case u.String:d=!o;break;default:d=i<r.length&&/[^a-z0-9E.+-]/.test(r.charAt(i))}if(d)break}if(!d)throw new Error("Failed to match a JSON value at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));e.tokens.push({type:s.JsonValue,value:JSON.parse(r.substring(0,i))}),e.cursor+=i,e.status=t}(e,t);else{var[a]=b(e).match(/^(?:[\x2D0-9A-Z_a-z\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);F.has(a)?e.tokens.push({type:s.JsonValue,value:F.get(a)}):e.tokens.push({type:s.LiteralString,value:a}),e.cursor+=a.length,e.status=t}}function b(e){return e.raw.substring(e.cursor)}function k(e,t){return B(e,"@",t)}function y(e,t){return B(e,"$",t)}function D(e,t){return B(e,["@","$"],t)}function B(e,t,r){if(!function(e,t){return c(t).test(e)}(e,t))return e;var u,F,x=(u=r.data,function(e){var t=e.field?(0,a.get)(u,e.field):u;return void 0===t&&(t=e.defaultValue),(0,n.processPipes)(t,e.pipes)}),b=function(e,t){return function(r){var i,s,u=r.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\.)?(.+)$/);if(!u)return t.substring(r.loc.start,r.loc.end);var c,[,l,o]=u;!l&&/^[A-Z_]+$/.test(o)&&(l=o,o="*");var p={SYS:"sys",FLAGS:"flags"};switch(l){case"QUERY":case"query":c="*"===o?e.query:e.query.has(o)?e.query.get(o):void 0;break;case"QUERY_ARRAY":c=e.query.has(o)?e.query.getAll(o):void 0;break;case"EVENT":case"event":if(void 0===e.event)return t.substring(r.loc.start,r.loc.end);c="*"===o?e.event:(0,a.get)(e.event,o);break;case"APP":c="*"===o?null!==(i=e.overrideApp)&&void 0!==i?i:e.app:(0,a.get)(null!==(s=e.overrideApp)&&void 0!==s?s:e.app,o);break;case"HASH":c=e.location.hash;break;case"SYS":case"FLAGS":c="*"===o?e[p[l]]:(0,a.get)(e[p[l]],o);break;case"ANCHOR":var d=e.location.hash?e.location.hash.substr(1):null;c="*"===o?d:(0,a.get)(d,o);break;case"CTX":var f=t.substring(r.loc.start,r.loc.end);return console.error('CTX is not supported in placeholder any more: "'.concat(f,'"')),f;default:if(!e.match)return t.substring(r.loc.start,r.loc.end);c=e.match.params[o]}return void 0===c&&(c=r.defaultValue),(0,n.processPipes)(c,r.pipes)}}(r,e);return F=function(e,t){return function(e){var t,r={type:"InjectableString",elements:[]};function a(r){return r===e[0].type&&(t=e.shift(),!0)}function n(r){if(t=e.shift(),Array.isArray(r)?!r.includes(t.type):r!==t.type)throw new Error("Expected token: ".concat(r,", received token: ").concat(t.type))}for(;e.length>0;)if(a(s.Raw))r.elements.push({type:"RawString",value:t.value});else{n(s.BeginPlaceHolder);var i=t.loc.start,u=t.value;n(s.Field);var c={type:"Placeholder",symbol:u,field:t.value,defaultValue:void 0,pipes:[],loc:{start:i,end:i}};for(r.elements.push(c),a(s.BeginDefault)&&(n([s.JsonValue,s.LiteralString]),c.defaultValue=t.value);a(s.BeginPipe);){n(s.PipeIdentifier);var l={type:"PipeCall",identifier:t.value,parameters:[]};for(c.pipes.push(l);a(s.BeginPipeParameter);)n([s.JsonValue,s.LiteralString]),l.parameters.push(t.value)}n(s.EndPlaceHolder),c.loc.end=t.loc.end}return r}(function(e,t){for(var r={beginPlaceholder:c(t),raw:e,cursor:0,status:i.Initial,tokens:[]};r.cursor<e.length;)switch(r.status){case i.Initial:l(r);break;case i.ExpectField:o(r),p(r);break;case i.ExpectOptionalBeginDefault:o(r),d(r);break;case i.ExpectDefaultValue:o(r),f(r);break;case i.ExpectOptionalBeginPipe:o(r),g(r);break;case i.ExpectPipeIdentifier:o(r),h(r);break;case i.ExpectOptionalBeginPipeParameter:o(r),P(r);break;case i.ExpectPipeParameter:o(r),E(r);break;case i.ExpectPlaceholderEnd:o(r),v(r)}if(r.status!==i.Initial)throw new Error("Expected a placeholder end '}' at the end");return r.tokens}(e,t))}(e,t).elements.map((e=>"RawString"===e.type?e.value:"$"===e.symbol?b(e):x(e))),1===F.length?F[0]:F.join("")}}}]);
2
- //# sourceMappingURL=5725.a33cc67f.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[5725,7672],{7672:(e,t,r)=>{r.r(t),r.d(t,{inject:()=>y,transform:()=>k,transformAndInject:()=>D});var a=r(5178),n=r(4415),i=function(e){return e[e.Initial=0]="Initial",e[e.ExpectField=1]="ExpectField",e[e.ExpectOptionalBeginDefault=2]="ExpectOptionalBeginDefault",e[e.ExpectDefaultValue=3]="ExpectDefaultValue",e[e.ExpectOptionalBeginPipe=4]="ExpectOptionalBeginPipe",e[e.ExpectPipeIdentifier=5]="ExpectPipeIdentifier",e[e.ExpectOptionalBeginPipeParameter=6]="ExpectOptionalBeginPipeParameter",e[e.ExpectPipeParameter=7]="ExpectPipeParameter",e[e.ExpectPlaceholderEnd=8]="ExpectPlaceholderEnd",e}({}),s=function(e){return e.Raw="Raw",e.BeginPlaceHolder="BeginPlaceHolder",e.Field="Field",e.BeginDefault="BeginDefault",e.LiteralString="LiteralString",e.BeginPipe="BeginPipe",e.PipeIdentifier="PipeIdentifier",e.BeginPipeParameter="BeginPipeParameter",e.EndPlaceHolder="EndPlaceHolder",e.JsonValue="JsonValue",e}({}),u=function(e){return e[e.Array=0]="Array",e[e.Object=1]="Object",e[e.String=2]="String",e[e.Others=3]="Others",e}({});function c(e){return new RegExp("(".concat([].concat(e).map((e=>(0,a.escapeRegExp)(e))).join("|"),")\\{"))}function l(e){var t,r=b(e),a=null===(t=r.match(e.beginPlaceholder))||void 0===t?void 0:t[0],n=a?r.indexOf(a):-1;if(n>=0&&a&&"{"!==r.charAt(n+a.length)){var u=e.cursor+n;n>0&&e.tokens.push({type:s.Raw,value:r.substring(0,n)}),e.tokens.push({type:s.BeginPlaceHolder,loc:{start:u,end:u+a.length},value:a.substring(0,a.length-1)}),e.cursor+=n+a.length,e.status=i.ExpectField}else e.tokens.push({type:s.Raw,value:r}),e.cursor=e.raw.length}function o(e){e.cursor+=b(e).match(/^[ \r\n\t]*/)[0].length}function p(e){var[t]=b(e).match(/^(?:[\*\x2D\.0-9A-\[\]_a-z\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);e.tokens.push({type:s.Field,value:t}),e.cursor+=t.length,e.status=i.ExpectOptionalBeginDefault}function d(e){"="===b(e).charAt(0)?(e.tokens.push({type:s.BeginDefault}),e.cursor+=1,e.status=i.ExpectDefaultValue):e.status=i.ExpectOptionalBeginPipe}function f(e){x(e,i.ExpectOptionalBeginPipe)}function g(e){"|"===b(e).charAt(0)?(e.tokens.push({type:s.BeginPipe}),e.cursor+=1,e.status=i.ExpectPipeIdentifier):e.status=i.ExpectPlaceholderEnd}function h(e){var t=b(e).match(/^[a-zA-Z]\w*/);if(!t)throw new Error("Expected a pipe identifier at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));var r=t[0];e.tokens.push({type:s.PipeIdentifier,value:r}),e.cursor+=r.length,e.status=i.ExpectOptionalBeginPipeParameter}function P(e){":"===b(e).charAt(0)?(e.tokens.push({type:s.BeginPipeParameter}),e.cursor+=1,e.status=i.ExpectPipeParameter):e.status=i.ExpectOptionalBeginPipe}function E(e){x(e,i.ExpectOptionalBeginPipeParameter)}function v(e){if("}"!==b(e).charAt(0))throw new Error("Expected a placeholder end '}' at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));e.tokens.push({type:s.EndPlaceHolder,loc:{start:e.cursor,end:e.cursor+1}}),e.cursor+=1,e.status=i.Initial}var F=new Map([["false",!1],["null",null],["true",!0]]);function x(e,t){var r=b(e);if(/[0-9[{"]/.test(r.charAt(0))||/-[0-9]/.test(r.substring(0,2)))!function(e,t){for(var r=b(e),a=r.charAt(0),n="["===a?u.Array:"{"===a?u.Object:'"'===a?u.String:u.Others,i=0,c=0,l=0,o=!1,p=!1,d=!1;i<r.length;){var f=r.charAt(i);if(p)p=!1;else if(o)'"'===f?o=!1:"\\"===f&&(p=!0);else switch(f){case"[":l+=1;break;case"{":c+=1;break;case"]":l-=1;break;case"}":c-=1;break;case'"':o=!0}switch(i+=1,n){case u.Array:d=!l;break;case u.Object:d=!c;break;case u.String:d=!o;break;default:d=i<r.length&&/[^a-z0-9E.+-]/.test(r.charAt(i))}if(d)break}if(!d)throw new Error("Failed to match a JSON value at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));e.tokens.push({type:s.JsonValue,value:JSON.parse(r.substring(0,i))}),e.cursor+=i,e.status=t}(e,t);else{var[a]=b(e).match(/^(?:[\x2D0-9A-Z_a-z\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);F.has(a)?e.tokens.push({type:s.JsonValue,value:F.get(a)}):e.tokens.push({type:s.LiteralString,value:a}),e.cursor+=a.length,e.status=t}}function b(e){return e.raw.substring(e.cursor)}function k(e,t){return B(e,"@",t)}function y(e,t){return B(e,"$",t)}function D(e,t){return B(e,["@","$"],t)}function B(e,t,r){if(!function(e,t){return c(t).test(e)}(e,t))return e;var u,F,x=(u=r.data,function(e){var t=e.field?(0,a.get)(u,e.field):u;return void 0===t&&(t=e.defaultValue),(0,n.processPipes)(t,e.pipes)}),b=function(e,t){return function(r){var i,s,u=r.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\.)?(.+)$/);if(!u)return t.substring(r.loc.start,r.loc.end);var c,[,l,o]=u;!l&&/^[A-Z_]+$/.test(o)&&(l=o,o="*");var p={SYS:"sys",FLAGS:"flags"};switch(l){case"QUERY":case"query":c="*"===o?e.query:e.query.has(o)?e.query.get(o):void 0;break;case"QUERY_ARRAY":c=e.query.has(o)?e.query.getAll(o):void 0;break;case"EVENT":case"event":if(void 0===e.event)return t.substring(r.loc.start,r.loc.end);c="*"===o?e.event:(0,a.get)(e.event,o);break;case"APP":c="*"===o?null!==(i=e.overrideApp)&&void 0!==i?i:e.app:(0,a.get)(null!==(s=e.overrideApp)&&void 0!==s?s:e.app,o);break;case"HASH":c=e.location.hash;break;case"SYS":case"FLAGS":c="*"===o?e[p[l]]:(0,a.get)(e[p[l]],o);break;case"ANCHOR":var d=e.location.hash?e.location.hash.substr(1):null;c="*"===o?d:(0,a.get)(d,o);break;case"CTX":var f=t.substring(r.loc.start,r.loc.end);return console.error('CTX is not supported in placeholder any more: "'.concat(f,'"')),f;default:if(!e.match)return t.substring(r.loc.start,r.loc.end);c=e.match.params[o]}return void 0===c&&(c=r.defaultValue),(0,n.processPipes)(c,r.pipes)}}(r,e);return F=function(e,t){return function(e){var t,r={type:"InjectableString",elements:[]};function a(r){return r===e[0].type&&(t=e.shift(),!0)}function n(r){if(t=e.shift(),Array.isArray(r)?!r.includes(t.type):r!==t.type)throw new Error("Expected token: ".concat(r,", received token: ").concat(t.type))}for(;e.length>0;)if(a(s.Raw))r.elements.push({type:"RawString",value:t.value});else{n(s.BeginPlaceHolder);var i=t.loc.start,u=t.value;n(s.Field);var c={type:"Placeholder",symbol:u,field:t.value,defaultValue:void 0,pipes:[],loc:{start:i,end:i}};for(r.elements.push(c),a(s.BeginDefault)&&(n([s.JsonValue,s.LiteralString]),c.defaultValue=t.value);a(s.BeginPipe);){n(s.PipeIdentifier);var l={type:"PipeCall",identifier:t.value,parameters:[]};for(c.pipes.push(l);a(s.BeginPipeParameter);)n([s.JsonValue,s.LiteralString]),l.parameters.push(t.value)}n(s.EndPlaceHolder),c.loc.end=t.loc.end}return r}(function(e,t){for(var r={beginPlaceholder:c(t),raw:e,cursor:0,status:i.Initial,tokens:[]};r.cursor<e.length;)switch(r.status){case i.Initial:l(r);break;case i.ExpectField:o(r),p(r);break;case i.ExpectOptionalBeginDefault:o(r),d(r);break;case i.ExpectDefaultValue:o(r),f(r);break;case i.ExpectOptionalBeginPipe:o(r),g(r);break;case i.ExpectPipeIdentifier:o(r),h(r);break;case i.ExpectOptionalBeginPipeParameter:o(r),P(r);break;case i.ExpectPipeParameter:o(r),E(r);break;case i.ExpectPlaceholderEnd:o(r),v(r)}if(r.status!==i.Initial)throw new Error("Expected a placeholder end '}' at the end");return r.tokens}(e,t))}(e,t).elements.map((e=>"RawString"===e.type?e.value:"$"===e.symbol?b(e):x(e))),1===F.length?F[0]:F.join("")}}}]);
2
+ //# sourceMappingURL=5725.b4ca3ca8.js.map