@grafana/scenes 6.7.0 → 6.8.0

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 (331) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +33 -0
  3. package/dist/esm/dist/esm/behaviors/CursorSync.js +76 -0
  4. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +44 -0
  5. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +14 -0
  6. package/dist/esm/dist/esm/components/EmbeddedScene.js +59 -0
  7. package/dist/esm/dist/esm/components/NestedScene.js +95 -0
  8. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +27 -0
  9. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +176 -0
  10. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +104 -0
  11. package/dist/esm/dist/esm/components/SceneApp/utils.js +42 -0
  12. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +41 -0
  13. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +55 -0
  14. package/dist/esm/dist/esm/components/SceneCanvasText.js +32 -0
  15. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +17 -0
  16. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +82 -0
  17. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +72 -0
  18. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +77 -0
  19. package/dist/esm/dist/esm/components/SceneReactObject.js +34 -0
  20. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +205 -0
  21. package/dist/esm/dist/esm/components/SceneTimePicker.js +139 -0
  22. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +240 -0
  23. package/dist/esm/dist/esm/components/SceneToolbarButton.js +33 -0
  24. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +406 -0
  25. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +44 -0
  26. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +59 -0
  27. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +285 -0
  28. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +45 -0
  29. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +72 -0
  30. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +11 -0
  31. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
  32. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
  33. package/dist/esm/dist/esm/components/layout/LazyLoader.js +103 -0
  34. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +135 -0
  35. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +30 -0
  36. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +283 -0
  37. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
  38. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +190 -0
  39. package/dist/esm/dist/esm/components/layout/grid/constants.js +7 -0
  40. package/dist/esm/dist/esm/components/layout/grid/utils.js +36 -0
  41. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +17 -0
  42. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +29 -0
  43. package/dist/esm/dist/esm/components/layout/split/Splitter.js +386 -0
  44. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +57 -0
  45. package/dist/esm/dist/esm/core/SceneDataNode.js +43 -0
  46. package/dist/esm/dist/esm/core/SceneObjectBase.js +286 -0
  47. package/dist/esm/dist/esm/core/SceneObjectRef.js +32 -0
  48. package/dist/esm/dist/esm/core/SceneTimeRange.js +231 -0
  49. package/dist/esm/dist/esm/core/events.js +11 -0
  50. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +10 -0
  51. package/dist/esm/dist/esm/core/sceneGraph/index.js +25 -0
  52. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +178 -0
  53. package/dist/esm/dist/esm/core/sceneGraph/utils.js +64 -0
  54. package/dist/esm/dist/esm/core/types.js +15 -0
  55. package/dist/esm/dist/esm/querying/DataLayersMerger.js +46 -0
  56. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +6 -0
  57. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +6 -0
  58. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +100 -0
  59. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +468 -0
  60. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +46 -0
  61. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +12 -0
  62. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +112 -0
  63. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +51 -0
  64. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
  65. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +85 -0
  66. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +121 -0
  67. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
  68. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +77 -0
  69. package/dist/esm/dist/esm/querying/registerQueryWithController.js +41 -0
  70. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +30 -0
  71. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +45 -0
  72. package/dist/esm/dist/esm/services/UrlSyncManager.js +167 -0
  73. package/dist/esm/dist/esm/services/useUrlSync.js +29 -0
  74. package/dist/esm/dist/esm/services/utils.js +71 -0
  75. package/dist/esm/dist/esm/utils/ControlsLabel.js +107 -0
  76. package/dist/esm/dist/esm/utils/LoadingIndicator.js +19 -0
  77. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +39 -0
  78. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
  79. package/dist/esm/dist/esm/utils/date.js +15 -0
  80. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +16 -0
  81. package/dist/esm/dist/esm/utils/explore.js +47 -0
  82. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +4 -0
  83. package/dist/esm/dist/esm/utils/getDataSource.js +18 -0
  84. package/dist/esm/dist/esm/utils/getMessageFromError.js +24 -0
  85. package/dist/esm/dist/esm/utils/metricTree.js +53 -0
  86. package/dist/esm/dist/esm/utils/parseUrlParam.js +41 -0
  87. package/dist/esm/dist/esm/utils/utils.js +11 -0
  88. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +30 -0
  89. package/dist/esm/dist/esm/utils/writeSceneLog.js +12 -0
  90. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +150 -0
  91. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +71 -0
  92. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +24 -0
  93. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +303 -0
  94. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
  95. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
  96. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
  97. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +289 -0
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
  104. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +13 -0
  105. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +47 -0
  106. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +23 -0
  107. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +33 -0
  108. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +228 -0
  109. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +72 -0
  110. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +15 -0
  111. package/dist/esm/dist/esm/variables/constants.js +9 -0
  112. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +12 -0
  113. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +259 -0
  114. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
  115. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
  116. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +40 -0
  117. package/dist/esm/dist/esm/variables/interpolation/defaults.js +21 -0
  118. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
  119. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +296 -0
  120. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +87 -0
  121. package/dist/esm/dist/esm/variables/lookupVariable.js +20 -0
  122. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +57 -0
  123. package/dist/esm/dist/esm/variables/macros/contextMacros.js +43 -0
  124. package/dist/esm/dist/esm/variables/macros/dataMacros.js +134 -0
  125. package/dist/esm/dist/esm/variables/macros/index.js +26 -0
  126. package/dist/esm/dist/esm/variables/macros/templateProxies.js +51 -0
  127. package/dist/esm/dist/esm/variables/macros/timeMacros.js +86 -0
  128. package/dist/esm/dist/esm/variables/macros/types.js +11 -0
  129. package/dist/esm/dist/esm/variables/macros/urlMacros.js +56 -0
  130. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +254 -0
  131. package/dist/esm/dist/esm/variables/types.js +11 -0
  132. package/dist/esm/dist/esm/variables/utils.js +172 -0
  133. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +38 -0
  134. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +60 -0
  135. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +88 -0
  136. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +117 -0
  137. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +295 -0
  138. package/dist/esm/dist/esm/variables/variants/TestVariable.js +117 -0
  139. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +61 -0
  140. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +139 -0
  141. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +129 -0
  142. package/dist/esm/dist/esm/variables/variants/query/guards.js +28 -0
  143. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +96 -0
  144. package/dist/esm/dist/esm/variables/variants/query/utils.js +124 -0
  145. package/dist/esm/index.js +1 -1
  146. package/dist/esm/index.js.map +1 -1
  147. package/dist/esm/querying/DataProviderSharer.js +39 -0
  148. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +27 -0
  149. package/dist/esm/src/behaviors/CursorSync.js +76 -0
  150. package/dist/esm/src/behaviors/LiveNowTimer.js +44 -0
  151. package/dist/esm/src/behaviors/SceneQueryController.js +60 -0
  152. package/dist/esm/src/behaviors/index.js +5 -0
  153. package/dist/esm/src/components/EmbeddedScene.js +59 -0
  154. package/dist/esm/src/components/NestedScene.js +95 -0
  155. package/dist/esm/src/components/SceneApp/SceneApp.js +37 -0
  156. package/dist/esm/src/components/SceneApp/SceneAppPage.js +176 -0
  157. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +104 -0
  158. package/dist/esm/src/components/SceneApp/utils.js +42 -0
  159. package/dist/esm/src/components/SceneByFrameRepeater.js +41 -0
  160. package/dist/esm/src/components/SceneByVariableRepeater.js +55 -0
  161. package/dist/esm/src/components/SceneCanvasText.js +32 -0
  162. package/dist/esm/src/components/SceneControlsSpacer.js +17 -0
  163. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +82 -0
  164. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +72 -0
  165. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +77 -0
  166. package/dist/esm/src/components/SceneReactObject.js +34 -0
  167. package/dist/esm/src/components/SceneRefreshPicker.js +205 -0
  168. package/dist/esm/src/components/SceneTimePicker.js +139 -0
  169. package/dist/esm/src/components/SceneTimeRangeCompare.js +240 -0
  170. package/dist/esm/src/components/SceneToolbarButton.js +33 -0
  171. package/dist/esm/src/components/VizPanel/VizPanel.js +406 -0
  172. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +44 -0
  173. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +59 -0
  174. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +285 -0
  175. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +45 -0
  176. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +72 -0
  177. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +56 -0
  178. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
  179. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
  180. package/dist/esm/src/components/layout/LazyLoader.js +103 -0
  181. package/dist/esm/src/components/layout/SceneFlexLayout.js +135 -0
  182. package/dist/esm/src/components/layout/grid/SceneGridItem.js +30 -0
  183. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +283 -0
  184. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
  185. package/dist/esm/src/components/layout/grid/SceneGridRow.js +190 -0
  186. package/dist/esm/src/components/layout/grid/constants.js +7 -0
  187. package/dist/esm/src/components/layout/grid/utils.js +36 -0
  188. package/dist/esm/src/components/layout/split/SplitLayout.js +17 -0
  189. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +29 -0
  190. package/dist/esm/src/components/layout/split/Splitter.js +386 -0
  191. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +100 -0
  192. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +75 -0
  193. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +75 -0
  194. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +22 -0
  195. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +85 -0
  196. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +52 -0
  197. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +78 -0
  198. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +114 -0
  199. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +162 -0
  200. package/dist/esm/src/core/PanelBuilders/index.js +116 -0
  201. package/dist/esm/src/core/SceneComponentWrapper.js +57 -0
  202. package/dist/esm/src/core/SceneDataNode.js +43 -0
  203. package/dist/esm/src/core/SceneObjectBase.js +286 -0
  204. package/dist/esm/src/core/SceneObjectRef.js +32 -0
  205. package/dist/esm/src/core/SceneTimeRange.js +231 -0
  206. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +35 -0
  207. package/dist/esm/src/core/SceneTimeZoneOverride.js +63 -0
  208. package/dist/esm/src/core/events.js +11 -0
  209. package/dist/esm/src/core/sceneGraph/getTimeRange.js +10 -0
  210. package/dist/esm/src/core/sceneGraph/index.js +25 -0
  211. package/dist/esm/src/core/sceneGraph/sceneGraph.js +178 -0
  212. package/dist/esm/src/core/sceneGraph/utils.js +64 -0
  213. package/dist/esm/src/core/types.js +15 -0
  214. package/dist/esm/src/index.js +108 -0
  215. package/dist/esm/src/querying/DataLayersMerger.js +46 -0
  216. package/dist/esm/src/querying/DataProviderProxy.js +37 -0
  217. package/dist/esm/src/querying/DataProviderSharer.js +108 -0
  218. package/dist/esm/src/querying/ExtraQueryProvider.js +6 -0
  219. package/dist/esm/src/querying/RuntimeDataSource.js +49 -0
  220. package/dist/esm/src/querying/SceneDataLayerSet.js +100 -0
  221. package/dist/esm/src/querying/SceneDataTransformer.js +178 -0
  222. package/dist/esm/src/querying/SceneQueryRunner.js +468 -0
  223. package/dist/esm/src/querying/extraQueryProcessingOperator.js +46 -0
  224. package/dist/esm/src/querying/getEnrichedDataRequest.js +12 -0
  225. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +112 -0
  226. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +51 -0
  227. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
  228. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +85 -0
  229. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +121 -0
  230. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
  231. package/dist/esm/src/querying/layers/annotations/utils.js +77 -0
  232. package/dist/esm/src/querying/layers/index.js +2 -0
  233. package/dist/esm/src/querying/registerQueryWithController.js +41 -0
  234. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +30 -0
  235. package/dist/esm/src/services/UniqueUrlKeyMapper.js +45 -0
  236. package/dist/esm/src/services/UrlSyncContextProvider.js +17 -0
  237. package/dist/esm/src/services/UrlSyncManager.js +167 -0
  238. package/dist/esm/src/services/useUrlSync.js +29 -0
  239. package/dist/esm/src/services/utils.js +75 -0
  240. package/dist/esm/src/utils/ControlsLabel.js +107 -0
  241. package/dist/esm/src/utils/LoadingIndicator.js +19 -0
  242. package/dist/esm/src/utils/SafeSerializableSceneObject.js +39 -0
  243. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
  244. package/dist/esm/src/utils/date.js +15 -0
  245. package/dist/esm/src/utils/evaluateTimeRange.js +16 -0
  246. package/dist/esm/src/utils/explore.js +47 -0
  247. package/dist/esm/src/utils/getCompareSeriesRefId.js +4 -0
  248. package/dist/esm/src/utils/getDataSource.js +18 -0
  249. package/dist/esm/src/utils/getMessageFromError.js +24 -0
  250. package/dist/esm/src/utils/metricTree.js +53 -0
  251. package/dist/esm/src/utils/parseUrlParam.js +41 -0
  252. package/dist/esm/src/utils/utils.js +11 -0
  253. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +30 -0
  254. package/dist/esm/src/utils/writeSceneLog.js +12 -0
  255. package/dist/esm/src/variables/VariableDependencyConfig.js +150 -0
  256. package/dist/esm/src/variables/VariableValueRecorder.js +71 -0
  257. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +24 -0
  258. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +303 -0
  259. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
  260. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
  261. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
  262. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +289 -0
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
  269. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +13 -0
  270. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +47 -0
  271. package/dist/esm/src/variables/components/VariableValueControl.js +23 -0
  272. package/dist/esm/src/variables/components/VariableValueInput.js +33 -0
  273. package/dist/esm/src/variables/components/VariableValueSelect.js +228 -0
  274. package/dist/esm/src/variables/components/VariableValueSelectors.js +72 -0
  275. package/dist/esm/src/variables/components/getOptionSearcher.js +15 -0
  276. package/dist/esm/src/variables/constants.js +9 -0
  277. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +12 -0
  278. package/dist/esm/src/variables/groupby/GroupByVariable.js +259 -0
  279. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
  280. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
  281. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +40 -0
  282. package/dist/esm/src/variables/interpolation/defaults.js +21 -0
  283. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +13 -0
  284. package/dist/esm/src/variables/interpolation/formatRegistry.js +296 -0
  285. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +87 -0
  286. package/dist/esm/src/variables/lookupVariable.js +20 -0
  287. package/dist/esm/src/variables/macros/AllVariablesMacro.js +57 -0
  288. package/dist/esm/src/variables/macros/contextMacros.js +43 -0
  289. package/dist/esm/src/variables/macros/dataMacros.js +134 -0
  290. package/dist/esm/src/variables/macros/index.js +35 -0
  291. package/dist/esm/src/variables/macros/templateProxies.js +51 -0
  292. package/dist/esm/src/variables/macros/timeMacros.js +86 -0
  293. package/dist/esm/src/variables/macros/types.js +11 -0
  294. package/dist/esm/src/variables/macros/urlMacros.js +56 -0
  295. package/dist/esm/src/variables/sets/SceneVariableSet.js +254 -0
  296. package/dist/esm/src/variables/types.js +11 -0
  297. package/dist/esm/src/variables/utils.js +172 -0
  298. package/dist/esm/src/variables/variants/ConstantVariable.js +38 -0
  299. package/dist/esm/src/variables/variants/CustomVariable.js +60 -0
  300. package/dist/esm/src/variables/variants/DataSourceVariable.js +88 -0
  301. package/dist/esm/src/variables/variants/IntervalVariable.js +117 -0
  302. package/dist/esm/src/variables/variants/JsonVariable.js +193 -0
  303. package/dist/esm/src/variables/variants/LocalValueVariable.js +56 -0
  304. package/dist/esm/src/variables/variants/MultiValueVariable.js +295 -0
  305. package/dist/esm/src/variables/variants/TestVariable.js +117 -0
  306. package/dist/esm/src/variables/variants/TextBoxVariable.js +61 -0
  307. package/dist/esm/src/variables/variants/guards.js +27 -0
  308. package/dist/esm/src/variables/variants/query/QueryVariable.js +139 -0
  309. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +129 -0
  310. package/dist/esm/src/variables/variants/query/guards.js +28 -0
  311. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +96 -0
  312. package/dist/esm/src/variables/variants/query/utils.js +124 -0
  313. package/dist/esm/variables/components/VariableValueSelect.js +13 -9
  314. package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
  315. package/dist/esm/variables/variants/ConstantVariable.js +22 -0
  316. package/dist/esm/variables/variants/ConstantVariable.js.map +1 -1
  317. package/dist/esm/variables/variants/CustomVariable.js +3 -2
  318. package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
  319. package/dist/esm/variables/variants/DataSourceVariable.js +3 -2
  320. package/dist/esm/variables/variants/DataSourceVariable.js.map +1 -1
  321. package/dist/esm/variables/variants/JsonVariable.js +96 -0
  322. package/dist/esm/variables/variants/TestVariable.js +3 -2
  323. package/dist/esm/variables/variants/TestVariable.js.map +1 -1
  324. package/dist/esm/variables/variants/json/JsonVariable.js +95 -0
  325. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +70 -0
  326. package/dist/esm/variables/variants/query/QueryVariable.js +3 -2
  327. package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
  328. package/dist/index.d.ts +14 -6
  329. package/dist/index.js +35 -13
  330. package/dist/index.js.map +1 -1
  331. package/package.json +2 -2
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { SceneObjectBase } from '../core/SceneObjectBase.js';
3
+ import { sceneGraph } from '../core/sceneGraph/index.js';
4
+ import { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';
5
+ import { useTheme2 } from '@grafana/ui';
6
+ import { css } from '@emotion/css';
7
+
8
+ class SceneCanvasText extends SceneObjectBase {
9
+ constructor() {
10
+ super(...arguments);
11
+ this._variableDependency = new VariableDependencyConfig(this, { statePaths: ["text"] });
12
+ }
13
+ }
14
+ SceneCanvasText.Component = ({ model }) => {
15
+ const { text, fontSize = 20, align = "left", key, spacing } = model.useState();
16
+ const theme = useTheme2();
17
+ const style = css({
18
+ fontSize,
19
+ display: "flex",
20
+ flexGrow: 1,
21
+ alignItems: "center",
22
+ padding: spacing ? theme.spacing(spacing, 0) : void 0,
23
+ justifyContent: align
24
+ });
25
+ return /* @__PURE__ */ React.createElement("div", {
26
+ className: style,
27
+ "data-testid": key
28
+ }, sceneGraph.interpolate(model, text));
29
+ };
30
+
31
+ export { SceneCanvasText };
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVDYW52YXNUZXh0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL1NjZW5lQ2FudmFzVGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2NlbmVPYmplY3RCYXNlIH0gZnJvbSAnLi4vY29yZS9TY2VuZU9iamVjdEJhc2UuanMnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uL2NvcmUvc2NlbmVHcmFwaC9pbmRleC5qcyc7XG5pbXBvcnQgeyBWYXJpYWJsZURlcGVuZGVuY3lDb25maWcgfSBmcm9tICcuLi92YXJpYWJsZXMvVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnLmpzJztcbmltcG9ydCB7IHVzZVRoZW1lMiB9IGZyb20gJ0BncmFmYW5hL3VpJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5cbmNsYXNzIFNjZW5lQ2FudmFzVGV4dCBleHRlbmRzIFNjZW5lT2JqZWN0QmFzZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgdGhpcy5fdmFyaWFibGVEZXBlbmRlbmN5ID0gbmV3IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyh0aGlzLCB7IHN0YXRlUGF0aHM6IFtcInRleHRcIl0gfSk7XG4gIH1cbn1cblNjZW5lQ2FudmFzVGV4dC5Db21wb25lbnQgPSAoeyBtb2RlbCB9KSA9PiB7XG4gIGNvbnN0IHsgdGV4dCwgZm9udFNpemUgPSAyMCwgYWxpZ24gPSBcImxlZnRcIiwga2V5LCBzcGFjaW5nIH0gPSBtb2RlbC51c2VTdGF0ZSgpO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lMigpO1xuICBjb25zdCBzdHlsZSA9IGNzcyh7XG4gICAgZm9udFNpemUsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBwYWRkaW5nOiBzcGFjaW5nID8gdGhlbWUuc3BhY2luZyhzcGFjaW5nLCAwKSA6IHZvaWQgMCxcbiAgICBqdXN0aWZ5Q29udGVudDogYWxpZ25cbiAgfSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBzdHlsZSxcbiAgICBcImRhdGEtdGVzdGlkXCI6IGtleVxuICB9LCBzY2VuZUdyYXBoLmludGVycG9sYXRlKG1vZGVsLCB0ZXh0KSk7XG59O1xuXG5leHBvcnQgeyBTY2VuZUNhbnZhc1RleHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVTJObGJtVkRZVzUyWVhOVVpYaDBMbXB6SWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOXpjbU12WTI5dGNHOXVaVzUwY3k5VFkyVnVaVU5oYm5aaGMxUmxlSFF1ZEhONElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3SUZOalpXNWxUMkpxWldOMFFtRnpaU0I5SUdaeWIyMGdKeTR1TDJOdmNtVXZVMk5sYm1WUFltcGxZM1JDWVhObEp6dGNibWx0Y0c5eWRDQjdJSE5qWlc1bFIzSmhjR2dnZlNCbWNtOXRJQ2N1TGk5amIzSmxMM05qWlc1bFIzSmhjR2duTzF4dWFXMXdiM0owSUhzZ1UyTmxibVZEYjIxd2IyNWxiblJRY205d2N5d2dVMk5sYm1WUFltcGxZM1JUZEdGMFpTQjlJR1p5YjIwZ0p5NHVMMk52Y21VdmRIbHdaWE1uTzF4dWFXMXdiM0owSUhzZ1ZtRnlhV0ZpYkdWRVpYQmxibVJsYm1ONVEyOXVabWxuSUgwZ1puSnZiU0FuTGk0dmRtRnlhV0ZpYkdWekwxWmhjbWxoWW14bFJHVndaVzVrWlc1amVVTnZibVpwWnljN1hHNXBiWEJ2Y25RZ2V5QjFjMlZVYUdWdFpUSWdmU0JtY205dElDZEFaM0poWm1GdVlTOTFhU2M3WEc1cGJYQnZjblFnZXlCamMzTWdmU0JtY205dElDZEFaVzF2ZEdsdmJpOWpjM01uTzF4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGTmpaVzVsUTJGdWRtRnpWR1Y0ZEZOMFlYUmxJR1Y0ZEdWdVpITWdVMk5sYm1WUFltcGxZM1JUZEdGMFpTQjdYRzRnSUhSbGVIUTZJSE4wY21sdVp6dGNiaUFnWm05dWRGTnBlbVUvT2lCdWRXMWlaWEk3WEc0Z0lHRnNhV2R1UHpvZ0oyeGxablFuSUh3Z0oyTmxiblJsY2ljZ2ZDQW5jbWxuYUhRbk8xeHVJQ0J6Y0dGamFXNW5Qem9nYm5WdFltVnlPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFNXZkQ0JoSUhKbFlXeHNlU0IxYzJWbWRXd2dZMjl0Y0c5dVpXNTBMQ0JxZFhOMElHRnVJR1Y0WVcxd2JHVWdiMllnYUc5M0lIUnZJR055WldGMFpTQnZibVZjYmlBcUlFQnBiblJsY201aGJGeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdVMk5sYm1WRFlXNTJZWE5VWlhoMElHVjRkR1Z1WkhNZ1UyTmxibVZQWW1wbFkzUkNZWE5sUEZOalpXNWxRMkZ1ZG1GelZHVjRkRk4wWVhSbFBpQjdYRzRnSUhCeWIzUmxZM1JsWkNCZmRtRnlhV0ZpYkdWRVpYQmxibVJsYm1ONUlEMGdibVYzSUZaaGNtbGhZbXhsUkdWd1pXNWtaVzVqZVVOdmJtWnBaeWgwYUdsekxDQjdJSE4wWVhSbFVHRjBhSE02SUZzbmRHVjRkQ2RkSUgwcE8xeHVYRzRnSUhCMVlteHBZeUJ6ZEdGMGFXTWdRMjl0Y0c5dVpXNTBJRDBnS0hzZ2JXOWtaV3dnZlRvZ1UyTmxibVZEYjIxd2IyNWxiblJRY205d2N6eFRZMlZ1WlVOaGJuWmhjMVJsZUhRK0tTQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QjBaWGgwTENCbWIyNTBVMmw2WlNBOUlESXdMQ0JoYkdsbmJpQTlJQ2RzWldaMEp5d2dhMlY1TENCemNHRmphVzVuSUgwZ1BTQnRiMlJsYkM1MWMyVlRkR0YwWlNncE8xeHVJQ0FnSUdOdmJuTjBJSFJvWlcxbElEMGdkWE5sVkdobGJXVXlLQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQnpkSGxzWlNBOUlHTnpjeWg3WEc0Z0lDQWdJQ0JtYjI1MFUybDZaVG9nWm05dWRGTnBlbVVzWEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUNBZ0lDQm1iR1Y0UjNKdmR6b2dNU3hjYmlBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQWdJQ0FnY0dGa1pHbHVaem9nYzNCaFkybHVaeUEvSUhSb1pXMWxMbk53WVdOcGJtY29jM0JoWTJsdVp5d2dNQ2tnT2lCMWJtUmxabWx1WldRc1hHNGdJQ0FnSUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nWVd4cFoyNHNYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BHUnBkaUJqYkdGemMwNWhiV1U5ZTNOMGVXeGxmU0JrWVhSaExYUmxjM1JwWkQxN2EyVjVmVDVjYmlBZ0lDQWdJQ0FnZTNOalpXNWxSM0poY0dndWFXNTBaWEp3YjJ4aGRHVW9iVzlrWld3c0lIUmxlSFFwZlZ4dUlDQWdJQ0FnUEM5a2FYWStYRzRnSUNBZ0tUdGNiaUFnZlR0Y2JuMWNiaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN08wRkJiMEpQTEUxQlFVMHNkMEpCUVhkQ0xHVkJRWE5ETEVOQlFVRTdRVUZCUVN4RlFVRndSU3hYUVVGQkxFZEJRVUU3UVVGQlFTeEpRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRk5CUVVFc1EwRkJRU3hEUVVGQk8wRkJRMHdzU1VGQlZTeEpRVUZCTEVOQlFVRXNiVUpCUVVFc1IwRkJjMElzU1VGQlNTeDNRa0ZCZVVJc1EwRkJRU3hKUVVGQkxFVkJRVTBzUlVGQlJTeFZRVUZaTEVWQlFVRXNRMEZCUXl4TlFVRk5MRU5CUVVFc1JVRkJSeXhEUVVGQkxFTkJRVUU3UVVGQlFTeEhRVUZCTzBGQmNVSTNSaXhEUVVGQk8wRkJkRUpoTEdWQlFVRXNRMEZIUnl4VFFVRlpMRWRCUVVFc1EwRkJReXhGUVVGRkxFdEJRVUVzUlVGQmEwUXNTMEZCUVR0QlFVTTNSU3hGUVVGTkxFMUJRVUVzUlVGQlJTeEpRVUZOTEVWQlFVRXNVVUZCUVN4SFFVRlhMRVZCUVVrc1JVRkJRU3hMUVVGQkxFZEJRVkVzVVVGQlVTeEhRVUZMTEVWQlFVRXNUMEZCUVN4RlFVRlpMRWRCUVVFc1MwRkJRU3hEUVVGTkxGRkJRVk1zUlVGQlFTeERRVUZCTzBGQlF6ZEZMRVZCUVVFc1RVRkJUU3hSUVVGUkxGTkJRVlVzUlVGQlFTeERRVUZCTzBGQlJYaENMRVZCUVVFc1RVRkJUU3hSUVVGUkxFZEJRVWtzUTBGQlFUdEJRVUZCTEVsQlEyaENMRkZCUVVFN1FVRkJRU3hKUVVOQkxFOUJRVk1zUlVGQlFTeE5RVUZCTzBGQlFVRXNTVUZEVkN4UlFVRlZMRVZCUVVFc1EwRkJRVHRCUVVGQkxFbEJRMVlzVlVGQldTeEZRVUZCTEZGQlFVRTdRVUZCUVN4SlFVTmFMRk5CUVZNc1QwRkJWU3hIUVVGQkxFdEJRVUVzUTBGQlRTeFBRVUZSTEVOQlFVRXNUMEZCUVN4RlFVRlRMRU5CUVVNc1EwRkJTU3hIUVVGQkxFdEJRVUVzUTBGQlFUdEJRVUZCTEVsQlF5OURMR05CUVdkQ0xFVkJRVUVzUzBGQlFUdEJRVUZCTEVkQlEycENMRU5CUVVFc1EwRkJRVHRCUVVWRUxFVkJRVUVzZFVKQlEwY3NTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hMUVVGQkxFVkJRVUU3UVVGQlFTeEpRVUZKTEZOQlFWY3NSVUZCUVN4TFFVRkJPMEZCUVVFc1NVRkJUeXhoUVVGaExFVkJRVUVzUjBGQlFUdEJRVUZCTEVkQlFVRXNSVUZEYWtNc1ZVRkJWeXhEUVVGQkxGZEJRVUVzUTBGQldTeExRVUZQTEVWQlFVRXNTVUZCU1N4RFFVTnlReXhEUVVGQkxFTkJRVUU3UVVGRlNpeERRVUZCT3pzN095SjlcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBb0JPLE1BQU0sd0JBQXdCLGVBQXNDLENBQUE7RUFBcEUsV0FBQSxHQUFBO0FBQUEsSUFBQSxLQUFBLENBQUEsR0FBQSxTQUFBLENBQUEsQ0FBQTtBQUNLLElBQUEsSUFBQSxDQUFBLG1CQUFBLEdBQXNCLElBQUksd0JBQXlCLENBQUEsSUFBQSxFQUFNLEVBQUUsVUFBWSxFQUFBLENBQUMsTUFBTSxDQUFBLEVBQUcsQ0FBQSxDQUFBO0FBQUEsR0FBQTtBQXFCN0YsQ0FBQTtBQXRCYSxlQUFBLENBR0csU0FBWSxHQUFBLENBQUMsRUFBRSxLQUFBLEVBQWtELEtBQUE7QUFDdkUsRUFBQSxNQUFBLEVBQUUsSUFBTSxFQUFBLFFBQUEsR0FBVyxFQUFJLEVBQUEsS0FBQSxHQUFRLFFBQVEsR0FBSyxFQUFBLE9BQUEsRUFBWSxHQUFBLEtBQUEsQ0FBTSxRQUFTLEVBQUEsQ0FBQTtBQUM3RSxFQUFBLE1BQU0sUUFBUSxTQUFVLEVBQUEsQ0FBQTtBQUV4QixFQUFBLE1BQU0sUUFBUSxHQUFJLENBQUE7QUFDaEIsSUFBQSxRQUFBO0lBQ0EsT0FBUyxFQUFBLE1BQUE7SUFDVCxRQUFVLEVBQUEsQ0FBQTtJQUNWLFVBQVksRUFBQSxRQUFBO0FBQ1osSUFBQSxPQUFBLEVBQVMsT0FBVSxHQUFBLEtBQUEsQ0FBTSxPQUFRLENBQUEsT0FBQSxFQUFTLENBQUMsQ0FBSSxHQUFBLEtBQUEsQ0FBQTtJQUMvQyxjQUFnQixFQUFBLEtBQUE7R0FDakIsQ0FBQSxDQUFBO0FBRUQsRUFDRyx1QkFBQSxLQUFBLENBQUEsY0FBQSxLQUFBLEVBQUE7SUFBSSxTQUFXLEVBQUEsS0FBQTtJQUFPLGFBQWEsRUFBQSxHQUFBO0FBQUEsR0FBQSxFQUNqQyxVQUFXLENBQUEsV0FBQSxDQUFZLEtBQU8sRUFBQSxJQUFJLENBQ3JDLENBQUEsQ0FBQTtBQUVKLENBQUE7Ozs7In0=
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { SceneObjectBase } from '../core/SceneObjectBase.js';
3
+
4
+ class SceneControlsSpacer extends SceneObjectBase {
5
+ constructor() {
6
+ super({});
7
+ this._renderBeforeActivation = true;
8
+ }
9
+ }
10
+ SceneControlsSpacer.Component = (_props) => {
11
+ return /* @__PURE__ */ React.createElement("div", {
12
+ style: { flexGrow: 1 }
13
+ });
14
+ };
15
+
16
+ export { SceneControlsSpacer };
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVDb250cm9sc1NwYWNlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9TY2VuZUNvbnRyb2xzU3BhY2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTY2VuZU9iamVjdEJhc2UgfSBmcm9tICcuLi9jb3JlL1NjZW5lT2JqZWN0QmFzZS5qcyc7XG5cbmNsYXNzIFNjZW5lQ29udHJvbHNTcGFjZXIgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7fSk7XG4gICAgdGhpcy5fcmVuZGVyQmVmb3JlQWN0aXZhdGlvbiA9IHRydWU7XG4gIH1cbn1cblNjZW5lQ29udHJvbHNTcGFjZXIuQ29tcG9uZW50ID0gKF9wcm9wcykgPT4ge1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIHN0eWxlOiB7IGZsZXhHcm93OiAxIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyBTY2VuZUNvbnRyb2xzU3BhY2VyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVUyTmxibVZEYjI1MGNtOXNjMU53WVdObGNpNXFjeUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12VTJObGJtVkRiMjUwY205c2MxTndZV05sY2k1MGMzZ2lYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUhzZ1UyTmxibVZQWW1wbFkzUkNZWE5sSUgwZ1puSnZiU0FuTGk0dlkyOXlaUzlUWTJWdVpVOWlhbVZqZEVKaGMyVW5PMXh1YVcxd2IzSjBJSHNnVTJObGJtVkRiMjF3YjI1bGJuUlFjbTl3Y3lCOUlHWnliMjBnSnk0dUwyTnZjbVV2ZEhsd1pYTW5PMXh1WEc1bGVIQnZjblFnWTJ4aGMzTWdVMk5sYm1WRGIyNTBjbTlzYzFOd1lXTmxjaUJsZUhSbGJtUnpJRk5qWlc1bFQySnFaV04wUW1GelpTQjdYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lncElIdGNiaUFnSUNCemRYQmxjaWg3ZlNrN1hHNWNiaUFnSUNCMGFHbHpMbDl5Wlc1a1pYSkNaV1p2Y21WQlkzUnBkbUYwYVc5dUlEMGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCemRHRjBhV01nUTI5dGNHOXVaVzUwSUQwZ0tGOXdjbTl3Y3pvZ1UyTmxibVZEYjIxd2IyNWxiblJRY205d2N6eFRZMlZ1WlVOdmJuUnliMnh6VTNCaFkyVnlQaWtnUFQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUE4WkdsMklITjBlV3hsUFh0N0lHWnNaWGhIY205M09pQXhJSDE5SUM4K08xeHVJQ0I5TzF4dWZWeHVJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenRCUVV0UExFMUJRVTBzTkVKQlFUUkNMR1ZCUVdkQ0xFTkJRVUU3UVVGQlFTeEZRVU5vUkN4WFFVRmpMRWRCUVVFN1FVRkRia0lzU1VGQlFTeExRVUZCTEVOQlFVMHNSVUZCUlN4RFFVRkJMRU5CUVVFN1FVRkZVaXhKUVVGQkxFbEJRVUVzUTBGQlN5eDFRa0ZCTUVJc1IwRkJRU3hKUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5xUXp0QlFVdEdMRU5CUVVFN1FVRldZU3h0UWtGUFJ5eERRVUZCTEZOQlFVRXNSMEZCV1N4RFFVRkRMRTFCUVhGRUxFdEJRVUU3UVVGRE9VVXNSVUZCUVN4MVFrRkJVU3hMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEV0QlFVRXNSVUZCUVR0QlFVRkJMRWxCUVVrc1MwRkJRU3hGUVVGUExFVkJRVVVzVVVGQlFTeEZRVUZWTEVOQlFVVXNSVUZCUVR0QlFVRkJMRWRCUVVjc1EwRkJRU3hEUVVGQk8wRkJRM1JETEVOQlFVRTdPenM3SW4wPVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtPLE1BQU0sNEJBQTRCLGVBQWdCLENBQUE7RUFDaEQsV0FBYyxHQUFBO0FBQ25CLElBQUEsS0FBQSxDQUFNLEVBQUUsQ0FBQSxDQUFBO0FBRVIsSUFBQSxJQUFBLENBQUssdUJBQTBCLEdBQUEsSUFBQSxDQUFBO0FBQUEsR0FBQTtBQU1uQyxDQUFBO0FBVmEsbUJBT0csQ0FBQSxTQUFBLEdBQVksQ0FBQyxNQUFxRCxLQUFBO0FBQzlFLEVBQVEsdUJBQUEsS0FBQSxDQUFBLGNBQUEsS0FBQSxFQUFBO0lBQUksS0FBTyxFQUFBLEVBQUUsVUFBVSxDQUFFLEVBQUE7R0FBRyxDQUFBLENBQUE7QUFDdEMsQ0FBQTs7OzsifQ==
@@ -0,0 +1,82 @@
1
+ import { css } from '@emotion/css';
2
+ import { useStyles2, JSONFormatter, Input } from '@grafana/ui';
3
+ import { isPlainObject, isArray } from 'lodash';
4
+ import React from 'react';
5
+ import { isSceneObject } from '../../core/types.js';
6
+
7
+ function DebugDetails({ node }) {
8
+ const state = node.useState();
9
+ const styles = useStyles2(getStyles);
10
+ return /* @__PURE__ */ React.createElement("div", {
11
+ className: styles.container
12
+ }, Object.keys(state).map((key) => /* @__PURE__ */ React.createElement("div", {
13
+ className: styles.row,
14
+ key
15
+ }, /* @__PURE__ */ React.createElement("div", {
16
+ className: styles.keyName
17
+ }, key), /* @__PURE__ */ React.createElement("div", {
18
+ className: styles.value
19
+ }, renderValue(key, state[key], node)))));
20
+ }
21
+ function renderValue(key, value, node) {
22
+ if (value === null) {
23
+ return "null";
24
+ }
25
+ switch (typeof value) {
26
+ case "number":
27
+ return /* @__PURE__ */ React.createElement(Input, {
28
+ type: "number",
29
+ defaultValue: value,
30
+ onBlur: (evt) => node.setState({ [key]: evt.currentTarget.valueAsNumber })
31
+ });
32
+ case "string":
33
+ return /* @__PURE__ */ React.createElement(Input, {
34
+ type: "text",
35
+ defaultValue: value,
36
+ onBlur: (evt) => node.setState({ [key]: evt.currentTarget.value })
37
+ });
38
+ case "object":
39
+ if (isSceneObject(value)) {
40
+ return value.constructor.name;
41
+ }
42
+ if (isPlainObject(value) || isArray(value)) {
43
+ return /* @__PURE__ */ React.createElement(JSONFormatter, {
44
+ json: value,
45
+ open: 0
46
+ });
47
+ }
48
+ return String(value);
49
+ default:
50
+ return typeof value;
51
+ }
52
+ }
53
+ function getStyles(theme) {
54
+ return {
55
+ container: css({
56
+ flexGrow: 1,
57
+ display: "flex",
58
+ gap: theme.spacing(0.5),
59
+ flexDirection: "column"
60
+ }),
61
+ row: css({
62
+ display: "flex",
63
+ gap: theme.spacing(2)
64
+ }),
65
+ keyName: css({
66
+ display: "flex",
67
+ flexGrow: "0",
68
+ width: 120,
69
+ alignItems: "center",
70
+ height: theme.spacing(theme.components.height.md)
71
+ }),
72
+ value: css({
73
+ flexGrow: 1,
74
+ minHeight: theme.spacing(theme.components.height.md),
75
+ display: "flex",
76
+ alignItems: "center"
77
+ })
78
+ };
79
+ }
80
+
81
+ export { DebugDetails };
82
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWdEZXRhaWxzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL1NjZW5lRGVidWdnZXIvRGVidWdEZXRhaWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyLCBKU09ORm9ybWF0dGVyLCBJbnB1dCB9IGZyb20gJ0BncmFmYW5hL3VpJztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QsIGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGlzU2NlbmVPYmplY3QgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzLmpzJztcblxuZnVuY3Rpb24gRGVidWdEZXRhaWxzKHsgbm9kZSB9KSB7XG4gIGNvbnN0IHN0YXRlID0gbm9kZS51c2VTdGF0ZSgpO1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZXMyKGdldFN0eWxlcyk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBzdHlsZXMuY29udGFpbmVyXG4gIH0sIE9iamVjdC5rZXlzKHN0YXRlKS5tYXAoKGtleSkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLnJvdyxcbiAgICBrZXlcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLmtleU5hbWVcbiAgfSwga2V5KSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLnZhbHVlXG4gIH0sIHJlbmRlclZhbHVlKGtleSwgc3RhdGVba2V5XSwgbm9kZSkpKSkpO1xufVxuZnVuY3Rpb24gcmVuZGVyVmFsdWUoa2V5LCB2YWx1ZSwgbm9kZSkge1xuICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gXCJudWxsXCI7XG4gIH1cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXQsIHtcbiAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB2YWx1ZSxcbiAgICAgICAgb25CbHVyOiAoZXZ0KSA9PiBub2RlLnNldFN0YXRlKHsgW2tleV06IGV2dC5jdXJyZW50VGFyZ2V0LnZhbHVlQXNOdW1iZXIgfSlcbiAgICAgIH0pO1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dCwge1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB2YWx1ZSxcbiAgICAgICAgb25CbHVyOiAoZXZ0KSA9PiBub2RlLnNldFN0YXRlKHsgW2tleV06IGV2dC5jdXJyZW50VGFyZ2V0LnZhbHVlIH0pXG4gICAgICB9KTtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICBpZiAoaXNTY2VuZU9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNQbGFpbk9iamVjdCh2YWx1ZSkgfHwgaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KEpTT05Gb3JtYXR0ZXIsIHtcbiAgICAgICAgICBqc29uOiB2YWx1ZSxcbiAgICAgICAgICBvcGVuOiAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFN0eWxlcyh0aGVtZSkge1xuICByZXR1cm4ge1xuICAgIGNvbnRhaW5lcjogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBnYXA6IHRoZW1lLnNwYWNpbmcoMC41KSxcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCJcbiAgICB9KSxcbiAgICByb3c6IGNzcyh7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGdhcDogdGhlbWUuc3BhY2luZygyKVxuICAgIH0pLFxuICAgIGtleU5hbWU6IGNzcyh7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhHcm93OiBcIjBcIixcbiAgICAgIHdpZHRoOiAxMjAsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgaGVpZ2h0OiB0aGVtZS5zcGFjaW5nKHRoZW1lLmNvbXBvbmVudHMuaGVpZ2h0Lm1kKVxuICAgIH0pLFxuICAgIHZhbHVlOiBjc3Moe1xuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBtaW5IZWlnaHQ6IHRoZW1lLnNwYWNpbmcodGhlbWUuY29tcG9uZW50cy5oZWlnaHQubWQpLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiXG4gICAgfSlcbiAgfTtcbn1cblxuZXhwb3J0IHsgRGVidWdEZXRhaWxzIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVJHVmlkV2RFWlhSaGFXeHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRZMlZ1WlVSbFluVm5aMlZ5TDBSbFluVm5SR1YwWVdsc2N5NTBjM2dpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1kzTnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZM056Snp0Y2JtbHRjRzl5ZENCN0lFZHlZV1poYm1GVWFHVnRaVElnZlNCbWNtOXRJQ2RBWjNKaFptRnVZUzlrWVhSaEp6dGNibWx0Y0c5eWRDQjdJRWx1Y0hWMExDQktVMDlPUm05eWJXRjBkR1Z5TENCMWMyVlRkSGxzWlhNeUlIMGdabkp2YlNBblFHZHlZV1poYm1FdmRXa25PMXh1YVcxd2IzSjBJSHNnYVhOQmNuSmhlU3dnYVhOUWJHRnBiazlpYW1WamRDQjlJR1p5YjIwZ0oyeHZaR0Z6YUNjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dhWE5UWTJWdVpVOWlhbVZqZEN3Z1UyTmxibVZQWW1wbFkzUWdmU0JtY205dElDY3VMaTh1TGk5amIzSmxMM1I1Y0dWekp6dGNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUc1dlpHVTZJRk5qWlc1bFQySnFaV04wTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdSR1ZpZFdkRVpYUmhhV3h6S0hzZ2JtOWtaU0I5T2lCUWNtOXdjeWtnZTF4dUlDQmpiMjV6ZENCemRHRjBaU0E5SUc1dlpHVXVkWE5sVTNSaGRHVW9LVHRjYmlBZ1kyOXVjM1FnYzNSNWJHVnpJRDBnZFhObFUzUjViR1Z6TWloblpYUlRkSGxzWlhNcE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGlCamJHRnpjMDVoYldVOWUzTjBlV3hsY3k1amIyNTBZV2x1WlhKOVBseHVJQ0FnSUNBZ2UwOWlhbVZqZEM1clpYbHpLSE4wWVhSbEtTNXRZWEFvS0d0bGVTa2dQVDRnS0Z4dUlDQWdJQ0FnSUNBOFpHbDJJR05zWVhOelRtRnRaVDE3YzNSNWJHVnpMbkp2ZDMwZ2EyVjVQWHRyWlhsOVBseHVJQ0FnSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM05PWVcxbFBYdHpkSGxzWlhNdWEyVjVUbUZ0WlgwK2UydGxlWDA4TDJScGRqNWNiaUFnSUNBZ0lDQWdJQ0E4WkdsMklHTnNZWE56VG1GdFpUMTdjM1I1YkdWekxuWmhiSFZsZlQ1N2NtVnVaR1Z5Vm1Gc2RXVW9hMlY1TENBb2MzUmhkR1VnWVhNZ1lXNTVLVnRyWlhsZExDQnViMlJsS1gwOEwyUnBkajVjYmlBZ0lDQWdJQ0FnUEM5a2FYWStYRzRnSUNBZ0lDQXBLWDFjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4xY2JseHVablZ1WTNScGIyNGdjbVZ1WkdWeVZtRnNkV1VvYTJWNU9pQnpkSEpwYm1jc0lIWmhiSFZsT2lCaGJua3NJRzV2WkdVNklGTmpaVzVsVDJKcVpXTjBLU0I3WEc0Z0lHbG1JQ2gyWVd4MVpTQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBbmJuVnNiQ2M3WEc0Z0lIMWNibHh1SUNCemQybDBZMmdnS0hSNWNHVnZaaUIyWVd4MVpTa2dlMXh1SUNBZ0lHTmhjMlVnSjI1MWJXSmxjaWM2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdJQ0E4U1c1d2RYUmNiaUFnSUNBZ0lDQWdJQ0IwZVhCbFBWd2liblZ0WW1WeVhDSmNiaUFnSUNBZ0lDQWdJQ0JrWldaaGRXeDBWbUZzZFdVOWUzWmhiSFZsZlZ4dUlDQWdJQ0FnSUNBZ0lHOXVRbXgxY2oxN0tHVjJkQ2tnUFQ0Z2JtOWtaUzV6WlhSVGRHRjBaU2g3SUZ0clpYbGRPaUJsZG5RdVkzVnljbVZ1ZEZSaGNtZGxkQzUyWVd4MVpVRnpUblZ0WW1WeUlIMHBmVnh1SUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0JqWVhObElDZHpkSEpwYm1jbk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUNBZ1BFbHVjSFYwSUhSNWNHVTlYQ0owWlhoMFhDSWdaR1ZtWVhWc2RGWmhiSFZsUFh0MllXeDFaWDBnYjI1Q2JIVnlQWHNvWlhaMEtTQTlQaUJ1YjJSbExuTmxkRk4wWVhSbEtIc2dXMnRsZVYwNklHVjJkQzVqZFhKeVpXNTBWR0Z5WjJWMExuWmhiSFZsSUgwcGZTQXZQbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQmpZWE5sSUNkdlltcGxZM1FuT2x4dUlDQWdJQ0FnYVdZZ0tHbHpVMk5sYm1WUFltcGxZM1FvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTNWpiMjV6ZEhKMVkzUnZjaTV1WVcxbE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR2x6VUd4aGFXNVBZbXBsWTNRb2RtRnNkV1VwSUh4OElHbHpRWEp5WVhrb2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBOFNsTlBUa1p2Y20xaGRIUmxjaUJxYzI5dVBYdDJZV3gxWlgwZ2IzQmxiajE3TUgwZ0x6NDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z1UzUnlhVzVuS0haaGJIVmxLVHRjYmlBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUIyWVd4MVpUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSVGRIbHNaWE1vZEdobGJXVTZJRWR5WVdaaGJtRlVhR1Z0WlRJcElIdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmpiMjUwWVdsdVpYSTZJR056Y3loN1hHNGdJQ0FnSUNCbWJHVjRSM0p2ZHpvZ01TeGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUdkaGNEb2dkR2hsYldVdWMzQmhZMmx1Wnlnd0xqVXBMRnh1SUNBZ0lDQWdabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0Ymljc1hHNGdJQ0FnZlNrc1hHNGdJQ0FnY205M09pQmpjM01vZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNBZ0lDQWdaMkZ3T2lCMGFHVnRaUzV6Y0dGamFXNW5LRElwTEZ4dUlDQWdJSDBwTEZ4dUlDQWdJR3RsZVU1aGJXVTZJR056Y3loN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lDQWdJQ0JtYkdWNFIzSnZkem9nSnpBbkxGeHVJQ0FnSUNBZ2QybGtkR2c2SURFeU1DeGNiaUFnSUNBZ0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQjBhR1Z0WlM1emNHRmphVzVuS0hSb1pXMWxMbU52YlhCdmJtVnVkSE11YUdWcFoyaDBMbTFrS1N4Y2JpQWdJQ0I5S1N4Y2JpQWdJQ0IyWVd4MVpUb2dZM056S0h0Y2JpQWdJQ0FnSUdac1pYaEhjbTkzT2lBeExGeHVJQ0FnSUNBZ2JXbHVTR1ZwWjJoME9pQjBhR1Z0WlM1emNHRmphVzVuS0hSb1pXMWxMbU52YlhCdmJtVnVkSE11YUdWcFoyaDBMbTFrS1N4Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQWdJSDBwTEZ4dUlDQjlPMXh1ZlZ4dUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenRCUVZkblFpeFRRVUZCTEZsQlFVRXNRMEZCWVN4RlFVRkZMRWxCUVVFc1JVRkJaU3hGUVVGQk8wRkJRelZETEVWQlFVMHNUVUZCUVN4TFFVRkJMRWRCUVZFc1MwRkJTeXhSUVVGVExFVkJRVUVzUTBGQlFUdEJRVU0xUWl4RlFVRk5MRTFCUVVFc1RVRkJRU3hIUVVGVExGZEJRVmNzVTBGQlV5eERRVUZCTEVOQlFVRTdRVUZGYmtNc1JVRkJRU3gxUWtGRFJ5eExRVUZCTEVOQlFVRXNZVUZCUVN4RFFVRkJMRXRCUVVFc1JVRkJRVHRCUVVGQkxFbEJRVWtzVjBGQlZ5eE5RVUZQTEVOQlFVRXNVMEZCUVR0QlFVRkJMRWRCUVVFc1JVRkRjRUlzVDBGQlR5eEpRVUZMTEVOQlFVRXNTMEZCU3l4RlFVRkZMRWRCUVVrc1EwRkJRU3hEUVVGRExIZENRVU4wUWl4TFFVRkJMRU5CUVVFc1lVRkJRU3hEUVVGQkxFdEJRVUVzUlVGQlFUdEJRVUZCTEVsQlFVa3NWMEZCVnl4TlFVRlBMRU5CUVVFc1IwRkJRVHRCUVVGQkxFbEJRVXNzUjBGQlFUdEJRVUZCTEVkQlFVRXNhMEpCUTNwQ0xFdEJRVUVzUTBGQlFTeGhRVUZCTEVOQlFVRXNTMEZCUVN4RlFVRkJPMEZCUVVFc1NVRkJTU3hYUVVGWExFMUJRVThzUTBGQlFTeFBRVUZCTzBGQlFVRXNSMEZCVlN4RlFVRkJMRWRCUVVrc2JVSkJRM0JETEV0QlFVRXNRMEZCUVN4aFFVRkJMRU5CUVVFc1MwRkJRU3hGUVVGQk8wRkJRVUVzU1VGQlNTeFhRVUZYTEUxQlFVOHNRMEZCUVN4TFFVRkJPMEZCUVVFc1IwRkJVU3hGUVVGQkxGZEJRVUVzUTBGQldTeExRVUZOTEV0QlFXTXNRMEZCUVN4SFFVRkJMRU5CUVVFc1JVRkJUU3hKUVVGSkxFTkJRVVVzUTBGRE4wVXNRMEZEUkN4RFFVTklMRU5CUVVFc1EwRkJRVHRCUVVWS0xFTkJRVUU3UVVGRlFTeFRRVUZUTEZkQlFVRXNRMEZCV1N4SFFVRmhMRVZCUVVFc1MwRkJRU3hGUVVGWkxFbEJRVzFDTEVWQlFVRTdRVUZETDBRc1JVRkJRU3hKUVVGSkxGVkJRVlVzU1VGQlRTeEZRVUZCTzBGQlEyeENMRWxCUVU4c1QwRkJRU3hOUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5VTzBGQlJVRXNSVUZCUVN4UlFVRlJMRTlCUVU4c1MwRkJRVHRCUVVGQkxFbEJRMUlzUzBGQlFTeFJRVUZCTzBGQlEwZ3NUVUZCUVN4MVFrRkRSeXhMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEV0QlFVRXNSVUZCUVR0QlFVRkJMRkZCUTBNc1NVRkJTeXhGUVVGQkxGRkJRVUU3UVVGQlFTeFJRVU5NTEZsQlFXTXNSVUZCUVN4TFFVRkJPMEZCUVVFc1VVRkRaQ3hOUVVGQkxFVkJRVkVzUTBGQlF5eEhRVUZCTEV0QlFWRXNTVUZCU3l4RFFVRkJMRkZCUVVFc1EwRkJVeXhGUVVGRkxFTkJRVU1zUjBGQlRTeEhRVUZCTEVkQlFVRXNRMEZCU1N4aFFVRmpMRU5CUVVFc1lVRkJRU3hGUVVGbExFTkJRVUU3UVVGQlFTeFBRVU16UlN4RFFVRkJMRU5CUVVFN1FVRkJRU3hKUVVWRExFdEJRVUVzVVVGQlFUdEJRVU5JTEUxQlFVRXNkVUpCUTBjc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeExRVUZCTEVWQlFVRTdRVUZCUVN4UlFVRk5MRWxCUVVzc1JVRkJRU3hOUVVGQk8wRkJRVUVzVVVGQlR5eFpRVUZqTEVWQlFVRXNTMEZCUVR0QlFVRkJMRkZCUVU4c1RVRkJRU3hGUVVGUkxFTkJRVU1zUjBGQlFTeExRVUZSTEVsQlFVc3NRMEZCUVN4UlFVRkJMRU5CUVZNc1JVRkJSU3hEUVVGRExFZEJRVTBzUjBGQlFTeEhRVUZCTEVOQlFVa3NZVUZCWXl4RFFVRkJMRXRCUVVFc1JVRkJUeXhEUVVGQk8wRkJRVUVzVDBGQlJ5eERRVUZCTEVOQlFVRTdRVUZCUVN4SlFVVXpSeXhMUVVGQkxGRkJRVUU3UVVGRFNDeE5RVUZKTEVsQlFVRXNZVUZCUVN4RFFVRmpMRXRCUVVzc1EwRkJSeXhGUVVGQk8wRkJRM2hDTEZGQlFVRXNUMEZCVHl4TlFVRk5MRmRCUVZrc1EwRkJRU3hKUVVGQkxFTkJRVUU3UVVGQlFTeFBRVU16UWp0QlFVTkJMRTFCUVVFc1NVRkJTU3hoUVVGakxFTkJRVUVzUzBGQlN5eERRVUZMTEVsQlFVRXNUMEZCUVN4RFFVRlJMRXRCUVVzc1EwRkJSeXhGUVVGQk8wRkJRekZETEZGQlFVRXNkVUpCUVZFc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeGhRVUZCTEVWQlFVRTdRVUZCUVN4VlFVRmpMRWxCUVUwc1JVRkJRU3hMUVVGQk8wRkJRVUVzVlVGQlR5eEpRVUZOTEVWQlFVRXNRMEZCUVR0QlFVRkJMRk5CUVVjc1EwRkJRU3hEUVVGQk8wRkJRVUVzVDBGRE9VTTdRVUZEUVN4TlFVRkJMRTlCUVU4c1QwRkJUeXhMUVVGTExFTkJRVUVzUTBGQlFUdEJRVUZCTEVsQlFVRTdRVUZGYmtJc1RVRkJRU3hQUVVGUExFOUJRVThzUzBGQlFTeERRVUZCTzBGQlFVRXNSMEZCUVR0QlFVVndRaXhEUVVGQk8wRkJSVUVzVTBGQlV5eFZRVUZWTEV0QlFYTkNMRVZCUVVFN1FVRkRka01zUlVGQlR5eFBRVUZCTzBGQlFVRXNTVUZEVEN4WFFVRlhMRWRCUVVrc1EwRkJRVHRCUVVGQkxFMUJRMklzVVVGQlZTeEZRVUZCTEVOQlFVRTdRVUZCUVN4TlFVTldMRTlCUVZNc1JVRkJRU3hOUVVGQk8wRkJRVUVzVFVGRFZDeEhRVUZCTEVWQlFVc3NTMEZCVFN4RFFVRkJMRTlCUVVFc1EwRkJVU3hIUVVGSExFTkJRVUU3UVVGQlFTeE5RVU4wUWl4aFFVRmxMRVZCUVVFc1VVRkJRVHRCUVVGQkxFdEJRMmhDTEVOQlFVRTdRVUZCUVN4SlFVTkVMRXRCUVVzc1IwRkJTU3hEUVVGQk8wRkJRVUVzVFVGRFVDeFBRVUZUTEVWQlFVRXNUVUZCUVR0QlFVRkJMRTFCUTFRc1IwRkJRU3hGUVVGTExFdEJRVTBzUTBGQlFTeFBRVUZCTEVOQlFWRXNRMEZCUXl4RFFVRkJPMEZCUVVFc1MwRkRja0lzUTBGQlFUdEJRVUZCTEVsQlEwUXNVMEZCVXl4SFFVRkpMRU5CUVVFN1FVRkJRU3hOUVVOWUxFOUJRVk1zUlVGQlFTeE5RVUZCTzBGQlFVRXNUVUZEVkN4UlFVRlZMRVZCUVVFc1IwRkJRVHRCUVVGQkxFMUJRMVlzUzBGQlR5eEZRVUZCTEVkQlFVRTdRVUZCUVN4TlFVTlFMRlZCUVZrc1JVRkJRU3hSUVVGQk8wRkJRVUVzVFVGRFdpeFJRVUZSTEV0QlFVMHNRMEZCUVN4UFFVRkJMRU5CUVZFc1MwRkJUU3hEUVVGQkxGVkJRVUVzUTBGQlZ5eFBRVUZQTEVWQlFVVXNRMEZCUVR0QlFVRkJMRXRCUTJwRUxFTkJRVUU3UVVGQlFTeEpRVU5FTEU5QlFVOHNSMEZCU1N4RFFVRkJPMEZCUVVFc1RVRkRWQ3hSUVVGVkxFVkJRVUVzUTBGQlFUdEJRVUZCTEUxQlExWXNWMEZCVnl4TFFVRk5MRU5CUVVFc1QwRkJRU3hEUVVGUkxFdEJRVTBzUTBGQlFTeFZRVUZCTEVOQlFWY3NUMEZCVHl4RlFVRkZMRU5CUVVFN1FVRkJRU3hOUVVOdVJDeFBRVUZUTEVWQlFVRXNUVUZCUVR0QlFVRkJMRTFCUTFRc1ZVRkJXU3hGUVVGQkxGRkJRVUU3UVVGQlFTeExRVU5pTEVOQlFVRTdRVUZCUVN4SFFVTklMRU5CUVVFN1FVRkRSanM3T3pzaWZRPT1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFXZ0IsU0FBQSxZQUFBLENBQWEsRUFBRSxJQUFBLEVBQWUsRUFBQTtBQUN0QyxFQUFBLE1BQUEsS0FBQSxHQUFRLEtBQUssUUFBUyxFQUFBLENBQUE7QUFDdEIsRUFBQSxNQUFBLE1BQUEsR0FBUyxXQUFXLFNBQVMsQ0FBQSxDQUFBO0FBRW5DLEVBQ0csdUJBQUEsS0FBQSxDQUFBLGNBQUEsS0FBQSxFQUFBO0FBQUksSUFBQSxTQUFBLEVBQVcsTUFBTyxDQUFBLFNBQUE7R0FDcEIsRUFBQSxNQUFBLENBQU8sS0FBSyxLQUFLLENBQUEsQ0FBRSxJQUFJLENBQUMsR0FBQSxxQkFDdEIsS0FBQSxDQUFBLGFBQUEsQ0FBQSxLQUFBLEVBQUE7QUFBSSxJQUFBLFNBQUEsRUFBVyxNQUFPLENBQUEsR0FBQTtBQUFLLElBQUEsR0FBQTtHQUN6QixrQkFBQSxLQUFBLENBQUEsY0FBQSxLQUFBLEVBQUE7QUFBSSxJQUFBLFNBQUEsRUFBVyxNQUFPLENBQUEsT0FBQTtBQUFBLEdBQUEsRUFBVSxHQUFJLENBQUEsa0JBQ3BDLEtBQUEsQ0FBQSxhQUFBLENBQUEsS0FBQSxFQUFBO0FBQUksSUFBQSxTQUFBLEVBQVcsTUFBTyxDQUFBLEtBQUE7R0FBUSxFQUFBLFdBQUEsQ0FBWSxLQUFNLEtBQWMsQ0FBQSxHQUFBLENBQUEsRUFBTSxJQUFJLENBQUUsQ0FDN0UsQ0FDRCxDQUNILENBQUEsQ0FBQTtBQUVKLENBQUE7QUFFQSxTQUFTLFdBQUEsQ0FBWSxHQUFhLEVBQUEsS0FBQSxFQUFZLElBQW1CLEVBQUE7QUFDL0QsRUFBQSxJQUFJLFVBQVUsSUFBTSxFQUFBO0FBQ1gsSUFBQSxPQUFBLE1BQUEsQ0FBQTtBQUFBLEdBQUE7QUFHVCxFQUFBLFFBQVEsT0FBTyxLQUFBO0FBQ1IsSUFBQSxLQUFBLFFBQUE7QUFDSCxNQUNHLHVCQUFBLEtBQUEsQ0FBQSxjQUFBLEtBQUEsRUFBQTtRQUNDLElBQUssRUFBQSxRQUFBO1FBQ0wsWUFBYyxFQUFBLEtBQUE7UUFDZCxNQUFRLEVBQUEsQ0FBQyxHQUFRLEtBQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQSxFQUFFLENBQUMsR0FBTSxHQUFBLEdBQUEsQ0FBSSxhQUFjLENBQUEsYUFBQSxFQUFlLENBQUE7T0FDM0UsQ0FBQSxDQUFBO0FBRUMsSUFBQSxLQUFBLFFBQUE7QUFDSCxNQUNHLHVCQUFBLEtBQUEsQ0FBQSxjQUFBLEtBQUEsRUFBQTtRQUFNLElBQUssRUFBQSxNQUFBO1FBQU8sWUFBYyxFQUFBLEtBQUE7UUFBTyxNQUFRLEVBQUEsQ0FBQyxHQUFRLEtBQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQSxFQUFFLENBQUMsR0FBTSxHQUFBLEdBQUEsQ0FBSSxhQUFjLENBQUEsS0FBQSxFQUFPLENBQUE7T0FBRyxDQUFBLENBQUE7QUFFM0csSUFBQSxLQUFBLFFBQUE7QUFDQyxNQUFBLElBQUEsYUFBQSxDQUFjLEtBQUssQ0FBRyxFQUFBO0FBQ3hCLFFBQUEsT0FBTyxNQUFNLFdBQVksQ0FBQSxJQUFBLENBQUE7QUFBQSxPQUFBO0FBRTNCLE1BQUEsSUFBSSxhQUFjLENBQUEsS0FBSyxDQUFLLElBQUEsT0FBQSxDQUFRLEtBQUssQ0FBRyxFQUFBO0FBQzFDLFFBQVEsdUJBQUEsS0FBQSxDQUFBLGNBQUEsYUFBQSxFQUFBO1VBQWMsSUFBTSxFQUFBLEtBQUE7VUFBTyxJQUFNLEVBQUEsQ0FBQTtTQUFHLENBQUEsQ0FBQTtBQUFBLE9BQUE7QUFFOUMsTUFBQSxPQUFPLE9BQU8sS0FBSyxDQUFBLENBQUE7O0FBRW5CLE1BQUEsT0FBTyxPQUFPLEtBQUEsQ0FBQTs7QUFFcEIsQ0FBQTtBQUVBLFNBQVMsVUFBVSxLQUFzQixFQUFBO0FBQ2hDLEVBQUEsT0FBQTtBQUNMLElBQUEsU0FBQSxFQUFXLEdBQUksQ0FBQTtNQUNiLFFBQVUsRUFBQSxDQUFBO01BQ1YsT0FBUyxFQUFBLE1BQUE7TUFDVCxHQUFLLEVBQUEsS0FBQSxDQUFNLFFBQVEsR0FBRyxDQUFBO01BQ3RCLGFBQWUsRUFBQSxRQUFBO0tBQ2hCLENBQUE7QUFDRCxJQUFBLEdBQUEsRUFBSyxHQUFJLENBQUE7TUFDUCxPQUFTLEVBQUEsTUFBQTtNQUNULEdBQUssRUFBQSxLQUFBLENBQU0sUUFBUSxDQUFDLENBQUE7S0FDckIsQ0FBQTtBQUNELElBQUEsT0FBQSxFQUFTLEdBQUksQ0FBQTtNQUNYLE9BQVMsRUFBQSxNQUFBO01BQ1QsUUFBVSxFQUFBLEdBQUE7TUFDVixLQUFPLEVBQUEsR0FBQTtNQUNQLFVBQVksRUFBQSxRQUFBO0FBQ1osTUFBQSxNQUFBLEVBQVEsS0FBTSxDQUFBLE9BQUEsQ0FBUSxLQUFNLENBQUEsVUFBQSxDQUFXLE9BQU8sRUFBRSxDQUFBO0tBQ2pELENBQUE7QUFDRCxJQUFBLEtBQUEsRUFBTyxHQUFJLENBQUE7TUFDVCxRQUFVLEVBQUEsQ0FBQTtBQUNWLE1BQUEsU0FBQSxFQUFXLEtBQU0sQ0FBQSxPQUFBLENBQVEsS0FBTSxDQUFBLFVBQUEsQ0FBVyxPQUFPLEVBQUUsQ0FBQTtNQUNuRCxPQUFTLEVBQUEsTUFBQTtNQUNULFVBQVksRUFBQSxRQUFBO0tBQ2IsQ0FBQTtBQUFBLEdBQUEsQ0FBQTtBQUVMOzs7OyJ9
@@ -0,0 +1,72 @@
1
+ import { cx, css } from '@emotion/css';
2
+ import { useStyles2 } from '@grafana/ui';
3
+ import React from 'react';
4
+
5
+ function DebugTreeNode({ node, selectedObject, onSelect }) {
6
+ const styles = useStyles2(getStyles);
7
+ const children = [];
8
+ const isSelected = node === selectedObject;
9
+ node.forEachChild((child) => {
10
+ children.push(
11
+ /* @__PURE__ */ React.createElement(DebugTreeNode, {
12
+ node: child,
13
+ key: child.state.key,
14
+ selectedObject,
15
+ onSelect
16
+ })
17
+ );
18
+ });
19
+ return /* @__PURE__ */ React.createElement("div", {
20
+ className: styles.container
21
+ }, /* @__PURE__ */ React.createElement("div", {
22
+ className: cx(styles.name, isSelected && styles.selected),
23
+ onClick: () => onSelect(node)
24
+ }, node.constructor.name), /* @__PURE__ */ React.createElement("div", {
25
+ className: styles.children
26
+ }, children));
27
+ }
28
+ function getStyles(theme) {
29
+ return {
30
+ container: css({
31
+ flexGrow: 1,
32
+ display: "flex",
33
+ gap: theme.spacing(0.5),
34
+ flexDirection: "column"
35
+ }),
36
+ name: css({
37
+ flexGrow: 1,
38
+ display: "flex",
39
+ gap: theme.spacing(1),
40
+ fontSize: theme.typography.bodySmall.fontSize,
41
+ cursor: "pointer",
42
+ padding: theme.spacing(0, 1),
43
+ borderRadius: theme.shape.borderRadius(2),
44
+ position: "relative",
45
+ "&:hover": {
46
+ background: theme.colors.background.secondary
47
+ }
48
+ }),
49
+ selected: css({
50
+ "&::before": {
51
+ display: "block",
52
+ content: "' '",
53
+ position: "absolute",
54
+ left: 0,
55
+ width: 4,
56
+ bottom: 2,
57
+ top: 2,
58
+ borderRadius: theme.shape.radius.default,
59
+ backgroundImage: theme.colors.gradients.brandVertical
60
+ }
61
+ }),
62
+ children: css({
63
+ flexGrow: 1,
64
+ display: "flex",
65
+ flexDirection: "column",
66
+ paddingLeft: theme.spacing(1)
67
+ })
68
+ };
69
+ }
70
+
71
+ export { DebugTreeNode };
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWdUcmVlTm9kZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9TY2VuZURlYnVnZ2VyL0RlYnVnVHJlZU5vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3gsIGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZnVuY3Rpb24gRGVidWdUcmVlTm9kZSh7IG5vZGUsIHNlbGVjdGVkT2JqZWN0LCBvblNlbGVjdCB9KSB7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlczIoZ2V0U3R5bGVzKTtcbiAgY29uc3QgY2hpbGRyZW4gPSBbXTtcbiAgY29uc3QgaXNTZWxlY3RlZCA9IG5vZGUgPT09IHNlbGVjdGVkT2JqZWN0O1xuICBub2RlLmZvckVhY2hDaGlsZCgoY2hpbGQpID0+IHtcbiAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGVidWdUcmVlTm9kZSwge1xuICAgICAgICBub2RlOiBjaGlsZCxcbiAgICAgICAga2V5OiBjaGlsZC5zdGF0ZS5rZXksXG4gICAgICAgIHNlbGVjdGVkT2JqZWN0LFxuICAgICAgICBvblNlbGVjdFxuICAgICAgfSlcbiAgICApO1xuICB9KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IHN0eWxlcy5jb250YWluZXJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogY3goc3R5bGVzLm5hbWUsIGlzU2VsZWN0ZWQgJiYgc3R5bGVzLnNlbGVjdGVkKSxcbiAgICBvbkNsaWNrOiAoKSA9PiBvblNlbGVjdChub2RlKVxuICB9LCBub2RlLmNvbnN0cnVjdG9yLm5hbWUpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBzdHlsZXMuY2hpbGRyZW5cbiAgfSwgY2hpbGRyZW4pKTtcbn1cbmZ1bmN0aW9uIGdldFN0eWxlcyh0aGVtZSkge1xuICByZXR1cm4ge1xuICAgIGNvbnRhaW5lcjogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBnYXA6IHRoZW1lLnNwYWNpbmcoMC41KSxcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCJcbiAgICB9KSxcbiAgICBuYW1lOiBjc3Moe1xuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGdhcDogdGhlbWUuc3BhY2luZygxKSxcbiAgICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmJvZHlTbWFsbC5mb250U2l6ZSxcbiAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDAsIDEpLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGVtZS5zaGFwZS5ib3JkZXJSYWRpdXMoMiksXG4gICAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgICAgXCImOmhvdmVyXCI6IHtcbiAgICAgICAgYmFja2dyb3VuZDogdGhlbWUuY29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5XG4gICAgICB9XG4gICAgfSksXG4gICAgc2VsZWN0ZWQ6IGNzcyh7XG4gICAgICBcIiY6OmJlZm9yZVwiOiB7XG4gICAgICAgIGRpc3BsYXk6IFwiYmxvY2tcIixcbiAgICAgICAgY29udGVudDogXCInICdcIixcbiAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgd2lkdGg6IDQsXG4gICAgICAgIGJvdHRvbTogMixcbiAgICAgICAgdG9wOiAyLFxuICAgICAgICBib3JkZXJSYWRpdXM6IHRoZW1lLnNoYXBlLnJhZGl1cy5kZWZhdWx0LFxuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IHRoZW1lLmNvbG9ycy5ncmFkaWVudHMuYnJhbmRWZXJ0aWNhbFxuICAgICAgfVxuICAgIH0pLFxuICAgIGNoaWxkcmVuOiBjc3Moe1xuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2luZygxKVxuICAgIH0pXG4gIH07XG59XG5cbmV4cG9ydCB7IERlYnVnVHJlZU5vZGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUkdWaWRXZFVjbVZsVG05a1pTNXFjeUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdlUyTmxibVZFWldKMVoyZGxjaTlFWldKMVoxUnlaV1ZPYjJSbExuUnplQ0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCamMzTXNJR040SUgwZ1puSnZiU0FuUUdWdGIzUnBiMjR2WTNOekp6dGNibWx0Y0c5eWRDQjdJRWR5WVdaaGJtRlVhR1Z0WlRJZ2ZTQm1jbTl0SUNkQVozSmhabUZ1WVM5a1lYUmhKenRjYm1sdGNHOXlkQ0I3SUhWelpWTjBlV3hsY3pJZ2ZTQm1jbTl0SUNkQVozSmhabUZ1WVM5MWFTYzdYRzVwYlhCdmNuUWdVbVZoWTNRc0lIc2dVbVZoWTNST2IyUmxJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dVMk5sYm1WUFltcGxZM1FnZlNCbWNtOXRJQ2N1TGk4dUxpOWpiM0psTDNSNWNHVnpKenRjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lHNXZaR1U2SUZOalpXNWxUMkpxWldOME8xeHVJQ0J6Wld4bFkzUmxaRTlpYW1WamREODZJRk5qWlc1bFQySnFaV04wTzF4dUlDQnZibE5sYkdWamREb2dLRzV2WkdVNklGTmpaVzVsVDJKcVpXTjBLU0E5UGlCMmIybGtPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1JHVmlkV2RVY21WbFRtOWtaU2g3SUc1dlpHVXNJSE5sYkdWamRHVmtUMkpxWldOMExDQnZibE5sYkdWamRDQjlPaUJRY205d2N5a2dlMXh1SUNCamIyNXpkQ0J6ZEhsc1pYTWdQU0IxYzJWVGRIbHNaWE15S0dkbGRGTjBlV3hsY3lrN1hHNGdJR052Ym5OMElHTm9hV3hrY21WdU9pQlNaV0ZqZEU1dlpHVmJYU0E5SUZ0ZE8xeHVJQ0JqYjI1emRDQnBjMU5sYkdWamRHVmtJRDBnYm05a1pTQTlQVDBnYzJWc1pXTjBaV1JQWW1wbFkzUTdYRzVjYmlBZ2JtOWtaUzVtYjNKRllXTm9RMmhwYkdRb0tHTm9hV3hrS1NBOVBpQjdYRzRnSUNBZ1kyaHBiR1J5Wlc0dWNIVnphQ2hjYmlBZ0lDQWdJRHhFWldKMVoxUnlaV1ZPYjJSbElHNXZaR1U5ZTJOb2FXeGtmU0JyWlhrOWUyTm9hV3hrTG5OMFlYUmxMbXRsZVgwZ2MyVnNaV04wWldSUFltcGxZM1E5ZTNObGJHVmpkR1ZrVDJKcVpXTjBmU0J2YmxObGJHVmpkRDE3YjI1VFpXeGxZM1I5SUM4K1hHNGdJQ0FnS1R0Y2JpQWdmU2s3WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFpHbDJJR05zWVhOelRtRnRaVDE3YzNSNWJHVnpMbU52Ym5SaGFXNWxjbjArWEc0Z0lDQWdJQ0E4WkdsMklHTnNZWE56VG1GdFpUMTdZM2dvYzNSNWJHVnpMbTVoYldVc0lHbHpVMlZzWldOMFpXUWdKaVlnYzNSNWJHVnpMbk5sYkdWamRHVmtLWDBnYjI1RGJHbGphejE3S0NrZ1BUNGdiMjVUWld4bFkzUW9ibTlrWlNsOVBseHVJQ0FnSUNBZ0lDQjdibTlrWlM1amIyNXpkSEoxWTNSdmNpNXVZVzFsZlZ4dUlDQWdJQ0FnUEM5a2FYWStYRzRnSUNBZ0lDQThaR2wySUdOc1lYTnpUbUZ0WlQxN2MzUjViR1Z6TG1Ob2FXeGtjbVZ1ZlQ1N1kyaHBiR1J5Wlc1OVBDOWthWFkrWEc0Z0lDQWdQQzlrYVhZK1hHNGdJQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEZOMGVXeGxjeWgwYUdWdFpUb2dSM0poWm1GdVlWUm9aVzFsTWlrZ2UxeHVJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lHTnZiblJoYVc1bGNqb2dZM056S0h0Y2JpQWdJQ0FnSUdac1pYaEhjbTkzT2lBeExGeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQWdJQ0FnWjJGd09pQjBhR1Z0WlM1emNHRmphVzVuS0RBdU5Ta3NYRzRnSUNBZ0lDQm1iR1Y0UkdseVpXTjBhVzl1T2lBblkyOXNkVzF1Snl4Y2JpQWdJQ0I5S1N4Y2JpQWdJQ0J1WVcxbE9pQmpjM01vZTF4dUlDQWdJQ0FnWm14bGVFZHliM2M2SURFc1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lDQWdJQ0JuWVhBNklIUm9aVzFsTG5Od1lXTnBibWNvTVNrc1hHNGdJQ0FnSUNCbWIyNTBVMmw2WlRvZ2RHaGxiV1V1ZEhsd2IyZHlZWEJvZVM1aWIyUjVVMjFoYkd3dVptOXVkRk5wZW1Vc1hHNGdJQ0FnSUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SUhSb1pXMWxMbk53WVdOcGJtY29NQ3dnTVNrc1hHNGdJQ0FnSUNCaWIzSmtaWEpTWVdScGRYTTZJSFJvWlcxbExuTm9ZWEJsTG1KdmNtUmxjbEpoWkdsMWN5Z3lLU3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dUlDQWdJQ0FnSnlZNmFHOTJaWEluT2lCN1hHNGdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUTZJSFJvWlcxbExtTnZiRzl5Y3k1aVlXTnJaM0p2ZFc1a0xuTmxZMjl1WkdGeWVTeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ2ZTa3NYRzRnSUNBZ2MyVnNaV04wWldRNklHTnpjeWg3WEc0Z0lDQWdJQ0FuSmpvNlltVm1iM0psSnpvZ2UxeHVJQ0FnSUNBZ0lDQmthWE53YkdGNU9pQW5ZbXh2WTJzbkxGeHVJQ0FnSUNBZ0lDQmpiMjUwWlc1ME9pQmNJaWNnSjF3aUxGeHVJQ0FnSUNBZ0lDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ0lDQWdJQ0FnYkdWbWREb2dNQ3hjYmlBZ0lDQWdJQ0FnZDJsa2RHZzZJRFFzWEc0Z0lDQWdJQ0FnSUdKdmRIUnZiVG9nTWl4Y2JpQWdJQ0FnSUNBZ2RHOXdPaUF5TEZ4dUlDQWdJQ0FnSUNCaWIzSmtaWEpTWVdScGRYTTZJSFJvWlcxbExuTm9ZWEJsTG5KaFpHbDFjeTVrWldaaGRXeDBMRnh1SUNBZ0lDQWdJQ0JpWVdOclozSnZkVzVrU1cxaFoyVTZJSFJvWlcxbExtTnZiRzl5Y3k1bmNtRmthV1Z1ZEhNdVluSmhibVJXWlhKMGFXTmhiQ3hjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdmU2tzWEc0Z0lDQWdZMmhwYkdSeVpXNDZJR056Y3loN1hHNGdJQ0FnSUNCbWJHVjRSM0p2ZHpvZ01TeGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1SUNBZ0lDQWdjR0ZrWkdsdVoweGxablE2SUhSb1pXMWxMbk53WVdOcGJtY29NU2tzWEc0Z0lDQWdmU2tzWEc0Z0lIMDdYRzU5WEc0aVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096dEJRVmxQTEZOQlFWTXNZVUZCWXl4RFFVRkJMRVZCUVVVc1NVRkJUU3hGUVVGQkxHTkJRVUVzUlVGQlowSXNWVUZCYlVJc1JVRkJRVHRCUVVOMlJTeEZRVUZOTEUxQlFVRXNUVUZCUVN4SFFVRlRMRmRCUVZjc1UwRkJVeXhEUVVGQkxFTkJRVUU3UVVGRGJrTXNSVUZCUVN4TlFVRk5MRmRCUVhkQ0xFVkJRVU1zUTBGQlFUdEJRVU12UWl4RlFVRkJMRTFCUVUwc1lVRkJZU3hKUVVGVExFdEJRVUVzWTBGQlFTeERRVUZCTzBGQlJUVkNMRVZCUVVzc1NVRkJRU3hEUVVGQkxGbEJRVUVzUTBGQllTeERRVUZETEV0QlFWVXNTMEZCUVR0QlFVTXpRaXhKUVVGVExGRkJRVUVzUTBGQlFTeEpRVUZCTzBGQlFVRXNjMEpCUTA0c1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeGhRVUZCTEVWQlFVRTdRVUZCUVN4UlFVRmpMRWxCUVUwc1JVRkJRU3hMUVVGQk8wRkJRVUVzVVVGQlR5eEhRVUZCTEVWQlFVc3NUVUZCVFN4TFFVRk5MRU5CUVVFc1IwRkJRVHRCUVVGQkxGRkJRVXNzWTBGQlFUdEJRVUZCTEZGQlFXZERMRkZCUVVFN1FVRkJRU3hQUVVGdlFpeERRVUZCTzBGQlFVRXNTMEZEZUVjc1EwRkJRVHRCUVVGQkxFZEJRMFFzUTBGQlFTeERRVUZCTzBGQlJVUXNSVUZCUVN4MVFrRkRSeXhMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEV0QlFVRXNSVUZCUVR0QlFVRkJMRWxCUVVrc1YwRkJWeXhOUVVGUExFTkJRVUVzVTBGQlFUdEJRVUZCTEVkQlFVRXNhMEpCUTNCQ0xFdEJRVUVzUTBGQlFTeGhRVUZCTEVOQlFVRXNTMEZCUVN4RlFVRkJPMEZCUVVFc1NVRkJTU3hYUVVGWExFVkJRVWNzUTBGQlFTeE5RVUZCTEVOQlFVOHNTVUZCVFN4RlFVRkJMRlZCUVVFc1NVRkJZeXhQUVVGUExGRkJRVkVzUTBGQlFUdEJRVUZCTEVsQlFVY3NUMEZCUVN4RlFVRlRMRTFCUVUwc1VVRkJRU3hEUVVGVExFbEJRVWtzUTBGQlFUdEJRVUZCTEVkQlFVRXNSVUZEZWtZc1NVRkJTeXhEUVVGQkxGZEJRVUVzUTBGQldTeEpRVU53UWl4RFFVRkJMR3RDUVVORExFdEJRVUVzUTBGQlFTeGhRVUZCTEVOQlFVRXNTMEZCUVN4RlFVRkJPMEZCUVVFc1NVRkJTU3hYUVVGWExFMUJRVThzUTBGQlFTeFJRVUZCTzBGQlFVRXNSMEZCUVN4RlFVRlhMRkZCUVZNc1EwRkROME1zUTBGQlFTeERRVUZCTzBGQlJVb3NRMEZCUVR0QlFVVkJMRk5CUVZNc1ZVRkJWU3hMUVVGelFpeEZRVUZCTzBGQlEzWkRMRVZCUVU4c1QwRkJRVHRCUVVGQkxFbEJRMHdzVjBGQlZ5eEhRVUZKTEVOQlFVRTdRVUZCUVN4TlFVTmlMRkZCUVZVc1JVRkJRU3hEUVVGQk8wRkJRVUVzVFVGRFZpeFBRVUZUTEVWQlFVRXNUVUZCUVR0QlFVRkJMRTFCUTFRc1IwRkJRU3hGUVVGTExFdEJRVTBzUTBGQlFTeFBRVUZCTEVOQlFWRXNSMEZCUnl4RFFVRkJPMEZCUVVFc1RVRkRkRUlzWVVGQlpTeEZRVUZCTEZGQlFVRTdRVUZCUVN4TFFVTm9RaXhEUVVGQk8wRkJRVUVzU1VGRFJDeE5RVUZOTEVkQlFVa3NRMEZCUVR0QlFVRkJMRTFCUTFJc1VVRkJWU3hGUVVGQkxFTkJRVUU3UVVGQlFTeE5RVU5XTEU5QlFWTXNSVUZCUVN4TlFVRkJPMEZCUVVFc1RVRkRWQ3hIUVVGQkxFVkJRVXNzUzBGQlRTeERRVUZCTEU5QlFVRXNRMEZCVVN4RFFVRkRMRU5CUVVFN1FVRkJRU3hOUVVOd1FpeFJRVUZCTEVWQlFWVXNTMEZCVFN4RFFVRkJMRlZCUVVFc1EwRkJWeXhUUVVGVkxFTkJRVUVzVVVGQlFUdEJRVUZCTEUxQlEzSkRMRTFCUVZFc1JVRkJRU3hUUVVGQk8wRkJRVUVzVFVGRFVpeFBRVUZUTEVWQlFVRXNTMEZCUVN4RFFVRk5MRTlCUVZFc1EwRkJRU3hEUVVGQkxFVkJRVWNzUTBGQlF5eERRVUZCTzBGQlFVRXNUVUZETTBJc1dVRkJZeXhGUVVGQkxFdEJRVUVzUTBGQlRTeExRVUZOTEVOQlFVRXNXVUZCUVN4RFFVRmhMRU5CUVVNc1EwRkJRVHRCUVVGQkxFMUJRM2hETEZGQlFWVXNSVUZCUVN4VlFVRkJPMEZCUVVFc1RVRkRWaXhUUVVGWExFVkJRVUU3UVVGQlFTeFJRVU5VTEZWQlFVRXNSVUZCV1N4TFFVRk5MRU5CUVVFc1RVRkJRU3hEUVVGUExGVkJRVmNzUTBGQlFTeFRRVUZCTzBGQlFVRXNUMEZEZEVNN1FVRkJRU3hMUVVORUxFTkJRVUU3UVVGQlFTeEpRVU5FTEZWQlFWVXNSMEZCU1N4RFFVRkJPMEZCUVVFc1RVRkRXaXhYUVVGaExFVkJRVUU3UVVGQlFTeFJRVU5ZTEU5QlFWTXNSVUZCUVN4UFFVRkJPMEZCUVVFc1VVRkRWQ3hQUVVGVExFVkJRVUVzUzBGQlFUdEJRVUZCTEZGQlExUXNVVUZCVlN4RlFVRkJMRlZCUVVFN1FVRkJRU3hSUVVOV0xFbEJRVTBzUlVGQlFTeERRVUZCTzBGQlFVRXNVVUZEVGl4TFFVRlBMRVZCUVVFc1EwRkJRVHRCUVVGQkxGRkJRMUFzVFVGQlVTeEZRVUZCTEVOQlFVRTdRVUZCUVN4UlFVTlNMRWRCUVVzc1JVRkJRU3hEUVVGQk8wRkJRVUVzVVVGRFRDeFpRVUZCTEVWQlFXTXNTMEZCVFN4RFFVRkJMRXRCUVVFc1EwRkJUU3hOUVVGUExFTkJRVUVzVDBGQlFUdEJRVUZCTEZGQlEycERMR1ZCUVVFc1JVRkJhVUlzUzBGQlRTeERRVUZCTEUxQlFVRXNRMEZCVHl4VFFVRlZMRU5CUVVFc1lVRkJRVHRCUVVGQkxFOUJRekZETzBGQlFVRXNTMEZEUkN4RFFVRkJPMEZCUVVFc1NVRkRSQ3hWUVVGVkxFZEJRVWtzUTBGQlFUdEJRVUZCTEUxQlExb3NVVUZCVlN4RlFVRkJMRU5CUVVFN1FVRkJRU3hOUVVOV0xFOUJRVk1zUlVGQlFTeE5RVUZCTzBGQlFVRXNUVUZEVkN4aFFVRmxMRVZCUVVFc1VVRkJRVHRCUVVGQkxFMUJRMllzVjBGQlFTeEZRVUZoTEV0QlFVMHNRMEZCUVN4UFFVRkJMRU5CUVZFc1EwRkJReXhEUVVGQk8wRkJRVUVzUzBGRE4wSXNRMEZCUVR0QlFVRkJMRWRCUTBnc1EwRkJRVHRCUVVOR096czdPeUo5XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVlPLFNBQVMsYUFBYyxDQUFBLEVBQUUsSUFBTSxFQUFBLGNBQUEsRUFBZ0IsVUFBbUIsRUFBQTtBQUNqRSxFQUFBLE1BQUEsTUFBQSxHQUFTLFdBQVcsU0FBUyxDQUFBLENBQUE7QUFDbkMsRUFBQSxNQUFNLFdBQXdCLEVBQUEsQ0FBQTtBQUM5QixFQUFBLE1BQU0sYUFBYSxJQUFT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
@@ -0,0 +1,77 @@
1
+ import { css } from '@emotion/css';
2
+ import { useStyles2, ToolbarButton, Drawer, CustomScrollbar } from '@grafana/ui';
3
+ import React, { useState } from 'react';
4
+ import { DebugDetails } from './DebugDetails.js';
5
+ import { DebugTreeNode } from './DebugTreeNode.js';
6
+
7
+ function SceneDebugger({ scene }) {
8
+ const styles = useStyles2(getStyles);
9
+ const [isOpen, setIsOpen] = useState(false);
10
+ const [selectedObject, setSelectedObject] = useState();
11
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ToolbarButton, {
12
+ variant: "canvas",
13
+ icon: "bug",
14
+ onClick: () => setIsOpen(true)
15
+ }), isOpen && /* @__PURE__ */ React.createElement(Drawer, {
16
+ title: "Scene debugger",
17
+ onClose: () => setIsOpen(false),
18
+ size: "lg"
19
+ }, /* @__PURE__ */ React.createElement("div", {
20
+ className: styles.panes
21
+ }, /* @__PURE__ */ React.createElement("div", {
22
+ className: styles.pane1
23
+ }, /* @__PURE__ */ React.createElement("div", {
24
+ className: styles.paneHeading
25
+ }, "Scene graph"), /* @__PURE__ */ React.createElement(CustomScrollbar, {
26
+ autoHeightMin: "100%"
27
+ }, /* @__PURE__ */ React.createElement("div", {
28
+ className: styles.treeWrapper
29
+ }, /* @__PURE__ */ React.createElement(DebugTreeNode, {
30
+ node: scene,
31
+ selectedObject,
32
+ onSelect: setSelectedObject
33
+ })))), /* @__PURE__ */ React.createElement("div", {
34
+ className: styles.pane2
35
+ }, /* @__PURE__ */ React.createElement("div", {
36
+ className: styles.paneHeading
37
+ }, "Object details"), selectedObject && /* @__PURE__ */ React.createElement(DebugDetails, {
38
+ node: selectedObject
39
+ })))));
40
+ }
41
+ function getStyles(theme) {
42
+ return {
43
+ panes: css({
44
+ flexGrow: 1,
45
+ display: "flex",
46
+ height: "100%",
47
+ flexDirection: "row",
48
+ marginTop: theme.spacing(-2)
49
+ }),
50
+ pane1: css({
51
+ flexGrow: 0,
52
+ display: "flex",
53
+ height: "100%",
54
+ flexDirection: "column",
55
+ borderRight: `1px solid ${theme.colors.border.weak}`
56
+ }),
57
+ pane2: css({
58
+ flexGrow: 1,
59
+ display: "flex",
60
+ minHeight: "100%",
61
+ flexDirection: "column",
62
+ paddingLeft: theme.spacing(2)
63
+ }),
64
+ treeWrapper: css({
65
+ paddingRight: theme.spacing(2),
66
+ height: "100%",
67
+ marginLeft: theme.spacing(-1)
68
+ }),
69
+ paneHeading: css({
70
+ padding: theme.spacing(1, 0),
71
+ fontWeight: theme.typography.fontWeightMedium
72
+ })
73
+ };
74
+ }
75
+
76
+ export { SceneDebugger };
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVEZWJ1Z2dlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9TY2VuZURlYnVnZ2VyL1NjZW5lRGVidWdnZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IHVzZVN0eWxlczIsIFRvb2xiYXJCdXR0b24sIERyYXdlciwgQ3VzdG9tU2Nyb2xsYmFyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRGVidWdEZXRhaWxzIH0gZnJvbSAnLi9EZWJ1Z0RldGFpbHMuanMnO1xuaW1wb3J0IHsgRGVidWdUcmVlTm9kZSB9IGZyb20gJy4vRGVidWdUcmVlTm9kZS5qcyc7XG5cbmZ1bmN0aW9uIFNjZW5lRGVidWdnZXIoeyBzY2VuZSB9KSB7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlczIoZ2V0U3R5bGVzKTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlbGVjdGVkT2JqZWN0LCBzZXRTZWxlY3RlZE9iamVjdF0gPSB1c2VTdGF0ZSgpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KFRvb2xiYXJCdXR0b24sIHtcbiAgICB2YXJpYW50OiBcImNhbnZhc1wiLFxuICAgIGljb246IFwiYnVnXCIsXG4gICAgb25DbGljazogKCkgPT4gc2V0SXNPcGVuKHRydWUpXG4gIH0pLCBpc09wZW4gJiYgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRHJhd2VyLCB7XG4gICAgdGl0bGU6IFwiU2NlbmUgZGVidWdnZXJcIixcbiAgICBvbkNsb3NlOiAoKSA9PiBzZXRJc09wZW4oZmFsc2UpLFxuICAgIHNpemU6IFwibGdcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBzdHlsZXMucGFuZXNcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLnBhbmUxXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IHN0eWxlcy5wYW5lSGVhZGluZ1xuICB9LCBcIlNjZW5lIGdyYXBoXCIpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChDdXN0b21TY3JvbGxiYXIsIHtcbiAgICBhdXRvSGVpZ2h0TWluOiBcIjEwMCVcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBzdHlsZXMudHJlZVdyYXBwZXJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGVidWdUcmVlTm9kZSwge1xuICAgIG5vZGU6IHNjZW5lLFxuICAgIHNlbGVjdGVkT2JqZWN0LFxuICAgIG9uU2VsZWN0OiBzZXRTZWxlY3RlZE9iamVjdFxuICB9KSkpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLnBhbmUyXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IHN0eWxlcy5wYW5lSGVhZGluZ1xuICB9LCBcIk9iamVjdCBkZXRhaWxzXCIpLCBzZWxlY3RlZE9iamVjdCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChEZWJ1Z0RldGFpbHMsIHtcbiAgICBub2RlOiBzZWxlY3RlZE9iamVjdFxuICB9KSkpKSk7XG59XG5mdW5jdGlvbiBnZXRTdHlsZXModGhlbWUpIHtcbiAgcmV0dXJuIHtcbiAgICBwYW5lczogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgIG1hcmdpblRvcDogdGhlbWUuc3BhY2luZygtMilcbiAgICB9KSxcbiAgICBwYW5lMTogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAwLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIGJvcmRlclJpZ2h0OiBgMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLmJvcmRlci53ZWFrfWBcbiAgICB9KSxcbiAgICBwYW5lMjogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBtaW5IZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIHBhZGRpbmdMZWZ0OiB0aGVtZS5zcGFjaW5nKDIpXG4gICAgfSksXG4gICAgdHJlZVdyYXBwZXI6IGNzcyh7XG4gICAgICBwYWRkaW5nUmlnaHQ6IHRoZW1lLnNwYWNpbmcoMiksXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgbWFyZ2luTGVmdDogdGhlbWUuc3BhY2luZygtMSlcbiAgICB9KSxcbiAgICBwYW5lSGVhZGluZzogY3NzKHtcbiAgICAgIHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcoMSwgMCksXG4gICAgICBmb250V2VpZ2h0OiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRXZWlnaHRNZWRpdW1cbiAgICB9KVxuICB9O1xufVxuXG5leHBvcnQgeyBTY2VuZURlYnVnZ2VyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVUyTmxibVZFWldKMVoyZGxjaTVxY3lJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZVMk5sYm1WRVpXSjFaMmRsY2k5VFkyVnVaVVJsWW5WbloyVnlMblJ6ZUNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QmpjM01nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTlqYzNNbk8xeHVhVzF3YjNKMElIc2dSM0poWm1GdVlWUm9aVzFsTWlCOUlHWnliMjBnSjBCbmNtRm1ZVzVoTDJSaGRHRW5PMXh1YVcxd2IzSjBJSHNnUTNWemRHOXRVMk55YjJ4c1ltRnlMQ0JFY21GM1pYSXNJRlJ2YjJ4aVlYSkNkWFIwYjI0c0lIVnpaVk4wZVd4bGN6SWdmU0JtY205dElDZEFaM0poWm1GdVlTOTFhU2M3WEc1cGJYQnZjblFnVW1WaFkzUXNJSHNnZFhObFUzUmhkR1VnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3SUZOalpXNWxUMkpxWldOMElIMGdabkp2YlNBbkxpNHZMaTR2WTI5eVpTOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ2V5QkVaV0oxWjBSbGRHRnBiSE1nZlNCbWNtOXRJQ2N1TDBSbFluVm5SR1YwWVdsc2N5YzdYRzVwYlhCdmNuUWdleUJFWldKMVoxUnlaV1ZPYjJSbElIMGdabkp2YlNBbkxpOUVaV0oxWjFSeVpXVk9iMlJsSnp0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJSE5qWlc1bE9pQlRZMlZ1WlU5aWFtVmpkRHRjYm4xY2JseHVMeW9xWEc0Z0tpQkFhVzUwWlhKdVlXeGNiaUFxSUZCc1pXRnpaU0JrYjI0bmRDQjFjMlVnWm5KdmJTQndiSFZuYVc1eklHUnBjbVZqZEd4NUxseHVJQ29nVkdocGN5QnBjeUJoYkhKbFlXUjVJR1Y0Y0c5elpXUWdkbWxoSUZOalpXNWxRWEJ3VUdGblpTQmhibVFnZEdobElEOXpZMlZ1WlMxa1pXSjFaMmRsY2lCeGRXVnllU0J3WVhKaGJXVjBaWEl1WEc0Z0tseHVJQ29nVkdocGN5QnBjeUJ2Ym14NUlHVjRjRzl5ZEdWa0lITnZJSFJvWVhRZ1kyOXlaU0JrWVhOb1ltOWhjbVJ6SUdOaGJpQjFjMlVnYVhRdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJUWTJWdVpVUmxZblZuWjJWeUtIc2djMk5sYm1VZ2ZUb2dVSEp2Y0hNcElIdGNiaUFnWTI5dWMzUWdjM1I1YkdWeklEMGdkWE5sVTNSNWJHVnpNaWhuWlhSVGRIbHNaWE1wTzF4dUlDQmpiMjV6ZENCYmFYTlBjR1Z1TENCelpYUkpjMDl3Wlc1ZElEMGdkWE5sVTNSaGRHVW9abUZzYzJVcE8xeHVJQ0JqYjI1emRDQmJjMlZzWldOMFpXUlBZbXBsWTNRc0lITmxkRk5sYkdWamRHVmtUMkpxWldOMFhTQTlJSFZ6WlZOMFlYUmxQRk5qWlc1bFQySnFaV04wUGlncE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRDVjYmlBZ0lDQWdJRHhVYjI5c1ltRnlRblYwZEc5dUlIWmhjbWxoYm5ROVhDSmpZVzUyWVhOY0lpQnBZMjl1UFZ3aVluVm5YQ0lnYjI1RGJHbGphejE3S0NrZ1BUNGdjMlYwU1hOUGNHVnVLSFJ5ZFdVcGZTQXZQbHh1SUNBZ0lDQWdlMmx6VDNCbGJpQW1KaUFvWEc0Z0lDQWdJQ0FnSUR4RWNtRjNaWElnZEdsMGJHVTlYQ0pUWTJWdVpTQmtaV0oxWjJkbGNsd2lJRzl1UTJ4dmMyVTlleWdwSUQwK0lITmxkRWx6VDNCbGJpaG1ZV3h6WlNsOUlITnBlbVU5WENKc1oxd2lQbHh1SUNBZ0lDQWdJQ0FnSUR4a2FYWWdZMnhoYzNOT1lXMWxQWHR6ZEhsc1pYTXVjR0Z1WlhOOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEdScGRpQmpiR0Z6YzA1aGJXVTllM04wZVd4bGN5NXdZVzVsTVgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4a2FYWWdZMnhoYzNOT1lXMWxQWHR6ZEhsc1pYTXVjR0Z1WlVobFlXUnBibWQ5UGxOalpXNWxJR2R5WVhCb1BDOWthWFkrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhEZFhOMGIyMVRZM0p2Ykd4aVlYSWdZWFYwYjBobGFXZG9kRTFwYmoxN0p6RXdNQ1VuZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFpHbDJJR05zWVhOelRtRnRaVDE3YzNSNWJHVnpMblJ5WldWWGNtRndjR1Z5ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEVaV0oxWjFSeVpXVk9iMlJsSUc1dlpHVTllM05qWlc1bGZTQnpaV3hsWTNSbFpFOWlhbVZqZEQxN2MyVnNaV04wWldSUFltcGxZM1I5SUc5dVUyVnNaV04wUFh0elpYUlRaV3hsWTNSbFpFOWlhbVZqZEgwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5RGRYTjBiMjFUWTNKdmJHeGlZWEkrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM05PWVcxbFBYdHpkSGxzWlhNdWNHRnVaVEo5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4WkdsMklHTnNZWE56VG1GdFpUMTdjM1I1YkdWekxuQmhibVZJWldGa2FXNW5mVDVQWW1wbFkzUWdaR1YwWVdsc2N6d3ZaR2wyUGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I3YzJWc1pXTjBaV1JQWW1wbFkzUWdKaVlnUEVSbFluVm5SR1YwWVdsc2N5QnViMlJsUFh0elpXeGxZM1JsWkU5aWFtVmpkSDBnTHo1OVhHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBZ0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBZ0lDQWdQQzlFY21GM1pYSStYRzRnSUNBZ0lDQXBmVnh1SUNBZ0lEd3ZQbHh1SUNBcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCblpYUlRkSGxzWlhNb2RHaGxiV1U2SUVkeVlXWmhibUZVYUdWdFpUSXBJSHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0J3WVc1bGN6b2dZM056S0h0Y2JpQWdJQ0FnSUdac1pYaEhjbTkzT2lBeExGeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQWdJQ0FnYUdWcFoyaDBPaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQm1iR1Y0UkdseVpXTjBhVzl1T2lBbmNtOTNKeXhjYmlBZ0lDQWdJRzFoY21kcGJsUnZjRG9nZEdobGJXVXVjM0JoWTJsdVp5Z3RNaWtzWEc0Z0lDQWdmU2tzWEc0Z0lDQWdjR0Z1WlRFNklHTnpjeWg3WEc0Z0lDQWdJQ0JtYkdWNFIzSnZkem9nTUN4Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR2hsYVdkb2REb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ1pteGxlRVJwY21WamRHbHZiam9nSjJOdmJIVnRiaWNzWEc0Z0lDQWdJQ0JpYjNKa1pYSlNhV2RvZERvZ1lERndlQ0J6YjJ4cFpDQWtlM1JvWlcxbExtTnZiRzl5Y3k1aWIzSmtaWEl1ZDJWaGEzMWdMRnh1SUNBZ0lIMHBMRnh1SUNBZ0lIQmhibVV5T2lCamMzTW9lMXh1SUNBZ0lDQWdabXhsZUVkeWIzYzZJREVzWEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUNBZ0lDQnRhVzVJWldsbmFIUTZJQ2N4TURBbEp5eGNiaUFnSUNBZ0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkamIyeDFiVzRuTEZ4dUlDQWdJQ0FnY0dGa1pHbHVaMHhsWm5RNklIUm9aVzFsTG5Od1lXTnBibWNvTWlrc1hHNGdJQ0FnZlNrc1hHNGdJQ0FnZEhKbFpWZHlZWEJ3WlhJNklHTnpjeWg3WEc0Z0lDQWdJQ0J3WVdSa2FXNW5VbWxuYUhRNklIUm9aVzFsTG5Od1lXTnBibWNvTWlrc1hHNGdJQ0FnSUNCb1pXbG5hSFE2SUNjeE1EQWxKeXhjYmlBZ0lDQWdJRzFoY21kcGJreGxablE2SUhSb1pXMWxMbk53WVdOcGJtY29MVEVwTEZ4dUlDQWdJSDBwTEZ4dUlDQWdJSEJoYm1WSVpXRmthVzVuT2lCamMzTW9lMXh1SUNBZ0lDQWdjR0ZrWkdsdVp6b2dkR2hsYldVdWMzQmhZMmx1WnlneExDQXdLU3hjYmlBZ0lDQWdJR1p2Ym5SWFpXbG5hSFE2SUhSb1pXMWxMblI1Y0c5bmNtRndhSGt1Wm05dWRGZGxhV2RvZEUxbFpHbDFiU3hjYmlBZ0lDQjlLU3hjYmlBZ2ZUdGNibjFjYmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdRVUZ2UW1kQ0xGTkJRVUVzWVVGQlFTeERRVUZqTEVWQlFVVXNTMEZCUVN4RlFVRm5RaXhGUVVGQk8wRkJRemxETEVWQlFVMHNUVUZCUVN4TlFVRkJMRWRCUVZNc1YwRkJWeXhUUVVGVExFTkJRVUVzUTBGQlFUdEJRVU51UXl4RlFVRkJMRTFCUVUwc1EwRkJReXhOUVVGQkxFVkJRVkVzVTBGQlV5eERRVUZCTEVkQlFVa3NVMEZCVXl4TFFVRkxMRU5CUVVFc1EwRkJRVHRCUVVNeFF5eEZRVUZCTEUxQlFVMHNRMEZCUXl4alFVRkJMRVZCUVdkQ0xHbENRVUZwUWl4RFFVRkJMRWRCUVVrc1VVRkJjMElzUlVGQlFTeERRVUZCTzBGQlJXeEZMRVZCUVVFc2FVWkJSVXNzUzBGQlFTeERRVUZCTEdGQlFVRXNRMEZCUVN4aFFVRkJMRVZCUVVFN1FVRkJRU3hKUVVGakxFOUJRVkVzUlVGQlFTeFJRVUZCTzBGQlFVRXNTVUZCVXl4SlFVRkxMRVZCUVVFc1MwRkJRVHRCUVVGQkxFbEJRVTBzVDBGQlFTeEZRVUZUTEUxQlFVMHNVMEZCUVN4RFFVRlZMRWxCUVVrc1EwRkJRVHRCUVVGQkxFZEJRVWNzUTBGQlFTeEZRVU14UlN3d1FrRkRSU3hMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEUxQlFVRXNSVUZCUVR0QlFVRkJMRWxCUVU4c1MwRkJUU3hGUVVGQkxHZENRVUZCTzBGQlFVRXNTVUZCYVVJc1QwRkJRU3hGUVVGVExFMUJRVTBzVTBGQlFTeERRVUZWTEV0QlFVc3NRMEZCUVR0QlFVRkJMRWxCUVVjc1NVRkJTeXhGUVVGQkxFbEJRVUU3UVVGQlFTeEhRVUZCTEd0Q1FVTnNSU3hMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEV0QlFVRXNSVUZCUVR0QlFVRkJMRWxCUVVrc1YwRkJWeXhOUVVGUExFTkJRVUVzUzBGQlFUdEJRVUZCTEVkQlFVRXNhMEpCUTNCQ0xFdEJRVUVzUTBGQlFTeGhRVUZCTEVOQlFVRXNTMEZCUVN4RlFVRkJPMEZCUVVFc1NVRkJTU3hYUVVGWExFMUJRVThzUTBGQlFTeExRVUZCTzBGQlFVRXNSMEZCUVN4clFrRkRjRUlzUzBGQlFTeERRVUZCTEdGQlFVRXNRMEZCUVN4TFFVRkJMRVZCUVVFN1FVRkJRU3hKUVVGSkxGZEJRVmNzVFVGQlR5eERRVUZCTEZkQlFVRTdRVUZCUVN4SFFVRmhMRVZCUVVFc1lVRkJWeXh0UWtGRE9VTXNTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hsUVVGQkxFVkJRVUU3UVVGQlFTeEpRVUZuUWl4aFFVRmxMRVZCUVVFc1RVRkJRVHRCUVVGQkxFZEJRVUVzYTBKQlF6ZENMRXRCUVVFc1EwRkJRU3hoUVVGQkxFTkJRVUVzUzBGQlFTeEZRVUZCTzBGQlFVRXNTVUZCU1N4WFFVRlhMRTFCUVU4c1EwRkJRU3hYUVVGQk8wRkJRVUVzUjBGQlFTeHJRa0ZEY0VJc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeGhRVUZCTEVWQlFVRTdRVUZCUVN4SlFVRmpMRWxCUVUwc1JVRkJRU3hMUVVGQk8wRkJRVUVzU1VGQlR5eGpRVUZCTzBGQlFVRXNTVUZCWjBNc1VVRkJWU3hGUVVGQkxHbENRVUZCTzBGQlFVRXNSMEZCYlVJc1EwRkRNMFlzUTBGRFJpeERRVU5HTEVOQlFVRXNhMEpCUTBNc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeExRVUZCTEVWQlFVRTdRVUZCUVN4SlFVRkpMRmRCUVZjc1RVRkJUeXhEUVVGQkxFdEJRVUU3UVVGQlFTeEhRVUZCTEd0Q1FVTndRaXhMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEV0QlFVRXNSVUZCUVR0QlFVRkJMRWxCUVVrc1YwRkJWeXhOUVVGUExFTkJRVUVzVjBGQlFUdEJRVUZCTEVkQlFXRXNSVUZCUVN4blFrRkJZeXhEUVVOcVJDeEZRVUZCTEdOQlFVRXNiMEpCUVcxQ0xFdEJRVUVzUTBGQlFTeGhRVUZCTEVOQlFVRXNXVUZCUVN4RlFVRkJPMEZCUVVFc1NVRkJZU3hKUVVGTkxFVkJRVUVzWTBGQlFUdEJRVUZCTEVkQlFXZENMRU5CUTNwRUxFTkJRMFlzUTBGRFJpeERRVVZLTEVOQlFVRXNRMEZCUVR0QlFVVktMRU5CUVVFN1FVRkZRU3hUUVVGVExGVkJRVlVzUzBGQmMwSXNSVUZCUVR0QlFVTjJReXhGUVVGUExFOUJRVUU3UVVGQlFTeEpRVU5NTEU5QlFVOHNSMEZCU1N4RFFVRkJPMEZCUVVFc1RVRkRWQ3hSUVVGVkxFVkJRVUVzUTBGQlFUdEJRVUZCTEUxQlExWXNUMEZCVXl4RlFVRkJMRTFCUVVFN1FVRkJRU3hOUVVOVUxFMUJRVkVzUlVGQlFTeE5RVUZCTzBGQlFVRXNUVUZEVWl4aFFVRmxMRVZCUVVFc1MwRkJRVHRCUVVGQkxFMUJRMllzVTBGQlFTeEZRVUZYTEV0QlFVMHNRMEZCUVN4UFFVRkJMRU5CUVZFc1EwRkJSU3hEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU0xUWl4RFFVRkJPMEZCUVVFc1NVRkRSQ3hQUVVGUExFZEJRVWtzUTBGQlFUdEJRVUZCTEUxQlExUXNVVUZCVlN4RlFVRkJMRU5CUVVFN1FVRkJRU3hOUVVOV0xFOUJRVk1zUlVGQlFTeE5RVUZCTzBGQlFVRXNUVUZEVkN4TlFVRlJMRVZCUVVFc1RVRkJRVHRCUVVGQkxFMUJRMUlzWVVGQlpTeEZRVUZCTEZGQlFVRTdRVUZCUVN4TlFVTm1MRmRCUVdFc1JVRkJRU3hEUVVGQkxGVkJRVUVzUlVGQllTeExRVUZOTEVOQlFVRXNUVUZCUVN4RFFVRlBMRTFCUVU4c1EwRkJRU3hKUVVGQkxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlF5OURMRU5CUVVFN1FVRkJRU3hKUVVORUxFOUJRVThzUjBGQlNTeERRVUZCTzBGQlFVRXNUVUZEVkN4UlFVRlZMRVZCUVVFc1EwRkJRVHRCUVVGQkxFMUJRMVlzVDBGQlV5eEZRVUZCTEUxQlFVRTdRVUZCUVN4TlFVTlVMRk5CUVZjc1JVRkJRU3hOUVVGQk8wRkJRVUVzVFVGRFdDeGhRVUZsTEVWQlFVRXNVVUZCUVR0QlFVRkJMRTFCUTJZc1YwRkJRU3hGUVVGaExFdEJRVTBzUTBGQlFTeFBRVUZCTEVOQlFWRXNRMEZCUXl4RFFVRkJPMEZCUVVFc1MwRkROMElzUTBGQlFUdEJRVUZCTEVsQlEwUXNZVUZCWVN4SFFVRkpMRU5CUVVFN1FVRkJRU3hOUVVObUxGbEJRVUVzUlVGQll5eExRVUZOTEVOQlFVRXNUMEZCUVN4RFFVRlJMRU5CUVVNc1EwRkJRVHRCUVVGQkxFMUJRemRDTEUxQlFWRXNSVUZCUVN4TlFVRkJPMEZCUVVFc1RVRkRVaXhWUVVGQkxFVkJRVmtzUzBGQlRTeERRVUZCTEU5QlFVRXNRMEZCVVN4RFFVRkZMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRemRDTEVOQlFVRTdRVUZCUVN4SlFVTkVMR0ZCUVdFc1IwRkJTU3hEUVVGQk8wRkJRVUVzVFVGRFppeFBRVUZUTEVWQlFVRXNTMEZCUVN4RFFVRk5MRTlCUVZFc1EwRkJRU3hEUVVGQkxFVkJRVWNzUTBGQlF5eERRVUZCTzBGQlFVRXNUVUZETTBJc1ZVRkJRU3hGUVVGWkxFMUJRVTBzVlVGQlZ5eERRVUZCTEdkQ1FVRkJPMEZCUVVFc1MwRkRPVUlzUTBGQlFUdEJRVUZCTEVkQlEwZ3NRMEZCUVR0QlFVTkdPenM3T3lKOVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQW9CZ0IsU0FBQSxhQUFBLENBQWMsRUFBRSxLQUFBLEVBQWdCLEVBQUE7QUFDeEMsRUFBQSxNQUFBLE1BQUEsR0FBUyxXQUFXLFNBQVMsQ0FBQSxDQUFBO0FBQ25DLEVBQUEsTUFBTSxDQUFDLE1BQUEsRUFBUSxTQUFTLENBQUEsR0FBSSxTQUFTLEtBQUssQ0FBQSxDQUFBO0FBQzFDLEVBQUEsTUFBTSxDQUFDLGNBQUEsRUFBZ0IsaUJBQWlCLENBQUEsR0FBSSxRQUFzQixFQUFBLENBQUE7QUFFbEUsRUFBQSw2QkFBQSxhQUFBLENBQUEsS0FBQSxDQUFBLFVBQUEsSUFFSyxrQkFB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
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { SceneObjectBase } from '../core/SceneObjectBase.js';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ class SceneReactObject extends SceneObjectBase {
21
+ }
22
+ SceneReactObject.Component = ({ model }) => {
23
+ const { component: Component, props, reactNode } = model.useState();
24
+ if (Component) {
25
+ return /* @__PURE__ */ React.createElement(Component, __spreadValues({}, props));
26
+ }
27
+ if (reactNode) {
28
+ return reactNode;
29
+ }
30
+ return null;
31
+ };
32
+
33
+ export { SceneReactObject };
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVSZWFjdE9iamVjdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9TY2VuZVJlYWN0T2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTY2VuZU9iamVjdEJhc2UgfSBmcm9tICcuLi9jb3JlL1NjZW5lT2JqZWN0QmFzZS5qcyc7XG5cbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wU3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX3Byb3BJc0VudW0gPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO1xudmFyIF9fZGVmTm9ybWFsUHJvcCA9IChvYmosIGtleSwgdmFsdWUpID0+IGtleSBpbiBvYmogPyBfX2RlZlByb3Aob2JqLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSwgdmFsdWUgfSkgOiBvYmpba2V5XSA9IHZhbHVlO1xudmFyIF9fc3ByZWFkVmFsdWVzID0gKGEsIGIpID0+IHtcbiAgZm9yICh2YXIgcHJvcCBpbiBiIHx8IChiID0ge30pKVxuICAgIGlmIChfX2hhc093blByb3AuY2FsbChiLCBwcm9wKSlcbiAgICAgIF9fZGVmTm9ybWFsUHJvcChhLCBwcm9wLCBiW3Byb3BdKTtcbiAgaWYgKF9fZ2V0T3duUHJvcFN5bWJvbHMpXG4gICAgZm9yICh2YXIgcHJvcCBvZiBfX2dldE93blByb3BTeW1ib2xzKGIpKSB7XG4gICAgICBpZiAoX19wcm9wSXNFbnVtLmNhbGwoYiwgcHJvcCkpXG4gICAgICAgIF9fZGVmTm9ybWFsUHJvcChhLCBwcm9wLCBiW3Byb3BdKTtcbiAgICB9XG4gIHJldHVybiBhO1xufTtcbmNsYXNzIFNjZW5lUmVhY3RPYmplY3QgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2Uge1xufVxuU2NlbmVSZWFjdE9iamVjdC5Db21wb25lbnQgPSAoeyBtb2RlbCB9KSA9PiB7XG4gIGNvbnN0IHsgY29tcG9uZW50OiBDb21wb25lbnQsIHByb3BzLCByZWFjdE5vZGUgfSA9IG1vZGVsLnVzZVN0YXRlKCk7XG4gIGlmIChDb21wb25lbnQpIHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcG9uZW50LCBfX3NwcmVhZFZhbHVlcyh7fSwgcHJvcHMpKTtcbiAgfVxuICBpZiAocmVhY3ROb2RlKSB7XG4gICAgcmV0dXJuIHJlYWN0Tm9kZTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCB7IFNjZW5lUmVhY3RPYmplY3QgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVTJObGJtVlNaV0ZqZEU5aWFtVmpkQzVxY3lJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdlUyTmxibVZTWldGamRFOWlhbVZqZEM1MGMzZ2lYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUhzZ1UyTmxibVZQWW1wbFkzUkNZWE5sSUgwZ1puSnZiU0FuTGk0dlkyOXlaUzlUWTJWdVpVOWlhbVZqZEVKaGMyVW5PMXh1YVcxd2IzSjBJSHNnVTJObGJtVkRiMjF3YjI1bGJuUlFjbTl3Y3l3Z1UyTmxibVZQWW1wbFkzUlRkR0YwWlNCOUlHWnliMjBnSnk0dUwyTnZjbVV2ZEhsd1pYTW5PMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZOalpXNWxVbVZoWTNSUFltcGxZM1JUZEdGMFpUeFVVSEp2Y0hNZ1BTQjdmVDRnWlhoMFpXNWtjeUJUWTJWdVpVOWlhbVZqZEZOMFlYUmxJSHRjYmlBZ0x5b3FYRzRnSUNBcUlGSmxZV04wSUdOdmJYQnZibVZ1ZENCMGJ5QnlaVzVrWlhKY2JpQWdJQ292WEc0Z0lHTnZiWEJ2Ym1WdWREODZJRkpsWVdOMExrTnZiWEJ2Ym1WdWRGUjVjR1U4VkZCeWIzQnpQanRjYmlBZ0x5b3FYRzRnSUNBcUlGQnliM0J6SUhSdklIQmhjM01nZEc4Z2RHaGxJR052YlhCdmJtVnVkRnh1SUNBZ0tpOWNiaUFnY0hKdmNITS9PaUJVVUhKdmNITTdYRzRnSUM4cUtseHVJQ0FnS2lCQmJIUmxjbTVoZEdsMlpTQjBieUJqYjIxd2IyNWxiblFnWVc1a0lIQnliM0J6SUdseklHcDFjM1FnZEc4Z2NHRnpjeUJoSUZKbFlXTjBJRzV2WkdWY2JpQWdJQ292WEc0Z0lISmxZV04wVG05a1pUODZJRkpsWVdOMExsSmxZV04wVG05a1pUdGNibjFjYmx4dUx5b3FYRzRnS2lCQklIVjBhV3hwZEhrZ2IySnFaV04wSUhSb1lYUWdZMkZ1SUdKbElIVnpaV1FnZEc4Z2NtVnVaR1Z5SUdGdWVTQlNaV0ZqZENCamIyMXdiMjVsYm5RZ2IzSWdVbVZoWTNST2IyUmxYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJUWTJWdVpWSmxZV04wVDJKcVpXTjBQRlJRY205d2N5QTlJSHQ5UGlCbGVIUmxibVJ6SUZOalpXNWxUMkpxWldOMFFtRnpaVHhUWTJWdVpWSmxZV04wVDJKcVpXTjBVM1JoZEdVOFZGQnliM0J6UGo0Z2UxeHVJQ0J3ZFdKc2FXTWdjM1JoZEdsaklFTnZiWEJ2Ym1WdWRDQTlJQ2g3SUcxdlpHVnNJSDA2SUZOalpXNWxRMjl0Y0c5dVpXNTBVSEp2Y0hNOFUyTmxibVZTWldGamRFOWlhbVZqZEQ0cElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTnZiWEJ2Ym1WdWREb2dRMjl0Y0c5dVpXNTBMQ0J3Y205d2N5d2djbVZoWTNST2IyUmxJSDBnUFNCdGIyUmxiQzUxYzJWVGRHRjBaU2dwTzF4dVhHNGdJQ0FnYVdZZ0tFTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlEeERiMjF3YjI1bGJuUWdleTR1TG5CeWIzQnpmU0F2UGp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2NtVmhZM1JPYjJSbEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2NtVmhZM1JPYjJSbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5TzF4dWZWeHVJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096czdPenM3T3pzN096czdRVUYxUWs4c1RVRkJUU3g1UWtGQmMwTXNaVUZCSzBNc1EwRkJRVHRCUVdOc1J5eERRVUZCTzBGQlpHRXNaMEpCUVVFc1EwRkRSeXhUUVVGWkxFZEJRVUVzUTBGQlF5eEZRVUZGTEV0QlFVRXNSVUZCYlVRc1MwRkJRVHRCUVVNNVJTeEZRVUZCTEUxQlFVMHNSVUZCUlN4VFFVRlhMRVZCUVVFc1UwRkJRU3hGUVVGWExFOUJRVThzVTBGQlZTeEZRVUZCTEVkQlFVa3NUVUZCVFN4UlFVRlRMRVZCUVVFc1EwRkJRVHRCUVVWc1JTeEZRVUZCTEVsQlFVa3NVMEZCVnl4RlFVRkJPMEZCUTJJc1NVRkJUeXgxUWtGQlFTeExRVUZCTEVOQlFVRXNZVUZCUVN4RFFVRkRMRGhDUVVGakxFdEJRVThzUTBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTXZRanRCUVVWQkxFVkJRVUVzU1VGQlNTeFRRVUZYTEVWQlFVRTdRVUZEWWl4SlFVRlBMRTlCUVVFc1UwRkJRU3hEUVVGQk8wRkJRVUVzUjBGRFZEdEJRVVZCTEVWQlFVOHNUMEZCUVN4SlFVRkJMRU5CUVVFN1FVRkRWQ3hEUVVGQk96czdPeUo5XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVCTyxNQUFNLHlCQUFzQyxlQUErQyxDQUFBO0FBY2xHLENBQUE7QUFkYSxnQkFBQSxDQUNHLFNBQVksR0FBQSxDQUFDLEVBQUUsS0FBQSxFQUFtRCxLQUFBO0FBQzlFLEVBQUEsTUFBTSxFQUFFLFNBQVcsRUFBQSxTQUFBLEVBQVcsT0FBTyxTQUFVLEVBQUEsR0FBSSxNQUFNLFFBQVMsRUFBQSxDQUFBO0FBRWxFLEVBQUEsSUFBSSxTQUFXLEVBQUE7QUFDTixJQUFBLDZCQUFBLGFBQUMsQ0FBQSxTQUFBLEVBQUEsZUFBQSxFQUFBLEVBQWMsS0FBTyxDQUFBLENBQUEsQ0FBQTtBQUFBLEdBQUE7QUFHL0IsRUFBQSxJQUFJLFNBQVcsRUFBQTtBQUNOLElBQUEsT0FBQSxTQUFBLENBQUE7QUFBQSxHQUFBO0FBR0YsRUFBQSxPQUFBLElBQUEsQ0FBQTtBQUNULENBQUE7Ozs7In0=