@splunk/dashboard-toolbar 29.5.2 → 29.7.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 (215) hide show
  1. package/CHANGELOG.md +1587 -0
  2. package/IconButton.js +18 -56
  3. package/IconButton.js.map +1 -1
  4. package/ItemGroup.js +6 -24
  5. package/ItemGroup.js.map +1 -1
  6. package/Toolbar.js +6 -14
  7. package/Toolbar.js.map +1 -1
  8. package/buttons/Charts.js +14 -47
  9. package/buttons/Charts.js.map +2 -2
  10. package/buttons/Config.js +21 -59
  11. package/buttons/Config.js.map +1 -1
  12. package/buttons/ContentExport.js +18 -56
  13. package/buttons/ContentExport.js.map +1 -1
  14. package/buttons/Data.js +21 -59
  15. package/buttons/Data.js.map +1 -1
  16. package/buttons/EmptyVisualization.js +22 -80
  17. package/buttons/EmptyVisualization.js.map +1 -1
  18. package/buttons/Fullscreen.js +22 -80
  19. package/buttons/Fullscreen.js.map +1 -1
  20. package/buttons/GridLineSwitch.js +2 -3
  21. package/buttons/GridLineSwitch.js.map +1 -1
  22. package/buttons/HelpButton.js +11 -44
  23. package/buttons/HelpButton.js.map +2 -2
  24. package/buttons/IconGallery.js +15 -68
  25. package/buttons/IconGallery.js.map +2 -2
  26. package/buttons/Image.js +22 -80
  27. package/buttons/Image.js.map +1 -1
  28. package/buttons/ImageGallery.js +15 -68
  29. package/buttons/ImageGallery.js.map +2 -2
  30. package/buttons/Inputs.js +19 -49
  31. package/buttons/Inputs.js.map +2 -2
  32. package/buttons/Markdown.js +20 -58
  33. package/buttons/Markdown.js.map +1 -1
  34. package/buttons/ModeSwitch.js +1 -1
  35. package/buttons/ModeSwitch.js.map +1 -1
  36. package/buttons/Redo.js +21 -63
  37. package/buttons/Redo.js.map +1 -1
  38. package/buttons/Shapes.js +13 -46
  39. package/buttons/Shapes.js.map +2 -2
  40. package/buttons/Source.js +18 -56
  41. package/buttons/Source.js.map +1 -1
  42. package/buttons/Undo.js +21 -63
  43. package/buttons/Undo.js.map +1 -1
  44. package/buttons/index.js +145 -170
  45. package/buttons/index.js.map +2 -2
  46. package/groups/ControlGroup.js +34 -99
  47. package/groups/ControlGroup.js.map +2 -2
  48. package/groups/EditingGroup.js +62 -78
  49. package/groups/EditingGroup.js.map +2 -2
  50. package/groups/EditorGroup.js +30 -78
  51. package/groups/EditorGroup.js.map +2 -2
  52. package/groups/EditorsControlGroup.js +39 -87
  53. package/groups/EditorsControlGroup.js.map +2 -2
  54. package/groups/HistoryGroup.js +36 -89
  55. package/groups/HistoryGroup.js.map +2 -2
  56. package/groups/SidebarControlGroup.js +39 -84
  57. package/groups/SidebarControlGroup.js.map +2 -2
  58. package/groups/VisualizationGroup.js +56 -118
  59. package/groups/VisualizationGroup.js.map +2 -2
  60. package/groups/index.js +124 -179
  61. package/groups/index.js.map +2 -2
  62. package/index.js +164 -207
  63. package/index.js.map +2 -2
  64. package/module/CollapsibleToolbar.js +11 -11
  65. package/module/IconButton.js +6 -6
  66. package/module/Item.js +3 -3
  67. package/module/ItemGroup.js +7 -7
  68. package/module/PopoverItemButton.js +4 -4
  69. package/module/Toolbar.js +6 -6
  70. package/module/buttons/Charts.js +15 -15
  71. package/module/buttons/Config.js +9 -9
  72. package/module/buttons/ContentExport.js +9 -9
  73. package/module/buttons/Data.js +10 -10
  74. package/module/buttons/EmptyVisualization.js +9 -9
  75. package/module/buttons/ExportDashboardButton.js +8 -8
  76. package/module/buttons/Fullscreen.js +9 -9
  77. package/module/buttons/GridLineSwitch.js +8 -8
  78. package/module/buttons/HelpButton.js +11 -11
  79. package/module/buttons/IconGallery.js +11 -11
  80. package/module/buttons/Image.js +9 -9
  81. package/module/buttons/ImageGallery.js +12 -12
  82. package/module/buttons/Inputs.js +11 -11
  83. package/module/buttons/Markdown.js +8 -8
  84. package/module/buttons/ModeSwitch.js +9 -9
  85. package/module/buttons/Redo.js +8 -8
  86. package/module/buttons/Shapes.js +13 -13
  87. package/module/buttons/Source.js +9 -9
  88. package/module/buttons/Undo.js +8 -8
  89. package/module/buttons/index.js +40 -40
  90. package/module/chunks/{chunk-YH3LWJKQ.js → chunk-2CIJZJRQ.js} +17 -17
  91. package/module/chunks/{chunk-YH3LWJKQ.js.map → chunk-2CIJZJRQ.js.map} +1 -1
  92. package/module/chunks/{chunk-FMSKWHRK.js → chunk-2REUP3TZ.js} +11 -14
  93. package/module/chunks/{chunk-FMSKWHRK.js.map → chunk-2REUP3TZ.js.map} +1 -1
  94. package/module/chunks/chunk-2WGGOMJE.js +34 -0
  95. package/module/chunks/{chunk-E7EUH33R.js.map → chunk-2WGGOMJE.js.map} +1 -1
  96. package/module/chunks/{chunk-KDWTCNVM.js → chunk-37TNXIHV.js} +8 -12
  97. package/module/chunks/{chunk-KDWTCNVM.js.map → chunk-37TNXIHV.js.map} +1 -1
  98. package/module/chunks/{chunk-GMMN7SOC.js → chunk-3PEWQDKC.js} +2 -2
  99. package/module/chunks/{chunk-ZV4AQ5DL.js → chunk-6C2NOEOI.js} +2 -2
  100. package/module/chunks/{chunk-VSD7VGBN.js → chunk-A4O2G7H7.js} +6 -6
  101. package/module/chunks/{chunk-RZWTF3BK.js → chunk-A4S4A2N5.js} +25 -39
  102. package/module/chunks/{chunk-RZWTF3BK.js.map → chunk-A4S4A2N5.js.map} +1 -1
  103. package/module/chunks/{chunk-6NLVLUCU.js → chunk-A6YRCP43.js} +2 -2
  104. package/module/chunks/{chunk-5IFDFRGD.js → chunk-ACVHX3RN.js} +8 -12
  105. package/module/chunks/{chunk-5IFDFRGD.js.map → chunk-ACVHX3RN.js.map} +1 -1
  106. package/module/chunks/chunk-AFH5LL74.js +26 -0
  107. package/module/chunks/{chunk-UCI2OCYF.js → chunk-B4IRCRYC.js} +12 -20
  108. package/module/chunks/{chunk-UCI2OCYF.js.map → chunk-B4IRCRYC.js.map} +1 -1
  109. package/module/chunks/{chunk-YMIK47DX.js → chunk-BNOIJ742.js} +14 -15
  110. package/module/chunks/{chunk-YMIK47DX.js.map → chunk-BNOIJ742.js.map} +1 -1
  111. package/module/chunks/{chunk-BDFUA6X7.js → chunk-CASUTGK5.js} +9 -14
  112. package/module/chunks/chunk-CASUTGK5.js.map +7 -0
  113. package/module/chunks/{chunk-DQZGTQ2Z.js → chunk-DIC6BJPJ.js} +9 -9
  114. package/module/chunks/{chunk-SJNT4MK5.js → chunk-DONX4ISJ.js} +6 -6
  115. package/module/chunks/{chunk-NTQBWCZU.js → chunk-EDGMTRPE.js} +8 -8
  116. package/module/chunks/{chunk-NTQBWCZU.js.map → chunk-EDGMTRPE.js.map} +1 -1
  117. package/module/chunks/{chunk-UNYHHA4F.js → chunk-EPMHIBVT.js} +10 -11
  118. package/module/chunks/{chunk-UNYHHA4F.js.map → chunk-EPMHIBVT.js.map} +1 -1
  119. package/module/chunks/{chunk-IHFVJPGQ.js → chunk-EVRV5ZFT.js} +2 -2
  120. package/module/chunks/{chunk-I6AJG47U.js → chunk-EZBGH5QE.js} +2 -2
  121. package/module/chunks/{chunk-DM27U6AI.js → chunk-F6RTO5OR.js} +18 -17
  122. package/module/chunks/{chunk-DM27U6AI.js.map → chunk-F6RTO5OR.js.map} +1 -1
  123. package/module/chunks/{chunk-TQIO5WSS.js → chunk-GGU3N3OR.js} +5 -5
  124. package/module/chunks/{chunk-RKJ7RKNK.js → chunk-GQJXWXKY.js} +2 -2
  125. package/module/chunks/{chunk-QH53L2XQ.js → chunk-GT7JERMF.js} +7 -10
  126. package/module/chunks/{chunk-QH53L2XQ.js.map → chunk-GT7JERMF.js.map} +1 -1
  127. package/module/chunks/{chunk-U5YCUIDK.js → chunk-HGF7R67S.js} +9 -12
  128. package/module/chunks/{chunk-U5YCUIDK.js.map → chunk-HGF7R67S.js.map} +1 -1
  129. package/module/chunks/{chunk-ZEITW5IL.js → chunk-HNLSR2U2.js} +10 -10
  130. package/module/chunks/{chunk-ZEITW5IL.js.map → chunk-HNLSR2U2.js.map} +1 -1
  131. package/module/chunks/{chunk-6RWX6HA7.js → chunk-HSIAXTEQ.js} +9 -12
  132. package/module/chunks/{chunk-6RWX6HA7.js.map → chunk-HSIAXTEQ.js.map} +1 -1
  133. package/module/chunks/{chunk-RFWUOGJ3.js → chunk-ICS6CLF6.js} +2 -2
  134. package/module/chunks/{chunk-C3GFY32L.js → chunk-KIWM3XWB.js} +2 -2
  135. package/module/chunks/{chunk-4SWPK2TU.js → chunk-KTJRF2VW.js} +3 -3
  136. package/module/chunks/{chunk-P5YTSVEV.js → chunk-L5IQTYSU.js} +9 -9
  137. package/module/chunks/{chunk-P5YTSVEV.js.map → chunk-L5IQTYSU.js.map} +1 -1
  138. package/module/chunks/{chunk-EUFLSUPO.js → chunk-LGEXZN3G.js} +14 -17
  139. package/module/chunks/{chunk-EUFLSUPO.js.map → chunk-LGEXZN3G.js.map} +1 -1
  140. package/module/chunks/{chunk-WSTQTULM.js → chunk-MDZOPP2X.js} +3 -3
  141. package/module/chunks/{chunk-VITMNUKV.js → chunk-MJ7HLEFT.js} +2 -2
  142. package/module/chunks/{chunk-HMQY5XLG.js → chunk-MTBEBUIU.js} +8 -12
  143. package/module/chunks/{chunk-HMQY5XLG.js.map → chunk-MTBEBUIU.js.map} +1 -1
  144. package/module/chunks/{chunk-RPNGCVZL.js → chunk-OBDH7GEY.js} +2 -2
  145. package/module/chunks/{chunk-2MOF5ZP7.js → chunk-OE5GQ3FG.js} +7 -7
  146. package/module/chunks/{chunk-XWRMHLAP.js → chunk-OOGFGU4X.js} +2 -2
  147. package/module/chunks/{chunk-E3IBH4RN.js → chunk-P23RJTRF.js} +10 -10
  148. package/module/chunks/{chunk-VGHYIDZA.js → chunk-P2G7HULR.js} +5 -8
  149. package/module/chunks/{chunk-VGHYIDZA.js.map → chunk-P2G7HULR.js.map} +1 -1
  150. package/module/chunks/{chunk-KMWIB6DC.js → chunk-P7X3KHUG.js} +6 -9
  151. package/module/chunks/{chunk-KMWIB6DC.js.map → chunk-P7X3KHUG.js.map} +1 -1
  152. package/module/chunks/{chunk-RJ5FWZWY.js → chunk-PKNBH4OS.js} +11 -18
  153. package/module/chunks/{chunk-RJ5FWZWY.js.map → chunk-PKNBH4OS.js.map} +1 -1
  154. package/module/chunks/{chunk-JIIPUMEA.js → chunk-PZA4F4AY.js} +2 -2
  155. package/module/chunks/{chunk-V3YGNO27.js → chunk-Q5OC2QQV.js} +2 -2
  156. package/module/chunks/{chunk-KGSEQL62.js → chunk-QQWQ2KSF.js} +2 -2
  157. package/module/chunks/{chunk-RZRB3MPG.js → chunk-RD6QZCUY.js} +90 -48
  158. package/module/chunks/chunk-RD6QZCUY.js.map +7 -0
  159. package/module/chunks/{chunk-MUXHFVOC.js → chunk-RL6UDJ3E.js} +10 -11
  160. package/module/chunks/{chunk-MUXHFVOC.js.map → chunk-RL6UDJ3E.js.map} +1 -1
  161. package/module/chunks/{chunk-SFYQQARV.js → chunk-SJBQOPBI.js} +3 -3
  162. package/module/chunks/{chunk-RS2VRN2X.js → chunk-VENUU6C7.js} +7 -7
  163. package/module/chunks/{chunk-RS2VRN2X.js.map → chunk-VENUU6C7.js.map} +1 -1
  164. package/module/chunks/chunk-X74ALD2D.js +25 -0
  165. package/module/chunks/{chunk-PUNHFOXB.js.map → chunk-X74ALD2D.js.map} +1 -1
  166. package/module/chunks/{chunk-UUMIWWJE.js → chunk-YDIFCM3E.js} +13 -13
  167. package/module/chunks/{chunk-UUMIWWJE.js.map → chunk-YDIFCM3E.js.map} +1 -1
  168. package/module/groups/ActionsGroup.js +7 -7
  169. package/module/groups/ControlGroup.js +42 -42
  170. package/module/groups/EditingGroup.js +42 -42
  171. package/module/groups/EditorGroup.js +42 -42
  172. package/module/groups/EditorsControlGroup.js +42 -42
  173. package/module/groups/HistoryGroup.js +42 -42
  174. package/module/groups/SidebarControlGroup.js +42 -42
  175. package/module/groups/VisualizationGroup.js +42 -42
  176. package/module/groups/index.js +49 -49
  177. package/module/index.js +51 -51
  178. package/package.json +29 -29
  179. package/types/buttons/Display/Display.d.ts +10 -1
  180. package/types/buttons/Display/Display.d.ts.map +1 -1
  181. package/types/buttons/Zoom/Zoom.d.ts.map +1 -1
  182. package/types/buttons/Zoom/ZoomNumber.d.ts +3 -1
  183. package/types/buttons/Zoom/ZoomNumber.d.ts.map +1 -1
  184. package/types/components/StyledButton.d.ts.map +1 -1
  185. package/module/chunks/chunk-BDFUA6X7.js.map +0 -7
  186. package/module/chunks/chunk-E7EUH33R.js +0 -40
  187. package/module/chunks/chunk-PUNHFOXB.js +0 -31
  188. package/module/chunks/chunk-RZRB3MPG.js.map +0 -7
  189. package/module/chunks/chunk-VQIRZ53C.js +0 -79
  190. package/types/groups/HistoryGroup.test.d.ts +0 -2
  191. package/types/groups/HistoryGroup.test.d.ts.map +0 -1
  192. /package/module/chunks/{chunk-GMMN7SOC.js.map → chunk-3PEWQDKC.js.map} +0 -0
  193. /package/module/chunks/{chunk-ZV4AQ5DL.js.map → chunk-6C2NOEOI.js.map} +0 -0
  194. /package/module/chunks/{chunk-VSD7VGBN.js.map → chunk-A4O2G7H7.js.map} +0 -0
  195. /package/module/chunks/{chunk-6NLVLUCU.js.map → chunk-A6YRCP43.js.map} +0 -0
  196. /package/module/chunks/{chunk-VQIRZ53C.js.map → chunk-AFH5LL74.js.map} +0 -0
  197. /package/module/chunks/{chunk-DQZGTQ2Z.js.map → chunk-DIC6BJPJ.js.map} +0 -0
  198. /package/module/chunks/{chunk-SJNT4MK5.js.map → chunk-DONX4ISJ.js.map} +0 -0
  199. /package/module/chunks/{chunk-IHFVJPGQ.js.map → chunk-EVRV5ZFT.js.map} +0 -0
  200. /package/module/chunks/{chunk-I6AJG47U.js.map → chunk-EZBGH5QE.js.map} +0 -0
  201. /package/module/chunks/{chunk-TQIO5WSS.js.map → chunk-GGU3N3OR.js.map} +0 -0
  202. /package/module/chunks/{chunk-RKJ7RKNK.js.map → chunk-GQJXWXKY.js.map} +0 -0
  203. /package/module/chunks/{chunk-RFWUOGJ3.js.map → chunk-ICS6CLF6.js.map} +0 -0
  204. /package/module/chunks/{chunk-C3GFY32L.js.map → chunk-KIWM3XWB.js.map} +0 -0
  205. /package/module/chunks/{chunk-4SWPK2TU.js.map → chunk-KTJRF2VW.js.map} +0 -0
  206. /package/module/chunks/{chunk-WSTQTULM.js.map → chunk-MDZOPP2X.js.map} +0 -0
  207. /package/module/chunks/{chunk-VITMNUKV.js.map → chunk-MJ7HLEFT.js.map} +0 -0
  208. /package/module/chunks/{chunk-RPNGCVZL.js.map → chunk-OBDH7GEY.js.map} +0 -0
  209. /package/module/chunks/{chunk-2MOF5ZP7.js.map → chunk-OE5GQ3FG.js.map} +0 -0
  210. /package/module/chunks/{chunk-XWRMHLAP.js.map → chunk-OOGFGU4X.js.map} +0 -0
  211. /package/module/chunks/{chunk-E3IBH4RN.js.map → chunk-P23RJTRF.js.map} +0 -0
  212. /package/module/chunks/{chunk-JIIPUMEA.js.map → chunk-PZA4F4AY.js.map} +0 -0
  213. /package/module/chunks/{chunk-V3YGNO27.js.map → chunk-Q5OC2QQV.js.map} +0 -0
  214. /package/module/chunks/{chunk-KGSEQL62.js.map → chunk-QQWQ2KSF.js.map} +0 -0
  215. /package/module/chunks/{chunk-SFYQQARV.js.map → chunk-SJBQOPBI.js.map} +0 -0
package/buttons/index.js CHANGED
@@ -4,39 +4,10 @@ in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
4
  "use strict";
5
5
  var __create = Object.create;
6
6
  var __defProp = Object.defineProperty;
7
- var __defProps = Object.defineProperties;
8
7
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
10
8
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
9
  var __getProtoOf = Object.getPrototypeOf;
13
10
  var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
- var __spreadValues = (a, b) => {
17
- for (var prop in b || (b = {}))
18
- if (__hasOwnProp.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- if (__getOwnPropSymbols)
21
- for (var prop of __getOwnPropSymbols(b)) {
22
- if (__propIsEnum.call(b, prop))
23
- __defNormalProp(a, prop, b[prop]);
24
- }
25
- return a;
26
- };
27
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
- var __objRest = (source, exclude) => {
29
- var target = {};
30
- for (var prop in source)
31
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
32
- target[prop] = source[prop];
33
- if (source != null && __getOwnPropSymbols)
34
- for (var prop of __getOwnPropSymbols(source)) {
35
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
36
- target[prop] = source[prop];
37
- }
38
- return target;
39
- };
40
11
  var __export = (target, all) => {
41
12
  for (var name in all)
42
13
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -59,26 +30,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
59
30
  mod
60
31
  ));
61
32
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
62
- var __async = (__this, __arguments, generator) => {
63
- return new Promise((resolve, reject) => {
64
- var fulfilled = (value) => {
65
- try {
66
- step(generator.next(value));
67
- } catch (e) {
68
- reject(e);
69
- }
70
- };
71
- var rejected = (value) => {
72
- try {
73
- step(generator.throw(value));
74
- } catch (e) {
75
- reject(e);
76
- }
77
- };
78
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
79
- step((generator = generator.apply(__this, __arguments)).next());
80
- });
81
- };
82
33
 
83
34
  // src/buttons/index.ts
84
35
  var buttons_exports = {};
@@ -188,9 +139,8 @@ var Item_default = styled_components_default.div``;
188
139
  var aiButtonStyle = { height: "100%" };
189
140
  var EmptyComponent = () => null;
190
141
  var AIAssistant = () => {
191
- var _a;
192
142
  const { allowDashboardAIAssistant } = (0, dashboard_context_exports.useFeatureFlags)();
193
- const { AIButton } = (_a = (0, dashboard_context_exports.useMicrofrontendContext)().microfrontendProxy) != null ? _a : {};
143
+ const { AIButton } = (0, dashboard_context_exports.useMicrofrontendContext)().microfrontendProxy ?? {};
194
144
  const dashboardApi = (0, dashboard_context_exports.useDashboardApi)();
195
145
  const { colorScheme, density, family } = (0, themes_exports.useSplunkTheme)();
196
146
  const handleError = (0, react_exports.useCallback)((error) => {
@@ -334,37 +284,25 @@ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
334
284
  `;
335
285
  var iconSize = 24;
336
286
  var menuIconSize = 20;
337
- var prepareIcon = (_a) => {
338
- var _b = _a, {
339
- Icon,
340
- screenReaderContent,
341
- isMenu = false
342
- } = _b, props = __objRest(_b, [
343
- "Icon",
344
- "screenReaderContent",
345
- "isMenu"
346
- ]);
287
+ var prepareIcon = ({
288
+ Icon,
289
+ screenReaderContent,
290
+ isMenu = false,
291
+ ...props
292
+ }) => {
347
293
  const size = isMenu ? menuIconSize : iconSize;
348
- return /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(Icon, __spreadValues({ width: size, height: size }, props)), isMenu && /* @__PURE__ */ react_default.createElement(StyledDropdownIcon, { variant: "filled", width: 9, height: size }), screenReaderContent && /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, null, screenReaderContent));
294
+ return /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(Icon, { width: size, height: size, ...props }), isMenu && /* @__PURE__ */ react_default.createElement(StyledDropdownIcon, { variant: "filled", width: 9, height: size }), screenReaderContent && /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, null, screenReaderContent));
349
295
  };
350
- var IconButton = (_a) => {
351
- var _b = _a, {
352
- icon: icon9,
353
- buttonRef,
354
- disabled = false,
355
- onClick,
356
- label,
357
- tooltipContent,
358
- testLabel
359
- } = _b, rest = __objRest(_b, [
360
- "icon",
361
- "buttonRef",
362
- "disabled",
363
- "onClick",
364
- "label",
365
- "tooltipContent",
366
- "testLabel"
367
- ]);
296
+ var IconButton = ({
297
+ icon: icon9,
298
+ buttonRef,
299
+ disabled = false,
300
+ onClick,
301
+ label,
302
+ tooltipContent,
303
+ testLabel,
304
+ ...rest
305
+ }) => {
368
306
  const button = /* @__PURE__ */ react_default.createElement(
369
307
  Button_default,
370
308
  {
@@ -378,7 +316,7 @@ var IconButton = (_a) => {
378
316
  "data-clickable": true
379
317
  }
380
318
  );
381
- return /* @__PURE__ */ react_default.createElement(Item_default, __spreadValues({}, rest), tooltipContent ? /* @__PURE__ */ react_default.createElement(Tooltip_default, { contentRelationship: "label", content: tooltipContent }, button) : button);
319
+ return /* @__PURE__ */ react_default.createElement(Item_default, { ...rest }, tooltipContent ? /* @__PURE__ */ react_default.createElement(Tooltip_default, { contentRelationship: "label", content: tooltipContent }, button) : button);
382
320
  };
383
321
  var IconButton_default = IconButton;
384
322
 
@@ -386,13 +324,13 @@ var IconButton_default = IconButton;
386
324
  var BaseDropdownButton = styled_components_default(Button_default)`
387
325
  max-width: '50px';
388
326
  `;
389
- var StyledDropdownButton = react_default.forwardRef((_a, ref) => {
390
- var _b = _a, { tooltipContent } = _b, props = __objRest(_b, ["tooltipContent"]);
327
+ var StyledDropdownButton = react_default.forwardRef(({ tooltipContent, ...props }, ref) => {
391
328
  const button = /* @__PURE__ */ react_default.createElement(
392
329
  BaseDropdownButton,
393
- __spreadProps(__spreadValues({}, props), {
330
+ {
331
+ ...props,
394
332
  elementRef: ref
395
- })
333
+ }
396
334
  );
397
335
  return tooltipContent ? /* @__PURE__ */ react_default.createElement(Tooltip_default, { contentRelationship: "label", content: tooltipContent }, button) : button;
398
336
  });
@@ -401,7 +339,7 @@ var StyledDropdownButton = react_default.forwardRef((_a, ref) => {
401
339
  var ScrollableMenu = styled_components_default(Menu_default).attrs(
402
340
  ({ maxHeight }) => ({
403
341
  style: {
404
- maxHeight: maxHeight != null ? maxHeight : void 0
342
+ maxHeight: maxHeight ?? void 0
405
343
  }
406
344
  })
407
345
  )`
@@ -478,11 +416,11 @@ var Charts = ({ dashboardApi, preset }) => {
478
416
  options
479
417
  }) => () => {
480
418
  (0, dashboard_state_exports.batch)(() => {
481
- dashboardApi == null ? void 0 : dashboardApi.createVisualization({
419
+ dashboardApi?.createVisualization({
482
420
  visualizationDefinition: { type, options }
483
421
  });
484
422
  if (showNewDataForViz) {
485
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
423
+ dashboardApi?.openPanel({
486
424
  activePanel: "connectData",
487
425
  panelProps: {
488
426
  bindingType: "primary",
@@ -551,11 +489,11 @@ var configurationIcon = prepareIcon({
551
489
  var Config = ({ dashboardApi }) => {
552
490
  const configButtonRef = (0, dashboard_context_exports.useToolbarRef)("config");
553
491
  const handleClick = (0, react_exports.useCallback)(() => {
554
- const isOpen = (dashboardApi == null ? void 0 : dashboardApi.getOpenedPanel()) === "config";
492
+ const isOpen = dashboardApi?.getOpenedPanel() === "config";
555
493
  if (isOpen) {
556
- dashboardApi == null ? void 0 : dashboardApi.closePanel();
494
+ dashboardApi?.closePanel();
557
495
  } else {
558
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
496
+ dashboardApi?.openPanel({
559
497
  activePanel: "config",
560
498
  panelProps: {
561
499
  focusOnOpen: true
@@ -617,13 +555,13 @@ var dataInputIcon = prepareIcon({
617
555
  var Data = ({ dashboardApi }) => {
618
556
  const dataButtonRef = (0, dashboard_context_exports.useToolbarRef)("dataOverview");
619
557
  const handleClick = (0, react_exports.useCallback)(() => {
620
- const isOpen = (dashboardApi == null ? void 0 : dashboardApi.getOpenedPanel()) === "dataOverview";
558
+ const isOpen = dashboardApi?.getOpenedPanel() === "dataOverview";
621
559
  if (isOpen) {
622
560
  dashboardApi.closePanel();
623
561
  } else {
624
562
  (0, dashboard_state_exports.batch)(() => {
625
- dashboardApi == null ? void 0 : dashboardApi.selectVisualization([]);
626
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
563
+ dashboardApi?.selectVisualization([]);
564
+ dashboardApi?.openPanel({
627
565
  activePanel: "dataOverview",
628
566
  panelProps: {
629
567
  focusOnOpen: true
@@ -667,11 +605,13 @@ var CheckmarkPlaceholder = styled_components_default.span`
667
605
  `;
668
606
  var Display = ({
669
607
  appearance = "default",
670
- dashboardApi
608
+ dashboardApi,
609
+ children,
610
+ onRequestOpen,
611
+ onRequestClose
671
612
  }) => {
672
- var _a;
673
613
  const globalInputs = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectGlobalInputs);
674
- const hasGlobalInputs = ((_a = globalInputs == null ? void 0 : globalInputs.length) != null ? _a : 0) > 0;
614
+ const hasGlobalInputs = (globalInputs?.length ?? 0) > 0;
675
615
  const areInputsCollapsed = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectAreGlobalItemsCollapsed);
676
616
  const showInputs = !areInputsCollapsed;
677
617
  const description = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectDescription);
@@ -682,18 +622,36 @@ var Display = ({
682
622
  const isDescriptionCollapsed = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectIsDescriptionCollapsed);
683
623
  const showDescription = !isDescriptionCollapsed;
684
624
  const handleInputsToggle = (0, react_exports.useCallback)(() => {
685
- dashboardApi == null ? void 0 : dashboardApi.setAreGlobalInputsCollapsed({
625
+ dashboardApi?.setAreGlobalInputsCollapsed({
686
626
  collapsed: !areInputsCollapsed
687
627
  });
688
628
  }, [dashboardApi, areInputsCollapsed]);
689
629
  const handleDescriptionToggle = (0, react_exports.useCallback)(() => {
690
- dashboardApi == null ? void 0 : dashboardApi.setIsDescriptionCollapsed({
630
+ dashboardApi?.setIsDescriptionCollapsed({
691
631
  collapsed: !isDescriptionCollapsed
692
632
  });
693
633
  }, [dashboardApi, isDescriptionCollapsed]);
694
- const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown_default({
634
+ const {
635
+ handleRequestClose: baseHandleRequestClose,
636
+ handleRequestOpen: baseHandleRequestOpen,
637
+ isOpen
638
+ } = useDropdown_default({
695
639
  isContentClickClose: true
696
640
  });
641
+ const handleRequestOpen = (0, react_exports.useCallback)(
642
+ (event, data) => {
643
+ onRequestOpen?.(event, data);
644
+ baseHandleRequestOpen();
645
+ },
646
+ [onRequestOpen, baseHandleRequestOpen]
647
+ );
648
+ const handleRequestClose = (0, react_exports.useCallback)(
649
+ (data) => {
650
+ onRequestClose?.(data);
651
+ baseHandleRequestClose(data);
652
+ },
653
+ [onRequestClose, baseHandleRequestClose]
654
+ );
697
655
  const buttonToggle = (0, react_exports.useMemo)(
698
656
  () => /* @__PURE__ */ react_default.createElement(
699
657
  Button_default,
@@ -753,7 +711,7 @@ var Display = ({
753
711
  descriptionCheckmarkIcon,
754
712
  inputsCheckmarkIcon
755
713
  ]);
756
- if (dropdownMenuChildren.length === 0) {
714
+ if (dropdownMenuChildren.length === 0 && react_default.Children.toArray(children).length === 0) {
757
715
  return null;
758
716
  }
759
717
  return /* @__PURE__ */ react_default.createElement(Tooltip_default, { contentRelationship: "label", content: (0, i18n_exports._)("Display") }, /* @__PURE__ */ react_default.createElement(
@@ -771,7 +729,8 @@ var Display = ({
771
729
  focusMode: "normal",
772
730
  "aria-label": (0, i18n_exports._)("Display options")
773
731
  },
774
- dropdownMenuChildren
732
+ dropdownMenuChildren,
733
+ children
775
734
  )
776
735
  ));
777
736
  };
@@ -790,8 +749,8 @@ var icon2 = prepareIcon({
790
749
  Icon: Square_default
791
750
  });
792
751
  var EmptyVisualization = ({ dashboardApi }) => {
793
- const handleClick = (0, react_exports.useCallback)(() => __async(null, null, function* () {
794
- dashboardApi == null ? void 0 : dashboardApi.createVisualization({
752
+ const handleClick = (0, react_exports.useCallback)(async () => {
753
+ dashboardApi?.createVisualization({
795
754
  visualizationDefinition: {
796
755
  type: "splunk.rectangle",
797
756
  options: {
@@ -800,10 +759,10 @@ var EmptyVisualization = ({ dashboardApi }) => {
800
759
  }
801
760
  }
802
761
  });
803
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
762
+ dashboardApi?.openPanel({
804
763
  activePanel: "config"
805
764
  });
806
- }), [dashboardApi]);
765
+ }, [dashboardApi]);
807
766
  return /* @__PURE__ */ react_default.createElement(
808
767
  IconButton_default,
809
768
  {
@@ -879,7 +838,7 @@ var useToolbarButtonClick = (event, onClick) => {
879
838
  })
880
839
  );
881
840
  }
882
- onClick == null ? void 0 : onClick(...args);
841
+ onClick?.(...args);
883
842
  },
884
843
  [dispatch, event, onClick]
885
844
  );
@@ -891,9 +850,9 @@ var icon3 = prepareIcon({
891
850
  });
892
851
  var FullScreen = ({ dashboardApi }) => {
893
852
  const isFullscreen = !!(0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectFullscreenElement);
894
- const enterFullscreen = (0, react_exports.useCallback)(() => __async(null, null, function* () {
895
- yield dashboardApi == null ? void 0 : dashboardApi.enterFullscreen();
896
- }), [dashboardApi]);
853
+ const enterFullscreen = (0, react_exports.useCallback)(async () => {
854
+ await dashboardApi?.enterFullscreen();
855
+ }, [dashboardApi]);
897
856
  const handleClick = useToolbarButtonClick("fullscreen", enterFullscreen);
898
857
  return /* @__PURE__ */ react_default.createElement(
899
858
  IconButton_default,
@@ -940,10 +899,9 @@ var GridLineSwitch = ({
940
899
  showSeparator,
941
900
  layoutType
942
901
  }) => {
943
- var _a;
944
- const showGrid = (_a = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectAreGridLinesEnabled)) != null ? _a : false;
902
+ const showGrid = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectAreGridLinesEnabled) ?? false;
945
903
  const handleClick = (0, react_exports.useCallback)(() => {
946
- dashboardApi == null ? void 0 : dashboardApi.toggleGridLines(!showGrid);
904
+ dashboardApi?.toggleGridLines(!showGrid);
947
905
  }, [dashboardApi, showGrid]);
948
906
  const separator = (0, react_exports.useMemo)(
949
907
  () => showSeparator ? /* @__PURE__ */ react_default.createElement(ItemSeparator_default, { key: "item-separator" }) : null,
@@ -1014,8 +972,8 @@ var IconGallery = ({ dashboardApi }) => {
1014
972
  []
1015
973
  );
1016
974
  const handlePanelClick = (0, react_exports.useCallback)(
1017
- (iconURL) => __async(null, null, function* () {
1018
- dashboardApi == null ? void 0 : dashboardApi.createVisualization({
975
+ async (iconURL) => {
976
+ dashboardApi?.createVisualization({
1019
977
  visualizationDefinition: {
1020
978
  type: "splunk.singlevalueicon",
1021
979
  options: {
@@ -1024,11 +982,11 @@ var IconGallery = ({ dashboardApi }) => {
1024
982
  }
1025
983
  }
1026
984
  });
1027
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
985
+ dashboardApi?.openPanel({
1028
986
  activePanel: "config"
1029
987
  });
1030
988
  handleForceClose();
1031
- }),
989
+ },
1032
990
  [dashboardApi, handleForceClose]
1033
991
  );
1034
992
  return /* @__PURE__ */ react_default.createElement(Item_default, null, /* @__PURE__ */ react_default.createElement(
@@ -1137,8 +1095,8 @@ var icon4 = prepareIcon({
1137
1095
  Icon: Picture_default
1138
1096
  });
1139
1097
  var Image = ({ dashboardApi }) => {
1140
- const handleClick = (0, react_exports.useCallback)(() => __async(null, null, function* () {
1141
- dashboardApi == null ? void 0 : dashboardApi.createVisualization({
1098
+ const handleClick = (0, react_exports.useCallback)(async () => {
1099
+ dashboardApi?.createVisualization({
1142
1100
  visualizationDefinition: {
1143
1101
  type: "splunk.image",
1144
1102
  options: {
@@ -1146,10 +1104,10 @@ var Image = ({ dashboardApi }) => {
1146
1104
  }
1147
1105
  }
1148
1106
  });
1149
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
1107
+ dashboardApi?.openPanel({
1150
1108
  activePanel: "config"
1151
1109
  });
1152
- }), [dashboardApi]);
1110
+ }, [dashboardApi]);
1153
1111
  return /* @__PURE__ */ react_default.createElement(
1154
1112
  IconButton_default,
1155
1113
  {
@@ -1193,8 +1151,8 @@ var ImageGallery = ({ dashboardApi }) => {
1193
1151
  isContentClickClose: false
1194
1152
  });
1195
1153
  const handlePanelClick = (0, react_exports.useCallback)(
1196
- (imageUrl) => __async(null, null, function* () {
1197
- dashboardApi == null ? void 0 : dashboardApi.createVisualization({
1154
+ async (imageUrl) => {
1155
+ dashboardApi?.createVisualization({
1198
1156
  visualizationDefinition: {
1199
1157
  type: "splunk.image",
1200
1158
  options: {
@@ -1203,11 +1161,11 @@ var ImageGallery = ({ dashboardApi }) => {
1203
1161
  }
1204
1162
  }
1205
1163
  });
1206
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
1164
+ dashboardApi?.openPanel({
1207
1165
  activePanel: "config"
1208
1166
  });
1209
1167
  handleForceClose();
1210
- }),
1168
+ },
1211
1169
  [dashboardApi, handleForceClose]
1212
1170
  );
1213
1171
  return /* @__PURE__ */ react_default.createElement(Item_default, null, /* @__PURE__ */ react_default.createElement(
@@ -1287,13 +1245,16 @@ var onCreateInputClickFactory = ({
1287
1245
  if (!dashboardApi) {
1288
1246
  return;
1289
1247
  }
1290
- const newConfig = __spreadProps(__spreadValues({}, defaultConfig), {
1248
+ const newConfig = {
1249
+ ...defaultConfig,
1291
1250
  type,
1292
- options: __spreadValues({}, defaultConfig.options)
1293
- });
1251
+ options: {
1252
+ ...defaultConfig.options
1253
+ }
1254
+ };
1294
1255
  if (showToken) {
1295
1256
  newConfig.options.token = dashboard_definition_exports.DashboardDefinition.fromJSON(
1296
- dashboardApi == null ? void 0 : dashboardApi.getDefinition()
1257
+ dashboardApi?.getDefinition()
1297
1258
  ).nextTokenId(tokenPrefix);
1298
1259
  }
1299
1260
  dashboardApi.addInput(newConfig);
@@ -1308,7 +1269,7 @@ var Inputs = ({
1308
1269
  });
1309
1270
  const InputTypeButtons = (0, react_exports.useMemo)(() => {
1310
1271
  const buttons = [];
1311
- const inputs = preset == null ? void 0 : preset.inputs;
1272
+ const inputs = preset?.inputs;
1312
1273
  (0, lodash_exports.each)(inputs, (InputImpl, type) => {
1313
1274
  const {
1314
1275
  baseShape = {},
@@ -1390,7 +1351,7 @@ var icon5 = prepareIcon({
1390
1351
  });
1391
1352
  var Markdown = ({ dashboardApi }) => {
1392
1353
  const handleClick = (0, react_exports.useCallback)(() => {
1393
- dashboardApi == null ? void 0 : dashboardApi.createVisualization({
1354
+ dashboardApi?.createVisualization({
1394
1355
  visualizationDefinition: {
1395
1356
  type: "splunk.markdown",
1396
1357
  options: {
@@ -1398,7 +1359,7 @@ var Markdown = ({ dashboardApi }) => {
1398
1359
  }
1399
1360
  }
1400
1361
  });
1401
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
1362
+ dashboardApi?.openPanel({
1402
1363
  activePanel: "config"
1403
1364
  });
1404
1365
  }, [dashboardApi]);
@@ -1421,7 +1382,7 @@ var ModeSwitch = () => {
1421
1382
  const appearance = mode === "edit" ? "secondary" : "primary";
1422
1383
  const label = mode === "edit" ? (0, i18n_exports._)("View") : (0, i18n_exports._)("Edit");
1423
1384
  const handleClick = (0, react_exports.useCallback)(() => {
1424
- dashboardApi == null ? void 0 : dashboardApi.switchMode(mode === "edit" ? "view" : "edit");
1385
+ dashboardApi?.switchMode(mode === "edit" ? "view" : "edit");
1425
1386
  }, [mode, dashboardApi]);
1426
1387
  return /* @__PURE__ */ react_default.createElement(Item_default, null, /* @__PURE__ */ react_default.createElement(
1427
1388
  Button_default,
@@ -1453,17 +1414,13 @@ var icon6 = prepareIcon({
1453
1414
  });
1454
1415
  var Redo = ({ dashboardApi }) => {
1455
1416
  const [canRedo, setCanRedo] = (0, react_exports.useState)(
1456
- () => {
1457
- var _a;
1458
- return (_a = dashboardApi == null ? void 0 : dashboardApi.canRedo()) != null ? _a : false;
1459
- }
1417
+ () => dashboardApi?.canRedo() ?? false
1460
1418
  );
1461
1419
  const onDefinitionChange = (0, react_exports.useCallback)(() => {
1462
- var _a;
1463
- setCanRedo((_a = dashboardApi == null ? void 0 : dashboardApi.canRedo()) != null ? _a : false);
1420
+ setCanRedo(dashboardApi?.canRedo() ?? false);
1464
1421
  }, [dashboardApi]);
1465
1422
  (0, react_exports.useEffect)(() => {
1466
- if (!(dashboardApi == null ? void 0 : dashboardApi.historyManager)) {
1423
+ if (!dashboardApi?.historyManager) {
1467
1424
  return () => void 0;
1468
1425
  }
1469
1426
  return dashboardApi.historyManager.subscribe({
@@ -1568,11 +1525,11 @@ var Shapes = ({ dashboardApi, layoutType }) => {
1568
1525
  const handleCreateVizButtonClick = (0, react_exports.useCallback)(
1569
1526
  (vizToCreate, layoutItemType) => {
1570
1527
  return () => {
1571
- dashboardApi == null ? void 0 : dashboardApi.createVisualization({
1528
+ dashboardApi?.createVisualization({
1572
1529
  visualizationDefinition: vizToCreate,
1573
1530
  layoutItemType
1574
1531
  });
1575
- dashboardApi == null ? void 0 : dashboardApi.openPanel({ activePanel: "config" });
1532
+ dashboardApi?.openPanel({ activePanel: "config" });
1576
1533
  };
1577
1534
  },
1578
1535
  [dashboardApi]
@@ -1694,11 +1651,11 @@ var tokenManagerIcon = prepareIcon({
1694
1651
  var TokenManager = ({ dashboardApi }) => {
1695
1652
  const { showTokenManager } = (0, dashboard_context_exports.useFeatureFlags)();
1696
1653
  const handleClick = (0, react_exports.useCallback)(() => {
1697
- const isOpen = (dashboardApi == null ? void 0 : dashboardApi.getOpenedPanel()) === "tokenManager";
1654
+ const isOpen = dashboardApi?.getOpenedPanel() === "tokenManager";
1698
1655
  if (isOpen) {
1699
- dashboardApi == null ? void 0 : dashboardApi.closePanel();
1656
+ dashboardApi?.closePanel();
1700
1657
  } else {
1701
- dashboardApi == null ? void 0 : dashboardApi.openPanel({
1658
+ dashboardApi?.openPanel({
1702
1659
  activePanel: "tokenManager",
1703
1660
  panelProps: {
1704
1661
  focusOnOpen: true
@@ -1735,17 +1692,13 @@ var icon8 = prepareIcon({
1735
1692
  });
1736
1693
  var Undo = ({ dashboardApi }) => {
1737
1694
  const [canUndo, setCanUndo] = (0, react_exports.useState)(
1738
- () => {
1739
- var _a;
1740
- return (_a = dashboardApi == null ? void 0 : dashboardApi.canUndo()) != null ? _a : false;
1741
- }
1695
+ () => dashboardApi?.canUndo() ?? false
1742
1696
  );
1743
1697
  const onDefinitionChange = (0, react_exports.useCallback)(() => {
1744
- var _a;
1745
- setCanUndo((_a = dashboardApi == null ? void 0 : dashboardApi.canUndo()) != null ? _a : false);
1698
+ setCanUndo(dashboardApi?.canUndo() ?? false);
1746
1699
  }, [dashboardApi]);
1747
1700
  (0, react_exports.useEffect)(() => {
1748
- if (!(dashboardApi == null ? void 0 : dashboardApi.historyManager)) {
1701
+ if (!dashboardApi?.historyManager) {
1749
1702
  return () => void 0;
1750
1703
  }
1751
1704
  return dashboardApi.historyManager.subscribe({
@@ -1801,27 +1754,27 @@ var ZoomMenu = ({
1801
1754
  }) => {
1802
1755
  const handleZoomOutClick = (0, react_exports.useCallback)(() => {
1803
1756
  setScaleType(null);
1804
- dashboardApi == null ? void 0 : dashboardApi.zoomOut();
1757
+ dashboardApi?.zoomOut();
1805
1758
  }, [setScaleType, dashboardApi]);
1806
1759
  const handleZoomInClick = (0, react_exports.useCallback)(() => {
1807
1760
  setScaleType(null);
1808
- dashboardApi == null ? void 0 : dashboardApi.zoomIn();
1761
+ dashboardApi?.zoomIn();
1809
1762
  }, [setScaleType, dashboardApi]);
1810
1763
  const handleScaleChange = (0, react_exports.useCallback)(
1811
1764
  (scale) => () => {
1812
1765
  setCurrentScale(scale);
1813
1766
  setScaleType(null);
1814
- dashboardApi == null ? void 0 : dashboardApi.setScale({ scale: scale / 100 });
1767
+ dashboardApi?.setScale({ scale: scale / 100 });
1815
1768
  },
1816
1769
  [setScaleType, setCurrentScale, dashboardApi]
1817
1770
  );
1818
1771
  const handleFitToWidthClick = (0, react_exports.useCallback)(() => {
1819
1772
  setScaleType("fit");
1820
- dashboardApi == null ? void 0 : dashboardApi.fitToWidth();
1773
+ dashboardApi?.fitToWidth();
1821
1774
  }, [setScaleType, dashboardApi]);
1822
1775
  const handleAutoClick = (0, react_exports.useCallback)(() => {
1823
1776
  setScaleType("auto");
1824
- dashboardApi == null ? void 0 : dashboardApi.fitToWidth({ maxScale: 1 });
1777
+ dashboardApi?.fitToWidth({ maxScale: 1 });
1825
1778
  }, [setScaleType, dashboardApi]);
1826
1779
  const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown_default({
1827
1780
  isContentClickClose: true
@@ -1960,7 +1913,8 @@ var StyledEndAdornment = styled_components_default.span`
1960
1913
  var percentAdornment = /* @__PURE__ */ react_default.createElement(StyledEndAdornment, null, "%");
1961
1914
  var ZoomNumber = ({
1962
1915
  currentScale,
1963
- onScaleChange
1916
+ onScaleChange,
1917
+ ...rest
1964
1918
  }) => {
1965
1919
  const onValueChange = (0, react_exports.useCallback)(
1966
1920
  (_e, value = 100) => {
@@ -1976,6 +1930,7 @@ var ZoomNumber = ({
1976
1930
  return /* @__PURE__ */ react_default.createElement(
1977
1931
  StyledNumber,
1978
1932
  {
1933
+ ...rest,
1979
1934
  value: currentScale,
1980
1935
  onChange: handleChange,
1981
1936
  onKeyDown: handleKeyPress,
@@ -2006,6 +1961,33 @@ var StyledTooltip = styled_components_default(Tooltip_default)`
2006
1961
  display: flex;
2007
1962
  }
2008
1963
  `;
1964
+ var ZoomTooltipChildren = ({
1965
+ currentScale,
1966
+ onScaleChange,
1967
+ dashboardApi,
1968
+ appearance,
1969
+ setCurrentScale,
1970
+ scaleType,
1971
+ setScaleType,
1972
+ ...tooltipProps
1973
+ }) => /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(
1974
+ ZoomNumber,
1975
+ {
1976
+ currentScale,
1977
+ onScaleChange,
1978
+ ...tooltipProps
1979
+ }
1980
+ ), /* @__PURE__ */ react_default.createElement(
1981
+ ZoomMenu,
1982
+ {
1983
+ dashboardApi,
1984
+ appearance,
1985
+ currentScale,
1986
+ setCurrentScale,
1987
+ scaleType,
1988
+ setScaleType
1989
+ }
1990
+ ));
2009
1991
  var Zoom = ({
2010
1992
  showSeparator = true,
2011
1993
  appearance = "default",
@@ -2035,10 +2017,9 @@ var Zoom = ({
2035
2017
  }, [currentScale, scaleType, mode, debouncedDispatch]);
2036
2018
  const activeTabId = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectActiveTab);
2037
2019
  (0, react_exports.useEffect)(() => {
2038
- var _a;
2039
- const subscription = (_a = dashboardApi == null ? void 0 : dashboardApi.getZoomLevel()) == null ? void 0 : _a.subscribe({ next: handleZoom });
2020
+ const subscription = dashboardApi?.getZoomLevel()?.subscribe({ next: handleZoom });
2040
2021
  return () => {
2041
- subscription == null ? void 0 : subscription.unsubscribe();
2022
+ subscription?.unsubscribe();
2042
2023
  };
2043
2024
  }, [dashboardApi, activeTabId, handleZoom]);
2044
2025
  const separator = (0, react_exports.useMemo)(
@@ -2049,7 +2030,7 @@ var Zoom = ({
2049
2030
  (scale) => () => {
2050
2031
  setCurrentScale(scale);
2051
2032
  setScaleType(null);
2052
- dashboardApi == null ? void 0 : dashboardApi.setScale({ scale: scale / 100 });
2033
+ dashboardApi?.setScale({ scale: scale / 100 });
2053
2034
  },
2054
2035
  [dashboardApi]
2055
2036
  );
@@ -2060,18 +2041,12 @@ var Zoom = ({
2060
2041
  content: (0, i18n_exports._)("Zoom level")
2061
2042
  },
2062
2043
  /* @__PURE__ */ react_default.createElement(
2063
- ZoomNumber,
2044
+ ZoomTooltipChildren,
2064
2045
  {
2065
2046
  currentScale,
2066
- onScaleChange: handleScaleChange
2067
- }
2068
- ),
2069
- /* @__PURE__ */ react_default.createElement(
2070
- ZoomMenu,
2071
- {
2047
+ onScaleChange: handleScaleChange,
2072
2048
  dashboardApi,
2073
2049
  appearance,
2074
- currentScale,
2075
2050
  setCurrentScale,
2076
2051
  scaleType,
2077
2052
  setScaleType