@grafana/scenes 6.7.0 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +33 -0
  3. package/dist/esm/dist/esm/behaviors/CursorSync.js +76 -0
  4. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +44 -0
  5. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +14 -0
  6. package/dist/esm/dist/esm/components/EmbeddedScene.js +59 -0
  7. package/dist/esm/dist/esm/components/NestedScene.js +95 -0
  8. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +27 -0
  9. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +176 -0
  10. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +104 -0
  11. package/dist/esm/dist/esm/components/SceneApp/utils.js +42 -0
  12. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +41 -0
  13. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +55 -0
  14. package/dist/esm/dist/esm/components/SceneCanvasText.js +32 -0
  15. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +17 -0
  16. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +82 -0
  17. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +72 -0
  18. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +77 -0
  19. package/dist/esm/dist/esm/components/SceneReactObject.js +34 -0
  20. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +205 -0
  21. package/dist/esm/dist/esm/components/SceneTimePicker.js +139 -0
  22. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +240 -0
  23. package/dist/esm/dist/esm/components/SceneToolbarButton.js +33 -0
  24. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +406 -0
  25. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +44 -0
  26. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +59 -0
  27. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +285 -0
  28. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +45 -0
  29. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +72 -0
  30. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +11 -0
  31. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
  32. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
  33. package/dist/esm/dist/esm/components/layout/LazyLoader.js +103 -0
  34. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +135 -0
  35. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +30 -0
  36. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +283 -0
  37. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
  38. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +190 -0
  39. package/dist/esm/dist/esm/components/layout/grid/constants.js +7 -0
  40. package/dist/esm/dist/esm/components/layout/grid/utils.js +36 -0
  41. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +17 -0
  42. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +29 -0
  43. package/dist/esm/dist/esm/components/layout/split/Splitter.js +386 -0
  44. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +57 -0
  45. package/dist/esm/dist/esm/core/SceneDataNode.js +43 -0
  46. package/dist/esm/dist/esm/core/SceneObjectBase.js +286 -0
  47. package/dist/esm/dist/esm/core/SceneObjectRef.js +32 -0
  48. package/dist/esm/dist/esm/core/SceneTimeRange.js +231 -0
  49. package/dist/esm/dist/esm/core/events.js +11 -0
  50. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +10 -0
  51. package/dist/esm/dist/esm/core/sceneGraph/index.js +25 -0
  52. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +178 -0
  53. package/dist/esm/dist/esm/core/sceneGraph/utils.js +64 -0
  54. package/dist/esm/dist/esm/core/types.js +15 -0
  55. package/dist/esm/dist/esm/querying/DataLayersMerger.js +46 -0
  56. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +6 -0
  57. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +6 -0
  58. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +100 -0
  59. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +468 -0
  60. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +46 -0
  61. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +12 -0
  62. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +112 -0
  63. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +51 -0
  64. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
  65. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +85 -0
  66. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +121 -0
  67. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
  68. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +77 -0
  69. package/dist/esm/dist/esm/querying/registerQueryWithController.js +41 -0
  70. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +30 -0
  71. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +45 -0
  72. package/dist/esm/dist/esm/services/UrlSyncManager.js +167 -0
  73. package/dist/esm/dist/esm/services/useUrlSync.js +29 -0
  74. package/dist/esm/dist/esm/services/utils.js +71 -0
  75. package/dist/esm/dist/esm/utils/ControlsLabel.js +107 -0
  76. package/dist/esm/dist/esm/utils/LoadingIndicator.js +19 -0
  77. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +39 -0
  78. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
  79. package/dist/esm/dist/esm/utils/date.js +15 -0
  80. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +16 -0
  81. package/dist/esm/dist/esm/utils/explore.js +47 -0
  82. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +4 -0
  83. package/dist/esm/dist/esm/utils/getDataSource.js +18 -0
  84. package/dist/esm/dist/esm/utils/getMessageFromError.js +24 -0
  85. package/dist/esm/dist/esm/utils/metricTree.js +53 -0
  86. package/dist/esm/dist/esm/utils/parseUrlParam.js +41 -0
  87. package/dist/esm/dist/esm/utils/utils.js +11 -0
  88. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +30 -0
  89. package/dist/esm/dist/esm/utils/writeSceneLog.js +12 -0
  90. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +150 -0
  91. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +71 -0
  92. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +24 -0
  93. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +303 -0
  94. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
  95. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
  96. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
  97. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +289 -0
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
  104. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +13 -0
  105. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +47 -0
  106. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +23 -0
  107. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +33 -0
  108. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +228 -0
  109. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +72 -0
  110. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +15 -0
  111. package/dist/esm/dist/esm/variables/constants.js +9 -0
  112. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +12 -0
  113. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +259 -0
  114. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
  115. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
  116. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +40 -0
  117. package/dist/esm/dist/esm/variables/interpolation/defaults.js +21 -0
  118. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
  119. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +296 -0
  120. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +87 -0
  121. package/dist/esm/dist/esm/variables/lookupVariable.js +20 -0
  122. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +57 -0
  123. package/dist/esm/dist/esm/variables/macros/contextMacros.js +43 -0
  124. package/dist/esm/dist/esm/variables/macros/dataMacros.js +134 -0
  125. package/dist/esm/dist/esm/variables/macros/index.js +26 -0
  126. package/dist/esm/dist/esm/variables/macros/templateProxies.js +51 -0
  127. package/dist/esm/dist/esm/variables/macros/timeMacros.js +86 -0
  128. package/dist/esm/dist/esm/variables/macros/types.js +11 -0
  129. package/dist/esm/dist/esm/variables/macros/urlMacros.js +56 -0
  130. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +254 -0
  131. package/dist/esm/dist/esm/variables/types.js +11 -0
  132. package/dist/esm/dist/esm/variables/utils.js +172 -0
  133. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +38 -0
  134. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +60 -0
  135. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +88 -0
  136. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +117 -0
  137. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +295 -0
  138. package/dist/esm/dist/esm/variables/variants/TestVariable.js +117 -0
  139. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +61 -0
  140. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +139 -0
  141. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +129 -0
  142. package/dist/esm/dist/esm/variables/variants/query/guards.js +28 -0
  143. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +96 -0
  144. package/dist/esm/dist/esm/variables/variants/query/utils.js +124 -0
  145. package/dist/esm/index.js +1 -1
  146. package/dist/esm/index.js.map +1 -1
  147. package/dist/esm/querying/DataProviderSharer.js +39 -0
  148. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +27 -0
  149. package/dist/esm/src/behaviors/CursorSync.js +76 -0
  150. package/dist/esm/src/behaviors/LiveNowTimer.js +44 -0
  151. package/dist/esm/src/behaviors/SceneQueryController.js +60 -0
  152. package/dist/esm/src/behaviors/index.js +5 -0
  153. package/dist/esm/src/components/EmbeddedScene.js +59 -0
  154. package/dist/esm/src/components/NestedScene.js +95 -0
  155. package/dist/esm/src/components/SceneApp/SceneApp.js +37 -0
  156. package/dist/esm/src/components/SceneApp/SceneAppPage.js +176 -0
  157. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +104 -0
  158. package/dist/esm/src/components/SceneApp/utils.js +42 -0
  159. package/dist/esm/src/components/SceneByFrameRepeater.js +41 -0
  160. package/dist/esm/src/components/SceneByVariableRepeater.js +55 -0
  161. package/dist/esm/src/components/SceneCanvasText.js +32 -0
  162. package/dist/esm/src/components/SceneControlsSpacer.js +17 -0
  163. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +82 -0
  164. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +72 -0
  165. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +77 -0
  166. package/dist/esm/src/components/SceneReactObject.js +34 -0
  167. package/dist/esm/src/components/SceneRefreshPicker.js +205 -0
  168. package/dist/esm/src/components/SceneTimePicker.js +139 -0
  169. package/dist/esm/src/components/SceneTimeRangeCompare.js +240 -0
  170. package/dist/esm/src/components/SceneToolbarButton.js +33 -0
  171. package/dist/esm/src/components/VizPanel/VizPanel.js +406 -0
  172. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +44 -0
  173. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +59 -0
  174. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +285 -0
  175. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +45 -0
  176. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +72 -0
  177. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +56 -0
  178. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +164 -0
  179. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +124 -0
  180. package/dist/esm/src/components/layout/LazyLoader.js +103 -0
  181. package/dist/esm/src/components/layout/SceneFlexLayout.js +135 -0
  182. package/dist/esm/src/components/layout/grid/SceneGridItem.js +30 -0
  183. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +283 -0
  184. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +178 -0
  185. package/dist/esm/src/components/layout/grid/SceneGridRow.js +190 -0
  186. package/dist/esm/src/components/layout/grid/constants.js +7 -0
  187. package/dist/esm/src/components/layout/grid/utils.js +36 -0
  188. package/dist/esm/src/components/layout/split/SplitLayout.js +17 -0
  189. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +29 -0
  190. package/dist/esm/src/components/layout/split/Splitter.js +386 -0
  191. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +100 -0
  192. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +75 -0
  193. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +75 -0
  194. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +22 -0
  195. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +85 -0
  196. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +52 -0
  197. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +78 -0
  198. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +114 -0
  199. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +162 -0
  200. package/dist/esm/src/core/PanelBuilders/index.js +116 -0
  201. package/dist/esm/src/core/SceneComponentWrapper.js +57 -0
  202. package/dist/esm/src/core/SceneDataNode.js +43 -0
  203. package/dist/esm/src/core/SceneObjectBase.js +286 -0
  204. package/dist/esm/src/core/SceneObjectRef.js +32 -0
  205. package/dist/esm/src/core/SceneTimeRange.js +231 -0
  206. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +35 -0
  207. package/dist/esm/src/core/SceneTimeZoneOverride.js +63 -0
  208. package/dist/esm/src/core/events.js +11 -0
  209. package/dist/esm/src/core/sceneGraph/getTimeRange.js +10 -0
  210. package/dist/esm/src/core/sceneGraph/index.js +25 -0
  211. package/dist/esm/src/core/sceneGraph/sceneGraph.js +178 -0
  212. package/dist/esm/src/core/sceneGraph/utils.js +64 -0
  213. package/dist/esm/src/core/types.js +15 -0
  214. package/dist/esm/src/index.js +108 -0
  215. package/dist/esm/src/querying/DataLayersMerger.js +46 -0
  216. package/dist/esm/src/querying/DataProviderProxy.js +37 -0
  217. package/dist/esm/src/querying/DataProviderSharer.js +108 -0
  218. package/dist/esm/src/querying/ExtraQueryProvider.js +6 -0
  219. package/dist/esm/src/querying/RuntimeDataSource.js +49 -0
  220. package/dist/esm/src/querying/SceneDataLayerSet.js +100 -0
  221. package/dist/esm/src/querying/SceneDataTransformer.js +178 -0
  222. package/dist/esm/src/querying/SceneQueryRunner.js +468 -0
  223. package/dist/esm/src/querying/extraQueryProcessingOperator.js +46 -0
  224. package/dist/esm/src/querying/getEnrichedDataRequest.js +12 -0
  225. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +112 -0
  226. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +51 -0
  227. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +130 -0
  228. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +85 -0
  229. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +121 -0
  230. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +211 -0
  231. package/dist/esm/src/querying/layers/annotations/utils.js +77 -0
  232. package/dist/esm/src/querying/layers/index.js +2 -0
  233. package/dist/esm/src/querying/registerQueryWithController.js +41 -0
  234. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +30 -0
  235. package/dist/esm/src/services/UniqueUrlKeyMapper.js +45 -0
  236. package/dist/esm/src/services/UrlSyncContextProvider.js +17 -0
  237. package/dist/esm/src/services/UrlSyncManager.js +167 -0
  238. package/dist/esm/src/services/useUrlSync.js +29 -0
  239. package/dist/esm/src/services/utils.js +75 -0
  240. package/dist/esm/src/utils/ControlsLabel.js +107 -0
  241. package/dist/esm/src/utils/LoadingIndicator.js +19 -0
  242. package/dist/esm/src/utils/SafeSerializableSceneObject.js +39 -0
  243. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +16 -0
  244. package/dist/esm/src/utils/date.js +15 -0
  245. package/dist/esm/src/utils/evaluateTimeRange.js +16 -0
  246. package/dist/esm/src/utils/explore.js +47 -0
  247. package/dist/esm/src/utils/getCompareSeriesRefId.js +4 -0
  248. package/dist/esm/src/utils/getDataSource.js +18 -0
  249. package/dist/esm/src/utils/getMessageFromError.js +24 -0
  250. package/dist/esm/src/utils/metricTree.js +53 -0
  251. package/dist/esm/src/utils/parseUrlParam.js +41 -0
  252. package/dist/esm/src/utils/utils.js +11 -0
  253. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +30 -0
  254. package/dist/esm/src/utils/writeSceneLog.js +12 -0
  255. package/dist/esm/src/variables/VariableDependencyConfig.js +150 -0
  256. package/dist/esm/src/variables/VariableValueRecorder.js +71 -0
  257. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +24 -0
  258. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +303 -0
  259. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +162 -0
  260. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +20 -0
  261. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +640 -0
  262. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +65 -0
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +146 -0
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +114 -0
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +68 -0
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +146 -0
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +289 -0
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +76 -0
  269. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +13 -0
  270. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +47 -0
  271. package/dist/esm/src/variables/components/VariableValueControl.js +23 -0
  272. package/dist/esm/src/variables/components/VariableValueInput.js +33 -0
  273. package/dist/esm/src/variables/components/VariableValueSelect.js +228 -0
  274. package/dist/esm/src/variables/components/VariableValueSelectors.js +72 -0
  275. package/dist/esm/src/variables/components/getOptionSearcher.js +15 -0
  276. package/dist/esm/src/variables/constants.js +9 -0
  277. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +12 -0
  278. package/dist/esm/src/variables/groupby/GroupByVariable.js +259 -0
  279. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +63 -0
  280. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +13 -0
  281. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +40 -0
  282. package/dist/esm/src/variables/interpolation/defaults.js +21 -0
  283. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +13 -0
  284. package/dist/esm/src/variables/interpolation/formatRegistry.js +296 -0
  285. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +87 -0
  286. package/dist/esm/src/variables/lookupVariable.js +20 -0
  287. package/dist/esm/src/variables/macros/AllVariablesMacro.js +57 -0
  288. package/dist/esm/src/variables/macros/contextMacros.js +43 -0
  289. package/dist/esm/src/variables/macros/dataMacros.js +134 -0
  290. package/dist/esm/src/variables/macros/index.js +35 -0
  291. package/dist/esm/src/variables/macros/templateProxies.js +51 -0
  292. package/dist/esm/src/variables/macros/timeMacros.js +86 -0
  293. package/dist/esm/src/variables/macros/types.js +11 -0
  294. package/dist/esm/src/variables/macros/urlMacros.js +56 -0
  295. package/dist/esm/src/variables/sets/SceneVariableSet.js +254 -0
  296. package/dist/esm/src/variables/types.js +11 -0
  297. package/dist/esm/src/variables/utils.js +172 -0
  298. package/dist/esm/src/variables/variants/ConstantVariable.js +38 -0
  299. package/dist/esm/src/variables/variants/CustomVariable.js +60 -0
  300. package/dist/esm/src/variables/variants/DataSourceVariable.js +88 -0
  301. package/dist/esm/src/variables/variants/IntervalVariable.js +117 -0
  302. package/dist/esm/src/variables/variants/JsonVariable.js +193 -0
  303. package/dist/esm/src/variables/variants/LocalValueVariable.js +56 -0
  304. package/dist/esm/src/variables/variants/MultiValueVariable.js +295 -0
  305. package/dist/esm/src/variables/variants/TestVariable.js +117 -0
  306. package/dist/esm/src/variables/variants/TextBoxVariable.js +61 -0
  307. package/dist/esm/src/variables/variants/guards.js +27 -0
  308. package/dist/esm/src/variables/variants/query/QueryVariable.js +139 -0
  309. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +129 -0
  310. package/dist/esm/src/variables/variants/query/guards.js +28 -0
  311. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +96 -0
  312. package/dist/esm/src/variables/variants/query/utils.js +124 -0
  313. package/dist/esm/variables/components/VariableValueSelect.js +13 -9
  314. package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
  315. package/dist/esm/variables/variants/ConstantVariable.js +22 -0
  316. package/dist/esm/variables/variants/ConstantVariable.js.map +1 -1
  317. package/dist/esm/variables/variants/CustomVariable.js +3 -2
  318. package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
  319. package/dist/esm/variables/variants/DataSourceVariable.js +3 -2
  320. package/dist/esm/variables/variants/DataSourceVariable.js.map +1 -1
  321. package/dist/esm/variables/variants/JsonVariable.js +96 -0
  322. package/dist/esm/variables/variants/TestVariable.js +3 -2
  323. package/dist/esm/variables/variants/TestVariable.js.map +1 -1
  324. package/dist/esm/variables/variants/json/JsonVariable.js +95 -0
  325. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +70 -0
  326. package/dist/esm/variables/variants/query/QueryVariable.js +3 -2
  327. package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
  328. package/dist/index.d.ts +14 -6
  329. package/dist/index.js +35 -13
  330. package/dist/index.js.map +1 -1
  331. package/package.json +2 -2
@@ -0,0 +1,65 @@
1
+ import { cx, css } from '@emotion/css';
2
+ import { useStyles2, Icon } from '@grafana/ui';
3
+ import React, { memo, useRef } from 'react';
4
+ import { AdHocFilterPill } from './AdHocFilterPill.js';
5
+ import { AdHocFiltersAlwaysWipCombobox } from './AdHocFiltersAlwaysWipCombobox.js';
6
+
7
+ const AdHocFiltersComboboxRenderer = memo(function AdHocFiltersComboboxRenderer2({ model }) {
8
+ const { filters, readOnly } = model.useState();
9
+ const styles = useStyles2(getStyles);
10
+ const focusOnWipInputRef = useRef();
11
+ return /* @__PURE__ */ React.createElement("div", {
12
+ className: cx(styles.comboboxWrapper, { [styles.comboboxFocusOutline]: !readOnly }),
13
+ onClick: () => {
14
+ var _a;
15
+ (_a = focusOnWipInputRef.current) == null ? void 0 : _a.call(focusOnWipInputRef);
16
+ }
17
+ }, /* @__PURE__ */ React.createElement(Icon, {
18
+ name: "filter",
19
+ className: styles.filterIcon,
20
+ size: "lg"
21
+ }), filters.map((filter, index) => /* @__PURE__ */ React.createElement(AdHocFilterPill, {
22
+ key: `${index}-${filter.key}`,
23
+ filter,
24
+ model,
25
+ readOnly,
26
+ focusOnWipInputRef: focusOnWipInputRef.current
27
+ })), !readOnly ? /* @__PURE__ */ React.createElement(AdHocFiltersAlwaysWipCombobox, {
28
+ model,
29
+ ref: focusOnWipInputRef
30
+ }) : null);
31
+ });
32
+ const getStyles = (theme) => ({
33
+ comboboxWrapper: css({
34
+ display: "flex",
35
+ flexWrap: "wrap",
36
+ alignItems: "center",
37
+ columnGap: theme.spacing(1),
38
+ rowGap: theme.spacing(0.5),
39
+ minHeight: theme.spacing(4),
40
+ backgroundColor: theme.components.input.background,
41
+ border: `1px solid ${theme.colors.border.strong}`,
42
+ borderRadius: theme.shape.radius.default,
43
+ paddingInline: theme.spacing(1),
44
+ paddingBlock: theme.spacing(0.5),
45
+ flexGrow: 1
46
+ }),
47
+ comboboxFocusOutline: css({
48
+ "&:focus-within": {
49
+ outline: "2px dotted transparent",
50
+ outlineOffset: "2px",
51
+ boxShadow: `0 0 0 2px ${theme.colors.background.canvas}, 0 0 0px 4px ${theme.colors.primary.main}`,
52
+ transitionTimingFunction: `cubic-bezier(0.19, 1, 0.22, 1)`,
53
+ transitionDuration: "0.2s",
54
+ transitionProperty: "outline, outline-offset, box-shadow",
55
+ zIndex: 2
56
+ }
57
+ }),
58
+ filterIcon: css({
59
+ color: theme.colors.text.secondary,
60
+ alignSelf: "center"
61
+ })
62
+ });
63
+
64
+ export { AdHocFiltersComboboxRenderer };
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRIb2NGaWx0ZXJzQ29tYm9ib3hSZW5kZXJlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9hZGhvYy9BZEhvY0ZpbHRlcnNDb21ib2JveC9BZEhvY0ZpbHRlcnNDb21ib2JveFJlbmRlcmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIGN4IH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IEdyYWZhbmFUaGVtZTIgfSBmcm9tICdAZ3JhZmFuYS9kYXRhJztcbmltcG9ydCB7IEljb24sIHVzZVN0eWxlczIgfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5pbXBvcnQgUmVhY3QsIHsgbWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQWRIb2NGaWx0ZXJzVmFyaWFibGUgfSBmcm9tICcuLi9BZEhvY0ZpbHRlcnNWYXJpYWJsZSc7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlclBpbGwgfSBmcm9tICcuL0FkSG9jRmlsdGVyUGlsbCc7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlcnNBbHdheXNXaXBDb21ib2JveCB9IGZyb20gJy4vQWRIb2NGaWx0ZXJzQWx3YXlzV2lwQ29tYm9ib3gnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBtb2RlbDogQWRIb2NGaWx0ZXJzVmFyaWFibGU7XG59XG5cbmV4cG9ydCBjb25zdCBBZEhvY0ZpbHRlcnNDb21ib2JveFJlbmRlcmVyID0gbWVtbyhmdW5jdGlvbiBBZEhvY0ZpbHRlcnNDb21ib2JveFJlbmRlcmVyKHsgbW9kZWwgfTogUHJvcHMpIHtcbiAgY29uc3QgeyBmaWx0ZXJzLCByZWFkT25seSB9ID0gbW9kZWwudXNlU3RhdGUoKTtcbiAgY29uc3Qgc3R5bGVzID0gdXNlU3R5bGVzMihnZXRTdHlsZXMpO1xuXG4gIC8vIHJlZiB0aGF0IGZvY3VzZXMgb24gdGhlIGFsd2F5cyB3aXAgZmlsdGVyIGlucHV0XG4gIC8vIGRlZmluZWQgaW4gdGhlIGNvbWJvYm94IGNvbXBvbmVudCB2aWEgdXNlSW1wZXJhdGl2ZUhhbmRsZVxuICBjb25zdCBmb2N1c09uV2lwSW5wdXRSZWYgPSB1c2VSZWY8KCkgPT4gdm9pZD4oKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVzLmNvbWJvYm94V3JhcHBlciwgeyBbc3R5bGVzLmNvbWJvYm94Rm9jdXNPdXRsaW5lXTogIXJlYWRPbmx5IH0pfVxuICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICBmb2N1c09uV2lwSW5wdXRSZWYuY3VycmVudD8uKCk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIDxJY29uIG5hbWU9XCJmaWx0ZXJcIiBjbGFzc05hbWU9e3N0eWxlcy5maWx0ZXJJY29ufSBzaXplPVwibGdcIiAvPlxuXG4gICAgICB7ZmlsdGVycy5tYXAoKGZpbHRlciwgaW5kZXgpID0+IChcbiAgICAgICAgPEFkSG9jRmlsdGVyUGlsbFxuICAgICAgICAgIGtleT17YCR7aW5kZXh9LSR7ZmlsdGVyLmtleX1gfVxuICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgZm9jdXNPbldpcElucHV0UmVmPXtmb2N1c09uV2lwSW5wdXRSZWYuY3VycmVudH1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuXG4gICAgICB7IXJlYWRPbmx5ID8gPEFkSG9jRmlsdGVyc0Fsd2F5c1dpcENvbWJvYm94IG1vZGVsPXttb2RlbH0gcmVmPXtmb2N1c09uV2lwSW5wdXRSZWZ9IC8+IDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn0pO1xuXG5jb25zdCBnZXRTdHlsZXMgPSAodGhlbWU6IEdyYWZhbmFUaGVtZTIpID0+ICh7XG4gIGNvbWJvYm94V3JhcHBlcjogY3NzKHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBjb2x1bW5HYXA6IHRoZW1lLnNwYWNpbmcoMSksXG4gICAgcm93R2FwOiB0aGVtZS5zcGFjaW5nKDAuNSksXG4gICAgbWluSGVpZ2h0OiB0aGVtZS5zcGFjaW5nKDQpLFxuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29tcG9uZW50cy5pbnB1dC5iYWNrZ3JvdW5kLFxuICAgIGJvcmRlcjogYDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5ib3JkZXIuc3Ryb25nfWAsXG4gICAgYm9yZGVyUmFkaXVzOiB0aGVtZS5zaGFwZS5yYWRpdXMuZGVmYXVsdCxcbiAgICBwYWRkaW5nSW5saW5lOiB0aGVtZS5zcGFjaW5nKDEpLFxuICAgIHBhZGRpbmdCbG9jazogdGhlbWUuc3BhY2luZygwLjUpLFxuICAgIGZsZXhHcm93OiAxLFxuICB9KSxcbiAgY29tYm9ib3hGb2N1c091dGxpbmU6IGNzcyh7XG4gICAgJyY6Zm9jdXMtd2l0aGluJzoge1xuICAgICAgb3V0bGluZTogJzJweCBkb3R0ZWQgdHJhbnNwYXJlbnQnLFxuICAgICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gICAgICBib3hTaGFkb3c6IGAwIDAgMCAycHggJHt0aGVtZS5jb2xvcnMuYmFja2dyb3VuZC5jYW52YXN9LCAwIDAgMHB4IDRweCAke3RoZW1lLmNvbG9ycy5wcmltYXJ5Lm1haW59YCxcbiAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjogYGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKWAsXG4gICAgICB0cmFuc2l0aW9uRHVyYXRpb246ICcwLjJzJyxcbiAgICAgIHRyYW5zaXRpb25Qcm9wZXJ0eTogJ291dGxpbmUsIG91dGxpbmUtb2Zmc2V0LCBib3gtc2hhZG93JyxcbiAgICAgIHpJbmRleDogMixcbiAgICB9LFxuICB9KSxcbiAgZmlsdGVySWNvbjogY3NzKHtcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLnRleHQuc2Vjb25kYXJ5LFxuICAgIGFsaWduU2VsZjogJ2NlbnRlcics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
@@ -0,0 +1,146 @@
1
+ import { cx, css } from '@emotion/css';
2
+ import { useStyles2, Checkbox, Button } from '@grafana/ui';
3
+ import React, { forwardRef, useId } from 'react';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ const DropdownItem = forwardRef(
34
+ function DropdownItem2(_a, ref) {
35
+ var _b = _a, { children, active, addGroupBottomBorder, isMultiValueEdit, checked } = _b, rest = __objRest(_b, ["children", "active", "addGroupBottomBorder", "isMultiValueEdit", "checked"]);
36
+ const styles = useStyles2(getStyles);
37
+ const id = useId();
38
+ return /* @__PURE__ */ React.createElement("div", __spreadValues({
39
+ ref,
40
+ role: "option",
41
+ id,
42
+ "aria-selected": active,
43
+ className: cx(styles.option, active && styles.optionFocused, addGroupBottomBorder && styles.groupBottomBorder)
44
+ }, rest), /* @__PURE__ */ React.createElement("div", {
45
+ className: styles.optionBody,
46
+ "data-testid": `data-testid ad hoc filter option value ${children}`
47
+ }, /* @__PURE__ */ React.createElement("span", null, isMultiValueEdit ? /* @__PURE__ */ React.createElement(Checkbox, {
48
+ tabIndex: -1,
49
+ checked,
50
+ className: styles.checkbox
51
+ }) : null, children)));
52
+ }
53
+ );
54
+ const getStyles = (theme) => ({
55
+ option: css({
56
+ label: "grafana-select-option",
57
+ top: 0,
58
+ left: 0,
59
+ width: "100%",
60
+ position: "absolute",
61
+ padding: theme.spacing(1),
62
+ display: "flex",
63
+ alignItems: "center",
64
+ flexDirection: "row",
65
+ flexShrink: 0,
66
+ whiteSpace: "nowrap",
67
+ cursor: "pointer",
68
+ "&:hover": {
69
+ background: theme.colors.action.hover,
70
+ "@media (forced-colors: active), (prefers-contrast: more)": {
71
+ border: `1px solid ${theme.colors.primary.border}`
72
+ }
73
+ }
74
+ }),
75
+ optionFocused: css({
76
+ label: "grafana-select-option-focused",
77
+ background: theme.colors.action.focus,
78
+ "@media (forced-colors: active), (prefers-contrast: more)": {
79
+ border: `1px solid ${theme.colors.primary.border}`
80
+ }
81
+ }),
82
+ optionBody: css({
83
+ label: "grafana-select-option-body",
84
+ display: "flex",
85
+ fontWeight: theme.typography.fontWeightMedium,
86
+ flexDirection: "column",
87
+ flexGrow: 1
88
+ }),
89
+ groupBottomBorder: css({
90
+ borderBottom: `1px solid ${theme.colors.border.weak}`
91
+ }),
92
+ checkbox: css({
93
+ paddingRight: theme.spacing(0.5)
94
+ }),
95
+ multiValueApplyWrapper: css({
96
+ position: "fixed",
97
+ top: 0,
98
+ left: 0,
99
+ display: "flex",
100
+ backgroundColor: theme.colors.background.primary,
101
+ color: theme.colors.text.primary,
102
+ boxShadow: theme.shadows.z2,
103
+ overflowY: "auto",
104
+ zIndex: theme.zIndex.dropdown,
105
+ gap: theme.spacing(1.5),
106
+ padding: `${theme.spacing(1.5)} ${theme.spacing(1)}`
107
+ })
108
+ });
109
+ const LoadingOptionsPlaceholder = () => {
110
+ return /* @__PURE__ */ React.createElement(DropdownItem, {
111
+ onClick: (e) => e.stopPropagation()
112
+ }, "Loading options...");
113
+ };
114
+ const NoOptionsPlaceholder = () => {
115
+ return /* @__PURE__ */ React.createElement(DropdownItem, {
116
+ onClick: (e) => e.stopPropagation()
117
+ }, "No options found");
118
+ };
119
+ const OptionsErrorPlaceholder = ({ handleFetchOptions }) => {
120
+ return /* @__PURE__ */ React.createElement(DropdownItem, {
121
+ onClick: handleFetchOptions
122
+ }, "An error has occurred fetching labels. Click to retry");
123
+ };
124
+ const MultiValueApplyButton = ({
125
+ onApply,
126
+ floatingElement,
127
+ maxOptionWidth,
128
+ menuHeight
129
+ }) => {
130
+ const styles = useStyles2(getStyles);
131
+ const floatingElementRect = floatingElement == null ? void 0 : floatingElement.getBoundingClientRect();
132
+ return /* @__PURE__ */ React.createElement("div", {
133
+ className: styles.multiValueApplyWrapper,
134
+ style: {
135
+ width: `${maxOptionWidth}px`,
136
+ transform: `translate(${floatingElementRect == null ? void 0 : floatingElementRect.left}px,${floatingElementRect ? floatingElementRect.top + menuHeight : 0}px)`
137
+ }
138
+ }, /* @__PURE__ */ React.createElement(Button, {
139
+ onClick: onApply,
140
+ size: "sm",
141
+ tabIndex: -1
142
+ }, "Apply"));
143
+ };
144
+
145
+ export { DropdownItem, LoadingOptionsPlaceholder, MultiValueApplyButton, NoOptionsPlaceholder, OptionsErrorPlaceholder };
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25JdGVtLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdmFyaWFibGVzL2FkaG9jL0FkSG9jRmlsdGVyc0NvbWJvYm94L0Ryb3Bkb3duSXRlbS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzLCBjeCB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBHcmFmYW5hVGhlbWUyIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBCdXR0b24sIENoZWNrYm94LCB1c2VTdHlsZXMyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUlkIH0gZnJvbSAncmVhY3QnO1xuXG5pbnRlcmZhY2UgRHJvcGRvd25JdGVtUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBhZGRHcm91cEJvdHRvbUJvcmRlcj86IGJvb2xlYW47XG4gIGlzTXVsdGlWYWx1ZUVkaXQ/OiBib29sZWFuO1xuICBjaGVja2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IERyb3Bkb3duSXRlbSA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIERyb3Bkb3duSXRlbVByb3BzICYgUmVhY3QuSFRNTFByb3BzPEhUTUxEaXZFbGVtZW50Pj4oXG4gIGZ1bmN0aW9uIERyb3Bkb3duSXRlbSh7IGNoaWxkcmVuLCBhY3RpdmUsIGFkZEdyb3VwQm90dG9tQm9yZGVyLCBpc011bHRpVmFsdWVFZGl0LCBjaGVja2VkLCAuLi5yZXN0IH0sIHJlZikge1xuICAgIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlczIoZ2V0U3R5bGVzKTtcbiAgICBjb25zdCBpZCA9IHVzZUlkKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2FjdGl2ZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZXMub3B0aW9uLCBhY3RpdmUgJiYgc3R5bGVzLm9wdGlvbkZvY3VzZWQsIGFkZEdyb3VwQm90dG9tQm9yZGVyICYmIHN0eWxlcy5ncm91cEJvdHRvbUJvcmRlcil9XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLm9wdGlvbkJvZHl9IGRhdGEtdGVzdGlkPXtgZGF0YS10ZXN0aWQgYWQgaG9jIGZpbHRlciBvcHRpb24gdmFsdWUgJHtjaGlsZHJlbn1gfT5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHtpc011bHRpVmFsdWVFZGl0ID8gPENoZWNrYm94IHRhYkluZGV4PXstMX0gY2hlY2tlZD17Y2hlY2tlZH0gY2xhc3NOYW1lPXtzdHlsZXMuY2hlY2tib3h9IC8+IDogbnVsbH1cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcblxuY29uc3QgZ2V0U3R5bGVzID0gKHRoZW1lOiBHcmFmYW5hVGhlbWUyKSA9PiAoe1xuICBvcHRpb246IGNzcyh7XG4gICAgbGFiZWw6ICdncmFmYW5hLXNlbGVjdC1vcHRpb24nLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcGFkZGluZzogdGhlbWUuc3BhY2luZygxKSxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgZmxleFNocmluazogMCxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmQ6IHRoZW1lLmNvbG9ycy5hY3Rpb24uaG92ZXIsXG4gICAgICAnQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpLCAocHJlZmVycy1jb250cmFzdDogbW9yZSknOiB7XG4gICAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlcn1gLFxuICAgICAgfSxcbiAgICB9LFxuICB9KSxcbiAgb3B0aW9uRm9jdXNlZDogY3NzKHtcbiAgICBsYWJlbDogJ2dyYWZhbmEtc2VsZWN0LW9wdGlvbi1mb2N1c2VkJyxcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZS5jb2xvcnMuYWN0aW9uLmZvY3VzLFxuICAgICdAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKSc6IHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlcn1gLFxuICAgIH0sXG4gIH0pLFxuICBvcHRpb25Cb2R5OiBjc3Moe1xuICAgIGxhYmVsOiAnZ3JhZmFuYS1zZWxlY3Qtb3B0aW9uLWJvZHknLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmb250V2VpZ2h0OiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRXZWlnaHRNZWRpdW0sXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgZmxleEdyb3c6IDEsXG4gIH0pLFxuICBncm91cEJvdHRvbUJvcmRlcjogY3NzKHtcbiAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuYm9yZGVyLndlYWt9YCxcbiAgfSksXG4gIGNoZWNrYm94OiBjc3Moe1xuICAgIHBhZGRpbmdSaWdodDogdGhlbWUuc3BhY2luZygwLjUpLFxuICB9KSxcbiAgbXVsdGlWYWx1ZUFwcGx5V3JhcHBlcjogY3NzKHtcbiAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMuYmFja2dyb3VuZC5wcmltYXJ5LFxuICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMudGV4dC5wcmltYXJ5LFxuICAgIGJveFNoYWRvdzogdGhlbWUuc2hhZG93cy56MixcbiAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICB6SW5kZXg6IHRoZW1lLnpJbmRleC5kcm9wZG93bixcbiAgICBnYXA6IHRoZW1lLnNwYWNpbmcoMS41KSxcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS5zcGFjaW5nKDEuNSl9ICR7dGhlbWUuc3BhY2luZygxKX1gLFxuICB9KSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTG9hZGluZ09wdGlvbnNQbGFjZWhvbGRlciA9ICgpID0+IHtcbiAgcmV0dXJuIDxEcm9wZG93bkl0ZW0gb25DbGljaz17KGUpID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9PkxvYWRpbmcgb3B0aW9ucy4uLjwvRHJvcGRvd25JdGVtPjtcbn07XG5cbmV4cG9ydCBjb25zdCBOb09wdGlvbnNQbGFjZWhvbGRlciA9ICgpID0+IHtcbiAgcmV0dXJuIDxEcm9wZG93bkl0ZW0gb25DbGljaz17KGUpID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9Pk5vIG9wdGlvbnMgZm91bmQ8L0Ryb3Bkb3duSXRlbT47XG59O1xuXG5leHBvcnQgY29uc3QgT3B0aW9uc0Vycm9yUGxhY2Vob2xkZXIgPSAoeyBoYW5kbGVGZXRjaE9wdGlvbnMgfTogeyBoYW5kbGVGZXRjaE9wdGlvbnM6ICgpID0+IHZvaWQgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxEcm9wZG93bkl0ZW0gb25DbGljaz17aGFuZGxlRmV0Y2hPcHRpb25zfT5BbiBlcnJvciBoYXMgb2NjdXJyZWQgZmV0Y2hpbmcgbGFiZWxzLiBDbGljayB0byByZXRyeTwvRHJvcGRvd25JdGVtPlxuICApO1xufTtcblxuaW50ZXJmYWNlIE11bHRpVmFsdWVBcHBseUJ1dHRvblByb3BzIHtcbiAgb25BcHBseTogKCkgPT4gdm9pZDtcbiAgZmxvYXRpbmdFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIG1heE9wdGlvbldpZHRoOiBudW1iZXI7XG4gIG1lbnVIZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IE11bHRpVmFsdWVBcHBseUJ1dHRvbiA9ICh7XG4gIG9uQXBwbHksXG4gIGZsb2F0aW5nRWxlbWVudCxcbiAgbWF4T3B0aW9uV2lkdGgsXG4gIG1lbnVIZWlnaHQsXG59OiBNdWx0aVZhbHVlQXBwbHlCdXR0b25Qcm9wcykgPT4ge1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZXMyKGdldFN0eWxlcyk7XG5cbiAgY29uc3QgZmxvYXRpbmdFbGVtZW50UmVjdCA9IGZsb2F0aW5nRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtzdHlsZXMubXVsdGlWYWx1ZUFwcGx5V3JhcHBlcn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBgJHttYXhPcHRpb25XaWR0aH1weGAsXG4gICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZSgke2Zsb2F0aW5nRWxlbWVudFJlY3Q/LmxlZnR9cHgsJHtcbiAgICAgICAgICBmbG9hdGluZ0VsZW1lbnRSZWN0ID8gZmxvYXRpbmdFbGVtZW50UmVjdC50b3AgKyBtZW51SGVpZ2h0IDogMFxuICAgICAgICB9cHgpYCxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtvbkFwcGx5fSBzaXplPVwic21cIiB0YWJJbmRleD17LTF9PlxuICAgICAgICBBcHBseVxuICAgICAgPC9CdXR0b24+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIkRyb3Bkb3duSXRlbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhTyxNQUFNLFlBQWUsR0FBQSxVQUFBO0FBQUEsRUFDMUIsU0FBU0EsYUFBYSxDQUFBLEVBQUEs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
@@ -0,0 +1,114 @@
1
+ import { cx, css } from '@emotion/css';
2
+ import { useStyles2, Button, Icon } from '@grafana/ui';
3
+ import React, { useCallback } from 'react';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __defProps = Object.defineProperties;
7
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
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
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ const MultiValuePill = ({
25
+ item,
26
+ handleRemoveMultiValue,
27
+ index,
28
+ handleEditMultiValuePill
29
+ }) => {
30
+ var _a, _b;
31
+ const styles = useStyles2(getStyles);
32
+ const editMultiValuePill = useCallback(
33
+ (e) => {
34
+ e.stopPropagation();
35
+ e.preventDefault();
36
+ handleEditMultiValuePill(item);
37
+ },
38
+ [handleEditMultiValuePill, item]
39
+ );
40
+ const editMultiValuePillWithKeyboard = useCallback(
41
+ (e) => {
42
+ if (e.key === "Enter") {
43
+ editMultiValuePill(e);
44
+ }
45
+ },
46
+ [editMultiValuePill]
47
+ );
48
+ const removePillHandler = useCallback(
49
+ (e) => {
50
+ e.stopPropagation();
51
+ e.preventDefault();
52
+ handleRemoveMultiValue(item);
53
+ },
54
+ [handleRemoveMultiValue, item]
55
+ );
56
+ const removePillHandlerWithKeyboard = useCallback(
57
+ (e) => {
58
+ if (e.key === "Enter") {
59
+ removePillHandler(e);
60
+ }
61
+ },
62
+ [removePillHandler]
63
+ );
64
+ return /* @__PURE__ */ React.createElement("div", {
65
+ className: cx(styles.basePill, styles.valuePill),
66
+ onClick: editMultiValuePill,
67
+ onKeyDown: editMultiValuePillWithKeyboard,
68
+ tabIndex: 0,
69
+ id: `${item.value}-${index}`
70
+ }, (_a = item.label) != null ? _a : item.value, /* @__PURE__ */ React.createElement(Button, {
71
+ onClick: removePillHandler,
72
+ onKeyDownCapture: removePillHandlerWithKeyboard,
73
+ fill: "text",
74
+ size: "sm",
75
+ variant: "secondary",
76
+ className: styles.removeButton,
77
+ tooltip: `Remove filter value - ${(_b = item.label) != null ? _b : item.value}`
78
+ }, /* @__PURE__ */ React.createElement(Icon, {
79
+ name: "times",
80
+ size: "md",
81
+ id: `${item.value}-${index}-close-icon`
82
+ })));
83
+ };
84
+ const getStyles = (theme) => ({
85
+ basePill: css(__spreadProps(__spreadValues({
86
+ display: "flex",
87
+ alignItems: "center",
88
+ background: theme.colors.action.disabledBackground,
89
+ border: `1px solid ${theme.colors.border.weak}`,
90
+ padding: theme.spacing(0.125, 1, 0.125, 1),
91
+ color: theme.colors.text.primary,
92
+ overflow: "hidden",
93
+ whiteSpace: "nowrap",
94
+ minHeight: theme.spacing(2.75)
95
+ }, theme.typography.bodySmall), {
96
+ cursor: "pointer"
97
+ })),
98
+ valuePill: css({
99
+ background: theme.colors.action.selected,
100
+ padding: theme.spacing(0.125, 0, 0.125, 1)
101
+ }),
102
+ removeButton: css({
103
+ marginInline: theme.spacing(0.5),
104
+ height: "100%",
105
+ padding: 0,
106
+ cursor: "pointer",
107
+ "&:hover": {
108
+ color: theme.colors.text.primary
109
+ }
110
+ })
111
+ });
112
+
113
+ export { MultiValuePill };
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlWYWx1ZVBpbGwuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvYWRob2MvQWRIb2NGaWx0ZXJzQ29tYm9ib3gvTXVsdGlWYWx1ZVBpbGwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN4LCBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgU2VsZWN0YWJsZVZhbHVlLCBHcmFmYW5hVGhlbWUyIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyLCBCdXR0b24sIEljb24gfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbmludGVyZmFjZSBNdWx0aVZhbHVlUGlsbFByb3BzIHtcbiAgaXRlbTogU2VsZWN0YWJsZVZhbHVlPHN0cmluZz47XG4gIGhhbmRsZVJlbW92ZU11bHRpVmFsdWU6IChpdGVtOiBTZWxlY3RhYmxlVmFsdWU8c3RyaW5nPikgPT4gdm9pZDtcbiAgaW5kZXg6IG51bWJlcjtcbiAgaGFuZGxlRWRpdE11bHRpVmFsdWVQaWxsOiAodmFsdWU6IFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+KSA9PiB2b2lkO1xufVxuZXhwb3J0IGNvbnN0IE11bHRpVmFsdWVQaWxsID0gKHtcbiAgaXRlbSxcbiAgaGFuZGxlUmVtb3ZlTXVsdGlWYWx1ZSxcbiAgaW5kZXgsXG4gIGhhbmRsZUVkaXRNdWx0aVZhbHVlUGlsbCxcbn06IE11bHRpVmFsdWVQaWxsUHJvcHMpID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gdXNlU3R5bGVzMihnZXRTdHlsZXMpO1xuXG4gIGNvbnN0IGVkaXRNdWx0aVZhbHVlUGlsbCA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBSZWFjdC5TeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGhhbmRsZUVkaXRNdWx0aVZhbHVlUGlsbChpdGVtKTtcbiAgICB9LFxuICAgIFtoYW5kbGVFZGl0TXVsdGlWYWx1ZVBpbGwsIGl0ZW1dXG4gICk7XG5cbiAgY29uc3QgZWRpdE11bHRpVmFsdWVQaWxsV2l0aEtleWJvYXJkID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LktleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICBlZGl0TXVsdGlWYWx1ZVBpbGwoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZWRpdE11bHRpVmFsdWVQaWxsXVxuICApO1xuXG4gIGNvbnN0IHJlbW92ZVBpbGxIYW5kbGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LlN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaGFuZGxlUmVtb3ZlTXVsdGlWYWx1ZShpdGVtKTtcbiAgICB9LFxuICAgIFtoYW5kbGVSZW1vdmVNdWx0aVZhbHVlLCBpdGVtXVxuICApO1xuXG4gIGNvbnN0IHJlbW92ZVBpbGxIYW5kbGVyV2l0aEtleWJvYXJkID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LktleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICByZW1vdmVQaWxsSGFuZGxlcihlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtyZW1vdmVQaWxsSGFuZGxlcl1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVzLmJhc2VQaWxsLCBzdHlsZXMudmFsdWVQaWxsKX1cbiAgICAgIG9uQ2xpY2s9e2VkaXRNdWx0aVZhbHVlUGlsbH1cbiAgICAgIG9uS2V5RG93bj17ZWRpdE11bHRpVmFsdWVQaWxsV2l0aEtleWJvYXJkfVxuICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICBpZD17YCR7aXRlbS52YWx1ZX0tJHtpbmRleH1gfVxuICAgID5cbiAgICAgIHtpdGVtLmxhYmVsID8/IGl0ZW0udmFsdWV9XG4gICAgICA8QnV0dG9uXG4gICAgICAgIG9uQ2xpY2s9e3JlbW92ZVBpbGxIYW5kbGVyfVxuICAgICAgICBvbktleURvd25DYXB0dXJlPXtyZW1vdmVQaWxsSGFuZGxlcldpdGhLZXlib2FyZH1cbiAgICAgICAgZmlsbD1cInRleHRcIlxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMucmVtb3ZlQnV0dG9ufVxuICAgICAgICB0b29sdGlwPXtgUmVtb3ZlIGZpbHRlciB2YWx1ZSAtICR7aXRlbS5sYWJlbCA/PyBpdGVtLnZhbHVlfWB9XG4gICAgICA+XG4gICAgICAgIDxJY29uIG5hbWU9XCJ0aW1lc1wiIHNpemU9XCJtZFwiIGlkPXtgJHtpdGVtLnZhbHVlfS0ke2luZGV4fS1jbG9zZS1pY29uYH0gLz5cbiAgICAgIDwvQnV0dG9uPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgZ2V0U3R5bGVzID0gKHRoZW1lOiBHcmFmYW5hVGhlbWUyKSA9PiAoe1xuICBiYXNlUGlsbDogY3NzKHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZDogdGhlbWUuY29sb3JzLmFjdGlvbi5kaXNhYmxlZEJhY2tncm91bmQsXG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLmJvcmRlci53ZWFrfWAsXG4gICAgcGFkZGluZzogdGhlbWUuc3BhY2luZygwLjEyNSwgMSwgMC4xMjUsIDEpLFxuICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMudGV4dC5wcmltYXJ5LFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBtaW5IZWlnaHQ6IHRoZW1lLnNwYWNpbmcoMi43NSksXG4gICAgLi4udGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGwsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gIH0pLFxuICB2YWx1ZVBpbGw6IGNzcyh7XG4gICAgYmFja2dyb3VuZDogdGhlbWUuY29sb3JzLmFjdGlvbi5zZWxlY3RlZCxcbiAgICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDAuMTI1LCAwLCAwLjEyNSwgMSksXG4gIH0pLFxuICByZW1vdmVCdXR0b246IGNzcyh7XG4gICAgbWFyZ2luSW5saW5lOiB0aGVtZS5zcGFjaW5nKDAuNSksXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgcGFkZGluZzogMCxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMudGV4dC5wcmltYXJ5LFxuICAgIH0sXG4gIH0pLFxufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXTyxNQUFNLGlCQUFpQixDQUFDO0FBQUEsRUFDN0IsSUFBQTtBQUFBLEVBQ0Esc0JBQUE7QUFBQSxFQUNBLEtBQUE7QUFBQSxFQUNBLHdCQUFBO0FBQ0YsQ0FBMkIsS0FBQTtBQWhCM0IsRUFBQSxJQUFBLEVBQUEsRUFBQSxFQUFBLENBQUE7QUFpQkUsRUFBTSxNQUFBLE1BQUEsR0FBUyxXQUFXLFNBQVMsQ0FBQSxDQUFBO0FBRW5DLEVBQUEsTUFBTSxrQkFBcUIsR0FBQSxXQUFBO0FBQUEsSUFDekIsQ0FBQyxDQUE0QixLQUFBO0FBQzNCLE1BQUEsQ0FBQSxDQUFFLGVBQWdCLEVBQUEsQ0FBQTtBQUNsQixNQUFBLENBQUEsQ0FBRSxjQUFlLEVBQUEsQ0FBQTtBQUNqQixNQUFBLHdCQUFBLENBQXlCLElBQUksQ0FBQSxDQUFBO0FBQUEsS0FDL0I7QUFBQSxJQUNBLENBQUMsMEJBQTBCLElBQUksQ0FBQTtBQUFBLEdBQ2pDLENBQUE7QUFFQSxFQUFBLE1BQU0sOEJB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
@@ -0,0 +1,68 @@
1
+ import { useFloating, autoUpdate, offset, flip, size, useRole, useDismiss, useListNavigation, useInteractions } from '@floating-ui/react';
2
+
3
+ const MAX_MENU_HEIGHT = 300;
4
+ const useFloatingInteractions = ({
5
+ open,
6
+ onOpenChange,
7
+ activeIndex,
8
+ setActiveIndex,
9
+ outsidePressIdsToIgnore,
10
+ listRef,
11
+ disabledIndicesRef
12
+ }) => {
13
+ const { refs, floatingStyles, context } = useFloating({
14
+ whileElementsMounted: autoUpdate,
15
+ open,
16
+ onOpenChange,
17
+ placement: "bottom-start",
18
+ middleware: [
19
+ offset(10),
20
+ flip({ padding: 10 }),
21
+ size({
22
+ apply({ availableHeight, availableWidth, elements }) {
23
+ elements.floating.style.maxHeight = `${Math.min(MAX_MENU_HEIGHT, availableHeight)}px`;
24
+ elements.floating.style.maxWidth = `${availableWidth}px`;
25
+ },
26
+ padding: 10
27
+ })
28
+ ],
29
+ strategy: "fixed"
30
+ });
31
+ const role = useRole(context, { role: "listbox" });
32
+ const dismiss = useDismiss(context, {
33
+ outsidePress: (event) => {
34
+ var _a;
35
+ if (event.currentTarget instanceof Element) {
36
+ const target = event.currentTarget;
37
+ let idToCompare = target.id;
38
+ if (target.nodeName === "path") {
39
+ idToCompare = ((_a = target.parentElement) == null ? void 0 : _a.id) || "";
40
+ }
41
+ if (outsidePressIdsToIgnore.includes(idToCompare)) {
42
+ return false;
43
+ }
44
+ }
45
+ return true;
46
+ }
47
+ });
48
+ const listNav = useListNavigation(context, {
49
+ listRef,
50
+ activeIndex,
51
+ onNavigate: setActiveIndex,
52
+ virtual: true,
53
+ loop: true,
54
+ disabledIndices: disabledIndicesRef.current
55
+ });
56
+ const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions([role, dismiss, listNav]);
57
+ return {
58
+ refs,
59
+ floatingStyles,
60
+ context,
61
+ getReferenceProps,
62
+ getFloatingProps,
63
+ getItemProps
64
+ };
65
+ };
66
+
67
+ export { MAX_MENU_HEIGHT, useFloatingInteractions };
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRmxvYXRpbmdJbnRlcmFjdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvYWRob2MvQWRIb2NGaWx0ZXJzQ29tYm9ib3gvdXNlRmxvYXRpbmdJbnRlcmFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlRmxvYXRpbmcsXG4gIGF1dG9VcGRhdGUsXG4gIG9mZnNldCxcbiAgdXNlUm9sZSxcbiAgdXNlRGlzbWlzcyxcbiAgdXNlTGlzdE5hdmlnYXRpb24sXG4gIFVzZUZsb2F0aW5nT3B0aW9ucyxcbiAgZmxpcCxcbiAgc2l6ZSxcbiAgVXNlTGlzdE5hdmlnYXRpb25Qcm9wcyxcbiAgdXNlSW50ZXJhY3Rpb25zLFxufSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuXG50eXBlIHVzZUZsb2F0aW5nSW50ZXJhY3Rpb25zUHJvcHMgPSB7XG4gIG9wZW46IFVzZUZsb2F0aW5nT3B0aW9uc1snb3BlbiddO1xuICBvbk9wZW5DaGFuZ2U6IFVzZUZsb2F0aW5nT3B0aW9uc1snb25PcGVuQ2hhbmdlJ107XG4gIGFjdGl2ZUluZGV4OiBVc2VMaXN0TmF2aWdhdGlvblByb3BzWydhY3RpdmVJbmRleCddO1xuICBzZXRBY3RpdmVJbmRleDogVXNlTGlzdE5hdmlnYXRpb25Qcm9wc1snb25OYXZpZ2F0ZSddO1xuICBvdXRzaWRlUHJlc3NJZHNUb0lnbm9yZTogc3RyaW5nW107XG4gIGxpc3RSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8QXJyYXk8SFRNTEVsZW1lbnQgfCBudWxsPj47XG4gIGRpc2FibGVkSW5kaWNlc1JlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxudW1iZXJbXT47XG59O1xuXG5leHBvcnQgY29uc3QgTUFYX01FTlVfSEVJR0hUID0gMzAwO1xuXG5leHBvcnQgY29uc3QgdXNlRmxvYXRpbmdJbnRlcmFjdGlvbnMgPSAoe1xuICBvcGVuLFxuICBvbk9wZW5DaGFuZ2UsXG4gIGFjdGl2ZUluZGV4LFxuICBzZXRBY3RpdmVJbmRleCxcbiAgb3V0c2lkZVByZXNzSWRzVG9JZ25vcmUsXG4gIGxpc3RSZWYsXG4gIGRpc2FibGVkSW5kaWNlc1JlZixcbn06IHVzZUZsb2F0aW5nSW50ZXJhY3Rpb25zUHJvcHMpID0+IHtcbiAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCB9ID0gdXNlRmxvYXRpbmc8SFRNTElucHV0RWxlbWVudD4oe1xuICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgIG9wZW4sXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgbWlkZGxld2FyZTogW1xuICAgICAgb2Zmc2V0KDEwKSxcbiAgICAgIGZsaXAoeyBwYWRkaW5nOiAxMCB9KSxcbiAgICAgIHNpemUoe1xuICAgICAgICBhcHBseSh7IGF2YWlsYWJsZUhlaWdodCwgYXZhaWxhYmxlV2lkdGgsIGVsZW1lbnRzIH0pIHtcbiAgICAgICAgICAvLyBsaW1pdCBtYXhIZWlnaHQgYW5kIG1heFdpZHRoIG9mIGRyb3Bkb3duXG4gICAgICAgICAgZWxlbWVudHMuZmxvYXRpbmcuc3R5bGUubWF4SGVpZ2h0ID0gYCR7TWF0aC5taW4oTUFYX01FTlVfSEVJR0hULCBhdmFpbGFibGVIZWlnaHQpfXB4YDtcbiAgICAgICAgICBlbGVtZW50cy5mbG9hdGluZy5zdHlsZS5tYXhXaWR0aCA9IGAke2F2YWlsYWJsZVdpZHRofXB4YDtcbiAgICAgICAgfSxcbiAgICAgICAgcGFkZGluZzogMTAsXG4gICAgICB9KSxcbiAgICBdLFxuICAgIHN0cmF0ZWd5OiAnZml4ZWQnLFxuICB9KTtcblxuICBjb25zdCByb2xlID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGU6ICdsaXN0Ym94JyB9KTtcbiAgY29uc3QgZGlzbWlzcyA9IHVzZURpc21pc3MoY29udGV4dCwge1xuICAgIC8vIGlmIG91dHNpZGUgY2xpY2sgbGFuZHMgb24gb3BlcmF0b3IgcGlsbCwgdGhlbiBpZ25vcmUgb3V0c2lkZSBjbGlja1xuICAgIG91dHNpZGVQcmVzczogKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQuY3VycmVudFRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgbGV0IGlkVG9Db21wYXJlID0gdGFyZ2V0LmlkO1xuICAgICAgICBpZiAodGFyZ2V0Lm5vZGVOYW1lID09PSAncGF0aCcpIHtcbiAgICAgICAgICBpZFRvQ29tcGFyZSA9IHRhcmdldC5wYXJlbnRFbGVtZW50Py5pZCB8fCAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvdXRzaWRlUHJlc3NJZHNUb0lnbm9yZS5pbmNsdWRlcyhpZFRvQ29tcGFyZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gIH0pO1xuICBjb25zdCBsaXN0TmF2ID0gdXNlTGlzdE5hdmlnYXRpb24oY29udGV4dCwge1xuICAgIGxpc3RSZWYsXG4gICAgYWN0aXZlSW5kZXgsXG4gICAgb25OYXZpZ2F0ZTogc2V0QWN0aXZlSW5kZXgsXG4gICAgdmlydHVhbDogdHJ1ZSxcbiAgICBsb29wOiB0cnVlLFxuICAgIGRpc2FibGVkSW5kaWNlczogZGlzYWJsZWRJbmRpY2VzUmVmLmN1cnJlbnQsXG4gIH0pO1xuXG4gIGNvbnN0IHsgZ2V0UmVmZXJlbmNlUHJvcHMsIGdldEZsb2F0aW5nUHJvcHMsIGdldEl0ZW1Qcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKFtyb2xlLCBkaXNtaXNzLCBsaXN0TmF2XSk7XG5cbiAgcmV0dXJuIHtcbiAgICByZWZzLFxuICAgIGZsb2F0aW5nU3R5bGVzLFxuICAgIGNvbnRleHQsXG4gICAgZ2V0UmVmZXJlbmNlUHJvcHMsXG4gICAgZ2V0RmxvYXRpbmdQcm9wcyxcbiAgICBnZXRJdGVt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
@@ -0,0 +1,146 @@
1
+ import { isMultiValueOperator } from '../AdHocFiltersVariable.js';
2
+ import { getFuzzySearcher } from '../../utils.js';
3
+
4
+ const VIRTUAL_LIST_WIDTH_ESTIMATE_MULTIPLIER = 8;
5
+ const VIRTUAL_LIST_DESCRIPTION_WIDTH_ESTIMATE_MULTIPLIER = 6;
6
+ const VIRTUAL_LIST_PADDING = 8;
7
+ const VIRTUAL_LIST_OVERSCAN = 5;
8
+ const VIRTUAL_LIST_ITEM_HEIGHT = 38;
9
+ const VIRTUAL_LIST_ITEM_HEIGHT_WITH_DESCRIPTION = 60;
10
+ const ERROR_STATE_DROPDOWN_WIDTH = 366;
11
+ function fuzzySearchOptions(options) {
12
+ const haystack = options.map((o) => {
13
+ var _a;
14
+ return (_a = o.label) != null ? _a : o.value;
15
+ });
16
+ const fuzzySearch = getFuzzySearcher(haystack);
17
+ return (search, filterInputType) => {
18
+ if (filterInputType === "operator" && search !== "") {
19
+ search = `"${search}"`;
20
+ }
21
+ return fuzzySearch(search).map((i) => options[i]);
22
+ };
23
+ }
24
+ const flattenOptionGroups = (options) => options.flatMap((option) => option.options ? [option, ...option.options] : [option]);
25
+ const setupDropdownAccessibility = (options, listRef, disabledIndicesRef) => {
26
+ var _a, _b, _c, _d;
27
+ let maxOptionWidth = 182;
28
+ const listRefArr = [];
29
+ const disabledIndices = [];
30
+ for (let i = 0; i < options.length; i++) {
31
+ listRefArr.push(null);
32
+ if ((_a = options[i]) == null ? void 0 : _a.options) {
33
+ disabledIndices.push(i);
34
+ }
35
+ let label = (_c = (_b = options[i].label) != null ? _b : options[i].value) != null ? _c : "";
36
+ let multiplierToUse = VIRTUAL_LIST_WIDTH_ESTIMATE_MULTIPLIER;
37
+ if (label.length * VIRTUAL_LIST_WIDTH_ESTIMATE_MULTIPLIER < (((_d = options[i].description) == null ? void 0 : _d.length) || 0) * VIRTUAL_LIST_DESCRIPTION_WIDTH_ESTIMATE_MULTIPLIER) {
38
+ label = options[i].description;
39
+ multiplierToUse = VIRTUAL_LIST_DESCRIPTION_WIDTH_ESTIMATE_MULTIPLIER;
40
+ }
41
+ const widthEstimate = (options[i].isCustom ? label.length + 18 : label.length) * multiplierToUse + VIRTUAL_LIST_PADDING * 2;
42
+ if (widthEstimate > maxOptionWidth) {
43
+ maxOptionWidth = widthEstimate;
44
+ }
45
+ }
46
+ listRef.current = [...listRefArr];
47
+ disabledIndicesRef.current = [...disabledIndices];
48
+ return maxOptionWidth;
49
+ };
50
+ const nextInputTypeMap = {
51
+ key: "operator",
52
+ operator: "value",
53
+ value: "key"
54
+ };
55
+ const switchToNextInputType = (filterInputType, setInputType, handleChangeViewMode, element, shouldFocusOnPillWrapperOverride) => switchInputType(
56
+ nextInputTypeMap[filterInputType],
57
+ setInputType,
58
+ filterInputType === "value" ? handleChangeViewMode : void 0,
59
+ element,
60
+ shouldFocusOnPillWrapperOverride
61
+ );
62
+ const switchInputType = (filterInputType, setInputType, handleChangeViewMode, element, shouldFocusOnPillWrapperOverride) => {
63
+ setInputType(filterInputType);
64
+ handleChangeViewMode == null ? void 0 : handleChangeViewMode(void 0, shouldFocusOnPillWrapperOverride);
65
+ setTimeout(() => element == null ? void 0 : element.focus());
66
+ };
67
+ const generateFilterUpdatePayload = ({
68
+ filterInputType,
69
+ item,
70
+ filter,
71
+ setFilterMultiValues
72
+ }) => {
73
+ var _a, _b, _c, _d, _e;
74
+ if (filterInputType === "key") {
75
+ return {
76
+ key: item.value,
77
+ keyLabel: item.label ? item.label : item.value
78
+ };
79
+ }
80
+ if (filterInputType === "value") {
81
+ return {
82
+ value: item.value,
83
+ valueLabels: [item.label ? item.label : item.value]
84
+ };
85
+ }
86
+ if (filterInputType === "operator") {
87
+ if (isMultiValueOperator(filter.operator) && !isMultiValueOperator(item.value)) {
88
+ setFilterMultiValues([]);
89
+ return {
90
+ operator: item.value,
91
+ valueLabels: [((_a = filter.valueLabels) == null ? void 0 : _a[0]) || ((_b = filter.values) == null ? void 0 : _b[0]) || filter.value],
92
+ values: void 0
93
+ };
94
+ }
95
+ if (isMultiValueOperator(item.value) && !isMultiValueOperator(filter.operator)) {
96
+ const valueLabels = [((_c = filter.valueLabels) == null ? void 0 : _c[0]) || ((_d = filter.values) == null ? void 0 : _d[0]) || filter.value];
97
+ const values = [filter.value];
98
+ if (values[0]) {
99
+ setFilterMultiValues([
100
+ {
101
+ value: values[0],
102
+ label: (_e = valueLabels == null ? void 0 : valueLabels[0]) != null ? _e : values[0]
103
+ }
104
+ ]);
105
+ }
106
+ return {
107
+ operator: item.value,
108
+ valueLabels,
109
+ values
110
+ };
111
+ }
112
+ }
113
+ return {
114
+ [filterInputType]: item.value
115
+ };
116
+ };
117
+ const INPUT_PLACEHOLDER = "Filter by label values";
118
+ const generatePlaceholder = (filter, filterInputType, isMultiValueEdit, isAlwaysWip) => {
119
+ var _a;
120
+ if (filterInputType === "key") {
121
+ return INPUT_PLACEHOLDER;
122
+ }
123
+ if (filterInputType === "value") {
124
+ if (isMultiValueEdit) {
125
+ return "Edit values";
126
+ }
127
+ return ((_a = filter.valueLabels) == null ? void 0 : _a[0]) || "";
128
+ }
129
+ return filter[filterInputType] && !isAlwaysWip ? `${filter[filterInputType]}` : INPUT_PLACEHOLDER;
130
+ };
131
+ const populateInputValueOnInputTypeSwitch = ({
132
+ populateInputOnEdit,
133
+ item,
134
+ filterInputType,
135
+ setInputValue,
136
+ filter
137
+ }) => {
138
+ if (populateInputOnEdit && !isMultiValueOperator(item.value || "") && nextInputTypeMap[filterInputType] === "value") {
139
+ setInputValue((filter == null ? void 0 : filter.value) || "");
140
+ } else {
141
+ setInputValue("");
142
+ }
143
+ };
144
+
145
+ export { ERROR_STATE_DROPDOWN_WIDTH, VIRTUAL_LIST_ITEM_HEIGHT, VIRTUAL_LIST_ITEM_HEIGHT_WITH_DESCRIPTION, VIRTUAL_LIST_OVERSCAN, flattenOptionGroups, fuzzySearchOptions, generateFilterUpdatePayload, generatePlaceholder, populateInputValueOnInputTypeSwitch, setupDropdownAccessibility, switchInputType, switchToNextInputType };
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvYWRob2MvQWRIb2NGaWx0ZXJzQ29tYm9ib3gvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0YWJsZVZhbHVlIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBBZEhvY0lucHV0VHlwZSB9IGZyb20gJy4vQWRIb2NGaWx0ZXJzQ29tYm9ib3gnO1xuaW1wb3J0IHsgQWRIb2NGaWx0ZXJXaXRoTGFiZWxzLCBpc011bHRpVmFsdWVPcGVyYXRvciB9IGZyb20gJy4uL0FkSG9jRmlsdGVyc1ZhcmlhYmxlJztcbmltcG9ydCB7IGdldEZ1enp5U2VhcmNoZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmNvbnN0IFZJUlRVQUxfTElTVF9XSURUSF9FU1RJTUFURV9NVUxUSVBMSUVSID0gODtcbmNvbnN0IFZJUlRVQUxfTElTVF9ERVNDUklQVElPTl9XSURUSF9FU1RJTUFURV9NVUxUSVBMSUVSID0gNjtcbmNvbnN0IFZJUlRVQUxfTElTVF9QQURESU5HID0gODtcbmV4cG9ydCBjb25zdCBWSVJUVUFMX0xJU1RfT1ZFUlNDQU4gPSA1O1xuZXhwb3J0IGNvbnN0IFZJUlRVQUxfTElTVF9JVEVNX0hFSUdIVCA9IDM4O1xuZXhwb3J0IGNvbnN0IFZJUlRVQUxfTElTVF9JVEVNX0hFSUdIVF9XSVRIX0RFU0NSSVBUSU9OID0gNjA7XG5leHBvcnQgY29uc3QgRVJST1JfU1RBVEVfRFJPUERPV05fV0lEVEggPSAzNjY7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXp6eVNlYXJjaE9wdGlvbnMob3B0aW9uczogQXJyYXk8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+KSB7XG4gIGNvbnN0IGhheXN0YWNrID0gb3B0aW9ucy5tYXAoKG8pID0+IG8ubGFiZWwgPz8gby52YWx1ZSEpO1xuICBjb25zdCBmdXp6eVNlYXJjaCA9IGdldEZ1enp5U2VhcmNoZXIoaGF5c3RhY2spO1xuXG4gIHJldHVybiAoc2VhcmNoOiBzdHJpbmcsIGZpbHRlcklucHV0VHlwZTogQWRIb2NJbnB1dFR5cGUpID0+IHtcbiAgICBpZiAoZmlsdGVySW5wdXRUeXBlID09PSAnb3BlcmF0b3InICYmIHNlYXJjaCAhPT0gJycpIHtcbiAgICAgIC8vIHVGdXp6eSBjYW4gb25seSBtYXRjaCBub24tYWxwaGFudW0gY2hhcnMgaWYgcXVvdGVkXG4gICAgICBzZWFyY2ggPSBgXCIke3NlYXJjaH1cImA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1enp5U2VhcmNoKHNlYXJjaCkubWFwKChpKSA9PiBvcHRpb25zW2ldKTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBmbGF0dGVuT3B0aW9uR3JvdXBzID0gKG9wdGlvbnM6IEFycmF5PFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+PikgPT5cbiAgb3B0aW9ucy5mbGF0TWFwPFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+Pigob3B0aW9uKSA9PiAob3B0aW9uLm9wdGlvbnMgPyBbb3B0aW9uLCAuLi5vcHRpb24ub3B0aW9uc10gOiBbb3B0aW9uXSkpO1xuXG5leHBvcnQgY29uc3Qgc2V0dXBEcm9wZG93bkFjY2Vzc2liaWxpdHkgPSAoXG4gIG9wdGlvbnM6IEFycmF5PFNlbGVjdGFibGVWYWx1ZTxzdHJpbmc+PixcbiAgbGlzdFJlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxBcnJheTxIVE1MRWxlbWVudCB8IG51bGw+PixcbiAgZGlzYWJsZWRJbmRpY2VzUmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PG51bWJlcltdPlxuKSA9PiB7XG4gIGxldCBtYXhPcHRpb25XaWR0aCA9IDE4MjtcbiAgY29uc3QgbGlzdFJlZkFyciA9IFtdO1xuICBjb25zdCBkaXNhYmxlZEluZGljZXMgPSBbXTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAvLyBsaXN0UmVmQXJyIHNob3VsZCBiZSBmaWxsZWQgd2l0aCBudWxscyBmb3IgYW1vdW50IG9mIGRyb3Bkb3duIGl0ZW1zIHNvIHRoYXRcbiAgICAvLyAgICB1c2VOYXZpZ2F0aW9uTGlzdCBzZXRzIGFjdGl2ZUluZGV4IGNvcnJlY3RseSB3aGVuIG5hdmlnYXRpbmcgd2l0aCBhcnJvdyBrZXlzXG4gICAgbGlzdFJlZkFyci5wdXNoKG51bGwpO1xuXG4gICAgLy8gZGlzYWJsZWRJbmRpY2VzIGFyZSB1c2VkIHRvIHNraXAgdW5zZWxlY3RhYmxlIGdyb3VwIGl0ZW1zIGluIGRyb3Bkb3duIHdoZW5cbiAgICAvLyAgICBuYXZpZ2F0aW5nIHdpdGggYXJyb3cga2V5c1xuICAgIGlmIChvcHRpb25zW2ldPy5vcHRpb25zKSB7XG4gICAgICBkaXNhYmxlZEluZGljZXMucHVzaChpKTtcbiAgICB9XG4gICAgbGV0IGxhYmVsID0gb3B0aW9uc1tpXS5sYWJlbCA/PyBvcHRpb25zW2ldLnZhbHVlID8/ICcnO1xuICAgIGxldCBtdWx0aXBsaWVyVG9Vc2UgPSBWSVJUVUFMX0xJU1RfV0lEVEhfRVNUSU1BVEVfTVVMVElQTElFUjtcbiAgICBpZiAoXG4gICAgICBsYWJlbC5sZW5ndGggKiBWSVJUVUFMX0xJU1RfV0lEVEhfRVNUSU1BVEVfTVVMVElQTElFUiA8XG4gICAgICAob3B0aW9uc1tpXS5kZXNjcmlwdGlvbj8ubGVuZ3RoIHx8IDApICogVklSVFVBTF9MSVNUX0RFU0NSSVBUSU9OX1dJRFRIX0VTVElNQVRFX01VTFRJUExJRVJcbiAgICApIHtcbiAgICAgIGxhYmVsID0gb3B0aW9uc1tpXS5kZXNjcmlwdGlvbiE7XG4gICAgICBtdWx0aXBsaWVyVG9Vc2UgPSBWSVJUVUFMX0xJU1RfREVTQ1JJUFRJT05fV0lEVEhfRVNUSU1BVEVfTVVMVElQTElFUjtcbiAgICB9XG5cbiAgICAvLyByb3VnaCB3aWR0aEVzdGltYXRlXG4gICAgY29uc3Qgd2lkdGhFc3RpbWF0ZSA9XG4gICAgICAob3B0aW9uc1tpXS5pc0N1c3RvbSA/IGxhYmVsLmxlbmd0aCArIDE4IDogbGFiZWwubGVuZ3RoKSAqIG11bHRpcGxpZXJUb1VzZSArIFZJUlRVQUxfTElTVF9QQURESU5HICogMjtcbiAgICBpZiAod2lkdGhFc3RpbWF0ZSA+IG1heE9wdGlvbldpZHRoKSB7XG4gICAgICBtYXhPcHRpb25XaWR0aCA9IHdpZHRoRXN0aW1hdGU7XG4gICAgfVxuICB9XG5cbiAgbGlzdFJlZi5jdXJyZW50ID0gWy4uLmxpc3RSZWZBcnJdO1xuICBkaXNhYmxlZEluZGljZXNSZWYuY3VycmVudCA9IFsuLi5kaXNhYmxlZEluZGljZXNdO1xuICByZXR1cm4gbWF4T3B0aW9uV2lkdGg7XG59O1xuXG5jb25zdCBuZXh0SW5wdXRUeXBlTWFwID0ge1xuICBrZXk6ICdvcGVyYXRvcicsXG4gIG9wZXJhdG9yOiAndmFsdWUnLFxuICB2YWx1ZTogJ2tleScsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc3dpdGNoVG9OZXh0SW5wdXRUeXBlID0gKFxuICBmaWx0ZXJJbnB1dFR5cGU6IEFkSG9jSW5wdXRUeXBlLFxuICBzZXRJbnB1dFR5cGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFkSG9jSW5wdXRUeXBlPj4sXG4gIGhhbmRsZUNoYW5nZVZpZXdNb2RlOiAoKGV2ZW50PzogUmVhY3QuTW91c2VFdmVudCwgc2hvdWxkRm9jdXNPbkZpbHRlclBpbGw/OiBib29sZWFuKSA9PiB2b2lkKSB8IHVuZGVmaW5lZCxcbiAgZWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gIHNob3VsZEZvY3VzT25QaWxsV3JhcHBlck92ZXJyaWRlPzogYm9vbGVhblxuKSA9PlxuICBzd2l0Y2hJbnB1dFR5cGUoXG4gICAgbmV4dElucHV0VHlwZU1hcFtmaWx0ZXJJbnB1dFR5cGVdLFxuICAgIHNldElucHV0VHlwZSxcbiAgICBmaWx0ZXJJbnB1dFR5cGUgPT09ICd2YWx1ZScgPyBoYW5kbGVDaGFuZ2VWaWV3TW9kZSA6IHVuZGVmaW5lZCxcbiAgICBlbGVtZW50LFxuICAgIHNob3VsZEZvY3VzT25QaWxsV3JhcHBlck92ZXJyaWRlXG4gICk7XG5cbmV4cG9ydCBjb25zdCBzd2l0Y2hJbnB1dFR5cGUgPSAoXG4gIGZpbHRlcklucHV0VHlwZTogQWRIb2NJbnB1dFR5cGUsXG4gIHNldElucHV0VHlwZTogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248QWRIb2NJbnB1dFR5cGU+PixcbiAgaGFuZGxlQ2hhbmdlVmlld01vZGU/OiAoZXZlbnQ/OiBSZWFjdC5Nb3VzZUV2ZW50LCBzaG91bGRGb2N1c09uRmlsdGVyUGlsbD86IGJvb2xlYW4pID0+IHZvaWQsXG4gIGVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCxcbiAgc2hvdWxkRm9jdXNPblBpbGxXcmFwcGVyT3ZlcnJpZGU/OiBib29sZWFuXG4pID0+IHtcbiAgc2V0SW5wdXRUeXBlKGZpbHRlcklucHV0VHlwZSk7XG5cbiAgaGFuZGxlQ2hhbmdlVmlld01vZGU/Lih1bmRlZmluZWQsIHNob3VsZEZvY3VzT25QaWxsV3JhcHBlck92ZXJyaWRlKTtcblxuICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQ/LmZvY3VzKCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlRmlsdGVyVXBkYXRlUGF5bG9hZCA9ICh7XG4gIGZpbHRlcklucHV0VHlwZSxcbiAgaXRlbSxcbiAgZmlsdGVyLFxuICBzZXRGaWx0ZXJNdWx0aVZhbHVlcyxcbn06IHtcbiAgZmlsdGVySW5wdXRUeXBlOiBBZEhvY0lucHV0VHlwZTtcbiAgaXRlbTogU2VsZWN0YWJsZVZhbHVlPHN0cmluZz47XG4gIGZpbHRlcjogQWRIb2NGaWx0ZXJXaXRoTGFiZWxzO1xuICBzZXRGaWx0ZXJNdWx0aVZhbHVlczogKHZhbHVlOiBSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxTZWxlY3RhYmxlVmFsdWU8c3RyaW5nPj4+KSA9PiB2b2lkO1xufSk6IFBhcnRpYWw8QWRIb2NGaWx0ZXJXaXRoTGFiZWxzPiA9PiB7XG4gIGlmIChmaWx0ZXJJbnB1dFR5cGUgPT09ICdrZXknKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogaXRlbS52YWx1ZSxcbiAgICAgIGtleUxhYmVsOiBpdGVtLmxhYmVsID8gaXRlbS5sYWJlbCA6IGl0ZW0udmFsdWUsXG4gICAgfTtcbiAgfVxuICBpZiAoZmlsdGVySW5wdXRUeXBlID09PSAndmFsdWUnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgdmFsdWVMYWJlbHM6IFtpdGVtLmxhYmVsID8gaXRlbS5sYWJlbCA6IGl0ZW0udmFsdWUhXSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGZpbHRlcklucHV0VHlwZSA9PT0gJ29wZXJhdG9yJykge1xuICAgIC8vIGhhbmRsZSB2YWx1ZXMvdmFsdWVMYWJlbHMgd2hlbiBzd2l0Y2hpbmcgZnJvbSBtdWx0aSB0byBzaW5nbGUgdmFsdWUgb3BlcmF0b3JcbiAgICBpZiAoaXNNdWx0aVZhbHVlT3BlcmF0b3IoZmlsdGVyLm9wZXJhdG9yKSAmJiAhaXNNdWx0aVZhbHVlT3BlcmF0b3IoaXRlbS52YWx1ZSEpKSB7XG4gICAgICAvLyByZXNldCBsb2NhbCBtdWx0aSB2YWx1ZXMgc3RhdGVcbiAgICAgIHNldEZpbHRlck11bHRpVmFsdWVzKFtdKTtcbiAgICAgIC8vIHVwZGF0ZSBvcGVyYXRvciBhbmQgcmVzZXQgdmFsdWVzIGFuZCB2YWx1ZUxhYmVsc1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3BlcmF0b3I6IGl0ZW0udmFsdWUsXG4gICAgICAgIHZhbHVlTGFiZWxzOiBbZmlsdGVyLnZhbHVlTGFiZWxzPy5bMF0gfHwgZmlsdGVyLnZhbHVlcz8uWzBdIHx8IGZpbHRlci52YWx1ZV0sXG4gICAgICAgIHZhbHVlczogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBoYW5kbGUgdmFsdWVzL3ZhbHVlTGFiZWxzIHdoZW4gc3dpdGNoaW5nIGZyb20gc2luZ2xlIHRvIG11bHRpIHZhbHVlIG9wZXJhdG9yXG4gICAgaWYgKGlzTXVsdGlWYWx1ZU9wZXJhdG9yKGl0ZW0udmFsdWUhKSAmJiAhaXNNdWx0aVZhbHVlT3BlcmF0b3IoZmlsdGVyLm9wZXJhdG9yKSkge1xuICAgICAgY29uc3QgdmFsdWVMYWJlbHMgPSBbZmlsdGVyLnZhbHVlTGFiZWxzPy5bMF0gfHwgZmlsdGVyLnZhbHVlcz8uWzBdIHx8IGZpbHRlci52YWx1ZV07XG4gICAgICBjb25zdCB2YWx1ZXMgPSBbZmlsdGVyLnZhbHVlXTtcblxuICAgICAgLy8gcG9wdWxhdGUgbG9jYWwgbXVsdGkgdmFsdWVzIHN0YXRlXG4gICAgICBpZiAodmFsdWVzWzBdKSB7XG4gICAgICAgIHNldEZpbHRlck11bHRpVmFsdWVzKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVzWzBdLFxuICAgICAgICAgICAgbGFiZWw6IHZhbHVlTGFiZWxzPy5bMF0gPz8gdmFsdWVzWzBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgICAgfVxuXG4gICAgICAvLyB1cGRhdGUgb3BlcmF0b3IgYW5kIGRlZmF1bHQgdmFsdWVzIGFuZCB2YWx1ZUxhYmVsc1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3BlcmF0b3I6IGl0ZW0udmFsdWUsXG4gICAgICAgIHZhbHVlTGFiZWxzOiB2YWx1ZUxhYmVscyxcbiAgICAgICAgdmFsdWVzOiB2YWx1ZXMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8vIGRlZmF1bHQgb3BlcmF0b3IgdXBkYXRlIG9mIHNhbWUgbXVsdGkvc2luZ2xlIHR5cGVcbiAgcmV0dXJuIHtcbiAgICBbZmlsdGVySW5wdXRUeXBlXTogaXRlbS52YWx1ZSxcbiAgfTtcbn07XG5cbmNvbnN0IElOUFVUX1BMQUNFSE9MREVSID0gJ0ZpbHRlciBieSBsYWJlbCB2YWx1ZXMnO1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVQbGFjZWhvbGRlciA9IChcbiAgZmlsdGVyOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHMsXG4gIGZpbHRlcklucHV0VHlwZTogQWRIb2NJbnB1dFR5cGUsXG4gIGlzTXVsdGlWYWx1ZUVkaXQ6IGJvb2xlYW4sXG4gIGlzQWx3YXlzV2lwPzogYm9vbGVhblxuKSA9PiB7XG4gIGlmIChmaWx0ZXJJbnB1dFR5cGUgPT09ICdrZXknKSB7XG4gICAgcmV0dXJuIElOUFVUX1BMQUNFSE9MREVSO1xuICB9XG4gIGlmIChmaWx0ZXJJbnB1dFR5cGUgPT09ICd2YWx1ZScpIHtcbiAgICBpZiAoaXNNdWx0aVZhbHVlRWRpdCkge1xuICAgICAgcmV0dXJuICdFZGl0IHZhbHVlcyc7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXIudmFsdWVMYWJlbHM/LlswXSB8fCAnJztcbiAgfVxuXG4gIHJldHVybiBmaWx0ZXJbZmlsdGVySW5wdXRUeXBlXSAmJiAhaXNBbHdheXNXaXAgPyBgJHtmaWx0ZXJbZmlsdGVySW5wdXRUeXBlXX1gIDogSU5QVVRfUExBQ0VIT0xERVI7XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdWxhdGVJbnB1dFZhbHVlT25JbnB1dFR5cGVTd2l0Y2ggPSAoe1xuICBwb3B1bGF0ZUlucHV0T25FZGl0LFxuICBpdGVtLFxuICBmaWx0ZXJJbnB1dFR5cGUsXG4gIHNldElucHV0VmFsdWUsXG4gIGZpbHRlcixcbn06IHtcbiAgcG9wdWxhdGVJbnB1dE9uRWRpdDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgaXRlbTogU2VsZWN0YWJsZVZhbHVlPHN0cmluZz47XG4gIGZpbHRlcklucHV0VHlwZTogQWRIb2NJbnB1dFR5cGU7XG4gIHNldElucHV0VmFsdWU6ICh2YWx1ZTogUmVhY3QuU2V0U3RhdGVBY3Rpb248c3RyaW5nPikgPT4gdm9pZDtcbiAgZmlsdGVyOiBBZEhvY0ZpbHRlcldpdGhMYWJlbHMgfCB1bmRlZmluZWQ7XG59KSA9PiB7XG4gIGlmIChwb3B1bGF0ZUlucHV0T25FZGl0ICYmICFpc011bHRpVmFsdWVPcGVyYXRvcihpdGVtLnZhbHVlIHx8ICcnKSAmJiBuZXh0SW5wdXRUeXBlTWFwW2ZpbHRlcklucHV0VHlwZV0gPT09ICd2YWx1ZScpIHtcbiAgICBzZXRJbnB1dFZhbHVlKGZpbHRlcj8udmFsdWUgfHwgJycpO1xuICB9IGVsc2Uge1xuICAgIHNldElucHV0VmFsdWUoJycpO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQU0sc0NBQXlDLEdBQUEsQ0FBQSxDQUFBO0FBQy9DLE1BQU0sa0RBQXFELEdBQUEsQ0FBQSxDQUFBO0FBQzNELE1BQU0sb0JBQXVCLEdBQUEsQ0FBQSxDQUFBO0FBQ3RCLE1BQU0scUJBQXdCLEdBQUEsRUFBQTtBQUM5QixNQUFNLHdCQUEyQixHQUFBLEdBQUE7QUFDakMsTUFBTSx5Q0FBNEMsR0FBQSxHQUFBO0FBQ2xELE1BQU0sMEJBQTZCLEdBQUEsSUFBQTtBQUVuQyxTQUFTLG1CQUFtQixPQUF5QyxFQUFBO0FBQzFFLEVBQUEsTUFBTSxRQUFXLEdBQUEsT0FBQSxDQUFRLEdBQUksQ0FBQSxDQUFDLENBQUcsS0FBQTtBQWRuQyxJQUFBLElBQUEsRUFBQSxDQUFBO0FBY3NDLElBQUUsT0FBQSxDQUFBLEVBQUEsR0FBQSxDQUFBLENBQUEsS0FBQSxLQUFGLFlBQVcsQ0FBRSxDQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQU0sQ0FBQSxDQUFBO0FBQ3ZELEVBQU0sTUFBQSxXQUFBLEdBQWMsaUJBQWlCLFFBQVEsQ0FBQSxDQUFBO0FBRTdDLEVBQU8sT0FBQSxDQUFDLFFBQWdCLGVBQW9DLEtBQUE7QUFDMUQsSUFBSSxJQUFBLGVBQUEsS0FBb0IsVUFBYyxJQUFBLE1BQUEsS0FBVyxFQUFJLEVBQUE7QUFFbkQsTUFBQSxNQUFBLEdBQVMsQ0FBSSxDQUFBLEVBQUEsTUFBQSxDQUFBLENBQUEsQ0FBQSxDQUFBO0FBQUEsS0FDZjtBQUVBLElBQUEsT0FBTyxZQUFZLE1BQU0sQ0FBQSxDQUFFLElBQUksQ0FBQyxDQUFBLEtBQU0sUUFBUSxDQUFFLENBQUEsQ0FBQSxDQUFBO0FBQUEsR0FDbEQsQ0FBQTtBQUNGLENBQUE7QUFDTyxNQUFNLHNCQUFzQixDQUFDLE9BQUEsS0FDbEMsT0FBUSxDQUFB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