@splunk/visualizations 25.5.0 → 25.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Dark.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_DarkPrisma.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Light.png +0 -0
  4. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  5. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  6. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  16. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  17. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  18. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Mode_Series_Compare.png +0 -0
  19. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Mode_Series_Compare.png +0 -0
  20. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Background_Color_Light_Blue.png +0 -0
  21. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Basic_Events.png +0 -0
  22. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Event_Actions.png +0 -0
  23. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Actions.png +0 -0
  24. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary.png +0 -0
  25. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary_Simulated_Instance.png +0 -0
  26. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields.png +0 -0
  27. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Value_Highlighting.png +0 -0
  28. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Height.png +0 -0
  29. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Percentage_50.png +0 -0
  30. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_Pagination.png +0 -0
  31. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_background_color.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user.png +0 -0
  34. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  35. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  36. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  37. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_layout_options.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age_aggregations.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  42. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user.png +0 -0
  43. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  44. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table.png +0 -0
  45. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table_aggregations.png +0 -0
  46. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_aggregations.png +0 -0
  47. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status.png +0 -0
  48. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  49. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  50. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart.png +0 -0
  51. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart_Count.png +0 -0
  52. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Pagination.png +0 -0
  53. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Timechart.png +0 -0
  54. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_background_color.png +0 -0
  55. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  56. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  57. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  58. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_layout_options.png +0 -0
  59. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age.png +0 -0
  60. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age_aggregations.png +0 -0
  61. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  62. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user.png +0 -0
  63. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  64. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table.png +0 -0
  65. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table_aggregations.png +0 -0
  66. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_aggregations.png +0 -0
  67. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  68. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  69. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  70. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_Pagination.png +0 -0
  71. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_assign_default_trellisSplitBy_value_status.png +0 -0
  72. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_background_color.png +0 -0
  73. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status.png +0 -0
  74. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
  75. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status.png +0 -0
  76. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user.png +0 -0
  77. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  78. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_user.png +0 -0
  79. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  80. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user.png +0 -0
  81. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  82. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_user.png +0 -0
  83. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_layout_options.png +0 -0
  84. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age.png +0 -0
  85. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age_aggregations.png +0 -0
  86. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  87. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status.png +0 -0
  88. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  89. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
  90. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user.png +0 -0
  91. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  92. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table.png +0 -0
  93. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table_aggregations.png +0 -0
  94. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_aggregations.png +0 -0
  95. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status.png +0 -0
  96. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  97. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status.png +0 -0
  98. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  99. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Major_value_data_null_show_N_A.png +0 -0
  100. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value_Trellis.png +0 -0
  101. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  102. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
  103. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_50_no_paginator.png +0 -0
  104. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  105. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  106. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  107. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  108. package/Area.config.js +12 -7
  109. package/Area.config.js.map +1 -1
  110. package/Area.js +330 -226
  111. package/Area.js.map +1 -1
  112. package/Bar.config.js +36 -8
  113. package/Bar.config.js.map +1 -1
  114. package/Bar.js +354 -227
  115. package/Bar.js.map +1 -1
  116. package/Bubble.config.js +7 -2
  117. package/Bubble.config.js.map +1 -1
  118. package/Bubble.js +318 -214
  119. package/Bubble.js.map +1 -1
  120. package/ChoroplethSvg.config.js +12 -8
  121. package/ChoroplethSvg.config.js.map +1 -1
  122. package/ChoroplethSvg.js +324 -229
  123. package/ChoroplethSvg.js.map +1 -1
  124. package/Column.config.js +36 -8
  125. package/Column.config.js.map +1 -1
  126. package/Column.js +354 -227
  127. package/Column.js.map +1 -1
  128. package/Ellipse.config.js +23 -20
  129. package/Ellipse.config.js.map +1 -1
  130. package/Ellipse.js +289 -187
  131. package/Ellipse.js.map +1 -1
  132. package/Events.config.js +82 -19
  133. package/Events.config.js.map +1 -1
  134. package/Events.js +1276 -416
  135. package/Events.js.map +1 -1
  136. package/FEATUREFLAGS.md +40 -0
  137. package/FillerGauge.config.js +22 -19
  138. package/FillerGauge.config.js.map +1 -1
  139. package/FillerGauge.js +311 -204
  140. package/FillerGauge.js.map +1 -1
  141. package/Image.config.js +3 -3
  142. package/Image.config.js.map +1 -1
  143. package/Image.js +249 -151
  144. package/Image.js.map +1 -1
  145. package/LICENSE.md +444 -8
  146. package/Line.config.js +12 -7
  147. package/Line.config.js.map +1 -1
  148. package/Line.js +335 -226
  149. package/Line.js.map +1 -1
  150. package/LinkGraph.config.js +9 -15
  151. package/LinkGraph.config.js.map +1 -1
  152. package/LinkGraph.js +881 -790
  153. package/LinkGraph.js.map +1 -1
  154. package/Map.config.js +51 -48
  155. package/Map.config.js.map +1 -1
  156. package/Map.js +804 -711
  157. package/Map.js.map +1 -1
  158. package/Markdown.config.js +10 -9
  159. package/Markdown.config.js.map +1 -1
  160. package/Markdown.js +365 -266
  161. package/Markdown.js.map +1 -1
  162. package/MarkerGauge.config.js +71 -70
  163. package/MarkerGauge.config.js.map +1 -1
  164. package/MarkerGauge.js +422 -330
  165. package/MarkerGauge.js.map +1 -1
  166. package/ParallelCoordinates.config.js +3 -3
  167. package/ParallelCoordinates.config.js.map +1 -1
  168. package/ParallelCoordinates.js +532 -430
  169. package/ParallelCoordinates.js.map +1 -1
  170. package/Pie.config.js +30 -6
  171. package/Pie.config.js.map +1 -1
  172. package/Pie.js +553 -431
  173. package/Pie.js.map +1 -1
  174. package/Punchcard.config.js +3 -2
  175. package/Punchcard.config.js.map +1 -1
  176. package/Punchcard.js +556 -464
  177. package/Punchcard.js.map +1 -1
  178. package/Rectangle.config.js +22 -23
  179. package/Rectangle.config.js.map +1 -1
  180. package/Rectangle.js +383 -286
  181. package/Rectangle.js.map +1 -1
  182. package/Sankey.config.js +14 -13
  183. package/Sankey.config.js.map +1 -1
  184. package/Sankey.js +3126 -3034
  185. package/Sankey.js.map +1 -1
  186. package/Scatter.config.js +552 -580
  187. package/Scatter.config.js.map +1 -1
  188. package/Scatter.js +410 -311
  189. package/Scatter.js.map +1 -1
  190. package/SingleValue.config.js +242 -52
  191. package/SingleValue.config.js.map +1 -1
  192. package/SingleValue.js +1605 -414
  193. package/SingleValue.js.map +1 -1
  194. package/SingleValueBasic.js +41 -30
  195. package/SingleValueBasic.js.map +1 -1
  196. package/SingleValueIcon.config.js +267 -58
  197. package/SingleValueIcon.config.js.map +1 -1
  198. package/SingleValueIcon.js +1622 -410
  199. package/SingleValueIcon.js.map +1 -1
  200. package/SingleValueRadial.config.js +249 -41
  201. package/SingleValueRadial.config.js.map +1 -1
  202. package/SingleValueRadial.js +1517 -283
  203. package/SingleValueRadial.js.map +1 -1
  204. package/TRELLIS.md +296 -0
  205. package/Table.config.js +39 -41
  206. package/Table.config.js.map +1 -1
  207. package/Table.js +435 -311
  208. package/Table.js.map +1 -1
  209. package/common/EventsDoc.js +12 -6
  210. package/common/EventsDoc.js.map +1 -1
  211. package/common/GaugeMajorTicks.js +2 -2
  212. package/common/GaugeValueMarker.js +2 -2
  213. package/common/OptionsDoc.js +14 -14
  214. package/common/OptionsDoc.js.map +1 -1
  215. package/common/ThemesDoc.js +10 -10
  216. package/common/ThemesDoc.js.map +1 -1
  217. package/common/docUtils.js +1 -1
  218. package/common/docUtils.js.map +1 -1
  219. package/common/utils/configUtils.js +26 -20
  220. package/common/utils/configUtils.js.map +1 -1
  221. package/common/utils/dataUtils.js +2 -2
  222. package/common/utils/dataUtils.js.map +1 -1
  223. package/common/utils/hocUtils.js +2 -2
  224. package/common/utils/hocUtils.js.map +1 -1
  225. package/common/utils/layoutUtils.js +115 -0
  226. package/common/utils/layoutUtils.js.map +1 -0
  227. package/common/utils/mapUtils.js +1166 -23
  228. package/common/utils/mapUtils.js.map +1 -1
  229. package/common/utils/singleValueUtils.js +54 -46
  230. package/common/utils/singleValueUtils.js.map +1 -1
  231. package/common/utils/testHelper.js +14 -14
  232. package/common/utils/testHelper.js.map +1 -1
  233. package/common/utils/trellisUtils.js +612 -0
  234. package/common/utils/trellisUtils.js.map +1 -0
  235. package/common/withDashboardViz.js +148 -54
  236. package/common/withDashboardViz.js.map +1 -1
  237. package/package.json +14 -12
@@ -145,13 +145,13 @@ module.exports = require("@babel/runtime/helpers/extends");
145
145
  /* 11 */,
146
146
  /* 12 */,
147
147
  /* 13 */,
148
- /* 14 */
148
+ /* 14 */,
149
+ /* 15 */
149
150
  /***/ (function(module, exports) {
150
151
 
151
152
  module.exports = require("@splunk/react-ui/Markdown");
152
153
 
153
154
  /***/ }),
154
- /* 15 */,
155
155
  /* 16 */,
156
156
  /* 17 */,
157
157
  /* 18 */,
@@ -236,7 +236,7 @@ __webpack_require__.r(__webpack_exports__);
236
236
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__);
237
237
  /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5);
238
238
  /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_10__);
239
- /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(14);
239
+ /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(15);
240
240
  /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_11__);
241
241
  /* harmony import */ var _splunk_react_ui_JSONTree__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(35);
242
242
  /* harmony import */ var _splunk_react_ui_JSONTree__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_JSONTree__WEBPACK_IMPORTED_MODULE_12__);
@@ -396,14 +396,18 @@ var VisExample = /*#__PURE__*/function (_PureComponent) {
396
396
  options = _this$props$options === void 0 ? {} : _this$props$options,
397
397
  Visualization = _this$props.Visualization,
398
398
  dsState = _this$props.dsState,
399
- onEventTrigger = _this$props.onEventTrigger;
399
+ onEventTrigger = _this$props.onEventTrigger,
400
+ height = _this$props.height,
401
+ width = _this$props.width;
400
402
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(EventTester, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_10___default.a, {
401
403
  level: 4
402
404
  }, "Test Visualization"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Visualization, {
403
405
  options: options,
404
406
  dataSources: dsState,
405
407
  onEventTrigger: onEventTrigger,
406
- hasEventHandlers: true
408
+ hasEventHandlers: true,
409
+ height: height,
410
+ width: width
407
411
  }));
408
412
  }
409
413
  }]);
@@ -415,7 +419,9 @@ VisExample.propTypes = {
415
419
  options: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,
416
420
  Visualization: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.any,
417
421
  dsState: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,
418
- onEventTrigger: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func
422
+ onEventTrigger: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,
423
+ height: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,
424
+ width: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number
419
425
  };
420
426
 
421
427
  var EventExample = function EventExample(_ref3) {
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"styled-components\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/react-ui/Heading\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///external \"@splunk/react-ui/Markdown\"","webpack:///external \"@babel/runtime/helpers/inherits\"","webpack:///external \"@babel/runtime/helpers/getPrototypeOf\"","webpack:///external \"@babel/runtime/helpers/assertThisInitialized\"","webpack:///external \"@babel/runtime/helpers/possibleConstructorReturn\"","webpack:///external \"@splunk/react-ui/JSONTree\"","webpack:///./src/common/EventsDoc.jsx"],"names":["EventTester","styled","Event","EventName","EventItem","name","desc","marginLeft","T","string","EventsDesc","events","vizType","Object","description","VisExample","options","Visualization","dsState","onEventTrigger","PureComponent","func","EventExample","event","eventToDisplay","object","EventsDoc","e","key","handleEvent","Component","any"],"mappings":"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","file":"EventsDoc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 48);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"styled-components\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/react-ui/Heading\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/react-ui/Markdown\");","module.exports = require(\"@babel/runtime/helpers/inherits\");","module.exports = require(\"@babel/runtime/helpers/getPrototypeOf\");","module.exports = require(\"@babel/runtime/helpers/assertThisInitialized\");","module.exports = require(\"@babel/runtime/helpers/possibleConstructorReturn\");","module.exports = require(\"@splunk/react-ui/JSONTree\");","/* eslint-disable react/no-multi-comp */\n/* eslint-disable max-classes-per-file */\nimport React, { Component, PureComponent } from 'react';\nimport T from 'prop-types';\nimport Heading from '@splunk/react-ui/Heading';\nimport Markdown from '@splunk/react-ui/Markdown';\nimport JSONTree from '@splunk/react-ui/JSONTree';\nimport styled from 'styled-components';\n\nconst EventTester = styled.div`\n margin-top: 50px;\n`;\n\nconst Event = styled.div`\n margin-top: 20px;\n`;\nconst EventName = styled.div`\n color: #5ca300;\n padding-bottom: 5px;\n`;\n\nconst EventItem = ({ name, desc }) => (\n <Event>\n <EventName>{name}</EventName>\n <Markdown style={{ marginLeft: 40 }} text={desc} />\n </Event>\n);\n\nEventItem.propTypes = {\n name: T.string,\n desc: T.string,\n};\n\nconst EventsDesc = ({ events, vizType }) => (\n <div>\n <Heading level={4}>\n {Object.keys(events).length !== 0 || vizType === 'splunk.events' ? 'Events' : 'No Events'}\n </Heading>\n {vizType === 'splunk.events' && (\n <Markdown text=\"Events are dynamically added via the `eventActions` and `fieldActions` options for the Events visualization.\" />\n )}\n {Object.keys(events).map(eventName => (\n <EventItem key={eventName} name={eventName} desc={events[eventName].description} />\n ))}\n </div>\n);\n\nEventsDesc.propTypes = {\n events: T.object.isRequired,\n vizType: T.string,\n};\n\nclass VisExample extends PureComponent {\n render() {\n const { options = {}, Visualization, dsState, onEventTrigger } = this.props;\n return (\n <EventTester>\n <Heading level={4}>Test Visualization</Heading>\n <Visualization\n options={options}\n dataSources={dsState}\n onEventTrigger={onEventTrigger}\n hasEventHandlers\n />\n </EventTester>\n );\n }\n}\n\nVisExample.propTypes = {\n options: T.object,\n Visualization: T.any,\n dsState: T.object,\n onEventTrigger: T.func,\n};\n\nconst EventExample = ({ event }) => {\n const eventToDisplay = {\n ...event,\n };\n if (eventToDisplay.originalEvent != null) {\n eventToDisplay.originalEvent = '...Original Event instance...';\n }\n\n return (\n <React.Fragment>\n <Heading level={4}>Event Monitor</Heading>\n <div>\n <JSONTree json={eventToDisplay} expandChildren />\n </div>\n </React.Fragment>\n );\n};\n\nEventExample.propTypes = {\n event: T.object,\n};\n\nclass EventsDoc extends Component {\n constructor(props, context) {\n super(props, context);\n this.state = {\n e: null,\n };\n }\n\n handleEvent = e => {\n this.setState({\n e,\n });\n };\n\n render() {\n return (\n <div>\n <EventsDesc events={this.props.events} vizType={this.props?.Visualization?.config?.key} />\n <VisExample {...this.props} onEventTrigger={this.handleEvent} />\n <EventExample event={this.state.e} />\n </div>\n );\n }\n}\n\nEventsDoc.propTypes = {\n options: T.object,\n events: T.object,\n dsState: T.object,\n Visualization: T.any,\n};\n\nexport default EventsDoc;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"styled-components\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/react-ui/Heading\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///external \"@splunk/react-ui/Markdown\"","webpack:///external \"@babel/runtime/helpers/inherits\"","webpack:///external \"@babel/runtime/helpers/getPrototypeOf\"","webpack:///external \"@babel/runtime/helpers/assertThisInitialized\"","webpack:///external \"@babel/runtime/helpers/possibleConstructorReturn\"","webpack:///external \"@splunk/react-ui/JSONTree\"","webpack:///./src/common/EventsDoc.jsx"],"names":["EventTester","styled","Event","EventName","EventItem","name","desc","marginLeft","T","string","EventsDesc","events","vizType","Object","description","VisExample","options","Visualization","dsState","onEventTrigger","height","width","PureComponent","number","EventExample","event","eventToDisplay","object","EventsDoc","e","key","handleEvent","Component","any"],"mappings":"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","file":"EventsDoc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 48);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"styled-components\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/react-ui/Heading\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/react-ui/Markdown\");","module.exports = require(\"@babel/runtime/helpers/inherits\");","module.exports = require(\"@babel/runtime/helpers/getPrototypeOf\");","module.exports = require(\"@babel/runtime/helpers/assertThisInitialized\");","module.exports = require(\"@babel/runtime/helpers/possibleConstructorReturn\");","module.exports = require(\"@splunk/react-ui/JSONTree\");","/* eslint-disable react/no-multi-comp */\n/* eslint-disable max-classes-per-file */\nimport React, { Component, PureComponent } from 'react';\nimport T from 'prop-types';\nimport Heading from '@splunk/react-ui/Heading';\nimport Markdown from '@splunk/react-ui/Markdown';\nimport JSONTree from '@splunk/react-ui/JSONTree';\nimport styled from 'styled-components';\n\nconst EventTester = styled.div`\n margin-top: 50px;\n`;\n\nconst Event = styled.div`\n margin-top: 20px;\n`;\nconst EventName = styled.div`\n color: #5ca300;\n padding-bottom: 5px;\n`;\n\nconst EventItem = ({ name, desc }) => (\n <Event>\n <EventName>{name}</EventName>\n <Markdown style={{ marginLeft: 40 }} text={desc} />\n </Event>\n);\n\nEventItem.propTypes = {\n name: T.string,\n desc: T.string,\n};\n\nconst EventsDesc = ({ events, vizType }) => (\n <div>\n <Heading level={4}>\n {Object.keys(events).length !== 0 || vizType === 'splunk.events' ? 'Events' : 'No Events'}\n </Heading>\n {vizType === 'splunk.events' && (\n <Markdown text=\"Events are dynamically added via the `eventActions` and `fieldActions` options for the Events visualization.\" />\n )}\n {Object.keys(events).map(eventName => (\n <EventItem key={eventName} name={eventName} desc={events[eventName].description} />\n ))}\n </div>\n);\n\nEventsDesc.propTypes = {\n events: T.object.isRequired,\n vizType: T.string,\n};\n\nclass VisExample extends PureComponent {\n render() {\n const { options = {}, Visualization, dsState, onEventTrigger, height, width } = this.props;\n return (\n <EventTester>\n <Heading level={4}>Test Visualization</Heading>\n <Visualization\n options={options}\n dataSources={dsState}\n onEventTrigger={onEventTrigger}\n hasEventHandlers\n height={height}\n width={width}\n />\n </EventTester>\n );\n }\n}\n\nVisExample.propTypes = {\n options: T.object,\n Visualization: T.any,\n dsState: T.object,\n onEventTrigger: T.func,\n height: T.number,\n width: T.number,\n};\n\nconst EventExample = ({ event }) => {\n const eventToDisplay = {\n ...event,\n };\n if (eventToDisplay.originalEvent != null) {\n eventToDisplay.originalEvent = '...Original Event instance...';\n }\n\n return (\n <React.Fragment>\n <Heading level={4}>Event Monitor</Heading>\n <div>\n <JSONTree json={eventToDisplay} expandChildren />\n </div>\n </React.Fragment>\n );\n};\n\nEventExample.propTypes = {\n event: T.object,\n};\n\nclass EventsDoc extends Component {\n constructor(props, context) {\n super(props, context);\n this.state = {\n e: null,\n };\n }\n\n handleEvent = e => {\n this.setState({\n e,\n });\n };\n\n render() {\n return (\n <div>\n <EventsDesc events={this.props.events} vizType={this.props?.Visualization?.config?.key} />\n <VisExample {...this.props} onEventTrigger={this.handleEvent} />\n <EventExample event={this.state.e} />\n </div>\n );\n }\n}\n\nEventsDoc.propTypes = {\n options: T.object,\n events: T.object,\n dsState: T.object,\n Visualization: T.any,\n};\n\nexport default EventsDoc;\n"],"sourceRoot":""}
@@ -106,7 +106,7 @@ module.exports = require("prop-types");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 15:
109
+ /***/ 16:
110
110
  /***/ (function(module, exports) {
111
111
 
112
112
  module.exports = require("@splunk/visualizations-shared/numberUtils");
@@ -135,7 +135,7 @@ __webpack_require__.r(__webpack_exports__);
135
135
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
136
136
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2);
137
137
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_3__);
138
- /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(15);
138
+ /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16);
139
139
  /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__);
140
140
 
141
141
 
@@ -106,7 +106,7 @@ module.exports = require("prop-types");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 15:
109
+ /***/ 16:
110
110
  /***/ (function(module, exports) {
111
111
 
112
112
  module.exports = require("@splunk/visualizations-shared/numberUtils");
@@ -135,7 +135,7 @@ __webpack_require__.r(__webpack_exports__);
135
135
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
136
136
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2);
137
137
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_3__);
138
- /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(15);
138
+ /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16);
139
139
  /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__);
140
140
 
141
141
 
@@ -107,12 +107,19 @@ module.exports = require("prop-types");
107
107
  /***/ }),
108
108
 
109
109
  /***/ 10:
110
+ /***/ (function(module, exports) {
111
+
112
+ module.exports = require("@babel/runtime/helpers/slicedToArray");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 11:
110
117
  /***/ (function(module, exports, __webpack_require__) {
111
118
 
112
119
  "use strict";
113
120
 
114
121
 
115
- var _typeof = __webpack_require__(12);
122
+ var _typeof = __webpack_require__(13);
116
123
 
117
124
  Object.defineProperty(exports, "__esModule", {
118
125
  value: true
@@ -439,27 +446,20 @@ exports.componentStoriesToInclude = componentStoriesToInclude;
439
446
 
440
447
  /***/ }),
441
448
 
442
- /***/ 12:
449
+ /***/ 13:
443
450
  /***/ (function(module, exports) {
444
451
 
445
452
  module.exports = require("@babel/runtime/helpers/typeof");
446
453
 
447
454
  /***/ }),
448
455
 
449
- /***/ 14:
456
+ /***/ 15:
450
457
  /***/ (function(module, exports) {
451
458
 
452
459
  module.exports = require("@splunk/react-ui/Markdown");
453
460
 
454
461
  /***/ }),
455
462
 
456
- /***/ 16:
457
- /***/ (function(module, exports) {
458
-
459
- module.exports = require("@babel/runtime/helpers/slicedToArray");
460
-
461
- /***/ }),
462
-
463
463
  /***/ 17:
464
464
  /***/ (function(module, exports) {
465
465
 
@@ -494,11 +494,11 @@ module.exports = require("@splunk/react-ui/Heading");
494
494
  "use strict";
495
495
  __webpack_require__.r(__webpack_exports__);
496
496
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getType", function() { return getType; });
497
- /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16);
497
+ /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10);
498
498
  /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);
499
499
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
500
500
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
501
- /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12);
501
+ /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13);
502
502
  /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_2__);
503
503
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
504
504
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
@@ -510,13 +510,13 @@ __webpack_require__.r(__webpack_exports__);
510
510
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_6__);
511
511
  /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5);
512
512
  /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_7__);
513
- /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(14);
513
+ /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(15);
514
514
  /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_8__);
515
515
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2);
516
516
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_9__);
517
517
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3);
518
518
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__);
519
- /* harmony import */ var _storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(10);
519
+ /* harmony import */ var _storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(11);
520
520
  /* harmony import */ var _storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11__);
521
521
 
522
522
 
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///./.storybook/utils/storybookUtils.ts","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///external \"@splunk/react-ui/Markdown\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"lodash/isEmpty\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/react-ui/Heading\"","webpack:///./src/common/OptionsDoc.jsx","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/defineProperty\""],"names":["Option","styled","OptionName","PairContainer","PairTitle","PairValue","PairValueJSON","PropertiesWrapper","props","PropertiesContainer","PropertiesContent","isOneOfJsonSchema","item","Array","getOrType","res","one","getArrayType","isEmpty","itemType","getType","values","getDefaultValue","defaultValue","JSON","Pair","title","content","T","PropertyItems","isPatternProperty","propsItems","_","array","OptionItem","name","type","desc","enumerable","PropertiesSection","marginLeft","element","PropertiesItem","getPropertiesSection","allProperties","Object","propsInPattern","patternProperties","allPropsItems","p","pType","getOptionDisplayType","enum","pDefault","pEnumerable","getPatternOptions","OptionsDoc","options","description","key","option","mergedOptions","merge","properties","string"],"mappings":"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","file":"OptionsDoc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 51);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","import { get, omit, reduce, toNumber, isString } from 'lodash';\nimport { OptionsSchema } from '../../src/common/interfaces/OptionsSchema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\ninterface ArgTypeControl {\n type: string;\n options?: string[];\n min?: number;\n max?: number;\n}\n\ninterface ArgTypeEntry {\n description?: string;\n control: ArgTypeControl;\n name: string;\n defaultValue?: any;\n type: { required: boolean };\n optionType: string;\n table: {\n type: { summary: string };\n defaultValue?: { summary: any };\n category?: string;\n subcategory?: string;\n disable?: boolean;\n };\n}\n\nexport interface ArgTypes {\n [key: string]: ArgTypeEntry;\n}\n\ntype StoriesList = RegExp | string[];\n\n/**\n * Returns type options from pattern\n * @example\n * // returns ['fixed', 'absolute', 'off']\n * getPatternOptions('\\$(\\w+:)?([^$|:]+?)(\\|[|\\w]+)?\\$|^fixed$|^absolute$|^off$')\n * @example\n * // returns []\n * getPatternOptions('^>.*')\n * @param {string} patternString - visualization option type pattern\n * @return {string[]} array of type options\n */\nexport const getPatternOptions = (patternString): string[] =>\n patternString.replace(/\\$/g, '').split('|^').slice(1);\n\n/**\n * Returns Storybook display type for an option\n * @param {object} option - visualization option\n * @return {string} Storybook display type\n */\nexport const getOptionDisplayType = (option): string => {\n const { oneOf, anyOf, type, enum: en, pattern, items } = option;\n let displayTypes: string[] = [];\n\n // wrap values in quotes only if enum or pattern is string\n const conditionalQuote = type === 'string' ? '\"' : '';\n if (en && Array.isArray(en)) {\n displayTypes = en.map(e => {\n const enumQuote = typeof e === 'string' ? '\"' : '';\n return `${enumQuote}${e}${enumQuote}`;\n });\n } else if (type === 'array' && items) {\n return `${getOptionDisplayType(items)}[]`;\n } else if (anyOf && Array.isArray(anyOf)) {\n return getOptionDisplayType(anyOf[0]);\n } else if (oneOf && Array.isArray(oneOf)) {\n displayTypes = oneOf.map(item => getOptionDisplayType(item));\n } else if (Array.isArray(type)) {\n displayTypes = type;\n } else if (pattern) {\n displayTypes = getPatternOptions(pattern).map(p => `${conditionalQuote}${p}${conditionalQuote}`);\n }\n\n if (displayTypes.length > 0) {\n return `(${displayTypes.join(' | ')})`;\n }\n return type;\n};\n\n/**\n * Returns Storybook control type for an option\n * @param {object} option - visualization option\n * @param {string} optionKey - visualization option key\n * @return {ArgTypeControl} Storybook control object\n */\nexport const getOptionControl = (option, optionKey): ArgTypeControl => {\n const { anyOf } = option;\n const schema = Array.isArray(anyOf) && anyOf.length ? anyOf[0] : option;\n\n const type = Array.isArray(schema.type) ? schema.type[0] : schema.type;\n const { maximum, minimum, enum: en } = schema;\n\n const isColorOption = new RegExp(/color/, 'i').test(optionKey) && type !== 'array';\n\n if (isColorOption) {\n return { type: 'color' };\n } else if (en && Array.isArray(en)) {\n return { type: 'select', options: en };\n } else if (anyOf && type === 'string' && anyOf[0].pattern) {\n return { type: 'select', options: getPatternOptions(anyOf[0].pattern) };\n } else if (type === 'number' && (minimum || maximum)) {\n return {\n type: 'range',\n ...(typeof minimum === 'number' && { min: minimum }),\n ...(typeof maximum === 'number' && { max: maximum }),\n };\n } else if (type === 'string') {\n return { type: 'text' };\n }\n\n return { type };\n};\n\n/**\n * platform specific visualization option argTypes\n */\nconst objectTableControl = { control: { type: 'object' } };\nconst disableTableControl = { table: { disable: true } };\nexport const platformOptionArgTypes = {\n context: objectTableControl,\n dataSources: objectTableControl,\n dataSource: disableTableControl,\n options: disableTableControl,\n onEventTrigger: { action: 'eventTrigger', ...disableTableControl },\n hasEventHandlers: disableTableControl,\n};\n\n/**\n * Returns formatted Storybook argTypes for a visualization from its options schema\n * @param {OptionsSchema} options - visualization options\n * @param {string[]} requiredProps - required visualization props\n * @param {boolean} isPlatformViz - indicates if pure or platform visualization\n * @param {string} subcategory - nested property parent option name\n * @return {ArgTypes} Storybook argTypes\n */\nexport const optionsSchemaToArgTypes = ({\n options = {},\n requiredProps = [],\n isPlatformViz = false,\n subcategory = null,\n}: {\n options: OptionsSchema;\n requiredProps: string[];\n isPlatformViz?: boolean;\n subcategory?: string;\n}): ArgTypes => {\n const validObjectTypeOptions = [\n 'lineDashStylesByField',\n 'seriesColorsByField',\n 'fieldActions',\n 'highlightValuesByField',\n ];\n let argTypes: ArgTypes = {};\n Object.keys(options).forEach(optionKey => {\n const option = get(options, optionKey);\n if (option.type === 'object' && !validObjectTypeOptions.includes(optionKey)) {\n // do not support controls for patternProperties, only nested properties\n if (option.properties) {\n argTypes = {\n ...argTypes,\n ...optionsSchemaToArgTypes({\n options: option.properties as OptionsSchema,\n isPlatformViz,\n requiredProps,\n subcategory: optionKey,\n }),\n };\n }\n } else {\n const { description, default: optionDefault } = option;\n const optionControl = getOptionControl(option, optionKey);\n const control = isPlatformViz ? { type: 'text' } : optionControl;\n const required = requiredProps.includes(optionKey);\n\n let defaultValue = optionDefault;\n if (!isPlatformViz && isDynamicOption(optionDefault as string)) {\n defaultValue = null;\n }\n\n argTypes[optionKey] = {\n description,\n control,\n name: optionKey,\n defaultValue,\n type: { required },\n optionType: optionControl.type,\n table: {\n type: { summary: getOptionDisplayType(option) },\n defaultValue: { summary: defaultValue },\n ...(subcategory && {\n category: 'Nested Options',\n subcategory,\n }),\n },\n };\n }\n });\n\n if (isPlatformViz) {\n Object.assign(argTypes, platformOptionArgTypes);\n }\n return argTypes;\n};\n\n/**\n * Helper which converts string visualization options to their required type\n * @param {any} value - option values\n * @param {string} expectedType - expected option type\n * @return {any} correctly typed option value\n */\nexport const transformOptionType = (value, expectedType = 'string'): any => {\n const isStringValue = !isDynamicOption(value) && isString(value);\n if (isStringValue && expectedType === 'boolean') return value == 'true';\n else if (isStringValue && expectedType === 'number') return toNumber(value);\n return value;\n};\n\n// stringify these fields for storybook controls' support\nconst FieldsToStringify = [\n 'layers',\n 'center',\n 'eventActions',\n 'fieldActions',\n 'legendLabels',\n 'lineDashStylesByField',\n 'seriesColors',\n 'seriesColorsByField',\n 'footerFields',\n 'highlightValuesByField',\n];\n\n/**\n * Helper which returns platform visualization options from Storybook controls\n * Utilizes argTypes to determine valid and nested options\n * @param {object} args - visualization story args\n * @param {ArgTypes} argTypes - visualization argTypes\n * @return {object} visualization options\n */\nexport const getOptionsFromArgTypes = (args: Record<string, any>, argTypes: ArgTypes): Record<string, any> =>\n reduce(\n argTypes,\n (accum, val, option) => {\n const subcategory = get(val, 'table.subcategory');\n const { optionType, defaultValue } = argTypes[option];\n let controlledOption = transformOptionType(get(args, option), optionType);\n // filter options from react & json if set to default value or is undefined\n if (optionType && controlledOption != null && controlledOption !== defaultValue) {\n // parse the value if option is stringified as part of flattenVizOptions\n if (FieldsToStringify.includes(option)) {\n try {\n controlledOption = JSON.parse(controlledOption);\n } catch (e) {\n controlledOption = null;\n }\n }\n if (subcategory) {\n if (!accum[subcategory]) accum[subcategory] = {};\n accum[subcategory][option] = controlledOption;\n } else accum[option] = controlledOption;\n }\n return accum;\n },\n { ...omit(args.options, Object.keys(argTypes)) }\n );\n\n/**\n * Helper which flattens objects single depth level\n * @param {object} options - visualization options object\n * @return {object} flattened visualization options\n */\nexport const flattenVizOptions = (options: Record<string, any>): Record<string, any> => {\n const nonFlattenOptions = new Set([\n 'y2Fields',\n 'overlayFields',\n 'gaugeRanges',\n 'fieldActions',\n 'highlightValuesByField',\n ]);\n return reduce(\n options,\n (accum, val, option) => {\n if (!platformOptionArgTypes[option]) {\n if (typeof val === 'object' && FieldsToStringify.includes(option))\n accum[option] = JSON.stringify(val);\n else if (typeof val === 'object' && !nonFlattenOptions.has(option))\n accum = { ...accum, ...val };\n else accum[option] = val;\n }\n return accum;\n },\n {}\n );\n};\n/**\n * Returns value based on Storybook publishing status\n * @param {T} publishedStories - stories to include in published Storybook\n * @param {T} localStories - stories to include in local Storybook\n * @return {T} one of the two params\n */\nexport const getStoriesToInclude = <T>(publishedStories: T, localStories: T): T =>\n process.env.STORYBOOK_PUBLISH ? publishedStories : localStories;\n\n/**\n * Returns component level stories to include, defaults to innclude all stories\n * @param {StoriesList} stories - stories to include in published Storybook\n * @return {object} CSF includeStories config\n */\nexport const componentStoriesToInclude = (stories: StoriesList): object =>\n getStoriesToInclude({ includeStories: stories }, {});\n","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"@splunk/react-ui/Markdown\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"lodash/isEmpty\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/react-ui/Heading\");","import React from 'react';\nimport T from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Heading from '@splunk/react-ui/Heading';\nimport Markdown from '@splunk/react-ui/Markdown';\nimport styled from 'styled-components';\nimport { merge } from 'lodash';\nimport { getOptionDisplayType, getPatternOptions } from '../../.storybook/utils/storybookUtils';\n\nconst Option = styled.div`\n margin-top: 20px;\n`;\nconst OptionName = styled.div`\n color: #5ca300;\n padding-bottom: 5px;\n`;\nconst PairContainer = styled.div`\n margin-left: 40px;\n margin-top: 10px;\n`;\nconst PairTitle = styled.span`\n display: inline-block;\n color: #8293a7;\n width: 80px;\n`;\n\nconst PairValue = styled.span`\n font-family: 'Splunk Platform Mono', 'monospace';\n white-space: pre;\n`;\n\nconst PairValueJSON = styled.div`\n margin-left: 80px;\n pre {\n margin: 0;\n }\n code {\n font-size: 12px;\n font-family: 'Splunk Platform Mono', 'monospace';\n }\n`;\n\nconst PropertiesWrapper = styled.div`\n margin-left: ${props => (props.isPatternProperty ? 0 : 40)}px;\n margin-top: 20px;\n`;\n\nconst PropertiesContainer = styled.div`\n margin-left: ${props => (props.isPatternProperty ? 40 : 0)}px;\n margin-top: 10px;\n`;\n\nconst PropertiesContent = styled.div`\n margin-left: ${props => (props.isPatternProperty ? 40 : 0)}px;\n`;\n\n/**\n * @method isOneOfJsonSchema\n * @param {object} item\n * @returns {boolean}\n */\nconst isOneOfJsonSchema = item => item.oneOf && Array.isArray(item.oneOf);\n\n/**\n * get Or type as string\n * @method getOrType\n * @param {object} item\n * @param {string} res\n * @returns {string} res eg: (string | number)\n */\nconst getOrType = item => {\n let res = '';\n\n if (isOneOfJsonSchema(item)) {\n res = item.oneOf\n .map(one => {\n if (one.type !== 'array') {\n return one.type;\n }\n // eslint-disable-next-line no-use-before-define\n return getArrayType(one, '');\n })\n .join(' | ');\n } else if (Array.isArray(item.type)) {\n if (isEmpty(item.default)) {\n return item.type.join(' | ');\n }\n\n res = item.type.filter(itemType => itemType !== 'string').join(' | ');\n res += ' | ';\n res += `\"${item.default}\"`;\n }\n\n return res;\n};\n\n/**\n * get the array type as string\n * @method getArrayType\n * @param {object} item\n * @param {string} res\n * @returns {string} res eg: arrayOf(arrayOf(string | number | arrayOf(string | number)))\n */\nconst getArrayType = (item, res = '') => {\n if (item.type !== 'array') {\n if (Array.isArray(item.type) || isOneOfJsonSchema(item)) {\n return getOrType(item);\n }\n\n return item.type;\n }\n\n if (item.type === 'array') {\n res += 'arrayOf('; // eslint-disable-line no-param-reassign\n }\n res += getArrayType(item.items, ''); // eslint-disable-line no-param-reassign\n res += ')'; // eslint-disable-line no-param-reassign\n return res;\n};\n\n/**\n * get the type of this option item\n * @method getType\n * @param {ojbect} item option item\n * @returns {string} type\n */\nexport const getType = item => {\n if (isOneOfJsonSchema(item)) {\n return `oneOf(${getOrType(item)})`;\n }\n if (item.enum && Array.isArray(item.enum)) {\n const values =\n !isEmpty(item.enum) && typeof item.enum[0] === 'string'\n ? item.enum.map(v => `\"${v}\"`).join(', ')\n : item.enum.join(', ');\n\n return `oneOf([${values}])`;\n }\n\n if (Array.isArray(item.type)) {\n return getOrType(item);\n }\n\n if (item.type === 'array') {\n if ('items' in item) {\n return `arrayOf(${getType(item.items)})`;\n }\n return 'array';\n }\n return item.type;\n};\n\n/**\n * get the default value as string\n * @method getDefaultValue\n * @param {object | boolean | number | string} defaultValue\n * @returns {string | object[]} default value\n */\nconst getDefaultValue = defaultValue => {\n if (typeof defaultValue === 'boolean' || typeof defaultValue === 'number') {\n return defaultValue.toString();\n }\n if (Array.isArray(defaultValue)) {\n if (defaultValue.length > 1 && typeof defaultValue[0] === 'object') {\n // return the array only if the defaultValue is an object array\n return defaultValue;\n }\n const values = defaultValue.map(v => JSON.stringify(v)).join(', ');\n return `[${values}]`;\n }\n return defaultValue;\n};\n\nconst Pair = ({ title, content }) => (\n <PairContainer>\n <PairTitle>{`${title}:`}</PairTitle>\n {Array.isArray(content) ? (\n <PairValueJSON>\n <pre>\n <code>{JSON.stringify(content, null, 2)}</code>\n </pre>\n </PairValueJSON>\n ) : (\n <PairValue>{content}</PairValue>\n )}\n </PairContainer>\n);\n\nPair.propTypes = {\n title: T.string,\n content: T.oneOfType([T.string, T.arrayOf(T.object)]),\n};\n\nconst PropertyItems = ({ isPatternProperty = false, propsItems }) => (\n <PropertiesContainer isPatternProperty={isPatternProperty}>\n {isPatternProperty ? <PairTitle>{_('[fieldName]:')}</PairTitle> : null}\n <PropertiesContent isPatternProperty={isPatternProperty}>{propsItems}</PropertiesContent>\n </PropertiesContainer>\n);\n\nPropertyItems.propTypes = {\n isPatternProperty: T.bool,\n propsItems: T.array,\n};\n\nconst OptionItem = ({ name, type, desc, defaultValue, enumerable, PropertiesSection }) => (\n <Option>\n <OptionName>{name}</OptionName>\n {desc ? <Markdown style={{ marginLeft: 40 }} text={desc} /> : null}\n <Pair title={_('Type')} content={type} />\n {enumerable?.length > 0 && (\n <Pair\n title={_('oneOf')}\n content={`(${enumerable\n .map(\n entry =>\n `${typeof entry === 'string' ? '\"' : ''}${entry}${\n typeof entry === 'string' ? '\"' : ''\n }`\n )\n .join(' | ')})`}\n />\n )}\n {defaultValue && <Pair title={_('Default')} content={defaultValue} />}\n {PropertiesSection}\n </Option>\n);\n\nOptionItem.propTypes = {\n name: T.string,\n type: T.string,\n desc: T.string,\n enumerable: T.arrayOf(T.oneOfType([T.string, T.number])),\n defaultValue: T.oneOfType([T.string, T.arrayOf(T.object)]),\n PropertiesSection: T.element,\n};\n\nOptionItem.default = {\n PropertiesItem: null,\n};\n\nconst getPropertiesSection = (properties, patternProperties) => {\n let allProperties = [];\n let isPatternProperty = false;\n\n // the properties either comes from property field of the option schema item\n // or from the property field of each patternProperties of the option schema item\n // can check table tableFormat and columnFormat as examples\n if (!isEmpty(properties)) {\n allProperties = [properties];\n } else if (!isEmpty(patternProperties)) {\n Object.keys(patternProperties).forEach(patternKey => {\n const propsInPattern = patternProperties[patternKey].properties;\n if (propsInPattern) {\n allProperties.push(propsInPattern);\n }\n });\n\n isPatternProperty = true;\n }\n\n if (allProperties.length) {\n const allPropsItems = allProperties.map(props => {\n const propsItems = Object.keys(props).map(pKey => {\n const p = props[pKey];\n let pType = p.anyOf?.[0]\n ? getOptionDisplayType({ ...p.anyOf?.[0], enum: p.enum })\n : getOptionDisplayType({ ...p, enum: p.enum });\n const pDefault = getDefaultValue(p.default);\n\n let pEnumerable;\n // get nested oneOf property listing\n if (typeof p.anyOf?.[0]?.pattern === 'string') {\n pEnumerable = getPatternOptions(p.anyOf[0].pattern);\n } else if (p.anyOf?.[0]?.items?.enum?.length > 0) {\n // quick fix for nested `columnFormat` enumerables that replaces enums within brackets with raw JS types\n pType = pType.replace(/\\((.+?)\\)/g, 'string');\n pEnumerable = p.anyOf[0].items.enum;\n } else if (p.anyOf?.[0]?.items?.items?.enum?.length > 0) {\n // quick fix for nested `tableFormat` enumerables that replaces enums within brackets with raw JS types\n pType = pType.replace(/\\((.+?)\\)/g, 'string');\n pEnumerable = p.anyOf[0].items.items.enum;\n } else if (p.enum) {\n pEnumerable = p.enum;\n }\n\n // use the JS types (e.g. string, number) of the nested property if the nested property is an enumerable\n if (pEnumerable?.length) {\n pType = p.anyOf?.[0]?.type !== 'array' ? p.anyOf?.[0]?.type : pType;\n if (Array.isArray(pType)) {\n pType = pType.join(' | ');\n }\n }\n\n return (\n <OptionItem\n key={pKey}\n name={pKey}\n type={pType}\n enumerable={pEnumerable}\n desc={p.description}\n defaultValue={pDefault}\n />\n );\n });\n return (\n <PropertyItems\n key={propsItems}\n isPatternProperty={isPatternProperty}\n propsItems={propsItems}\n />\n );\n });\n\n return <PropertiesWrapper isPatternProperty={isPatternProperty}>{allPropsItems}</PropertiesWrapper>;\n }\n return null;\n};\n\nconst OptionsDoc = ({ options, description }) => (\n <div>\n {options.length === 0 ? (\n <Heading level={4}> No Options</Heading>\n ) : (\n <Heading level={4}>Options</Heading>\n )}\n {description && <div>{description}</div>}\n {Object.entries(options).map(([key, item]) => {\n let type;\n let enumerable = [];\n let PropertiesSection = null;\n\n // get oneOf property listing\n if (typeof item.anyOf?.[0]?.pattern === 'string') {\n enumerable = getPatternOptions(item.anyOf[0].pattern);\n } else if (item.enum) {\n enumerable = item.enum;\n }\n\n // get the nested options inside {option}.items.anyof. e.g. 'layers' in Map\n if (item.anyOf?.[0]?.type === 'array' && 'anyOf' in item.anyOf?.[0]?.items) {\n type = getOptionDisplayType(item);\n const { patternProperties } = item;\n // merge the 3 objects together instead of showing the longest options in the array\n const option = item.anyOf?.[0]?.items?.anyOf;\n const mergedOptions = option.reduce((prev, next) => merge(prev, next), {});\n const { properties } = mergedOptions;\n PropertiesSection = getPropertiesSection(properties, patternProperties);\n return (\n <OptionItem\n key={key}\n name={key}\n type={type}\n enumerable={enumerable}\n desc={item.description}\n PropertiesSection={PropertiesSection}\n />\n );\n }\n\n if (item.type === 'object') {\n // get properties for object type\n type = item.type;\n const { properties } = item;\n const { patternProperties } = item;\n PropertiesSection = getPropertiesSection(properties, patternProperties);\n } else if (enumerable?.length) {\n // use the JS types (e.g. string, number) of the property if the property is an enumerable\n type = item.anyOf?.[0]?.type;\n if (Array.isArray(type)) {\n type = type.join(' | ');\n }\n } else {\n type = getOptionDisplayType({ ...item.anyOf[0], enum: item.enum });\n }\n\n return (\n <OptionItem\n key={key}\n name={key}\n // item.anyOf in the config.ts is a tuple which holds [{ type, pattern, items }, { type, pattern: DYNAMIC_OPTIONS_PATTERN }]\n type={type}\n enumerable={enumerable}\n desc={item.description}\n defaultValue={getDefaultValue(item.default)}\n PropertiesSection={PropertiesSection}\n />\n );\n })}\n </div>\n);\n\nOptionsDoc.propTypes = {\n options: T.object.isRequired,\n description: T.string,\n};\n\nexport default OptionsDoc;\n","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///./.storybook/utils/storybookUtils.ts","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///external \"@splunk/react-ui/Markdown\"","webpack:///external \"lodash/isEmpty\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/react-ui/Heading\"","webpack:///./src/common/OptionsDoc.jsx","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/defineProperty\""],"names":["Option","styled","OptionName","PairContainer","PairTitle","PairValue","PairValueJSON","PropertiesWrapper","props","PropertiesContainer","PropertiesContent","isOneOfJsonSchema","item","Array","getOrType","res","one","getArrayType","isEmpty","itemType","getType","values","getDefaultValue","defaultValue","JSON","Pair","title","content","T","PropertyItems","isPatternProperty","propsItems","_","array","OptionItem","name","type","desc","enumerable","PropertiesSection","marginLeft","element","PropertiesItem","getPropertiesSection","allProperties","Object","propsInPattern","patternProperties","allPropsItems","p","pType","getOptionDisplayType","enum","pDefault","pEnumerable","getPatternOptions","OptionsDoc","options","description","key","option","mergedOptions","merge","properties","string"],"mappings":"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","file":"OptionsDoc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 51);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","import { get, omit, reduce, toNumber, isString } from 'lodash';\nimport { OptionsSchema } from '../../src/common/interfaces/OptionsSchema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\ninterface ArgTypeControl {\n type: string;\n options?: string[];\n min?: number;\n max?: number;\n}\n\ninterface ArgTypeEntry {\n description?: string;\n control: ArgTypeControl;\n name: string;\n defaultValue?: any;\n type: { required: boolean };\n optionType: string;\n table: {\n type: { summary: string };\n defaultValue?: { summary: any };\n category?: string;\n subcategory?: string;\n disable?: boolean;\n };\n}\n\nexport interface ArgTypes {\n [key: string]: ArgTypeEntry;\n}\n\ntype StoriesList = RegExp | string[];\n\n/**\n * Returns type options from pattern\n * @example\n * // returns ['fixed', 'absolute', 'off']\n * getPatternOptions('\\$(\\w+:)?([^$|:]+?)(\\|[|\\w]+)?\\$|^fixed$|^absolute$|^off$')\n * @example\n * // returns []\n * getPatternOptions('^>.*')\n * @param {string} patternString - visualization option type pattern\n * @return {string[]} array of type options\n */\nexport const getPatternOptions = (patternString): string[] =>\n patternString.replace(/\\$/g, '').split('|^').slice(1);\n\n/**\n * Returns Storybook display type for an option\n * @param {object} option - visualization option\n * @return {string} Storybook display type\n */\nexport const getOptionDisplayType = (option): string => {\n const { oneOf, anyOf, type, enum: en, pattern, items } = option;\n let displayTypes: string[] = [];\n\n // wrap values in quotes only if enum or pattern is string\n const conditionalQuote = type === 'string' ? '\"' : '';\n if (en && Array.isArray(en)) {\n displayTypes = en.map(e => {\n const enumQuote = typeof e === 'string' ? '\"' : '';\n return `${enumQuote}${e}${enumQuote}`;\n });\n } else if (type === 'array' && items) {\n return `${getOptionDisplayType(items)}[]`;\n } else if (anyOf && Array.isArray(anyOf)) {\n return getOptionDisplayType(anyOf[0]);\n } else if (oneOf && Array.isArray(oneOf)) {\n displayTypes = oneOf.map(item => getOptionDisplayType(item));\n } else if (Array.isArray(type)) {\n displayTypes = type;\n } else if (pattern) {\n displayTypes = getPatternOptions(pattern).map(p => `${conditionalQuote}${p}${conditionalQuote}`);\n }\n\n if (displayTypes.length > 0) {\n return `(${displayTypes.join(' | ')})`;\n }\n return type;\n};\n\n/**\n * Returns Storybook control type for an option\n * @param {object} option - visualization option\n * @param {string} optionKey - visualization option key\n * @return {ArgTypeControl} Storybook control object\n */\nexport const getOptionControl = (option, optionKey): ArgTypeControl => {\n const { anyOf } = option;\n const schema = Array.isArray(anyOf) && anyOf.length ? anyOf[0] : option;\n\n const type = Array.isArray(schema.type) ? schema.type[0] : schema.type;\n const { maximum, minimum, enum: en } = schema;\n\n const isColorOption = new RegExp(/color/, 'i').test(optionKey) && type !== 'array';\n\n if (isColorOption) {\n return { type: 'color' };\n } else if (en && Array.isArray(en)) {\n return { type: 'select', options: en };\n } else if (anyOf && type === 'string' && anyOf[0].pattern) {\n return { type: 'select', options: getPatternOptions(anyOf[0].pattern) };\n } else if (type === 'number' && (minimum || maximum)) {\n return {\n type: 'range',\n ...(typeof minimum === 'number' && { min: minimum }),\n ...(typeof maximum === 'number' && { max: maximum }),\n };\n } else if (type === 'string') {\n return { type: 'text' };\n }\n\n return { type };\n};\n\n/**\n * platform specific visualization option argTypes\n */\nconst objectTableControl = { control: { type: 'object' } };\nconst disableTableControl = { table: { disable: true } };\nexport const platformOptionArgTypes = {\n context: objectTableControl,\n dataSources: objectTableControl,\n dataSource: disableTableControl,\n options: disableTableControl,\n onEventTrigger: { action: 'eventTrigger', ...disableTableControl },\n hasEventHandlers: disableTableControl,\n};\n\n/**\n * Returns formatted Storybook argTypes for a visualization from its options schema\n * @param {OptionsSchema} options - visualization options\n * @param {string[]} requiredProps - required visualization props\n * @param {boolean} isPlatformViz - indicates if pure or platform visualization\n * @param {string} subcategory - nested property parent option name\n * @return {ArgTypes} Storybook argTypes\n */\nexport const optionsSchemaToArgTypes = ({\n options = {},\n requiredProps = [],\n isPlatformViz = false,\n subcategory = null,\n}: {\n options: OptionsSchema;\n requiredProps: string[];\n isPlatformViz?: boolean;\n subcategory?: string;\n}): ArgTypes => {\n const validObjectTypeOptions = [\n 'lineDashStylesByField',\n 'seriesColorsByField',\n 'fieldActions',\n 'highlightValuesByField',\n ];\n let argTypes: ArgTypes = {};\n Object.keys(options).forEach(optionKey => {\n const option = get(options, optionKey);\n if (option.type === 'object' && !validObjectTypeOptions.includes(optionKey)) {\n // do not support controls for patternProperties, only nested properties\n if (option.properties) {\n argTypes = {\n ...argTypes,\n ...optionsSchemaToArgTypes({\n options: option.properties as OptionsSchema,\n isPlatformViz,\n requiredProps,\n subcategory: optionKey,\n }),\n };\n }\n } else {\n const { description, default: optionDefault } = option;\n const optionControl = getOptionControl(option, optionKey);\n const control = isPlatformViz ? { type: 'text' } : optionControl;\n const required = requiredProps.includes(optionKey);\n\n let defaultValue = optionDefault;\n if (!isPlatformViz && isDynamicOption(optionDefault as string)) {\n defaultValue = null;\n }\n\n argTypes[optionKey] = {\n description,\n control,\n name: optionKey,\n defaultValue,\n type: { required },\n optionType: optionControl.type,\n table: {\n type: { summary: getOptionDisplayType(option) },\n defaultValue: { summary: defaultValue },\n ...(subcategory && {\n category: 'Nested Options',\n subcategory,\n }),\n },\n };\n }\n });\n\n if (isPlatformViz) {\n Object.assign(argTypes, platformOptionArgTypes);\n }\n return argTypes;\n};\n\n/**\n * Helper which converts string visualization options to their required type\n * @param {any} value - option values\n * @param {string} expectedType - expected option type\n * @return {any} correctly typed option value\n */\nexport const transformOptionType = (value, expectedType = 'string'): any => {\n const isStringValue = !isDynamicOption(value) && isString(value);\n if (isStringValue && expectedType === 'boolean') return value == 'true';\n else if (isStringValue && expectedType === 'number') return toNumber(value);\n return value;\n};\n\n// stringify these fields for storybook controls' support\nconst FieldsToStringify = [\n 'layers',\n 'center',\n 'eventActions',\n 'fieldActions',\n 'legendLabels',\n 'lineDashStylesByField',\n 'seriesColors',\n 'seriesColorsByField',\n 'footerFields',\n 'highlightValuesByField',\n];\n\n/**\n * Helper which returns platform visualization options from Storybook controls\n * Utilizes argTypes to determine valid and nested options\n * @param {object} args - visualization story args\n * @param {ArgTypes} argTypes - visualization argTypes\n * @return {object} visualization options\n */\nexport const getOptionsFromArgTypes = (args: Record<string, any>, argTypes: ArgTypes): Record<string, any> =>\n reduce(\n argTypes,\n (accum, val, option) => {\n const subcategory = get(val, 'table.subcategory');\n const { optionType, defaultValue } = argTypes[option];\n let controlledOption = transformOptionType(get(args, option), optionType);\n // filter options from react & json if set to default value or is undefined\n if (optionType && controlledOption != null && controlledOption !== defaultValue) {\n // parse the value if option is stringified as part of flattenVizOptions\n if (FieldsToStringify.includes(option)) {\n try {\n controlledOption = JSON.parse(controlledOption);\n } catch (e) {\n controlledOption = null;\n }\n }\n if (subcategory) {\n if (!accum[subcategory]) accum[subcategory] = {};\n accum[subcategory][option] = controlledOption;\n } else accum[option] = controlledOption;\n }\n return accum;\n },\n { ...omit(args.options, Object.keys(argTypes)) }\n );\n\n/**\n * Helper which flattens objects single depth level\n * @param {object} options - visualization options object\n * @return {object} flattened visualization options\n */\nexport const flattenVizOptions = (options: Record<string, any>): Record<string, any> => {\n const nonFlattenOptions = new Set([\n 'y2Fields',\n 'overlayFields',\n 'gaugeRanges',\n 'fieldActions',\n 'highlightValuesByField',\n ]);\n return reduce(\n options,\n (accum, val, option) => {\n if (!platformOptionArgTypes[option]) {\n if (typeof val === 'object' && FieldsToStringify.includes(option))\n accum[option] = JSON.stringify(val);\n else if (typeof val === 'object' && !nonFlattenOptions.has(option))\n accum = { ...accum, ...val };\n else accum[option] = val;\n }\n return accum;\n },\n {}\n );\n};\n/**\n * Returns value based on Storybook publishing status\n * @param {T} publishedStories - stories to include in published Storybook\n * @param {T} localStories - stories to include in local Storybook\n * @return {T} one of the two params\n */\nexport const getStoriesToInclude = <T>(publishedStories: T, localStories: T): T =>\n process.env.STORYBOOK_PUBLISH ? publishedStories : localStories;\n\n/**\n * Returns component level stories to include, defaults to innclude all stories\n * @param {StoriesList} stories - stories to include in published Storybook\n * @return {object} CSF includeStories config\n */\nexport const componentStoriesToInclude = (stories: StoriesList): object =>\n getStoriesToInclude({ includeStories: stories }, {});\n","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"@splunk/react-ui/Markdown\");","module.exports = require(\"lodash/isEmpty\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/react-ui/Heading\");","import React from 'react';\nimport T from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Heading from '@splunk/react-ui/Heading';\nimport Markdown from '@splunk/react-ui/Markdown';\nimport styled from 'styled-components';\nimport { merge } from 'lodash';\nimport { getOptionDisplayType, getPatternOptions } from '../../.storybook/utils/storybookUtils';\n\nconst Option = styled.div`\n margin-top: 20px;\n`;\nconst OptionName = styled.div`\n color: #5ca300;\n padding-bottom: 5px;\n`;\nconst PairContainer = styled.div`\n margin-left: 40px;\n margin-top: 10px;\n`;\nconst PairTitle = styled.span`\n display: inline-block;\n color: #8293a7;\n width: 80px;\n`;\n\nconst PairValue = styled.span`\n font-family: 'Splunk Platform Mono', 'monospace';\n white-space: pre;\n`;\n\nconst PairValueJSON = styled.div`\n margin-left: 80px;\n pre {\n margin: 0;\n }\n code {\n font-size: 12px;\n font-family: 'Splunk Platform Mono', 'monospace';\n }\n`;\n\nconst PropertiesWrapper = styled.div`\n margin-left: ${props => (props.isPatternProperty ? 0 : 40)}px;\n margin-top: 20px;\n`;\n\nconst PropertiesContainer = styled.div`\n margin-left: ${props => (props.isPatternProperty ? 40 : 0)}px;\n margin-top: 10px;\n`;\n\nconst PropertiesContent = styled.div`\n margin-left: ${props => (props.isPatternProperty ? 40 : 0)}px;\n`;\n\n/**\n * @method isOneOfJsonSchema\n * @param {object} item\n * @returns {boolean}\n */\nconst isOneOfJsonSchema = item => item.oneOf && Array.isArray(item.oneOf);\n\n/**\n * get Or type as string\n * @method getOrType\n * @param {object} item\n * @param {string} res\n * @returns {string} res eg: (string | number)\n */\nconst getOrType = item => {\n let res = '';\n\n if (isOneOfJsonSchema(item)) {\n res = item.oneOf\n .map(one => {\n if (one.type !== 'array') {\n return one.type;\n }\n // eslint-disable-next-line no-use-before-define\n return getArrayType(one, '');\n })\n .join(' | ');\n } else if (Array.isArray(item.type)) {\n if (isEmpty(item.default)) {\n return item.type.join(' | ');\n }\n\n res = item.type.filter(itemType => itemType !== 'string').join(' | ');\n res += ' | ';\n res += `\"${item.default}\"`;\n }\n\n return res;\n};\n\n/**\n * get the array type as string\n * @method getArrayType\n * @param {object} item\n * @param {string} res\n * @returns {string} res eg: arrayOf(arrayOf(string | number | arrayOf(string | number)))\n */\nconst getArrayType = (item, res = '') => {\n if (item.type !== 'array') {\n if (Array.isArray(item.type) || isOneOfJsonSchema(item)) {\n return getOrType(item);\n }\n\n return item.type;\n }\n\n if (item.type === 'array') {\n res += 'arrayOf('; // eslint-disable-line no-param-reassign\n }\n res += getArrayType(item.items, ''); // eslint-disable-line no-param-reassign\n res += ')'; // eslint-disable-line no-param-reassign\n return res;\n};\n\n/**\n * get the type of this option item\n * @method getType\n * @param {ojbect} item option item\n * @returns {string} type\n */\nexport const getType = item => {\n if (isOneOfJsonSchema(item)) {\n return `oneOf(${getOrType(item)})`;\n }\n if (item.enum && Array.isArray(item.enum)) {\n const values =\n !isEmpty(item.enum) && typeof item.enum[0] === 'string'\n ? item.enum.map(v => `\"${v}\"`).join(', ')\n : item.enum.join(', ');\n\n return `oneOf([${values}])`;\n }\n\n if (Array.isArray(item.type)) {\n return getOrType(item);\n }\n\n if (item.type === 'array') {\n if ('items' in item) {\n return `arrayOf(${getType(item.items)})`;\n }\n return 'array';\n }\n return item.type;\n};\n\n/**\n * get the default value as string\n * @method getDefaultValue\n * @param {object | boolean | number | string} defaultValue\n * @returns {string | object[]} default value\n */\nconst getDefaultValue = defaultValue => {\n if (typeof defaultValue === 'boolean' || typeof defaultValue === 'number') {\n return defaultValue.toString();\n }\n if (Array.isArray(defaultValue)) {\n if (defaultValue.length > 1 && typeof defaultValue[0] === 'object') {\n // return the array only if the defaultValue is an object array\n return defaultValue;\n }\n const values = defaultValue.map(v => JSON.stringify(v)).join(', ');\n return `[${values}]`;\n }\n return defaultValue;\n};\n\nconst Pair = ({ title, content }) => (\n <PairContainer>\n <PairTitle>{`${title}:`}</PairTitle>\n {Array.isArray(content) ? (\n <PairValueJSON>\n <pre>\n <code>{JSON.stringify(content, null, 2)}</code>\n </pre>\n </PairValueJSON>\n ) : (\n <PairValue>{content}</PairValue>\n )}\n </PairContainer>\n);\n\nPair.propTypes = {\n title: T.string,\n content: T.oneOfType([T.string, T.arrayOf(T.object)]),\n};\n\nconst PropertyItems = ({ isPatternProperty = false, propsItems }) => (\n <PropertiesContainer isPatternProperty={isPatternProperty}>\n {isPatternProperty ? <PairTitle>{_('[fieldName]:')}</PairTitle> : null}\n <PropertiesContent isPatternProperty={isPatternProperty}>{propsItems}</PropertiesContent>\n </PropertiesContainer>\n);\n\nPropertyItems.propTypes = {\n isPatternProperty: T.bool,\n propsItems: T.array,\n};\n\nconst OptionItem = ({ name, type, desc, defaultValue, enumerable, PropertiesSection }) => (\n <Option>\n <OptionName>{name}</OptionName>\n {desc ? <Markdown style={{ marginLeft: 40 }} text={desc} /> : null}\n <Pair title={_('Type')} content={type} />\n {enumerable?.length > 0 && (\n <Pair\n title={_('oneOf')}\n content={`(${enumerable\n .map(\n entry =>\n `${typeof entry === 'string' ? '\"' : ''}${entry}${\n typeof entry === 'string' ? '\"' : ''\n }`\n )\n .join(' | ')})`}\n />\n )}\n {defaultValue && <Pair title={_('Default')} content={defaultValue} />}\n {PropertiesSection}\n </Option>\n);\n\nOptionItem.propTypes = {\n name: T.string,\n type: T.string,\n desc: T.string,\n enumerable: T.arrayOf(T.oneOfType([T.string, T.number])),\n defaultValue: T.oneOfType([T.string, T.arrayOf(T.object)]),\n PropertiesSection: T.element,\n};\n\nOptionItem.default = {\n PropertiesItem: null,\n};\n\nconst getPropertiesSection = (properties, patternProperties) => {\n let allProperties = [];\n let isPatternProperty = false;\n\n // the properties either comes from property field of the option schema item\n // or from the property field of each patternProperties of the option schema item\n // can check table tableFormat and columnFormat as examples\n if (!isEmpty(properties)) {\n allProperties = [properties];\n } else if (!isEmpty(patternProperties)) {\n Object.keys(patternProperties).forEach(patternKey => {\n const propsInPattern = patternProperties[patternKey].properties;\n if (propsInPattern) {\n allProperties.push(propsInPattern);\n }\n });\n\n isPatternProperty = true;\n }\n\n if (allProperties.length) {\n const allPropsItems = allProperties.map(props => {\n const propsItems = Object.keys(props).map(pKey => {\n const p = props[pKey];\n let pType = p.anyOf?.[0]\n ? getOptionDisplayType({ ...p.anyOf?.[0], enum: p.enum })\n : getOptionDisplayType({ ...p, enum: p.enum });\n const pDefault = getDefaultValue(p.default);\n\n let pEnumerable;\n // get nested oneOf property listing\n if (typeof p.anyOf?.[0]?.pattern === 'string') {\n pEnumerable = getPatternOptions(p.anyOf[0].pattern);\n } else if (p.anyOf?.[0]?.items?.enum?.length > 0) {\n // quick fix for nested `columnFormat` enumerables that replaces enums within brackets with raw JS types\n pType = pType.replace(/\\((.+?)\\)/g, 'string');\n pEnumerable = p.anyOf[0].items.enum;\n } else if (p.anyOf?.[0]?.items?.items?.enum?.length > 0) {\n // quick fix for nested `tableFormat` enumerables that replaces enums within brackets with raw JS types\n pType = pType.replace(/\\((.+?)\\)/g, 'string');\n pEnumerable = p.anyOf[0].items.items.enum;\n } else if (p.enum) {\n pEnumerable = p.enum;\n }\n\n // use the JS types (e.g. string, number) of the nested property if the nested property is an enumerable\n if (pEnumerable?.length) {\n pType = p.anyOf?.[0]?.type !== 'array' ? p.anyOf?.[0]?.type : pType;\n if (Array.isArray(pType)) {\n pType = pType.join(' | ');\n }\n }\n\n return (\n <OptionItem\n key={pKey}\n name={pKey}\n type={pType}\n enumerable={pEnumerable}\n desc={p.description}\n defaultValue={pDefault}\n />\n );\n });\n return (\n <PropertyItems\n key={propsItems}\n isPatternProperty={isPatternProperty}\n propsItems={propsItems}\n />\n );\n });\n\n return <PropertiesWrapper isPatternProperty={isPatternProperty}>{allPropsItems}</PropertiesWrapper>;\n }\n return null;\n};\n\nconst OptionsDoc = ({ options, description }) => (\n <div>\n {options.length === 0 ? (\n <Heading level={4}> No Options</Heading>\n ) : (\n <Heading level={4}>Options</Heading>\n )}\n {description && <div>{description}</div>}\n {Object.entries(options).map(([key, item]) => {\n let type;\n let enumerable = [];\n let PropertiesSection = null;\n\n // get oneOf property listing\n if (typeof item.anyOf?.[0]?.pattern === 'string') {\n enumerable = getPatternOptions(item.anyOf[0].pattern);\n } else if (item.enum) {\n enumerable = item.enum;\n }\n\n // get the nested options inside {option}.items.anyof. e.g. 'layers' in Map\n if (item.anyOf?.[0]?.type === 'array' && 'anyOf' in item.anyOf?.[0]?.items) {\n type = getOptionDisplayType(item);\n const { patternProperties } = item;\n // merge the 3 objects together instead of showing the longest options in the array\n const option = item.anyOf?.[0]?.items?.anyOf;\n const mergedOptions = option.reduce((prev, next) => merge(prev, next), {});\n const { properties } = mergedOptions;\n PropertiesSection = getPropertiesSection(properties, patternProperties);\n return (\n <OptionItem\n key={key}\n name={key}\n type={type}\n enumerable={enumerable}\n desc={item.description}\n PropertiesSection={PropertiesSection}\n />\n );\n }\n\n if (item.type === 'object') {\n // get properties for object type\n type = item.type;\n const { properties } = item;\n const { patternProperties } = item;\n PropertiesSection = getPropertiesSection(properties, patternProperties);\n } else if (enumerable?.length) {\n // use the JS types (e.g. string, number) of the property if the property is an enumerable\n type = item.anyOf?.[0]?.type;\n if (Array.isArray(type)) {\n type = type.join(' | ');\n }\n } else {\n type = getOptionDisplayType({ ...item.anyOf[0], enum: item.enum });\n }\n\n return (\n <OptionItem\n key={key}\n name={key}\n // item.anyOf in the config.ts is a tuple which holds [{ type, pattern, items }, { type, pattern: DYNAMIC_OPTIONS_PATTERN }]\n type={type}\n enumerable={enumerable}\n desc={item.description}\n defaultValue={getDefaultValue(item.default)}\n PropertiesSection={PropertiesSection}\n />\n );\n })}\n </div>\n);\n\nOptionsDoc.propTypes = {\n options: T.object.isRequired,\n description: T.string,\n};\n\nexport default OptionsDoc;\n","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");"],"sourceRoot":""}
@@ -106,31 +106,31 @@ module.exports = require("prop-types");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 11:
109
+ /***/ 10:
110
110
  /***/ (function(module, exports) {
111
111
 
112
- module.exports = require("@splunk/react-ui/ColumnLayout");
112
+ module.exports = require("@babel/runtime/helpers/slicedToArray");
113
113
 
114
114
  /***/ }),
115
115
 
116
116
  /***/ 12:
117
117
  /***/ (function(module, exports) {
118
118
 
119
- module.exports = require("@babel/runtime/helpers/typeof");
119
+ module.exports = require("@splunk/react-ui/ColumnLayout");
120
120
 
121
121
  /***/ }),
122
122
 
123
123
  /***/ 13:
124
124
  /***/ (function(module, exports) {
125
125
 
126
- module.exports = require("@splunk/visualizations-shared/colorUtils");
126
+ module.exports = require("@babel/runtime/helpers/typeof");
127
127
 
128
128
  /***/ }),
129
129
 
130
- /***/ 16:
130
+ /***/ 14:
131
131
  /***/ (function(module, exports) {
132
132
 
133
- module.exports = require("@babel/runtime/helpers/slicedToArray");
133
+ module.exports = require("@splunk/visualizations-shared/colorUtils");
134
134
 
135
135
  /***/ }),
136
136
 
@@ -202,9 +202,9 @@ module.exports = require("@splunk/react-ui/Heading");
202
202
 
203
203
  "use strict";
204
204
  __webpack_require__.r(__webpack_exports__);
205
- /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12);
205
+ /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
206
206
  /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
207
- /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
207
+ /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10);
208
208
  /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);
209
209
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
210
210
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
@@ -218,7 +218,7 @@ __webpack_require__.r(__webpack_exports__);
218
218
  /* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_6__);
219
219
  /* harmony import */ var lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(37);
220
220
  /* harmony import */ var lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_7__);
221
- /* harmony import */ var _splunk_react_ui_ColumnLayout__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(11);
221
+ /* harmony import */ var _splunk_react_ui_ColumnLayout__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(12);
222
222
  /* harmony import */ var _splunk_react_ui_ColumnLayout__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_ColumnLayout__WEBPACK_IMPORTED_MODULE_8__);
223
223
  /* harmony import */ var _splunk_react_ui_Select__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(29);
224
224
  /* harmony import */ var _splunk_react_ui_Select__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Select__WEBPACK_IMPORTED_MODULE_9__);
@@ -228,7 +228,7 @@ __webpack_require__.r(__webpack_exports__);
228
228
  /* harmony import */ var _splunk_react_ui_Tooltip__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Tooltip__WEBPACK_IMPORTED_MODULE_11__);
229
229
  /* harmony import */ var _splunk_themes_SplunkThemeProvider__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(40);
230
230
  /* harmony import */ var _splunk_themes_SplunkThemeProvider__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_splunk_themes_SplunkThemeProvider__WEBPACK_IMPORTED_MODULE_12__);
231
- /* harmony import */ var _splunk_visualizations_shared_colorUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(13);
231
+ /* harmony import */ var _splunk_visualizations_shared_colorUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(14);
232
232
  /* harmony import */ var _splunk_visualizations_shared_colorUtils__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_colorUtils__WEBPACK_IMPORTED_MODULE_13__);
233
233
  /* harmony import */ var _splunk_visualization_themes_variables__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(19);
234
234
  /* harmony import */ var _splunk_visualization_themes_variables__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualization_themes_variables__WEBPACK_IMPORTED_MODULE_14__);