@grafana/scenes 6.7.0--canary.1084.14153104341.0 → 6.7.0--canary.1086.14257790935.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 (276) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/esm/behaviors/ActWhenVariableChanged.js.map +1 -1
  3. package/dist/esm/behaviors/CursorSync.js +3 -21
  4. package/dist/esm/behaviors/CursorSync.js.map +1 -1
  5. package/dist/esm/behaviors/LiveNowTimer.js +3 -2
  6. package/dist/esm/behaviors/LiveNowTimer.js.map +1 -1
  7. package/dist/esm/behaviors/SceneQueryController.js +7 -37
  8. package/dist/esm/behaviors/SceneQueryController.js.map +1 -1
  9. package/dist/esm/behaviors/SceneRenderProfiler.js +10 -17
  10. package/dist/esm/behaviors/SceneRenderProfiler.js.map +1 -1
  11. package/dist/esm/components/EmbeddedScene.js +1 -12
  12. package/dist/esm/components/EmbeddedScene.js.map +1 -1
  13. package/dist/esm/components/NestedScene.js +23 -30
  14. package/dist/esm/components/NestedScene.js.map +1 -1
  15. package/dist/esm/components/SceneApp/SceneApp.js +1 -11
  16. package/dist/esm/components/SceneApp/SceneApp.js.map +1 -1
  17. package/dist/esm/components/SceneApp/SceneAppPage.js +28 -47
  18. package/dist/esm/components/SceneApp/SceneAppPage.js.map +1 -1
  19. package/dist/esm/components/SceneApp/SceneAppPageView.js +14 -20
  20. package/dist/esm/components/SceneApp/SceneAppPageView.js.map +1 -1
  21. package/dist/esm/components/SceneApp/utils.js +2 -18
  22. package/dist/esm/components/SceneApp/utils.js.map +1 -1
  23. package/dist/esm/components/SceneByFrameRepeater.js +1 -3
  24. package/dist/esm/components/SceneByFrameRepeater.js.map +1 -1
  25. package/dist/esm/components/SceneByVariableRepeater.js +1 -3
  26. package/dist/esm/components/SceneByVariableRepeater.js.map +1 -1
  27. package/dist/esm/components/SceneCanvasText.js +1 -4
  28. package/dist/esm/components/SceneCanvasText.js.map +1 -1
  29. package/dist/esm/components/SceneControlsSpacer.js +1 -3
  30. package/dist/esm/components/SceneControlsSpacer.js.map +1 -1
  31. package/dist/esm/components/SceneDebugger/DebugDetails.js +11 -24
  32. package/dist/esm/components/SceneDebugger/DebugDetails.js.map +1 -1
  33. package/dist/esm/components/SceneDebugger/DebugTreeNode.js +2 -14
  34. package/dist/esm/components/SceneDebugger/DebugTreeNode.js.map +1 -1
  35. package/dist/esm/components/SceneDebugger/SceneDebugger.js +1 -29
  36. package/dist/esm/components/SceneDebugger/SceneDebugger.js.map +1 -1
  37. package/dist/esm/components/SceneReactObject.js +1 -17
  38. package/dist/esm/components/SceneReactObject.js.map +1 -1
  39. package/dist/esm/components/SceneRefreshPicker.js +23 -38
  40. package/dist/esm/components/SceneRefreshPicker.js.map +1 -1
  41. package/dist/esm/components/SceneTimePicker.js +27 -29
  42. package/dist/esm/components/SceneTimePicker.js.map +1 -1
  43. package/dist/esm/components/SceneTimeRangeCompare.js +36 -50
  44. package/dist/esm/components/SceneTimeRangeCompare.js.map +1 -1
  45. package/dist/esm/components/SceneToolbarButton.js +10 -14
  46. package/dist/esm/components/SceneToolbarButton.js.map +1 -1
  47. package/dist/esm/components/VizPanel/VizPanel.js +20 -29
  48. package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
  49. package/dist/esm/components/VizPanel/VizPanelExploreButton.js +17 -13
  50. package/dist/esm/components/VizPanel/VizPanelExploreButton.js.map +1 -1
  51. package/dist/esm/components/VizPanel/VizPanelMenu.js +18 -20
  52. package/dist/esm/components/VizPanel/VizPanelMenu.js.map +1 -1
  53. package/dist/esm/components/VizPanel/VizPanelRenderer.js +92 -122
  54. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
  55. package/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +7 -15
  56. package/dist/esm/components/VizPanel/VizPanelSeriesLimit.js.map +1 -1
  57. package/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +15 -29
  58. package/dist/esm/components/VizPanel/colorSeriesConfigFactory.js.map +1 -1
  59. package/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +3 -21
  60. package/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js.map +1 -1
  61. package/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +22 -34
  62. package/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js.map +1 -1
  63. package/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +8 -40
  64. package/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js.map +1 -1
  65. package/dist/esm/components/layout/LazyLoader.js +2 -35
  66. package/dist/esm/components/layout/LazyLoader.js.map +1 -1
  67. package/dist/esm/components/layout/SceneFlexLayout.js +3 -13
  68. package/dist/esm/components/layout/SceneFlexLayout.js.map +1 -1
  69. package/dist/esm/components/layout/grid/SceneGridItem.js +1 -3
  70. package/dist/esm/components/layout/grid/SceneGridItem.js.map +1 -1
  71. package/dist/esm/components/layout/grid/SceneGridLayout.js +26 -26
  72. package/dist/esm/components/layout/grid/SceneGridLayout.js.map +1 -1
  73. package/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +89 -111
  74. package/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js.map +1 -1
  75. package/dist/esm/components/layout/grid/SceneGridRow.js +15 -48
  76. package/dist/esm/components/layout/grid/SceneGridRow.js.map +1 -1
  77. package/dist/esm/components/layout/grid/constants.js.map +1 -1
  78. package/dist/esm/components/layout/grid/types.js.map +1 -1
  79. package/dist/esm/components/layout/grid/utils.js +3 -21
  80. package/dist/esm/components/layout/grid/utils.js.map +1 -1
  81. package/dist/esm/components/layout/split/SplitLayout.js.map +1 -1
  82. package/dist/esm/components/layout/split/SplitLayoutRenderer.js +11 -14
  83. package/dist/esm/components/layout/split/SplitLayoutRenderer.js.map +1 -1
  84. package/dist/esm/components/layout/split/Splitter.js +60 -58
  85. package/dist/esm/components/layout/split/Splitter.js.map +1 -1
  86. package/dist/esm/core/PanelBuilders/FieldConfigBuilder.js +46 -23
  87. package/dist/esm/core/PanelBuilders/FieldConfigBuilder.js.map +1 -1
  88. package/dist/esm/core/PanelBuilders/FieldConfigBuilders.js +8 -8
  89. package/dist/esm/core/PanelBuilders/FieldConfigBuilders.js.map +1 -1
  90. package/dist/esm/core/PanelBuilders/FieldConfigOverridesBuilder.js.map +1 -1
  91. package/dist/esm/core/PanelBuilders/PanelOptionsBuilder.js +3 -0
  92. package/dist/esm/core/PanelBuilders/PanelOptionsBuilder.js.map +1 -1
  93. package/dist/esm/core/PanelBuilders/PanelOptionsBuilders.js +28 -28
  94. package/dist/esm/core/PanelBuilders/PanelOptionsBuilders.js.map +1 -1
  95. package/dist/esm/core/PanelBuilders/StandardFieldConfigBuilders.js.map +1 -1
  96. package/dist/esm/core/PanelBuilders/VizConfigBuilder.js +39 -0
  97. package/dist/esm/core/PanelBuilders/VizConfigBuilder.js.map +1 -1
  98. package/dist/esm/core/PanelBuilders/VizConfigBuilders.js +32 -32
  99. package/dist/esm/core/PanelBuilders/VizConfigBuilders.js.map +1 -1
  100. package/dist/esm/core/PanelBuilders/VizPanelBuilder.js +82 -21
  101. package/dist/esm/core/PanelBuilders/VizPanelBuilder.js.map +1 -1
  102. package/dist/esm/core/PanelBuilders/index.js +32 -32
  103. package/dist/esm/core/PanelBuilders/index.js.map +1 -1
  104. package/dist/esm/core/SceneComponentWrapper.js +4 -38
  105. package/dist/esm/core/SceneComponentWrapper.js.map +1 -1
  106. package/dist/esm/core/SceneDataNode.js +4 -19
  107. package/dist/esm/core/SceneDataNode.js.map +1 -1
  108. package/dist/esm/core/SceneObjectBase.js +55 -17
  109. package/dist/esm/core/SceneObjectBase.js.map +1 -1
  110. package/dist/esm/core/SceneObjectRef.js +7 -18
  111. package/dist/esm/core/SceneObjectRef.js.map +1 -1
  112. package/dist/esm/core/SceneScopesBridge.js +14 -0
  113. package/dist/esm/core/SceneScopesBridge.js.map +1 -1
  114. package/dist/esm/core/SceneTimeRange.js +9 -17
  115. package/dist/esm/core/SceneTimeRange.js.map +1 -1
  116. package/dist/esm/core/SceneTimeRangeTransformerBase.js.map +1 -1
  117. package/dist/esm/core/SceneTimeZoneOverride.js +7 -23
  118. package/dist/esm/core/SceneTimeZoneOverride.js.map +1 -1
  119. package/dist/esm/core/events.js.map +1 -1
  120. package/dist/esm/core/sceneGraph/getQueryController.js.map +1 -1
  121. package/dist/esm/core/sceneGraph/getTimeRange.js.map +1 -1
  122. package/dist/esm/core/sceneGraph/index.js +1 -1
  123. package/dist/esm/core/sceneGraph/index.js.map +1 -1
  124. package/dist/esm/core/sceneGraph/sceneGraph.js.map +1 -1
  125. package/dist/esm/core/sceneGraph/utils.js +1 -17
  126. package/dist/esm/core/sceneGraph/utils.js.map +1 -1
  127. package/dist/esm/core/types.js.map +1 -1
  128. package/dist/esm/index.js +6 -5
  129. package/dist/esm/index.js.map +1 -1
  130. package/dist/esm/querying/DataLayersMerger.js.map +1 -1
  131. package/dist/esm/querying/DataProviderProxy.js.map +1 -1
  132. package/dist/esm/querying/ExtraQueryProvider.js.map +1 -1
  133. package/dist/esm/querying/RuntimeDataSource.js.map +1 -1
  134. package/dist/esm/querying/SceneDataLayerSet.js +9 -24
  135. package/dist/esm/querying/SceneDataLayerSet.js.map +1 -1
  136. package/dist/esm/querying/SceneDataTransformer.js +11 -24
  137. package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
  138. package/dist/esm/querying/SceneQueryRunner.js +44 -33
  139. package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
  140. package/dist/esm/querying/extraQueryProcessingOperator.js +3 -21
  141. package/dist/esm/querying/extraQueryProcessingOperator.js.map +1 -1
  142. package/dist/esm/querying/getEnrichedDataRequest.js.map +1 -1
  143. package/dist/esm/querying/layers/SceneDataLayerBase.js +16 -19
  144. package/dist/esm/querying/layers/SceneDataLayerBase.js.map +1 -1
  145. package/dist/esm/querying/layers/SceneDataLayerControls.js +15 -21
  146. package/dist/esm/querying/layers/SceneDataLayerControls.js.map +1 -1
  147. package/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +12 -30
  148. package/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js.map +1 -1
  149. package/dist/esm/querying/layers/annotations/filterAnnotations.js +6 -23
  150. package/dist/esm/querying/layers/annotations/filterAnnotations.js.map +1 -1
  151. package/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +19 -29
  152. package/dist/esm/querying/layers/annotations/standardAnnotationQuery.js.map +1 -1
  153. package/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +14 -34
  154. package/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js.map +1 -1
  155. package/dist/esm/querying/layers/annotations/utils.js +1 -17
  156. package/dist/esm/querying/layers/annotations/utils.js.map +1 -1
  157. package/dist/esm/querying/registerQueryWithController.js.map +1 -1
  158. package/dist/esm/services/SceneObjectUrlSyncConfig.js.map +1 -1
  159. package/dist/esm/services/UniqueUrlKeyMapper.js.map +1 -1
  160. package/dist/esm/services/UrlSyncContextProvider.js.map +1 -1
  161. package/dist/esm/services/UrlSyncManager.js +11 -19
  162. package/dist/esm/services/UrlSyncManager.js.map +1 -1
  163. package/dist/esm/services/useUrlSync.js.map +1 -1
  164. package/dist/esm/services/utils.js.map +1 -1
  165. package/dist/esm/utils/ControlsLabel.js +76 -53
  166. package/dist/esm/utils/ControlsLabel.js.map +1 -1
  167. package/dist/esm/utils/LoadingIndicator.js +11 -10
  168. package/dist/esm/utils/LoadingIndicator.js.map +1 -1
  169. package/dist/esm/utils/SafeSerializableSceneObject.js +7 -18
  170. package/dist/esm/utils/SafeSerializableSceneObject.js.map +1 -1
  171. package/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js.map +1 -1
  172. package/dist/esm/utils/date.js.map +1 -1
  173. package/dist/esm/utils/evaluateTimeRange.js.map +1 -1
  174. package/dist/esm/utils/explore.js.map +1 -1
  175. package/dist/esm/utils/getCompareSeriesRefId.js.map +1 -1
  176. package/dist/esm/utils/getDataSource.js.map +1 -1
  177. package/dist/esm/utils/getMessageFromError.js.map +1 -1
  178. package/dist/esm/utils/metricTree.js.map +1 -1
  179. package/dist/esm/utils/parseUrlParam.js.map +1 -1
  180. package/dist/esm/utils/utils.js.map +1 -1
  181. package/dist/esm/utils/wrapInSafeSerializableSceneObject.js.map +1 -1
  182. package/dist/esm/utils/writeSceneLog.js.map +1 -1
  183. package/dist/esm/variables/VariableDependencyConfig.js +9 -0
  184. package/dist/esm/variables/VariableDependencyConfig.js.map +1 -1
  185. package/dist/esm/variables/VariableValueRecorder.js.map +1 -1
  186. package/dist/esm/variables/adhoc/AdHocFilterBuilder.js +13 -12
  187. package/dist/esm/variables/adhoc/AdHocFilterBuilder.js.map +1 -1
  188. package/dist/esm/variables/adhoc/AdHocFilterRenderer.js +129 -142
  189. package/dist/esm/variables/adhoc/AdHocFilterRenderer.js.map +1 -1
  190. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +84 -91
  191. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js.map +1 -1
  192. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +1 -6
  193. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js.map +1 -1
  194. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +195 -194
  195. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
  196. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +34 -28
  197. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +1 -1
  198. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +28 -65
  199. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js.map +1 -1
  200. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +29 -43
  201. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js.map +1 -1
  202. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +2 -1
  203. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js.map +1 -1
  204. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js.map +1 -1
  205. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +56 -73
  206. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  207. package/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js.map +1 -1
  208. package/dist/esm/variables/adhoc/getAdHocFiltersFromScopes.js +1 -0
  209. package/dist/esm/variables/adhoc/getAdHocFiltersFromScopes.js.map +1 -1
  210. package/dist/esm/variables/adhoc/getAdhocOptionSearcher.js.map +1 -1
  211. package/dist/esm/variables/adhoc/patchGetAdhocFilters.js.map +1 -1
  212. package/dist/esm/variables/components/VariableValueControl.js +9 -6
  213. package/dist/esm/variables/components/VariableValueControl.js.map +1 -1
  214. package/dist/esm/variables/components/VariableValueInput.js +13 -10
  215. package/dist/esm/variables/components/VariableValueInput.js.map +1 -1
  216. package/dist/esm/variables/components/VariableValueSelect.js +90 -115
  217. package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
  218. package/dist/esm/variables/components/VariableValueSelectors.js +25 -37
  219. package/dist/esm/variables/components/VariableValueSelectors.js.map +1 -1
  220. package/dist/esm/variables/components/getOptionSearcher.js +1 -1
  221. package/dist/esm/variables/components/getOptionSearcher.js.map +1 -1
  222. package/dist/esm/variables/constants.js.map +1 -1
  223. package/dist/esm/variables/filter.js +6 -1
  224. package/dist/esm/variables/filter.js.map +1 -1
  225. package/dist/esm/variables/getEnrichedFiltersRequest.js.map +1 -1
  226. package/dist/esm/variables/groupby/GroupByVariable.js +106 -112
  227. package/dist/esm/variables/groupby/GroupByVariable.js.map +1 -1
  228. package/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js.map +1 -1
  229. package/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js.map +1 -1
  230. package/dist/esm/variables/interpolation/ScopedVarsVariable.js.map +1 -1
  231. package/dist/esm/variables/interpolation/defaults.js.map +1 -1
  232. package/dist/esm/variables/interpolation/fieldAccessorCache.js.map +1 -1
  233. package/dist/esm/variables/interpolation/formatRegistry.js.map +1 -1
  234. package/dist/esm/variables/interpolation/sceneInterpolator.js.map +1 -1
  235. package/dist/esm/variables/lookupVariable.js.map +1 -1
  236. package/dist/esm/variables/macros/AllVariablesMacro.js.map +1 -1
  237. package/dist/esm/variables/macros/contextMacros.js.map +1 -1
  238. package/dist/esm/variables/macros/dataMacros.js.map +1 -1
  239. package/dist/esm/variables/macros/index.js.map +1 -1
  240. package/dist/esm/variables/macros/templateProxies.js +4 -21
  241. package/dist/esm/variables/macros/templateProxies.js.map +1 -1
  242. package/dist/esm/variables/macros/timeMacros.js.map +1 -1
  243. package/dist/esm/variables/macros/types.js.map +1 -1
  244. package/dist/esm/variables/macros/urlMacros.js.map +1 -1
  245. package/dist/esm/variables/sets/SceneVariableSet.js +44 -0
  246. package/dist/esm/variables/sets/SceneVariableSet.js.map +1 -1
  247. package/dist/esm/variables/types.js.map +1 -1
  248. package/dist/esm/variables/utils.js.map +1 -1
  249. package/dist/esm/variables/variants/ConstantVariable.js +4 -23
  250. package/dist/esm/variables/variants/ConstantVariable.js.map +1 -1
  251. package/dist/esm/variables/variants/CustomVariable.js +4 -19
  252. package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
  253. package/dist/esm/variables/variants/DataSourceVariable.js +4 -19
  254. package/dist/esm/variables/variants/DataSourceVariable.js.map +1 -1
  255. package/dist/esm/variables/variants/IntervalVariable.js +17 -29
  256. package/dist/esm/variables/variants/IntervalVariable.js.map +1 -1
  257. package/dist/esm/variables/variants/LocalValueVariable.js +8 -23
  258. package/dist/esm/variables/variants/LocalValueVariable.js.map +1 -1
  259. package/dist/esm/variables/variants/MultiValueVariable.js +16 -0
  260. package/dist/esm/variables/variants/MultiValueVariable.js.map +1 -1
  261. package/dist/esm/variables/variants/TestVariable.js +5 -19
  262. package/dist/esm/variables/variants/TestVariable.js.map +1 -1
  263. package/dist/esm/variables/variants/TextBoxVariable.js +5 -22
  264. package/dist/esm/variables/variants/TextBoxVariable.js.map +1 -1
  265. package/dist/esm/variables/variants/guards.js.map +1 -1
  266. package/dist/esm/variables/variants/query/QueryVariable.js +8 -20
  267. package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
  268. package/dist/esm/variables/variants/query/createQueryVariableRunner.js +6 -23
  269. package/dist/esm/variables/variants/query/createQueryVariableRunner.js.map +1 -1
  270. package/dist/esm/variables/variants/query/guards.js.map +1 -1
  271. package/dist/esm/variables/variants/query/toMetricFindValues.js.map +1 -1
  272. package/dist/esm/variables/variants/query/utils.js.map +1 -1
  273. package/dist/index.d.ts +40 -8
  274. package/dist/index.js +2103 -2820
  275. package/dist/index.js.map +1 -1
  276. package/package.json +8 -9
@@ -1 +1 @@
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,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,CAAA;AAE1E,EAAA,MAAM,iBAAoB,GAAA,IAAA,CAAK,KAAM,CAAA,aAAA,IAAiB,mBAAmB,iBAAkB,CAAA,CAAA,CAAA;AAC3F,EAAA,MAAM,cAAc,iBAAoB,GAAA,iBAAA,CAAA;AAExC,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,IAAS,KAAA;AACzB,IAAA,OAAO,iCACF,IADE,CAAA,EAAA;AAAA,MAEL,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,CAAA;AAAA,KACzC,CAAA,CAAA;AAAA,GACD,CAAA,CAAA;AACH;;;;"}
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 +1 @@
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,KAAA;AAAA,KACxD,CAAA,CAAA;AAAA,GACH;AAAA,EAEO,WAAuB,GAAA;AAC5B,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACF,CAAA;AAZa,WAAA,CACG,SAAY,GAAA,mBAAA;;;;"}
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;;;;"}
@@ -9,20 +9,17 @@ function SplitLayoutRenderer({ model }) {
9
9
  const Prim = primary.Component;
10
10
  const Sec = secondary == null ? void 0 : secondary.Component;
11
11
  let startSize = secondary ? initialSize : 1;
12
- return /* @__PURE__ */ React.createElement(Splitter, {
13
- direction,
14
- initialSize: startSize != null ? startSize : 0.5,
15
- primaryPaneStyles,
16
- secondaryPaneStyles
17
- }, /* @__PURE__ */ React.createElement(Prim, {
18
- key: primary.state.key,
19
- model: primary,
20
- parentState: model.state
21
- }), Sec && secondary && /* @__PURE__ */ React.createElement(Sec, {
22
- key: secondary.state.key,
23
- model: secondary,
24
- parentState: model.state
25
- }));
12
+ return /* @__PURE__ */ React.createElement(
13
+ Splitter,
14
+ {
15
+ direction,
16
+ initialSize: startSize != null ? startSize : 0.5,
17
+ primaryPaneStyles,
18
+ secondaryPaneStyles
19
+ },
20
+ /* @__PURE__ */ React.createElement(Prim, { key: primary.state.key, model: primary, parentState: model.state }),
21
+ Sec && secondary && /* @__PURE__ */ React.createElement(Sec, { key: secondary.state.key, model: secondary, parentState: model.state })
22
+ );
26
23
  }
27
24
 
28
25
  export { SplitLayoutRenderer };
@@ -1 +1 @@
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,CAAA;AAEjB,EAAA,IAAI,QAAU,EAAA;AACZ,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,OAAO,OAAQ,CAAA,SAAA,CAAA;AACrB,EAAA,MAAM,MAAM,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,SAAA,CAAA;AACvB,EAAI,IAAA,SAAA,GAAY,YAAY,WAAc,GAAA,CAAA,CAAA;AAE1C,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA;AAAA,IACC,SAAA;AAAA,IACA,aAAa,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,GAAA;AAAA,IAC1B,iBAAA;AAAA,IACA,mBAAA;AAAA,GAAA,kBAEC,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,GAAA,EAAK,QAAQ,KAAM,CAAA,GAAA;AAAA,IAAK,KAAO,EAAA,OAAA;AAAA,IAAS,aAAa,KAAM,CAAA,KAAA;AAAA,GAAO,CAAA,EACvE,GAAO,IAAA,SAAA,oBAAc,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AAAA,IAAI,GAAA,EAAK,UAAU,KAAM,CAAA,GAAA;AAAA,IAAK,KAAO,EAAA,SAAA;AAAA,IAAW,aAAa,KAAM,CAAA,KAAA;AAAA,GAAO,CAClG,CAAA,CAAA;AAEJ;;;;"}
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;;;;"}
@@ -4,22 +4,6 @@ import { clamp, throttle } from 'lodash';
4
4
  import React, { useRef, useCallback, useLayoutEffect } from 'react';
5
5
  import { useUniqueId } from '../LazyLoader.js';
6
6
 
7
- var __defProp = Object.defineProperty;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
7
  const PIXELS_PER_MS = 0.3;
24
8
  const VERTICAL_KEYS = /* @__PURE__ */ new Set(["ArrowUp", "ArrowDown"]);
25
9
  const HORIZONTAL_KEYS = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowRight"]);
@@ -241,48 +225,66 @@ function Splitter({
241
225
  const id = useUniqueId();
242
226
  const secondAvailable = kids.length === 2;
243
227
  const visibilitySecond = secondAvailable ? "visible" : "hidden";
244
- return /* @__PURE__ */ React.createElement("div", {
245
- ref: containerRef,
246
- className: styles.container,
247
- style: {
248
- flexDirection: direction
249
- }
250
- }, /* @__PURE__ */ React.createElement("div", {
251
- ref: firstPaneRef,
252
- className: styles.panel,
253
- style: __spreadValues({
254
- flexGrow: initialSize === "auto" ? 0.5 : clamp(initialSize, 0, 1),
255
- [minDimProp]: "min-content"
256
- }, primaryPaneStyles),
257
- id: `start-panel-${id}`
258
- }, kids[0]), kids[1] && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
259
- ref: splitterRef,
260
- style: { [measurementProp]: `${handleSize}px` },
261
- className: cx(styles.handle, { [styles.handleHorizontal]: direction === "column" }),
262
- onPointerUp,
263
- onPointerDown,
264
- onPointerMove,
265
- onKeyDown,
266
- onKeyUp,
267
- onDoubleClick,
268
- onBlur,
269
- role: "separator",
270
- "aria-valuemin": 0,
271
- "aria-valuemax": 100,
272
- "aria-valuenow": 50,
273
- "aria-controls": `start-panel-${id}`,
274
- "aria-label": "Pane resize widget",
275
- tabIndex: 0
276
- }), /* @__PURE__ */ React.createElement("div", {
277
- ref: secondPaneRef,
278
- className: styles.panel,
279
- style: __spreadValues({
280
- flexGrow: initialSize === "auto" ? 0.5 : clamp(1 - initialSize, 0, 1),
281
- [minDimProp]: "min-content",
282
- visibility: `${visibilitySecond}`
283
- }, secondaryPaneStyles),
284
- id: `end-panel-${id}`
285
- }, kids[1])));
228
+ return /* @__PURE__ */ React.createElement(
229
+ "div",
230
+ {
231
+ ref: containerRef,
232
+ className: styles.container,
233
+ style: {
234
+ flexDirection: direction
235
+ }
236
+ },
237
+ /* @__PURE__ */ React.createElement(
238
+ "div",
239
+ {
240
+ ref: firstPaneRef,
241
+ className: styles.panel,
242
+ style: {
243
+ flexGrow: initialSize === "auto" ? 0.5 : clamp(initialSize, 0, 1),
244
+ [minDimProp]: "min-content",
245
+ ...primaryPaneStyles
246
+ },
247
+ id: `start-panel-${id}`
248
+ },
249
+ kids[0]
250
+ ),
251
+ kids[1] && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
252
+ "div",
253
+ {
254
+ ref: splitterRef,
255
+ style: { [measurementProp]: `${handleSize}px` },
256
+ className: cx(styles.handle, { [styles.handleHorizontal]: direction === "column" }),
257
+ onPointerUp,
258
+ onPointerDown,
259
+ onPointerMove,
260
+ onKeyDown,
261
+ onKeyUp,
262
+ onDoubleClick,
263
+ onBlur,
264
+ role: "separator",
265
+ "aria-valuemin": 0,
266
+ "aria-valuemax": 100,
267
+ "aria-valuenow": 50,
268
+ "aria-controls": `start-panel-${id}`,
269
+ "aria-label": "Pane resize widget",
270
+ tabIndex: 0
271
+ }
272
+ ), /* @__PURE__ */ React.createElement(
273
+ "div",
274
+ {
275
+ ref: secondPaneRef,
276
+ className: styles.panel,
277
+ style: {
278
+ flexGrow: initialSize === "auto" ? 0.5 : clamp(1 - initialSize, 0, 1),
279
+ [minDimProp]: "min-content",
280
+ visibility: `${visibilitySecond}`,
281
+ ...secondaryPaneStyles
282
+ },
283
+ id: `end-panel-${id}`
284
+ },
285
+ kids[1]
286
+ ))
287
+ );
286
288
  }
287
289
  function getStyles(theme) {
288
290
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"Splitter.js","sources":["../../../../../src/components/layout/split/Splitter.tsx"],"sourcesContent":["import { 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=\"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
+ {"version":3,"file":"Splitter.js","sources":["../../../../../src/components/layout/split/Splitter.tsx"],"sourcesContent":["import { 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=\"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,25 +1,6 @@
1
1
  import { cloneDeep, merge } from 'lodash';
2
2
  import { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder.js';
3
3
 
4
- var __defProp = Object.defineProperty;
5
- var __defProps = Object.defineProperties;
6
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {}))
13
- if (__hasOwnProp.call(b, prop))
14
- __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols)
16
- for (var prop of __getOwnPropSymbols(b)) {
17
- if (__propIsEnum.call(b, prop))
18
- __defNormalProp(a, prop, b[prop]);
19
- }
20
- return a;
21
- };
22
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
4
  class FieldConfigBuilder {
24
5
  constructor(defaultFieldConfig) {
25
6
  this.defaultFieldConfig = defaultFieldConfig;
@@ -35,57 +16,99 @@ class FieldConfigBuilder {
35
16
  defaults: {
36
17
  custom: this.defaultFieldConfig ? cloneDeep(this.defaultFieldConfig()) : {}
37
18
  },
19
+ // use field config factory that will provide default field config
38
20
  overrides: []
39
21
  };
40
22
  this._fieldConfig = fieldConfig;
41
23
  }
24
+ /**
25
+ * Set color.
26
+ */
42
27
  setColor(color) {
43
28
  return this.setFieldConfigDefaults("color", color);
44
29
  }
30
+ /**
31
+ * Set number of decimals to show.
32
+ */
45
33
  setDecimals(decimals) {
46
34
  return this.setFieldConfigDefaults("decimals", decimals);
47
35
  }
36
+ /**
37
+ * Set field display name.
38
+ */
48
39
  setDisplayName(displayName) {
49
40
  return this.setFieldConfigDefaults("displayName", displayName);
50
41
  }
42
+ /**
43
+ * Set the standard field config property filterable.
44
+ */
51
45
  setFilterable(filterable) {
52
46
  return this.setFieldConfigDefaults("filterable", filterable);
53
47
  }
48
+ /**
49
+ * Set data links.
50
+ */
54
51
  setLinks(links) {
55
52
  return this.setFieldConfigDefaults("links", links);
56
53
  }
54
+ /**
55
+ * Set value mappings.
56
+ */
57
57
  setMappings(mappings) {
58
58
  return this.setFieldConfigDefaults("mappings", mappings);
59
59
  }
60
+ /**
61
+ * Set the standard field config property max.
62
+ */
60
63
  setMax(max) {
61
64
  return this.setFieldConfigDefaults("max", max);
62
65
  }
66
+ /**
67
+ * Set the standard field config property min.
68
+ */
63
69
  setMin(min) {
64
70
  return this.setFieldConfigDefaults("min", min);
65
71
  }
72
+ /**
73
+ * Set the standard field config property noValue.
74
+ */
66
75
  setNoValue(noValue) {
67
76
  return this.setFieldConfigDefaults("noValue", noValue);
68
77
  }
78
+ /**
79
+ * Set the standard field config property thresholds.
80
+ */
69
81
  setThresholds(thresholds) {
70
82
  return this.setFieldConfigDefaults("thresholds", thresholds);
71
83
  }
84
+ /**
85
+ * Set the standard field config property unit.
86
+ */
72
87
  setUnit(unit) {
73
88
  return this.setFieldConfigDefaults("unit", unit);
74
89
  }
90
+ /**
91
+ * Set an individual custom field config value. This will merge the value with the existing custom field config.
92
+ */
75
93
  setCustomFieldConfig(id, value) {
76
- this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {
94
+ this._fieldConfig.defaults = {
95
+ ...this._fieldConfig.defaults,
77
96
  custom: merge(this._fieldConfig.defaults.custom, { [id]: value })
78
- });
97
+ };
79
98
  return this;
80
99
  }
100
+ /**
101
+ * Configure overrides for the field config. This will merge the overrides with the existing overrides.
102
+ */
81
103
  setOverrides(builder) {
82
104
  builder(this._overridesBuilder);
83
105
  return this;
84
106
  }
85
107
  setFieldConfigDefaults(key, value) {
86
- this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {
108
+ this._fieldConfig.defaults = {
109
+ ...this._fieldConfig.defaults,
87
110
  [key]: value
88
- });
111
+ };
89
112
  return this;
90
113
  }
91
114
  build() {
@@ -1 +1 @@
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
+ {"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":";;;AAMO,MAAM,kBAEb,CAAA;AAAA,EAOS,YAAoB,kBAAyC,EAAA;AAAzC,IAAA,IAAA,CAAA,kBAAA,GAAA,kBAAA;AAN3B,IAAA,IAAA,CAAQ,YAA6D,GAAA;AAAA,MACnE,UAAU,EAAC;AAAA,MACX,WAAW;AAAC,KACd;AACA,IAAQ,IAAA,CAAA,iBAAA,GAAoB,IAAI,2BAA0C,EAAA;AAGxE,IAAA,IAAA,CAAK,WAAY,EAAA;AAAA;AACnB,EAEQ,WAAc,GAAA;AACpB,IAAA,MAAM,WAA+C,GAAA;AAAA,MACnD,QAAU,EAAA;AAAA,QACR,MAAA,EAAQ,KAAK,kBAAqB,GAAA,SAAA,CAAU,KAAK,kBAAmB,EAAC,IAAK;AAAC,OAC7E;AAAA;AAAA,MACA,WAAW;AAAC,KACd;AAEA,IAAA,IAAA,CAAK,YAAe,GAAA,WAAA;AAAA;AACtB;AAAA;AAAA;AAAA,EAIO,SAAS,KAA2C,EAAA;AACzD,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,OAAA,EAAS,KAAK,CAAA;AAAA;AACnD;AAAA;AAAA;AAAA,EAKO,YAAY,QAAiD,EAAA;AAClE,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,UAAA,EAAY,QAAQ,CAAA;AAAA;AACzD;AAAA;AAAA;AAAA,EAKO,eAAe,WAAuD,EAAA;AAC3E,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,aAAA,EAAe,WAAW,CAAA;AAAA;AAC/D;AAAA;AAAA;AAAA,EAKO,cAAc,UAAqD,EAAA;AACxE,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,YAAA,EAAc,UAAU,CAAA;AAAA;AAC7D;AAAA;AAAA;AAAA,EAKO,SAAS,KAA2C,EAAA;AACzD,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,OAAA,EAAS,KAAK,CAAA;AAAA;AACnD;AAAA;AAAA;AAAA,EAKO,YAAY,QAAiD,EAAA;AAClE,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,UAAA,EAAY,QAAQ,CAAA;AAAA;AACzD;AAAA;AAAA;AAAA,EAKO,OAAO,GAAuC,EAAA;AACnD,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,KAAA,EAAO,GAAG,CAAA;AAAA;AAC/C;AAAA;AAAA;AAAA,EAKO,OAAO,GAAuC,EAAA;AACnD,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,KAAA,EAAO,GAAG,CAAA;AAAA;AAC/C;AAAA;AAAA;AAAA,EAKO,WAAW,OAA+C,EAAA;AAC/D,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,SAAA,EAAW,OAAO,CAAA;AAAA;AACvD;AAAA;AAAA;AAAA,EAKO,cAAc,UAAqD,EAAA;AACxE,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,YAAA,EAAc,UAAU,CAAA;AAAA;AAC7D;AAAA;AAAA;AAAA,EAKO,QAAQ,IAAyC,EAAA;AACtD,IAAO,OAAA,IAAA,CAAK,sBAAuB,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA;AACjD;AAAA;AAAA;AAAA,EAKO,oBAAA,CAAgE,IAAO,KAAgC,EAAA;AAC5G,IAAA,IAAA,CAAK,aAAa,QAAW,GAAA;AAAA,MAC3B,GAAG,KAAK,YAAa,CAAA,QAAA;AAAA,MACrB,MAAA,EAAQ,KAAM,CAAA,IAAA,CAAK,YAAa,CAAA,QAAA,CAAS,MAAQ,EAAA,EAAE,CAAC,EAAE,GAAG,KAAA,EAAO;AAAA,KAClE;AAEA,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKO,aAAa,OAAuE,EAAA;AACzF,IAAA,OAAA,CAAQ,KAAK,iBAAiB,CAAA;AAC9B,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,sBAAA,CAA4D,KAAQ,KAA+B,EAAA;AACxG,IAAA,IAAA,CAAK,aAAa,QAAW,GAAA;AAAA,MAC3B,GAAG,KAAK,YAAa,CAAA,QAAA;AAAA,MACrB,CAAC,GAAG,GAAG;AAAA,KACT;AACA,IAAO,OAAA,IAAA;AAAA;AACT,EAEO,KAAQ,GAAA;AACb,IAAO,OAAA;AAAA,MACL,QAAA,EAAU,KAAK,YAAa,CAAA,QAAA;AAAA,MAC5B,SAAA,EAAW,IAAK,CAAA,iBAAA,CAAkB,KAAM;AAAA,KAC1C;AAAA;AAEJ;;;;"}
@@ -1,13 +1,13 @@
1
- import { defaultFieldConfig } from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';
2
- import { defaultFieldConfig as defaultFieldConfig$1 } from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';
1
+ import { defaultFieldConfig as defaultFieldConfig$4 } from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';
2
+ import { defaultFieldConfig as defaultFieldConfig$3 } from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';
3
3
  import { defaultFieldConfig as defaultFieldConfig$2 } from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';
4
- import { defaultFieldConfig as defaultFieldConfig$3 } from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';
5
- import { defaultFieldConfig as defaultFieldConfig$4 } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';
4
+ import { defaultFieldConfig as defaultFieldConfig$1 } from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';
5
+ import { defaultFieldConfig } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';
6
6
  import { FieldConfigBuilder } from './FieldConfigBuilder.js';
7
7
 
8
8
  const FieldConfigBuilders = {
9
9
  barchart() {
10
- return new FieldConfigBuilder(() => defaultFieldConfig);
10
+ return new FieldConfigBuilder(() => defaultFieldConfig$4);
11
11
  },
12
12
  bargauge() {
13
13
  return new FieldConfigBuilder();
@@ -28,7 +28,7 @@ const FieldConfigBuilders = {
28
28
  return new FieldConfigBuilder();
29
29
  },
30
30
  histogram() {
31
- return new FieldConfigBuilder(() => defaultFieldConfig$1);
31
+ return new FieldConfigBuilder(() => defaultFieldConfig$3);
32
32
  },
33
33
  logs() {
34
34
  return new FieldConfigBuilder();
@@ -49,7 +49,7 @@ const FieldConfigBuilders = {
49
49
  return new FieldConfigBuilder(() => defaultFieldConfig$2);
50
50
  },
51
51
  statushistory() {
52
- return new FieldConfigBuilder(() => defaultFieldConfig$3);
52
+ return new FieldConfigBuilder(() => defaultFieldConfig$1);
53
53
  },
54
54
  table() {
55
55
  return new FieldConfigBuilder();
@@ -67,7 +67,7 @@ const FieldConfigBuilders = {
67
67
  return new FieldConfigBuilder();
68
68
  },
69
69
  xychart() {
70
- return new FieldConfigBuilder(() => defaultFieldConfig$4);
70
+ return new FieldConfigBuilder(() => defaultFieldConfig);
71
71
  }
72
72
  };
73
73
 
@@ -1 +1 @@
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,kBAA0B,CAAA,CAAA;AAAA,GACrF;AAAA,EACA,QAAW,GAAA;AACT,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,QAAW,GAAA;AACT,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,UAAa,GAAA;AACX,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,MAAS,GAAA;AACP,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,OAAU,GAAA;AACR,IAAA,OAAO,IAAI,kBAAuC,EAAA,CAAA;AAAA,GACpD;AAAA,EACA,SAAY,GAAA;AACV,IAAO,OAAA,IAAI,kBAAyC,CAAA,MAAMC,oBAA2B,CAAA,CAAA;AAAA,GACvF;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,SAAY,GAAA;AACV,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,QAAW,GAAA;AACT,IAAA,OAAO,IAAI,kBAAwC,EAAA,CAAA;AAAA,GACrD;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,aAAgB,GAAA;AACd,IAAO,OAAA,IAAI,kBAA6C,CAAA,MAAMC,oBAA+B,CAAA,CAAA;AAAA,GAC/F;AAAA,EACA,aAAgB,GAAA;AACd,IAAO,OAAA,IAAI,kBAA6C,CAAA,MAAMC,oBAA+B,CAAA,CAAA;AAAA,GAC/F;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,OAAO,IAAI,kBAAqC,EAAA,CAAA;AAAA,GAClD;AAAA,EACA,IAAO,GAAA;AACL,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,UAAa,GAAA;AACX,IAAA,OAAO,IAAI,kBAA0C,EAAA,CAAA;AAAA,GACvD;AAAA,EACA,KAAQ,GAAA;AACN,IAAA,OAAO,IAAI,kBAAuB,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,MAAS,GAAA;AACP,IAAA,OAAO,IAAI,kBAAqC,EAAA,CAAA;AAAA,GAClD;AAAA,EACA,OAAU,GAAA;AACR,IAAO,OAAA,IAAI,kBAAuB,CAAA,MAAMC,oBAAyB,CAAA,CAAA;AAAA,GACnE;AACF;;;;"}
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 +1 @@
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,CAAA;AAChD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,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,IAAA;AAAA,OACX;AAAA,MACA,YAAY,EAAC;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,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,KAAA;AAAA,OACX;AAAA,MACA,YAAY,EAAC;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,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,SAAA;AAAA,OACX;AAAA,MACA,YAAY,EAAC;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,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,KAAA;AAAA,OACX;AAAA,MACA,YAAY,EAAC;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEO,mBAAmB,OAAwC,EAAA;AAChE,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA;AAAA,MACnB,OAAS,EAAA;AAAA,QACP,IAAI,cAAe,CAAA,OAAA;AAAA,QACnB,OAAA;AAAA,OACF;AAAA,MACA,YAAY,EAAC;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEO,qBAAqB,KAAqB,EAAA;AAC/C,IAAA,OAAO,IAAK,CAAA,kBAAA,CAAmB,qBAAsB,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,GAC7D;AAAA,EAEO,yBAAA,CAAqE,IAAO,KAAmB,EAAA;AACpG,IAAM,MAAA,GAAA,GAAM,CAAU,OAAA,EAAA,MAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA;AAC/B,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,UAAW,CAAA,IAAA,CAAK,WAAW,MAAS,GAAA,CAAA,CAAA,CAAA;AACtD,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA,EAAE,EAAI,EAAA,GAAA,EAAK,OAAO,CAAA,CAAA;AACvC,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEO,KAAQ,GAAA;AACb,IAAA,OAAO,IAAK,CAAA,UAAA,CAAA;AAAA,GACd;AACF;;;;"}
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;;;;"}