@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.
- package/CHANGELOG.md +13 -0
- package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +33 -0
- package/dist/esm/dist/esm/behaviors/CursorSync.js +76 -0
- package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +44 -0
- package/dist/esm/dist/esm/behaviors/SceneQueryController.js +14 -0
- package/dist/esm/dist/esm/components/EmbeddedScene.js +59 -0
- package/dist/esm/dist/esm/components/NestedScene.js +95 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +27 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +176 -0
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +104 -0
- package/dist/esm/dist/esm/components/SceneApp/utils.js +42 -0
- package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +41 -0
- package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +55 -0
- package/dist/esm/dist/esm/components/SceneCanvasText.js +32 -0
- package/dist/esm/dist/esm/components/SceneControlsSpacer.js +17 -0
- package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +82 -0
- package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +72 -0
- package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +77 -0
- package/dist/esm/dist/esm/components/SceneReactObject.js +34 -0
- package/dist/esm/dist/esm/components/SceneRefreshPicker.js +205 -0
- package/dist/esm/dist/esm/components/SceneTimePicker.js +139 -0
- package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +240 -0
- package/dist/esm/dist/esm/components/SceneToolbarButton.js +33 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +406 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +44 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +59 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +285 -0
- package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +45 -0
- package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +72 -0
- package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +11 -0
- package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
- package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
- package/dist/esm/dist/esm/components/layout/LazyLoader.js +103 -0
- package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +135 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +30 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +283 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
- package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +190 -0
- package/dist/esm/dist/esm/components/layout/grid/constants.js +7 -0
- package/dist/esm/dist/esm/components/layout/grid/utils.js +36 -0
- package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +17 -0
- package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +29 -0
- package/dist/esm/dist/esm/components/layout/split/Splitter.js +386 -0
- package/dist/esm/dist/esm/core/SceneComponentWrapper.js +57 -0
- package/dist/esm/dist/esm/core/SceneDataNode.js +43 -0
- package/dist/esm/dist/esm/core/SceneObjectBase.js +286 -0
- package/dist/esm/dist/esm/core/SceneObjectRef.js +32 -0
- package/dist/esm/dist/esm/core/SceneTimeRange.js +231 -0
- package/dist/esm/dist/esm/core/events.js +11 -0
- package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +10 -0
- package/dist/esm/dist/esm/core/sceneGraph/index.js +25 -0
- package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +178 -0
- package/dist/esm/dist/esm/core/sceneGraph/utils.js +64 -0
- package/dist/esm/dist/esm/core/types.js +15 -0
- package/dist/esm/dist/esm/querying/DataLayersMerger.js +46 -0
- package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +6 -0
- package/dist/esm/dist/esm/querying/RuntimeDataSource.js +6 -0
- package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +100 -0
- package/dist/esm/dist/esm/querying/SceneQueryRunner.js +468 -0
- package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +46 -0
- package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +12 -0
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +112 -0
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +51 -0
- package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
- package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +85 -0
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +121 -0
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
- package/dist/esm/dist/esm/querying/layers/annotations/utils.js +77 -0
- package/dist/esm/dist/esm/querying/registerQueryWithController.js +41 -0
- package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +30 -0
- package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +45 -0
- package/dist/esm/dist/esm/services/UrlSyncManager.js +167 -0
- package/dist/esm/dist/esm/services/useUrlSync.js +29 -0
- package/dist/esm/dist/esm/services/utils.js +71 -0
- package/dist/esm/dist/esm/utils/ControlsLabel.js +107 -0
- package/dist/esm/dist/esm/utils/LoadingIndicator.js +19 -0
- package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +39 -0
- package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
- package/dist/esm/dist/esm/utils/date.js +15 -0
- package/dist/esm/dist/esm/utils/evaluateTimeRange.js +16 -0
- package/dist/esm/dist/esm/utils/explore.js +47 -0
- package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +4 -0
- package/dist/esm/dist/esm/utils/getDataSource.js +18 -0
- package/dist/esm/dist/esm/utils/getMessageFromError.js +24 -0
- package/dist/esm/dist/esm/utils/metricTree.js +53 -0
- package/dist/esm/dist/esm/utils/parseUrlParam.js +41 -0
- package/dist/esm/dist/esm/utils/utils.js +11 -0
- package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +30 -0
- package/dist/esm/dist/esm/utils/writeSceneLog.js +12 -0
- package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +150 -0
- package/dist/esm/dist/esm/variables/VariableValueRecorder.js +71 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +24 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +303 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +289 -0
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
- package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +13 -0
- package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +47 -0
- package/dist/esm/dist/esm/variables/components/VariableValueControl.js +23 -0
- package/dist/esm/dist/esm/variables/components/VariableValueInput.js +33 -0
- package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +228 -0
- package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +72 -0
- package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +15 -0
- package/dist/esm/dist/esm/variables/constants.js +9 -0
- package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +12 -0
- package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +259 -0
- package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
- package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
- package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +40 -0
- package/dist/esm/dist/esm/variables/interpolation/defaults.js +21 -0
- package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +296 -0
- package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +87 -0
- package/dist/esm/dist/esm/variables/lookupVariable.js +20 -0
- package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +57 -0
- package/dist/esm/dist/esm/variables/macros/contextMacros.js +43 -0
- package/dist/esm/dist/esm/variables/macros/dataMacros.js +134 -0
- package/dist/esm/dist/esm/variables/macros/index.js +26 -0
- package/dist/esm/dist/esm/variables/macros/templateProxies.js +51 -0
- package/dist/esm/dist/esm/variables/macros/timeMacros.js +86 -0
- package/dist/esm/dist/esm/variables/macros/types.js +11 -0
- package/dist/esm/dist/esm/variables/macros/urlMacros.js +56 -0
- package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +254 -0
- package/dist/esm/dist/esm/variables/types.js +11 -0
- package/dist/esm/dist/esm/variables/utils.js +172 -0
- package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +38 -0
- package/dist/esm/dist/esm/variables/variants/CustomVariable.js +60 -0
- package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +88 -0
- package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +117 -0
- package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +295 -0
- package/dist/esm/dist/esm/variables/variants/TestVariable.js +117 -0
- package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +61 -0
- package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +139 -0
- package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +129 -0
- package/dist/esm/dist/esm/variables/variants/query/guards.js +28 -0
- package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +96 -0
- package/dist/esm/dist/esm/variables/variants/query/utils.js +124 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/querying/DataProviderSharer.js +39 -0
- package/dist/esm/src/behaviors/ActWhenVariableChanged.js +27 -0
- package/dist/esm/src/behaviors/CursorSync.js +76 -0
- package/dist/esm/src/behaviors/LiveNowTimer.js +44 -0
- package/dist/esm/src/behaviors/SceneQueryController.js +60 -0
- package/dist/esm/src/behaviors/index.js +5 -0
- package/dist/esm/src/components/EmbeddedScene.js +59 -0
- package/dist/esm/src/components/NestedScene.js +95 -0
- package/dist/esm/src/components/SceneApp/SceneApp.js +37 -0
- package/dist/esm/src/components/SceneApp/SceneAppPage.js +176 -0
- package/dist/esm/src/components/SceneApp/SceneAppPageView.js +104 -0
- package/dist/esm/src/components/SceneApp/utils.js +42 -0
- package/dist/esm/src/components/SceneByFrameRepeater.js +41 -0
- package/dist/esm/src/components/SceneByVariableRepeater.js +55 -0
- package/dist/esm/src/components/SceneCanvasText.js +32 -0
- package/dist/esm/src/components/SceneControlsSpacer.js +17 -0
- package/dist/esm/src/components/SceneDebugger/DebugDetails.js +82 -0
- package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +72 -0
- package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +77 -0
- package/dist/esm/src/components/SceneReactObject.js +34 -0
- package/dist/esm/src/components/SceneRefreshPicker.js +205 -0
- package/dist/esm/src/components/SceneTimePicker.js +139 -0
- package/dist/esm/src/components/SceneTimeRangeCompare.js +240 -0
- package/dist/esm/src/components/SceneToolbarButton.js +33 -0
- package/dist/esm/src/components/VizPanel/VizPanel.js +406 -0
- package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +44 -0
- package/dist/esm/src/components/VizPanel/VizPanelMenu.js +59 -0
- package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +285 -0
- package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +45 -0
- package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +72 -0
- package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +56 -0
- package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
- package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
- package/dist/esm/src/components/layout/LazyLoader.js +103 -0
- package/dist/esm/src/components/layout/SceneFlexLayout.js +135 -0
- package/dist/esm/src/components/layout/grid/SceneGridItem.js +30 -0
- package/dist/esm/src/components/layout/grid/SceneGridLayout.js +283 -0
- package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
- package/dist/esm/src/components/layout/grid/SceneGridRow.js +190 -0
- package/dist/esm/src/components/layout/grid/constants.js +7 -0
- package/dist/esm/src/components/layout/grid/utils.js +36 -0
- package/dist/esm/src/components/layout/split/SplitLayout.js +17 -0
- package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +29 -0
- package/dist/esm/src/components/layout/split/Splitter.js +386 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +100 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +75 -0
- package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +75 -0
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +22 -0
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +85 -0
- package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +52 -0
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +78 -0
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +114 -0
- package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +162 -0
- package/dist/esm/src/core/PanelBuilders/index.js +116 -0
- package/dist/esm/src/core/SceneComponentWrapper.js +57 -0
- package/dist/esm/src/core/SceneDataNode.js +43 -0
- package/dist/esm/src/core/SceneObjectBase.js +286 -0
- package/dist/esm/src/core/SceneObjectRef.js +32 -0
- package/dist/esm/src/core/SceneTimeRange.js +231 -0
- package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +35 -0
- package/dist/esm/src/core/SceneTimeZoneOverride.js +63 -0
- package/dist/esm/src/core/events.js +11 -0
- package/dist/esm/src/core/sceneGraph/getTimeRange.js +10 -0
- package/dist/esm/src/core/sceneGraph/index.js +25 -0
- package/dist/esm/src/core/sceneGraph/sceneGraph.js +178 -0
- package/dist/esm/src/core/sceneGraph/utils.js +64 -0
- package/dist/esm/src/core/types.js +15 -0
- package/dist/esm/src/index.js +108 -0
- package/dist/esm/src/querying/DataLayersMerger.js +46 -0
- package/dist/esm/src/querying/DataProviderProxy.js +37 -0
- package/dist/esm/src/querying/DataProviderSharer.js +108 -0
- package/dist/esm/src/querying/ExtraQueryProvider.js +6 -0
- package/dist/esm/src/querying/RuntimeDataSource.js +49 -0
- package/dist/esm/src/querying/SceneDataLayerSet.js +100 -0
- package/dist/esm/src/querying/SceneDataTransformer.js +178 -0
- package/dist/esm/src/querying/SceneQueryRunner.js +468 -0
- package/dist/esm/src/querying/extraQueryProcessingOperator.js +46 -0
- package/dist/esm/src/querying/getEnrichedDataRequest.js +12 -0
- package/dist/esm/src/querying/layers/SceneDataLayerBase.js +112 -0
- package/dist/esm/src/querying/layers/SceneDataLayerControls.js +51 -0
- package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
- package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +85 -0
- package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +121 -0
- package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
- package/dist/esm/src/querying/layers/annotations/utils.js +77 -0
- package/dist/esm/src/querying/layers/index.js +2 -0
- package/dist/esm/src/querying/registerQueryWithController.js +41 -0
- package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +30 -0
- package/dist/esm/src/services/UniqueUrlKeyMapper.js +45 -0
- package/dist/esm/src/services/UrlSyncContextProvider.js +17 -0
- package/dist/esm/src/services/UrlSyncManager.js +167 -0
- package/dist/esm/src/services/useUrlSync.js +29 -0
- package/dist/esm/src/services/utils.js +75 -0
- package/dist/esm/src/utils/ControlsLabel.js +107 -0
- package/dist/esm/src/utils/LoadingIndicator.js +19 -0
- package/dist/esm/src/utils/SafeSerializableSceneObject.js +39 -0
- package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
- package/dist/esm/src/utils/date.js +15 -0
- package/dist/esm/src/utils/evaluateTimeRange.js +16 -0
- package/dist/esm/src/utils/explore.js +47 -0
- package/dist/esm/src/utils/getCompareSeriesRefId.js +4 -0
- package/dist/esm/src/utils/getDataSource.js +18 -0
- package/dist/esm/src/utils/getMessageFromError.js +24 -0
- package/dist/esm/src/utils/metricTree.js +53 -0
- package/dist/esm/src/utils/parseUrlParam.js +41 -0
- package/dist/esm/src/utils/utils.js +11 -0
- package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +30 -0
- package/dist/esm/src/utils/writeSceneLog.js +12 -0
- package/dist/esm/src/variables/VariableDependencyConfig.js +150 -0
- package/dist/esm/src/variables/VariableValueRecorder.js +71 -0
- package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +24 -0
- package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +303 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +289 -0
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
- package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +13 -0
- package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +47 -0
- package/dist/esm/src/variables/components/VariableValueControl.js +23 -0
- package/dist/esm/src/variables/components/VariableValueInput.js +33 -0
- package/dist/esm/src/variables/components/VariableValueSelect.js +228 -0
- package/dist/esm/src/variables/components/VariableValueSelectors.js +72 -0
- package/dist/esm/src/variables/components/getOptionSearcher.js +15 -0
- package/dist/esm/src/variables/constants.js +9 -0
- package/dist/esm/src/variables/getEnrichedFiltersRequest.js +12 -0
- package/dist/esm/src/variables/groupby/GroupByVariable.js +259 -0
- package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
- package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
- package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +40 -0
- package/dist/esm/src/variables/interpolation/defaults.js +21 -0
- package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/src/variables/interpolation/formatRegistry.js +296 -0
- package/dist/esm/src/variables/interpolation/sceneInterpolator.js +87 -0
- package/dist/esm/src/variables/lookupVariable.js +20 -0
- package/dist/esm/src/variables/macros/AllVariablesMacro.js +57 -0
- package/dist/esm/src/variables/macros/contextMacros.js +43 -0
- package/dist/esm/src/variables/macros/dataMacros.js +134 -0
- package/dist/esm/src/variables/macros/index.js +35 -0
- package/dist/esm/src/variables/macros/templateProxies.js +51 -0
- package/dist/esm/src/variables/macros/timeMacros.js +86 -0
- package/dist/esm/src/variables/macros/types.js +11 -0
- package/dist/esm/src/variables/macros/urlMacros.js +56 -0
- package/dist/esm/src/variables/sets/SceneVariableSet.js +254 -0
- package/dist/esm/src/variables/types.js +11 -0
- package/dist/esm/src/variables/utils.js +172 -0
- package/dist/esm/src/variables/variants/ConstantVariable.js +38 -0
- package/dist/esm/src/variables/variants/CustomVariable.js +60 -0
- package/dist/esm/src/variables/variants/DataSourceVariable.js +88 -0
- package/dist/esm/src/variables/variants/IntervalVariable.js +117 -0
- package/dist/esm/src/variables/variants/JsonVariable.js +193 -0
- package/dist/esm/src/variables/variants/LocalValueVariable.js +56 -0
- package/dist/esm/src/variables/variants/MultiValueVariable.js +295 -0
- package/dist/esm/src/variables/variants/TestVariable.js +117 -0
- package/dist/esm/src/variables/variants/TextBoxVariable.js +61 -0
- package/dist/esm/src/variables/variants/guards.js +27 -0
- package/dist/esm/src/variables/variants/query/QueryVariable.js +139 -0
- package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +129 -0
- package/dist/esm/src/variables/variants/query/guards.js +28 -0
- package/dist/esm/src/variables/variants/query/toMetricFindValues.js +96 -0
- package/dist/esm/src/variables/variants/query/utils.js +124 -0
- package/dist/esm/variables/components/VariableValueSelect.js +13 -9
- package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
- package/dist/esm/variables/variants/ConstantVariable.js +22 -0
- package/dist/esm/variables/variants/ConstantVariable.js.map +1 -1
- package/dist/esm/variables/variants/CustomVariable.js +3 -2
- package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
- package/dist/esm/variables/variants/DataSourceVariable.js +3 -2
- package/dist/esm/variables/variants/DataSourceVariable.js.map +1 -1
- package/dist/esm/variables/variants/JsonVariable.js +96 -0
- package/dist/esm/variables/variants/TestVariable.js +3 -2
- package/dist/esm/variables/variants/TestVariable.js.map +1 -1
- package/dist/esm/variables/variants/json/JsonVariable.js +95 -0
- package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +70 -0
- package/dist/esm/variables/variants/query/QueryVariable.js +3 -2
- package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
- package/dist/index.d.ts +14 -6
- package/dist/index.js +35 -13
- package/dist/index.js.map +1 -1
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWdEZXRhaWxzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL1NjZW5lRGVidWdnZXIvRGVidWdEZXRhaWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyLCBKU09ORm9ybWF0dGVyLCBJbnB1dCB9IGZyb20gJ0BncmFmYW5hL3VpJztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QsIGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGlzU2NlbmVPYmplY3QgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzLmpzJztcblxuZnVuY3Rpb24gRGVidWdEZXRhaWxzKHsgbm9kZSB9KSB7XG4gIGNvbnN0IHN0YXRlID0gbm9kZS51c2VTdGF0ZSgpO1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZXMyKGdldFN0eWxlcyk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBzdHlsZXMuY29udGFpbmVyXG4gIH0sIE9iamVjdC5rZXlzKHN0YXRlKS5tYXAoKGtleSkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLnJvdyxcbiAgICBrZXlcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLmtleU5hbWVcbiAgfSwga2V5KSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLnZhbHVlXG4gIH0sIHJlbmRlclZhbHVlKGtleSwgc3RhdGVba2V5XSwgbm9kZSkpKSkpO1xufVxuZnVuY3Rpb24gcmVuZGVyVmFsdWUoa2V5LCB2YWx1ZSwgbm9kZSkge1xuICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gXCJudWxsXCI7XG4gIH1cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXQsIHtcbiAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB2YWx1ZSxcbiAgICAgICAgb25CbHVyOiAoZXZ0KSA9PiBub2RlLnNldFN0YXRlKHsgW2tleV06IGV2dC5jdXJyZW50VGFyZ2V0LnZhbHVlQXNOdW1iZXIgfSlcbiAgICAgIH0pO1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dCwge1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB2YWx1ZSxcbiAgICAgICAgb25CbHVyOiAoZXZ0KSA9PiBub2RlLnNldFN0YXRlKHsgW2tleV06IGV2dC5jdXJyZW50VGFyZ2V0LnZhbHVlIH0pXG4gICAgICB9KTtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICBpZiAoaXNTY2VuZU9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNQbGFpbk9iamVjdCh2YWx1ZSkgfHwgaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KEpTT05Gb3JtYXR0ZXIsIHtcbiAgICAgICAgICBqc29uOiB2YWx1ZSxcbiAgICAgICAgICBvcGVuOiAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFN0eWxlcyh0aGVtZSkge1xuICByZXR1cm4ge1xuICAgIGNvbnRhaW5lcjogY3NzKHtcbiAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBnYXA6IHRoZW1lLnNwYWNpbmcoMC41KSxcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCJcbiAgICB9KSxcbiAgICByb3c6IGNzcyh7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGdhcDogdGhlbWUuc3BhY2luZygyKVxuICAgIH0pLFxuICAgIGtleU5hbWU6IGNzcyh7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhHcm93OiBcIjBcIixcbiAgICAgIHdpZHRoOiAxMjAsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgaGVpZ2h0OiB0aGVtZS5zcGFjaW5nKHRoZW1lLmNvbXBvbmVudHMuaGVpZ2h0Lm1kKVxuICAgIH0pLFxuICAgIHZhbHVlOiBjc3Moe1xuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBtaW5IZWlnaHQ6IHRoZW1lLnNwYWNpbmcodGhlbWUuY29tcG9uZW50cy5oZWlnaHQubWQpLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiXG4gICAgfSlcbiAgfTtcbn1cblxuZXhwb3J0IHsgRGVidWdEZXRhaWxzIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVJHVmlkV2RFWlhSaGFXeHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRZMlZ1WlVSbFluVm5aMlZ5TDBSbFluVm5SR1YwWVdsc2N5NTBjM2dpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1kzTnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZM056Snp0Y2JtbHRjRzl5ZENCN0lFZHlZV1poYm1GVWFHVnRaVElnZlNCbWNtOXRJQ2RBWjNKaFptRnVZUzlrWVhSaEp6dGNibWx0Y0c5eWRDQjdJRWx1Y0hWMExDQktVMDlPUm05eWJXRjBkR1Z5TENCMWMyVlRkSGxzWlhNeUlIMGdabkp2YlNBblFHZHlZV1poYm1FdmRXa25PMXh1YVcxd2IzSjBJSHNnYVhOQmNuSmhlU3dnYVhOUWJHRnBiazlpYW1WamRDQjlJR1p5YjIwZ0oyeHZaR0Z6YUNjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dhWE5UWTJWdVpVOWlhbVZqZEN3Z1UyTmxibVZQWW1wbFkzUWdmU0JtY205dElDY3VMaTh1TGk5amIzSmxMM1I1Y0dWekp6dGNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUc1dlpHVTZJRk5qWlc1bFQySnFaV04wTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdSR1ZpZFdkRVpYUmhhV3h6S0hzZ2JtOWtaU0I5T2lCUWNtOXdjeWtnZTF4dUlDQmpiMjV6ZENCemRHRjBaU0E5SUc1dlpHVXVkWE5sVTNSaGRHVW9LVHRjYmlBZ1kyOXVjM1FnYzNSNWJHVnpJRDBnZFhObFUzUjViR1Z6TWloblpYUlRkSGxzWlhNcE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGlCamJHRnpjMDVoYldVOWUzTjBlV3hsY3k1amIyNTBZV2x1WlhKOVBseHVJQ0FnSUNBZ2UwOWlhbVZqZEM1clpYbHpLSE4wWVhSbEtTNXRZWEFvS0d0bGVTa2dQVDRnS0Z4dUlDQWdJQ0FnSUNBOFpHbDJJR05zWVhOelRtRnRaVDE3YzNSNWJHVnpMbkp2ZDMwZ2EyVjVQWHRyWlhsOVBseHVJQ0FnSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM05PWVcxbFBYdHpkSGxzWlhNdWEyVjVUbUZ0WlgwK2UydGxlWDA4TDJScGRqNWNiaUFnSUNBZ0lDQWdJQ0E4WkdsMklHTnNZWE56VG1GdFpUMTdjM1I1YkdWekxuWmhiSFZsZlQ1N2NtVnVaR1Z5Vm1Gc2RXVW9hMlY1TENBb2MzUmhkR1VnWVhNZ1lXNTVLVnRyWlhsZExDQnViMlJsS1gwOEwyUnBkajVjYmlBZ0lDQWdJQ0FnUEM5a2FYWStYRzRnSUNBZ0lDQXBLWDFjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4xY2JseHVablZ1WTNScGIyNGdjbVZ1WkdWeVZtRnNkV1VvYTJWNU9pQnpkSEpwYm1jc0lIWmhiSFZsT2lCaGJua3NJRzV2WkdVNklGTmpaVzVsVDJKcVpXTjBLU0I3WEc0Z0lHbG1JQ2gyWVd4MVpTQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBbmJuVnNiQ2M3WEc0Z0lIMWNibHh1SUNCemQybDBZMmdnS0hSNWNHVnZaaUIyWVd4MVpTa2dlMXh1SUNBZ0lHTmhjMlVnSjI1MWJXSmxjaWM2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdJQ0E4U1c1d2RYUmNiaUFnSUNBZ0lDQWdJQ0IwZVhCbFBWd2liblZ0WW1WeVhDSmNiaUFnSUNBZ0lDQWdJQ0JrWldaaGRXeDBWbUZzZFdVOWUzWmhiSFZsZlZ4dUlDQWdJQ0FnSUNBZ0lHOXVRbXgxY2oxN0tHVjJkQ2tnUFQ0Z2JtOWtaUzV6WlhSVGRHRjBaU2g3SUZ0clpYbGRPaUJsZG5RdVkzVnljbVZ1ZEZSaGNtZGxkQzUyWVd4MVpVRnpUblZ0WW1WeUlIMHBmVnh1SUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0JqWVhObElDZHpkSEpwYm1jbk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUNBZ1BFbHVjSFYwSUhSNWNHVTlYQ0owWlhoMFhDSWdaR1ZtWVhWc2RGWmhiSFZsUFh0MllXeDFaWDBnYjI1Q2JIVnlQWHNvWlhaMEtTQTlQaUJ1YjJSbExuTmxkRk4wWVhSbEtIc2dXMnRsZVYwNklHVjJkQzVqZFhKeVpXNTBWR0Z5WjJWMExuWmhiSFZsSUgwcGZTQXZQbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQmpZWE5sSUNkdlltcGxZM1FuT2x4dUlDQWdJQ0FnYVdZZ0tHbHpVMk5sYm1WUFltcGxZM1FvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTNWpiMjV6ZEhKMVkzUnZjaTV1WVcxbE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR2x6VUd4aGFXNVBZbXBsWTNRb2RtRnNkV1VwSUh4OElHbHpRWEp5WVhrb2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBOFNsTlBUa1p2Y20xaGRIUmxjaUJxYzI5dVBYdDJZV3gxWlgwZ2IzQmxiajE3TUgwZ0x6NDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z1UzUnlhVzVuS0haaGJIVmxLVHRjYmlBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUIyWVd4MVpUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSVGRIbHNaWE1vZEdobGJXVTZJRWR5WVdaaGJtRlVhR1Z0WlRJcElIdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmpiMjUwWVdsdVpYSTZJR056Y3loN1hHNGdJQ0FnSUNCbWJHVjRSM0p2ZHpvZ01TeGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUdkaGNEb2dkR2hsYldVdWMzQmhZMmx1Wnlnd0xqVXBMRnh1SUNBZ0lDQWdabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0Ymljc1hHNGdJQ0FnZlNrc1hHNGdJQ0FnY205M09pQmpjM01vZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNBZ0lDQWdaMkZ3T2lCMGFHVnRaUzV6Y0dGamFXNW5LRElwTEZ4dUlDQWdJSDBwTEZ4dUlDQWdJR3RsZVU1aGJXVTZJR056Y3loN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lDQWdJQ0JtYkdWNFIzSnZkem9nSnpBbkxGeHVJQ0FnSUNBZ2QybGtkR2c2SURFeU1DeGNiaUFnSUNBZ0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQjBhR1Z0WlM1emNHRmphVzVuS0hSb1pXMWxMbU52YlhCdmJtVnVkSE11YUdWcFoyaDBMbTFrS1N4Y2JpQWdJQ0I5S1N4Y2JpQWdJQ0IyWVd4MVpUb2dZM056S0h0Y2JpQWdJQ0FnSUdac1pYaEhjbTkzT2lBeExGeHVJQ0FnSUNBZ2JXbHVTR1ZwWjJoME9pQjBhR1Z0WlM1emNHRmphVzVuS0hSb1pXMWxMbU52YlhCdmJtVnVkSE11YUdWcFoyaDBMbTFrS1N4Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQWdJSDBwTEZ4dUlDQjlPMXh1ZlZ4dUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenRCUVZkblFpeFRRVUZCTEZsQlFVRXNRMEZCWVN4RlFVRkZMRWxCUVVFc1JVRkJaU3hGUVVGQk8wRkJRelZETEVWQlFVMHNUVUZCUVN4TFFVRkJMRWRCUVZFc1MwRkJTeXhSUVVGVExFVkJRVUVzUTBGQlFUdEJRVU0xUWl4RlFVRk5MRTFCUVVFc1RVRkJRU3hIUVVGVExGZEJRVmNzVTBGQlV5eERRVUZCTEVOQlFVRTdRVUZGYmtNc1JVRkJRU3gxUWtGRFJ5eExRVUZCTEVOQlFVRXNZVUZCUVN4RFFVRkJMRXRCUVVFc1JVRkJRVHRCUVVGQkxFbEJRVWtzVjBGQlZ5eE5RVUZQTEVOQlFVRXNVMEZCUVR0QlFVRkJMRWRCUVVFc1JVRkRjRUlzVDBGQlR5eEpRVUZMTEVOQlFVRXNTMEZCU3l4RlFVRkZMRWRCUVVrc1EwRkJRU3hEUVVGRExIZENRVU4wUWl4TFFVRkJMRU5CUVVFc1lVRkJRU3hEUVVGQkxFdEJRVUVzUlVGQlFUdEJRVUZCTEVsQlFVa3NWMEZCVnl4TlFVRlBMRU5CUVVFc1IwRkJRVHRCUVVGQkxFbEJRVXNzUjBGQlFUdEJRVUZCTEVkQlFVRXNhMEpCUTNwQ0xFdEJRVUVzUTBGQlFTeGhRVUZCTEVOQlFVRXNTMEZCUVN4RlFVRkJPMEZCUVVFc1NVRkJTU3hYUVVGWExFMUJRVThzUTBGQlFTeFBRVUZCTzBGQlFVRXNSMEZCVlN4RlFVRkJMRWRCUVVrc2JVSkJRM0JETEV0QlFVRXNRMEZCUVN4aFFVRkJMRU5CUVVFc1MwRkJRU3hGUVVGQk8wRkJRVUVzU1VGQlNTeFhRVUZYTEUxQlFVOHNRMEZCUVN4TFFVRkJPMEZCUVVFc1IwRkJVU3hGUVVGQkxGZEJRVUVzUTBGQldTeExRVUZOTEV0QlFXTXNRMEZCUVN4SFFVRkJMRU5CUVVFc1JVRkJUU3hKUVVGSkxFTkJRVVVzUTBGRE4wVXNRMEZEUkN4RFFVTklMRU5CUVVFc1EwRkJRVHRCUVVWS0xFTkJRVUU3UVVGRlFTeFRRVUZUTEZkQlFVRXNRMEZCV1N4SFFVRmhMRVZCUVVFc1MwRkJRU3hGUVVGWkxFbEJRVzFDTEVWQlFVRTdRVUZETDBRc1JVRkJRU3hKUVVGSkxGVkJRVlVzU1VGQlRTeEZRVUZCTzBGQlEyeENMRWxCUVU4c1QwRkJRU3hOUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5VTzBGQlJVRXNSVUZCUVN4UlFVRlJMRTlCUVU4c1MwRkJRVHRCUVVGQkxFbEJRMUlzUzBGQlFTeFJRVUZCTzBGQlEwZ3NUVUZCUVN4MVFrRkRSeXhMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEV0QlFVRXNSVUZCUVR0QlFVRkJMRkZCUTBNc1NVRkJTeXhGUVVGQkxGRkJRVUU3UVVGQlFTeFJRVU5NTEZsQlFXTXNSVUZCUVN4TFFVRkJPMEZCUVVFc1VVRkRaQ3hOUVVGQkxFVkJRVkVzUTBGQlF5eEhRVUZCTEV0QlFWRXNTVUZCU3l4RFFVRkJMRkZCUVVFc1EwRkJVeXhGUVVGRkxFTkJRVU1zUjBGQlRTeEhRVUZCTEVkQlFVRXNRMEZCU1N4aFFVRmpMRU5CUVVFc1lVRkJRU3hGUVVGbExFTkJRVUU3UVVGQlFTeFBRVU16UlN4RFFVRkJMRU5CUVVFN1FVRkJRU3hKUVVWRExFdEJRVUVzVVVGQlFUdEJRVU5JTEUxQlFVRXNkVUpCUTBjc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeExRVUZCTEVWQlFVRTdRVUZCUVN4UlFVRk5MRWxCUVVzc1JVRkJRU3hOUVVGQk8wRkJRVUVzVVVGQlR5eFpRVUZqTEVWQlFVRXNTMEZCUVR0QlFVRkJMRkZCUVU4c1RVRkJRU3hGUVVGUkxFTkJRVU1zUjBGQlFTeExRVUZSTEVsQlFVc3NRMEZCUVN4UlFVRkJMRU5CUVZNc1JVRkJSU3hEUVVGRExFZEJRVTBzUjBGQlFTeEhRVUZCTEVOQlFVa3NZVUZCWXl4RFFVRkJMRXRCUVVFc1JVRkJUeXhEUVVGQk8wRkJRVUVzVDBGQlJ5eERRVUZCTEVOQlFVRTdRVUZCUVN4SlFVVXpSeXhMUVVGQkxGRkJRVUU3UVVGRFNDeE5RVUZKTEVsQlFVRXNZVUZCUVN4RFFVRmpMRXRCUVVzc1EwRkJSeXhGUVVGQk8wRkJRM2hDTEZGQlFVRXNUMEZCVHl4TlFVRk5MRmRCUVZrc1EwRkJRU3hKUVVGQkxFTkJRVUU3UVVGQlFTeFBRVU16UWp0QlFVTkJMRTFCUVVFc1NVRkJTU3hoUVVGakxFTkJRVUVzUzBGQlN5eERRVUZMTEVsQlFVRXNUMEZCUVN4RFFVRlJMRXRCUVVzc1EwRkJSeXhGUVVGQk8wRkJRekZETEZGQlFVRXNkVUpCUVZFc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeGhRVUZCTEVWQlFVRTdRVUZCUVN4VlFVRmpMRWxCUVUwc1JVRkJRU3hMUVVGQk8wRkJRVUVzVlVGQlR5eEpRVUZOTEVWQlFVRXNRMEZCUVR0QlFVRkJMRk5CUVVjc1EwRkJRU3hEUVVGQk8wRkJRVUVzVDBGRE9VTTdRVUZEUVN4TlFVRkJMRTlCUVU4c1QwRkJUeXhMUVVGTExFTkJRVUVzUTBGQlFUdEJRVUZCTEVsQlFVRTdRVUZGYmtJc1RVRkJRU3hQUVVGUExFOUJRVThzUzBGQlFTeERRVUZCTzBGQlFVRXNSMEZCUVR0QlFVVndRaXhEUVVGQk8wRkJSVUVzVTBGQlV5eFZRVUZWTEV0QlFYTkNMRVZCUVVFN1FVRkRka01zUlVGQlR5eFBRVUZCTzBGQlFVRXNTVUZEVEN4WFFVRlhMRWRCUVVrc1EwRkJRVHRCUVVGQkxFMUJRMklzVVVGQlZTeEZRVUZCTEVOQlFVRTdRVUZCUVN4TlFVTldMRTlCUVZNc1JVRkJRU3hOUVVGQk8wRkJRVUVzVFVGRFZDeEhRVUZCTEVWQlFVc3NTMEZCVFN4RFFVRkJMRTlCUVVFc1EwRkJVU3hIUVVGSExFTkJRVUU3UVVGQlFTeE5RVU4wUWl4aFFVRmxMRVZCUVVFc1VVRkJRVHRCUVVGQkxFdEJRMmhDTEVOQlFVRTdRVUZCUVN4SlFVTkVMRXRCUVVzc1IwRkJTU3hEUVVGQk8wRkJRVUVzVFVGRFVDeFBRVUZUTEVWQlFVRXNUVUZCUVR0QlFVRkJMRTFCUTFRc1IwRkJRU3hGUVVGTExFdEJRVTBzUTBGQlFTeFBRVUZCTEVOQlFWRXNRMEZCUXl4RFFVRkJPMEZCUVVFc1MwRkRja0lzUTBGQlFUdEJRVUZCTEVsQlEwUXNVMEZCVXl4SFFVRkpMRU5CUVVFN1FVRkJRU3hOUVVOWUxFOUJRVk1zUlVGQlFTeE5RVUZCTzBGQlFVRXNUVUZEVkN4UlFVRlZMRVZCUVVFc1IwRkJRVHRCUVVGQkxFMUJRMVlzUzBGQlR5eEZRVUZCTEVkQlFVRTdRVUZCUVN4TlFVTlFMRlZCUVZrc1JVRkJRU3hSUVVGQk8wRkJRVUVzVFVGRFdpeFJRVUZSTEV0QlFVMHNRMEZCUVN4UFFVRkJMRU5CUVZFc1MwRkJUU3hEUVVGQkxGVkJRVUVzUTBGQlZ5eFBRVUZQTEVWQlFVVXNRMEZCUVR0QlFVRkJMRXRCUTJwRUxFTkJRVUU3UVVGQlFTeEpRVU5FTEU5QlFVOHNSMEZCU1N4RFFVRkJPMEZCUVVFc1RVRkRWQ3hSUVVGVkxFVkJRVUVzUTBGQlFUdEJRVUZCTEUxQlExWXNWMEZCVnl4TFFVRk5MRU5CUVVFc1QwRkJRU3hEUVVGUkxFdEJRVTBzUTBGQlFTeFZRVUZCTEVOQlFWY3NUMEZCVHl4RlFVRkZMRU5CUVVFN1FVRkJRU3hOUVVOdVJDeFBRVUZUTEVWQlFVRXNUVUZCUVR0QlFVRkJMRTFCUTFRc1ZVRkJXU3hGUVVGQkxGRkJRVUU3UVVGQlFTeExRVU5pTEVOQlFVRTdRVUZCUVN4SFFVTklMRU5CUVVF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
|
|
@@ -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=
|