@grafana/scenes 6.49.0 → 6.50.0--canary.1315.20127970450.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 (616) hide show
  1. package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +13 -0
  2. package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
  3. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  4. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  5. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +26 -0
  6. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectSpread2.js.map +1 -0
  7. package/dist/esm/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +10 -0
  8. package/dist/esm/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js.map +1 -0
  9. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +15 -0
  10. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
  11. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +10 -0
  12. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
  13. package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +12 -0
  14. package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
  15. package/dist/esm/node_modules/react-select/dist/index-641ee5b8.esm.js +86 -0
  16. package/dist/esm/node_modules/react-select/dist/index-641ee5b8.esm.js.map +1 -0
  17. package/dist/esm/packages/scenes/src/behaviors/ActWhenVariableChanged.js.map +1 -0
  18. package/dist/esm/packages/scenes/src/behaviors/CursorSync.js.map +1 -0
  19. package/dist/esm/packages/scenes/src/behaviors/LiveNowTimer.js.map +1 -0
  20. package/dist/esm/packages/scenes/src/behaviors/SceneInteractionTracker.js.map +1 -0
  21. package/dist/esm/packages/scenes/src/behaviors/SceneQueryController.js.map +1 -0
  22. package/dist/esm/packages/scenes/src/components/EmbeddedScene.js.map +1 -0
  23. package/dist/esm/packages/scenes/src/components/NestedScene.js.map +1 -0
  24. package/dist/esm/packages/scenes/src/components/SceneApp/SceneApp.js.map +1 -0
  25. package/dist/esm/packages/scenes/src/components/SceneApp/SceneAppPage.js.map +1 -0
  26. package/dist/esm/packages/scenes/src/components/SceneApp/SceneAppPageView.js.map +1 -0
  27. package/dist/esm/packages/scenes/src/components/SceneApp/utils.js.map +1 -0
  28. package/dist/esm/packages/scenes/src/components/SceneByFrameRepeater.js.map +1 -0
  29. package/dist/esm/packages/scenes/src/components/SceneByVariableRepeater.js.map +1 -0
  30. package/dist/esm/packages/scenes/src/components/SceneCanvasText.js.map +1 -0
  31. package/dist/esm/packages/scenes/src/components/SceneControlsSpacer.js.map +1 -0
  32. package/dist/esm/packages/scenes/src/components/SceneDebugger/DebugDetails.js.map +1 -0
  33. package/dist/esm/packages/scenes/src/components/SceneDebugger/DebugTreeNode.js.map +1 -0
  34. package/dist/esm/packages/scenes/src/components/SceneDebugger/SceneDebugger.js.map +1 -0
  35. package/dist/esm/packages/scenes/src/components/SceneReactObject.js.map +1 -0
  36. package/dist/esm/packages/scenes/src/components/SceneRefreshPicker.js.map +1 -0
  37. package/dist/esm/packages/scenes/src/components/SceneTimePicker.js.map +1 -0
  38. package/dist/esm/packages/scenes/src/components/SceneTimeRangeCompare.js.map +1 -0
  39. package/dist/esm/packages/scenes/src/components/SceneToolbarButton.js.map +1 -0
  40. package/dist/esm/packages/scenes/src/components/VizPanel/VizPanel.js.map +1 -0
  41. package/dist/esm/packages/scenes/src/components/VizPanel/VizPanelExploreButton.js.map +1 -0
  42. package/dist/esm/packages/scenes/src/components/VizPanel/VizPanelMenu.js.map +1 -0
  43. package/dist/esm/packages/scenes/src/components/VizPanel/VizPanelRenderer.js.map +1 -0
  44. package/dist/esm/packages/scenes/src/components/VizPanel/VizPanelSeriesLimit.js.map +1 -0
  45. package/dist/esm/packages/scenes/src/components/VizPanel/colorSeriesConfigFactory.js.map +1 -0
  46. package/dist/esm/packages/scenes/src/components/VizPanel/registerRuntimePanelPlugin.js.map +1 -0
  47. package/dist/esm/packages/scenes/src/components/VizPanel/seriesVisibilityConfigFactory.js.map +1 -0
  48. package/dist/esm/packages/scenes/src/components/layout/CSSGrid/SceneCSSGridLayout.js.map +1 -0
  49. package/dist/esm/packages/scenes/src/components/layout/LazyLoader.js.map +1 -0
  50. package/dist/esm/packages/scenes/src/components/layout/SceneFlexLayout.js.map +1 -0
  51. package/dist/esm/packages/scenes/src/components/layout/grid/SceneGridItem.js.map +1 -0
  52. package/dist/esm/packages/scenes/src/components/layout/grid/SceneGridLayout.js.map +1 -0
  53. package/dist/esm/packages/scenes/src/components/layout/grid/SceneGridLayoutRenderer.js.map +1 -0
  54. package/dist/esm/packages/scenes/src/components/layout/grid/SceneGridRow.js.map +1 -0
  55. package/dist/esm/packages/scenes/src/components/layout/grid/constants.js.map +1 -0
  56. package/dist/esm/packages/scenes/src/components/layout/grid/types.js.map +1 -0
  57. package/dist/esm/packages/scenes/src/components/layout/grid/utils.js.map +1 -0
  58. package/dist/esm/packages/scenes/src/components/layout/split/SplitLayout.js.map +1 -0
  59. package/dist/esm/packages/scenes/src/components/layout/split/SplitLayoutRenderer.js.map +1 -0
  60. package/dist/esm/packages/scenes/src/components/layout/split/Splitter.js.map +1 -0
  61. package/dist/esm/packages/scenes/src/core/PanelBuilders/FieldConfigBuilder.js.map +1 -0
  62. package/dist/esm/packages/scenes/src/core/PanelBuilders/FieldConfigBuilders.js.map +1 -0
  63. package/dist/esm/packages/scenes/src/core/PanelBuilders/FieldConfigOverridesBuilder.js.map +1 -0
  64. package/dist/esm/packages/scenes/src/core/PanelBuilders/PanelOptionsBuilder.js.map +1 -0
  65. package/dist/esm/packages/scenes/src/core/PanelBuilders/PanelOptionsBuilders.js.map +1 -0
  66. package/dist/esm/packages/scenes/src/core/PanelBuilders/StandardFieldConfigBuilders.js.map +1 -0
  67. package/dist/esm/packages/scenes/src/core/PanelBuilders/VizConfigBuilder.js.map +1 -0
  68. package/dist/esm/packages/scenes/src/core/PanelBuilders/VizConfigBuilders.js.map +1 -0
  69. package/dist/esm/packages/scenes/src/core/PanelBuilders/VizPanelBuilder.js.map +1 -0
  70. package/dist/esm/packages/scenes/src/core/PanelBuilders/index.js.map +1 -0
  71. package/dist/esm/packages/scenes/src/core/SceneComponentWrapper.js.map +1 -0
  72. package/dist/esm/packages/scenes/src/core/SceneDataNode.js.map +1 -0
  73. package/dist/esm/packages/scenes/src/core/SceneObjectBase.js.map +1 -0
  74. package/dist/esm/packages/scenes/src/core/SceneObjectRef.js.map +1 -0
  75. package/dist/esm/packages/scenes/src/core/SceneTimeRange.js.map +1 -0
  76. package/dist/esm/packages/scenes/src/core/SceneTimeRangeTransformerBase.js.map +1 -0
  77. package/dist/esm/packages/scenes/src/core/SceneTimeZoneOverride.js.map +1 -0
  78. package/dist/esm/packages/scenes/src/core/events.js.map +1 -0
  79. package/dist/esm/packages/scenes/src/core/sceneGraph/cloneSceneObject.js.map +1 -0
  80. package/dist/esm/packages/scenes/src/core/sceneGraph/getInteractionTracker.js.map +1 -0
  81. package/dist/esm/packages/scenes/src/core/sceneGraph/getQueryController.js.map +1 -0
  82. package/dist/esm/packages/scenes/src/core/sceneGraph/getTimeRange.js.map +1 -0
  83. package/dist/esm/packages/scenes/src/core/sceneGraph/index.js.map +1 -0
  84. package/dist/esm/packages/scenes/src/core/sceneGraph/sceneGraph.js.map +1 -0
  85. package/dist/esm/packages/scenes/src/core/sceneGraph/utils.js.map +1 -0
  86. package/dist/esm/packages/scenes/src/core/types.js.map +1 -0
  87. package/dist/esm/packages/scenes/src/index.js.map +1 -0
  88. package/dist/esm/packages/scenes/src/performance/LongFrameDetector.js.map +1 -0
  89. package/dist/esm/packages/scenes/src/performance/PanelProfilingManager.js.map +1 -0
  90. package/dist/esm/packages/scenes/src/performance/ScenePerformanceTracker.js.map +1 -0
  91. package/dist/esm/packages/scenes/src/performance/SceneRenderProfiler.js.map +1 -0
  92. package/dist/esm/packages/scenes/src/performance/VizPanelRenderProfiler.js.map +1 -0
  93. package/dist/esm/packages/scenes/src/performance/interactionConstants.js.map +1 -0
  94. package/dist/esm/packages/scenes/src/querying/DataLayersMerger.js.map +1 -0
  95. package/dist/esm/packages/scenes/src/querying/DataProviderProxy.js.map +1 -0
  96. package/dist/esm/packages/scenes/src/querying/ExtraQueryProvider.js.map +1 -0
  97. package/dist/esm/packages/scenes/src/querying/RuntimeDataSource.js.map +1 -0
  98. package/dist/esm/packages/scenes/src/querying/SceneDataLayerSet.js.map +1 -0
  99. package/dist/esm/packages/scenes/src/querying/SceneDataTransformer.js.map +1 -0
  100. package/dist/esm/packages/scenes/src/querying/SceneQueryRunner.js.map +1 -0
  101. package/dist/esm/packages/scenes/src/querying/extraQueryProcessingOperator.js.map +1 -0
  102. package/dist/esm/packages/scenes/src/querying/getEnrichedDataRequest.js.map +1 -0
  103. package/dist/esm/packages/scenes/src/querying/layers/SceneDataLayerBase.js.map +1 -0
  104. package/dist/esm/packages/scenes/src/querying/layers/SceneDataLayerControls.js.map +1 -0
  105. package/dist/esm/packages/scenes/src/querying/layers/annotations/AnnotationsDataLayer.js.map +1 -0
  106. package/dist/esm/packages/scenes/src/querying/layers/annotations/filterAnnotations.js.map +1 -0
  107. package/dist/esm/packages/scenes/src/querying/layers/annotations/standardAnnotationQuery.js.map +1 -0
  108. package/dist/esm/packages/scenes/src/querying/layers/annotations/standardAnnotationsSupport.js.map +1 -0
  109. package/dist/esm/packages/scenes/src/querying/layers/annotations/utils.js.map +1 -0
  110. package/dist/esm/packages/scenes/src/querying/registerQueryWithController.js.map +1 -0
  111. package/dist/esm/packages/scenes/src/services/SceneObjectUrlSyncConfig.js.map +1 -0
  112. package/dist/esm/packages/scenes/src/services/UniqueUrlKeyMapper.js.map +1 -0
  113. package/dist/esm/packages/scenes/src/services/UrlSyncContextProvider.js.map +1 -0
  114. package/dist/esm/packages/scenes/src/services/UrlSyncManager.js.map +1 -0
  115. package/dist/esm/packages/scenes/src/services/useUrlSync.js.map +1 -0
  116. package/dist/esm/packages/scenes/src/services/utils.js.map +1 -0
  117. package/dist/esm/packages/scenes/src/utils/ControlsLabel.js.map +1 -0
  118. package/dist/esm/packages/scenes/src/utils/LoadingIndicator.js.map +1 -0
  119. package/dist/esm/packages/scenes/src/utils/SafeSerializableSceneObject.js.map +1 -0
  120. package/dist/esm/packages/scenes/src/utils/compatibility/setWindowGrafanaSceneContext.js.map +1 -0
  121. package/dist/esm/packages/scenes/src/utils/date.js.map +1 -0
  122. package/dist/esm/packages/scenes/src/utils/evaluateTimeRange.js.map +1 -0
  123. package/dist/esm/packages/scenes/src/utils/explore.js.map +1 -0
  124. package/dist/esm/packages/scenes/src/utils/findPanelProfiler.js.map +1 -0
  125. package/dist/esm/packages/scenes/src/utils/getCompareSeriesRefId.js.map +1 -0
  126. package/dist/esm/packages/scenes/src/utils/getDataSource.js.map +1 -0
  127. package/dist/esm/packages/scenes/src/utils/getMessageFromError.js.map +1 -0
  128. package/dist/esm/packages/scenes/src/utils/loadResources.js.map +1 -0
  129. package/dist/esm/packages/scenes/src/utils/metricTree.js.map +1 -0
  130. package/dist/esm/packages/scenes/src/utils/parseUrlParam.js.map +1 -0
  131. package/dist/esm/packages/scenes/src/utils/pathId.js.map +1 -0
  132. package/dist/esm/packages/scenes/src/utils/utils.js.map +1 -0
  133. package/dist/esm/packages/scenes/src/utils/wrapInSafeSerializableSceneObject.js.map +1 -0
  134. package/dist/esm/packages/scenes/src/utils/writePerformanceLog.js.map +1 -0
  135. package/dist/esm/packages/scenes/src/utils/writeSceneLog.js.map +1 -0
  136. package/dist/esm/packages/scenes/src/variables/DrilldownDependenciesManager.js.map +1 -0
  137. package/dist/esm/packages/scenes/src/variables/VariableDependencyConfig.js.map +1 -0
  138. package/dist/esm/packages/scenes/src/variables/VariableValueRecorder.js.map +1 -0
  139. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFilterBuilder.js.map +1 -0
  140. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFilterRenderer.js.map +1 -0
  141. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js.map +1 -0
  142. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js.map +1 -0
  143. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -0
  144. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +1 -0
  145. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js.map +1 -0
  146. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js.map +1 -0
  147. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js.map +1 -0
  148. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersCombobox/utils.js.map +1 -0
  149. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariable.js.map +1 -0
  150. package/dist/esm/packages/scenes/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js.map +1 -0
  151. package/dist/esm/packages/scenes/src/variables/adhoc/controller/AdHocFiltersVariableController.js.map +1 -0
  152. package/dist/esm/packages/scenes/src/variables/adhoc/getAdHocFiltersFromScopes.js.map +1 -0
  153. package/dist/esm/packages/scenes/src/variables/adhoc/getAdhocOptionSearcher.js.map +1 -0
  154. package/dist/esm/packages/scenes/src/variables/adhoc/patchGetAdhocFilters.js.map +1 -0
  155. package/dist/esm/packages/scenes/src/variables/components/VariableValueControl.js.map +1 -0
  156. package/dist/esm/packages/scenes/src/variables/components/VariableValueInput.js.map +1 -0
  157. package/dist/esm/packages/scenes/src/variables/components/VariableValueSelect.js.map +1 -0
  158. package/dist/esm/packages/scenes/src/variables/components/VariableValueSelectors.js.map +1 -0
  159. package/dist/esm/packages/scenes/src/variables/components/getOptionSearcher.js.map +1 -0
  160. package/dist/esm/packages/scenes/src/variables/constants.js.map +1 -0
  161. package/dist/esm/packages/scenes/src/variables/filter.js.map +1 -0
  162. package/dist/esm/packages/scenes/src/variables/getEnrichedFiltersRequest.js.map +1 -0
  163. package/dist/esm/packages/scenes/src/variables/groupby/DefaultGroupByCustomIndicatorContainer.js.map +1 -0
  164. package/dist/esm/packages/scenes/src/variables/groupby/GroupByValueContainer.js.map +1 -0
  165. package/dist/esm/{variables → packages/scenes/src/variables}/groupby/GroupByVariable.js +7 -0
  166. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariable.js.map +1 -0
  167. package/dist/esm/packages/scenes/src/variables/groupby/GroupByVariableUrlSyncHandler.js.map +1 -0
  168. package/dist/esm/packages/scenes/src/variables/groupby/findActiveGroupByVariablesByUid.js.map +1 -0
  169. package/dist/esm/packages/scenes/src/variables/interpolation/ScopedVarsVariable.js.map +1 -0
  170. package/dist/esm/packages/scenes/src/variables/interpolation/defaults.js.map +1 -0
  171. package/dist/esm/packages/scenes/src/variables/interpolation/fieldAccessorCache.js.map +1 -0
  172. package/dist/esm/packages/scenes/src/variables/interpolation/formatRegistry.js.map +1 -0
  173. package/dist/esm/packages/scenes/src/variables/interpolation/sceneInterpolator.js.map +1 -0
  174. package/dist/esm/packages/scenes/src/variables/lookupVariable.js.map +1 -0
  175. package/dist/esm/packages/scenes/src/variables/macros/AllVariablesMacro.js.map +1 -0
  176. package/dist/esm/packages/scenes/src/variables/macros/contextMacros.js.map +1 -0
  177. package/dist/esm/packages/scenes/src/variables/macros/dataMacros.js.map +1 -0
  178. package/dist/esm/packages/scenes/src/variables/macros/index.js.map +1 -0
  179. package/dist/esm/packages/scenes/src/variables/macros/templateProxies.js.map +1 -0
  180. package/dist/esm/packages/scenes/src/variables/macros/timeMacros.js.map +1 -0
  181. package/dist/esm/packages/scenes/src/variables/macros/types.js.map +1 -0
  182. package/dist/esm/packages/scenes/src/variables/macros/urlMacros.js.map +1 -0
  183. package/dist/esm/packages/scenes/src/variables/sets/SceneVariableSet.js.map +1 -0
  184. package/dist/esm/packages/scenes/src/variables/types.js.map +1 -0
  185. package/dist/esm/packages/scenes/src/variables/utils.js.map +1 -0
  186. package/dist/esm/packages/scenes/src/variables/variants/ConstantVariable.js.map +1 -0
  187. package/dist/esm/packages/scenes/src/variables/variants/CustomVariable.js.map +1 -0
  188. package/dist/esm/packages/scenes/src/variables/variants/DataSourceVariable.js.map +1 -0
  189. package/dist/esm/packages/scenes/src/variables/variants/IntervalVariable.js.map +1 -0
  190. package/dist/esm/packages/scenes/src/variables/variants/LocalValueVariable.js.map +1 -0
  191. package/dist/esm/packages/scenes/src/variables/variants/MultiValueVariable.js.map +1 -0
  192. package/dist/esm/packages/scenes/src/variables/variants/ScopesVariable.js.map +1 -0
  193. package/dist/esm/packages/scenes/src/variables/variants/SwitchVariable.js.map +1 -0
  194. package/dist/esm/packages/scenes/src/variables/variants/TestVariable.js.map +1 -0
  195. package/dist/esm/packages/scenes/src/variables/variants/TextBoxVariable.js.map +1 -0
  196. package/dist/esm/packages/scenes/src/variables/variants/guards.js.map +1 -0
  197. package/dist/esm/packages/scenes/src/variables/variants/query/QueryVariable.js.map +1 -0
  198. package/dist/esm/packages/scenes/src/variables/variants/query/createQueryVariableRunner.js.map +1 -0
  199. package/dist/esm/packages/scenes/src/variables/variants/query/guards.js.map +1 -0
  200. package/dist/esm/packages/scenes/src/variables/variants/query/toMetricFindValues.js.map +1 -0
  201. package/dist/esm/packages/scenes/src/variables/variants/query/utils.js.map +1 -0
  202. package/dist/index.d.ts +1 -0
  203. package/dist/index.js +171 -11
  204. package/dist/index.js.map +1 -1
  205. package/package.json +2 -2
  206. package/dist/esm/behaviors/ActWhenVariableChanged.js.map +0 -1
  207. package/dist/esm/behaviors/CursorSync.js.map +0 -1
  208. package/dist/esm/behaviors/LiveNowTimer.js.map +0 -1
  209. package/dist/esm/behaviors/SceneInteractionTracker.js.map +0 -1
  210. package/dist/esm/behaviors/SceneQueryController.js.map +0 -1
  211. package/dist/esm/components/EmbeddedScene.js.map +0 -1
  212. package/dist/esm/components/NestedScene.js.map +0 -1
  213. package/dist/esm/components/SceneApp/SceneApp.js.map +0 -1
  214. package/dist/esm/components/SceneApp/SceneAppPage.js.map +0 -1
  215. package/dist/esm/components/SceneApp/SceneAppPageView.js.map +0 -1
  216. package/dist/esm/components/SceneApp/utils.js.map +0 -1
  217. package/dist/esm/components/SceneByFrameRepeater.js.map +0 -1
  218. package/dist/esm/components/SceneByVariableRepeater.js.map +0 -1
  219. package/dist/esm/components/SceneCanvasText.js.map +0 -1
  220. package/dist/esm/components/SceneControlsSpacer.js.map +0 -1
  221. package/dist/esm/components/SceneDebugger/DebugDetails.js.map +0 -1
  222. package/dist/esm/components/SceneDebugger/DebugTreeNode.js.map +0 -1
  223. package/dist/esm/components/SceneDebugger/SceneDebugger.js.map +0 -1
  224. package/dist/esm/components/SceneReactObject.js.map +0 -1
  225. package/dist/esm/components/SceneRefreshPicker.js.map +0 -1
  226. package/dist/esm/components/SceneTimePicker.js.map +0 -1
  227. package/dist/esm/components/SceneTimeRangeCompare.js.map +0 -1
  228. package/dist/esm/components/SceneToolbarButton.js.map +0 -1
  229. package/dist/esm/components/VizPanel/VizPanel.js.map +0 -1
  230. package/dist/esm/components/VizPanel/VizPanelExploreButton.js.map +0 -1
  231. package/dist/esm/components/VizPanel/VizPanelMenu.js.map +0 -1
  232. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +0 -1
  233. package/dist/esm/components/VizPanel/VizPanelSeriesLimit.js.map +0 -1
  234. package/dist/esm/components/VizPanel/colorSeriesConfigFactory.js.map +0 -1
  235. package/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js.map +0 -1
  236. package/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js.map +0 -1
  237. package/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js.map +0 -1
  238. package/dist/esm/components/layout/LazyLoader.js.map +0 -1
  239. package/dist/esm/components/layout/SceneFlexLayout.js.map +0 -1
  240. package/dist/esm/components/layout/grid/SceneGridItem.js.map +0 -1
  241. package/dist/esm/components/layout/grid/SceneGridLayout.js.map +0 -1
  242. package/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js.map +0 -1
  243. package/dist/esm/components/layout/grid/SceneGridRow.js.map +0 -1
  244. package/dist/esm/components/layout/grid/constants.js.map +0 -1
  245. package/dist/esm/components/layout/grid/types.js.map +0 -1
  246. package/dist/esm/components/layout/grid/utils.js.map +0 -1
  247. package/dist/esm/components/layout/split/SplitLayout.js.map +0 -1
  248. package/dist/esm/components/layout/split/SplitLayoutRenderer.js.map +0 -1
  249. package/dist/esm/components/layout/split/Splitter.js.map +0 -1
  250. package/dist/esm/core/PanelBuilders/FieldConfigBuilder.js.map +0 -1
  251. package/dist/esm/core/PanelBuilders/FieldConfigBuilders.js.map +0 -1
  252. package/dist/esm/core/PanelBuilders/FieldConfigOverridesBuilder.js.map +0 -1
  253. package/dist/esm/core/PanelBuilders/PanelOptionsBuilder.js.map +0 -1
  254. package/dist/esm/core/PanelBuilders/PanelOptionsBuilders.js.map +0 -1
  255. package/dist/esm/core/PanelBuilders/StandardFieldConfigBuilders.js.map +0 -1
  256. package/dist/esm/core/PanelBuilders/VizConfigBuilder.js.map +0 -1
  257. package/dist/esm/core/PanelBuilders/VizConfigBuilders.js.map +0 -1
  258. package/dist/esm/core/PanelBuilders/VizPanelBuilder.js.map +0 -1
  259. package/dist/esm/core/PanelBuilders/index.js.map +0 -1
  260. package/dist/esm/core/SceneComponentWrapper.js.map +0 -1
  261. package/dist/esm/core/SceneDataNode.js.map +0 -1
  262. package/dist/esm/core/SceneObjectBase.js.map +0 -1
  263. package/dist/esm/core/SceneObjectRef.js.map +0 -1
  264. package/dist/esm/core/SceneTimeRange.js.map +0 -1
  265. package/dist/esm/core/SceneTimeRangeTransformerBase.js.map +0 -1
  266. package/dist/esm/core/SceneTimeZoneOverride.js.map +0 -1
  267. package/dist/esm/core/events.js.map +0 -1
  268. package/dist/esm/core/sceneGraph/cloneSceneObject.js.map +0 -1
  269. package/dist/esm/core/sceneGraph/getInteractionTracker.js.map +0 -1
  270. package/dist/esm/core/sceneGraph/getQueryController.js.map +0 -1
  271. package/dist/esm/core/sceneGraph/getTimeRange.js.map +0 -1
  272. package/dist/esm/core/sceneGraph/index.js.map +0 -1
  273. package/dist/esm/core/sceneGraph/sceneGraph.js.map +0 -1
  274. package/dist/esm/core/sceneGraph/utils.js.map +0 -1
  275. package/dist/esm/core/types.js.map +0 -1
  276. package/dist/esm/index.js.map +0 -1
  277. package/dist/esm/performance/LongFrameDetector.js.map +0 -1
  278. package/dist/esm/performance/PanelProfilingManager.js.map +0 -1
  279. package/dist/esm/performance/ScenePerformanceTracker.js.map +0 -1
  280. package/dist/esm/performance/SceneRenderProfiler.js.map +0 -1
  281. package/dist/esm/performance/VizPanelRenderProfiler.js.map +0 -1
  282. package/dist/esm/performance/interactionConstants.js.map +0 -1
  283. package/dist/esm/querying/DataLayersMerger.js.map +0 -1
  284. package/dist/esm/querying/DataProviderProxy.js.map +0 -1
  285. package/dist/esm/querying/ExtraQueryProvider.js.map +0 -1
  286. package/dist/esm/querying/RuntimeDataSource.js.map +0 -1
  287. package/dist/esm/querying/SceneDataLayerSet.js.map +0 -1
  288. package/dist/esm/querying/SceneDataTransformer.js.map +0 -1
  289. package/dist/esm/querying/SceneQueryRunner.js.map +0 -1
  290. package/dist/esm/querying/extraQueryProcessingOperator.js.map +0 -1
  291. package/dist/esm/querying/getEnrichedDataRequest.js.map +0 -1
  292. package/dist/esm/querying/layers/SceneDataLayerBase.js.map +0 -1
  293. package/dist/esm/querying/layers/SceneDataLayerControls.js.map +0 -1
  294. package/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js.map +0 -1
  295. package/dist/esm/querying/layers/annotations/filterAnnotations.js.map +0 -1
  296. package/dist/esm/querying/layers/annotations/standardAnnotationQuery.js.map +0 -1
  297. package/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js.map +0 -1
  298. package/dist/esm/querying/layers/annotations/utils.js.map +0 -1
  299. package/dist/esm/querying/registerQueryWithController.js.map +0 -1
  300. package/dist/esm/services/SceneObjectUrlSyncConfig.js.map +0 -1
  301. package/dist/esm/services/UniqueUrlKeyMapper.js.map +0 -1
  302. package/dist/esm/services/UrlSyncContextProvider.js.map +0 -1
  303. package/dist/esm/services/UrlSyncManager.js.map +0 -1
  304. package/dist/esm/services/useUrlSync.js.map +0 -1
  305. package/dist/esm/services/utils.js.map +0 -1
  306. package/dist/esm/utils/ControlsLabel.js.map +0 -1
  307. package/dist/esm/utils/LoadingIndicator.js.map +0 -1
  308. package/dist/esm/utils/SafeSerializableSceneObject.js.map +0 -1
  309. package/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js.map +0 -1
  310. package/dist/esm/utils/date.js.map +0 -1
  311. package/dist/esm/utils/evaluateTimeRange.js.map +0 -1
  312. package/dist/esm/utils/explore.js.map +0 -1
  313. package/dist/esm/utils/findPanelProfiler.js.map +0 -1
  314. package/dist/esm/utils/getCompareSeriesRefId.js.map +0 -1
  315. package/dist/esm/utils/getDataSource.js.map +0 -1
  316. package/dist/esm/utils/getMessageFromError.js.map +0 -1
  317. package/dist/esm/utils/loadResources.js.map +0 -1
  318. package/dist/esm/utils/metricTree.js.map +0 -1
  319. package/dist/esm/utils/parseUrlParam.js.map +0 -1
  320. package/dist/esm/utils/pathId.js.map +0 -1
  321. package/dist/esm/utils/utils.js.map +0 -1
  322. package/dist/esm/utils/wrapInSafeSerializableSceneObject.js.map +0 -1
  323. package/dist/esm/utils/writePerformanceLog.js.map +0 -1
  324. package/dist/esm/utils/writeSceneLog.js.map +0 -1
  325. package/dist/esm/variables/DrilldownDependenciesManager.js.map +0 -1
  326. package/dist/esm/variables/VariableDependencyConfig.js.map +0 -1
  327. package/dist/esm/variables/VariableValueRecorder.js.map +0 -1
  328. package/dist/esm/variables/adhoc/AdHocFilterBuilder.js.map +0 -1
  329. package/dist/esm/variables/adhoc/AdHocFilterRenderer.js.map +0 -1
  330. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js.map +0 -1
  331. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js.map +0 -1
  332. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +0 -1
  333. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +0 -1
  334. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js.map +0 -1
  335. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js.map +0 -1
  336. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js.map +0 -1
  337. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js.map +0 -1
  338. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +0 -1
  339. package/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js.map +0 -1
  340. package/dist/esm/variables/adhoc/controller/AdHocFiltersVariableController.js.map +0 -1
  341. package/dist/esm/variables/adhoc/getAdHocFiltersFromScopes.js.map +0 -1
  342. package/dist/esm/variables/adhoc/getAdhocOptionSearcher.js.map +0 -1
  343. package/dist/esm/variables/adhoc/patchGetAdhocFilters.js.map +0 -1
  344. package/dist/esm/variables/components/VariableValueControl.js.map +0 -1
  345. package/dist/esm/variables/components/VariableValueInput.js.map +0 -1
  346. package/dist/esm/variables/components/VariableValueSelect.js.map +0 -1
  347. package/dist/esm/variables/components/VariableValueSelectors.js.map +0 -1
  348. package/dist/esm/variables/components/getOptionSearcher.js.map +0 -1
  349. package/dist/esm/variables/constants.js.map +0 -1
  350. package/dist/esm/variables/filter.js.map +0 -1
  351. package/dist/esm/variables/getEnrichedFiltersRequest.js.map +0 -1
  352. package/dist/esm/variables/groupby/DefaultGroupByCustomIndicatorContainer.js.map +0 -1
  353. package/dist/esm/variables/groupby/GroupByValueContainer.js.map +0 -1
  354. package/dist/esm/variables/groupby/GroupByVariable.js.map +0 -1
  355. package/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js.map +0 -1
  356. package/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js.map +0 -1
  357. package/dist/esm/variables/interpolation/ScopedVarsVariable.js.map +0 -1
  358. package/dist/esm/variables/interpolation/defaults.js.map +0 -1
  359. package/dist/esm/variables/interpolation/fieldAccessorCache.js.map +0 -1
  360. package/dist/esm/variables/interpolation/formatRegistry.js.map +0 -1
  361. package/dist/esm/variables/interpolation/sceneInterpolator.js.map +0 -1
  362. package/dist/esm/variables/lookupVariable.js.map +0 -1
  363. package/dist/esm/variables/macros/AllVariablesMacro.js.map +0 -1
  364. package/dist/esm/variables/macros/contextMacros.js.map +0 -1
  365. package/dist/esm/variables/macros/dataMacros.js.map +0 -1
  366. package/dist/esm/variables/macros/index.js.map +0 -1
  367. package/dist/esm/variables/macros/templateProxies.js.map +0 -1
  368. package/dist/esm/variables/macros/timeMacros.js.map +0 -1
  369. package/dist/esm/variables/macros/types.js.map +0 -1
  370. package/dist/esm/variables/macros/urlMacros.js.map +0 -1
  371. package/dist/esm/variables/sets/SceneVariableSet.js.map +0 -1
  372. package/dist/esm/variables/types.js.map +0 -1
  373. package/dist/esm/variables/utils.js.map +0 -1
  374. package/dist/esm/variables/variants/ConstantVariable.js.map +0 -1
  375. package/dist/esm/variables/variants/CustomVariable.js.map +0 -1
  376. package/dist/esm/variables/variants/DataSourceVariable.js.map +0 -1
  377. package/dist/esm/variables/variants/IntervalVariable.js.map +0 -1
  378. package/dist/esm/variables/variants/LocalValueVariable.js.map +0 -1
  379. package/dist/esm/variables/variants/MultiValueVariable.js.map +0 -1
  380. package/dist/esm/variables/variants/ScopesVariable.js.map +0 -1
  381. package/dist/esm/variables/variants/SwitchVariable.js.map +0 -1
  382. package/dist/esm/variables/variants/TestVariable.js.map +0 -1
  383. package/dist/esm/variables/variants/TextBoxVariable.js.map +0 -1
  384. package/dist/esm/variables/variants/guards.js.map +0 -1
  385. package/dist/esm/variables/variants/query/QueryVariable.js.map +0 -1
  386. package/dist/esm/variables/variants/query/createQueryVariableRunner.js.map +0 -1
  387. package/dist/esm/variables/variants/query/guards.js.map +0 -1
  388. package/dist/esm/variables/variants/query/toMetricFindValues.js.map +0 -1
  389. package/dist/esm/variables/variants/query/utils.js.map +0 -1
  390. /package/dist/esm/{behaviors → packages/scenes/src/behaviors}/ActWhenVariableChanged.js +0 -0
  391. /package/dist/esm/{behaviors → packages/scenes/src/behaviors}/CursorSync.js +0 -0
  392. /package/dist/esm/{behaviors → packages/scenes/src/behaviors}/LiveNowTimer.js +0 -0
  393. /package/dist/esm/{behaviors → packages/scenes/src/behaviors}/SceneInteractionTracker.js +0 -0
  394. /package/dist/esm/{behaviors → packages/scenes/src/behaviors}/SceneQueryController.js +0 -0
  395. /package/dist/esm/{behaviors → packages/scenes/src/behaviors}/index.js +0 -0
  396. /package/dist/esm/{behaviors → packages/scenes/src/behaviors}/index.js.map +0 -0
  397. /package/dist/esm/{components → packages/scenes/src/components}/EmbeddedScene.js +0 -0
  398. /package/dist/esm/{components → packages/scenes/src/components}/NestedScene.js +0 -0
  399. /package/dist/esm/{components → packages/scenes/src/components}/SceneApp/SceneApp.js +0 -0
  400. /package/dist/esm/{components → packages/scenes/src/components}/SceneApp/SceneAppPage.js +0 -0
  401. /package/dist/esm/{components → packages/scenes/src/components}/SceneApp/SceneAppPageView.js +0 -0
  402. /package/dist/esm/{components → packages/scenes/src/components}/SceneApp/utils.js +0 -0
  403. /package/dist/esm/{components → packages/scenes/src/components}/SceneByFrameRepeater.js +0 -0
  404. /package/dist/esm/{components → packages/scenes/src/components}/SceneByVariableRepeater.js +0 -0
  405. /package/dist/esm/{components → packages/scenes/src/components}/SceneCanvasText.js +0 -0
  406. /package/dist/esm/{components → packages/scenes/src/components}/SceneControlsSpacer.js +0 -0
  407. /package/dist/esm/{components → packages/scenes/src/components}/SceneDebugger/DebugDetails.js +0 -0
  408. /package/dist/esm/{components → packages/scenes/src/components}/SceneDebugger/DebugTreeNode.js +0 -0
  409. /package/dist/esm/{components → packages/scenes/src/components}/SceneDebugger/SceneDebugger.js +0 -0
  410. /package/dist/esm/{components → packages/scenes/src/components}/SceneReactObject.js +0 -0
  411. /package/dist/esm/{components → packages/scenes/src/components}/SceneRefreshPicker.js +0 -0
  412. /package/dist/esm/{components → packages/scenes/src/components}/SceneTimePicker.js +0 -0
  413. /package/dist/esm/{components → packages/scenes/src/components}/SceneTimeRangeCompare.js +0 -0
  414. /package/dist/esm/{components → packages/scenes/src/components}/SceneToolbarButton.js +0 -0
  415. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/VizPanel.js +0 -0
  416. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/VizPanelExploreButton.js +0 -0
  417. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/VizPanelMenu.js +0 -0
  418. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/VizPanelRenderer.js +0 -0
  419. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/VizPanelSeriesLimit.js +0 -0
  420. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/colorSeriesConfigFactory.js +0 -0
  421. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/registerRuntimePanelPlugin.js +0 -0
  422. /package/dist/esm/{components → packages/scenes/src/components}/VizPanel/seriesVisibilityConfigFactory.js +0 -0
  423. /package/dist/esm/{components → packages/scenes/src/components}/layout/CSSGrid/SceneCSSGridLayout.js +0 -0
  424. /package/dist/esm/{components → packages/scenes/src/components}/layout/LazyLoader.js +0 -0
  425. /package/dist/esm/{components → packages/scenes/src/components}/layout/SceneFlexLayout.js +0 -0
  426. /package/dist/esm/{components → packages/scenes/src/components}/layout/grid/SceneGridItem.js +0 -0
  427. /package/dist/esm/{components → packages/scenes/src/components}/layout/grid/SceneGridLayout.js +0 -0
  428. /package/dist/esm/{components → packages/scenes/src/components}/layout/grid/SceneGridLayoutRenderer.js +0 -0
  429. /package/dist/esm/{components → packages/scenes/src/components}/layout/grid/SceneGridRow.js +0 -0
  430. /package/dist/esm/{components → packages/scenes/src/components}/layout/grid/constants.js +0 -0
  431. /package/dist/esm/{components → packages/scenes/src/components}/layout/grid/types.js +0 -0
  432. /package/dist/esm/{components → packages/scenes/src/components}/layout/grid/utils.js +0 -0
  433. /package/dist/esm/{components → packages/scenes/src/components}/layout/split/SplitLayout.js +0 -0
  434. /package/dist/esm/{components → packages/scenes/src/components}/layout/split/SplitLayoutRenderer.js +0 -0
  435. /package/dist/esm/{components → packages/scenes/src/components}/layout/split/Splitter.js +0 -0
  436. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/FieldConfigBuilder.js +0 -0
  437. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/FieldConfigBuilders.js +0 -0
  438. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/FieldConfigOverridesBuilder.js +0 -0
  439. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/PanelOptionsBuilder.js +0 -0
  440. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/PanelOptionsBuilders.js +0 -0
  441. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/StandardFieldConfigBuilders.js +0 -0
  442. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/VizConfigBuilder.js +0 -0
  443. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/VizConfigBuilders.js +0 -0
  444. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/VizPanelBuilder.js +0 -0
  445. /package/dist/esm/{core → packages/scenes/src/core}/PanelBuilders/index.js +0 -0
  446. /package/dist/esm/{core → packages/scenes/src/core}/SceneComponentWrapper.js +0 -0
  447. /package/dist/esm/{core → packages/scenes/src/core}/SceneDataNode.js +0 -0
  448. /package/dist/esm/{core → packages/scenes/src/core}/SceneObjectBase.js +0 -0
  449. /package/dist/esm/{core → packages/scenes/src/core}/SceneObjectRef.js +0 -0
  450. /package/dist/esm/{core → packages/scenes/src/core}/SceneTimeRange.js +0 -0
  451. /package/dist/esm/{core → packages/scenes/src/core}/SceneTimeRangeTransformerBase.js +0 -0
  452. /package/dist/esm/{core → packages/scenes/src/core}/SceneTimeZoneOverride.js +0 -0
  453. /package/dist/esm/{core → packages/scenes/src/core}/events.js +0 -0
  454. /package/dist/esm/{core → packages/scenes/src/core}/sceneGraph/cloneSceneObject.js +0 -0
  455. /package/dist/esm/{core → packages/scenes/src/core}/sceneGraph/getInteractionTracker.js +0 -0
  456. /package/dist/esm/{core → packages/scenes/src/core}/sceneGraph/getQueryController.js +0 -0
  457. /package/dist/esm/{core → packages/scenes/src/core}/sceneGraph/getTimeRange.js +0 -0
  458. /package/dist/esm/{core → packages/scenes/src/core}/sceneGraph/index.js +0 -0
  459. /package/dist/esm/{core → packages/scenes/src/core}/sceneGraph/sceneGraph.js +0 -0
  460. /package/dist/esm/{core → packages/scenes/src/core}/sceneGraph/utils.js +0 -0
  461. /package/dist/esm/{core → packages/scenes/src/core}/types.js +0 -0
  462. /package/dist/esm/{index.js → packages/scenes/src/index.js} +0 -0
  463. /package/dist/esm/{locales → packages/scenes/src/locales}/cs-CZ/grafana-scenes.json.js +0 -0
  464. /package/dist/esm/{locales → packages/scenes/src/locales}/cs-CZ/grafana-scenes.json.js.map +0 -0
  465. /package/dist/esm/{locales → packages/scenes/src/locales}/de-DE/grafana-scenes.json.js +0 -0
  466. /package/dist/esm/{locales → packages/scenes/src/locales}/de-DE/grafana-scenes.json.js.map +0 -0
  467. /package/dist/esm/{locales → packages/scenes/src/locales}/en-US/grafana-scenes.json.js +0 -0
  468. /package/dist/esm/{locales → packages/scenes/src/locales}/en-US/grafana-scenes.json.js.map +0 -0
  469. /package/dist/esm/{locales → packages/scenes/src/locales}/es-ES/grafana-scenes.json.js +0 -0
  470. /package/dist/esm/{locales → packages/scenes/src/locales}/es-ES/grafana-scenes.json.js.map +0 -0
  471. /package/dist/esm/{locales → packages/scenes/src/locales}/fr-FR/grafana-scenes.json.js +0 -0
  472. /package/dist/esm/{locales → packages/scenes/src/locales}/fr-FR/grafana-scenes.json.js.map +0 -0
  473. /package/dist/esm/{locales → packages/scenes/src/locales}/hu-HU/grafana-scenes.json.js +0 -0
  474. /package/dist/esm/{locales → packages/scenes/src/locales}/hu-HU/grafana-scenes.json.js.map +0 -0
  475. /package/dist/esm/{locales → packages/scenes/src/locales}/id-ID/grafana-scenes.json.js +0 -0
  476. /package/dist/esm/{locales → packages/scenes/src/locales}/id-ID/grafana-scenes.json.js.map +0 -0
  477. /package/dist/esm/{locales → packages/scenes/src/locales}/it-IT/grafana-scenes.json.js +0 -0
  478. /package/dist/esm/{locales → packages/scenes/src/locales}/it-IT/grafana-scenes.json.js.map +0 -0
  479. /package/dist/esm/{locales → packages/scenes/src/locales}/ja-JP/grafana-scenes.json.js +0 -0
  480. /package/dist/esm/{locales → packages/scenes/src/locales}/ja-JP/grafana-scenes.json.js.map +0 -0
  481. /package/dist/esm/{locales → packages/scenes/src/locales}/ko-KR/grafana-scenes.json.js +0 -0
  482. /package/dist/esm/{locales → packages/scenes/src/locales}/ko-KR/grafana-scenes.json.js.map +0 -0
  483. /package/dist/esm/{locales → packages/scenes/src/locales}/nl-NL/grafana-scenes.json.js +0 -0
  484. /package/dist/esm/{locales → packages/scenes/src/locales}/nl-NL/grafana-scenes.json.js.map +0 -0
  485. /package/dist/esm/{locales → packages/scenes/src/locales}/pl-PL/grafana-scenes.json.js +0 -0
  486. /package/dist/esm/{locales → packages/scenes/src/locales}/pl-PL/grafana-scenes.json.js.map +0 -0
  487. /package/dist/esm/{locales → packages/scenes/src/locales}/pt-BR/grafana-scenes.json.js +0 -0
  488. /package/dist/esm/{locales → packages/scenes/src/locales}/pt-BR/grafana-scenes.json.js.map +0 -0
  489. /package/dist/esm/{locales → packages/scenes/src/locales}/pt-PT/grafana-scenes.json.js +0 -0
  490. /package/dist/esm/{locales → packages/scenes/src/locales}/pt-PT/grafana-scenes.json.js.map +0 -0
  491. /package/dist/esm/{locales → packages/scenes/src/locales}/ru-RU/grafana-scenes.json.js +0 -0
  492. /package/dist/esm/{locales → packages/scenes/src/locales}/ru-RU/grafana-scenes.json.js.map +0 -0
  493. /package/dist/esm/{locales → packages/scenes/src/locales}/sv-SE/grafana-scenes.json.js +0 -0
  494. /package/dist/esm/{locales → packages/scenes/src/locales}/sv-SE/grafana-scenes.json.js.map +0 -0
  495. /package/dist/esm/{locales → packages/scenes/src/locales}/tr-TR/grafana-scenes.json.js +0 -0
  496. /package/dist/esm/{locales → packages/scenes/src/locales}/tr-TR/grafana-scenes.json.js.map +0 -0
  497. /package/dist/esm/{locales → packages/scenes/src/locales}/zh-Hans/grafana-scenes.json.js +0 -0
  498. /package/dist/esm/{locales → packages/scenes/src/locales}/zh-Hans/grafana-scenes.json.js.map +0 -0
  499. /package/dist/esm/{locales → packages/scenes/src/locales}/zh-Hant/grafana-scenes.json.js +0 -0
  500. /package/dist/esm/{locales → packages/scenes/src/locales}/zh-Hant/grafana-scenes.json.js.map +0 -0
  501. /package/dist/esm/{performance → packages/scenes/src/performance}/LongFrameDetector.js +0 -0
  502. /package/dist/esm/{performance → packages/scenes/src/performance}/PanelProfilingManager.js +0 -0
  503. /package/dist/esm/{performance → packages/scenes/src/performance}/ScenePerformanceTracker.js +0 -0
  504. /package/dist/esm/{performance → packages/scenes/src/performance}/SceneRenderProfiler.js +0 -0
  505. /package/dist/esm/{performance → packages/scenes/src/performance}/VizPanelRenderProfiler.js +0 -0
  506. /package/dist/esm/{performance → packages/scenes/src/performance}/index.js +0 -0
  507. /package/dist/esm/{performance → packages/scenes/src/performance}/index.js.map +0 -0
  508. /package/dist/esm/{performance → packages/scenes/src/performance}/interactionConstants.js +0 -0
  509. /package/dist/esm/{querying → packages/scenes/src/querying}/DataLayersMerger.js +0 -0
  510. /package/dist/esm/{querying → packages/scenes/src/querying}/DataProviderProxy.js +0 -0
  511. /package/dist/esm/{querying → packages/scenes/src/querying}/ExtraQueryProvider.js +0 -0
  512. /package/dist/esm/{querying → packages/scenes/src/querying}/RuntimeDataSource.js +0 -0
  513. /package/dist/esm/{querying → packages/scenes/src/querying}/SceneDataLayerSet.js +0 -0
  514. /package/dist/esm/{querying → packages/scenes/src/querying}/SceneDataTransformer.js +0 -0
  515. /package/dist/esm/{querying → packages/scenes/src/querying}/SceneQueryRunner.js +0 -0
  516. /package/dist/esm/{querying → packages/scenes/src/querying}/extraQueryProcessingOperator.js +0 -0
  517. /package/dist/esm/{querying → packages/scenes/src/querying}/getEnrichedDataRequest.js +0 -0
  518. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/SceneDataLayerBase.js +0 -0
  519. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/SceneDataLayerControls.js +0 -0
  520. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/annotations/AnnotationsDataLayer.js +0 -0
  521. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/annotations/filterAnnotations.js +0 -0
  522. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/annotations/standardAnnotationQuery.js +0 -0
  523. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/annotations/standardAnnotationsSupport.js +0 -0
  524. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/annotations/utils.js +0 -0
  525. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/index.js +0 -0
  526. /package/dist/esm/{querying → packages/scenes/src/querying}/layers/index.js.map +0 -0
  527. /package/dist/esm/{querying → packages/scenes/src/querying}/registerQueryWithController.js +0 -0
  528. /package/dist/esm/{services → packages/scenes/src/services}/SceneObjectUrlSyncConfig.js +0 -0
  529. /package/dist/esm/{services → packages/scenes/src/services}/UniqueUrlKeyMapper.js +0 -0
  530. /package/dist/esm/{services → packages/scenes/src/services}/UrlSyncContextProvider.js +0 -0
  531. /package/dist/esm/{services → packages/scenes/src/services}/UrlSyncManager.js +0 -0
  532. /package/dist/esm/{services → packages/scenes/src/services}/useUrlSync.js +0 -0
  533. /package/dist/esm/{services → packages/scenes/src/services}/utils.js +0 -0
  534. /package/dist/esm/{utils → packages/scenes/src/utils}/ControlsLabel.js +0 -0
  535. /package/dist/esm/{utils → packages/scenes/src/utils}/LoadingIndicator.js +0 -0
  536. /package/dist/esm/{utils → packages/scenes/src/utils}/SafeSerializableSceneObject.js +0 -0
  537. /package/dist/esm/{utils → packages/scenes/src/utils}/compatibility/setWindowGrafanaSceneContext.js +0 -0
  538. /package/dist/esm/{utils → packages/scenes/src/utils}/date.js +0 -0
  539. /package/dist/esm/{utils → packages/scenes/src/utils}/evaluateTimeRange.js +0 -0
  540. /package/dist/esm/{utils → packages/scenes/src/utils}/explore.js +0 -0
  541. /package/dist/esm/{utils → packages/scenes/src/utils}/findPanelProfiler.js +0 -0
  542. /package/dist/esm/{utils → packages/scenes/src/utils}/getCompareSeriesRefId.js +0 -0
  543. /package/dist/esm/{utils → packages/scenes/src/utils}/getDataSource.js +0 -0
  544. /package/dist/esm/{utils → packages/scenes/src/utils}/getMessageFromError.js +0 -0
  545. /package/dist/esm/{utils → packages/scenes/src/utils}/loadResources.js +0 -0
  546. /package/dist/esm/{utils → packages/scenes/src/utils}/metricTree.js +0 -0
  547. /package/dist/esm/{utils → packages/scenes/src/utils}/parseUrlParam.js +0 -0
  548. /package/dist/esm/{utils → packages/scenes/src/utils}/pathId.js +0 -0
  549. /package/dist/esm/{utils → packages/scenes/src/utils}/utils.js +0 -0
  550. /package/dist/esm/{utils → packages/scenes/src/utils}/wrapInSafeSerializableSceneObject.js +0 -0
  551. /package/dist/esm/{utils → packages/scenes/src/utils}/writePerformanceLog.js +0 -0
  552. /package/dist/esm/{utils → packages/scenes/src/utils}/writeSceneLog.js +0 -0
  553. /package/dist/esm/{variables → packages/scenes/src/variables}/DrilldownDependenciesManager.js +0 -0
  554. /package/dist/esm/{variables → packages/scenes/src/variables}/VariableDependencyConfig.js +0 -0
  555. /package/dist/esm/{variables → packages/scenes/src/variables}/VariableValueRecorder.js +0 -0
  556. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFilterBuilder.js +0 -0
  557. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFilterRenderer.js +0 -0
  558. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -0
  559. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -0
  560. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -0
  561. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -0
  562. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -0
  563. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -0
  564. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -0
  565. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersCombobox/utils.js +0 -0
  566. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersVariable.js +0 -0
  567. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -0
  568. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/controller/AdHocFiltersVariableController.js +0 -0
  569. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/getAdHocFiltersFromScopes.js +0 -0
  570. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/getAdhocOptionSearcher.js +0 -0
  571. /package/dist/esm/{variables → packages/scenes/src/variables}/adhoc/patchGetAdhocFilters.js +0 -0
  572. /package/dist/esm/{variables → packages/scenes/src/variables}/components/VariableValueControl.js +0 -0
  573. /package/dist/esm/{variables → packages/scenes/src/variables}/components/VariableValueInput.js +0 -0
  574. /package/dist/esm/{variables → packages/scenes/src/variables}/components/VariableValueSelect.js +0 -0
  575. /package/dist/esm/{variables → packages/scenes/src/variables}/components/VariableValueSelectors.js +0 -0
  576. /package/dist/esm/{variables → packages/scenes/src/variables}/components/getOptionSearcher.js +0 -0
  577. /package/dist/esm/{variables → packages/scenes/src/variables}/constants.js +0 -0
  578. /package/dist/esm/{variables → packages/scenes/src/variables}/filter.js +0 -0
  579. /package/dist/esm/{variables → packages/scenes/src/variables}/getEnrichedFiltersRequest.js +0 -0
  580. /package/dist/esm/{variables → packages/scenes/src/variables}/groupby/DefaultGroupByCustomIndicatorContainer.js +0 -0
  581. /package/dist/esm/{variables → packages/scenes/src/variables}/groupby/GroupByValueContainer.js +0 -0
  582. /package/dist/esm/{variables → packages/scenes/src/variables}/groupby/GroupByVariableUrlSyncHandler.js +0 -0
  583. /package/dist/esm/{variables → packages/scenes/src/variables}/groupby/findActiveGroupByVariablesByUid.js +0 -0
  584. /package/dist/esm/{variables → packages/scenes/src/variables}/interpolation/ScopedVarsVariable.js +0 -0
  585. /package/dist/esm/{variables → packages/scenes/src/variables}/interpolation/defaults.js +0 -0
  586. /package/dist/esm/{variables → packages/scenes/src/variables}/interpolation/fieldAccessorCache.js +0 -0
  587. /package/dist/esm/{variables → packages/scenes/src/variables}/interpolation/formatRegistry.js +0 -0
  588. /package/dist/esm/{variables → packages/scenes/src/variables}/interpolation/sceneInterpolator.js +0 -0
  589. /package/dist/esm/{variables → packages/scenes/src/variables}/lookupVariable.js +0 -0
  590. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/AllVariablesMacro.js +0 -0
  591. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/contextMacros.js +0 -0
  592. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/dataMacros.js +0 -0
  593. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/index.js +0 -0
  594. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/templateProxies.js +0 -0
  595. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/timeMacros.js +0 -0
  596. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/types.js +0 -0
  597. /package/dist/esm/{variables → packages/scenes/src/variables}/macros/urlMacros.js +0 -0
  598. /package/dist/esm/{variables → packages/scenes/src/variables}/sets/SceneVariableSet.js +0 -0
  599. /package/dist/esm/{variables → packages/scenes/src/variables}/types.js +0 -0
  600. /package/dist/esm/{variables → packages/scenes/src/variables}/utils.js +0 -0
  601. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/ConstantVariable.js +0 -0
  602. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/CustomVariable.js +0 -0
  603. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/DataSourceVariable.js +0 -0
  604. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/IntervalVariable.js +0 -0
  605. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/LocalValueVariable.js +0 -0
  606. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/MultiValueVariable.js +0 -0
  607. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/ScopesVariable.js +0 -0
  608. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/SwitchVariable.js +0 -0
  609. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/TestVariable.js +0 -0
  610. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/TextBoxVariable.js +0 -0
  611. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/guards.js +0 -0
  612. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/query/QueryVariable.js +0 -0
  613. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/query/createQueryVariableRunner.js +0 -0
  614. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/query/guards.js +0 -0
  615. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/query/toMetricFindValues.js +0 -0
  616. /package/dist/esm/{variables → packages/scenes/src/variables}/variants/query/utils.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"VizPanelSeriesLimit.js","sources":["../../../../src/components/VizPanel/VizPanelSeriesLimit.tsx"],"sourcesContent":["import { t } from '@grafana/i18n';\nimport { css } from '@emotion/css';\nimport { GrafanaTheme2, PanelData } from '@grafana/data';\nimport { Button, Icon, Tooltip, useStyles2 } from '@grafana/ui';\nimport React from 'react';\n\nexport interface Props {\n showAll?: boolean;\n seriesLimit: number;\n data?: PanelData;\n onShowAllSeries: () => void;\n}\n\nexport function VizPanelSeriesLimit({ data, showAll, seriesLimit, onShowAllSeries }: Props) {\n const styles = useStyles2(getStyles);\n const seriesCount = data?.series.length;\n\n if (seriesCount === undefined || seriesCount < seriesLimit) {\n return null;\n }\n\n const buttonText = showAll ? 'Restore limit' : `Show all ${seriesCount}`;\n\n return (\n <div className={styles.timeSeriesDisclaimer}>\n {!showAll && (\n <span className={styles.warningMessage}>\n <Icon\n title={t(\n 'grafana-scenes.components.viz-panel-series-limit.warning-message',\n `Showing only {{seriesLimit}} series`,\n {\n seriesLimit,\n }\n )}\n name=\"exclamation-triangle\"\n aria-hidden=\"true\"\n />\n </span>\n )}\n <Tooltip\n content={t(\n 'grafana-scenes.components.viz-panel-series-limit.content-rendering-series-single-panel-impact-performance',\n 'Rendering too many series in a single panel may impact performance and make data harder to read.'\n )}\n >\n <Button variant=\"secondary\" size=\"sm\" onClick={onShowAllSeries}>\n {buttonText}\n </Button>\n </Tooltip>\n </div>\n );\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n timeSeriesDisclaimer: css({\n label: 'time-series-disclaimer',\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n }),\n warningMessage: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n color: theme.colors.warning.main,\n fontSize: theme.typography.bodySmall.fontSize,\n }),\n});\n"],"names":[],"mappings":";;;;;AAaO,SAAS,oBAAoB,EAAE,IAAA,EAAM,OAAS,EAAA,WAAA,EAAa,iBAA0B,EAAA;AAC1F,EAAM,MAAA,MAAA,GAAS,WAAW,SAAS,CAAA;AACnC,EAAM,MAAA,WAAA,GAAc,6BAAM,MAAO,CAAA,MAAA;AAEjC,EAAI,IAAA,WAAA,KAAgB,MAAa,IAAA,WAAA,GAAc,WAAa,EAAA;AAC1D,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,MAAM,UAAa,GAAA,OAAA,GAAU,eAAkB,GAAA,CAAA,SAAA,EAAY,WAAW,CAAA,CAAA;AAEtE,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,oBAAA,EAAA,EACpB,CAAC,OAAA,oBACC,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAW,EAAA,MAAA,CAAO,cACtB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA,CAAA;AAAA,QACL,kEAAA;AAAA,QACA,CAAA,mCAAA,CAAA;AAAA,QACA;AAAA,UACE;AAAA;AACF,OACF;AAAA,MACA,IAAK,EAAA,sBAAA;AAAA,MACL,aAAY,EAAA;AAAA;AAAA,GAEhB,CAEF,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,OAAS,EAAA,CAAA;AAAA,QACP,2GAAA;AAAA,QACA;AAAA;AACF,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA,CAAC,UAAO,OAAQ,EAAA,WAAA,EAAY,MAAK,IAAK,EAAA,OAAA,EAAS,mBAC5C,UACH;AAAA,GAEJ,CAAA;AAEJ;AAEA,MAAM,SAAA,GAAY,CAAC,KAA0B,MAAA;AAAA,EAC3C,sBAAsB,GAAI,CAAA;AAAA,IACxB,KAAO,EAAA,wBAAA;AAAA,IACP,OAAS,EAAA,MAAA;AAAA,IACT,UAAY,EAAA,QAAA;AAAA,IACZ,GAAA,EAAK,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA,GACrB,CAAA;AAAA,EACD,gBAAgB,GAAI,CAAA;AAAA,IAClB,OAAS,EAAA,MAAA;AAAA,IACT,UAAY,EAAA,QAAA;AAAA,IACZ,GAAA,EAAK,KAAM,CAAA,OAAA,CAAQ,GAAG,CAAA;AAAA,IACtB,KAAA,EAAO,KAAM,CAAA,MAAA,CAAO,OAAQ,CAAA,IAAA;AAAA,IAC5B,QAAA,EAAU,KAAM,CAAA,UAAA,CAAW,SAAU,CAAA;AAAA,GACtC;AACH,CAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"colorSeriesConfigFactory.js","sources":["../../../../src/components/VizPanel/colorSeriesConfigFactory.ts"],"sourcesContent":["import {\n ConfigOverrideRule,\n DynamicConfigValue,\n FieldColorModeId,\n FieldConfigSource,\n FieldMatcherID,\n} from '@grafana/data';\n\nexport const changeSeriesColorConfigFactory = (\n label: string,\n color: string,\n fieldConfig: FieldConfigSource\n): FieldConfigSource => {\n const { overrides } = fieldConfig;\n const currentIndex = fieldConfig.overrides.findIndex((override) => {\n return override.matcher.id === FieldMatcherID.byName && override.matcher.options === label;\n });\n\n if (currentIndex < 0) {\n return {\n ...fieldConfig,\n overrides: [...fieldConfig.overrides, createOverride(label, color)],\n };\n }\n\n const overridesCopy = Array.from(overrides);\n const existing = overridesCopy[currentIndex];\n const propertyIndex = existing.properties.findIndex((p) => p.id === 'color');\n\n if (propertyIndex < 0) {\n overridesCopy[currentIndex] = {\n ...existing,\n properties: [...existing.properties, createProperty(color)],\n };\n\n return {\n ...fieldConfig,\n overrides: overridesCopy,\n };\n }\n\n const propertiesCopy = Array.from(existing.properties);\n propertiesCopy[propertyIndex] = createProperty(color);\n\n overridesCopy[currentIndex] = {\n ...existing,\n properties: propertiesCopy,\n };\n\n return {\n ...fieldConfig,\n overrides: overridesCopy,\n };\n};\n\nconst createOverride = (label: string, color: string): ConfigOverrideRule => {\n return {\n matcher: {\n id: FieldMatcherID.byName,\n options: label,\n },\n properties: [createProperty(color)],\n };\n};\n\nconst createProperty = (color: string): DynamicConfigValue => {\n return {\n id: 'color',\n value: {\n mode: FieldColorModeId.Fixed,\n fixedColor: color,\n },\n };\n};\n"],"names":[],"mappings":";;AAQO,MAAM,8BAAiC,GAAA,CAC5C,KACA,EAAA,KAAA,EACA,WACsB,KAAA;AACtB,EAAM,MAAA,EAAE,WAAc,GAAA,WAAA;AACtB,EAAA,MAAM,YAAe,GAAA,WAAA,CAAY,SAAU,CAAA,SAAA,CAAU,CAAC,QAAa,KAAA;AACjE,IAAA,OAAO,SAAS,OAAQ,CAAA,EAAA,KAAO,eAAe,MAAU,IAAA,QAAA,CAAS,QAAQ,OAAY,KAAA,KAAA;AAAA,GACtF,CAAA;AAED,EAAA,IAAI,eAAe,CAAG,EAAA;AACpB,IAAO,OAAA;AAAA,MACL,GAAG,WAAA;AAAA,MACH,SAAA,EAAW,CAAC,GAAG,WAAA,CAAY,WAAW,cAAe,CAAA,KAAA,EAAO,KAAK,CAAC;AAAA,KACpE;AAAA;AAGF,EAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,IAAA,CAAK,SAAS,CAAA;AAC1C,EAAM,MAAA,QAAA,GAAW,cAAc,YAAY,CAAA;AAC3C,EAAM,MAAA,aAAA,GAAgB,SAAS,UAAW,CAAA,SAAA,CAAU,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,OAAO,CAAA;AAE3E,EAAA,IAAI,gBAAgB,CAAG,EAAA;AACrB,IAAA,aAAA,CAAc,YAAY,CAAI,GAAA;AAAA,MAC5B,GAAG,QAAA;AAAA,MACH,YAAY,CAAC,GAAG,SAAS,UAAY,EAAA,cAAA,CAAe,KAAK,CAAC;AAAA,KAC5D;AAEA,IAAO,OAAA;AAAA,MACL,GAAG,WAAA;AAAA,MACH,SAAW,EAAA;AAAA,KACb;AAAA;AAGF,EAAA,MAAM,cAAiB,GAAA,KAAA,CAAM,IAAK,CAAA,QAAA,CAAS,UAAU,CAAA;AACrD,EAAe,cAAA,CAAA,aAAa,CAAI,GAAA,cAAA,CAAe,KAAK,CAAA;AAEpD,EAAA,aAAA,CAAc,YAAY,CAAI,GAAA;AAAA,IAC5B,GAAG,QAAA;AAAA,IACH,UAAY,EAAA;AAAA,GACd;AAEA,EAAO,OAAA;AAAA,IACL,GAAG,WAAA;AAAA,IACH,SAAW,EAAA;AAAA,GACb;AACF;AAEA,MAAM,cAAA,GAAiB,CAAC,KAAA,EAAe,KAAsC,KAAA;AAC3E,EAAO,OAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAI,cAAe,CAAA,MAAA;AAAA,MACnB,OAAS,EAAA;AAAA,KACX;AAAA,IACA,UAAY,EAAA,CAAC,cAAe,CAAA,KAAK,CAAC;AAAA,GACpC;AACF,CAAA;AAEA,MAAM,cAAA,GAAiB,CAAC,KAAsC,KAAA;AAC5D,EAAO,OAAA;AAAA,IACL,EAAI,EAAA,OAAA;AAAA,IACJ,KAAO,EAAA;AAAA,MACL,MAAM,gBAAiB,CAAA,KAAA;AAAA,MACvB,UAAY,EAAA;AAAA;AACd,GACF;AACF,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerRuntimePanelPlugin.js","sources":["../../../../src/components/VizPanel/registerRuntimePanelPlugin.ts"],"sourcesContent":["import { PanelPlugin, PluginMetaInfo } from '@grafana/data';\nimport { getPluginImportUtils } from '@grafana/runtime';\n\nexport const runtimePanelPlugins = new Map<string, PanelPlugin>();\n\nexport interface RuntimePanelPluginOptions {\n /**\n * Please specify a pluginId that is unlikely to collide with other plugins.\n */\n pluginId: string;\n plugin: PanelPlugin;\n}\n\n/**\n * Provides a way to register runtime panel plugins.\n * Please use a pluginId that is unlikely to collide with other plugins.\n */\nexport function registerRuntimePanelPlugin({ pluginId, plugin }: RuntimePanelPluginOptions) {\n if (runtimePanelPlugins.has(pluginId)) {\n throw new Error(`A runtime panel plugin with id ${pluginId} has already been registered`);\n }\n\n plugin.meta = {\n ...plugin.meta,\n id: pluginId,\n name: pluginId,\n module: 'runtime plugin',\n baseUrl: 'runtime plugin',\n info: {\n author: {\n name: 'Runtime plugin ' + pluginId,\n },\n description: '',\n links: [],\n logos: {\n large: '',\n small: '',\n },\n screenshots: [],\n updated: '',\n version: '',\n } as PluginMetaInfo,\n };\n\n runtimePanelPlugins.set(pluginId, plugin);\n}\n\nexport function loadPanelPluginSync(pluginId: string) {\n const { getPanelPluginFromCache } = getPluginImportUtils();\n\n return getPanelPluginFromCache(pluginId) ?? runtimePanelPlugins.get(pluginId);\n}\n"],"names":[],"mappings":";;AAGa,MAAA,mBAAA,uBAA0B,GAAyB;AAczD,SAAS,0BAA2B,CAAA,EAAE,QAAU,EAAA,MAAA,EAAqC,EAAA;AAC1F,EAAI,IAAA,mBAAA,CAAoB,GAAI,CAAA,QAAQ,CAAG,EAAA;AACrC,IAAA,MAAM,IAAI,KAAA,CAAM,CAAkC,+BAAA,EAAA,QAAQ,CAA8B,4BAAA,CAAA,CAAA;AAAA;AAG1F,EAAA,MAAA,CAAO,IAAO,GAAA;AAAA,IACZ,GAAG,MAAO,CAAA,IAAA;AAAA,IACV,EAAI,EAAA,QAAA;AAAA,IACJ,IAAM,EAAA,QAAA;AAAA,IACN,MAAQ,EAAA,gBAAA;AAAA,IACR,OAAS,EAAA,gBAAA;AAAA,IACT,IAAM,EAAA;AAAA,MACJ,MAAQ,EAAA;AAAA,QACN,MAAM,iBAAoB,GAAA;AAAA,OAC5B;AAAA,MACA,WAAa,EAAA,EAAA;AAAA,MACb,OAAO,EAAC;AAAA,MACR,KAAO,EAAA;AAAA,QACL,KAAO,EAAA,EAAA;AAAA,QACP,KAAO,EAAA;AAAA,OACT;AAAA,MACA,aAAa,EAAC;AAAA,MACd,OAAS,EAAA,EAAA;AAAA,MACT,OAAS,EAAA;AAAA;AACX,GACF;AAEA,EAAoB,mBAAA,CAAA,GAAA,CAAI,UAAU,MAAM,CAAA;AAC1C;AAEO,SAAS,oBAAoB,QAAkB,EAAA;AA/CtD,EAAA,IAAA,EAAA;AAgDE,EAAM,MAAA,EAAE,uBAAwB,EAAA,GAAI,oBAAqB,EAAA;AAEzD,EAAA,OAAA,CAAO,6BAAwB,QAAQ,CAAA,KAAhC,IAAqC,GAAA,EAAA,GAAA,mBAAA,CAAoB,IAAI,QAAQ,CAAA;AAC9E;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"seriesVisibilityConfigFactory.js","sources":["../../../../src/components/VizPanel/seriesVisibilityConfigFactory.ts"],"sourcesContent":["import {\n ByNamesMatcherMode,\n ConfigOverrideRule,\n DataFrame,\n DynamicConfigValue,\n FieldConfigSource,\n FieldMatcherID,\n fieldMatchers,\n FieldType,\n getFieldDisplayName,\n isSystemOverrideWithRef,\n SystemConfigOverrideRule,\n} from '@grafana/data';\nimport { SeriesVisibilityChangeMode } from '@grafana/ui';\n\nconst displayOverrideRef = 'hideSeriesFrom';\nconst isHideSeriesOverride = isSystemOverrideWithRef(displayOverrideRef);\n\nexport function seriesVisibilityConfigFactory(\n label: string,\n mode: SeriesVisibilityChangeMode,\n fieldConfig: FieldConfigSource,\n data: DataFrame[]\n): FieldConfigSource {\n const { overrides } = fieldConfig;\n\n const displayName = label;\n const currentIndex = overrides.findIndex(isHideSeriesOverride);\n\n if (currentIndex < 0) {\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n const override = createOverride([displayName, ...getNamesOfHiddenFields(overrides, data)]);\n\n return {\n ...fieldConfig,\n overrides: [...fieldConfig.overrides, override],\n };\n }\n\n const displayNames = getDisplayNames(data, displayName);\n const override = createOverride(displayNames);\n\n return {\n ...fieldConfig,\n overrides: [...fieldConfig.overrides, override],\n };\n }\n\n const overridesCopy = Array.from(overrides);\n const [current] = overridesCopy.splice(currentIndex, 1) as SystemConfigOverrideRule[];\n\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n let existing = getExistingDisplayNames(current);\n const nameOfHiddenFields = getNamesOfHiddenFields(overridesCopy, data);\n\n if (nameOfHiddenFields.length > 0) {\n existing = existing.filter((el) => nameOfHiddenFields.indexOf(el) < 0);\n }\n\n if (existing[0] === displayName && existing.length === 1) {\n return {\n ...fieldConfig,\n overrides: overridesCopy,\n };\n }\n\n const override = createOverride([displayName, ...nameOfHiddenFields]);\n\n return {\n ...fieldConfig,\n overrides: [...overridesCopy, override],\n };\n }\n\n const override = createExtendedOverride(current, displayName);\n\n if (allFieldsAreExcluded(override, data)) {\n return {\n ...fieldConfig,\n overrides: overridesCopy,\n };\n }\n\n return {\n ...fieldConfig,\n overrides: [...overridesCopy, override],\n };\n}\n\nfunction createOverride(\n names: string[],\n mode = ByNamesMatcherMode.exclude,\n property?: DynamicConfigValue\n): SystemConfigOverrideRule {\n property = property ?? {\n id: 'custom.hideFrom',\n value: {\n viz: true,\n legend: false,\n tooltip: true,\n },\n };\n\n return {\n __systemRef: displayOverrideRef,\n matcher: {\n id: FieldMatcherID.byNames,\n options: {\n mode: mode,\n names: names,\n prefix: mode === ByNamesMatcherMode.exclude ? 'All except:' : undefined,\n readOnly: true,\n },\n },\n properties: [\n {\n ...property,\n value: {\n viz: true,\n legend: false,\n tooltip: true,\n },\n },\n ],\n };\n}\n\nconst createExtendedOverride = (\n current: SystemConfigOverrideRule,\n displayName: string,\n mode = ByNamesMatcherMode.exclude\n): SystemConfigOverrideRule => {\n const property = current.properties.find((p) => p.id === 'custom.hideFrom');\n const existing = getExistingDisplayNames(current);\n const index = existing.findIndex((name) => name === displayName);\n\n if (index < 0) {\n existing.push(displayName);\n } else {\n existing.splice(index, 1);\n }\n\n return createOverride(existing, mode, property);\n};\n\nconst getExistingDisplayNames = (rule: SystemConfigOverrideRule): string[] => {\n const names = rule.matcher.options?.names;\n if (!Array.isArray(names)) {\n return [];\n }\n return [...names];\n};\n\nconst allFieldsAreExcluded = (override: SystemConfigOverrideRule, data: DataFrame[]): boolean => {\n return getExistingDisplayNames(override).length === getDisplayNames(data).length;\n};\n\nconst getDisplayNames = (data: DataFrame[], excludeName?: string): string[] => {\n const unique = new Set<string>();\n\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n\n const name = getFieldDisplayName(field, frame, data);\n\n if (name === excludeName) {\n continue;\n }\n\n unique.add(name);\n }\n }\n\n return Array.from(unique);\n};\n\nconst getNamesOfHiddenFields = (overrides: ConfigOverrideRule[], data: DataFrame[]): string[] => {\n let names: string[] = [];\n\n for (const override of overrides) {\n const property = override.properties.find((p) => p.id === 'custom.hideFrom');\n\n if (property !== undefined && property.value?.legend === true) {\n const info = fieldMatchers.get(override.matcher.id);\n const matcher = info.get(override.matcher.options);\n\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n\n const name = getFieldDisplayName(field, frame, data);\n\n if (matcher(field, frame, data)) {\n names.push(name);\n }\n }\n }\n }\n }\n\n return names;\n};\n"],"names":["override"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneCSSGridLayout.js","sources":["../../../../../src/components/layout/CSSGrid/SceneCSSGridLayout.tsx"],"sourcesContent":["import { css, CSSObject } from '@emotion/css';\nimport React, { ComponentType, CSSProperties, useMemo } from 'react';\n\nimport { SceneObjectBase } from '../../../core/SceneObjectBase';\nimport { SceneComponentProps, SceneLayout, SceneObjectState, SceneObject } from '../../../core/types';\nimport { config } from '@grafana/runtime';\nimport { LazyLoader } from '../LazyLoader';\n\nexport interface SceneCSSGridLayoutState extends SceneObjectState, SceneCSSGridLayoutOptions {\n children: Array<SceneCSSGridItem | SceneObject>;\n /**\n * True when the item should rendered but not visible.\n * Useful for conditional display of layout items\n */\n isHidden?: boolean;\n /**\n * For media query for sceens smaller than md breakpoint\n */\n md?: SceneCSSGridLayoutOptions;\n /** True when the items should be lazy loaded */\n isLazy?: boolean;\n}\n\nexport interface SceneCSSGridLayoutOptions {\n /**\n * Useful for setting a height on items without specifying how many rows there will be.\n * Defaults to 320px\n */\n autoRows?: CSSProperties['gridAutoRows'];\n /**\n * This overrides the autoRows with a specific row template.\n */\n templateRows?: CSSProperties['gridTemplateRows'];\n /**\n * Defaults to repeat(auto-fit, minmax(400px, 1fr)). This pattern us useful for equally sized items with a min width of 400px\n * and dynamic max width split equally among columns.\n */\n templateColumns: CSSProperties['gridTemplateColumns'];\n /** In Grafana design system grid units (8px) */\n rowGap: number;\n /** In Grafana design system grid units (8px) */\n columnGap: number;\n justifyItems?: CSSProperties['justifyItems'];\n alignItems?: CSSProperties['alignItems'];\n justifyContent?: CSSProperties['justifyContent'];\n}\n\nexport class SceneCSSGridLayout extends SceneObjectBase<SceneCSSGridLayoutState> implements SceneLayout {\n public static Component = SceneCSSGridLayoutRenderer;\n\n public constructor(state: Partial<SceneCSSGridLayoutState>) {\n super({\n rowGap: 1,\n columnGap: 1,\n templateColumns: 'repeat(auto-fit, minmax(400px, 1fr))',\n autoRows: state.autoRows ?? `320px`,\n children: state.children ?? [],\n ...state,\n });\n }\n\n public isDraggable(): boolean {\n return false;\n }\n}\n\nfunction SceneCSSGridLayoutRenderer({ model }: SceneCSSGridItemRenderProps<SceneCSSGridLayout>) {\n const { children, isHidden, isLazy } = model.useState();\n const style = useLayoutStyle(model.state);\n\n if (isHidden) {\n return null;\n }\n\n return (\n <div className={style}>\n {children.map((item) => {\n const Component = item.Component as ComponentType<SceneCSSGridItemRenderProps<SceneObject>>;\n\n if (isLazy) {\n return (\n <LazyLoader key={item.state.key!} className={style}>\n <Component key={item.state.key} model={item} parentState={model.state} />\n </LazyLoader>\n );\n }\n return <Component key={item.state.key} model={item} parentState={model.state} />;\n })}\n </div>\n );\n}\n\nexport interface SceneCSSGridItemPlacement {\n /**\n * True when the item should rendered but not visible.\n * Useful for conditional display of layout items\n */\n isHidden?: boolean;\n /**\n * Useful for making content span across multiple rows or columns\n */\n gridColumn?: CSSProperties['gridColumn'];\n gridRow?: CSSProperties['gridRow'];\n}\n\nexport interface SceneCSSGridItemState extends SceneCSSGridItemPlacement, SceneObjectState {\n body: SceneObject | undefined;\n}\n\ninterface SceneCSSGridItemRenderProps<T> extends SceneComponentProps<T> {\n parentState?: SceneCSSGridItemPlacement;\n}\n\nexport class SceneCSSGridItem extends SceneObjectBase<SceneCSSGridItemState> {\n public static Component = SceneCSSGridItemRenderer;\n}\n\nfunction SceneCSSGridItemRenderer({ model, parentState }: SceneCSSGridItemRenderProps<SceneCSSGridItem>) {\n if (!parentState) {\n throw new Error('SceneCSSGridItem must be a child of SceneCSSGridLayout');\n }\n\n const { body, isHidden } = model.useState();\n const style = useItemStyle(model.state);\n\n if (!body || isHidden) {\n return null;\n }\n\n return (\n <div className={style}>\n <body.Component model={body} />\n </div>\n );\n}\n\nfunction useLayoutStyle(state: SceneCSSGridLayoutState) {\n return useMemo(() => {\n const {} = state;\n // only need breakpoints so accessing theme from config instead of context is ok\n const style: CSSObject = {};\n const theme = config.theme2;\n\n style.display = 'grid';\n style.gridTemplateColumns = state.templateColumns;\n style.gridTemplateRows = state.templateRows || 'unset';\n style.gridAutoRows = state.autoRows || 'unset';\n style.rowGap = theme.spacing(state.rowGap ?? 1);\n style.columnGap = theme.spacing(state.columnGap ?? 1);\n style.justifyItems = state.justifyItems || 'unset';\n style.alignItems = state.alignItems || 'unset';\n style.justifyContent = state.justifyContent || 'unset';\n style.flexGrow = 1;\n\n if (state.md) {\n style[theme.breakpoints.down('md')] = {\n gridTemplateRows: state.md?.templateRows,\n gridTemplateColumns: state.md?.templateColumns,\n rowGap: state.md.rowGap ? theme.spacing(state.md?.rowGap ?? 1) : undefined,\n columnGap: state.md.columnGap ? theme.spacing(state.md?.rowGap ?? 1) : undefined,\n justifyItems: state.md?.justifyItems,\n alignItems: state.md?.alignItems,\n justifyContent: state.md?.justifyContent,\n };\n }\n\n return css(style);\n }, [state]);\n}\n\nfunction useItemStyle(state: SceneCSSGridItemState) {\n return useMemo(() => {\n const style: CSSObject = {};\n\n style.gridColumn = state.gridColumn || 'unset';\n style.gridRow = state.gridRow || 'unset';\n // Needed for VizPanel\n style.position = 'relative';\n\n return css(style);\n }, [state]);\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LazyLoader.js","sources":["../../../../src/components/layout/LazyLoader.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, useImperativeHandle, useRef, useState } from 'react';\nimport { useEffectOnce } from 'react-use';\n\nimport { uniqueId } from 'lodash';\nimport { css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport { t } from '@grafana/i18n';\n\nexport function useUniqueId(): string {\n const idRefLazy = useRef<string | undefined>(undefined);\n idRefLazy.current ??= uniqueId();\n return idRefLazy.current;\n}\n\nexport interface Props extends Omit<React.HTMLProps<HTMLDivElement>, 'onChange' | 'children'> {\n children: React.ReactNode;\n key: string;\n onLoad?: () => void;\n onChange?: (isInView: boolean) => void;\n}\n\nexport interface LazyLoaderType extends ForwardRefExoticComponent<Props> {\n addCallback: (id: string, c: (e: IntersectionObserverEntry) => void) => void;\n callbacks: Record<string, (e: IntersectionObserverEntry) => void>;\n observer: IntersectionObserver;\n}\n\nexport const LazyLoader: LazyLoaderType = React.forwardRef<HTMLDivElement, Props>(\n ({ children, onLoad, onChange, className, ...rest }, ref) => {\n const id = useUniqueId();\n const { hideEmpty } = useStyles2(getStyles);\n const [loaded, setLoaded] = useState(false);\n const [isInView, setIsInView] = useState(false);\n const innerRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => innerRef.current!);\n\n useEffectOnce(() => {\n LazyLoader.addCallback(id, (entry) => {\n if (!loaded && entry.isIntersecting) {\n setLoaded(true);\n onLoad?.();\n }\n\n setIsInView(entry.isIntersecting);\n onChange?.(entry.isIntersecting);\n });\n\n const wrapperEl = innerRef.current;\n\n if (wrapperEl) {\n LazyLoader.observer.observe(wrapperEl);\n }\n\n return () => {\n wrapperEl && LazyLoader.observer.unobserve(wrapperEl);\n delete LazyLoader.callbacks[id];\n if (Object.keys(LazyLoader.callbacks).length === 0) {\n LazyLoader.observer.disconnect();\n }\n };\n });\n\n // since we will hide empty lazyloaded divs, we need to include a\n // non-breaking space while the loader has not been loaded. after it has\n // been loaded, we can remove the non-breaking space and show the children.\n // If the children render empty, the whole loader will be hidden by css.\n return (\n <div id={id} ref={innerRef} className={`${hideEmpty} ${className}`} {...rest}>\n {!loaded ? (\n t('grafana-scenes.components.lazy-loader.placeholder', '\\u00A0')\n ) : (\n <LazyLoaderInViewContext.Provider value={isInView}>{children}</LazyLoaderInViewContext.Provider>\n )}\n </div>\n );\n }\n) as LazyLoaderType;\n\nfunction getStyles() {\n return {\n hideEmpty: css({\n '&:empty': {\n display: 'none',\n },\n }),\n };\n}\n\nLazyLoader.displayName = 'LazyLoader';\nLazyLoader.callbacks = {} as Record<string, (e: IntersectionObserverEntry) => void>;\nLazyLoader.addCallback = (id: string, c: (e: IntersectionObserverEntry) => void) => (LazyLoader.callbacks[id] = c);\nLazyLoader.observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (typeof LazyLoader.callbacks[entry.target.id] === 'function') {\n LazyLoader.callbacks[entry.target.id](entry);\n }\n }\n },\n { rootMargin: '100px' }\n);\n\nexport const LazyLoaderInViewContext = React.createContext<boolean>(true);\n\nexport function useLazyLoaderIsInView(): boolean {\n return React.useContext(LazyLoaderInViewContext);\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneFlexLayout.js","sources":["../../../../src/components/layout/SceneFlexLayout.tsx"],"sourcesContent":["import { css, CSSObject } from '@emotion/css';\nimport { config } from '@grafana/runtime';\nimport React, { ComponentType, CSSProperties, useMemo } from 'react';\n\nimport { SceneObjectBase } from '../../core/SceneObjectBase';\nimport { SceneComponentProps, SceneLayout, SceneObjectState, SceneObject } from '../../core/types';\n\nexport interface SceneFlexItemStateLike extends SceneFlexItemPlacement, SceneObjectState {}\n\nexport interface SceneFlexItemLike extends SceneObject<SceneFlexItemStateLike> {}\n\ninterface SceneFlexLayoutState extends SceneObjectState, SceneFlexItemPlacement {\n children: SceneFlexItemLike[];\n}\n\nexport class SceneFlexLayout extends SceneObjectBase<SceneFlexLayoutState> implements SceneLayout {\n public static Component = SceneFlexLayoutRenderer;\n\n public toggleDirection() {\n this.setState({\n direction: this.state.direction === 'row' ? 'column' : 'row',\n });\n }\n\n public isDraggable(): boolean {\n return false;\n }\n}\n\nfunction SceneFlexLayoutRenderer({ model, parentState }: SceneFlexItemRenderProps<SceneFlexLayout>) {\n const { children, isHidden } = model.useState();\n const style = useLayoutStyle(model.state, parentState);\n\n if (isHidden) {\n return null;\n }\n\n return (\n <div className={style}>\n {children.map((item) => {\n const Component = item.Component as ComponentType<SceneFlexItemRenderProps<SceneObject>>;\n return <Component key={item.state.key} model={item} parentState={model.state} />;\n })}\n </div>\n );\n}\n\nexport interface SceneFlexItemPlacement {\n wrap?: CSSProperties['flexWrap'];\n direction?: CSSProperties['flexDirection'];\n width?: CSSProperties['width'];\n height?: CSSProperties['height'];\n minWidth?: CSSProperties['minWidth'];\n minHeight?: CSSProperties['minHeight'];\n maxWidth?: CSSProperties['maxWidth'];\n maxHeight?: CSSProperties['maxHeight'];\n xSizing?: 'fill' | 'content';\n ySizing?: 'fill' | 'content';\n /**\n * True when the item should rendered but not visible.\n * Useful for conditional display of layout items\n */\n isHidden?: boolean;\n\n /**\n * Set direction for smaller screens. This defaults to column.\n * This equals media query theme.breakpoints.down('md')\n */\n md?: SceneFlexItemPlacement;\n}\n\nexport interface SceneFlexItemState extends SceneFlexItemPlacement, SceneObjectState {\n body: SceneObject | undefined;\n}\n\ninterface SceneFlexItemRenderProps<T> extends SceneComponentProps<T> {\n parentState?: SceneFlexItemPlacement;\n}\n\nexport class SceneFlexItem extends SceneObjectBase<SceneFlexItemState> {\n public static Component = SceneFlexItemRenderer;\n}\n\nfunction SceneFlexItemRenderer({ model, parentState }: SceneFlexItemRenderProps<SceneFlexItem>) {\n if (!parentState) {\n throw new Error('SceneFlexItem must be a child of SceneFlexLayout');\n }\n\n const { body, isHidden } = model.useState();\n const style = useLayoutItemStyle(model.state, parentState);\n\n if (!body || isHidden) {\n return null;\n }\n\n return (\n <div className={style}>\n <body.Component model={body} />\n </div>\n );\n}\nfunction applyItemStyles(style: CSSObject, state: SceneFlexItemPlacement, parentState: SceneFlexItemPlacement) {\n const parentDirection = parentState.direction ?? 'row';\n const { xSizing = 'fill', ySizing = 'fill' } = state;\n\n style.display = 'flex';\n style.position = 'relative';\n style.flexDirection = parentDirection;\n\n if (parentDirection === 'column') {\n if (state.height) {\n style.height = state.height;\n } else {\n style.flexGrow = ySizing === 'fill' ? 1 : 0;\n }\n\n if (state.width) {\n style.width = state.width;\n } else {\n style.alignSelf = xSizing === 'fill' ? 'stretch' : 'flex-start';\n }\n } else {\n if (state.height) {\n style.height = state.height;\n } else {\n style.alignSelf = ySizing === 'fill' ? 'stretch' : 'flex-start';\n }\n\n if (state.width) {\n style.width = state.width;\n } else {\n style.flexGrow = xSizing === 'fill' ? 1 : 0;\n }\n\n if (state.wrap) {\n style.flexWrap = state.wrap;\n if (state.wrap !== 'nowrap') {\n if (parentDirection === 'row') {\n style.rowGap = '8px';\n } else {\n style.columnGap = '8px';\n }\n }\n }\n }\n\n style.minWidth = state.minWidth;\n style.maxWidth = state.maxWidth;\n style.maxHeight = state.maxHeight;\n\n // For responsive layouts to work we default use the minHeight or height of the parent\n style.minHeight = state.minHeight ?? parentState.minHeight;\n style.height = state.height ?? parentState.height;\n\n return style;\n}\n\nfunction useLayoutItemStyle(state: SceneFlexItemState, parentState: SceneFlexItemPlacement) {\n return useMemo(() => {\n const theme = config.theme2;\n const style = applyItemStyles({}, state, parentState);\n\n // Unset maxWidth for small screens by default\n style[theme.breakpoints.down('md')] = {\n maxWidth: state.md?.maxWidth ?? 'unset',\n maxHeight: state.md?.maxHeight ?? 'unset',\n height: state.md?.height ?? parentState.md?.height,\n width: state.md?.width ?? parentState.md?.width,\n };\n\n return css(style);\n }, [state, parentState]);\n}\n\nfunction useLayoutStyle(state: SceneFlexLayoutState, parentState?: SceneFlexItemPlacement) {\n return useMemo(() => {\n const { direction = 'row', wrap } = state;\n // only need breakpoints so accessing theme from config instead of context is ok\n const theme = config.theme2;\n\n const style: CSSObject = {};\n\n if (parentState) {\n applyItemStyles(style, state, parentState);\n } else {\n style.display = 'flex';\n style.flexGrow = 1;\n style.minWidth = state.minWidth;\n style.minHeight = state.minHeight;\n }\n\n style.flexDirection = direction;\n style.gap = '8px';\n style.flexWrap = wrap || 'nowrap';\n style.alignContent = 'baseline';\n style.minWidth = style.minWidth || 0;\n style.minHeight = style.minHeight || 0;\n\n style[theme.breakpoints.down('md')] = {\n flexDirection: state.md?.direction ?? 'column',\n maxWidth: state.md?.maxWidth ?? 'unset',\n maxHeight: state.md?.maxHeight ?? 'unset',\n height: state.md?.height ?? 'unset',\n width: state.md?.width ?? 'unset',\n };\n\n return css(style);\n }, [parentState, state]);\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneGridItem.js","sources":["../../../../../src/components/layout/grid/SceneGridItem.tsx"],"sourcesContent":["import React from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase';\nimport { SceneObject, SceneComponentProps } from '../../../core/types';\nimport { SceneGridLayout } from './SceneGridLayout';\nimport { SceneGridRow } from './SceneGridRow';\nimport { SceneGridItemStateLike, SceneGridItemLike } from './types';\n\ninterface SceneGridItemState extends SceneGridItemStateLike {\n body: SceneObject | undefined;\n}\nexport class SceneGridItem extends SceneObjectBase<SceneGridItemState> implements SceneGridItemLike {\n static Component = SceneGridItemRenderer;\n}\n\nfunction SceneGridItemRenderer({ model }: SceneComponentProps<SceneGridItem>) {\n const { body } = model.useState();\n const parent = model.parent;\n\n if (parent && !isSceneGridLayout(parent) && !isSceneGridRow(parent)) {\n throw new Error('SceneGridItem must be a child of SceneGridLayout or SceneGridRow');\n }\n\n if (!body) {\n return null;\n }\n\n return <body.Component model={body} />;\n}\n\nexport function isSceneGridRow(child: SceneObject): child is SceneGridRow {\n return child instanceof SceneGridRow;\n}\n\nfunction isSceneGridLayout(child: SceneObject): child is SceneGridLayout {\n return child instanceof SceneGridLayout;\n}\n"],"names":[],"mappings":";;;;;AAUO,MAAM,sBAAsB,eAAiE,CAAA;AAEpG;AAFa,aAAA,CACJ,SAAY,GAAA,qBAAA;AAGrB,SAAS,qBAAA,CAAsB,EAAE,KAAA,EAA6C,EAAA;AAC5E,EAAA,MAAM,EAAE,IAAA,EAAS,GAAA,KAAA,CAAM,QAAS,EAAA;AAChC,EAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AAErB,EAAI,IAAA,MAAA,IAAU,CAAC,iBAAkB,CAAA,MAAM,KAAK,CAAC,cAAA,CAAe,MAAM,CAAG,EAAA;AACnE,IAAM,MAAA,IAAI,MAAM,kEAAkE,CAAA;AAAA;AAGpF,EAAA,IAAI,CAAC,IAAM,EAAA;AACT,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,IAAA,CAAK,SAAL,EAAA,EAAe,OAAO,IAAM,EAAA,CAAA;AACtC;AAEO,SAAS,eAAe,KAA2C,EAAA;AACxE,EAAA,OAAO,KAAiB,YAAA,YAAA;AAC1B;AAEA,SAAS,kBAAkB,KAA8C,EAAA;AACvE,EAAA,OAAO,KAAiB,YAAA,eAAA;AAC1B;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneGridLayout.js","sources":["../../../../../src/components/layout/grid/SceneGridLayout.tsx"],"sourcesContent":["import { PointerEvent } from 'react';\nimport ReactGridLayout from 'react-grid-layout';\n\nimport { SceneObjectBase } from '../../../core/SceneObjectBase';\nimport { SceneLayout, SceneObjectState } from '../../../core/types';\nimport { DEFAULT_PANEL_SPAN } from './constants';\nimport { isSceneGridRow } from './SceneGridItem';\nimport { SceneGridLayoutRenderer } from './SceneGridLayoutRenderer';\n\nimport { SceneGridRow } from './SceneGridRow';\nimport { SceneGridItemLike, SceneGridItemPlacement, SceneGridLayoutDragStartEvent } from './types';\nimport { fitPanelsInHeight } from './utils';\nimport { VizPanel } from '../../VizPanel/VizPanel';\nimport { isRepeatCloneOrChildOf } from '../../../utils/utils';\n\ninterface SceneGridLayoutState extends SceneObjectState {\n /**\n * Turn on or off dragging for all items. Individual items can still disabled via isDraggable property\n **/\n isDraggable?: boolean;\n /** Enable or disable item resizing */\n isResizable?: boolean;\n isLazy?: boolean;\n /**\n * Fit panels to height of the grid. This will scale down the panels vertically to fit available height.\n * The row height is not changed, only the y position and height of the panels.\n * UNSAFE: This feature is experimental and it might change in the future.\n */\n UNSAFE_fitPanels?: boolean;\n children: SceneGridItemLike[];\n}\n\nexport class SceneGridLayout extends SceneObjectBase<SceneGridLayoutState> implements SceneLayout {\n public static Component = SceneGridLayoutRenderer;\n\n private _skipOnLayoutChange = false;\n private _oldLayout: ReactGridLayout.Layout[] = [];\n private _loadOldLayout = false;\n\n public constructor(state: SceneGridLayoutState) {\n super({\n ...state,\n children: sortChildrenByPosition(state.children),\n });\n }\n\n /**\n * SceneLayout interface. Used for example by VizPanelRenderer\n */\n public isDraggable(): boolean {\n return this.state.isDraggable ?? false;\n }\n\n public getDragClass() {\n return `grid-drag-handle-${this.state.key}`;\n }\n\n public getDragClassCancel() {\n return `grid-drag-cancel`;\n }\n\n public getDragHooks() {\n return {\n onDragStart: (evt: PointerEvent, panel: VizPanel) => {\n this.publishEvent(new SceneGridLayoutDragStartEvent({ evt, panel }), true);\n },\n };\n }\n\n public adjustYPositions(after: number, amount: number) {\n for (const child of this.state.children) {\n if (child.state.y! > after) {\n child.setState({ y: child.state.y! + amount });\n }\n if (child instanceof SceneGridRow) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.y! > after) {\n rowChild.setState({ y: rowChild.state.y! + amount });\n }\n }\n }\n }\n }\n\n public toggleRow(row: SceneGridRow) {\n const isCollapsed = row.state.isCollapsed;\n\n if (!isCollapsed) {\n row.setState({ isCollapsed: true });\n // To force re-render\n this.setState({});\n return;\n }\n\n const rowChildren = row.state.children;\n\n if (rowChildren.length === 0) {\n row.setState({ isCollapsed: false });\n this.setState({});\n return;\n }\n\n // Ok we are expanding row. We need to update row children y pos (incase they are incorrect) and push items below down\n // Code copied from DashboardModel toggleRow()\n\n const rowY = row.state.y!;\n const firstPanelYPos = rowChildren[0].state.y ?? rowY;\n const yDiff = firstPanelYPos - (rowY + 1);\n\n // y max will represent the bottom y pos after all panels have been added\n // needed to know home much panels below should be pushed down\n let yMax = rowY;\n\n for (const panel of rowChildren) {\n // set the y gridPos if it wasn't already set\n const newSize = { ...panel.state };\n newSize.y = newSize.y ?? rowY;\n // make sure y is adjusted (in case row moved while collapsed)\n newSize.y -= yDiff;\n\n if (newSize.y! !== panel.state.y!) {\n panel.setState(newSize);\n }\n\n // update insert post and y max\n yMax = Math.max(yMax, Number(newSize.y!) + Number(newSize.height!));\n }\n\n const pushDownAmount = yMax - rowY - 1;\n\n // push panels below down\n for (const child of this.state.children) {\n if (child.state.y! > rowY) {\n this.pushChildDown(child, pushDownAmount);\n }\n\n if (isSceneGridRow(child) && child !== row) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.y! > rowY) {\n this.pushChildDown(rowChild, pushDownAmount);\n }\n }\n }\n }\n\n row.setState({ isCollapsed: false });\n // Trigger re-render\n this.setState({});\n }\n\n public ignoreLayoutChange(shouldIgnore: boolean) {\n this._skipOnLayoutChange = shouldIgnore;\n }\n\n public onLayoutChange = (layout: ReactGridLayout.Layout[]) => {\n if (this._skipOnLayoutChange) {\n // Layout has been updated by other RTL handler already\n this._skipOnLayoutChange = false;\n return;\n }\n\n // We replace with the old layout only if the current state is invalid\n if (this._loadOldLayout) {\n layout = [...this._oldLayout];\n this._loadOldLayout = false;\n }\n\n for (const item of layout) {\n const child = this.getSceneLayoutChild(item.i);\n\n const nextSize: SceneGridItemPlacement = {\n x: item.x,\n y: item.y,\n width: item.w,\n height: item.h,\n };\n\n if (!isItemSizeEqual(child.state, nextSize)) {\n child.setState({\n ...nextSize,\n });\n }\n }\n\n this.setState({ children: sortChildrenByPosition(this.state.children) });\n };\n\n /**\n * Will also scan row children and return child of the row\n */\n public getSceneLayoutChild(key: string): SceneGridItemLike {\n for (const child of this.state.children) {\n if (child.state.key === key) {\n return child;\n }\n\n if (child instanceof SceneGridRow) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.key === key) {\n return rowChild;\n }\n }\n }\n }\n\n throw new Error('Scene layout child not found for GridItem');\n }\n\n public onResizeStop: ReactGridLayout.ItemCallback = (_, o, n) => {\n const child = this.getSceneLayoutChild(n.i);\n child.setState({\n width: n.w,\n height: n.h,\n });\n };\n\n private pushChildDown(child: SceneGridItemLike, amount: number) {\n child.setState({\n y: child.state.y! + amount,\n });\n }\n\n /**\n * We assume the layout array is sorted according to y pos, and walk upwards until we find a row.\n * If it is collapsed there is no row to add it to. The default is then to return the SceneGridLayout itself\n */\n private findGridItemSceneParent(layout: ReactGridLayout.Layout[], startAt: number): SceneGridRow | SceneGridLayout {\n for (let i = startAt; i >= 0; i--) {\n const gridItem = layout[i];\n const sceneChild = this.getSceneLayoutChild(gridItem.i);\n\n if (sceneChild instanceof SceneGridRow) {\n // the closest row is collapsed return null\n if (sceneChild.state.isCollapsed) {\n return this;\n }\n\n return sceneChild;\n }\n }\n\n return this;\n }\n\n /**\n * Helper func to check if we are dropping a row in between panels of another row\n */\n private isRowDropValid(\n gridLayout: ReactGridLayout.Layout[],\n updatedItem: ReactGridLayout.Layout,\n indexOfUpdatedItem: number\n ): boolean {\n // if the row is dropped at the end of the dashboard grid layout, we accept this valid state\n if (gridLayout[gridLayout.length - 1].i === updatedItem.i) {\n return true;\n }\n\n // if the next child after the updated item is a scene grid row, then we are either at the top\n // of the dashboard, or between rows\n // if it's not a grid row, but it's parent is the layout, it means we are not in between a\n // rows children, so also valid state\n const nextSceneChild = this.getSceneLayoutChild(gridLayout[indexOfUpdatedItem + 1].i);\n if (nextSceneChild instanceof SceneGridRow) {\n return true;\n } else if (nextSceneChild.parent instanceof SceneGridLayout) {\n return true;\n }\n\n return false;\n }\n\n /**\n * This likely needs a slightly different approach. Where we clone or deactivate or and re-activate the moved child\n */\n public moveChildTo(child: SceneGridItemLike, target: SceneGridLayout | SceneGridRow) {\n const currentParent = child.parent!;\n let rootChildren = this.state.children;\n\n const newChild = child.clone({ key: child.state.key });\n\n // Remove from current parent row\n if (currentParent instanceof SceneGridRow) {\n const newRow = currentParent.clone();\n newRow.setState({\n children: newRow.state.children.filter((c) => c.state.key !== child.state.key),\n });\n\n // new children with new row\n rootChildren = rootChildren.map((c) => (c === currentParent ? newRow : c));\n\n // if target is also a row\n if (target instanceof SceneGridRow) {\n const targetRow = target.clone();\n targetRow.setState({ children: [...targetRow.state.children, newChild] });\n rootChildren = rootChildren.map((c) => (c === target ? targetRow : c));\n } else {\n // target is the main grid\n rootChildren = [...rootChildren, newChild];\n }\n } else {\n if (!(target instanceof SceneGridLayout)) {\n // current parent is the main grid remove it from there\n rootChildren = rootChildren.filter((c) => c.state.key !== child.state.key);\n // Clone the target row and add the child\n const targetRow = target.clone();\n targetRow.setState({ children: [...targetRow.state.children, newChild] });\n // Replace row with new row\n rootChildren = rootChildren.map((c) => (c === target ? targetRow : c));\n }\n }\n\n return rootChildren;\n }\n\n public onDragStart: ReactGridLayout.ItemCallback = (gridLayout) => {\n this._oldLayout = [...gridLayout];\n };\n\n public onDragStop: ReactGridLayout.ItemCallback = (gridLayout, o, updatedItem) => {\n const sceneChild = this.getSceneLayoutChild(updatedItem.i)!;\n\n // Need to resort the grid layout based on new position (needed to find the new parent)\n gridLayout = sortGridLayout(gridLayout);\n\n // Update the parent if the child if it has moved to a row or back to the grid\n const indexOfUpdatedItem = gridLayout.findIndex((item) => item.i === updatedItem.i);\n let newParent = this.findGridItemSceneParent(gridLayout, indexOfUpdatedItem - 1);\n let newChildren = this.state.children;\n\n // Update children positions if they have changed\n for (let i = 0; i < gridLayout.length; i++) {\n const gridItem = gridLayout[i];\n const child = this.getSceneLayoutChild(gridItem.i)!;\n const childSize = child.state;\n\n if (childSize?.x !== gridItem.x || childSize?.y !== gridItem.y) {\n child.setState({\n x: gridItem.x,\n y: gridItem.y,\n });\n }\n }\n\n // Dot not allow dragging into repeated row clone\n if (newParent instanceof SceneGridRow && isRepeatCloneOrChildOf(newParent)) {\n this._loadOldLayout = true;\n }\n\n // if the child is a row and we are moving it under an uncollapsed row, keep the scene grid layout as parent\n // and set the old layout flag if the state is invalid. We allow setting the children in an invalid state,\n // as the layout will be updated in onLayoutChange and avoid flickering\n if (sceneChild instanceof SceneGridRow && newParent instanceof SceneGridRow) {\n if (!this.isRowDropValid(gridLayout, updatedItem, indexOfUpdatedItem)) {\n this._loadOldLayout = true;\n }\n\n newParent = this;\n }\n\n if (newParent !== sceneChild.parent && !this._loadOldLayout) {\n newChildren = this.moveChildTo(sceneChild, newParent);\n }\n\n this.setState({ children: sortChildrenByPosition(newChildren) });\n this._skipOnLayoutChange = true;\n };\n\n private toGridCell(child: SceneGridItemLike): ReactGridLayout.Layout {\n const size = child.state;\n\n let x = Number.isFinite(Number(size.x)) ? Number(size.x) : 0;\n let y = Number.isFinite(Number(size.y)) ? Number(size.y) : 0;\n const w = Number.isFinite(Number(size.width)) ? Number(size.width) : DEFAULT_PANEL_SPAN;\n const h = Number.isFinite(Number(size.height)) ? Number(size.height) : DEFAULT_PANEL_SPAN;\n\n let isDraggable = child.state.isDraggable;\n let isResizable = child.state.isResizable;\n\n if (child instanceof SceneGridRow) {\n isDraggable = child.state.isCollapsed ? true : false;\n isResizable = false;\n }\n\n // If this is a repeated row, we should not allow dragging\n if (isRepeatCloneOrChildOf(child)) {\n isDraggable = false;\n isResizable = false;\n }\n\n return { i: child.state.key!, x, y, h, w, isResizable, isDraggable };\n }\n\n public buildGridLayout(width: number, height: number): ReactGridLayout.Layout[] {\n let cells: ReactGridLayout.Layout[] = [];\n\n for (const child of this.state.children) {\n cells.push(this.toGridCell(child));\n\n if (child instanceof SceneGridRow && !child.state.isCollapsed) {\n for (const rowChild of child.state.children) {\n cells.push(this.toGridCell(rowChild));\n }\n }\n }\n\n // Sort by position\n cells = sortGridLayout(cells);\n\n if (this.state.UNSAFE_fitPanels) {\n cells = fitPanelsInHeight(cells, height);\n }\n\n if (width < 768) {\n // We should not persist the mobile layout\n this._skipOnLayoutChange = true;\n return cells.map((cell) => ({ ...cell, w: 24 }));\n }\n\n this._skipOnLayoutChange = false;\n\n return cells;\n }\n}\n\nfunction isItemSizeEqual(a: SceneGridItemPlacement, b: SceneGridItemPlacement) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\nfunction sortChildrenByPosition(children: SceneGridItemLike[]) {\n children.forEach((child) => {\n if (child instanceof SceneGridRow) {\n child.setState({ children: sortChildrenByPosition(child.state.children) });\n }\n });\n\n return [...children].sort((a, b) => {\n return a.state.y! - b.state.y! || a.state.x! - b.state.x!;\n });\n}\n\nfunction sortGridLayout(layout: ReactGridLayout.Layout[]) {\n return [...layout].sort((a, b) => a.y - b.y || a.x! - b.x);\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneGridLayoutRenderer.js","sources":["../../../../../src/components/layout/grid/SceneGridLayoutRenderer.tsx"],"sourcesContent":["import React, { RefCallback, useEffect, useRef } from 'react';\nimport ReactGridLayout from 'react-grid-layout';\nimport { SceneComponentProps } from '../../../core/types';\nimport { GRID_CELL_HEIGHT, GRID_CELL_VMARGIN, GRID_COLUMN_COUNT } from './constants';\nimport { LazyLoader } from '../LazyLoader';\nimport { SceneGridLayout } from './SceneGridLayout';\nimport { SceneGridItemLike } from './types';\nimport { useStyles2 } from '@grafana/ui';\nimport { css, cx } from '@emotion/css';\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { useMeasure } from 'react-use';\n\nexport function SceneGridLayoutRenderer({ model }: SceneComponentProps<SceneGridLayout>) {\n const { children, isLazy, isDraggable, isResizable } = model.useState();\n const [outerDivRef, { width, height }] = useMeasure();\n const ref = useRef<HTMLDivElement | null>(null);\n\n /**\n * The class that enables drag animations needs to be added after mount otherwise panels move on mount to their set positions which is annoying\n */\n useEffect(() => {\n updateAnimationClass(ref, !!isDraggable);\n }, [isDraggable]);\n\n validateChildrenSize(children);\n\n const renderGrid = (width: number, height: number) => {\n if (!width || !height) {\n return null;\n }\n\n const layout = model.buildGridLayout(width, height);\n\n return (\n /**\n * The children is using a width of 100% so we need to guarantee that it is wrapped\n * in an element that has the calculated size given by the AutoSizer. The AutoSizer\n * has a width of 0 and will let its content overflow its div.\n */\n <div ref={ref} style={{ width: `${width}px`, height: '100%' }} className=\"react-grid-layout\">\n <ReactGridLayout\n width={width}\n /**\n Disable draggable if mobile device, solving an issue with unintentionally\n moving panels. https://github.com/grafana/grafana/issues/18497\n theme.breakpoints.md = 769\n */\n isDraggable={isDraggable && width > 768}\n isResizable={isResizable ?? false}\n containerPadding={[0, 0]}\n useCSSTransforms={true}\n margin={[GRID_CELL_VMARGIN, GRID_CELL_VMARGIN]}\n cols={GRID_COLUMN_COUNT}\n rowHeight={GRID_CELL_HEIGHT}\n draggableHandle={`.grid-drag-handle-${model.state.key}`}\n draggableCancel=\".grid-drag-cancel\"\n layout={layout}\n onDragStart={model.onDragStart}\n onDragStop={model.onDragStop}\n onResizeStop={model.onResizeStop}\n onLayoutChange={model.onLayoutChange}\n isBounded={false}\n resizeHandle={<ResizeHandle />}\n >\n {layout.map((gridItem, index) => (\n <GridItemWrapper\n key={gridItem.i}\n grid={model}\n layoutItem={gridItem}\n index={index}\n isLazy={isLazy}\n totalCount={layout.length}\n />\n ))}\n </ReactGridLayout>\n </div>\n );\n };\n\n return (\n <div ref={outerDivRef as RefCallback<HTMLDivElement>} className={gridWrapperClass}>\n {renderGrid(width, height)}\n </div>\n );\n}\n\nconst gridWrapperClass = css({\n flex: '1 1 auto',\n position: 'relative',\n zIndex: 1,\n width: '100%',\n});\n\ninterface GridItemWrapperProps extends React.HTMLAttributes<HTMLDivElement> {\n grid: SceneGridLayout;\n layoutItem: ReactGridLayout.Layout;\n index: number;\n totalCount: number;\n isLazy?: boolean;\n}\n\nconst GridItemWrapper = React.forwardRef<HTMLDivElement, GridItemWrapperProps>((props, ref) => {\n const { grid, layoutItem, index, totalCount, isLazy, style, onLoad, onChange, children, ...divProps } = props;\n const sceneChild = grid.getSceneLayoutChild(layoutItem.i)!;\n const className = sceneChild.getClassName?.();\n\n const innerContent = <sceneChild.Component model={sceneChild} key={sceneChild.state.key} />;\n\n if (isLazy) {\n return (\n <LazyLoader\n {...divProps}\n key={sceneChild.state.key!}\n data-griditem-key={sceneChild.state.key}\n className={cx(className, props.className)}\n style={style}\n ref={ref}\n >\n {innerContent}\n {children}\n </LazyLoader>\n );\n }\n\n return (\n <div\n {...divProps}\n ref={ref}\n key={sceneChild.state.key}\n data-griditem-key={sceneChild.state.key}\n className={cx(className, props.className)}\n style={style}\n >\n {innerContent}\n {children}\n </div>\n );\n});\n\nGridItemWrapper.displayName = 'GridItemWrapper';\n\nfunction validateChildrenSize(children: SceneGridItemLike[]) {\n if (\n children.some(\n (c) =>\n c.state.height === undefined ||\n c.state.width === undefined ||\n c.state.x === undefined ||\n c.state.y === undefined\n )\n ) {\n throw new Error('All children must have a size specified');\n }\n}\n\nfunction updateAnimationClass(\n ref: React.MutableRefObject<HTMLDivElement | null>,\n isDraggable: boolean,\n retry?: boolean\n) {\n if (ref.current) {\n if (isDraggable) {\n ref.current.classList.add('react-grid-layout--enable-move-animations');\n } else {\n ref.current.classList.remove('react-grid-layout--enable-move-animations');\n }\n } else if (!retry) {\n setTimeout(() => updateAnimationClass(ref, isDraggable, true), 50);\n }\n}\n\ninterface ResizeHandleProps extends React.HTMLAttributes<HTMLDivElement> {\n handleAxis?: string;\n}\n\nconst ResizeHandle = React.forwardRef<HTMLDivElement, ResizeHandleProps>(({ handleAxis, ...divProps }, ref) => {\n const customCssClass = useStyles2(getResizeHandleStyles);\n\n return (\n <div ref={ref} {...divProps} className={`${customCssClass} scene-resize-handle`}>\n <svg width=\"16px\" height=\"16px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M21 15L15 21M21 8L8 21\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n );\n});\n\nResizeHandle.displayName = 'ResizeHandle';\n\nfunction getResizeHandleStyles(theme: GrafanaTheme2) {\n return css({\n position: 'absolute',\n bottom: 0,\n right: 0,\n zIndex: 999,\n padding: theme.spacing(1.5, 0, 0, 1.5),\n color: theme.colors.border.strong,\n cursor: 'se-resize',\n '&:hover': {\n color: theme.colors.text.link,\n },\n svg: {\n display: 'block',\n },\n '.react-resizable-hide &': {\n display: 'none',\n },\n });\n}\n"],"names":["width","height"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneGridRow.js","sources":["../../../../../src/components/layout/grid/SceneGridRow.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport React from 'react';\n\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { Icon, useStyles2 } from '@grafana/ui';\n\nimport { SceneObjectBase } from '../../../core/SceneObjectBase';\nimport { SceneComponentProps, SceneObject, SceneObjectUrlValues } from '../../../core/types';\n\nimport { SceneGridLayout } from './SceneGridLayout';\nimport { GRID_COLUMN_COUNT } from './constants';\nimport { SceneGridItemLike, SceneGridItemStateLike } from './types';\nimport { sceneGraph } from '../../../core/sceneGraph';\nimport { selectors } from '@grafana/e2e-selectors';\nimport { VariableDependencyConfig } from '../../../variables/VariableDependencyConfig';\nimport { t } from '@grafana/i18n';\nimport { isRepeatCloneOrChildOf } from '../../../utils/utils';\n\nexport interface SceneGridRowState extends SceneGridItemStateLike {\n title: string;\n isCollapsible?: boolean;\n isCollapsed?: boolean;\n actions?: SceneObject;\n children: SceneGridItemLike[];\n /** Marks object as a repeated object and a key pointer to source object */\n repeatSourceKey?: string;\n}\n\nexport class SceneGridRow extends SceneObjectBase<SceneGridRowState> {\n public static Component = SceneGridRowRenderer;\n\n protected _variableDependency = new VariableDependencyConfig(this, {\n statePaths: ['title'],\n handleTimeMacros: true,\n });\n\n public constructor(state: Partial<SceneGridRowState>) {\n super({\n children: state.children || [],\n isCollapsible: state.isCollapsible || true,\n title: state.title || '',\n ...state,\n x: 0,\n height: 1,\n width: GRID_COLUMN_COUNT,\n });\n }\n\n public getGridLayout(): SceneGridLayout {\n const layout = this.parent;\n\n if (!layout || !(layout instanceof SceneGridLayout)) {\n throw new Error('SceneGridRow must be a child of SceneGridLayout');\n }\n\n return layout;\n }\n\n public onCollapseToggle = () => {\n if (!this.state.isCollapsible) {\n return;\n }\n\n this.getGridLayout().toggleRow(this);\n };\n\n public getUrlState() {\n return { rowc: this.state.isCollapsed ? '1' : '0' };\n }\n\n public updateFromUrl(values: SceneObjectUrlValues) {\n if (values.rowc == null) {\n return;\n }\n\n if (values.rowc !== this.getUrlState().rowc) {\n this.onCollapseToggle();\n }\n }\n\n public getPanelCount(children: SceneGridItemLike[]) {\n let count = 0;\n for (const child of children) {\n count += child.getChildCount?.() || 1;\n }\n return count;\n }\n}\n\nexport function SceneGridRowRenderer({ model }: SceneComponentProps<SceneGridRow>) {\n const styles = useStyles2(getSceneGridRowStyles);\n const { isCollapsible, isCollapsed, title, actions, children } = model.useState();\n const layout = model.getGridLayout();\n const layoutDragClass = layout.getDragClass();\n const isDraggable = layout.isDraggable() && !isRepeatCloneOrChildOf(model);\n\n const count = model.getPanelCount(children);\n const panels = count === 1 ? 'panel' : 'panels';\n\n return (\n <div className={cx(styles.row, isCollapsed && styles.rowCollapsed)}>\n <div className={styles.rowTitleAndActionsGroup}>\n <button\n onClick={model.onCollapseToggle}\n className={styles.rowTitleButton}\n aria-label={\n isCollapsed\n ? t('grafana-scenes.components.scene-grid-row.expand-row', 'Expand row')\n : t('grafana-scenes.components.scene-grid-row.collapse-row', 'Collapse row')\n }\n data-testid={selectors.components.DashboardRow.title(sceneGraph.interpolate(model, title, undefined, 'text'))}\n >\n {isCollapsible && <Icon name={isCollapsed ? 'angle-right' : 'angle-down'} />}\n <span className={styles.rowTitle} role=\"heading\">\n {sceneGraph.interpolate(model, title, undefined, 'text')}\n </span>\n </button>\n <span className={cx(styles.panelCount, isCollapsed && styles.panelCountCollapsed)}>\n ({count} {panels})\n </span>\n {actions && (\n <div className={styles.rowActions}>\n <actions.Component model={actions} />\n </div>\n )}\n </div>\n {isDraggable && isCollapsed && (\n <div className={cx(styles.dragHandle, layoutDragClass)}>\n <Icon name=\"draggabledots\" />\n </div>\n )}\n </div>\n );\n}\n\nexport const getSceneGridRowStyles = (theme: GrafanaTheme2) => {\n return {\n row: css({\n width: '100%',\n height: '30px',\n display: 'flex',\n justifyContent: 'space-between',\n gap: theme.spacing(1),\n }),\n rowTitleButton: css({\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n background: 'transparent',\n border: 'none',\n minWidth: 0,\n gap: theme.spacing(1),\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`,\n }),\n rowTitle: css({\n fontSize: theme.typography.h5.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%',\n flexGrow: 1,\n minWidth: 0,\n }),\n collapsedInfo: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1,\n }),\n rowTitleAndActionsGroup: css({\n display: 'flex',\n minWidth: 0,\n\n '&:hover, &:focus-within': {\n '& > div': {\n opacity: 1,\n },\n },\n }),\n rowActions: css({\n display: 'flex',\n whiteSpace: 'nowrap',\n opacity: 0,\n transition: '200ms opacity ease-in 200ms',\n\n '&:hover, &:focus-within': {\n opacity: 1,\n },\n }),\n dragHandle: css({\n display: 'flex',\n padding: theme.spacing(0, 1),\n alignItems: 'center',\n justifyContent: 'flex-end',\n cursor: 'move',\n color: theme.colors.text.secondary,\n '&:hover': {\n color: theme.colors.text.primary,\n },\n }),\n panelCount: css({\n whiteSpace: 'nowrap',\n paddingLeft: theme.spacing(2),\n color: theme.colors.text.secondary,\n fontStyle: 'italic',\n fontSize: theme.typography.size.sm,\n fontWeight: 'normal',\n display: 'none',\n lineHeight: '30px',\n }),\n panelCountCollapsed: css({\n display: 'inline-block',\n }),\n };\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../src/components/layout/grid/constants.ts"],"sourcesContent":["export const DEFAULT_PANEL_SPAN = 4;\nexport const GRID_CELL_HEIGHT = 30;\nexport const GRID_CELL_VMARGIN = 8;\nexport const GRID_COLUMN_COUNT = 24;\n"],"names":[],"mappings":"AAAO,MAAM,kBAAqB,GAAA;AAC3B,MAAM,gBAAmB,GAAA;AACzB,MAAM,iBAAoB,GAAA;AAC1B,MAAM,iBAAoB,GAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../src/components/layout/grid/types.ts"],"sourcesContent":["import { PointerEvent } from 'react';\nimport { SceneObject, SceneObjectState } from '../../../core/types';\nimport { BusEventWithPayload } from '@grafana/data';\nimport { VizPanel } from '../../VizPanel/VizPanel';\n\nexport interface SceneGridItemPlacement {\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n}\n\nexport interface SceneGridItemStateLike extends SceneGridItemPlacement, SceneObjectState {\n isResizable?: boolean;\n isDraggable?: boolean;\n}\n\nexport interface SceneGridItemLike extends SceneObject<SceneGridItemStateLike> {\n /**\n * Provide a custom CSS class name for the underlying DOM element when special styling (i.e. for mobile breakpoint) is required.\n **/\n getClassName?(): string;\n\n /**\n * Get the number of grid item children (eg. original panel with all repeats)\n **/\n getChildCount?(): number;\n}\n\nexport class SceneGridLayoutDragStartEvent extends BusEventWithPayload<{ evt: PointerEvent; panel: VizPanel }> {\n public static readonly type = 'scene-grid-layout-drag-start';\n}\n"],"names":[],"mappings":";;AA6BO,MAAM,sCAAsC,mBAA4D,CAAA;AAE/G;AAFa,6BAAA,CACY,IAAO,GAAA,8BAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/components/layout/grid/utils.ts"],"sourcesContent":["import { GRID_CELL_HEIGHT, GRID_CELL_VMARGIN } from './constants';\n\nexport function fitPanelsInHeight(cells: ReactGridLayout.Layout[], height: number) {\n // Take into account cell margint top + cell margin bottom + adding some marging at the bottom\n const visibleHeight = height - GRID_CELL_VMARGIN * 4;\n const currentGridHeight = Math.max(...cells.map((cell) => cell.h + cell.y));\n\n const visibleGridHeight = Math.floor(visibleHeight / (GRID_CELL_HEIGHT + GRID_CELL_VMARGIN));\n const scaleFactor = currentGridHeight / visibleGridHeight;\n\n return cells.map((cell) => {\n return {\n ...cell,\n y: Math.round(cell.y / scaleFactor) || 0,\n h: Math.round(cell.h / scaleFactor) || 1,\n };\n });\n}\n"],"names":[],"mappings":";;AAEgB,SAAA,iBAAA,CAAkB,OAAiC,MAAgB,EAAA;AAEjF,EAAM,MAAA,aAAA,GAAgB,SAAS,iBAAoB,GAAA,CAAA;AACnD,EAAA,MAAM,iBAAoB,GAAA,IAAA,CAAK,GAAI,CAAA,GAAG,KAAM,CAAA,GAAA,CAAI,CAAC,IAAA,KAAS,IAAK,CAAA,CAAA,GAAI,IAAK,CAAA,CAAC,CAAC,CAAA;AAE1E,EAAA,MAAM,iBAAoB,GAAA,IAAA,CAAK,KAAM,CAAA,aAAA,IAAiB,mBAAmB,iBAAkB,CAAA,CAAA;AAC3F,EAAA,MAAM,cAAc,iBAAoB,GAAA,iBAAA;AAExC,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,IAAS,KAAA;AACzB,IAAO,OAAA;AAAA,MACL,GAAG,IAAA;AAAA,MACH,GAAG,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,CAAA,GAAI,WAAW,CAAK,IAAA,CAAA;AAAA,MACvC,GAAG,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,CAAA,GAAI,WAAW,CAAK,IAAA;AAAA,KACzC;AAAA,GACD,CAAA;AACH;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SplitLayout.js","sources":["../../../../../src/components/layout/split/SplitLayout.ts"],"sourcesContent":["import { CSSProperties } from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase';\nimport { SceneObjectState } from '../../../core/types';\nimport { SceneFlexItemPlacement, SceneFlexItemLike } from '../SceneFlexLayout';\nimport { SplitLayoutRenderer } from './SplitLayoutRenderer';\n\ninterface SplitLayoutState extends SceneObjectState, SceneFlexItemPlacement {\n primary: SceneFlexItemLike;\n secondary?: SceneFlexItemLike;\n direction: 'row' | 'column';\n initialSize?: number;\n primaryPaneStyles?: CSSProperties;\n secondaryPaneStyles?: CSSProperties;\n}\n\nexport class SplitLayout extends SceneObjectBase<SplitLayoutState> {\n public static Component = SplitLayoutRenderer;\n\n public toggleDirection() {\n this.setState({\n direction: this.state.direction === 'row' ? 'column' : 'row',\n });\n }\n\n public isDraggable(): boolean {\n return false;\n }\n}\n"],"names":[],"mappings":";;;AAeO,MAAM,oBAAoB,eAAkC,CAAA;AAAA,EAG1D,eAAkB,GAAA;AACvB,IAAA,IAAA,CAAK,QAAS,CAAA;AAAA,MACZ,SAAW,EAAA,IAAA,CAAK,KAAM,CAAA,SAAA,KAAc,QAAQ,QAAW,GAAA;AAAA,KACxD,CAAA;AAAA;AACH,EAEO,WAAuB,GAAA;AAC5B,IAAO,OAAA,KAAA;AAAA;AAEX;AAZa,WAAA,CACG,SAAY,GAAA,mBAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SplitLayoutRenderer.js","sources":["../../../../../src/components/layout/split/SplitLayoutRenderer.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\n\nimport { SceneComponentProps, SceneObjectState, SceneObject } from '../../../core/types';\nimport { SceneFlexItemPlacement } from '../SceneFlexLayout';\nimport { SplitLayout } from './SplitLayout';\nimport { Splitter } from './Splitter';\n\nexport function SplitLayoutRenderer({ model }: SceneFlexItemRenderProps<SplitLayout>) {\n const { primary, secondary, direction, isHidden, initialSize, primaryPaneStyles, secondaryPaneStyles } =\n model.useState();\n\n if (isHidden) {\n return null;\n }\n\n const Prim = primary.Component as ComponentType<SceneFlexItemRenderProps<SceneObject>>;\n const Sec = secondary?.Component as ComponentType<SceneFlexItemRenderProps<SceneObject>>;\n let startSize = secondary ? initialSize : 1;\n\n return (\n <Splitter\n direction={direction}\n initialSize={startSize ?? 0.5}\n primaryPaneStyles={primaryPaneStyles}\n secondaryPaneStyles={secondaryPaneStyles}\n >\n <Prim key={primary.state.key} model={primary} parentState={model.state} />\n {Sec && secondary && <Sec key={secondary.state.key} model={secondary} parentState={model.state} />}\n </Splitter>\n );\n}\n\nexport interface SceneFlexItemState extends SceneFlexItemPlacement, SceneObjectState {\n body: SceneObject | undefined;\n}\n\ninterface SceneFlexItemRenderProps<T> extends SceneComponentProps<T> {\n parentState?: SceneFlexItemPlacement;\n}\n"],"names":[],"mappings":";;;AAOgB,SAAA,mBAAA,CAAoB,EAAE,KAAA,EAAgD,EAAA;AACpF,EAAM,MAAA,EAAE,OAAS,EAAA,SAAA,EAAW,SAAW,EAAA,QAAA,EAAU,aAAa,iBAAmB,EAAA,mBAAA,EAC/E,GAAA,KAAA,CAAM,QAAS,EAAA;AAEjB,EAAA,IAAI,QAAU,EAAA;AACZ,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,MAAM,OAAO,OAAQ,CAAA,SAAA;AACrB,EAAA,MAAM,MAAM,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,SAAA;AACvB,EAAI,IAAA,SAAA,GAAY,YAAY,WAAc,GAAA,CAAA;AAE1C,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,aAAa,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,GAAA;AAAA,MAC1B,iBAAA;AAAA,MACA;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAK,OAAQ,CAAA,KAAA,CAAM,KAAK,KAAO,EAAA,OAAA,EAAS,WAAa,EAAA,KAAA,CAAM,KAAO,EAAA,CAAA;AAAA,IACvE,GAAO,IAAA,SAAA,oBAAc,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,SAAA,CAAU,KAAM,CAAA,GAAA,EAAK,KAAO,EAAA,SAAA,EAAW,WAAa,EAAA,KAAA,CAAM,KAAO,EAAA;AAAA,GAClG;AAEJ;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Splitter.js","sources":["../../../../../src/components/layout/split/Splitter.tsx"],"sourcesContent":["import { t } from '@grafana/i18n';\nimport { css, cx } from '@emotion/css';\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { useStyles2 } from '@grafana/ui';\nimport { clamp, throttle } from 'lodash';\nimport React, { useCallback, useLayoutEffect, useRef } from 'react';\nimport { useUniqueId } from '../LazyLoader';\n\ninterface Props {\n handleSize?: number;\n initialSize?: number | 'auto';\n direction?: 'row' | 'column';\n primary?: 'first' | 'second';\n collapsedDefault?: boolean;\n primaryPaneStyles?: React.CSSProperties;\n secondaryPaneStyles?: React.CSSProperties;\n onDragFinished?: (size: number) => void;\n children: [React.ReactNode, React.ReactNode];\n}\n\nconst PIXELS_PER_MS = 0.3 as const;\nconst VERTICAL_KEYS = new Set(['ArrowUp', 'ArrowDown']);\nconst HORIZONTAL_KEYS = new Set(['ArrowLeft', 'ArrowRight']);\n\nconst propsForDirection = {\n row: {\n dim: 'width',\n axis: 'clientX',\n min: 'minWidth',\n max: 'maxWidth',\n },\n column: {\n dim: 'height',\n axis: 'clientY',\n min: 'minHeight',\n max: 'maxHeight',\n },\n} as const;\n\nexport function Splitter({\n direction = 'row',\n handleSize = 32,\n initialSize = 'auto',\n primaryPaneStyles,\n secondaryPaneStyles,\n onDragFinished,\n children,\n}: Props) {\n const kids = React.Children.toArray(children);\n\n const splitterRef = useRef<HTMLDivElement | null>(null);\n const firstPaneRef = useRef<HTMLDivElement | null>(null);\n const secondPaneRef = useRef<HTMLDivElement | null>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const containerSize = useRef<number | null>(null);\n const primarySizeRef = useRef<'1fr' | number>('1fr');\n\n const firstPaneMeasurements = useRef<ReturnType<typeof measureElement>>(undefined);\n const savedPos = useRef<string | undefined>(undefined);\n\n const measurementProp = propsForDirection[direction].dim;\n const clientAxis = propsForDirection[direction].axis;\n const minDimProp = propsForDirection[direction].min;\n const maxDimProp = propsForDirection[direction].max;\n\n // Using a resize observer here, as with content or screen based width/height the ratio between panes might\n // change after a window resize, so ariaValueNow needs to be updated accordingly\n useResizeObserver(\n containerRef.current!,\n (entries) => {\n for (const entry of entries) {\n if (!entry.target.isSameNode(containerRef.current)) {\n return;\n }\n\n const curSize = firstPaneRef.current!.getBoundingClientRect()[measurementProp];\n const newDims = measureElement(firstPaneRef.current!);\n splitterRef.current!.ariaValueNow = `${clamp(\n ((curSize - newDims[minDimProp]) / (newDims[maxDimProp] - newDims[minDimProp])) * 100,\n 0,\n 100\n )}`;\n }\n },\n 500,\n [maxDimProp, minDimProp, direction, measurementProp]\n );\n\n const dragStart = useRef<number | null>(null);\n const onPointerDown = useCallback(\n (e: React.PointerEvent<HTMLDivElement>) => {\n // measure left-side width\n primarySizeRef.current = firstPaneRef.current!.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current!.getBoundingClientRect()[measurementProp];\n\n // set position at start of drag\n dragStart.current = e[clientAxis];\n splitterRef.current!.setPointerCapture(e.pointerId);\n firstPaneMeasurements.current = measureElement(firstPaneRef.current!);\n\n savedPos.current = undefined;\n },\n [measurementProp, clientAxis]\n );\n\n const onPointerMove = useCallback(\n (e: React.PointerEvent<HTMLDivElement>) => {\n if (dragStart.current !== null && primarySizeRef.current !== '1fr') {\n const diff = e[clientAxis] - dragStart.current;\n const dims = firstPaneMeasurements.current!;\n const newSize = clamp(primarySizeRef.current + diff, dims[minDimProp], dims[maxDimProp]);\n const newFlex = newSize / (containerSize.current! - handleSize);\n firstPaneRef.current!.style.flexGrow = `${newFlex}`;\n secondPaneRef.current!.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = clamp(\n ((newSize - dims[minDimProp]) / (dims[maxDimProp] - dims[minDimProp])) * 100,\n 0,\n 100\n );\n\n splitterRef.current!.ariaValueNow = `${ariaValueNow}`;\n }\n },\n [handleSize, clientAxis, minDimProp, maxDimProp]\n );\n\n const onPointerUp = useCallback(\n (e: React.PointerEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n splitterRef.current!.releasePointerCapture(e.pointerId);\n dragStart.current = null;\n onDragFinished?.(parseFloat(firstPaneRef.current!.style.flexGrow));\n },\n [onDragFinished]\n );\n\n const pressedKeys = useRef(new Set<string>());\n const keysLastHandledAt = useRef<number | null>(null);\n const handlePressedKeys = useCallback(\n (time: number) => {\n const nothingPressed = pressedKeys.current.size === 0;\n if (nothingPressed) {\n keysLastHandledAt.current = null;\n return;\n } else if (primarySizeRef.current === '1fr') {\n return;\n }\n\n const dt = time - (keysLastHandledAt.current ?? time);\n const dx = dt * PIXELS_PER_MS;\n let sizeChange = 0;\n\n if (direction === 'row') {\n if (pressedKeys.current.has('ArrowLeft')) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has('ArrowRight')) {\n sizeChange += dx;\n }\n } else {\n if (pressedKeys.current.has('ArrowUp')) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has('ArrowDown')) {\n sizeChange += dx;\n }\n }\n\n const firstPaneDims = firstPaneMeasurements.current!;\n const curSize = firstPaneRef.current!.getBoundingClientRect()[measurementProp];\n const newSize = clamp(curSize + sizeChange, firstPaneDims[minDimProp], firstPaneDims[maxDimProp]);\n\n const newFlex = newSize / (containerSize.current! - handleSize);\n\n firstPaneRef.current!.style.flexGrow = `${newFlex}`;\n secondPaneRef.current!.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow =\n ((newSize - firstPaneDims[minDimProp]) / (firstPaneDims[maxDimProp] - firstPaneDims[minDimProp])) * 100;\n splitterRef.current!.ariaValueNow = `${clamp(ariaValueNow, 0, 100)}`;\n\n keysLastHandledAt.current = time;\n window.requestAnimationFrame(handlePressedKeys);\n },\n [direction, handleSize, minDimProp, maxDimProp, measurementProp]\n );\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter') {\n if (savedPos.current === undefined) {\n savedPos.current = firstPaneRef.current!.style.flexGrow;\n firstPaneRef.current!.style.flexGrow = '0';\n secondPaneRef.current!.style.flexGrow = '1';\n } else {\n firstPaneRef.current!.style.flexGrow = savedPos.current;\n secondPaneRef.current!.style.flexGrow = `${1 - parseFloat(savedPos.current)}`;\n savedPos.current = undefined;\n }\n return;\n } else if (e.key === 'Home') {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current!);\n containerSize.current = containerRef.current!.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[minDimProp] / (containerSize.current! - handleSize);\n firstPaneRef.current!.style.flexGrow = `${newFlex}`;\n secondPaneRef.current!.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current!.ariaValueNow = '0';\n return;\n } else if (e.key === 'End') {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current!);\n containerSize.current = containerRef.current!.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[maxDimProp] / (containerSize.current! - handleSize);\n firstPaneRef.current!.style.flexGrow = `${newFlex}`;\n secondPaneRef.current!.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current!.ariaValueNow = '100';\n return;\n }\n\n if (\n !(\n (direction === 'column' && VERTICAL_KEYS.has(e.key)) ||\n (direction === 'row' && HORIZONTAL_KEYS.has(e.key))\n ) ||\n pressedKeys.current.has(e.key)\n ) {\n return;\n }\n\n savedPos.current = undefined;\n e.preventDefault();\n e.stopPropagation();\n primarySizeRef.current = firstPaneRef.current!.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current!.getBoundingClientRect()[measurementProp];\n firstPaneMeasurements.current = measureElement(firstPaneRef.current!);\n const newKey = !pressedKeys.current.has(e.key);\n\n if (newKey) {\n const initiateAnimationLoop = pressedKeys.current.size === 0;\n pressedKeys.current.add(e.key);\n\n if (initiateAnimationLoop) {\n window.requestAnimationFrame(handlePressedKeys);\n }\n }\n },\n [direction, handlePressedKeys, handleSize, maxDimProp, measurementProp, minDimProp]\n );\n\n const onKeyUp = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (\n (direction === 'row' && !HORIZONTAL_KEYS.has(e.key)) ||\n (direction === 'column' && !VERTICAL_KEYS.has(e.key))\n ) {\n return;\n }\n\n pressedKeys.current.delete(e.key);\n onDragFinished?.(parseFloat(firstPaneRef.current!.style.flexGrow));\n },\n [direction, onDragFinished]\n );\n\n const onDoubleClick = useCallback(() => {\n firstPaneRef.current!.style.flexGrow = '0.5';\n secondPaneRef.current!.style.flexGrow = '0.5';\n const dim = measureElement(firstPaneRef.current!);\n firstPaneMeasurements.current = dim;\n primarySizeRef.current = firstPaneRef.current!.getBoundingClientRect()[measurementProp];\n splitterRef.current!.ariaValueNow = `${\n ((primarySizeRef.current - dim[minDimProp]) / (dim[maxDimProp] - dim[minDimProp])) * 100\n }`;\n }, [maxDimProp, measurementProp, minDimProp]);\n\n const onBlur = useCallback(() => {\n // If focus is lost while keys are held, stop changing panel sizes\n if (pressedKeys.current.size > 0) {\n pressedKeys.current.clear();\n dragStart.current = null;\n onDragFinished?.(parseFloat(firstPaneRef.current!.style.flexGrow));\n }\n }, [onDragFinished]);\n\n const styles = useStyles2(getStyles);\n const id = useUniqueId();\n\n const secondAvailable = kids.length === 2;\n const visibilitySecond = secondAvailable ? 'visible' : 'hidden';\n\n return (\n <div\n ref={containerRef}\n className={styles.container}\n style={{\n flexDirection: direction,\n }}\n >\n <div\n ref={firstPaneRef}\n className={styles.panel}\n style={{\n flexGrow: initialSize === 'auto' ? 0.5 : clamp(initialSize, 0, 1),\n [minDimProp]: 'min-content',\n ...primaryPaneStyles,\n }}\n id={`start-panel-${id}`}\n >\n {kids[0]}\n </div>\n\n {kids[1] && (\n <>\n <div\n ref={splitterRef}\n style={{ [measurementProp]: `${handleSize}px` }}\n className={cx(styles.handle, { [styles.handleHorizontal]: direction === 'column' })}\n onPointerUp={onPointerUp}\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onDoubleClick={onDoubleClick}\n onBlur={onBlur}\n role=\"separator\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={50}\n aria-controls={`start-panel-${id}`}\n aria-label={t('grafana-scenes.components.splitter.aria-label-pane-resize-widget', 'Pane resize widget')}\n tabIndex={0}\n ></div>\n\n <div\n ref={secondPaneRef}\n className={styles.panel}\n style={{\n flexGrow: initialSize === 'auto' ? 0.5 : clamp(1 - initialSize, 0, 1),\n [minDimProp]: 'min-content',\n visibility: `${visibilitySecond}`,\n ...secondaryPaneStyles,\n }}\n id={`end-panel-${id}`}\n >\n {kids[1]}\n </div>\n </>\n )}\n </div>\n );\n}\n\nfunction getStyles(theme: GrafanaTheme2) {\n return {\n handle: css({\n cursor: 'col-resize',\n position: 'relative',\n flexShrink: 0,\n userSelect: 'none',\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n backgroundColor: theme.colors.primary.main,\n left: '50%',\n transform: 'translate(-50%)',\n top: 0,\n height: '100%',\n width: '1px',\n opacity: 0,\n transition: 'opacity ease-in-out 0.2s',\n },\n\n '&::after': {\n content: '\"\"',\n width: '4px',\n borderRadius: '4px',\n backgroundColor: theme.colors.border.weak,\n transition: 'background-color ease-in-out 0.2s',\n height: '50%',\n top: 'calc(50% - (50%) / 2)',\n transform: 'translateX(-50%)',\n position: 'absolute',\n left: '50%',\n },\n\n '&:hover, &:focus-visible': {\n outline: 'none',\n '&::before': {\n opacity: 1,\n },\n\n '&::after': {\n backgroundColor: theme.colors.primary.main,\n },\n },\n }),\n handleHorizontal: css({\n cursor: 'row-resize',\n\n '&::before': {\n left: 'inherit',\n transform: 'translateY(-50%)',\n top: '50%',\n height: '1px',\n width: '100%',\n },\n\n '&::after': {\n width: '50%',\n height: '4px',\n top: '50%',\n transform: 'translateY(-50%)',\n left: 'calc(50% - (50%) / 2)',\n },\n }),\n container: css({\n display: 'flex',\n width: '100%',\n flexGrow: 1,\n overflow: 'hidden',\n }),\n panel: css({ display: 'flex', position: 'relative', flexBasis: 0 }),\n };\n}\n\ntype MeasureR<T> = T extends HTMLElement\n ? { minWidth: number; maxWidth: number; minHeight: number; maxHeight: number }\n : T extends null\n ? undefined\n : never;\ntype HTMLElementOrNull = HTMLElement | null;\n\nfunction measureElement<T extends HTMLElementOrNull>(ref: T): MeasureR<T> {\n if (ref === null) {\n return undefined as MeasureR<T>;\n }\n\n const savedBodyOverflow = document.body.style.overflow;\n const savedWidth = ref.style.width;\n const savedHeight = ref.style.height;\n const savedFlex = ref.style.flexGrow;\n document.body.style.overflow = 'hidden';\n ref.style.flexGrow = '0';\n const { width: minWidth, height: minHeight } = ref.getBoundingClientRect();\n\n ref.style.flexGrow = '100';\n const { width: maxWidth, height: maxHeight } = ref.getBoundingClientRect();\n\n document.body.style.overflow = savedBodyOverflow;\n ref.style.width = savedWidth;\n ref.style.height = savedHeight;\n ref.style.flexGrow = savedFlex;\n\n return { minWidth, maxWidth, minHeight, maxHeight } as MeasureR<T>;\n}\n\nfunction useResizeObserver(\n target: Element,\n cb: (entries: ResizeObserverEntry[]) => void,\n throttleWait = 0,\n deps?: React.DependencyList\n) {\n const throttledCallback = throttle(cb, throttleWait);\n\n useLayoutEffect(() => {\n if (!target) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(throttledCallback);\n\n resizeObserver.observe(target, { box: 'device-pixel-content-box' });\n return () => resizeObserver.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldConfigBuilder.js","sources":["../../../../src/core/PanelBuilders/FieldConfigBuilder.ts"],"sourcesContent":["import { FieldConfigSource } from '@grafana/data';\nimport { cloneDeep, merge } from 'lodash';\nimport { DeepPartial } from '../types';\nimport { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder';\nimport { StandardFieldConfig, StandardFieldConfigInterface } from './types';\n\nexport class FieldConfigBuilder<TFieldConfig extends {}>\n implements StandardFieldConfigInterface<StandardFieldConfig, FieldConfigBuilder<TFieldConfig>, 'set'>\n{\n private _fieldConfig: FieldConfigSource<DeepPartial<TFieldConfig>> = {\n defaults: {},\n overrides: [],\n };\n private _overridesBuilder = new FieldConfigOverridesBuilder<TFieldConfig>();\n\n public constructor(private defaultFieldConfig?: () => TFieldConfig) {\n this.setDefaults();\n }\n\n private setDefaults() {\n const fieldConfig: FieldConfigSource<TFieldConfig> = {\n defaults: {\n custom: this.defaultFieldConfig ? cloneDeep(this.defaultFieldConfig()) : ({} as TFieldConfig),\n }, // use field config factory that will provide default field config\n overrides: [],\n };\n\n this._fieldConfig = fieldConfig;\n }\n /**\n * Set color.\n */\n public setColor(color: StandardFieldConfig['color']): this {\n return this.setFieldConfigDefaults('color', color);\n }\n\n /**\n * Set number of decimals to show.\n */\n public setDecimals(decimals: StandardFieldConfig['decimals']): this {\n return this.setFieldConfigDefaults('decimals', decimals);\n }\n\n /**\n * Set field display name.\n */\n public setDisplayName(displayName: StandardFieldConfig['displayName']): this {\n return this.setFieldConfigDefaults('displayName', displayName);\n }\n\n /**\n * Set the standard field config property filterable.\n */\n public setFilterable(filterable: StandardFieldConfig['filterable']): this {\n return this.setFieldConfigDefaults('filterable', filterable);\n }\n\n /**\n * Set data links.\n */\n public setLinks(links: StandardFieldConfig['links']): this {\n return this.setFieldConfigDefaults('links', links);\n }\n\n /**\n * Set value mappings.\n */\n public setMappings(mappings: StandardFieldConfig['mappings']): this {\n return this.setFieldConfigDefaults('mappings', mappings);\n }\n\n /**\n * Set the standard field config property max.\n */\n public setMax(max: StandardFieldConfig['max']): this {\n return this.setFieldConfigDefaults('max', max);\n }\n\n /**\n * Set the standard field config property min.\n */\n public setMin(min: StandardFieldConfig['min']): this {\n return this.setFieldConfigDefaults('min', min);\n }\n\n /**\n * Set the standard field config property noValue.\n */\n public setNoValue(noValue: StandardFieldConfig['noValue']): this {\n return this.setFieldConfigDefaults('noValue', noValue);\n }\n\n /**\n * Set the standard field config property thresholds.\n */\n public setThresholds(thresholds: StandardFieldConfig['thresholds']): this {\n return this.setFieldConfigDefaults('thresholds', thresholds);\n }\n\n /**\n * Set the standard field config property unit.\n */\n public setUnit(unit: StandardFieldConfig['unit']): this {\n return this.setFieldConfigDefaults('unit', unit);\n }\n\n /**\n * Set an individual custom field config value. This will merge the value with the existing custom field config.\n */\n public setCustomFieldConfig<T extends TFieldConfig, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this {\n this._fieldConfig.defaults = {\n ...this._fieldConfig.defaults,\n custom: merge(this._fieldConfig.defaults.custom, { [id]: value }),\n };\n\n return this;\n }\n\n /**\n * Configure overrides for the field config. This will merge the overrides with the existing overrides.\n */\n public setOverrides(builder: (b: FieldConfigOverridesBuilder<TFieldConfig>) => void): this {\n builder(this._overridesBuilder);\n return this;\n }\n\n public setFieldConfigDefaults<T extends keyof StandardFieldConfig>(key: T, value: StandardFieldConfig[T]) {\n this._fieldConfig.defaults = {\n ...this._fieldConfig.defaults,\n [key]: value,\n };\n return this;\n }\n\n public build() {\n return {\n defaults: this._fieldConfig.defaults,\n overrides: this._overridesBuilder.build(),\n };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldConfigBuilders.js","sources":["../../../../src/core/PanelBuilders/FieldConfigBuilders.ts"],"sourcesContent":["import { TableFieldOptions as TableFieldConfig } from '@grafana/schema';\n\nimport {\n FieldConfig as BarChartFieldConfig,\n defaultFieldConfig as defaultBarChartFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';\nimport { FieldConfig as HeatmapFieldConfig } from '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';\nimport {\n FieldConfig as HistogramFieldConfig,\n defaultFieldConfig as defaultHistogramFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';\nimport { FieldConfig as PieChartFieldConfig } from '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';\nimport {\n FieldConfig as StateTimelineFieldConfig,\n defaultFieldConfig as defaultStateTimelineFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';\nimport {\n FieldConfig as StatusHistoryFieldConfig,\n defaultFieldConfig as defaultStatusHistoryFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';\nimport { FieldConfig as TimeSeriesFieldConfig } from '@grafana/schema/dist/esm/raw/composable/timeseries/panelcfg/x/TimeSeriesPanelCfg_types.gen';\nimport { FieldConfig as TrendFieldConfig } from '@grafana/schema/dist/esm/raw/composable/trend/panelcfg/x/TrendPanelCfg_types.gen';\nimport { defaultFieldConfig as defaultXYChartFieldConfig } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';\nimport { FieldConfigBuilder } from './FieldConfigBuilder';\n\nexport const FieldConfigBuilders = {\n barchart() {\n return new FieldConfigBuilder<BarChartFieldConfig>(() => defaultBarChartFieldConfig);\n },\n bargauge() {\n return new FieldConfigBuilder<{}>();\n },\n datagrid() {\n return new FieldConfigBuilder<{}>();\n },\n flamegraph() {\n return new FieldConfigBuilder<{}>();\n },\n gauge() {\n return new FieldConfigBuilder<{}>();\n },\n geomap() {\n return new FieldConfigBuilder<{}>();\n },\n heatmap() {\n return new FieldConfigBuilder<HeatmapFieldConfig>();\n },\n histogram() {\n return new FieldConfigBuilder<HistogramFieldConfig>(() => defaultHistogramFieldConfig);\n },\n logs() {\n return new FieldConfigBuilder<{}>();\n },\n news() {\n return new FieldConfigBuilder<{}>();\n },\n nodegraph() {\n return new FieldConfigBuilder<{}>();\n },\n piechart() {\n return new FieldConfigBuilder<PieChartFieldConfig>();\n },\n stat() {\n return new FieldConfigBuilder<{}>();\n },\n statetimeline() {\n return new FieldConfigBuilder<StateTimelineFieldConfig>(() => defaultStateTimelineFieldConfig);\n },\n statushistory() {\n return new FieldConfigBuilder<StatusHistoryFieldConfig>(() => defaultStatusHistoryFieldConfig);\n },\n table() {\n return new FieldConfigBuilder<TableFieldConfig>();\n },\n text() {\n return new FieldConfigBuilder<{}>();\n },\n timeseries() {\n return new FieldConfigBuilder<TimeSeriesFieldConfig>();\n },\n trend() {\n return new FieldConfigBuilder<{}>();\n },\n traces() {\n return new FieldConfigBuilder<TrendFieldConfig>();\n },\n xychart() {\n return new FieldConfigBuilder<{}>(() => defaultXYChartFieldConfig);\n },\n};\n"],"names":["defaultBarChartFieldConfig","defaultHistogramFieldConfig","defaultStateTimelineFieldConfig","defaultStatusHistoryFieldConfig","defaultXYChartFieldConfig"],"mappings":";;;;;;;AAyBO,MAAM,mBAAsB,GAAA;AAAA,EACjC,QAAW,GAAA;AACT,IAAO,OAAA,IAAI,kBAAwC,CAAA,MAAMA,oBAA0B,CAAA;AAAA,GACrF;AAAA,EACA,QAAW,GAAA;AACT,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,QAAW,GAAA;AACT,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,UAAa,GAAA;AACX,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,MAAS,GAAA;AACP,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,OAAU,GAAA;AACR,IAAA,OAAO,IAAI,kBAAuC,EAAA;AAAA,GACpD;AAAA,EACA,SAAY,GAAA;AACV,IAAO,OAAA,IAAI,kBAAyC,CAAA,MAAMC,oBAA2B,CAAA;AAAA,GACvF;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,SAAY,GAAA;AACV,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,QAAW,GAAA;AACT,IAAA,OAAO,IAAI,kBAAwC,EAAA;AAAA,GACrD;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,aAAgB,GAAA;AACd,IAAO,OAAA,IAAI,kBAA6C,CAAA,MAAMC,oBAA+B,CAAA;AAAA,GAC/F;AAAA,EACA,aAAgB,GAAA;AACd,IAAO,OAAA,IAAI,kBAA6C,CAAA,MAAMC,oBAA+B,CAAA;AAAA,GAC/F;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,OAAO,IAAI,kBAAqC,EAAA;AAAA,GAClD;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,UAAa,GAAA;AACX,IAAA,OAAO,IAAI,kBAA0C,EAAA;AAAA,GACvD;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,OAAO,IAAI,kBAAuB,EAAA;AAAA,GACpC;AAAA,EACA,MAAS,GAAA;AACP,IAAA,OAAO,IAAI,kBAAqC,EAAA;AAAA,GAClD;AAAA,EACA,OAAU,GAAA;AACR,IAAO,OAAA,IAAI,kBAAuB,CAAA,MAAMC,kBAAyB,CAAA;AAAA;AAErE;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldConfigOverridesBuilder.js","sources":["../../../../src/core/PanelBuilders/FieldConfigOverridesBuilder.ts"],"sourcesContent":["import { FieldMatcherID, FieldType, FieldValueMatcherConfig } from '@grafana/data';\nimport { MatcherConfig } from '@grafana/schema';\nimport { getCompareSeriesRefId } from '../../utils/getCompareSeriesRefId';\nimport { StandardFieldConfigOverridesBuilder } from './StandardFieldConfigBuilders';\n\nexport class FieldConfigOverridesBuilder<TFieldConfig> extends StandardFieldConfigOverridesBuilder<\n FieldConfigOverridesBuilder<TFieldConfig>\n> {\n public match(matcher: MatcherConfig): this {\n this._overrides.push({ matcher, properties: [] });\n return this;\n }\n\n public matchFieldsWithName(name: string): this {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byName,\n\n options: name,\n },\n properties: [],\n });\n return this;\n }\n\n public matchFieldsWithNameByRegex(regex: string): this {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byRegexp,\n options: regex,\n },\n properties: [],\n });\n return this;\n }\n\n public matchFieldsByType(fieldType: FieldType): this {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byType,\n options: fieldType,\n },\n properties: [],\n });\n return this;\n }\n\n public matchFieldsByQuery(refId: string): this {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byFrameRefID,\n options: refId,\n },\n properties: [],\n });\n return this;\n }\n\n public matchFieldsByValue(options: FieldValueMatcherConfig): this {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byValue,\n options,\n },\n properties: [],\n });\n return this;\n }\n\n public matchComparisonQuery(refId: string): this {\n return this.matchFieldsByQuery(getCompareSeriesRefId(refId));\n }\n\n public overrideCustomFieldConfig<T extends TFieldConfig, K extends keyof T>(id: K, value: T[K]): this {\n const _id = `custom.${String(id)}`;\n const last = this._overrides[this._overrides.length - 1];\n last.properties.push({ id: _id, value });\n return this;\n }\n\n public build() {\n return this._overrides;\n }\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,oCAAkD,mCAE7D,CAAA;AAAA,EACO,MAAM,OAA8B,EAAA;AACzC,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA,EAAE,SAAS,UAAY,EAAA,IAAI,CAAA;AAChD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,oBAAoB,IAAoB,EAAA;AAC7C,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA;AAAA,MACnB,OAAS,EAAA;AAAA,QACP,IAAI,cAAe,CAAA,MAAA;AAAA,QAEnB,OAAS,EAAA;AAAA,OACX;AAAA,MACA,YAAY;AAAC,KACd,CAAA;AACD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,2BAA2B,KAAqB,EAAA;AACrD,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA;AAAA,MACnB,OAAS,EAAA;AAAA,QACP,IAAI,cAAe,CAAA,QAAA;AAAA,QACnB,OAAS,EAAA;AAAA,OACX;AAAA,MACA,YAAY;AAAC,KACd,CAAA;AACD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,kBAAkB,SAA4B,EAAA;AACnD,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA;AAAA,MACnB,OAAS,EAAA;AAAA,QACP,IAAI,cAAe,CAAA,MAAA;AAAA,QACnB,OAAS,EAAA;AAAA,OACX;AAAA,MACA,YAAY;AAAC,KACd,CAAA;AACD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,mBAAmB,KAAqB,EAAA;AAC7C,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA;AAAA,MACnB,OAAS,EAAA;AAAA,QACP,IAAI,cAAe,CAAA,YAAA;AAAA,QACnB,OAAS,EAAA;AAAA,OACX;AAAA,MACA,YAAY;AAAC,KACd,CAAA;AACD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,mBAAmB,OAAwC,EAAA;AAChE,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA;AAAA,MACnB,OAAS,EAAA;AAAA,QACP,IAAI,cAAe,CAAA,OAAA;AAAA,QACnB;AAAA,OACF;AAAA,MACA,YAAY;AAAC,KACd,CAAA;AACD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,qBAAqB,KAAqB,EAAA;AAC/C,IAAA,OAAO,IAAK,CAAA,kBAAA,CAAmB,qBAAsB,CAAA,KAAK,CAAC,CAAA;AAAA;AAC7D,EAEO,yBAAA,CAAqE,IAAO,KAAmB,EAAA;AACpG,IAAA,MAAM,GAAM,GAAA,CAAA,OAAA,EAAU,MAAO,CAAA,EAAE,CAAC,CAAA,CAAA;AAChC,IAAA,MAAM,OAAO,IAAK,CAAA,UAAA,CAAW,IAAK,CAAA,UAAA,CAAW,SAAS,CAAC,CAAA;AACvD,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA,EAAE,EAAI,EAAA,GAAA,EAAK,OAAO,CAAA;AACvC,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,KAAQ,GAAA;AACb,IAAA,OAAO,IAAK,CAAA,UAAA;AAAA;AAEhB;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PanelOptionsBuilder.js","sources":["../../../../src/core/PanelBuilders/PanelOptionsBuilder.ts"],"sourcesContent":["import { cloneDeep, merge } from 'lodash';\nimport { DeepPartial } from '../types';\n\nexport class PanelOptionsBuilder<TOptions extends {} = {}> {\n private _options: DeepPartial<TOptions> = {};\n\n public constructor(private defaultOptions?: () => Partial<TOptions>) {\n this.setDefaults();\n }\n\n private setDefaults() {\n this._options = this.defaultOptions ? cloneDeep(this.defaultOptions()) : ({} as TOptions);\n }\n\n /**\n * Set an individual panel option. This will merge the value with the existing options.\n */\n public setOption<T extends TOptions, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this {\n this._options = merge(this._options, { [id]: value });\n return this;\n }\n\n public build() {\n return this._options;\n }\n}\n"],"names":[],"mappings":";;AAGO,MAAM,mBAA8C,CAAA;AAAA,EAGlD,YAAoB,cAA0C,EAAA;AAA1C,IAAA,IAAA,CAAA,cAAA,GAAA,cAAA;AAF3B,IAAA,IAAA,CAAQ,WAAkC,EAAC;AAGzC,IAAA,IAAA,CAAK,WAAY,EAAA;AAAA;AACnB,EAEQ,WAAc,GAAA;AACpB,IAAK,IAAA,CAAA,QAAA,GAAW,KAAK,cAAiB,GAAA,SAAA,CAAU,KAAK,cAAe,EAAC,IAAK,EAAC;AAAA;AAC7E;AAAA;AAAA;AAAA,EAKO,SAAA,CAAiD,IAAO,KAAgC,EAAA;AAC7F,IAAK,IAAA,CAAA,QAAA,GAAW,MAAM,IAAK,CAAA,QAAA,EAAU,EAAE,CAAC,EAAE,GAAG,KAAA,EAAO,CAAA;AACpD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,KAAQ,GAAA;AACb,IAAA,OAAO,IAAK,CAAA,QAAA;AAAA;AAEhB;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PanelOptionsBuilders.js","sources":["../../../../src/core/PanelBuilders/PanelOptionsBuilders.ts"],"sourcesContent":["import {\n Options as BarChartOptions,\n defaultOptions as defaultBarChartOptions,\n} from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';\nimport {\n Options as BarGaugeOptions,\n defaultOptions as defaultBarGaugeOptions,\n} from '@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen';\nimport {\n Options as DataGridOptions,\n defaultOptions as defaultDataGridOptions,\n} from '@grafana/schema/dist/esm/raw/composable/datagrid/panelcfg/x/DatagridPanelCfg_types.gen';\nimport {\n Options as GaugeOptions,\n defaultOptions as defaultGaugeOptions,\n} from '@grafana/schema/dist/esm/raw/composable/gauge/panelcfg/x/GaugePanelCfg_types.gen';\nimport {\n Options as GeomapOptions,\n defaultOptions as defaultGeomapOptions,\n} from '@grafana/schema/dist/esm/raw/composable/geomap/panelcfg/x/GeomapPanelCfg_types.gen';\nimport {\n Options as HeatmapOptions,\n defaultOptions as defaultHeatmapOptions,\n} from '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';\nimport {\n Options as HistogramOptions,\n defaultOptions as defaultHistogramOptions,\n} from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';\nimport { Options as LogsOptions } from '@grafana/schema/dist/esm/raw/composable/logs/panelcfg/x/LogsPanelCfg_types.gen';\nimport {\n Options as NewsOptions,\n defaultOptions as defaultNewsOptions,\n} from '@grafana/schema/dist/esm/raw/composable/news/panelcfg/x/NewsPanelCfg_types.gen';\nimport { Options as NodeGraphOptions } from '@grafana/schema/dist/esm/raw/composable/nodegraph/panelcfg/x/NodeGraphPanelCfg_types.gen';\nimport {\n Options as PieChartOptions,\n defaultOptions as defaultPieChartOptions,\n} from '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';\nimport {\n Options as StatOptions,\n defaultOptions as defaultStatOptions,\n} from '@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen';\nimport {\n Options as StateTimelineOptions,\n defaultOptions as defaultStateTimelineOptions,\n} from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';\nimport {\n Options as StatusHistoryOptions,\n defaultOptions as defaultStatusHistoryOptions,\n} from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';\nimport {\n Options as TableOptions,\n defaultOptions as defaultTableOptions,\n} from '@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen';\nimport {\n Options as TextOptions,\n defaultOptions as defaultTextOptions,\n} from '@grafana/schema/dist/esm/raw/composable/text/panelcfg/x/TextPanelCfg_types.gen';\nimport { Options as TimeSeriesOptions } from '@grafana/schema/dist/esm/raw/composable/timeseries/panelcfg/x/TimeSeriesPanelCfg_types.gen';\nimport { Options as TrendOptions } from '@grafana/schema/dist/esm/raw/composable/trend/panelcfg/x/TrendPanelCfg_types.gen';\nimport {\n Options as XYChartOptions,\n defaultOptions as defaultXYChartOptions,\n} from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';\n\nimport { PanelOptionsBuilder } from './PanelOptionsBuilder';\n\nexport const PanelOptionsBuilders = {\n barchart() {\n return new PanelOptionsBuilder<BarChartOptions>(() => defaultBarChartOptions);\n },\n bargauge() {\n return new PanelOptionsBuilder<BarGaugeOptions>(() => defaultBarGaugeOptions);\n },\n datagrid() {\n return new PanelOptionsBuilder<DataGridOptions>(() => defaultDataGridOptions);\n },\n flamegraph() {\n return new PanelOptionsBuilder<{}>();\n },\n gauge() {\n return new PanelOptionsBuilder<GaugeOptions>(() => defaultGaugeOptions);\n },\n geomap() {\n return new PanelOptionsBuilder<GeomapOptions>(() => defaultGeomapOptions);\n },\n heatmap() {\n return new PanelOptionsBuilder<HeatmapOptions>(() => defaultHeatmapOptions);\n },\n histogram() {\n return new PanelOptionsBuilder<HistogramOptions>(() => defaultHistogramOptions);\n },\n logs() {\n return new PanelOptionsBuilder<LogsOptions>();\n },\n news() {\n return new PanelOptionsBuilder<NewsOptions>(() => defaultNewsOptions);\n },\n nodegraph() {\n return new PanelOptionsBuilder<NodeGraphOptions>();\n },\n piechart() {\n return new PanelOptionsBuilder<PieChartOptions>(() => defaultPieChartOptions);\n },\n stat() {\n return new PanelOptionsBuilder<StatOptions>(() => defaultStatOptions);\n },\n statetimeline() {\n return new PanelOptionsBuilder<StateTimelineOptions>(() => defaultStateTimelineOptions);\n },\n statushistory() {\n return new PanelOptionsBuilder<StatusHistoryOptions>(() => defaultStatusHistoryOptions);\n },\n table() {\n return new PanelOptionsBuilder<TableOptions>(() => defaultTableOptions);\n },\n text() {\n return new PanelOptionsBuilder<TextOptions>(() => defaultTextOptions);\n },\n timeseries() {\n return new PanelOptionsBuilder<TimeSeriesOptions>();\n },\n trend() {\n return new PanelOptionsBuilder<{}>();\n },\n traces() {\n return new PanelOptionsBuilder<TrendOptions>();\n },\n xychart() {\n return new PanelOptionsBuilder<XYChartOptions>(() => defaultXYChartOptions);\n },\n};\n"],"names":["defaultBarChartOptions","defaultBarGaugeOptions","defaultDataGridOptions","defaultGaugeOptions","defaultGeomapOptions","defaultHeatmapOptions","defaultHistogramOptions","defaultNewsOptions","defaultPieChartOptions","defaultStatOptions","defaultStateTimelineOptions","defaultStatusHistoryOptions","defaultTableOptions","defaultTextOptions","defaultXYChartOptions"],"mappings":";;;;;;;;;;;;;;;;;AAmEO,MAAM,oBAAuB,GAAA;AAAA,EAClC,QAAW,GAAA;AACT,IAAO,OAAA,IAAI,mBAAqC,CAAA,MAAMA,gBAAsB,CAAA;AAAA,GAC9E;AAAA,EACA,QAAW,GAAA;AACT,IAAO,OAAA,IAAI,mBAAqC,CAAA,MAAMC,gBAAsB,CAAA;AAAA,GAC9E;AAAA,EACA,QAAW,GAAA;AACT,IAAO,OAAA,IAAI,mBAAqC,CAAA,MAAMC,gBAAsB,CAAA;AAAA,GAC9E;AAAA,EACA,UAAa,GAAA;AACX,IAAA,OAAO,IAAI,mBAAwB,EAAA;AAAA,GACrC;AAAA,EACA,KAAQ,GAAA;AACN,IAAO,OAAA,IAAI,mBAAkC,CAAA,MAAMC,gBAAmB,CAAA;AAAA,GACxE;AAAA,EACA,MAAS,GAAA;AACP,IAAO,OAAA,IAAI,mBAAmC,CAAA,MAAMC,gBAAoB,CAAA;AAAA,GAC1E;AAAA,EACA,OAAU,GAAA;AACR,IAAO,OAAA,IAAI,mBAAoC,CAAA,MAAMC,gBAAqB,CAAA;AAAA,GAC5E;AAAA,EACA,SAAY,GAAA;AACV,IAAO,OAAA,IAAI,mBAAsC,CAAA,MAAMC,gBAAuB,CAAA;AAAA,GAChF;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,mBAAiC,EAAA;AAAA,GAC9C;AAAA,EACA,IAAO,GAAA;AACL,IAAO,OAAA,IAAI,mBAAiC,CAAA,MAAMC,gBAAkB,CAAA;AAAA,GACtE;AAAA,EACA,SAAY,GAAA;AACV,IAAA,OAAO,IAAI,mBAAsC,EAAA;AAAA,GACnD;AAAA,EACA,QAAW,GAAA;AACT,IAAO,OAAA,IAAI,mBAAqC,CAAA,MAAMC,gBAAsB,CAAA;AAAA,GAC9E;AAAA,EACA,IAAO,GAAA;AACL,IAAO,OAAA,IAAI,mBAAiC,CAAA,MAAMC,gBAAkB,CAAA;AAAA,GACtE;AAAA,EACA,aAAgB,GAAA;AACd,IAAO,OAAA,IAAI,mBAA0C,CAAA,MAAMC,gBAA2B,CAAA;AAAA,GACxF;AAAA,EACA,aAAgB,GAAA;AACd,IAAO,OAAA,IAAI,mBAA0C,CAAA,MAAMC,gBAA2B,CAAA;AAAA,GACxF;AAAA,EACA,KAAQ,GAAA;AACN,IAAO,OAAA,IAAI,mBAAkC,CAAA,MAAMC,gBAAmB,CAAA;AAAA,GACxE;AAAA,EACA,IAAO,GAAA;AACL,IAAO,OAAA,IAAI,mBAAiC,CAAA,MAAMC,gBAAkB,CAAA;AAAA,GACtE;AAAA,EACA,UAAa,GAAA;AACX,IAAA,OAAO,IAAI,mBAAuC,EAAA;AAAA,GACpD;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,OAAO,IAAI,mBAAwB,EAAA;AAAA,GACrC;AAAA,EACA,MAAS,GAAA;AACP,IAAA,OAAO,IAAI,mBAAkC,EAAA;AAAA,GAC/C;AAAA,EACA,OAAU,GAAA;AACR,IAAO,OAAA,IAAI,mBAAoC,CAAA,MAAMC,cAAqB,CAAA;AAAA;AAE9E;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StandardFieldConfigBuilders.js","sources":["../../../../src/core/PanelBuilders/StandardFieldConfigBuilders.ts"],"sourcesContent":["import { MatcherConfig } from '@grafana/schema';\nimport { StandardFieldConfig, StandardFieldConfigInterface } from './types';\n\n// Base class for standard field config overrides builder methods\nexport class StandardFieldConfigOverridesBuilder<T extends StandardFieldConfigOverridesBuilder<T>>\n implements StandardFieldConfigInterface<StandardFieldConfig, T, 'override'>\n{\n protected _overrides: Array<{ matcher: MatcherConfig; properties: Array<{ id: string; value: unknown }> }> = [];\n\n public overrideColor(value: StandardFieldConfig['color']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'color', value });\n return this as unknown as T;\n }\n\n public overrideDecimals(value: StandardFieldConfig['decimals']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'decimals', value });\n return this as unknown as T;\n }\n\n public overrideDisplayName(value: StandardFieldConfig['displayName']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'displayName', value });\n return this as unknown as T;\n }\n\n public overrideFilterable(value: StandardFieldConfig['filterable']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'filterable', value });\n return this as unknown as T;\n }\n\n public overrideLinks(value: StandardFieldConfig['links']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'links', value });\n return this as unknown as T;\n }\n\n public overrideMappings(value: StandardFieldConfig['mappings']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'mappings', value });\n return this as unknown as T;\n }\n\n public overrideMax(value: StandardFieldConfig['max']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'max', value });\n return this as unknown as T;\n }\n\n public overrideMin(value: StandardFieldConfig['min']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'min', value });\n return this as unknown as T;\n }\n\n public overrideNoValue(value: StandardFieldConfig['noValue']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'noValue', value });\n return this as unknown as T;\n }\n\n public overrideThresholds(value: StandardFieldConfig['thresholds']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'thresholds', value });\n return this as unknown as T;\n }\n\n public overrideUnit(value: StandardFieldConfig['unit']): T {\n this._overrides[this._overrides.length - 1].properties.push({ id: 'unit', value });\n return this as unknown as T;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VizConfigBuilder.js","sources":["../../../../src/core/PanelBuilders/VizConfigBuilder.ts"],"sourcesContent":["import { DeepPartial } from '../types';\nimport { FieldConfigBuilder } from './FieldConfigBuilder';\nimport { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder';\nimport { PanelOptionsBuilder } from './PanelOptionsBuilder';\nimport { StandardFieldConfig, StandardFieldConfigInterface, VizConfig } from './types';\n\nexport class VizConfigBuilder<TOptions extends {}, TFieldConfig extends {}>\n implements StandardFieldConfigInterface<StandardFieldConfig, VizConfigBuilder<TOptions, TFieldConfig>, 'set'>\n{\n private _fieldConfigBuilder: FieldConfigBuilder<TFieldConfig>;\n private _panelOptionsBuilder: PanelOptionsBuilder<TOptions>;\n private _pluginId: string;\n private _pluginVersion: string;\n\n public constructor(\n pluginId: string,\n pluginVersion: string,\n defaultOptions?: () => Partial<TOptions>,\n defaultFieldConfig?: () => TFieldConfig\n ) {\n this._pluginId = pluginId;\n this._pluginVersion = pluginVersion;\n this._fieldConfigBuilder = new FieldConfigBuilder(defaultFieldConfig);\n this._panelOptionsBuilder = new PanelOptionsBuilder(defaultOptions);\n }\n\n /**\n * Set color.\n */\n public setColor(color: StandardFieldConfig['color']): this {\n this._fieldConfigBuilder.setColor(color);\n return this;\n }\n\n /**\n * Set number of decimals to show.\n */\n public setDecimals(decimals: StandardFieldConfig['decimals']): this {\n this._fieldConfigBuilder.setDecimals(decimals);\n return this;\n }\n\n /**\n * Set field display name.\n */\n public setDisplayName(displayName: StandardFieldConfig['displayName']): this {\n this._fieldConfigBuilder.setDisplayName(displayName);\n return this;\n }\n\n /**\n * Set the standard field config property filterable.\n */\n public setFilterable(filterable: StandardFieldConfig['filterable']): this {\n this._fieldConfigBuilder.setFilterable(filterable);\n return this;\n }\n\n /**\n * Set data links.\n */\n public setLinks(links: StandardFieldConfig['links']): this {\n this._fieldConfigBuilder.setLinks(links);\n return this;\n }\n\n /**\n * Set value mappings.\n */\n public setMappings(mappings: StandardFieldConfig['mappings']): this {\n this._fieldConfigBuilder.setMappings(mappings);\n return this;\n }\n\n /**\n * Set the standard field config property max.\n */\n public setMax(max: StandardFieldConfig['max']): this {\n this._fieldConfigBuilder.setMax(max);\n return this;\n }\n\n /**\n * Set the standard field config property min.\n */\n public setMin(min: StandardFieldConfig['min']): this {\n this._fieldConfigBuilder.setMin(min);\n return this;\n }\n\n /**\n * Set the standard field config property noValue.\n */\n public setNoValue(noValue: StandardFieldConfig['noValue']): this {\n this._fieldConfigBuilder.setNoValue(noValue);\n return this;\n }\n\n /**\n * Set the standard field config property thresholds.\n */\n public setThresholds(thresholds: StandardFieldConfig['thresholds']): this {\n this._fieldConfigBuilder.setThresholds(thresholds);\n return this;\n }\n\n /**\n * Set the standard field config property unit.\n */\n public setUnit(unit: StandardFieldConfig['unit']): this {\n this._fieldConfigBuilder.setUnit(unit);\n return this;\n }\n\n public setCustomFieldConfig<T extends TFieldConfig, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this {\n this._fieldConfigBuilder.setCustomFieldConfig(id, value);\n return this;\n }\n\n public setOverrides(builder: (b: FieldConfigOverridesBuilder<TFieldConfig>) => void): this {\n this._fieldConfigBuilder.setOverrides(builder);\n return this;\n }\n\n /**\n * Set an individual panel option. This will merge the value with the existing options.\n */\n public setOption<T extends TOptions, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this {\n this._panelOptionsBuilder.setOption(id, value);\n return this;\n }\n\n /**\n * Build the panel.\n */\n public build(): VizConfig<TOptions, TFieldConfig> {\n return {\n pluginId: this._pluginId,\n pluginVersion: this._pluginVersion,\n options: this._panelOptionsBuilder.build(),\n fieldConfig: this._fieldConfigBuilder.build(),\n };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VizConfigBuilders.js","sources":["../../../../src/core/PanelBuilders/VizConfigBuilders.ts"],"sourcesContent":["import { TableFieldOptions as TableFieldConfig } from '@grafana/schema';\n\nimport {\n Options as BarChartOptions,\n FieldConfig as BarChartFieldConfig,\n defaultOptions as defaultBarChartOptions,\n defaultFieldConfig as defaultBarChartFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';\nimport {\n Options as BarGaugeOptions,\n defaultOptions as defaultBarGaugeOptions,\n} from '@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen';\nimport {\n Options as DataGridOptions,\n defaultOptions as defaultDataGridOptions,\n} from '@grafana/schema/dist/esm/raw/composable/datagrid/panelcfg/x/DatagridPanelCfg_types.gen';\nimport {\n Options as GaugeOptions,\n defaultOptions as defaultGaugeOptions,\n} from '@grafana/schema/dist/esm/raw/composable/gauge/panelcfg/x/GaugePanelCfg_types.gen';\nimport {\n Options as GeomapOptions,\n defaultOptions as defaultGeomapOptions,\n} from '@grafana/schema/dist/esm/raw/composable/geomap/panelcfg/x/GeomapPanelCfg_types.gen';\nimport {\n Options as HeatmapOptions,\n FieldConfig as HeatmapFieldConfig,\n defaultOptions as defaultHeatmapOptions,\n} from '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';\nimport {\n Options as HistogramOptions,\n FieldConfig as HistogramFieldConfig,\n defaultOptions as defaultHistogramOptions,\n defaultFieldConfig as defaultHistogramFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';\nimport { Options as LogsOptions } from '@grafana/schema/dist/esm/raw/composable/logs/panelcfg/x/LogsPanelCfg_types.gen';\nimport {\n Options as NewsOptions,\n defaultOptions as defaultNewsOptions,\n} from '@grafana/schema/dist/esm/raw/composable/news/panelcfg/x/NewsPanelCfg_types.gen';\nimport { Options as NodeGraphOptions } from '@grafana/schema/dist/esm/raw/composable/nodegraph/panelcfg/x/NodeGraphPanelCfg_types.gen';\nimport {\n Options as PieChartOptions,\n FieldConfig as PieChartFieldConfig,\n defaultOptions as defaultPieChartOptions,\n} from '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';\nimport {\n Options as StatOptions,\n defaultOptions as defaultStatOptions,\n} from '@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen';\nimport {\n Options as StateTimelineOptions,\n FieldConfig as StateTimelineFieldConfig,\n defaultOptions as defaultStateTimelineOptions,\n defaultFieldConfig as defaultStateTimelineFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';\nimport {\n Options as StatusHistoryOptions,\n FieldConfig as StatusHistoryFieldConfig,\n defaultOptions as defaultStatusHistoryOptions,\n defaultFieldConfig as defaultStatusHistoryFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';\nimport {\n Options as TableOptions,\n defaultOptions as defaultTableOptions,\n} from '@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen';\nimport {\n Options as TextOptions,\n defaultOptions as defaultTextOptions,\n} from '@grafana/schema/dist/esm/raw/composable/text/panelcfg/x/TextPanelCfg_types.gen';\nimport {\n Options as TimeSeriesOptions,\n FieldConfig as TimeSeriesFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/timeseries/panelcfg/x/TimeSeriesPanelCfg_types.gen';\nimport {\n Options as TrendOptions,\n FieldConfig as TrendFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/trend/panelcfg/x/TrendPanelCfg_types.gen';\nimport {\n Options as XYChartOptions,\n defaultOptions as defaultXYChartOptions,\n defaultFieldConfig as defaultXYChartFieldConfig,\n} from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';\n\nimport { VizConfigBuilder } from './VizConfigBuilder';\n\nexport const VizConfigBuilders = {\n barchart() {\n return new VizConfigBuilder<BarChartOptions, BarChartFieldConfig>(\n 'barchart',\n '10.0.0',\n () => defaultBarChartOptions,\n () => defaultBarChartFieldConfig\n );\n },\n bargauge() {\n return new VizConfigBuilder<BarGaugeOptions, {}>('bargauge', '10.0.0', () => defaultBarGaugeOptions);\n },\n datagrid() {\n return new VizConfigBuilder<DataGridOptions, {}>('datagrid', '10.0.0', () => defaultDataGridOptions);\n },\n flamegraph() {\n return new VizConfigBuilder<{}, {}>('flamegraph', '10.0.0');\n },\n gauge() {\n return new VizConfigBuilder<GaugeOptions, {}>('gauge', '10.0.0', () => defaultGaugeOptions);\n },\n geomap() {\n return new VizConfigBuilder<GeomapOptions, {}>('geomap', '10.0.0', () => defaultGeomapOptions);\n },\n heatmap() {\n return new VizConfigBuilder<HeatmapOptions, HeatmapFieldConfig>('heatmap', '10.0.0', () => defaultHeatmapOptions);\n },\n histogram() {\n return new VizConfigBuilder<HistogramOptions, HistogramFieldConfig>(\n 'histogram',\n '10.0.0',\n () => defaultHistogramOptions,\n () => defaultHistogramFieldConfig\n );\n },\n logs() {\n return new VizConfigBuilder<LogsOptions, {}>('logs', '10.0.0');\n },\n news() {\n return new VizConfigBuilder<NewsOptions, {}>('news', '10.0.0', () => defaultNewsOptions);\n },\n nodegraph() {\n return new VizConfigBuilder<NodeGraphOptions, {}>('nodeGraph', '10.0.0');\n },\n piechart() {\n return new VizConfigBuilder<PieChartOptions, PieChartFieldConfig>(\n 'piechart',\n '10.0.0',\n () => defaultPieChartOptions\n );\n },\n stat() {\n return new VizConfigBuilder<StatOptions, {}>('stat', '10.0.0', () => defaultStatOptions);\n },\n statetimeline() {\n return new VizConfigBuilder<StateTimelineOptions, StateTimelineFieldConfig>(\n 'state-timeline',\n '10.0.0',\n () => defaultStateTimelineOptions,\n () => defaultStateTimelineFieldConfig\n );\n },\n statushistory() {\n return new VizConfigBuilder<StatusHistoryOptions, StatusHistoryFieldConfig>(\n 'status-history',\n '10.0.0',\n () => defaultStatusHistoryOptions,\n () => defaultStatusHistoryFieldConfig\n );\n },\n table() {\n return new VizConfigBuilder<TableOptions, TableFieldConfig>('table', '10.0.0', () => defaultTableOptions);\n },\n text() {\n return new VizConfigBuilder<TextOptions, {}>('text', '10.0.0', () => defaultTextOptions);\n },\n timeseries() {\n return new VizConfigBuilder<TimeSeriesOptions, TimeSeriesFieldConfig>('timeseries', '10.0.0');\n },\n trend() {\n return new VizConfigBuilder<{}, {}>('trend', '10.0.0');\n },\n traces() {\n return new VizConfigBuilder<TrendOptions, TrendFieldConfig>('traces', '10.0.0');\n },\n xychart() {\n return new VizConfigBuilder<XYChartOptions, {}>(\n 'xychart',\n '10.0.0',\n () => defaultXYChartOptions,\n () => defaultXYChartFieldConfig\n );\n },\n};\n"],"names":["defaultBarChartOptions","defaultBarChartFieldConfig","defaultBarGaugeOptions","defaultDataGridOptions","defaultGaugeOptions","defaultGeomapOptions","defaultHeatmapOptions","defaultHistogramOptions","defaultHistogramFieldConfig","defaultNewsOptions","defaultPieChartOptions","defaultStatOptions","defaultStateTimelineOptions","defaultStateTimelineFieldConfig","defaultStatusHistoryOptions","defaultStatusHistoryFieldConfig","defaultTableOptions","defaultTextOptions","defaultXYChartOptions","defaultXYChartFieldConfig"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VizPanelBuilder.js","sources":["../../../../src/core/PanelBuilders/VizPanelBuilder.ts"],"sourcesContent":["import { VizPanel, VizPanelState } from '../../components/VizPanel/VizPanel';\nimport { DeepPartial } from '../types';\nimport { FieldConfigBuilder } from './FieldConfigBuilder';\nimport { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder';\nimport { PanelOptionsBuilder } from './PanelOptionsBuilder';\nimport { StandardFieldConfig, StandardFieldConfigInterface } from './types';\n\nexport class VizPanelBuilder<TOptions extends {}, TFieldConfig extends {}>\n implements StandardFieldConfigInterface<StandardFieldConfig, VizPanelBuilder<TOptions, TFieldConfig>, 'set'>\n{\n private _state: VizPanelState<TOptions, TFieldConfig> = {} as VizPanelState<TOptions, TFieldConfig>;\n private _fieldConfigBuilder: FieldConfigBuilder<TFieldConfig>;\n private _panelOptionsBuilder: PanelOptionsBuilder<TOptions>;\n\n public constructor(\n pluginId: string,\n pluginVersion: string,\n defaultOptions?: () => Partial<TOptions>,\n defaultFieldConfig?: () => TFieldConfig\n ) {\n this._state.title = '';\n this._state.description = '';\n this._state.displayMode = 'default';\n this._state.hoverHeader = false;\n this._state.pluginId = pluginId;\n this._state.pluginVersion = pluginVersion;\n\n this._fieldConfigBuilder = new FieldConfigBuilder(defaultFieldConfig);\n this._panelOptionsBuilder = new PanelOptionsBuilder(defaultOptions);\n }\n\n /**\n * Set panel title.\n */\n public setTitle(title: VizPanelState['title']): this {\n this._state.title = title;\n return this;\n }\n\n /**\n * Set panel description.\n */\n public setDescription(description: VizPanelState['description']): this {\n this._state.description = description;\n return this;\n }\n\n /**\n * Set panel display mode.\n */\n public setDisplayMode(displayMode: VizPanelState['displayMode']): this {\n this._state.displayMode = displayMode;\n return this;\n }\n\n /**\n * Set if panel header should be shown on hover.\n */\n public setHoverHeader(hoverHeader: VizPanelState['hoverHeader']): this {\n this._state.hoverHeader = hoverHeader;\n return this;\n }\n\n /**\n * Set if VizPanelMenu \"kebab\" icon is shown on panel hover for desktop devices. Set true to always show menu icon.\n * @param showMenuAlways\n */\n public setShowMenuAlways(showMenuAlways: VizPanelState['showMenuAlways']): this {\n this._state.showMenuAlways = showMenuAlways;\n return this;\n }\n\n /**\n * Set panel menu scene object.\n */\n public setMenu(menu: VizPanelState['menu']): this {\n this._state.menu = menu;\n return this;\n }\n\n /**\n * Set scene object or react component to use as panel header actions.\n */\n public setHeaderActions(headerActions: VizPanelState['headerActions']): this {\n this._state.headerActions = headerActions;\n return this;\n }\n\n public setCollapsible(collapsible: VizPanelState['collapsible']): this {\n this._state.collapsible = collapsible;\n return this;\n }\n public setCollapsed(collapsed: VizPanelState['collapsed']): this {\n this._state.collapsed = collapsed;\n return this;\n }\n\n /**\n * Set color.\n */\n public setColor(color: StandardFieldConfig['color']): this {\n this._fieldConfigBuilder.setColor(color);\n return this;\n }\n\n /**\n * Set number of decimals to show.\n */\n public setDecimals(decimals: StandardFieldConfig['decimals']): this {\n this._fieldConfigBuilder.setDecimals(decimals);\n return this;\n }\n\n /**\n * Set field display name.\n */\n public setDisplayName(displayName: StandardFieldConfig['displayName']): this {\n this._fieldConfigBuilder.setDisplayName(displayName);\n return this;\n }\n\n /**\n * Set the standard field config property filterable.\n */\n public setFilterable(filterable: StandardFieldConfig['filterable']): this {\n this._fieldConfigBuilder.setFilterable(filterable);\n return this;\n }\n\n /**\n * Set data links.\n */\n public setLinks(links: StandardFieldConfig['links']): this {\n this._fieldConfigBuilder.setLinks(links);\n return this;\n }\n\n /**\n * Set value mappings.\n */\n public setMappings(mappings: StandardFieldConfig['mappings']): this {\n this._fieldConfigBuilder.setMappings(mappings);\n return this;\n }\n\n /**\n * Set the standard field config property max.\n */\n public setMax(max: StandardFieldConfig['max']): this {\n this._fieldConfigBuilder.setMax(max);\n return this;\n }\n\n /**\n * Set the standard field config property min.\n */\n public setMin(min: StandardFieldConfig['min']): this {\n this._fieldConfigBuilder.setMin(min);\n return this;\n }\n\n /**\n * Set the standard field config property noValue.\n */\n public setNoValue(noValue: StandardFieldConfig['noValue']): this {\n this._fieldConfigBuilder.setNoValue(noValue);\n return this;\n }\n\n /**\n * Set the standard field config property thresholds.\n */\n public setThresholds(thresholds: StandardFieldConfig['thresholds']): this {\n this._fieldConfigBuilder.setThresholds(thresholds);\n return this;\n }\n\n /**\n * Set the standard field config property unit.\n */\n public setUnit(unit: StandardFieldConfig['unit']): this {\n this._fieldConfigBuilder.setUnit(unit);\n return this;\n }\n\n public setCustomFieldConfig<T extends TFieldConfig, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this {\n this._fieldConfigBuilder.setCustomFieldConfig(id, value);\n return this;\n }\n\n public setOverrides(builder: (b: FieldConfigOverridesBuilder<TFieldConfig>) => void): this {\n this._fieldConfigBuilder.setOverrides(builder);\n return this;\n }\n\n /**\n * Set an individual panel option. This will merge the value with the existing options.\n */\n public setOption<T extends TOptions, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this {\n this._panelOptionsBuilder.setOption(id, value);\n return this;\n }\n\n /**\n * Set data provider for the panel.\n */\n public setData(data: VizPanelState['$data']): this {\n this._state.$data = data;\n return this;\n }\n\n /**\n * Set time range for the panel.\n */\n public setTimeRange(timeRange: VizPanelState['$timeRange']): this {\n this._state.$timeRange = timeRange;\n return this;\n }\n\n /**\n * Set variables for the panel.\n */\n public setVariables(variables: VizPanelState['$variables']): this {\n this._state.$variables = variables;\n return this;\n }\n\n /**\n * Set behaviors for the panel.\n */\n public setBehaviors(behaviors: VizPanelState['$behaviors']): this {\n this._state.$behaviors = behaviors;\n return this;\n }\n\n /**\n * Sets the default series limit for the panel.\n */\n public setSeriesLimit(seriesLimit: VizPanelState['seriesLimit']): this {\n this._state.seriesLimit = seriesLimit;\n return this;\n }\n\n /**\n * Makes it possible to shared config between different builders\n */\n public applyMixin(mixin: (builder: this) => void): this {\n mixin(this);\n return this;\n }\n\n /**\n * Build the panel.\n */\n public build() {\n const panel = new VizPanel<TOptions, TFieldConfig>({\n ...this._state,\n options: this._panelOptionsBuilder.build(),\n fieldConfig: this._fieldConfigBuilder.build(),\n });\n\n return panel;\n }\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,eAEb,CAAA;AAAA,EAKS,WACL,CAAA,QAAA,EACA,aACA,EAAA,cAAA,EACA,kBACA,EAAA;AATF,IAAA,IAAA,CAAQ,SAAgD,EAAC;AAUvD,IAAA,IAAA,CAAK,OAAO,KAAQ,GAAA,EAAA;AACpB,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,EAAA;AAC1B,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,SAAA;AAC1B,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,KAAA;AAC1B,IAAA,IAAA,CAAK,OAAO,QAAW,GAAA,QAAA;AACvB,IAAA,IAAA,CAAK,OAAO,aAAgB,GAAA,aAAA;AAE5B,IAAK,IAAA,CAAA,mBAAA,GAAsB,IAAI,kBAAA,CAAmB,kBAAkB,CAAA;AACpE,IAAK,IAAA,CAAA,oBAAA,GAAuB,IAAI,mBAAA,CAAoB,cAAc,CAAA;AAAA;AACpE;AAAA;AAAA;AAAA,EAKO,SAAS,KAAqC,EAAA;AACnD,IAAA,IAAA,CAAK,OAAO,KAAQ,GAAA,KAAA;AACpB,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,eAAe,WAAiD,EAAA;AACrE,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,WAAA;AAC1B,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,eAAe,WAAiD,EAAA;AACrE,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,WAAA;AAC1B,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,eAAe,WAAiD,EAAA;AACrE,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,WAAA;AAC1B,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA;AAAA,EAMO,kBAAkB,cAAuD,EAAA;AAC9E,IAAA,IAAA,CAAK,OAAO,cAAiB,GAAA,cAAA;AAC7B,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,QAAQ,IAAmC,EAAA;AAChD,IAAA,IAAA,CAAK,OAAO,IAAO,GAAA,IAAA;AACnB,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,iBAAiB,aAAqD,EAAA;AAC3E,IAAA,IAAA,CAAK,OAAO,aAAgB,GAAA,aAAA;AAC5B,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,eAAe,WAAiD,EAAA;AACrE,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,WAAA;AAC1B,IAAO,OAAA,IAAA;AAAA;AACT,EACO,aAAa,SAA6C,EAAA;AAC/D,IAAA,IAAA,CAAK,OAAO,SAAY,GAAA,SAAA;AACxB,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,SAAS,KAA2C,EAAA;AACzD,IAAK,IAAA,CAAA,mBAAA,CAAoB,SAAS,KAAK,CAAA;AACvC,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,YAAY,QAAiD,EAAA;AAClE,IAAK,IAAA,CAAA,mBAAA,CAAoB,YAAY,QAAQ,CAAA;AAC7C,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,eAAe,WAAuD,EAAA;AAC3E,IAAK,IAAA,CAAA,mBAAA,CAAoB,eAAe,WAAW,CAAA;AACnD,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,cAAc,UAAqD,EAAA;AACxE,IAAK,IAAA,CAAA,mBAAA,CAAoB,cAAc,UAAU,CAAA;AACjD,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,SAAS,KAA2C,EAAA;AACzD,IAAK,IAAA,CAAA,mBAAA,CAAoB,SAAS,KAAK,CAAA;AACvC,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,YAAY,QAAiD,EAAA;AAClE,IAAK,IAAA,CAAA,mBAAA,CAAoB,YAAY,QAAQ,CAAA;AAC7C,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,OAAO,GAAuC,EAAA;AACnD,IAAK,IAAA,CAAA,mBAAA,CAAoB,OAAO,GAAG,CAAA;AACnC,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,OAAO,GAAuC,EAAA;AACnD,IAAK,IAAA,CAAA,mBAAA,CAAoB,OAAO,GAAG,CAAA;AACnC,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,WAAW,OAA+C,EAAA;AAC/D,IAAK,IAAA,CAAA,mBAAA,CAAoB,WAAW,OAAO,CAAA;AAC3C,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,cAAc,UAAqD,EAAA;AACxE,IAAK,IAAA,CAAA,mBAAA,CAAoB,cAAc,UAAU,CAAA;AACjD,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,QAAQ,IAAyC,EAAA;AACtD,IAAK,IAAA,CAAA,mBAAA,CAAoB,QAAQ,IAAI,CAAA;AACrC,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,oBAAA,CAAgE,IAAO,KAAgC,EAAA;AAC5G,IAAK,IAAA,CAAA,mBAAA,CAAoB,oBAAqB,CAAA,EAAA,EAAI,KAAK,CAAA;AACvD,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,aAAa,OAAuE,EAAA;AACzF,IAAK,IAAA,CAAA,mBAAA,CAAoB,aAAa,OAAO,CAAA;AAC7C,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,SAAA,CAAiD,IAAO,KAAgC,EAAA;AAC7F,IAAK,IAAA,CAAA,oBAAA,CAAqB,SAAU,CAAA,EAAA,EAAI,KAAK,CAAA;AAC7C,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,QAAQ,IAAoC,EAAA;AACjD,IAAA,IAAA,CAAK,OAAO,KAAQ,GAAA,IAAA;AACpB,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,aAAa,SAA8C,EAAA;AAChE,IAAA,IAAA,CAAK,OAAO,UAAa,GAAA,SAAA;AACzB,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,aAAa,SAA8C,EAAA;AAChE,IAAA,IAAA,CAAK,OAAO,UAAa,GAAA,SAAA;AACzB,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,aAAa,SAA8C,EAAA;AAChE,IAAA,IAAA,CAAK,OAAO,UAAa,GAAA,SAAA;AACzB,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,eAAe,WAAiD,EAAA;AACrE,IAAA,IAAA,CAAK,OAAO,WAAc,GAAA,WAAA;AAC1B,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,WAAW,KAAsC,EAAA;AACtD,IAAA,KAAA,CAAM,IAAI,CAAA;AACV,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,KAAQ,GAAA;AACb,IAAM,MAAA,KAAA,GAAQ,IAAI,QAAiC,CAAA;AAAA,MACjD,GAAG,IAAK,CAAA,MAAA;AAAA,MACR,OAAA,EAAS,IAAK,CAAA,oBAAA,CAAqB,KAAM,EAAA;AAAA,MACzC,WAAA,EAAa,IAAK,CAAA,mBAAA,CAAoB,KAAM;AAAA,KAC7C,CAAA;AAED,IAAO,OAAA,KAAA;AAAA;AAEX;;;;"}