@perses-dev/components 0.55.0-rc.1 → 0.56.0-beta.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 (204) hide show
  1. package/dist/AlignSelector/AlignSelector.js +115 -25
  2. package/dist/AlignSelector/AlignSelector.js.map +1 -1
  3. package/dist/CodeEditor/CodeEditor.d.ts +19 -0
  4. package/dist/CodeEditor/CodeEditor.d.ts.map +1 -0
  5. package/dist/CodeEditor/CodeEditor.js +122 -0
  6. package/dist/CodeEditor/CodeEditor.js.map +1 -0
  7. package/dist/ColorPicker/ColorPicker.js +153 -61
  8. package/dist/ColorPicker/ColorPicker.js.map +1 -1
  9. package/dist/ColorPicker/OptionsColorPicker.js +147 -52
  10. package/dist/ColorPicker/OptionsColorPicker.js.map +1 -1
  11. package/dist/ContentWithLegend/ContentWithLegend.js +144 -41
  12. package/dist/ContentWithLegend/ContentWithLegend.js.map +1 -1
  13. package/dist/DensitySelector/DensitySelector.js +53 -20
  14. package/dist/DensitySelector/DensitySelector.js.map +1 -1
  15. package/dist/Dialog/Dialog.d.ts +3 -2
  16. package/dist/Dialog/Dialog.d.ts.map +1 -1
  17. package/dist/Dialog/Dialog.js +202 -49
  18. package/dist/Dialog/Dialog.js.map +1 -1
  19. package/dist/Dialog/DiscardChangesConfirmationDialog.js +79 -27
  20. package/dist/Dialog/DiscardChangesConfirmationDialog.js.map +1 -1
  21. package/dist/DragAndDrop/DragAndDropList.js +184 -113
  22. package/dist/DragAndDrop/DragAndDropList.js.map +1 -1
  23. package/dist/DragAndDrop/DragButton.js +131 -52
  24. package/dist/DragAndDrop/DragButton.js.map +1 -1
  25. package/dist/DragAndDrop/DropIndicator.js +51 -26
  26. package/dist/DragAndDrop/DropIndicator.js.map +1 -1
  27. package/dist/Drawer/Drawer.js +75 -15
  28. package/dist/Drawer/Drawer.js.map +1 -1
  29. package/dist/EChart/EChart.js +179 -90
  30. package/dist/EChart/EChart.js.map +1 -1
  31. package/dist/ErrorAlert.js +14 -4
  32. package/dist/ErrorAlert.js.map +1 -1
  33. package/dist/ExemplarMetadata/ExemplarMetadataTooltip.js +463 -190
  34. package/dist/ExemplarMetadata/ExemplarMetadataTooltip.js.map +1 -1
  35. package/dist/FontSizeSelector/FontSizeSelector.js +82 -50
  36. package/dist/FontSizeSelector/FontSizeSelector.js.map +1 -1
  37. package/dist/FormEditor/FormActions.js +88 -14
  38. package/dist/FormEditor/FormActions.js.map +1 -1
  39. package/dist/FormatControls/FormatControls.js +246 -99
  40. package/dist/FormatControls/FormatControls.js.map +1 -1
  41. package/dist/FormatControls/UnitSelector.js +90 -25
  42. package/dist/FormatControls/UnitSelector.js.map +1 -1
  43. package/dist/InfoTooltip/InfoTooltip.js +105 -42
  44. package/dist/InfoTooltip/InfoTooltip.js.map +1 -1
  45. package/dist/JSONEditor.d.ts +2 -6
  46. package/dist/JSONEditor.d.ts.map +1 -1
  47. package/dist/JSONEditor.js +24 -37
  48. package/dist/JSONEditor.js.map +1 -1
  49. package/dist/Legend/CompactLegend.js +77 -27
  50. package/dist/Legend/CompactLegend.js.map +1 -1
  51. package/dist/Legend/Legend.js +184 -82
  52. package/dist/Legend/Legend.js.map +1 -1
  53. package/dist/Legend/LegendColorBadge.js +54 -9
  54. package/dist/Legend/LegendColorBadge.js.map +1 -1
  55. package/dist/Legend/ListLegend.js +46 -16
  56. package/dist/Legend/ListLegend.js.map +1 -1
  57. package/dist/Legend/ListLegendItem.js +184 -48
  58. package/dist/Legend/ListLegendItem.js.map +1 -1
  59. package/dist/Legend/TableLegend.d.ts.map +1 -1
  60. package/dist/Legend/TableLegend.js +90 -48
  61. package/dist/Legend/TableLegend.js.map +1 -1
  62. package/dist/Legend/legend-model.d.ts +2 -2
  63. package/dist/Legend/legend-model.d.ts.map +1 -1
  64. package/dist/Legend/legend-model.js.map +1 -1
  65. package/dist/LinksEditor/LinkEditorForm.js +148 -67
  66. package/dist/LinksEditor/LinkEditorForm.js.map +1 -1
  67. package/dist/ModeSelector/ModeSelector.js +61 -19
  68. package/dist/ModeSelector/ModeSelector.js.map +1 -1
  69. package/dist/OptionsEditorLayout/OptionsEditorColumn.js +20 -9
  70. package/dist/OptionsEditorLayout/OptionsEditorColumn.js.map +1 -1
  71. package/dist/OptionsEditorLayout/OptionsEditorControl.js +130 -54
  72. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -1
  73. package/dist/OptionsEditorLayout/OptionsEditorGrid.js +17 -6
  74. package/dist/OptionsEditorLayout/OptionsEditorGrid.js.map +1 -1
  75. package/dist/OptionsEditorLayout/OptionsEditorGroup.js +76 -28
  76. package/dist/OptionsEditorLayout/OptionsEditorGroup.js.map +1 -1
  77. package/dist/Overlay/Overlay.js +71 -27
  78. package/dist/Overlay/Overlay.js.map +1 -1
  79. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js +96 -38
  80. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js.map +1 -1
  81. package/dist/RepeatGrid/RepeatGrid.js +117 -45
  82. package/dist/RepeatGrid/RepeatGrid.js.map +1 -1
  83. package/dist/SettingsAutocomplete/SettingsAutocomplete.js +99 -38
  84. package/dist/SettingsAutocomplete/SettingsAutocomplete.js.map +1 -1
  85. package/dist/SortSelector/SortSelector.js +51 -18
  86. package/dist/SortSelector/SortSelector.js.map +1 -1
  87. package/dist/SortSelector/SortSelectorButtons.js +109 -25
  88. package/dist/SortSelector/SortSelectorButtons.js.map +1 -1
  89. package/dist/Table/InnerTable.js +46 -15
  90. package/dist/Table/InnerTable.js.map +1 -1
  91. package/dist/Table/Table.d.ts +3 -1
  92. package/dist/Table/Table.d.ts.map +1 -1
  93. package/dist/Table/Table.js +410 -158
  94. package/dist/Table/Table.js.map +1 -1
  95. package/dist/Table/TableBody.js +15 -4
  96. package/dist/Table/TableBody.js.map +1 -1
  97. package/dist/Table/TableCell.js +284 -107
  98. package/dist/Table/TableCell.js.map +1 -1
  99. package/dist/Table/TableCheckbox.js +101 -32
  100. package/dist/Table/TableCheckbox.js.map +1 -1
  101. package/dist/Table/TableFoot.js +15 -4
  102. package/dist/Table/TableFoot.js.map +1 -1
  103. package/dist/Table/TableHead.js +15 -4
  104. package/dist/Table/TableHead.js.map +1 -1
  105. package/dist/Table/TableHeaderCell.js +119 -62
  106. package/dist/Table/TableHeaderCell.js.map +1 -1
  107. package/dist/Table/TableRow.js +33 -9
  108. package/dist/Table/TableRow.js.map +1 -1
  109. package/dist/Table/TableToolbar.d.ts +5 -4
  110. package/dist/Table/TableToolbar.d.ts.map +1 -1
  111. package/dist/Table/TableToolbar.js +172 -100
  112. package/dist/Table/TableToolbar.js.map +1 -1
  113. package/dist/Table/VirtualizedTable.d.ts +11 -11
  114. package/dist/Table/VirtualizedTable.d.ts.map +1 -1
  115. package/dist/Table/VirtualizedTable.js +387 -219
  116. package/dist/Table/VirtualizedTable.js.map +1 -1
  117. package/dist/Table/VirtualizedTableContainer.js +27 -7
  118. package/dist/Table/VirtualizedTableContainer.js.map +1 -1
  119. package/dist/Table/hooks/useFuzzySearch.d.ts +6 -5
  120. package/dist/Table/hooks/useFuzzySearch.d.ts.map +1 -1
  121. package/dist/Table/hooks/useFuzzySearch.js +57 -32
  122. package/dist/Table/hooks/useFuzzySearch.js.map +1 -1
  123. package/dist/Table/hooks/useTableKeyboardNav.js +115 -74
  124. package/dist/Table/hooks/useTableKeyboardNav.js.map +1 -1
  125. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.d.ts +1 -1
  126. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.d.ts.map +1 -1
  127. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js +74 -53
  128. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js.map +1 -1
  129. package/dist/Table/model/table-model.d.ts +44 -15
  130. package/dist/Table/model/table-model.d.ts.map +1 -1
  131. package/dist/Table/model/table-model.js +33 -1
  132. package/dist/Table/model/table-model.js.map +1 -1
  133. package/dist/ThresholdsEditor/ThresholdInput.js +137 -47
  134. package/dist/ThresholdsEditor/ThresholdInput.js.map +1 -1
  135. package/dist/ThresholdsEditor/ThresholdsEditor.js +341 -174
  136. package/dist/ThresholdsEditor/ThresholdsEditor.js.map +1 -1
  137. package/dist/TimeRangeSelector/DateTimeRangePicker.js +368 -162
  138. package/dist/TimeRangeSelector/DateTimeRangePicker.js.map +1 -1
  139. package/dist/TimeRangeSelector/TimeRangeSelector.js +580 -209
  140. package/dist/TimeRangeSelector/TimeRangeSelector.js.map +1 -1
  141. package/dist/TimeSeriesTooltip/SeriesInfo.js +189 -65
  142. package/dist/TimeSeriesTooltip/SeriesInfo.js.map +1 -1
  143. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js +168 -78
  144. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js.map +1 -1
  145. package/dist/TimeSeriesTooltip/SeriesMarker.js +38 -11
  146. package/dist/TimeSeriesTooltip/SeriesMarker.js.map +1 -1
  147. package/dist/TimeSeriesTooltip/TimeChartTooltip.js +229 -72
  148. package/dist/TimeSeriesTooltip/TimeChartTooltip.js.map +1 -1
  149. package/dist/TimeSeriesTooltip/TooltipContent.js +73 -27
  150. package/dist/TimeSeriesTooltip/TooltipContent.js.map +1 -1
  151. package/dist/TimeSeriesTooltip/TooltipHeader.js +221 -121
  152. package/dist/TimeSeriesTooltip/TooltipHeader.js.map +1 -1
  153. package/dist/TimeSeriesTooltip/tooltip-model.js +44 -38
  154. package/dist/TimeSeriesTooltip/tooltip-model.js.map +1 -1
  155. package/dist/TimeZoneSelector.js +131 -36
  156. package/dist/TimeZoneSelector.js.map +1 -1
  157. package/dist/ToolbarIconButton/ToolbarIconButton.js +18 -7
  158. package/dist/ToolbarIconButton/ToolbarIconButton.js.map +1 -1
  159. package/dist/TransformsEditor/TransformEditor.js +830 -334
  160. package/dist/TransformsEditor/TransformEditor.js.map +1 -1
  161. package/dist/TransformsEditor/TransformEditorContainer.js +252 -90
  162. package/dist/TransformsEditor/TransformEditorContainer.js.map +1 -1
  163. package/dist/TransformsEditor/TransformsEditor.js +170 -59
  164. package/dist/TransformsEditor/TransformsEditor.js.map +1 -1
  165. package/dist/ValueMappingEditor/ValueMappingEditor.js +800 -322
  166. package/dist/ValueMappingEditor/ValueMappingEditor.js.map +1 -1
  167. package/dist/ValueMappingEditor/ValueMappingsEditor.js +218 -91
  168. package/dist/ValueMappingEditor/ValueMappingsEditor.js.map +1 -1
  169. package/dist/YAMLEditor/YAMLEditor.d.ts +12 -0
  170. package/dist/YAMLEditor/YAMLEditor.d.ts.map +1 -0
  171. package/dist/YAMLEditor/YAMLEditor.js +41 -0
  172. package/dist/YAMLEditor/YAMLEditor.js.map +1 -0
  173. package/dist/YAMLEditor/index.d.ts +2 -0
  174. package/dist/YAMLEditor/index.d.ts.map +1 -0
  175. package/dist/YAMLEditor/index.js +15 -0
  176. package/dist/YAMLEditor/index.js.map +1 -0
  177. package/dist/YAMLEditor/yaml-utils.d.ts +11 -0
  178. package/dist/YAMLEditor/yaml-utils.d.ts.map +1 -0
  179. package/dist/YAMLEditor/yaml-utils.js +52 -0
  180. package/dist/YAMLEditor/yaml-utils.js.map +1 -0
  181. package/dist/YAxisLabel.js +64 -20
  182. package/dist/YAxisLabel.js.map +1 -1
  183. package/dist/context/ChartsProvider.js +32 -16
  184. package/dist/context/ChartsProvider.js.map +1 -1
  185. package/dist/context/ItemActionsProvider.js +110 -61
  186. package/dist/context/ItemActionsProvider.js.map +1 -1
  187. package/dist/context/SelectionProvider.js +170 -66
  188. package/dist/context/SelectionProvider.js.map +1 -1
  189. package/dist/context/SnackbarProvider.js +101 -44
  190. package/dist/context/SnackbarProvider.js.map +1 -1
  191. package/dist/context/TimeZoneProvider.js +35 -14
  192. package/dist/context/TimeZoneProvider.js.map +1 -1
  193. package/dist/controls/TextField.js +86 -25
  194. package/dist/controls/TextField.js.map +1 -1
  195. package/dist/index.d.ts +1 -0
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +1 -0
  198. package/dist/index.js.map +1 -1
  199. package/dist/utils/browser-storage.js +64 -34
  200. package/dist/utils/browser-storage.js.map +1 -1
  201. package/dist/utils/time-series-data.d.ts.map +1 -1
  202. package/dist/utils/time-series-data.js +5 -2
  203. package/dist/utils/time-series-data.js.map +1 -1
  204. package/package.json +13 -7
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { c as _c } from "react-compiler-runtime";
2
3
  // Copyright The Perses Authors
3
4
  // Licensed under the Apache License, Version 2.0 (the "License");
4
5
  // you may not use this file except in compliance with the License.
@@ -14,7 +15,7 @@ import { Box, Divider, IconButton, Portal, Stack, Typography } from "@mui/materi
14
15
  import Pin from "mdi-material-ui/Pin";
15
16
  import PinOutline from "mdi-material-ui/PinOutline";
16
17
  import { Fragment } from "react";
17
- import useResizeObserver from "use-resize-observer";
18
+ import { useResizeObserver } from "use-resize-observer";
18
19
  import { useTimeZone } from "../context/TimeZoneProvider.js";
19
20
  import { formatValue } from "../model/units.js";
20
21
  import { assembleTransform, getTooltipStyles, PIN_TOOLTIP_HELP_TEXT, TOOLTIP_BG_COLOR_FALLBACK, TOOLTIP_MAX_WIDTH, UNPIN_TOOLTIP_HELP_TEXT, useMousePosition } from "../TimeSeriesTooltip/index.js";
@@ -22,218 +23,490 @@ import { assembleTransform, getTooltipStyles, PIN_TOOLTIP_HELP_TEXT, TOOLTIP_BG_
22
23
  * Tooltip showing an exemplar's metadata (series labels, exemplar labels, value and timestamp).
23
24
  * Follows the mouse while hovering an exemplar marker and can be pinned in place, the same way
24
25
  * the annotation tooltip works.
25
- */ export function ExemplarMetadataTooltip({ exemplar, seriesLabels, containerId, format, pinnedPos, enablePinning = true, onUnpinClick }) {
26
+ */ export function ExemplarMetadataTooltip(t0) {
27
+ const $ = _c(63);
28
+ const { exemplar, seriesLabels, containerId, format, pinnedPos, enablePinning: t1, onUnpinClick } = t0;
29
+ const enablePinning = t1 === undefined ? true : t1;
26
30
  const { formatWithUserTimeZone } = useTimeZone();
27
31
  const mousePos = useMousePosition();
28
32
  const { height, width, ref: tooltipRef } = useResizeObserver();
29
33
  const isPinned = pinnedPos !== null;
30
- if (!isPinned && mousePos === null) return null;
31
- const containerElement = containerId ? document.querySelector(containerId) : undefined;
32
- const maxHeight = containerElement ? containerElement.getBoundingClientRect().height : undefined;
33
- // Fall back to the pinned position: a pinned tooltip can render before any mousemove happened.
34
- const transform = assembleTransform(mousePos ?? pinnedPos, pinnedPos, height ?? 0, width ?? 0, containerElement);
34
+ if (!isPinned && mousePos === null) {
35
+ return null;
36
+ }
37
+ let containerElement;
38
+ let maxHeight;
39
+ let t2;
40
+ if ($[0] !== containerId || $[1] !== height || $[2] !== mousePos || $[3] !== pinnedPos || $[4] !== width) {
41
+ containerElement = containerId ? document.querySelector(containerId) : undefined;
42
+ maxHeight = containerElement ? containerElement.getBoundingClientRect().height : undefined;
43
+ t2 = assembleTransform(mousePos ?? pinnedPos, pinnedPos, height ?? 0, width ?? 0, containerElement);
44
+ $[0] = containerId;
45
+ $[1] = height;
46
+ $[2] = mousePos;
47
+ $[3] = pinnedPos;
48
+ $[4] = width;
49
+ $[5] = containerElement;
50
+ $[6] = maxHeight;
51
+ $[7] = t2;
52
+ } else {
53
+ containerElement = $[5];
54
+ maxHeight = $[6];
55
+ t2 = $[7];
56
+ }
57
+ const transform = t2;
35
58
  const { labels, value, timestamp } = exemplar;
36
- const formattedValue = formatValue(value, format);
37
- const date = new Date(timestamp);
38
- const formattedDate = formatWithUserTimeZone(date, 'MMM dd, yyyy - ');
39
- const formattedTime = formatWithUserTimeZone(date, 'HH:mm:ss');
40
- // Only sections with content take part in the layout, so no divider is left dangling
41
- // when a label set is empty.
42
- const sections = [];
43
- if (seriesLabels && Object.keys(seriesLabels).length > 0) {
44
- sections.push({
45
- key: 'series-labels',
46
- content: /*#__PURE__*/ _jsx(LabelGrid, {
47
- title: "Series labels",
48
- labels: seriesLabels
49
- })
59
+ let t3;
60
+ if ($[8] !== format || $[9] !== value) {
61
+ t3 = formatValue(value, format);
62
+ $[8] = format;
63
+ $[9] = value;
64
+ $[10] = t3;
65
+ } else {
66
+ t3 = $[10];
67
+ }
68
+ const formattedValue = t3;
69
+ let formattedDate;
70
+ let t4;
71
+ if ($[11] !== formatWithUserTimeZone || $[12] !== timestamp) {
72
+ const date = new Date(timestamp);
73
+ formattedDate = formatWithUserTimeZone(date, "MMM dd, yyyy - ");
74
+ t4 = formatWithUserTimeZone(date, "HH:mm:ss");
75
+ $[11] = formatWithUserTimeZone;
76
+ $[12] = timestamp;
77
+ $[13] = formattedDate;
78
+ $[14] = t4;
79
+ } else {
80
+ formattedDate = $[13];
81
+ t4 = $[14];
82
+ }
83
+ const formattedTime = t4;
84
+ let sections;
85
+ if ($[15] !== formattedValue || $[16] !== labels || $[17] !== seriesLabels) {
86
+ sections = [];
87
+ if (seriesLabels && Object.keys(seriesLabels).length > 0) {
88
+ let t5;
89
+ if ($[19] !== seriesLabels) {
90
+ t5 = {
91
+ key: "series-labels",
92
+ content: /*#__PURE__*/ _jsx(LabelGrid, {
93
+ title: "Series labels",
94
+ labels: seriesLabels
95
+ })
96
+ };
97
+ $[19] = seriesLabels;
98
+ $[20] = t5;
99
+ } else {
100
+ t5 = $[20];
101
+ }
102
+ sections.push(t5);
103
+ }
104
+ if (Object.keys(labels).length > 0) {
105
+ let t5;
106
+ if ($[21] !== labels) {
107
+ t5 = {
108
+ key: "exemplar-labels",
109
+ content: /*#__PURE__*/ _jsx(LabelGrid, {
110
+ title: "Exemplar labels",
111
+ labels: labels
112
+ })
113
+ };
114
+ $[21] = labels;
115
+ $[22] = t5;
116
+ } else {
117
+ t5 = $[22];
118
+ }
119
+ sections.push(t5);
120
+ }
121
+ let t5;
122
+ if ($[23] === Symbol.for("react.memo_cache_sentinel")) {
123
+ t5 = /*#__PURE__*/ _jsx(Typography, {
124
+ variant: "overline",
125
+ component: "div",
126
+ children: "Value"
127
+ });
128
+ $[23] = t5;
129
+ } else {
130
+ t5 = $[23];
131
+ }
132
+ let t6;
133
+ if ($[24] !== formattedValue) {
134
+ t6 = {
135
+ key: "value",
136
+ content: /*#__PURE__*/ _jsxs(Box, {
137
+ children: [
138
+ t5,
139
+ /*#__PURE__*/ _jsx(Typography, {
140
+ fontWeight: 700,
141
+ children: formattedValue
142
+ })
143
+ ]
144
+ })
145
+ };
146
+ $[24] = formattedValue;
147
+ $[25] = t6;
148
+ } else {
149
+ t6 = $[25];
150
+ }
151
+ sections.push(t6);
152
+ $[15] = formattedValue;
153
+ $[16] = labels;
154
+ $[17] = seriesLabels;
155
+ $[18] = sections;
156
+ } else {
157
+ sections = $[18];
158
+ }
159
+ let t5;
160
+ if ($[26] !== maxHeight || $[27] !== pinnedPos) {
161
+ t5 = (theme)=>getTooltipStyles(theme, pinnedPos, maxHeight);
162
+ $[26] = maxHeight;
163
+ $[27] = pinnedPos;
164
+ $[28] = t5;
165
+ } else {
166
+ t5 = $[28];
167
+ }
168
+ let t6;
169
+ if ($[29] !== transform) {
170
+ t6 = {
171
+ transform
172
+ };
173
+ $[29] = transform;
174
+ $[30] = t6;
175
+ } else {
176
+ t6 = $[30];
177
+ }
178
+ let t7;
179
+ if ($[31] === Symbol.for("react.memo_cache_sentinel")) {
180
+ t7 = {
181
+ display: "flex",
182
+ alignItems: "center",
183
+ paddingBottom: 0.5,
184
+ width: "100%"
185
+ };
186
+ $[31] = t7;
187
+ } else {
188
+ t7 = $[31];
189
+ }
190
+ let t8;
191
+ if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
192
+ t8 = {
193
+ flexGrow: 1,
194
+ minWidth: 0
195
+ };
196
+ $[32] = t8;
197
+ } else {
198
+ t8 = $[32];
199
+ }
200
+ let t9;
201
+ if ($[33] !== formattedDate) {
202
+ t9 = /*#__PURE__*/ _jsx(Typography, {
203
+ variant: "caption",
204
+ sx: _temp2,
205
+ children: formattedDate
50
206
  });
207
+ $[33] = formattedDate;
208
+ $[34] = t9;
209
+ } else {
210
+ t9 = $[34];
51
211
  }
52
- if (Object.keys(labels).length > 0) {
53
- sections.push({
54
- key: 'exemplar-labels',
55
- content: /*#__PURE__*/ _jsx(LabelGrid, {
56
- title: "Exemplar labels",
57
- labels: labels
212
+ let t10;
213
+ if ($[35] !== formattedTime) {
214
+ t10 = /*#__PURE__*/ _jsx(Typography, {
215
+ variant: "caption",
216
+ children: /*#__PURE__*/ _jsx("strong", {
217
+ children: formattedTime
58
218
  })
59
219
  });
220
+ $[35] = formattedTime;
221
+ $[36] = t10;
222
+ } else {
223
+ t10 = $[36];
60
224
  }
61
- sections.push({
62
- key: 'value',
63
- content: /*#__PURE__*/ _jsxs(Box, {
225
+ let t11;
226
+ if ($[37] !== t10 || $[38] !== t9) {
227
+ t11 = /*#__PURE__*/ _jsxs(Box, {
228
+ sx: t8,
229
+ children: [
230
+ t9,
231
+ t10
232
+ ]
233
+ });
234
+ $[37] = t10;
235
+ $[38] = t9;
236
+ $[39] = t11;
237
+ } else {
238
+ t11 = $[39];
239
+ }
240
+ let t12;
241
+ if ($[40] !== enablePinning || $[41] !== isPinned || $[42] !== onUnpinClick) {
242
+ t12 = enablePinning && /*#__PURE__*/ _jsxs(Stack, {
243
+ direction: "row",
244
+ alignItems: "center",
245
+ sx: {
246
+ marginLeft: 1,
247
+ flexShrink: 0
248
+ },
64
249
  children: [
65
250
  /*#__PURE__*/ _jsx(Typography, {
66
- variant: "overline",
67
- component: "div",
68
- children: "Value"
251
+ sx: {
252
+ marginRight: 0.5,
253
+ fontSize: 11,
254
+ verticalAlign: "middle"
255
+ },
256
+ children: isPinned ? UNPIN_TOOLTIP_HELP_TEXT : PIN_TOOLTIP_HELP_TEXT
69
257
  }),
70
- /*#__PURE__*/ _jsx(Typography, {
71
- fontWeight: 700,
72
- children: formattedValue
258
+ isPinned ? /*#__PURE__*/ _jsx(IconButton, {
259
+ "aria-label": UNPIN_TOOLTIP_HELP_TEXT,
260
+ onClick: ()=>{
261
+ if (onUnpinClick !== undefined) {
262
+ onUnpinClick();
263
+ }
264
+ },
265
+ sx: {
266
+ padding: 0,
267
+ color: "inherit"
268
+ },
269
+ children: /*#__PURE__*/ _jsx(Pin, {
270
+ sx: {
271
+ fontSize: 16
272
+ }
273
+ })
274
+ }) : /*#__PURE__*/ _jsx(PinOutline, {
275
+ sx: {
276
+ fontSize: 16
277
+ }
73
278
  })
74
279
  ]
75
- })
76
- });
77
- return /*#__PURE__*/ _jsx(Portal, {
78
- container: containerElement,
79
- children: /*#__PURE__*/ _jsx(Box, {
280
+ });
281
+ $[40] = enablePinning;
282
+ $[41] = isPinned;
283
+ $[42] = onUnpinClick;
284
+ $[43] = t12;
285
+ } else {
286
+ t12 = $[43];
287
+ }
288
+ let t13;
289
+ if ($[44] !== t11 || $[45] !== t12) {
290
+ t13 = /*#__PURE__*/ _jsxs(Box, {
291
+ sx: t7,
292
+ children: [
293
+ t11,
294
+ t12
295
+ ]
296
+ });
297
+ $[44] = t11;
298
+ $[45] = t12;
299
+ $[46] = t13;
300
+ } else {
301
+ t13 = $[46];
302
+ }
303
+ let t14;
304
+ if ($[47] === Symbol.for("react.memo_cache_sentinel")) {
305
+ t14 = /*#__PURE__*/ _jsx(Divider, {
306
+ sx: _temp3
307
+ });
308
+ $[47] = t14;
309
+ } else {
310
+ t14 = $[47];
311
+ }
312
+ let t15;
313
+ if ($[48] !== t13) {
314
+ t15 = /*#__PURE__*/ _jsxs(Box, {
315
+ sx: _temp,
316
+ children: [
317
+ t13,
318
+ t14
319
+ ]
320
+ });
321
+ $[48] = t13;
322
+ $[49] = t15;
323
+ } else {
324
+ t15 = $[49];
325
+ }
326
+ let t16;
327
+ if ($[50] !== sections) {
328
+ t16 = /*#__PURE__*/ _jsx(Stack, {
329
+ spacing: 1,
330
+ sx: _temp4,
331
+ children: sections.map(_temp6)
332
+ });
333
+ $[50] = sections;
334
+ $[51] = t16;
335
+ } else {
336
+ t16 = $[51];
337
+ }
338
+ let t17;
339
+ if ($[52] !== t15 || $[53] !== t16) {
340
+ t17 = /*#__PURE__*/ _jsxs(Stack, {
341
+ spacing: 0.5,
342
+ children: [
343
+ t15,
344
+ t16
345
+ ]
346
+ });
347
+ $[52] = t15;
348
+ $[53] = t16;
349
+ $[54] = t17;
350
+ } else {
351
+ t17 = $[54];
352
+ }
353
+ let t18;
354
+ if ($[55] !== t17 || $[56] !== t5 || $[57] !== t6 || $[58] !== tooltipRef) {
355
+ t18 = /*#__PURE__*/ _jsx(Box, {
80
356
  ref: tooltipRef,
81
- sx: (theme)=>getTooltipStyles(theme, pinnedPos, maxHeight),
82
- style: {
83
- transform
84
- },
85
- children: /*#__PURE__*/ _jsxs(Stack, {
86
- spacing: 0.5,
87
- children: [
88
- /*#__PURE__*/ _jsxs(Box, {
89
- sx: (theme)=>({
90
- width: '100%',
91
- maxWidth: TOOLTIP_MAX_WIDTH,
92
- padding: theme.spacing(1.5, 2, 0.5, 2),
93
- backgroundColor: theme.palette.designSystem?.grey[800] ?? TOOLTIP_BG_COLOR_FALLBACK,
94
- position: 'sticky',
95
- top: 0,
96
- left: 0
97
- }),
98
- children: [
99
- /*#__PURE__*/ _jsxs(Box, {
100
- sx: {
101
- display: 'flex',
102
- alignItems: 'center',
103
- paddingBottom: 0.5,
104
- width: '100%'
105
- },
106
- children: [
107
- /*#__PURE__*/ _jsxs(Box, {
108
- sx: {
109
- flexGrow: 1,
110
- minWidth: 0
111
- },
112
- children: [
113
- /*#__PURE__*/ _jsx(Typography, {
114
- variant: "caption",
115
- sx: (theme)=>({
116
- color: theme.palette.common.white
117
- }),
118
- children: formattedDate
119
- }),
120
- /*#__PURE__*/ _jsx(Typography, {
121
- variant: "caption",
122
- children: /*#__PURE__*/ _jsx("strong", {
123
- children: formattedTime
124
- })
125
- })
126
- ]
127
- }),
128
- enablePinning && /*#__PURE__*/ _jsxs(Stack, {
129
- direction: "row",
130
- alignItems: "center",
131
- sx: {
132
- marginLeft: 1,
133
- flexShrink: 0
134
- },
135
- children: [
136
- /*#__PURE__*/ _jsx(Typography, {
137
- sx: {
138
- marginRight: 0.5,
139
- fontSize: 11,
140
- verticalAlign: 'middle'
141
- },
142
- children: isPinned ? UNPIN_TOOLTIP_HELP_TEXT : PIN_TOOLTIP_HELP_TEXT
143
- }),
144
- isPinned ? /*#__PURE__*/ _jsx(IconButton, {
145
- "aria-label": UNPIN_TOOLTIP_HELP_TEXT,
146
- onClick: ()=>{
147
- if (onUnpinClick !== undefined) onUnpinClick();
148
- },
149
- sx: {
150
- padding: 0,
151
- color: 'inherit'
152
- },
153
- children: /*#__PURE__*/ _jsx(Pin, {
154
- sx: {
155
- fontSize: 16
156
- }
157
- })
158
- }) : /*#__PURE__*/ _jsx(PinOutline, {
159
- sx: {
160
- fontSize: 16
161
- }
162
- })
163
- ]
164
- })
165
- ]
166
- }),
167
- /*#__PURE__*/ _jsx(Divider, {
168
- sx: (theme)=>({
169
- width: '100%',
170
- borderColor: theme.palette.grey['500']
171
- })
172
- })
173
- ]
174
- }),
175
- /*#__PURE__*/ _jsx(Stack, {
176
- spacing: 1,
177
- sx: (theme)=>({
178
- padding: theme.spacing(0.5, 2, 1.5, 2)
179
- }),
180
- children: sections.map((section, index)=>/*#__PURE__*/ _jsxs(Fragment, {
181
- children: [
182
- index > 0 && /*#__PURE__*/ _jsx(Divider, {
183
- sx: (theme)=>({
184
- borderColor: theme.palette.grey['500']
185
- })
186
- }),
187
- section.content
188
- ]
189
- }, section.key))
190
- })
191
- ]
192
- })
193
- })
194
- });
357
+ sx: t5,
358
+ style: t6,
359
+ children: t17
360
+ });
361
+ $[55] = t17;
362
+ $[56] = t5;
363
+ $[57] = t6;
364
+ $[58] = tooltipRef;
365
+ $[59] = t18;
366
+ } else {
367
+ t18 = $[59];
368
+ }
369
+ let t19;
370
+ if ($[60] !== containerElement || $[61] !== t18) {
371
+ t19 = /*#__PURE__*/ _jsx(Portal, {
372
+ container: containerElement,
373
+ children: t18
374
+ });
375
+ $[60] = containerElement;
376
+ $[61] = t18;
377
+ $[62] = t19;
378
+ } else {
379
+ t19 = $[62];
380
+ }
381
+ return t19;
195
382
  }
196
- function LabelGrid({ title, labels }) {
197
- const entries = Object.entries(labels);
198
- return /*#__PURE__*/ _jsxs(Box, {
383
+ function _temp6(section, index) {
384
+ return /*#__PURE__*/ _jsxs(Fragment, {
199
385
  children: [
200
- /*#__PURE__*/ _jsx(Typography, {
201
- variant: "overline",
202
- component: "div",
203
- children: title
386
+ index > 0 && /*#__PURE__*/ _jsx(Divider, {
387
+ sx: _temp5
388
+ }),
389
+ section.content
390
+ ]
391
+ }, section.key);
392
+ }
393
+ function _temp5(theme_4) {
394
+ return {
395
+ borderColor: theme_4.palette.grey["500"]
396
+ };
397
+ }
398
+ function _temp4(theme_3) {
399
+ return {
400
+ padding: theme_3.spacing(0.5, 2, 1.5, 2)
401
+ };
402
+ }
403
+ function _temp3(theme_2) {
404
+ return {
405
+ width: "100%",
406
+ borderColor: theme_2.palette.grey["500"]
407
+ };
408
+ }
409
+ function _temp2(theme_1) {
410
+ return {
411
+ color: theme_1.palette.common.white
412
+ };
413
+ }
414
+ function _temp(theme_0) {
415
+ return {
416
+ width: "100%",
417
+ maxWidth: TOOLTIP_MAX_WIDTH,
418
+ padding: theme_0.spacing(1.5, 2, 0.5, 2),
419
+ backgroundColor: theme_0.palette.designSystem?.grey[800] ?? TOOLTIP_BG_COLOR_FALLBACK,
420
+ position: "sticky",
421
+ top: 0,
422
+ left: 0
423
+ };
424
+ }
425
+ function LabelGrid(t0) {
426
+ const $ = _c(10);
427
+ const { title, labels } = t0;
428
+ let t1;
429
+ if ($[0] !== labels) {
430
+ t1 = Object.entries(labels);
431
+ $[0] = labels;
432
+ $[1] = t1;
433
+ } else {
434
+ t1 = $[1];
435
+ }
436
+ const entries = t1;
437
+ let t2;
438
+ if ($[2] !== title) {
439
+ t2 = /*#__PURE__*/ _jsx(Typography, {
440
+ variant: "overline",
441
+ component: "div",
442
+ children: title
443
+ });
444
+ $[2] = title;
445
+ $[3] = t2;
446
+ } else {
447
+ t2 = $[3];
448
+ }
449
+ let t3;
450
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
451
+ t3 = {
452
+ display: "grid",
453
+ gridTemplateColumns: "minmax(0, max-content) minmax(0, 1fr)",
454
+ columnGap: 0.5,
455
+ rowGap: 0.25
456
+ };
457
+ $[4] = t3;
458
+ } else {
459
+ t3 = $[4];
460
+ }
461
+ let t4;
462
+ if ($[5] !== entries) {
463
+ t4 = /*#__PURE__*/ _jsx(Box, {
464
+ sx: t3,
465
+ children: entries.map(_temp7)
466
+ });
467
+ $[5] = entries;
468
+ $[6] = t4;
469
+ } else {
470
+ t4 = $[6];
471
+ }
472
+ let t5;
473
+ if ($[7] !== t2 || $[8] !== t4) {
474
+ t5 = /*#__PURE__*/ _jsxs(Box, {
475
+ children: [
476
+ t2,
477
+ t4
478
+ ]
479
+ });
480
+ $[7] = t2;
481
+ $[8] = t4;
482
+ $[9] = t5;
483
+ } else {
484
+ t5 = $[9];
485
+ }
486
+ return t5;
487
+ }
488
+ function _temp7(t0) {
489
+ const [labelName, labelValue] = t0;
490
+ return /*#__PURE__*/ _jsxs(Fragment, {
491
+ children: [
492
+ /*#__PURE__*/ _jsxs(Typography, {
493
+ sx: {
494
+ wordBreak: "break-all"
495
+ },
496
+ children: [
497
+ labelName,
498
+ ":"
499
+ ]
204
500
  }),
205
- /*#__PURE__*/ _jsx(Box, {
501
+ /*#__PURE__*/ _jsx(Typography, {
502
+ fontWeight: 700,
206
503
  sx: {
207
- display: 'grid',
208
- // The first column is sized by the longest label name, so all values line up
209
- // at the same horizontal position.
210
- gridTemplateColumns: 'minmax(0, max-content) minmax(0, 1fr)',
211
- columnGap: 0.5,
212
- rowGap: 0.25
504
+ wordBreak: "break-all"
213
505
  },
214
- children: entries.map(([labelName, labelValue])=>/*#__PURE__*/ _jsxs(Fragment, {
215
- children: [
216
- /*#__PURE__*/ _jsxs(Typography, {
217
- sx: {
218
- wordBreak: 'break-all'
219
- },
220
- children: [
221
- labelName,
222
- ":"
223
- ]
224
- }),
225
- /*#__PURE__*/ _jsx(Typography, {
226
- fontWeight: 700,
227
- sx: {
228
- wordBreak: 'break-all'
229
- },
230
- children: labelValue
231
- })
232
- ]
233
- }, labelName))
506
+ children: labelValue
234
507
  })
235
508
  ]
236
- });
509
+ }, labelName);
237
510
  }
238
511
 
239
512
  //# sourceMappingURL=ExemplarMetadataTooltip.js.map