@splunk/dashboard-toolbar 29.0.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 (347) hide show
  1. package/CollapsibleToolbar.js +261 -0
  2. package/CollapsibleToolbar.js.map +7 -0
  3. package/IconButton.js +168 -0
  4. package/IconButton.js.map +7 -0
  5. package/Item.js +52 -0
  6. package/Item.js.map +7 -0
  7. package/ItemGroup.js +127 -0
  8. package/ItemGroup.js.map +7 -0
  9. package/LICENSE.md +14 -0
  10. package/PopoverItemButton.js +78 -0
  11. package/PopoverItemButton.js.map +7 -0
  12. package/README.md +9 -0
  13. package/Toolbar.js +192 -0
  14. package/Toolbar.js.map +7 -0
  15. package/buttons/Charts.js +384 -0
  16. package/buttons/Charts.js.map +7 -0
  17. package/buttons/Config.js +224 -0
  18. package/buttons/Config.js.map +7 -0
  19. package/buttons/ContentExport.js +199 -0
  20. package/buttons/ContentExport.js.map +7 -0
  21. package/buttons/Data.js +236 -0
  22. package/buttons/Data.js.map +7 -0
  23. package/buttons/EmptyVisualization.js +234 -0
  24. package/buttons/EmptyVisualization.js.map +7 -0
  25. package/buttons/ExportDashboardButton.js +130 -0
  26. package/buttons/ExportDashboardButton.js.map +7 -0
  27. package/buttons/Fullscreen.js +214 -0
  28. package/buttons/Fullscreen.js.map +7 -0
  29. package/buttons/GridLineSwitch.js +145 -0
  30. package/buttons/GridLineSwitch.js.map +7 -0
  31. package/buttons/HelpButton.js +277 -0
  32. package/buttons/HelpButton.js.map +7 -0
  33. package/buttons/IconGallery.js +303 -0
  34. package/buttons/IconGallery.js.map +7 -0
  35. package/buttons/Image.js +233 -0
  36. package/buttons/Image.js.map +7 -0
  37. package/buttons/ImageGallery.js +300 -0
  38. package/buttons/ImageGallery.js.map +7 -0
  39. package/buttons/Inputs.js +348 -0
  40. package/buttons/Inputs.js.map +7 -0
  41. package/buttons/Markdown.js +213 -0
  42. package/buttons/Markdown.js.map +7 -0
  43. package/buttons/ModeSwitch.js +121 -0
  44. package/buttons/ModeSwitch.js.map +7 -0
  45. package/buttons/Redo.js +227 -0
  46. package/buttons/Redo.js.map +7 -0
  47. package/buttons/Shapes.js +357 -0
  48. package/buttons/Shapes.js.map +7 -0
  49. package/buttons/Source.js +199 -0
  50. package/buttons/Source.js.map +7 -0
  51. package/buttons/Undo.js +227 -0
  52. package/buttons/Undo.js.map +7 -0
  53. package/buttons/index.js +1857 -0
  54. package/buttons/index.js.map +7 -0
  55. package/groups/ActionsGroup.js +153 -0
  56. package/groups/ActionsGroup.js.map +7 -0
  57. package/groups/ControlGroup.js +701 -0
  58. package/groups/ControlGroup.js.map +7 -0
  59. package/groups/EditingGroup.js +1029 -0
  60. package/groups/EditingGroup.js.map +7 -0
  61. package/groups/EditorGroup.js +698 -0
  62. package/groups/EditorGroup.js.map +7 -0
  63. package/groups/EditorsControlGroup.js +753 -0
  64. package/groups/EditorsControlGroup.js.map +7 -0
  65. package/groups/HistoryGroup.js +761 -0
  66. package/groups/HistoryGroup.js.map +7 -0
  67. package/groups/SidebarControlGroup.js +740 -0
  68. package/groups/SidebarControlGroup.js.map +7 -0
  69. package/groups/VisualizationGroup.js +1218 -0
  70. package/groups/VisualizationGroup.js.map +7 -0
  71. package/groups/index.js +1778 -0
  72. package/groups/index.js.map +7 -0
  73. package/index.js +2245 -0
  74. package/index.js.map +7 -0
  75. package/module/CollapsibleToolbar.js +20 -0
  76. package/module/CollapsibleToolbar.js.map +7 -0
  77. package/module/IconButton.js +21 -0
  78. package/module/IconButton.js.map +7 -0
  79. package/module/Item.js +12 -0
  80. package/module/Item.js.map +7 -0
  81. package/module/ItemGroup.js +16 -0
  82. package/module/ItemGroup.js.map +7 -0
  83. package/module/PopoverItemButton.js +13 -0
  84. package/module/PopoverItemButton.js.map +7 -0
  85. package/module/Toolbar.js +15 -0
  86. package/module/Toolbar.js.map +7 -0
  87. package/module/buttons/Charts.js +26 -0
  88. package/module/buttons/Charts.js.map +7 -0
  89. package/module/buttons/Config.js +18 -0
  90. package/module/buttons/Config.js.map +7 -0
  91. package/module/buttons/ContentExport.js +18 -0
  92. package/module/buttons/ContentExport.js.map +7 -0
  93. package/module/buttons/Data.js +19 -0
  94. package/module/buttons/Data.js.map +7 -0
  95. package/module/buttons/EmptyVisualization.js +18 -0
  96. package/module/buttons/EmptyVisualization.js.map +7 -0
  97. package/module/buttons/ExportDashboardButton.js +17 -0
  98. package/module/buttons/ExportDashboardButton.js.map +7 -0
  99. package/module/buttons/Fullscreen.js +18 -0
  100. package/module/buttons/Fullscreen.js.map +7 -0
  101. package/module/buttons/GridLineSwitch.js +17 -0
  102. package/module/buttons/GridLineSwitch.js.map +7 -0
  103. package/module/buttons/HelpButton.js +20 -0
  104. package/module/buttons/HelpButton.js.map +7 -0
  105. package/module/buttons/IconGallery.js +20 -0
  106. package/module/buttons/IconGallery.js.map +7 -0
  107. package/module/buttons/Image.js +18 -0
  108. package/module/buttons/Image.js.map +7 -0
  109. package/module/buttons/ImageGallery.js +21 -0
  110. package/module/buttons/ImageGallery.js.map +7 -0
  111. package/module/buttons/Inputs.js +20 -0
  112. package/module/buttons/Inputs.js.map +7 -0
  113. package/module/buttons/Markdown.js +17 -0
  114. package/module/buttons/Markdown.js.map +7 -0
  115. package/module/buttons/ModeSwitch.js +18 -0
  116. package/module/buttons/ModeSwitch.js.map +7 -0
  117. package/module/buttons/Redo.js +17 -0
  118. package/module/buttons/Redo.js.map +7 -0
  119. package/module/buttons/Shapes.js +22 -0
  120. package/module/buttons/Shapes.js.map +7 -0
  121. package/module/buttons/Source.js +17 -0
  122. package/module/buttons/Source.js.map +7 -0
  123. package/module/buttons/Undo.js +17 -0
  124. package/module/buttons/Undo.js.map +7 -0
  125. package/module/buttons/index.js +108 -0
  126. package/module/buttons/index.js.map +7 -0
  127. package/module/chunks/chunk-2QMHWIV5.js +175 -0
  128. package/module/chunks/chunk-2QMHWIV5.js.map +7 -0
  129. package/module/chunks/chunk-4OLWQA6K.js +83 -0
  130. package/module/chunks/chunk-4OLWQA6K.js.map +7 -0
  131. package/module/chunks/chunk-52TYQW2Y.js +23 -0
  132. package/module/chunks/chunk-52TYQW2Y.js.map +7 -0
  133. package/module/chunks/chunk-72YLBMXL.js +199 -0
  134. package/module/chunks/chunk-72YLBMXL.js.map +7 -0
  135. package/module/chunks/chunk-734QWOYU.js +56 -0
  136. package/module/chunks/chunk-734QWOYU.js.map +7 -0
  137. package/module/chunks/chunk-A3BAVEME.js +77 -0
  138. package/module/chunks/chunk-A3BAVEME.js.map +7 -0
  139. package/module/chunks/chunk-AWNWXBE4.js +68 -0
  140. package/module/chunks/chunk-AWNWXBE4.js.map +7 -0
  141. package/module/chunks/chunk-B2LPQWLD.js +74 -0
  142. package/module/chunks/chunk-B2LPQWLD.js.map +7 -0
  143. package/module/chunks/chunk-BLXVTG4B.js +65 -0
  144. package/module/chunks/chunk-BLXVTG4B.js.map +7 -0
  145. package/module/chunks/chunk-BRGYD3MR.js +23 -0
  146. package/module/chunks/chunk-BRGYD3MR.js.map +7 -0
  147. package/module/chunks/chunk-BSMCGXVQ.js +22 -0
  148. package/module/chunks/chunk-BSMCGXVQ.js.map +7 -0
  149. package/module/chunks/chunk-CFGNNO2V.js +143 -0
  150. package/module/chunks/chunk-CFGNNO2V.js.map +7 -0
  151. package/module/chunks/chunk-E2DI77AU.js +15 -0
  152. package/module/chunks/chunk-E2DI77AU.js.map +7 -0
  153. package/module/chunks/chunk-ECEBJH6K.js +112 -0
  154. package/module/chunks/chunk-ECEBJH6K.js.map +7 -0
  155. package/module/chunks/chunk-ETJ5YPF3.js +31 -0
  156. package/module/chunks/chunk-ETJ5YPF3.js.map +7 -0
  157. package/module/chunks/chunk-FSOMEJXM.js +49 -0
  158. package/module/chunks/chunk-FSOMEJXM.js.map +7 -0
  159. package/module/chunks/chunk-FVGABOJM.js +37 -0
  160. package/module/chunks/chunk-FVGABOJM.js.map +7 -0
  161. package/module/chunks/chunk-G6N5OMKL.js +22 -0
  162. package/module/chunks/chunk-G6N5OMKL.js.map +7 -0
  163. package/module/chunks/chunk-GRIJP4FT.js +172 -0
  164. package/module/chunks/chunk-GRIJP4FT.js.map +7 -0
  165. package/module/chunks/chunk-GWAXQYWY.js +105 -0
  166. package/module/chunks/chunk-GWAXQYWY.js.map +7 -0
  167. package/module/chunks/chunk-HIICL66H.js +22 -0
  168. package/module/chunks/chunk-HIICL66H.js.map +7 -0
  169. package/module/chunks/chunk-HXY4TSUO.js +22 -0
  170. package/module/chunks/chunk-HXY4TSUO.js.map +7 -0
  171. package/module/chunks/chunk-IAEE4XLH.js +58 -0
  172. package/module/chunks/chunk-IAEE4XLH.js.map +7 -0
  173. package/module/chunks/chunk-IGGLU44N.js +22 -0
  174. package/module/chunks/chunk-IGGLU44N.js.map +7 -0
  175. package/module/chunks/chunk-IQG5GSSX.js +77 -0
  176. package/module/chunks/chunk-IQG5GSSX.js.map +7 -0
  177. package/module/chunks/chunk-J2TRUM5N.js +23 -0
  178. package/module/chunks/chunk-J2TRUM5N.js.map +7 -0
  179. package/module/chunks/chunk-J5CY2G3T.js +52 -0
  180. package/module/chunks/chunk-J5CY2G3T.js.map +7 -0
  181. package/module/chunks/chunk-JILFF3WY.js +122 -0
  182. package/module/chunks/chunk-JILFF3WY.js.map +7 -0
  183. package/module/chunks/chunk-JLYV2H24.js +21 -0
  184. package/module/chunks/chunk-JLYV2H24.js.map +7 -0
  185. package/module/chunks/chunk-JXPIKVRZ.js +48 -0
  186. package/module/chunks/chunk-JXPIKVRZ.js.map +7 -0
  187. package/module/chunks/chunk-KEARZQAT.js +57 -0
  188. package/module/chunks/chunk-KEARZQAT.js.map +7 -0
  189. package/module/chunks/chunk-KJLRQLFH.js +28 -0
  190. package/module/chunks/chunk-KJLRQLFH.js.map +7 -0
  191. package/module/chunks/chunk-L4ZPYLUY.js +25 -0
  192. package/module/chunks/chunk-L4ZPYLUY.js.map +7 -0
  193. package/module/chunks/chunk-NCPTJ5RB.js +185 -0
  194. package/module/chunks/chunk-NCPTJ5RB.js.map +7 -0
  195. package/module/chunks/chunk-NIACHGAA.js +25 -0
  196. package/module/chunks/chunk-NIACHGAA.js.map +7 -0
  197. package/module/chunks/chunk-NJF2IOVV.js +22 -0
  198. package/module/chunks/chunk-NJF2IOVV.js.map +7 -0
  199. package/module/chunks/chunk-NWVLNDCF.js +23 -0
  200. package/module/chunks/chunk-NWVLNDCF.js.map +7 -0
  201. package/module/chunks/chunk-OIQNUT2X.js +36 -0
  202. package/module/chunks/chunk-OIQNUT2X.js.map +7 -0
  203. package/module/chunks/chunk-OSDOIGWB.js +23 -0
  204. package/module/chunks/chunk-OSDOIGWB.js.map +7 -0
  205. package/module/chunks/chunk-OTGQ73VF.js +63 -0
  206. package/module/chunks/chunk-OTGQ73VF.js.map +7 -0
  207. package/module/chunks/chunk-QU7RW3YZ.js +39 -0
  208. package/module/chunks/chunk-QU7RW3YZ.js.map +7 -0
  209. package/module/chunks/chunk-RODBPKID.js +64 -0
  210. package/module/chunks/chunk-RODBPKID.js.map +7 -0
  211. package/module/chunks/chunk-SIFZZCPT.js +439 -0
  212. package/module/chunks/chunk-SIFZZCPT.js.map +7 -0
  213. package/module/chunks/chunk-UPZBDSS7.js +59 -0
  214. package/module/chunks/chunk-UPZBDSS7.js.map +7 -0
  215. package/module/chunks/chunk-UVD66GCR.js +4 -0
  216. package/module/chunks/chunk-UVD66GCR.js.map +7 -0
  217. package/module/chunks/chunk-VQIRZ53C.js +79 -0
  218. package/module/chunks/chunk-VQIRZ53C.js.map +7 -0
  219. package/module/chunks/chunk-WFAY6ABE.js +28 -0
  220. package/module/chunks/chunk-WFAY6ABE.js.map +7 -0
  221. package/module/chunks/chunk-X2HLBQUA.js +64 -0
  222. package/module/chunks/chunk-X2HLBQUA.js.map +7 -0
  223. package/module/chunks/chunk-X7ATHE2S.js +23 -0
  224. package/module/chunks/chunk-X7ATHE2S.js.map +7 -0
  225. package/module/chunks/chunk-XUK4ZKWN.js +52 -0
  226. package/module/chunks/chunk-XUK4ZKWN.js.map +7 -0
  227. package/module/chunks/chunk-YKT3CRI6.js +23 -0
  228. package/module/chunks/chunk-YKT3CRI6.js.map +7 -0
  229. package/module/chunks/chunk-YPVMTO2L.js +111 -0
  230. package/module/chunks/chunk-YPVMTO2L.js.map +7 -0
  231. package/module/groups/ActionsGroup.js +16 -0
  232. package/module/groups/ActionsGroup.js.map +7 -0
  233. package/module/groups/ControlGroup.js +51 -0
  234. package/module/groups/ControlGroup.js.map +7 -0
  235. package/module/groups/EditingGroup.js +51 -0
  236. package/module/groups/EditingGroup.js.map +7 -0
  237. package/module/groups/EditorGroup.js +51 -0
  238. package/module/groups/EditorGroup.js.map +7 -0
  239. package/module/groups/EditorsControlGroup.js +51 -0
  240. package/module/groups/EditorsControlGroup.js.map +7 -0
  241. package/module/groups/HistoryGroup.js +51 -0
  242. package/module/groups/HistoryGroup.js.map +7 -0
  243. package/module/groups/SidebarControlGroup.js +51 -0
  244. package/module/groups/SidebarControlGroup.js.map +7 -0
  245. package/module/groups/VisualizationGroup.js +51 -0
  246. package/module/groups/VisualizationGroup.js.map +7 -0
  247. package/module/groups/index.js +80 -0
  248. package/module/groups/index.js.map +7 -0
  249. package/module/index.js +163 -0
  250. package/module/index.js.map +7 -0
  251. package/module/package.json +1 -0
  252. package/package.json +68 -0
  253. package/tsconfig.json +9 -0
  254. package/types/CollapsibleToolbar.d.ts +12 -0
  255. package/types/CollapsibleToolbar.d.ts.map +1 -0
  256. package/types/IconButton.d.ts +35 -0
  257. package/types/IconButton.d.ts.map +1 -0
  258. package/types/Item.d.ts +3 -0
  259. package/types/Item.d.ts.map +1 -0
  260. package/types/ItemGroup.d.ts +14 -0
  261. package/types/ItemGroup.d.ts.map +1 -0
  262. package/types/PopoverItemButton.d.ts +12 -0
  263. package/types/PopoverItemButton.d.ts.map +1 -0
  264. package/types/Toolbar.d.ts +14 -0
  265. package/types/Toolbar.d.ts.map +1 -0
  266. package/types/buttons/Charts.d.ts +19 -0
  267. package/types/buttons/Charts.d.ts.map +1 -0
  268. package/types/buttons/Config.d.ts +8 -0
  269. package/types/buttons/Config.d.ts.map +1 -0
  270. package/types/buttons/ContentExport.d.ts +10 -0
  271. package/types/buttons/ContentExport.d.ts.map +1 -0
  272. package/types/buttons/Data.d.ts +8 -0
  273. package/types/buttons/Data.d.ts.map +1 -0
  274. package/types/buttons/EmptyVisualization.d.ts +8 -0
  275. package/types/buttons/EmptyVisualization.d.ts.map +1 -0
  276. package/types/buttons/ExportDashboardButton.d.ts +10 -0
  277. package/types/buttons/ExportDashboardButton.d.ts.map +1 -0
  278. package/types/buttons/Fullscreen.d.ts +8 -0
  279. package/types/buttons/Fullscreen.d.ts.map +1 -0
  280. package/types/buttons/GridLineSwitch.d.ts +8 -0
  281. package/types/buttons/GridLineSwitch.d.ts.map +1 -0
  282. package/types/buttons/HelpButton.d.ts +16 -0
  283. package/types/buttons/HelpButton.d.ts.map +1 -0
  284. package/types/buttons/IconGallery.d.ts +8 -0
  285. package/types/buttons/IconGallery.d.ts.map +1 -0
  286. package/types/buttons/Image.d.ts +8 -0
  287. package/types/buttons/Image.d.ts.map +1 -0
  288. package/types/buttons/ImageGallery.d.ts +8 -0
  289. package/types/buttons/ImageGallery.d.ts.map +1 -0
  290. package/types/buttons/Inputs.d.ts +8 -0
  291. package/types/buttons/Inputs.d.ts.map +1 -0
  292. package/types/buttons/Markdown.d.ts +7 -0
  293. package/types/buttons/Markdown.d.ts.map +1 -0
  294. package/types/buttons/ModeSwitch.d.ts +7 -0
  295. package/types/buttons/ModeSwitch.d.ts.map +1 -0
  296. package/types/buttons/Redo.d.ts +5 -0
  297. package/types/buttons/Redo.d.ts.map +1 -0
  298. package/types/buttons/Shapes.d.ts +8 -0
  299. package/types/buttons/Shapes.d.ts.map +1 -0
  300. package/types/buttons/Source.d.ts +13 -0
  301. package/types/buttons/Source.d.ts.map +1 -0
  302. package/types/buttons/Undo.d.ts +5 -0
  303. package/types/buttons/Undo.d.ts.map +1 -0
  304. package/types/buttons/Zoom/Zoom.d.ts +8 -0
  305. package/types/buttons/Zoom/Zoom.d.ts.map +1 -0
  306. package/types/buttons/Zoom/ZoomMenu.d.ts +12 -0
  307. package/types/buttons/Zoom/ZoomMenu.d.ts.map +1 -0
  308. package/types/buttons/Zoom/ZoomNumber.d.ts +8 -0
  309. package/types/buttons/Zoom/ZoomNumber.d.ts.map +1 -0
  310. package/types/buttons/Zoom/index.d.ts +2 -0
  311. package/types/buttons/Zoom/index.d.ts.map +1 -0
  312. package/types/buttons/index.d.ts +26 -0
  313. package/types/buttons/index.d.ts.map +1 -0
  314. package/types/buttons/tokenManager/TokenManager.d.ts +7 -0
  315. package/types/buttons/tokenManager/TokenManager.d.ts.map +1 -0
  316. package/types/buttons/tokenManager/index.d.ts +2 -0
  317. package/types/buttons/tokenManager/index.d.ts.map +1 -0
  318. package/types/components/ItemSeparator.d.ts +3 -0
  319. package/types/components/ItemSeparator.d.ts.map +1 -0
  320. package/types/components/StyledButton.d.ts +2 -0
  321. package/types/components/StyledButton.d.ts.map +1 -0
  322. package/types/groups/ActionsGroup.d.ts +10 -0
  323. package/types/groups/ActionsGroup.d.ts.map +1 -0
  324. package/types/groups/ControlGroup.d.ts +8 -0
  325. package/types/groups/ControlGroup.d.ts.map +1 -0
  326. package/types/groups/EditingGroup.d.ts +11 -0
  327. package/types/groups/EditingGroup.d.ts.map +1 -0
  328. package/types/groups/EditorGroup.d.ts +8 -0
  329. package/types/groups/EditorGroup.d.ts.map +1 -0
  330. package/types/groups/EditorsControlGroup.d.ts +8 -0
  331. package/types/groups/EditorsControlGroup.d.ts.map +1 -0
  332. package/types/groups/HistoryGroup.d.ts +8 -0
  333. package/types/groups/HistoryGroup.d.ts.map +1 -0
  334. package/types/groups/HistoryGroup.test.d.ts +2 -0
  335. package/types/groups/HistoryGroup.test.d.ts.map +1 -0
  336. package/types/groups/SidebarControlGroup.d.ts +8 -0
  337. package/types/groups/SidebarControlGroup.d.ts.map +1 -0
  338. package/types/groups/VisualizationGroup.d.ts +8 -0
  339. package/types/groups/VisualizationGroup.d.ts.map +1 -0
  340. package/types/groups/index.d.ts +11 -0
  341. package/types/groups/index.d.ts.map +1 -0
  342. package/types/hooks/useDropdown.d.ts +25 -0
  343. package/types/hooks/useDropdown.d.ts.map +1 -0
  344. package/types/index.d.ts +16 -0
  345. package/types/index.d.ts.map +1 -0
  346. package/types/types/common.d.ts +13 -0
  347. package/types/types/common.d.ts.map +1 -0
package/ItemGroup.js ADDED
@@ -0,0 +1,127 @@
1
+ /* Copyright © 2020 Splunk Inc.
2
+ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
3
+ in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
+ "use strict";
5
+ var __create = Object.create;
6
+ var __defProp = Object.defineProperty;
7
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
+ var __getOwnPropNames = Object.getOwnPropertyNames;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __getProtoOf = Object.getPrototypeOf;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
+ var __objRest = (source, exclude) => {
14
+ var target = {};
15
+ for (var prop in source)
16
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
17
+ target[prop] = source[prop];
18
+ if (source != null && __getOwnPropSymbols)
19
+ for (var prop of __getOwnPropSymbols(source)) {
20
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
21
+ target[prop] = source[prop];
22
+ }
23
+ return target;
24
+ };
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __copyProps = (to, from, except, desc) => {
30
+ if (from && typeof from === "object" || typeof from === "function") {
31
+ for (let key of __getOwnPropNames(from))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
+ }
35
+ return to;
36
+ };
37
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
38
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
39
+ // If the importer is in node compatibility mode or this is not an ESM
40
+ // file that has been converted to a CommonJS file using a Babel-
41
+ // compatible transform (i.e. "__esModule" has not been set), then set
42
+ // "default" to the CommonJS "module.exports" for node compatibility.
43
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
44
+ mod
45
+ ));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
47
+
48
+ // src/ItemGroup.tsx
49
+ var ItemGroup_exports = {};
50
+ __export(ItemGroup_exports, {
51
+ default: () => ItemGroup_default
52
+ });
53
+ module.exports = __toCommonJS(ItemGroup_exports);
54
+
55
+ // esm-externals:react
56
+ var react_exports = {};
57
+ __export(react_exports, {
58
+ default: () => react_default
59
+ });
60
+ var defaultImport = __toESM(require("react"));
61
+ __reExport(react_exports, require("react"));
62
+ var react_default = "default" in defaultImport ? defaultImport.default : defaultImport;
63
+
64
+ // esm-externals:styled-components
65
+ var styled_components_exports = {};
66
+ __export(styled_components_exports, {
67
+ default: () => styled_components_default
68
+ });
69
+ var defaultImport2 = __toESM(require("styled-components"));
70
+ __reExport(styled_components_exports, require("styled-components"));
71
+ var styled_components_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
72
+
73
+ // esm-externals:@splunk/dashboard-utils
74
+ var dashboard_utils_exports = {};
75
+ __export(dashboard_utils_exports, {
76
+ default: () => dashboard_utils_default
77
+ });
78
+ var defaultImport3 = __toESM(require("@splunk/dashboard-utils"));
79
+ __reExport(dashboard_utils_exports, require("@splunk/dashboard-utils"));
80
+ var dashboard_utils_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
81
+
82
+ // esm-externals:@splunk/themes
83
+ var themes_exports = {};
84
+ __export(themes_exports, {
85
+ default: () => themes_default
86
+ });
87
+ var defaultImport4 = __toESM(require("@splunk/themes"));
88
+ __reExport(themes_exports, require("@splunk/themes"));
89
+ var themes_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
90
+
91
+ // src/components/ItemSeparator.tsx
92
+ var ItemSeparator = styled_components_default.div`
93
+ border-left-width: 1px;
94
+ border-left-style: solid;
95
+ border-left-color: ${themes_exports.variables.interactiveColorBorder};
96
+ width: 0px;
97
+ height: ${themes_exports.variables.inputHeight};
98
+ `;
99
+ var ItemSeparator_default = ItemSeparator;
100
+
101
+ // src/ItemGroup.tsx
102
+ var Group = styled_components_default.div.attrs({
103
+ "data-test": "toolbar-item-group"
104
+ })`
105
+ display: flex;
106
+ flex-direction: row;
107
+ gap: ${(props) => props.gap};
108
+ `;
109
+ var ItemGroup = (_a) => {
110
+ var _b = _a, {
111
+ children,
112
+ borders = true,
113
+ gap
114
+ } = _b, rest = __objRest(_b, [
115
+ "children",
116
+ "borders",
117
+ "gap"
118
+ ]);
119
+ const items = react_default.Children.map(
120
+ children,
121
+ (child) => child && react_default.cloneElement(child, rest)
122
+ );
123
+ const separator = borders ? /* @__PURE__ */ react_default.createElement(ItemSeparator_default, null) : null;
124
+ return /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(Group, { gap: (0, dashboard_utils_exports.toPx)(gap, 2) }, items), separator);
125
+ };
126
+ var ItemGroup_default = ItemGroup;
127
+ //# sourceMappingURL=ItemGroup.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/ItemGroup.tsx", "react", "styled-components", "@splunk/dashboard-utils", "@splunk/themes", "src/components/ItemSeparator.tsx"],
4
+ "sourcesContent": ["import React from 'react';\nimport styled from 'styled-components';\nimport type { ButtonClickHandler } from '@splunk/react-ui/Button';\nimport { toPx } from '@splunk/dashboard-utils';\nimport type { ToolbarButtonProps } from './types/common';\nimport ItemSeparator from './components/ItemSeparator';\n\nconst Group = styled.div.attrs({\n 'data-test': 'toolbar-item-group',\n})<{ gap: string }>`\n display: flex;\n flex-direction: row;\n gap: ${(props) => props.gap};\n`;\n\nexport type ItemGroupProps = {\n borders?: boolean;\n children?: React.ReactNode;\n align?: 'left' | 'right';\n sourceButtonOnClick?: ButtonClickHandler;\n gap?: number | string;\n [key: string]: unknown;\n} & ToolbarButtonProps;\n\nconst ItemGroup = ({\n children,\n borders = true,\n gap,\n ...rest\n}: ItemGroupProps) => {\n const items = React.Children.map(\n children,\n (child) => child && React.cloneElement(child as JSX.Element, rest)\n );\n const separator = borders ? <ItemSeparator /> : null;\n return (\n <>\n <Group gap={toPx(gap, 2)}>{items}</Group>\n {separator}\n </>\n );\n};\n\nexport default ItemGroup;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/dashboard-utils\";\nexport * from \"@splunk/dashboard-utils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes\";\nexport * from \"@splunk/themes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import styled from 'styled-components';\nimport { variables } from '@splunk/themes';\n\nconst ItemSeparator = styled.div`\n border-left-width: 1px;\n border-left-style: solid;\n border-left-color: ${variables.interactiveColorBorder};\n width: 0px;\n height: ${variables.inputHeight};\n`;\n\nexport default ItemSeparator;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,0BAAc;AACd,IAAO,gBAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAA,iBAA+B;AAC/B,sCAAc;AACd,IAAO,4BAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,oCAAc;AACd,IAAO,0BAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAaA,iBAA8B,yBAAUA;;;ACArE,IAAM,gBAAgB,0BAAO;AAAA;AAAA;AAAA,yBAGJ,yBAAU,sBAAsB;AAAA;AAAA,cAE3C,yBAAU,WAAW;AAAA;AAGnC,IAAO,wBAAQ;;;ALJf,IAAM,QAAQ,0BAAO,IAAI,MAAM;AAAA,EAC3B,aAAa;AACjB,CAAC;AAAA;AAAA;AAAA,WAGU,CAAC,UAAU,MAAM,GAAG;AAAA;AAY/B,IAAM,YAAY,CAAC,OAKG;AALH,eACf;AAAA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,EA3BJ,IAwBmB,IAIZ,iBAJY,IAIZ;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,QAAQ,cAAM,SAAS;AAAA,IACzB;AAAA,IACA,CAAC,UAAU,SAAS,cAAM,aAAa,OAAsB,IAAI;AAAA,EACrE;AACA,QAAM,YAAY,UAAU,4CAAC,2BAAc,IAAK;AAChD,SACI,0EACI,4CAAC,SAAM,SAAK,8BAAK,KAAK,CAAC,KAAI,KAAM,GAChC,SACL;AAER;AAEA,IAAO,oBAAQ;",
6
+ "names": ["defaultImport", "defaultImport", "defaultImport"]
7
+ }
package/LICENSE.md ADDED
@@ -0,0 +1,14 @@
1
+ ## **Splunk App End User License Agreement**
2
+
3
+ **READ CAREFULLY:** SPLUNK LICENSES THIS PROGRAM, TOOL, PLUG-IN, ADD-ON, TECHNICAL ADD-ON, APPLICATION, SOLUTION, LIBRARY, CONTENT, DATA, EXAMPLE MODULE, FILES, COMMAND, SERVICE OR OTHER ITEM OR MATERIAL (THE &quot; **APP**&quot;) TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS END USER LICENSE AGREEMENT (&quot; **AGREEMENT**&quot;). IF YOU DO NOT AGREE TO THESE TERMS, DO NOT DOWNLOAD, INSTALL, OR USE THE APP.
4
+
5
+ 1. **License.** Subject to the terms and conditions of this Agreement, Splunk grants to you a worldwide, non-exclusive, non-transferable, non-sublicensable license to download and use the App for your internal business purposes and only in connection with the specific Splunk software product or web-based or hosted service identified in materials distributed with the App, with which such App was designed to operate (&quot; **Splunk** **Software**&quot;). Therefore, you may use the App only if you are an authorized licensee or customer of the Splunk Software and for the term and within the scope of the license granted for the Splunk Software. This Agreement does not modify or alter the terms of the software license agreement or terms of service delivered with the Splunk Software. Splunk and its licensor(s) own all rights, title and interests to the App, including all intellectual property rights related thereto.
6
+
7
+ 2. **Additional Rights and Restrictions**. You may copy, modify and redistribute the App or any portions thereof, subject to your compliance with the terms and conditions of this Agreement and particularly the following restrictions: (a) you must distribute the App only as part of an extension, add-on, plug-in, example module, configuration files, function or application developed by you (&quot; **Extension**&quot;) and solely for the purpose of running your Extension in connection with the Splunk Software; (b) any proprietary legends or notices contained in or on the App or any portions thereof cannot be removed or altered; (c) you must comply with any restrictions or requirements for the third-party software (including any open source libraries) included in the App or any portions thereof; (d) you must give appropriate credit to Splunk and indicate if any changes were made to the App in the Extension; (e) you do not make any statement that the Extension is certified or that its performance is guaranteed by Splunk; and (f) you agree to defend and indemnify Splunk and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys&#39; fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of the Extension, unless such claim, lawsuit or action arose or resulted directly and solely from Splunk Software or the App itself as originally provided to you by Splunk.
8
+
9
+ 3. **Warranty.** THE APP IS FURNISHED ON AN &quot; **AS IS**&quot; BASIS, AND SPLUNK DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, WARRANTIES OF NON-INFRINGEMENT OF THIRD-PARTY RIGHTS, OR OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, AND ANY WARRANTIES ARISING BY STATUTE OR OTHERWISE IN LAW, OR FROM A COURSE OF DEALING OR USAGE OF TRADE. SPLUNK SPECIFICALLY DOES NOT WARRANT THAT THE APP WILL MEET YOUR REQUIREMENTS; WILL OPERATE IN ALL THE COMBINATIONS WHICH MAY BE SELECTED FOR USE BY YOU; THAT THE OPERATION OF THE APP WILL BE ERROR-FREE OR UNINTERRUPTED, ACCURATE, USEFUL, RELIABLE, OR COMPLETE; OR THAT ALL ERRORS OR DEFECTS IN THE APP WILL BE CORRECTED. NEITHER SPLUNK NOR ITS LICENSOR SHALL BE LIABLE FOR ANY DAMAGES WHATSOEVER ARISING FROM OR RELATING TO YOUR USE OR INABILITY TO USE THE APP. **YOU USE THE APP AT YOUR OWN RISK.**
10
+
11
+ 4. **Limitation of Liability.** UNDER NO CIRCUMSTANCES WILL SPLUNK OR ITS LICENSOR BE LIABLE TO YOU FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR EXEMPLARY DAMAGES, FOR LOSS OF PROFITS, USE, REVENUE, OR DATA OR FOR BUSINESS INTERRUPTION (REGARDLESS OF THE LEGAL THEORY FOR SEEKING SUCH DAMAGES OR OTHER LIABILITY) ARISING OUT OF OR IN CONNECTION WITH USE OF THE APP, WHETHER OR NOT SPLUNK OR LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ADDITION, THE LIABILITY OF SPLUNK OR ITS LICENSOR ARISING OUT OF OR RELATING TO THE APP WILL NOT EXCEED THE AMOUNT PAID OR PAYABLE BY YOU (IF ANY) FOR SUCH APP.
12
+
13
+ 5. **General.**
14
+ This Agreement will be governed by and construed in accordance with the laws of the State of California (and, to the extent controlling, the federal laws of the United States, without reference to the conflicts-of-laws rules thereof). The UN Convention on Contracts for the International Sale of Goods and the Uniform Computer Information Transaction Act shall not apply to this Agreement. This Agreement constitutes the entire agreement between Splunk and you with respect to the App and may not be modified except by a written instrument executed by you and an authorized representative of Splunk.
@@ -0,0 +1,78 @@
1
+ /* Copyright © 2020 Splunk Inc.
2
+ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
3
+ in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
+ "use strict";
5
+ var __create = Object.create;
6
+ var __defProp = Object.defineProperty;
7
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
+ var __getOwnPropNames = Object.getOwnPropertyNames;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __export = (target, all) => {
12
+ for (var name in all)
13
+ __defProp(target, name, { get: all[name], enumerable: true });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+
34
+ // src/PopoverItemButton.tsx
35
+ var PopoverItemButton_exports = {};
36
+ __export(PopoverItemButton_exports, {
37
+ default: () => PopoverItemButton_default
38
+ });
39
+ module.exports = __toCommonJS(PopoverItemButton_exports);
40
+
41
+ // esm-externals:react
42
+ var react_exports = {};
43
+ __export(react_exports, {
44
+ default: () => react_default
45
+ });
46
+ var defaultImport = __toESM(require("react"));
47
+ __reExport(react_exports, require("react"));
48
+ var react_default = "default" in defaultImport ? defaultImport.default : defaultImport;
49
+
50
+ // esm-externals:styled-components
51
+ var styled_components_exports = {};
52
+ __export(styled_components_exports, {
53
+ default: () => styled_components_default
54
+ });
55
+ var defaultImport2 = __toESM(require("styled-components"));
56
+ __reExport(styled_components_exports, require("styled-components"));
57
+ var styled_components_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
58
+
59
+ // src/PopoverItemButton.tsx
60
+ var StyledContentWrapper = styled_components_default.span`
61
+ display: flex;
62
+ flex-direction: row;
63
+ justify-content: left;
64
+ align-items: center;
65
+ max-width: 100%;
66
+ `;
67
+ var StyledIcon = styled_components_default.span`
68
+ display: inline-block;
69
+ padding-right: 8px;
70
+ `;
71
+ var StyledLabel = styled_components_default.span`
72
+ text-overflow: ellipsis;
73
+ overflow: hidden;
74
+ flex: 0 1 auto;
75
+ `;
76
+ var PopoverItemButton = ({ icon, label }) => /* @__PURE__ */ react_default.createElement(StyledContentWrapper, null, icon && /* @__PURE__ */ react_default.createElement(StyledIcon, null, icon), label && /* @__PURE__ */ react_default.createElement(StyledLabel, { "data-test": "label-title" }, label));
77
+ var PopoverItemButton_default = PopoverItemButton;
78
+ //# sourceMappingURL=PopoverItemButton.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/PopoverItemButton.tsx", "react", "styled-components"],
4
+ "sourcesContent": ["import React from 'react';\nimport styled from 'styled-components';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst StyledContentWrapper = styled.span`\n display: flex;\n flex-direction: row;\n justify-content: left;\n align-items: center;\n max-width: 100%;\n`;\n\nconst StyledIcon = styled.span`\n display: inline-block;\n padding-right: 8px;\n`;\n\nconst StyledLabel = styled.span`\n text-overflow: ellipsis;\n overflow: hidden;\n flex: 0 1 auto;\n`;\n\nexport interface PopoverItemButtonProps extends ToolbarButtonProps {\n icon: JSX.Element;\n label?: string;\n}\n\n/**\n * Custom button component for popovers created for specific styling - aligning text to the left\n */\nconst PopoverItemButton = ({ icon, label }: PopoverItemButtonProps) => (\n <StyledContentWrapper>\n {icon && <StyledIcon>{icon}</StyledIcon>}\n {label && <StyledLabel data-test=\"label-title\">{label}</StyledLabel>}\n </StyledContentWrapper>\n);\n\nexport default PopoverItemButton;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,0BAAc;AACd,IAAO,gBAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAA,iBAA+B;AAC/B,sCAAc;AACd,IAAO,4BAAS,aAAaA,iBAA8B,yBAAUA;;;AFCrE,IAAM,uBAAuB,0BAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQpC,IAAM,aAAa,0BAAO;AAAA;AAAA;AAAA;AAK1B,IAAM,cAAc,0BAAO;AAAA;AAAA;AAAA;AAAA;AAc3B,IAAM,oBAAoB,CAAC,EAAE,MAAM,MAAM,MACrC,4CAAC,4BACI,QAAQ,4CAAC,kBAAY,IAAK,GAC1B,SAAS,4CAAC,eAAY,aAAU,iBAAe,KAAM,CAC1D;AAGJ,IAAO,4BAAQ;",
6
+ "names": ["defaultImport"]
7
+ }
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # @splunk/dashboard-toolbar
2
+
3
+ ### Splunk Dashboard Framework - Dashboard toolbar components
4
+
5
+ The dashboard toolbar is an array of menus that users can add to the Dashboard component for controls in an editing or viewing experience. This package provides two different toolbar implementations, a collection of commonly used toolbar buttons, and common groupings of buttons.
6
+
7
+ ## Documentation
8
+
9
+ Please reference the [Splunk Dashboard Framework documentation](https://splunkui.splunkdev.page/Packages/dashboard-docs/?path=/Toolbar) for more details on how to use this component in concert with the rest of the dashboard framework library.
package/Toolbar.js ADDED
@@ -0,0 +1,192 @@
1
+ /* Copyright © 2020 Splunk Inc.
2
+ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
3
+ in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
+ "use strict";
5
+ var __create = Object.create;
6
+ var __defProp = Object.defineProperty;
7
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
+ var __getOwnPropNames = Object.getOwnPropertyNames;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __export = (target, all) => {
12
+ for (var name in all)
13
+ __defProp(target, name, { get: all[name], enumerable: true });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+
34
+ // src/Toolbar.tsx
35
+ var Toolbar_exports = {};
36
+ __export(Toolbar_exports, {
37
+ default: () => Toolbar_default
38
+ });
39
+ module.exports = __toCommonJS(Toolbar_exports);
40
+
41
+ // esm-externals:react
42
+ var react_exports = {};
43
+ __export(react_exports, {
44
+ default: () => react_default
45
+ });
46
+ var defaultImport = __toESM(require("react"));
47
+ __reExport(react_exports, require("react"));
48
+ var react_default = "default" in defaultImport ? defaultImport.default : defaultImport;
49
+
50
+ // esm-externals:styled-components
51
+ var styled_components_exports = {};
52
+ __export(styled_components_exports, {
53
+ default: () => styled_components_default
54
+ });
55
+ var defaultImport2 = __toESM(require("styled-components"));
56
+ __reExport(styled_components_exports, require("styled-components"));
57
+ var styled_components_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
58
+
59
+ // esm-externals:@splunk/themes
60
+ var themes_exports = {};
61
+ __export(themes_exports, {
62
+ default: () => themes_default
63
+ });
64
+ var defaultImport3 = __toESM(require("@splunk/themes"));
65
+ __reExport(themes_exports, require("@splunk/themes"));
66
+ var themes_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
67
+
68
+ // esm-externals:@splunk/themes/mixins
69
+ var mixins_exports = {};
70
+ __export(mixins_exports, {
71
+ default: () => mixins_default
72
+ });
73
+ var defaultImport4 = __toESM(require("@splunk/themes/mixins"));
74
+ __reExport(mixins_exports, require("@splunk/themes/mixins"));
75
+ var mixins_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
76
+
77
+ // esm-externals:@splunk/dashboard-state
78
+ var dashboard_state_exports = {};
79
+ __export(dashboard_state_exports, {
80
+ default: () => dashboard_state_default
81
+ });
82
+ var defaultImport5 = __toESM(require("@splunk/dashboard-state"));
83
+ __reExport(dashboard_state_exports, require("@splunk/dashboard-state"));
84
+ var dashboard_state_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
85
+
86
+ // src/Toolbar.tsx
87
+ var ToolbarWrapper = styled_components_default.div`
88
+ ${(0, mixins_exports.reset)("flex")};
89
+ justify-content: space-between;
90
+ color: ${themes_exports.variables.contentColorDefault};
91
+ padding: 5px 5px 5px 8px;
92
+ border-bottom-width: 1px;
93
+ border-bottom-style: solid;
94
+ border-bottom-color: ${themes_exports.variables.borderColor};
95
+ flex-wrap: wrap;
96
+ flex-shrink: 0;
97
+ background-color: ${themes_exports.variables.backgroundColorNavigation};
98
+ `;
99
+ var LeftAlignItems = styled_components_default.div`
100
+ flex-grow: 1;
101
+ display: flex;
102
+ flex-direction: row;
103
+ gap: ${themes_exports.variables.spacingSmall};
104
+ `;
105
+ var RightAlignItems = styled_components_default.div`
106
+ flex-basis: auto;
107
+ display: flex;
108
+ flex-direction: row;
109
+ gap: ${themes_exports.variables.spacingSmall};
110
+ margin-inline-end: ${themes_exports.variables.spacingSmall};
111
+ `;
112
+ var Toolbar = ({
113
+ activePanel,
114
+ dashboardApi,
115
+ mode,
116
+ preset,
117
+ toolbarItems
118
+ }) => {
119
+ const layoutType = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectLayoutType);
120
+ const toolbarRef = (0, react_exports.useRef)(null);
121
+ const injectDashboardProps = (0, react_exports.useCallback)(
122
+ (items) => {
123
+ const buttonProps = {
124
+ activePanel,
125
+ dashboardApi,
126
+ layoutType,
127
+ mode,
128
+ preset
129
+ };
130
+ return items.map((item) => react_default.cloneElement(item, buttonProps));
131
+ },
132
+ [activePanel, dashboardApi, layoutType, mode, preset]
133
+ );
134
+ const leftAlignItems = (0, react_exports.useMemo)(() => {
135
+ const items = toolbarItems.filter(
136
+ (item) => {
137
+ var _a;
138
+ return ((_a = item.props) == null ? void 0 : _a.align) !== "right";
139
+ }
140
+ );
141
+ return injectDashboardProps(items);
142
+ }, [toolbarItems, injectDashboardProps]);
143
+ const rightAlignItems = (0, react_exports.useMemo)(() => {
144
+ const items = toolbarItems.filter(
145
+ (item) => {
146
+ var _a;
147
+ return ((_a = item.props) == null ? void 0 : _a.align) === "right";
148
+ }
149
+ );
150
+ return injectDashboardProps(items);
151
+ }, [toolbarItems, injectDashboardProps]);
152
+ const observerRef = (0, react_exports.useRef)(null);
153
+ const isFirstRender = (0, react_exports.useRef)(true);
154
+ (0, react_exports.useEffect)(() => {
155
+ if (isFirstRender.current) {
156
+ isFirstRender.current = false;
157
+ return void 0;
158
+ }
159
+ observerRef.current = new MutationObserver(() => {
160
+ var _a, _b;
161
+ const firstFocusableButton = (_a = toolbarRef.current) == null ? void 0 : _a.querySelector(
162
+ 'button:not([disabled]):not([aria-disabled="true"]):not([tabindex="-1"])'
163
+ );
164
+ firstFocusableButton == null ? void 0 : firstFocusableButton.focus();
165
+ (_b = observerRef.current) == null ? void 0 : _b.disconnect();
166
+ });
167
+ if (toolbarRef.current) {
168
+ observerRef.current.observe(toolbarRef.current, {
169
+ childList: true,
170
+ subtree: true
171
+ });
172
+ }
173
+ return () => {
174
+ var _a;
175
+ (_a = observerRef.current) == null ? void 0 : _a.disconnect();
176
+ };
177
+ }, [mode]);
178
+ if (!toolbarItems.length) {
179
+ return null;
180
+ }
181
+ return /* @__PURE__ */ react_default.createElement(ToolbarWrapper, { "data-test": "dashboard-toolbar", ref: toolbarRef }, /* @__PURE__ */ react_default.createElement(LeftAlignItems, { key: "left-align-items", "data-test": "left-align-items" }, leftAlignItems), /* @__PURE__ */ react_default.createElement(
182
+ RightAlignItems,
183
+ {
184
+ key: "right-align-items",
185
+ "data-test": "right-align-items"
186
+ },
187
+ rightAlignItems
188
+ ));
189
+ };
190
+ Toolbar.displayName = "Toolbar";
191
+ var Toolbar_default = Toolbar;
192
+ //# sourceMappingURL=Toolbar.js.map
package/Toolbar.js.map ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/Toolbar.tsx", "react", "styled-components", "@splunk/themes", "@splunk/themes/mixins", "@splunk/dashboard-state"],
4
+ "sourcesContent": ["import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport { variables } from '@splunk/themes';\nimport { reset } from '@splunk/themes/mixins';\nimport { selectLayoutType, useSelector } from '@splunk/dashboard-state';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst ToolbarWrapper = styled.div`\n ${reset('flex')};\n justify-content: space-between;\n color: ${variables.contentColorDefault};\n padding: 5px 5px 5px 8px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: ${variables.borderColor};\n flex-wrap: wrap;\n flex-shrink: 0;\n background-color: ${variables.backgroundColorNavigation};\n`;\n\nconst LeftAlignItems = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n gap: ${variables.spacingSmall};\n`;\n\nconst RightAlignItems = styled.div`\n flex-basis: auto;\n display: flex;\n flex-direction: row;\n gap: ${variables.spacingSmall};\n margin-inline-end: ${variables.spacingSmall};\n`;\n\nexport type ToolbarProps = ToolbarButtonProps & {\n toolbarItems: React.ReactElement[];\n};\n\n/**\n * Dashboard Toolbar\n */\nconst Toolbar = ({\n activePanel,\n dashboardApi,\n mode,\n preset,\n toolbarItems,\n}: ToolbarProps) => {\n const layoutType = useSelector(selectLayoutType);\n const toolbarRef = useRef<HTMLDivElement | null>(null);\n\n /**\n * merge dashboard props with current item props\n * so that item have access to dashboard api and other stuff\n */\n const injectDashboardProps = useCallback(\n (items: React.ReactElement[]): React.ReactElement[] => {\n const buttonProps: ToolbarButtonProps = {\n activePanel,\n dashboardApi,\n layoutType,\n mode,\n preset,\n };\n\n return items.map((item) => React.cloneElement(item, buttonProps));\n },\n [activePanel, dashboardApi, layoutType, mode, preset]\n );\n\n const leftAlignItems = useMemo(() => {\n const items = toolbarItems.filter(\n (item) => item.props?.align !== 'right'\n );\n return injectDashboardProps(items);\n }, [toolbarItems, injectDashboardProps]);\n\n const rightAlignItems = useMemo(() => {\n const items = toolbarItems.filter(\n (item) => item.props?.align === 'right'\n );\n return injectDashboardProps(items);\n }, [toolbarItems, injectDashboardProps]);\n\n const observerRef = useRef<MutationObserver | null>(null);\n const isFirstRender = useRef(true);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return undefined;\n }\n\n observerRef.current = new MutationObserver(() => {\n const firstFocusableButton = toolbarRef.current?.querySelector(\n 'button:not([disabled]):not([aria-disabled=\"true\"]):not([tabindex=\"-1\"])'\n ) as HTMLButtonElement;\n\n firstFocusableButton?.focus();\n observerRef.current?.disconnect();\n });\n\n if (toolbarRef.current) {\n observerRef.current.observe(toolbarRef.current, {\n childList: true,\n subtree: true,\n });\n }\n\n return () => {\n observerRef.current?.disconnect();\n };\n }, [mode]);\n\n if (!toolbarItems.length) {\n return null;\n }\n\n return (\n <ToolbarWrapper data-test=\"dashboard-toolbar\" ref={toolbarRef}>\n <LeftAlignItems key=\"left-align-items\" data-test=\"left-align-items\">\n {leftAlignItems}\n </LeftAlignItems>\n <RightAlignItems\n key=\"right-align-items\"\n data-test=\"right-align-items\"\n >\n {rightAlignItems}\n </RightAlignItems>\n </ToolbarWrapper>\n );\n};\n\nToolbar.displayName = 'Toolbar';\nexport default Toolbar;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes\";\nexport * from \"@splunk/themes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/mixins\";\nexport * from \"@splunk/themes/mixins\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/dashboard-state\";\nexport * from \"@splunk/dashboard-state\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n"],
5
+ "mappings": "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",
6
+ "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport"]
7
+ }