@perses-dev/timeseries-chart-plugin 0.13.0 → 0.14.0-beta.2

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 (172) hide show
  1. package/__mf/js/TimeSeriesChart.b9caac04.js +7 -0
  2. package/__mf/js/async/121.fde1320e.js +2 -0
  3. package/__mf/js/async/{527.f97d1b86.js → 182.9e1e293f.js} +9 -9
  4. package/__mf/js/async/192.66c6659d.js +1 -0
  5. package/__mf/js/async/2.166bda4f.js +1 -0
  6. package/__mf/js/async/235.76fd7af2.js +1 -0
  7. package/__mf/js/async/274.e4ed32f7.js +2 -0
  8. package/__mf/js/async/319.8e262f9c.js +1 -0
  9. package/__mf/js/async/356.52455d93.js +1 -0
  10. package/__mf/js/async/384.f40367cc.js +1 -0
  11. package/__mf/js/async/392.8cb3dcaa.js +2 -0
  12. package/__mf/js/async/463.f5dc7759.js +7 -0
  13. package/__mf/js/async/{694.0fb9ee5a.js.LICENSE.txt → 463.f5dc7759.js.LICENSE.txt} +41 -1
  14. package/__mf/js/async/465.add3260a.js +1 -0
  15. package/__mf/js/async/470.beedcbcc.js +2 -0
  16. package/__mf/js/async/522.806db24f.js +22 -0
  17. package/__mf/js/async/525.8b92c616.js +37 -0
  18. package/__mf/js/async/587.828c454a.js +1 -0
  19. package/__mf/js/async/597.0c5bd6dd.js +2 -0
  20. package/__mf/js/async/612.b2f31132.js +3 -0
  21. package/__mf/js/async/616.804d525d.js +1 -0
  22. package/__mf/js/async/663.892b9ad5.js +1 -0
  23. package/__mf/js/async/700.25c7e5dd.js +1 -0
  24. package/__mf/js/async/724.f74ffa12.js +1 -0
  25. package/__mf/js/async/730.058dea58.js +2 -0
  26. package/__mf/js/async/865.cb917066.js +2 -0
  27. package/__mf/js/async/941.3bb54150.js +2 -0
  28. package/__mf/js/async/955.52ca0671.js +1 -0
  29. package/__mf/js/async/968.2dd830b3.js +1 -0
  30. package/__mf/js/async/__federation_expose_TimeSeriesChart.4ddb01e0.js +1 -0
  31. package/__mf/js/async/lib-router.ecb51f08.js +2 -0
  32. package/__mf/js/main.f55169be.js +7 -0
  33. package/lib/GeneralSettingsEditor.d.ts +2 -2
  34. package/lib/GeneralSettingsEditor.d.ts.map +1 -1
  35. package/lib/GeneralSettingsEditor.js +7 -7
  36. package/lib/GeneralSettingsEditor.js.map +1 -1
  37. package/lib/QuerySettingsEditor.d.ts +2 -2
  38. package/lib/QuerySettingsEditor.d.ts.map +1 -1
  39. package/lib/QuerySettingsEditor.js +11 -11
  40. package/lib/QuerySettingsEditor.js.map +1 -1
  41. package/lib/TimeSeriesChart.d.ts +3 -3
  42. package/lib/TimeSeriesChart.d.ts.map +1 -1
  43. package/lib/TimeSeriesChart.js +6 -5
  44. package/lib/TimeSeriesChart.js.map +1 -1
  45. package/lib/TimeSeriesChartBase.d.ts +4 -4
  46. package/lib/TimeSeriesChartBase.d.ts.map +1 -1
  47. package/lib/TimeSeriesChartBase.js +12 -12
  48. package/lib/TimeSeriesChartBase.js.map +1 -1
  49. package/lib/TimeSeriesChartPanel.d.ts +4 -4
  50. package/lib/TimeSeriesChartPanel.d.ts.map +1 -1
  51. package/lib/TimeSeriesChartPanel.js +12 -12
  52. package/lib/TimeSeriesChartPanel.js.map +1 -1
  53. package/lib/TimeSeriesExportAction.d.ts +1 -1
  54. package/lib/TimeSeriesExportAction.d.ts.map +1 -1
  55. package/lib/TimeSeriesExportAction.js +5 -5
  56. package/lib/TimeSeriesExportAction.js.map +1 -1
  57. package/lib/VisualOptionsEditor.d.ts +2 -2
  58. package/lib/VisualOptionsEditor.d.ts.map +1 -1
  59. package/lib/VisualOptionsEditor.js +4 -4
  60. package/lib/VisualOptionsEditor.js.map +1 -1
  61. package/lib/YAxisOptionsEditor.d.ts +2 -2
  62. package/lib/YAxisOptionsEditor.d.ts.map +1 -1
  63. package/lib/YAxisOptionsEditor.js +3 -3
  64. package/lib/YAxisOptionsEditor.js.map +1 -1
  65. package/lib/annotations/AnnotationTooltip.d.ts +2 -2
  66. package/lib/annotations/AnnotationTooltip.d.ts.map +1 -1
  67. package/lib/annotations/AnnotationTooltip.js +6 -6
  68. package/lib/annotations/AnnotationTooltip.js.map +1 -1
  69. package/lib/bootstrap.js +2 -2
  70. package/lib/getPluginModule.d.ts +1 -1
  71. package/lib/getPluginModule.d.ts.map +1 -1
  72. package/lib/getPluginModule.js +3 -1
  73. package/lib/getPluginModule.js.map +1 -1
  74. package/lib/index-federation.js +1 -1
  75. package/lib/index.js +9 -9
  76. package/lib/index.js.map +1 -1
  77. package/lib/setup-tests.d.ts +1 -1
  78. package/lib/setup-tests.d.ts.map +1 -1
  79. package/lib/setup-tests.js +2 -2
  80. package/lib/setup-tests.js.map +1 -1
  81. package/lib/test/mock-query-results.d.ts +1 -1
  82. package/lib/test/mock-query-results.d.ts.map +1 -1
  83. package/lib/test/mock-query-results.js.map +1 -1
  84. package/lib/time-series-chart-model.d.ts +3 -3
  85. package/lib/time-series-chart-model.d.ts.map +1 -1
  86. package/lib/time-series-chart-model.js.map +1 -1
  87. package/lib/utils/annotation.d.ts +2 -2
  88. package/lib/utils/annotation.d.ts.map +1 -1
  89. package/lib/utils/annotation.js.map +1 -1
  90. package/lib/utils/data-transform.d.ts +5 -5
  91. package/lib/utils/data-transform.d.ts.map +1 -1
  92. package/lib/utils/data-transform.js +3 -3
  93. package/lib/utils/data-transform.js.map +1 -1
  94. package/lib/utils/palette-gen.d.ts +1 -1
  95. package/lib/utils/palette-gen.d.ts.map +1 -1
  96. package/lib/utils/palette-gen.js +1 -1
  97. package/lib/utils/palette-gen.js.map +1 -1
  98. package/lib/utils/palette.js +1 -1
  99. package/lib/utils/palette.js.map +1 -1
  100. package/lib/utils/timezone-formatter.js +1 -1
  101. package/mf-manifest.json +37 -81
  102. package/mf-stats.json +39 -91
  103. package/package.json +11 -11
  104. package/__mf/js/TimeSeriesChart.42841bce.js +0 -7
  105. package/__mf/js/async/121.c3c0e54f.js +0 -2
  106. package/__mf/js/async/177.2fef2962.js +0 -1
  107. package/__mf/js/async/187.f5e8932b.js +0 -1
  108. package/__mf/js/async/192.c3dd56d5.js +0 -1
  109. package/__mf/js/async/2.60fa4a40.js +0 -1
  110. package/__mf/js/async/208.b9f374ad.js +0 -7
  111. package/__mf/js/async/208.b9f374ad.js.LICENSE.txt +0 -39
  112. package/__mf/js/async/235.d23c8ef0.js +0 -1
  113. package/__mf/js/async/274.72dfa9c8.js +0 -2
  114. package/__mf/js/async/356.8170c96d.js +0 -1
  115. package/__mf/js/async/392.b9ba5bf2.js +0 -2
  116. package/__mf/js/async/470.e09f33b7.js +0 -2
  117. package/__mf/js/async/491.85194549.js +0 -1
  118. package/__mf/js/async/518.2ac1df43.js +0 -38
  119. package/__mf/js/async/52.0d78de2b.js +0 -1
  120. package/__mf/js/async/546.5fecffa4.js +0 -3
  121. package/__mf/js/async/568.45da2c30.js +0 -1
  122. package/__mf/js/async/587.c9460696.js +0 -1
  123. package/__mf/js/async/588.0a1aa144.js +0 -1
  124. package/__mf/js/async/603.3b771310.js +0 -2
  125. package/__mf/js/async/616.79484ac8.js +0 -1
  126. package/__mf/js/async/655.2f794f77.js +0 -1
  127. package/__mf/js/async/694.0fb9ee5a.js +0 -2
  128. package/__mf/js/async/702.785cd635.js +0 -2
  129. package/__mf/js/async/71.8c6cf914.js +0 -1
  130. package/__mf/js/async/724.c45dcf5b.js +0 -1
  131. package/__mf/js/async/873.04a201bf.js +0 -1
  132. package/__mf/js/async/941.b89f8595.js +0 -2
  133. package/__mf/js/async/955.176fe200.js +0 -1
  134. package/__mf/js/async/968.2a9fb1a0.js +0 -1
  135. package/__mf/js/async/978.a9865b23.js +0 -1
  136. package/__mf/js/async/984.83bd5c6d.js +0 -22
  137. package/__mf/js/async/__federation_expose_TimeSeriesChart.0ab11cd4.js +0 -1
  138. package/__mf/js/async/lib-router.319c02cd.js +0 -2
  139. package/__mf/js/main.691eecd6.js +0 -7
  140. package/lib/cjs/GeneralSettingsEditor.js +0 -103
  141. package/lib/cjs/QuerySettingsEditor.js +0 -666
  142. package/lib/cjs/TimeSeriesChart.js +0 -50
  143. package/lib/cjs/TimeSeriesChartBase.js +0 -488
  144. package/lib/cjs/TimeSeriesChartPanel.js +0 -456
  145. package/lib/cjs/TimeSeriesExportAction.js +0 -124
  146. package/lib/cjs/VisualOptionsEditor.js +0 -161
  147. package/lib/cjs/YAxisOptionsEditor.js +0 -118
  148. package/lib/cjs/annotations/AnnotationTooltip.js +0 -370
  149. package/lib/cjs/bootstrap.js +0 -26
  150. package/lib/cjs/env.d.js +0 -14
  151. package/lib/cjs/getPluginModule.js +0 -39
  152. package/lib/cjs/index-federation.js +0 -55
  153. package/lib/cjs/index.js +0 -44
  154. package/lib/cjs/setup-tests.js +0 -19
  155. package/lib/cjs/test/mock-query-results.js +0 -403
  156. package/lib/cjs/time-series-chart-model.js +0 -225
  157. package/lib/cjs/utils/annotation.js +0 -37
  158. package/lib/cjs/utils/data-transform.js +0 -243
  159. package/lib/cjs/utils/palette-gen.js +0 -75
  160. package/lib/cjs/utils/palette.js +0 -83
  161. package/lib/cjs/utils/timezone-formatter.js +0 -48
  162. /package/__mf/css/async/{208.85c2cbf6.css → 463.85c2cbf6.css} +0 -0
  163. /package/__mf/js/async/{121.c3c0e54f.js.LICENSE.txt → 121.fde1320e.js.LICENSE.txt} +0 -0
  164. /package/__mf/js/async/{527.f97d1b86.js.LICENSE.txt → 182.9e1e293f.js.LICENSE.txt} +0 -0
  165. /package/__mf/js/async/{274.72dfa9c8.js.LICENSE.txt → 274.e4ed32f7.js.LICENSE.txt} +0 -0
  166. /package/__mf/js/async/{392.b9ba5bf2.js.LICENSE.txt → 392.8cb3dcaa.js.LICENSE.txt} +0 -0
  167. /package/__mf/js/async/{470.e09f33b7.js.LICENSE.txt → 470.beedcbcc.js.LICENSE.txt} +0 -0
  168. /package/__mf/js/async/{984.83bd5c6d.js.LICENSE.txt → 522.806db24f.js.LICENSE.txt} +0 -0
  169. /package/__mf/js/async/{603.3b771310.js.LICENSE.txt → 597.0c5bd6dd.js.LICENSE.txt} +0 -0
  170. /package/__mf/js/async/{702.785cd635.js.LICENSE.txt → 865.cb917066.js.LICENSE.txt} +0 -0
  171. /package/__mf/js/async/{941.b89f8595.js.LICENSE.txt → 941.3bb54150.js.LICENSE.txt} +0 -0
  172. /package/__mf/js/async/{lib-router.319c02cd.js.LICENSE.txt → lib-router.ecb51f08.js.LICENSE.txt} +0 -0
@@ -1,161 +0,0 @@
1
- // Copyright The Perses Authors
2
- // Licensed under the Apache License, Version 2.0 (the "License");
3
- // you may not use this file except in compliance with the License.
4
- // You may obtain a copy of the License at
5
- //
6
- // http://www.apache.org/licenses/LICENSE-2.0
7
- //
8
- // Unless required by applicable law or agreed to in writing, software
9
- // distributed under the License is distributed on an "AS IS" BASIS,
10
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
- // See the License for the specific language governing permissions and
12
- // limitations under the License.
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", {
15
- value: true
16
- });
17
- Object.defineProperty(exports, "VisualOptionsEditor", {
18
- enumerable: true,
19
- get: function() {
20
- return VisualOptionsEditor;
21
- }
22
- });
23
- const _jsxruntime = require("react/jsx-runtime");
24
- const _immer = require("immer");
25
- const _material = require("@mui/material");
26
- const _components = require("@perses-dev/components");
27
- const _timeserieschartmodel = require("./time-series-chart-model");
28
- function VisualOptionsEditor({ value, onChange }) {
29
- const handleLineWidthChange = (_, sliderValue)=>{
30
- const newValue = Array.isArray(sliderValue) ? sliderValue[0] : sliderValue;
31
- const symbolSize = newValue !== undefined ? newValue + _timeserieschartmodel.POINT_SIZE_OFFSET : _timeserieschartmodel.DEFAULT_POINT_RADIUS;
32
- onChange((0, _immer.produce)(value, (draft)=>{
33
- draft.lineWidth = newValue;
34
- draft.pointRadius = symbolSize;
35
- }));
36
- };
37
- const handleAreaOpacityChange = (_, sliderValue)=>{
38
- const newValue = Array.isArray(sliderValue) ? sliderValue[0] : sliderValue;
39
- onChange((0, _immer.produce)(value, (draft)=>{
40
- draft.areaOpacity = newValue;
41
- }));
42
- };
43
- const currentStack = value.stack ?? 'none';
44
- const stackConfig = _timeserieschartmodel.STACK_CONFIG[currentStack];
45
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_components.OptionsEditorGroup, {
46
- title: "Visual",
47
- children: [
48
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
49
- label: _timeserieschartmodel.VISUAL_CONFIG.stack.label,
50
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.SettingsAutocomplete, {
51
- value: {
52
- ...stackConfig,
53
- id: currentStack
54
- },
55
- options: _timeserieschartmodel.STACK_OPTIONS,
56
- onChange: (__, newValue)=>{
57
- const updatedValue = {
58
- ...value,
59
- stack: newValue.id === 'none' ? undefined : newValue.id
60
- };
61
- // stacked area chart preset to automatically set area under a curve shading
62
- if (newValue.id === 'all' && !value.areaOpacity) {
63
- updatedValue.areaOpacity = 0.3;
64
- }
65
- onChange(updatedValue);
66
- },
67
- disabled: value === undefined,
68
- disableClearable: true
69
- })
70
- }),
71
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
72
- label: "Display",
73
- control: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.ToggleButtonGroup, {
74
- color: "primary",
75
- exclusive: true,
76
- value: value.display ?? _timeserieschartmodel.DEFAULT_DISPLAY,
77
- onChange: (__, newValue)=>{
78
- onChange({
79
- ...value,
80
- display: newValue
81
- });
82
- },
83
- children: [
84
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.ToggleButton, {
85
- value: "line",
86
- selected: value.display === undefined || value.display === 'line',
87
- "aria-label": "display line series",
88
- children: "Line"
89
- }),
90
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.ToggleButton, {
91
- value: "bar",
92
- "aria-label": "display bar series",
93
- children: "Bar"
94
- })
95
- ]
96
- })
97
- }),
98
- value.display === 'line' && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
99
- children: [
100
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
101
- label: _timeserieschartmodel.VISUAL_CONFIG.lineWidth.label,
102
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Slider, {
103
- "data-testid": _timeserieschartmodel.VISUAL_CONFIG.lineWidth.testId,
104
- value: value.lineWidth ?? _timeserieschartmodel.DEFAULT_LINE_WIDTH,
105
- valueLabelDisplay: "auto",
106
- step: _timeserieschartmodel.VISUAL_CONFIG.lineWidth.step,
107
- marks: true,
108
- min: _timeserieschartmodel.VISUAL_CONFIG.lineWidth.min,
109
- max: _timeserieschartmodel.VISUAL_CONFIG.lineWidth.max,
110
- onChange: handleLineWidthChange
111
- })
112
- }),
113
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
114
- label: _timeserieschartmodel.VISUAL_CONFIG.lineStyle.label,
115
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.ToggleButtonGroup, {
116
- color: "primary",
117
- exclusive: true,
118
- value: value.lineStyle ?? _timeserieschartmodel.DEFAULT_LINE_STYLE,
119
- onChange: (__, newValue)=>{
120
- onChange({
121
- ...value,
122
- lineStyle: newValue
123
- });
124
- },
125
- children: Object.entries(_timeserieschartmodel.LINE_STYLE_CONFIG).map(([styleValue, config])=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.ToggleButton, {
126
- value: styleValue,
127
- "aria-label": `${styleValue} line style`,
128
- children: config.label
129
- }, styleValue))
130
- })
131
- }),
132
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
133
- label: _timeserieschartmodel.VISUAL_CONFIG.areaOpacity.label,
134
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Slider, {
135
- "data-testid": _timeserieschartmodel.VISUAL_CONFIG.areaOpacity.testId,
136
- value: value.areaOpacity ?? _timeserieschartmodel.DEFAULT_AREA_OPACITY,
137
- valueLabelDisplay: "auto",
138
- step: _timeserieschartmodel.VISUAL_CONFIG.areaOpacity.step,
139
- marks: true,
140
- min: _timeserieschartmodel.VISUAL_CONFIG.areaOpacity.min,
141
- max: _timeserieschartmodel.VISUAL_CONFIG.areaOpacity.max,
142
- onChange: handleAreaOpacityChange
143
- })
144
- }),
145
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
146
- label: _timeserieschartmodel.VISUAL_CONFIG.connectNulls.label,
147
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Switch, {
148
- checked: value.connectNulls ?? _timeserieschartmodel.DEFAULT_CONNECT_NULLS,
149
- onChange: (e)=>{
150
- onChange({
151
- ...value,
152
- connectNulls: e.target.checked
153
- });
154
- }
155
- })
156
- })
157
- ]
158
- })
159
- ]
160
- });
161
- }
@@ -1,118 +0,0 @@
1
- // Copyright The Perses Authors
2
- // Licensed under the Apache License, Version 2.0 (the "License");
3
- // you may not use this file except in compliance with the License.
4
- // You may obtain a copy of the License at
5
- //
6
- // http://www.apache.org/licenses/LICENSE-2.0
7
- //
8
- // Unless required by applicable law or agreed to in writing, software
9
- // distributed under the License is distributed on an "AS IS" BASIS,
10
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
- // See the License for the specific language governing permissions and
12
- // limitations under the License.
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", {
15
- value: true
16
- });
17
- Object.defineProperty(exports, "YAxisOptionsEditor", {
18
- enumerable: true,
19
- get: function() {
20
- return YAxisOptionsEditor;
21
- }
22
- });
23
- const _jsxruntime = require("react/jsx-runtime");
24
- const _material = require("@mui/material");
25
- const _components = require("@perses-dev/components");
26
- const _timeserieschartmodel = require("./time-series-chart-model");
27
- function YAxisOptionsEditor({ value, onChange }) {
28
- const logBase = value.logBase ? _timeserieschartmodel.LOG_BASE_CONFIG[value.logBase] : undefined;
29
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_components.OptionsEditorGroup, {
30
- title: "Y Axis",
31
- children: [
32
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
33
- label: "Show",
34
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Switch, {
35
- checked: value.show ?? _timeserieschartmodel.DEFAULT_Y_AXIS.show,
36
- onChange: (e)=>{
37
- onChange({
38
- ...value,
39
- show: e.target.checked
40
- });
41
- }
42
- })
43
- }),
44
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.FormatControls, {
45
- value: value.format ?? _timeserieschartmodel.DEFAULT_FORMAT,
46
- onChange: (newFormat)=>onChange({
47
- ...value,
48
- format: newFormat
49
- })
50
- }),
51
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
52
- label: _timeserieschartmodel.Y_AXIS_CONFIG.logBase.label,
53
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.SettingsAutocomplete, {
54
- value: {
55
- ...logBase,
56
- id: logBase?.label ?? 'None'
57
- },
58
- options: _timeserieschartmodel.LOG_BASE_OPTIONS,
59
- onChange: (__, newValue)=>{
60
- const updatedValue = {
61
- ...value,
62
- logBase: newValue.log ?? undefined
63
- };
64
- onChange(updatedValue);
65
- },
66
- disabled: value === undefined,
67
- disableClearable: true
68
- })
69
- }),
70
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
71
- label: _timeserieschartmodel.Y_AXIS_CONFIG.label.label,
72
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
73
- value: value.label ?? '',
74
- inputProps: {
75
- 'aria-label': 'enter y axis label'
76
- },
77
- onChange: (e)=>onChange({
78
- ...value,
79
- label: e.target.value
80
- }),
81
- placeholder: "Default"
82
- })
83
- }),
84
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
85
- label: _timeserieschartmodel.Y_AXIS_CONFIG.min.label,
86
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
87
- type: "number",
88
- value: value.min ?? '',
89
- onChange: (e)=>{
90
- // ensure empty value resets to undef to allow chart to calculate min
91
- const newValue = e.target.value ? Number(e.target.value) : undefined;
92
- onChange({
93
- ...value,
94
- min: newValue
95
- });
96
- },
97
- placeholder: "Default"
98
- })
99
- }),
100
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.OptionsEditorControl, {
101
- label: _timeserieschartmodel.Y_AXIS_CONFIG.max.label,
102
- control: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
103
- type: "number",
104
- value: value.max ?? '',
105
- onChange: (e)=>{
106
- // ensure empty value resets to undef to allow chart to calculate max
107
- const newValue = e.target.value ? Number(e.target.value) : undefined;
108
- onChange({
109
- ...value,
110
- max: newValue
111
- });
112
- },
113
- placeholder: "Default"
114
- })
115
- })
116
- ]
117
- });
118
- }
@@ -1,370 +0,0 @@
1
- // Copyright The Perses Authors
2
- // Licensed under the Apache License, Version 2.0 (the "License");
3
- // you may not use this file except in compliance with the License.
4
- // You may obtain a copy of the License at
5
- //
6
- // http://www.apache.org/licenses/LICENSE-2.0
7
- //
8
- // Unless required by applicable law or agreed to in writing, software
9
- // distributed under the License is distributed on an "AS IS" BASIS,
10
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
- // See the License for the specific language governing permissions and
12
- // limitations under the License.
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", {
15
- value: true
16
- });
17
- function _export(target, all) {
18
- for(var name in all)Object.defineProperty(target, name, {
19
- enumerable: true,
20
- get: Object.getOwnPropertyDescriptor(all, name).get
21
- });
22
- }
23
- _export(exports, {
24
- get AnnotationTooltip () {
25
- return AnnotationTooltip;
26
- },
27
- get buildAnnotationSeries () {
28
- return buildAnnotationSeries;
29
- }
30
- });
31
- const _jsxruntime = require("react/jsx-runtime");
32
- const _material = require("@mui/material");
33
- const _Pin = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Pin"));
34
- const _PinOutline = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/PinOutline"));
35
- const _useresizeobserver = /*#__PURE__*/ _interop_require_default(require("use-resize-observer"));
36
- const _components = require("@perses-dev/components");
37
- const _pluginsystem = require("@perses-dev/plugin-system");
38
- function _interop_require_default(obj) {
39
- return obj && obj.__esModule ? obj : {
40
- default: obj
41
- };
42
- }
43
- function AnnotationTooltip({ annotation, containerId, formatWithUserTimeZone, pinnedPos, enablePinning = true, onUnpinClick }) {
44
- const mousePos = (0, _components.useMousePosition)();
45
- const { height, width, ref: tooltipRef } = (0, _useresizeobserver.default)();
46
- const isPinned = pinnedPos !== null;
47
- if (!isPinned && mousePos === null) return null;
48
- const containerElement = containerId ? document.querySelector(containerId) : undefined;
49
- const maxHeight = containerElement ? containerElement.getBoundingClientRect().height : undefined;
50
- const transform = (0, _components.assembleTransform)(mousePos, pinnedPos, height ?? 0, width ?? 0, containerElement);
51
- const start = (0, _components.getDateAndTime)(annotation.start, formatWithUserTimeZone);
52
- const end = annotation.end !== undefined ? (0, _components.getDateAndTime)(annotation.end, formatWithUserTimeZone) : null;
53
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Portal, {
54
- container: containerElement,
55
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
56
- ref: tooltipRef,
57
- sx: (theme)=>(0, _components.getTooltipStyles)(theme, pinnedPos, maxHeight),
58
- style: {
59
- transform
60
- },
61
- children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
62
- spacing: 0.5,
63
- children: [
64
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
65
- sx: (theme)=>({
66
- width: '100%',
67
- maxWidth: _components.TOOLTIP_MAX_WIDTH,
68
- padding: theme.spacing(1.5, 2, 0.5, 2),
69
- backgroundColor: theme.palette.designSystem?.grey[800] ?? _components.TOOLTIP_BG_COLOR_FALLBACK,
70
- position: 'sticky',
71
- top: 0,
72
- left: 0
73
- }),
74
- children: [
75
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
76
- sx: {
77
- display: 'flex',
78
- alignItems: 'center',
79
- paddingBottom: 0.5,
80
- width: '100%'
81
- },
82
- children: [
83
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
84
- sx: {
85
- width: 8,
86
- height: 8,
87
- borderRadius: '50%',
88
- backgroundColor: annotation.color ?? _pluginsystem.DEFAULT_ANNOTATION_COLOR,
89
- marginRight: 1,
90
- flexShrink: 0
91
- }
92
- }),
93
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
94
- sx: {
95
- flexGrow: 1,
96
- minWidth: 0
97
- },
98
- children: [
99
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Typography, {
100
- variant: "caption",
101
- children: [
102
- start.formattedDate,
103
- " - ",
104
- /*#__PURE__*/ (0, _jsxruntime.jsx)("strong", {
105
- children: start.formattedTime
106
- })
107
- ]
108
- }),
109
- end && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
110
- children: [
111
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
112
- variant: "caption",
113
- children: ' → '
114
- }),
115
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Typography, {
116
- variant: "caption",
117
- children: [
118
- end.formattedDate,
119
- " - ",
120
- /*#__PURE__*/ (0, _jsxruntime.jsx)("strong", {
121
- children: end.formattedTime
122
- })
123
- ]
124
- })
125
- ]
126
- })
127
- ]
128
- }),
129
- enablePinning && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
130
- direction: "row",
131
- alignItems: "center",
132
- sx: {
133
- marginLeft: 1,
134
- flexShrink: 0
135
- },
136
- children: [
137
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
138
- sx: {
139
- marginRight: 0.5,
140
- fontSize: 11,
141
- verticalAlign: 'middle'
142
- },
143
- children: isPinned ? _components.UNPIN_TOOLTIP_HELP_TEXT : _components.PIN_TOOLTIP_HELP_TEXT
144
- }),
145
- isPinned ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Pin.default, {
146
- onClick: ()=>{
147
- if (onUnpinClick !== undefined) onUnpinClick();
148
- },
149
- sx: {
150
- fontSize: 16,
151
- cursor: 'pointer'
152
- }
153
- }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_PinOutline.default, {
154
- sx: {
155
- fontSize: 16
156
- }
157
- })
158
- ]
159
- })
160
- ]
161
- }),
162
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Divider, {
163
- sx: (theme)=>({
164
- width: '100%',
165
- borderColor: theme.palette.grey['500']
166
- })
167
- })
168
- ]
169
- }),
170
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
171
- sx: (theme)=>({
172
- padding: theme.spacing(0.5, 2, 1.5, 2)
173
- }),
174
- children: [
175
- annotation.title && /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
176
- variant: "caption",
177
- sx: {
178
- display: 'block',
179
- fontWeight: 'bold',
180
- marginBottom: 0.5
181
- },
182
- children: annotation.title
183
- }),
184
- annotation.legend && /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
185
- variant: "caption",
186
- sx: {
187
- display: 'block',
188
- marginBottom: 0.5
189
- },
190
- children: annotation.legend
191
- }),
192
- annotation.tags && Object.keys(annotation.tags).length > 0 && /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
193
- sx: {
194
- display: 'flex',
195
- flexWrap: 'wrap',
196
- gap: 0.5,
197
- marginTop: 0.5
198
- },
199
- children: Object.entries(annotation.tags).map(([key, value])=>/*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
200
- sx: (theme)=>({
201
- backgroundColor: theme.palette.grey['700'],
202
- borderRadius: '4px',
203
- padding: '2px 6px',
204
- fontSize: '0.7rem',
205
- fontFamily: 'monospace'
206
- }),
207
- children: [
208
- key,
209
- ": ",
210
- value
211
- ]
212
- }, key))
213
- })
214
- ]
215
- })
216
- ]
217
- })
218
- })
219
- });
220
- }
221
- function buildAnnotationSeries(annotations) {
222
- if (!annotations?.length) return [];
223
- const markAreaData = [];
224
- const markLineData = [];
225
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
226
- const markPointData = [];
227
- annotations.forEach((annotation, index)=>{
228
- const color = annotation.color ?? _pluginsystem.DEFAULT_ANNOTATION_COLOR;
229
- const opacity = 0.3;
230
- if (annotation.end !== undefined) {
231
- // Range annotation - use markArea and markLine (silent) + markers at start/end
232
- markLineData.push({
233
- xAxis: annotation.start,
234
- lineStyle: {
235
- color,
236
- width: 2,
237
- type: 'dashed'
238
- },
239
- label: {
240
- show: false
241
- },
242
- annotationIndex: index
243
- });
244
- markLineData.push({
245
- xAxis: annotation.end,
246
- lineStyle: {
247
- color,
248
- width: 2,
249
- type: 'dashed'
250
- },
251
- label: {
252
- show: false
253
- },
254
- annotationIndex: index
255
- });
256
- markAreaData.push([
257
- {
258
- xAxis: annotation.start,
259
- itemStyle: {
260
- color,
261
- opacity
262
- }
263
- },
264
- {
265
- xAxis: annotation.end
266
- }
267
- ]);
268
- // Add start and end markers
269
- for (const isStart of [
270
- true,
271
- false
272
- ]){
273
- markPointData.push({
274
- coord: [
275
- isStart ? annotation.start : annotation.end,
276
- 0
277
- ],
278
- symbol: 'triangle',
279
- symbolSize: [
280
- 12,
281
- 12
282
- ],
283
- symbolRotate: 0,
284
- symbolOffset: [
285
- 0,
286
- 4
287
- ],
288
- itemStyle: {
289
- color
290
- },
291
- annotationIndex: index,
292
- emphasis: {
293
- disabled: true
294
- },
295
- isStart: isStart,
296
- isEnd: !isStart
297
- });
298
- }
299
- } else {
300
- // Point annotation - use markLine (silent) + single marker
301
- markLineData.push({
302
- xAxis: annotation.start,
303
- lineStyle: {
304
- color,
305
- width: 2,
306
- type: 'dashed'
307
- },
308
- label: {
309
- show: false
310
- },
311
- annotationIndex: index
312
- });
313
- // Add point marker
314
- markPointData.push({
315
- coord: [
316
- annotation.start,
317
- 0
318
- ],
319
- symbol: 'triangle',
320
- symbolSize: [
321
- 12,
322
- 10
323
- ],
324
- symbolRotate: 0,
325
- symbolOffset: [
326
- 0,
327
- '120%'
328
- ],
329
- itemStyle: {
330
- color
331
- },
332
- annotationIndex: index,
333
- isPoint: true
334
- });
335
- }
336
- });
337
- const series = {
338
- type: 'line',
339
- data: [],
340
- silent: false,
341
- markArea: markAreaData.length > 0 ? {
342
- silent: true,
343
- data: markAreaData,
344
- label: {
345
- show: false
346
- }
347
- } : undefined,
348
- markLine: markLineData.length > 0 ? {
349
- silent: true,
350
- symbol: [
351
- 'none',
352
- 'none'
353
- ],
354
- data: markLineData,
355
- lineStyle: {
356
- type: 'dashed'
357
- }
358
- } : undefined,
359
- markPoint: markPointData.length > 0 ? {
360
- silent: false,
361
- data: markPointData,
362
- label: {
363
- show: false
364
- }
365
- } : undefined
366
- };
367
- return [
368
- series
369
- ];
370
- }
@@ -1,26 +0,0 @@
1
- // Copyright The Perses Authors
2
- // Licensed under the Apache License, Version 2.0 (the "License");
3
- // you may not use this file except in compliance with the License.
4
- // You may obtain a copy of the License at
5
- //
6
- // http://www.apache.org/licenses/LICENSE-2.0
7
- //
8
- // Unless required by applicable law or agreed to in writing, software
9
- // distributed under the License is distributed on an "AS IS" BASIS,
10
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
- // See the License for the specific language governing permissions and
12
- // limitations under the License.
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", {
15
- value: true
16
- });
17
- const _jsxruntime = require("react/jsx-runtime");
18
- const _react = /*#__PURE__*/ _interop_require_default(require("react"));
19
- const _client = /*#__PURE__*/ _interop_require_default(require("react-dom/client"));
20
- function _interop_require_default(obj) {
21
- return obj && obj.__esModule ? obj : {
22
- default: obj
23
- };
24
- }
25
- const root = _client.default.createRoot(document.getElementById('root'));
26
- root.render(/*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.StrictMode, {}));