@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
@@ -0,0 +1,145 @@
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/buttons/GridLineSwitch.tsx
35
+ var GridLineSwitch_exports = {};
36
+ __export(GridLineSwitch_exports, {
37
+ default: () => GridLineSwitch_default
38
+ });
39
+ module.exports = __toCommonJS(GridLineSwitch_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/ui-utils/i18n
60
+ var i18n_exports = {};
61
+ __export(i18n_exports, {
62
+ default: () => i18n_default
63
+ });
64
+ var defaultImport3 = __toESM(require("@splunk/ui-utils/i18n"));
65
+ __reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
66
+ var i18n_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
67
+
68
+ // esm-externals:@splunk/react-ui/Switch
69
+ var Switch_exports = {};
70
+ __export(Switch_exports, {
71
+ default: () => Switch_default
72
+ });
73
+ var defaultImport4 = __toESM(require("@splunk/react-ui/Switch"));
74
+ __reExport(Switch_exports, require("@splunk/react-ui/Switch"));
75
+ var Switch_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
+ // esm-externals:@splunk/themes
87
+ var themes_exports = {};
88
+ __export(themes_exports, {
89
+ default: () => themes_default
90
+ });
91
+ var defaultImport6 = __toESM(require("@splunk/themes"));
92
+ __reExport(themes_exports, require("@splunk/themes"));
93
+ var themes_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
94
+
95
+ // src/components/ItemSeparator.tsx
96
+ var ItemSeparator = styled_components_default.div`
97
+ border-left-width: 1px;
98
+ border-left-style: solid;
99
+ border-left-color: ${themes_exports.variables.interactiveColorBorder};
100
+ width: 0px;
101
+ height: ${themes_exports.variables.inputHeight};
102
+ `;
103
+ var ItemSeparator_default = ItemSeparator;
104
+
105
+ // src/buttons/GridLineSwitch.tsx
106
+ var SwitchContainer = styled_components_default.div`
107
+ display: flex;
108
+ align-items: center;
109
+ flex-direction: row;
110
+ gap: ${themes_exports.variables.spacingSmall};
111
+ `;
112
+ var GridLineSwitch = ({
113
+ dashboardApi,
114
+ mode,
115
+ showSeparator,
116
+ layoutType
117
+ }) => {
118
+ var _a;
119
+ const showGrid = (_a = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectAreGridLinesEnabled)) != null ? _a : false;
120
+ const handleClick = (0, react_exports.useCallback)(() => {
121
+ dashboardApi == null ? void 0 : dashboardApi.toggleGridLines(!showGrid);
122
+ }, [dashboardApi, showGrid]);
123
+ const separator = (0, react_exports.useMemo)(
124
+ () => showSeparator ? /* @__PURE__ */ react_default.createElement(ItemSeparator_default, { key: "item-separator" }) : null,
125
+ [showSeparator]
126
+ );
127
+ if (!dashboardApi || mode !== "edit" || layoutType === "grid") {
128
+ return null;
129
+ }
130
+ return /* @__PURE__ */ react_default.createElement(SwitchContainer, { key: "grid-line-switch" }, /* @__PURE__ */ react_default.createElement(
131
+ Switch_default,
132
+ {
133
+ onClick: handleClick,
134
+ selected: showGrid,
135
+ selectedLabel: (0, i18n_exports._)("Gridlines displayed"),
136
+ unselectedLabel: (0, i18n_exports._)("Gridlines not displayed"),
137
+ appearance: "toggle",
138
+ "data-test": "gridline-toggle",
139
+ "data-clickable": true
140
+ },
141
+ (0, i18n_exports._)("Gridlines")
142
+ ), separator);
143
+ };
144
+ var GridLineSwitch_default = GridLineSwitch;
145
+ //# sourceMappingURL=GridLineSwitch.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/buttons/GridLineSwitch.tsx", "react", "styled-components", "@splunk/ui-utils/i18n", "@splunk/react-ui/Switch", "@splunk/dashboard-state", "@splunk/themes", "../src/components/ItemSeparator.tsx"],
4
+ "sourcesContent": ["import React, { useCallback, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Switch from '@splunk/react-ui/Switch';\nimport {\n selectAreGridLinesEnabled,\n useSelector,\n} from '@splunk/dashboard-state';\nimport { variables } from '@splunk/themes';\nimport ItemSeparator from '../components/ItemSeparator';\nimport type { ToolbarButtonProps } from '../types/common';\n\nconst SwitchContainer = styled.div`\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: ${variables.spacingSmall};\n`;\n\nexport interface GridLineSwitchProps extends ToolbarButtonProps {\n showSeparator?: boolean;\n}\n\nconst GridLineSwitch = ({\n dashboardApi,\n mode,\n showSeparator,\n layoutType,\n}: GridLineSwitchProps) => {\n const showGrid = useSelector(selectAreGridLinesEnabled) ?? false;\n\n const handleClick = useCallback(() => {\n dashboardApi?.toggleGridLines(!showGrid);\n }, [dashboardApi, showGrid]);\n\n const separator = useMemo(\n () => (showSeparator ? <ItemSeparator key=\"item-separator\" /> : null),\n [showSeparator]\n );\n\n if (!dashboardApi || mode !== 'edit' || layoutType === 'grid') {\n return null;\n }\n\n return (\n <SwitchContainer key=\"grid-line-switch\">\n <Switch\n onClick={handleClick}\n selected={showGrid}\n selectedLabel={_('Gridlines displayed')}\n unselectedLabel={_('Gridlines not displayed')}\n appearance=\"toggle\"\n data-test=\"gridline-toggle\"\n data-clickable\n >\n {_('Gridlines')}\n </Switch>\n {separator}\n </SwitchContainer>\n );\n};\n\nexport default GridLineSwitch;\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/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Switch\";\nexport * from \"@splunk/react-ui/Switch\";\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", "\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,yBAAc;AACd,IAAO,eAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,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;;;APCf,IAAM,kBAAkB,0BAAO;AAAA;AAAA;AAAA;AAAA,WAIpB,yBAAU,YAAY;AAAA;AAOjC,IAAM,iBAAiB,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAA2B;AA5B3B;AA6BI,QAAM,YAAW,8CAAY,iDAAyB,MAArC,YAA0C;AAE3D,QAAM,kBAAc,2BAAY,MAAM;AAClC,iDAAc,gBAAgB,CAAC;AAAA,EACnC,GAAG,CAAC,cAAc,QAAQ,CAAC;AAE3B,QAAM,gBAAY;AAAA,IACd,MAAO,gBAAgB,4CAAC,yBAAc,KAAI,kBAAiB,IAAK;AAAA,IAChE,CAAC,aAAa;AAAA,EAClB;AAEA,MAAI,CAAC,gBAAgB,SAAS,UAAU,eAAe,QAAQ;AAC3D,WAAO;AAAA,EACX;AAEA,SACI,4CAAC,mBAAgB,KAAI,sBACjB;AAAA,IAAC;AAAA;AAAA,MACG,SAAS;AAAA,MACT,UAAU;AAAA,MACV,mBAAe,gBAAE,qBAAqB;AAAA,MACtC,qBAAiB,gBAAE,yBAAyB;AAAA,MAC5C,YAAW;AAAA,MACX,aAAU;AAAA,MACV,kBAAc;AAAA;AAAA,QAEb,gBAAE,WAAW;AAAA,EAClB,GACC,SACL;AAER;AAEA,IAAO,yBAAQ;",
6
+ "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport"]
7
+ }
@@ -0,0 +1,277 @@
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 __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
+ var __spreadValues = (a, b) => {
15
+ for (var prop in b || (b = {}))
16
+ if (__hasOwnProp.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ if (__getOwnPropSymbols)
19
+ for (var prop of __getOwnPropSymbols(b)) {
20
+ if (__propIsEnum.call(b, prop))
21
+ __defNormalProp(a, prop, b[prop]);
22
+ }
23
+ return a;
24
+ };
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __copyProps = (to, from, except, desc) => {
42
+ if (from && typeof from === "object" || typeof from === "function") {
43
+ for (let key of __getOwnPropNames(from))
44
+ if (!__hasOwnProp.call(to, key) && key !== except)
45
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
+ }
47
+ return to;
48
+ };
49
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
50
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
51
+ // If the importer is in node compatibility mode or this is not an ESM
52
+ // file that has been converted to a CommonJS file using a Babel-
53
+ // compatible transform (i.e. "__esModule" has not been set), then set
54
+ // "default" to the CommonJS "module.exports" for node compatibility.
55
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
56
+ mod
57
+ ));
58
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
59
+
60
+ // src/buttons/HelpButton.tsx
61
+ var HelpButton_exports = {};
62
+ __export(HelpButton_exports, {
63
+ default: () => HelpButton_default
64
+ });
65
+ module.exports = __toCommonJS(HelpButton_exports);
66
+
67
+ // esm-externals:react
68
+ var react_exports = {};
69
+ __export(react_exports, {
70
+ default: () => react_default
71
+ });
72
+ var defaultImport = __toESM(require("react"));
73
+ __reExport(react_exports, require("react"));
74
+ var react_default = "default" in defaultImport ? defaultImport.default : defaultImport;
75
+
76
+ // esm-externals:@splunk/react-icons/QuestionCircle
77
+ var QuestionCircle_exports = {};
78
+ __export(QuestionCircle_exports, {
79
+ default: () => QuestionCircle_default
80
+ });
81
+ var defaultImport2 = __toESM(require("@splunk/react-icons/QuestionCircle"));
82
+ __reExport(QuestionCircle_exports, require("@splunk/react-icons/QuestionCircle"));
83
+ var QuestionCircle_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
84
+
85
+ // esm-externals:@splunk/react-ui/Dropdown
86
+ var Dropdown_exports = {};
87
+ __export(Dropdown_exports, {
88
+ default: () => Dropdown_default
89
+ });
90
+ var defaultImport3 = __toESM(require("@splunk/react-ui/Dropdown"));
91
+ __reExport(Dropdown_exports, require("@splunk/react-ui/Dropdown"));
92
+ var Dropdown_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
93
+
94
+ // esm-externals:@splunk/react-ui/Menu
95
+ var Menu_exports = {};
96
+ __export(Menu_exports, {
97
+ default: () => Menu_default
98
+ });
99
+ var defaultImport4 = __toESM(require("@splunk/react-ui/Menu"));
100
+ __reExport(Menu_exports, require("@splunk/react-ui/Menu"));
101
+ var Menu_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
102
+
103
+ // esm-externals:@splunk/ui-utils/i18n
104
+ var i18n_exports = {};
105
+ __export(i18n_exports, {
106
+ default: () => i18n_default
107
+ });
108
+ var defaultImport5 = __toESM(require("@splunk/ui-utils/i18n"));
109
+ __reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
110
+ var i18n_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
111
+
112
+ // esm-externals:styled-components
113
+ var styled_components_exports = {};
114
+ __export(styled_components_exports, {
115
+ default: () => styled_components_default
116
+ });
117
+ var defaultImport6 = __toESM(require("styled-components"));
118
+ __reExport(styled_components_exports, require("styled-components"));
119
+ var styled_components_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
120
+
121
+ // src/Item.tsx
122
+ var Item_default = styled_components_default.div``;
123
+
124
+ // src/hooks/useDropdown.ts
125
+ var useDropdown = ({
126
+ isContentClickClose = true
127
+ }) => {
128
+ const [isOpen, setIsOpen] = (0, react_exports.useState)(false);
129
+ const hasChildModal = (0, react_exports.useRef)(false);
130
+ const handleRequestClose = (0, react_exports.useCallback)(
131
+ ({ reason }) => {
132
+ if (reason === "contentClick" && !isContentClickClose) {
133
+ return;
134
+ }
135
+ if (reason === "escapeKey" && hasChildModal.current) {
136
+ return;
137
+ }
138
+ setIsOpen(false);
139
+ },
140
+ [isContentClickClose]
141
+ );
142
+ const handleRequestOpen = (0, react_exports.useCallback)(() => {
143
+ setIsOpen(true);
144
+ }, []);
145
+ const handleForceClose = (0, react_exports.useCallback)(() => {
146
+ setIsOpen(false);
147
+ }, []);
148
+ const setHasChildModal = (0, react_exports.useCallback)((value) => {
149
+ hasChildModal.current = value;
150
+ }, []);
151
+ return {
152
+ isOpen,
153
+ handleRequestOpen,
154
+ handleRequestClose,
155
+ handleForceClose,
156
+ setHasChildModal
157
+ };
158
+ };
159
+ var useDropdown_default = useDropdown;
160
+
161
+ // esm-externals:@splunk/react-icons/CaretDown
162
+ var CaretDown_exports = {};
163
+ __export(CaretDown_exports, {
164
+ default: () => CaretDown_default
165
+ });
166
+ var defaultImport7 = __toESM(require("@splunk/react-icons/CaretDown"));
167
+ __reExport(CaretDown_exports, require("@splunk/react-icons/CaretDown"));
168
+ var CaretDown_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
169
+
170
+ // esm-externals:@splunk/react-ui/ScreenReaderContent
171
+ var ScreenReaderContent_exports = {};
172
+ __export(ScreenReaderContent_exports, {
173
+ default: () => ScreenReaderContent_default
174
+ });
175
+ var defaultImport8 = __toESM(require("@splunk/react-ui/ScreenReaderContent"));
176
+ __reExport(ScreenReaderContent_exports, require("@splunk/react-ui/ScreenReaderContent"));
177
+ var ScreenReaderContent_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
178
+
179
+ // esm-externals:@splunk/react-ui/Button
180
+ var Button_exports = {};
181
+ __export(Button_exports, {
182
+ default: () => Button_default
183
+ });
184
+ var defaultImport9 = __toESM(require("@splunk/react-ui/Button"));
185
+ __reExport(Button_exports, require("@splunk/react-ui/Button"));
186
+ var Button_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
187
+
188
+ // src/IconButton.tsx
189
+ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
190
+ margin-left: -5px;
191
+ `;
192
+ var iconSize = 24;
193
+ var menuIconSize = 20;
194
+ var prepareIcon = (_a) => {
195
+ var _b = _a, {
196
+ Icon,
197
+ screenReaderContent,
198
+ isMenu = false
199
+ } = _b, props = __objRest(_b, [
200
+ "Icon",
201
+ "screenReaderContent",
202
+ "isMenu"
203
+ ]);
204
+ const size = isMenu ? menuIconSize : iconSize;
205
+ 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));
206
+ };
207
+
208
+ // src/components/StyledButton.tsx
209
+ var StyledDropdownButton = styled_components_default(Button_default)`
210
+ max-width: '50px';
211
+ `;
212
+
213
+ // src/buttons/HelpButton.tsx
214
+ var focusToggleReasons = [];
215
+ var HelpIcon = prepareIcon({
216
+ Icon: QuestionCircle_default,
217
+ screenReaderContent: (0, i18n_exports._)("Help links"),
218
+ isMenu: true
219
+ });
220
+ var ButtonToggle = /* @__PURE__ */ react_default.createElement(
221
+ StyledDropdownButton,
222
+ {
223
+ appearance: "subtle",
224
+ "data-clickable": true,
225
+ "data-test": "help-button",
226
+ icon: HelpIcon
227
+ }
228
+ );
229
+ var HelpButton = ({ helpLinks = [] }) => {
230
+ const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown_default({
231
+ isContentClickClose: true
232
+ });
233
+ const HelpLinks = (0, react_exports.useMemo)(() => {
234
+ if (helpLinks.length === 0) {
235
+ return [
236
+ /* @__PURE__ */ react_default.createElement(
237
+ Menu_default.Item,
238
+ {
239
+ "data-test": "no-links-provided",
240
+ key: "no-links-provided",
241
+ disabled: true
242
+ },
243
+ (0, i18n_exports._)("No Links")
244
+ )
245
+ ];
246
+ }
247
+ return helpLinks.map((link) => {
248
+ const { label = "", description = "", url } = link;
249
+ const key = label.replace(/\s/g, "");
250
+ return /* @__PURE__ */ react_default.createElement(
251
+ Menu_default.Item,
252
+ {
253
+ "data-test": "help-link",
254
+ "data-test-clickable": true,
255
+ to: url,
256
+ description,
257
+ key: `help-link-${key}`,
258
+ openInNewContext: true
259
+ },
260
+ label
261
+ );
262
+ });
263
+ }, [helpLinks]);
264
+ return /* @__PURE__ */ react_default.createElement(Item_default, null, /* @__PURE__ */ react_default.createElement(
265
+ Dropdown_default,
266
+ {
267
+ focusToggleReasons,
268
+ onRequestClose: handleRequestClose,
269
+ onRequestOpen: handleRequestOpen,
270
+ open: isOpen,
271
+ toggle: ButtonToggle
272
+ },
273
+ /* @__PURE__ */ react_default.createElement(Menu_default, null, HelpLinks)
274
+ ));
275
+ };
276
+ var HelpButton_default = HelpButton;
277
+ //# sourceMappingURL=HelpButton.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/buttons/HelpButton.tsx", "react", "@splunk/react-icons/QuestionCircle", "@splunk/react-ui/Dropdown", "@splunk/react-ui/Menu", "@splunk/ui-utils/i18n", "styled-components", "../src/Item.tsx", "../src/hooks/useDropdown.ts", "@splunk/react-icons/CaretDown", "@splunk/react-ui/ScreenReaderContent", "@splunk/react-ui/Button", "../src/IconButton.tsx", "../src/components/StyledButton.tsx"],
4
+ "sourcesContent": ["import React, { useMemo } from 'react';\nimport Help from '@splunk/react-icons/QuestionCircle';\nimport Dropdown from '@splunk/react-ui/Dropdown';\nimport Menu from '@splunk/react-ui/Menu';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport ToolbarItem from '../Item';\nimport useDropdown from '../hooks/useDropdown';\nimport type { ToolbarButtonProps } from '../types/common';\nimport { prepareIcon } from '../IconButton';\nimport { StyledDropdownButton } from '../components/StyledButton';\n\nexport interface ToolbarHelpLink {\n label: string;\n description?: string;\n url: string;\n}\n\ninterface HelpProps extends ToolbarButtonProps {\n helpLinks?: ToolbarHelpLink[];\n}\n\nconst focusToggleReasons: never[] = [];\n\nconst HelpIcon = prepareIcon({\n Icon: Help,\n screenReaderContent: _('Help links'),\n isMenu: true,\n});\n\nconst ButtonToggle = (\n <StyledDropdownButton\n appearance=\"subtle\"\n data-clickable\n data-test=\"help-button\"\n icon={HelpIcon}\n />\n);\n\n/**\n * Help button which expands dropdown full of links\n */\nconst HelpButton = ({ helpLinks = [] }: HelpProps) => {\n const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown({\n isContentClickClose: true,\n });\n\n const HelpLinks = useMemo(() => {\n if (helpLinks.length === 0) {\n return [\n <Menu.Item\n data-test=\"no-links-provided\"\n key=\"no-links-provided\"\n disabled\n >\n {_('No Links')}\n </Menu.Item>,\n ];\n }\n\n return helpLinks.map((link: ToolbarHelpLink) => {\n const { label = '', description = '', url } = link;\n const key = label.replace(/\\s/g, '');\n\n return (\n <Menu.Item\n data-test=\"help-link\"\n data-test-clickable\n to={url}\n description={description}\n key={`help-link-${key}`}\n openInNewContext\n >\n {label}\n </Menu.Item>\n );\n });\n }, [helpLinks]);\n\n return (\n <ToolbarItem>\n <Dropdown\n focusToggleReasons={focusToggleReasons}\n onRequestClose={handleRequestClose}\n onRequestOpen={handleRequestOpen}\n open={isOpen}\n toggle={ButtonToggle}\n >\n <Menu>{HelpLinks}</Menu>\n </Dropdown>\n </ToolbarItem>\n );\n};\n\nexport default HelpButton;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/QuestionCircle\";\nexport * from \"@splunk/react-icons/QuestionCircle\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Dropdown\";\nexport * from \"@splunk/react-ui/Dropdown\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Menu\";\nexport * from \"@splunk/react-ui/Menu\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\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", "import styled from 'styled-components';\n\nexport default styled.div``;\n", "import type { DropdownRequestCloseHandler } from '@splunk/react-ui/Dropdown';\nimport { useCallback, useRef, useState } from 'react';\n\ninterface UseDropdownArgs {\n isContentClickClose?: boolean;\n}\n\ninterface UseDropdownReturn {\n isOpen: boolean;\n handleRequestClose: DropdownRequestCloseHandler;\n handleRequestOpen: () => void;\n handleForceClose: () => void;\n setHasChildModal: (value: boolean) => void;\n}\n\n/**\n * Custom React Hook for the controlled SUI Dropdown component.\n *\n * @param {Object} config\n * @param {Boolean} config.isContentClickClose Control if dropdown children onClick's will close the dropdown automatically\n * @returns {Object} value\n * @returns {Boolean} value.isOpen The only state of this hook\n * @returns {Function} value.handleRequestOpen Event handler to open the dropdown\n * @returns {Function} value.handleRequestClose Event handler that SUI Dropdown calls when requested to close\n * @returns {Function} value.handleForceClose Event handler to forcefully close the dropdown\n */\nconst useDropdown = ({\n isContentClickClose = true,\n}: UseDropdownArgs): UseDropdownReturn => {\n const [isOpen, setIsOpen] = useState(false);\n const hasChildModal = useRef(false);\n\n const handleRequestClose = useCallback<DropdownRequestCloseHandler>(\n ({ reason }) => {\n if (reason === 'contentClick' && !isContentClickClose) {\n // This return results in the dropdown not closing.\n return;\n }\n\n // If there is a child modal then don't close the root on ESC press\n if (reason === 'escapeKey' && hasChildModal.current) {\n return;\n }\n\n setIsOpen(false);\n },\n [isContentClickClose]\n );\n\n const handleRequestOpen = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const handleForceClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const setHasChildModal = useCallback((value: boolean) => {\n hasChildModal.current = value;\n }, []);\n\n return {\n isOpen,\n handleRequestOpen,\n handleRequestClose,\n handleForceClose,\n setHasChildModal,\n };\n};\n\nexport default useDropdown;\n", "\nimport * as defaultImport from \"@splunk/react-icons/CaretDown\";\nexport * from \"@splunk/react-icons/CaretDown\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/ScreenReaderContent\";\nexport * from \"@splunk/react-ui/ScreenReaderContent\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Button\";\nexport * from \"@splunk/react-ui/Button\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React from 'react';\nimport type SVG from '@splunk/react-icons/SVG';\nimport DropdownIcon from '@splunk/react-icons/CaretDown';\nimport ScreenReaderContent from '@splunk/react-ui/ScreenReaderContent';\nimport Button, { type ButtonPropsBase } from '@splunk/react-ui/Button';\nimport styled from 'styled-components';\nimport ToolbarItem from './Item';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst StyledDropdownIcon = styled(DropdownIcon)`\n margin-left: -5px;\n`;\n\nexport const iconSize = 24;\nexport const menuIconSize = 20;\n\ninterface PrepareIconProps extends React.ComponentProps<typeof SVG> {\n Icon: React.ComponentType<React.ComponentProps<typeof SVG>>;\n screenReaderContent?: string;\n isMenu?: boolean;\n variant?: 'filled' | 'outline' | 'none';\n}\n\n/**\n * Button adds a bunch of padding when there's any child elements even if they don't display anything (screenReaderContent)\n * This bundles the primary icon, a menu caret and screenReaderContent as an icon when needed.\n * Additionally accepts any properties of any react-icons element to be applied to primary icon\n * @param {Object} arg\n * @param {React.ElementType} arg.Icon The primary icon\n * @param {boolean} [arg.isMenu=false] Display a menu caret\n * @param {string} [arg.screenReaderContent] A label for the icon\n * @param {string} [arg.variant] Fill the icon, or not\n * @returns {JSX.Element}\n */\nexport const prepareIcon = ({\n Icon,\n screenReaderContent,\n isMenu = false,\n ...props\n}: PrepareIconProps) => {\n const size = isMenu ? menuIconSize : iconSize;\n return (\n <>\n <Icon width={size} height={size} {...props} />\n {isMenu && (\n <StyledDropdownIcon variant=\"filled\" width={9} height={size} />\n )}\n {screenReaderContent && (\n <ScreenReaderContent>{screenReaderContent}</ScreenReaderContent>\n )}\n </>\n );\n};\n\nexport interface IconButtonProps extends ToolbarButtonProps {\n icon?: JSX.Element;\n onClick?: ButtonPropsBase['onClick'];\n label?: string;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n testLabel?: string;\n disabled?: boolean;\n}\n\nconst IconButton = ({\n icon,\n buttonRef,\n disabled = false,\n onClick,\n label,\n testLabel,\n ...rest\n}: IconButtonProps): JSX.Element => {\n return (\n <ToolbarItem {...rest}>\n <Button\n elementRef={buttonRef}\n onClick={onClick}\n disabled={disabled}\n appearance=\"subtle\"\n icon={icon}\n label={label}\n data-test={testLabel}\n data-clickable\n />\n </ToolbarItem>\n );\n};\n\nexport default IconButton;\n", "import Button from '@splunk/react-ui/Button';\nimport styled from 'styled-components';\n\nexport const StyledDropdownButton = styled(Button)`\n max-width: '50px';\n`;\n"],
5
+ "mappings": "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",
6
+ "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport"]
7
+ }