@splunk/visualizations 23.3.0 → 24.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1110) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_100_height_width.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_SVG_with_XML_and_DTD.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_background_blue.png +0 -0
  4. package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_black_dot.png +0 -0
  5. package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_clock.png +0 -0
  6. package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_color_rectangles.png +0 -0
  7. package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_fixed_height_400_width_400.png +0 -0
  8. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_100_height_width.png +0 -0
  9. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Background_Color_orange.png +0 -0
  10. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Gauge_Color_cyan.png +0 -0
  11. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_10.png +0 -0
  12. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_auto.png +0 -0
  13. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_Value_210_Major_Unit_25_ticks_position_unevenly.png +0 -0
  14. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_value_40K.png +0 -0
  15. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Min_Value_20_ticks_position_evenly.png +0 -0
  16. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal.png +0 -0
  17. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
  18. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
  19. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
  20. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_vertical_default.png +0 -0
  21. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Range_true.png +0 -0
  22. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Value_true.png +0 -0
  23. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Labels_false.png +0 -0
  24. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Value_false.png +0 -0
  25. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Too_Small_to_Render.png +0 -0
  26. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_basic.png +0 -0
  27. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_fixed_height_300_width_300.png +0 -0
  28. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Background_Color.png +0 -0
  29. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order.png +0 -0
  30. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_First_And_Last.png +0 -0
  31. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_Some.png +0 -0
  32. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields.png +0 -0
  33. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields_Columns.png +0 -0
  34. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Handles_Large_Data_Set.png +0 -0
  35. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Color.png +0 -0
  36. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Width.png +0 -0
  37. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Color.png +0 -0
  38. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Height.png +0 -0
  39. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Highlight_Color.png +0 -0
  40. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_X.png +0 -0
  41. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_Y.png +0 -0
  42. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Width.png +0 -0
  43. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Result_Limit.png +0 -0
  44. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Node_Counts_False.png +0 -0
  45. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Value_Counts_False.png +0 -0
  46. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Width_Height.png +0 -0
  47. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Background_Color_orange.png +0 -0
  48. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_from.png +0 -0
  49. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_to.png +0 -0
  50. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_discontinuous_ranges.png +0 -0
  51. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_equals_to_to.png +0 -0
  52. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_is_larger_than_to.png +0 -0
  53. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_missing_entries.png +0 -0
  54. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_10.png +0 -0
  55. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_auto.png +0 -0
  56. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal.png +0 -0
  57. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
  58. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_vertical_default.png +0 -0
  59. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Range_true.png +0 -0
  60. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Value_true.png +0 -0
  61. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_default.png +0 -0
  62. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_100_tick_positions_even.png +0 -0
  63. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_110_majorUnit_20_tick_positions_uneven.png +0 -0
  64. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_multiple_steps.png +0 -0
  65. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_single_step.png +0 -0
  66. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Labels_false.png +0 -0
  67. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Value_false.png +0 -0
  68. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Too_Small_to_Render.png +0 -0
  69. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_array_column_values.png +0 -0
  70. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_backgroundColor_navy_000080.png +0 -0
  71. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_basic.png +0 -0
  72. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_categorical_dataSources_excessive_categorical_data.png +0 -0
  73. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_dimensions_less_than_minWidth_200_and_minHeight_150.png +0 -0
  74. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineColor_pink_FFC0CB.png +0 -0
  75. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineOpacity_0_3.png +0 -0
  76. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_numerical_dataSources.png +0 -0
  77. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_showNullAxis_false.png +0 -0
  78. package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_stringified_numerical_dataSources.png +0 -0
  79. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_100_height_width.png +0 -0
  80. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_global.png +0 -0
  81. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_row.png +0 -0
  82. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_area.png +0 -0
  83. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_radius.png +0 -0
  84. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false.png +0 -0
  85. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Max_Bubble_Radius_25.png +0 -0
  86. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5.png +0 -0
  87. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_categorical_Bubble_Scale_radius_Bubble_Row_Scale_global.png +0 -0
  88. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_dynamic_Bubble_Scale_area_Bubble_Row_Scale_row.png +0 -0
  89. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true.png +0 -0
  90. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_categorical_Bubble_Scale_area_Bubble_Row_Scale_global.png +0 -0
  91. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_dynamic_Bubble_Scale_radius_Bubble_Row_Scale_row.png +0 -0
  92. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_99.png +0 -0
  93. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Min_Bubble_Size_30.png +0 -0
  94. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical.png +0 -0
  95. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
  96. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_false.png +0 -0
  97. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_true.png +0 -0
  98. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic.png +0 -0
  99. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Bubble_Color_red.png +0 -0
  100. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_0.png +0 -0
  101. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_100.png +0 -0
  102. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Duplicated_data_point_x_8_y_tuesday_size_29_category_Allison_V_1710.png +0 -0
  103. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_friday_size_undefined_category_undefined.png +0 -0
  104. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_undefined_size_12_category_undefined.png +0 -0
  105. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_undefined_y_friday_size_29_category_undefined.png +0 -0
  106. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Legend_label_is_long_no_overflow.png +0 -0
  107. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_all.png +0 -0
  108. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_max.png +0 -0
  109. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_none.png +0 -0
  110. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Some_axis_labels_should_be_hidden.png +0 -0
  111. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Sort_axes_useDefaultSort_true.png +0 -0
  112. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_default_height_width.png +0 -0
  113. package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_fixed_height_300_width_700.png +0 -0
  114. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backgroundcolor_pink.png +0 -0
  115. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backward_link_and_self_loop.png +0 -0
  116. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_basic.png +0 -0
  117. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_colorMode_dynamic.png +0 -0
  118. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_height_and_width_set_to_non_numeric.png +0 -0
  119. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_less_than_minWidth_300_and_minHeight_200.png +0 -0
  120. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_invalid_columns_data.png +0 -0
  121. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_charity_data.png +0 -0
  122. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_energy_data.png +0 -0
  123. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_linkOpacity_changed_to_0_8.png +0 -0
  124. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodePadding_changed_to_8.png +0 -0
  125. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodeWidth_changed_to_15.png +0 -0
  126. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_resultLimit_set_to_4.png +0 -0
  127. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_100_height_and_width.png +0 -0
  128. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Background_color_cyan.png +0 -0
  129. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Color_blue.png +0 -0
  130. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Opacity_0_3.png +0 -0
  131. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_after.png +0 -0
  132. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_below.png +0 -0
  133. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_top.png +0 -0
  134. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_activity.png +0 -0
  135. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_clock.png +0 -0
  136. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Color_red.png +0 -0
  137. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Font_Size_128_Trend_Font_Size_30.png +0 -0
  138. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Number_Precision_2.png +0 -0
  139. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Show_Value_false.png +0 -0
  140. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Thousand_Separators_disabled.png +0 -0
  141. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Color_red.png +0 -0
  142. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Display_percent.png +0 -0
  143. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Truncate_Trend_Units_enabled.png +0 -0
  144. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_after_default.png +0 -0
  145. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_before.png +0 -0
  146. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_basic.png +0 -0
  147. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_300_width_300.png +0 -0
  148. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_35_width_35.png +0 -0
  149. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_no_props.png +0 -0
  150. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_100_height_and_width.png +0 -0
  151. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_flamenco.png +0 -0
  152. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_is_white.png +0 -0
  153. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Major_Color_red.png +0 -0
  154. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Max_Value_50.png +0 -0
  155. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Number_Precision_2.png +0 -0
  156. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Background_Color_pink.png +0 -0
  157. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Stroke_Color_valencia.png +0 -0
  158. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_String_values.png +0 -0
  159. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_disabled.png +0 -0
  160. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_enabled_default.png +0 -0
  161. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Color_red.png +0 -0
  162. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_absolute_default.png +0 -0
  163. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_off.png +0 -0
  164. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_percent.png +0 -0
  165. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Indicator_Position_pushed_below_value_does_not_fit_inside_of_radial.png +0 -0
  166. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_disabled.png +0 -0
  167. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_enabled.png +0 -0
  168. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Under_label_specified.png +0 -0
  169. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_after_default.png +0 -0
  170. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_before.png +0 -0
  171. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic.png +0 -0
  172. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_dark_theme.png +0 -0
  173. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_default_theme.png +0 -0
  174. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_scp_theme.png +0 -0
  175. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_300_width_300.png +0 -0
  176. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_35_width_35.png +0 -0
  177. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_no_props.png +0 -0
  178. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_100_height_width.png +0 -0
  179. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Automatic_font_sizing_should_not_overflow.png +0 -0
  180. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_blue.png +0 -0
  181. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_white_Under_Label_and_Unit_specified.png +0 -0
  182. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Large_card_686_width.png +0 -0
  183. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Color_red.png +0 -0
  184. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Font_Size_128_Trend_Font_Size_30_Under_Label_Font_Size_16.png +0 -0
  185. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Value_is_null.png +0 -0
  186. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Medium_card_250_width_686.png +0 -0
  187. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Number_Precision_2.png +0 -0
  188. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_250.png +0 -0
  189. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_50.png +0 -0
  190. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_after.png +0 -0
  191. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_before.png +0 -0
  192. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_below_default.png +0 -0
  193. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_off.png +0 -0
  194. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Fill_Color_blue.png +0 -0
  195. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_2_Sparkline_Highlight_Dots_2.png +0 -0
  196. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_4_Sparkline_Highlight_Dots_5.png +0 -0
  197. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_characters_invalid.png +0 -0
  198. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_negative_3_invalid.png +0 -0
  199. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_disabled.png +0 -0
  200. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_enabled_default.png +0 -0
  201. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Stroke_Color_red.png +0 -0
  202. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Tooltip_show.png +0 -0
  203. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_disabled_default.png +0 -0
  204. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_billions.png +0 -0
  205. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_hundreds.png +0 -0
  206. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_millions.png +0 -0
  207. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_thousands.png +0 -0
  208. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_trillions.png +0 -0
  209. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_converts_non_numeric_values_to_null.png +0 -0
  210. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_does_not_show_if_only_1_entry_in_graphData.png +0 -0
  211. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_String_values.png +0 -0
  212. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_disabled.png +0 -0
  213. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_enabled_default.png +0 -0
  214. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_red.png +0 -0
  215. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_specified.png +0 -0
  216. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_absolute_default.png +0 -0
  217. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_off.png +0 -0
  218. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent.png +0 -0
  219. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_10_Trend_Value_3.png +0 -0
  220. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_13_Trend_Value_negative_3.png +0 -0
  221. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Trend_Value_0.png +0 -0
  222. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_value_equals_trendValue.png +0 -0
  223. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Empty_string.png +0 -0
  224. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Not_A_Number.png +0 -0
  225. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Under_Label_specified.png +0 -0
  226. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_after_default.png +0 -0
  227. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_before.png +0 -0
  228. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic.png +0 -0
  229. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_0_value.png +0 -0
  230. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_all_0.png +0 -0
  231. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_300_width_300.png +0 -0
  232. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_35_width_35_Major_Font_Size_8.png +0 -0
  233. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_60_width_60_Major_Font_Size_12_Background_Color_blue.png +0 -0
  234. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_no_props.png +0 -0
  235. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Black_Dot.png +0 -0
  236. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Clock.png +0 -0
  237. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Color_Rectangles.png +0 -0
  238. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_SVG_with_XML_and_DTD.png +0 -0
  239. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
  240. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  241. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
  242. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  243. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  244. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  245. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  246. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
  247. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
  248. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  249. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
  250. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
  251. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  252. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  253. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
  254. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  255. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
  256. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
  257. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  258. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  259. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  260. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  261. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Area_Opacity_0_5.png +0 -0
  262. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Background_Color_french_rose.png +0 -0
  263. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Basic_Area.png +0 -0
  264. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Annotation.png +0 -0
  265. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  266. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  267. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  268. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  269. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  270. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  271. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  272. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
  273. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  274. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  275. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_20.png +0 -0
  276. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_and_Minor_Tick_Size_10.png +0 -0
  277. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
  278. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Max_120.png +0 -0
  279. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Min_50.png +0 -0
  280. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  281. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
  282. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  283. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Line_Width_5.png +0 -0
  284. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  285. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  286. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_all.png +0 -0
  287. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_minmax.png +0 -0
  288. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_bottom.png +0 -0
  289. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_left.png +0 -0
  290. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_off.png +0 -0
  291. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_top.png +0 -0
  292. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Mode_seriesCompare.png +0 -0
  293. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  294. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  295. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  296. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  297. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_connect.png +0 -0
  298. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_gaps_default.png +0 -0
  299. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_zero.png +0 -0
  300. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  301. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  302. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_0_Number_of_Results_100.png +0 -0
  303. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  304. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  305. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_50_Number_of_Results_40.png +0 -0
  306. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
  307. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_red_blue_green_orange_pink.png +0 -0
  308. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  309. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Lines_false.png +0 -0
  310. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Split_Series_true.png +0 -0
  311. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_X_Axis_Major_Grid_Lines_true_Y_Axis_Major_Grid_Lines_false.png +0 -0
  312. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_false.png +0 -0
  313. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  314. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  315. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_false_default.png +0 -0
  316. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_true.png +0 -0
  317. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked.png +0 -0
  318. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked100.png +0 -0
  319. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_45.png +0 -0
  320. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_90.png +0 -0
  321. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_45.png +0 -0
  322. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_90.png +0 -0
  323. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Visibility_hide.png +0 -0
  324. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
  325. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Major_Ticks_Size_15.png +0 -0
  326. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_1.png +0 -0
  327. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_2.png +0 -0
  328. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_3_default.png +0 -0
  329. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Mapped_Field_specified.png +0 -0
  330. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  331. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_off.png +0 -0
  332. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_on_default.png +0 -0
  333. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_Tick_Interval_100.png +0 -0
  334. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_X_Axis_Major_Tick_Visibility_hide.png +0 -0
  335. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
  336. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Maximum_Number_500.png +0 -0
  337. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Minimum_Number_250.png +0 -0
  338. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Scale_log.png +0 -0
  339. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
  340. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  341. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Maximum_Number_500.png +0 -0
  342. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Minimum_Number_100.png +0 -0
  343. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Background_Color_green.png +0 -0
  344. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Bar_Spacing_10.png +0 -0
  345. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Basic_Bar.png +0 -0
  346. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Line_Width_5.png +0 -0
  347. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  348. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  349. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Major_and_Minor_Grid_Lines_true.png +0 -0
  350. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  351. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  352. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  353. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  354. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  355. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
  356. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  357. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  358. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_50.png +0 -0
  359. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Minor_Ticks_Size_10.png +0 -0
  360. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
  361. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Max_500.png +0 -0
  362. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Min_100.png +0 -0
  363. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  364. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  365. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Visibility_hide.png +0 -0
  366. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_all.png +0 -0
  367. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_minmax.png +0 -0
  368. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_bottom.png +0 -0
  369. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_left.png +0 -0
  370. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_off.png +0 -0
  371. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_top.png +0 -0
  372. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Multi_Series.png +0 -0
  373. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  374. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  375. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  376. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  377. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  378. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  379. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_0_Number_of_Results_100.png +0 -0
  380. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  381. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  382. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_50_Number_of_Results_40.png +0 -0
  383. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
  384. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_red_and_blue.png +0 -0
  385. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Spacing_5.png +0 -0
  386. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  387. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Split_Series_true.png +0 -0
  388. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_X_Axis_Major_Grid_true_Y_Axis_Major_Grid_false.png +0 -0
  389. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_false.png +0 -0
  390. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  391. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Minor_Grid_true.png +0 -0
  392. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_false_default.png +0 -0
  393. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_true.png +0 -0
  394. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked.png +0 -0
  395. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked100.png +0 -0
  396. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Label_Visibility_hide.png +0 -0
  397. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Line_Visibility_show.png +0 -0
  398. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_Size_15.png +0 -0
  399. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_hide.png +0 -0
  400. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_1.png +0 -0
  401. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_2.png +0 -0
  402. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_3_default.png +0 -0
  403. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Mapped_Field_specified.png +0 -0
  404. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  405. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_off.png +0 -0
  406. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_on_default.png +0 -0
  407. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Label_Visibility_hide.png +0 -0
  408. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Line_Visibility_show.png +0 -0
  409. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Major_and_Minor_Ticks_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
  410. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Scale_log.png +0 -0
  411. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Tick_Interval_50.png +0 -0
  412. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  413. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Visibility_hide.png +0 -0
  414. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Background_Color_grey.png +0 -0
  415. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Basic_Bubble.png +0 -0
  416. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Max_90.png +0 -0
  417. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_area_default.png +0 -0
  418. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_diameter.png +0 -0
  419. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Min_40.png +0 -0
  420. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Column_data_based_on_DSL.png +0 -0
  421. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Field_Colors_200_green_201_red.png +0 -0
  422. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_bottom.png +0 -0
  423. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_left.png +0 -0
  424. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_off.png +0 -0
  425. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_top.png +0 -0
  426. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Multi_Series.png +0 -0
  427. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  428. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  429. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_0_Number_of_Results_30.png +0 -0
  430. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_10_Number_of_Results_30.png +0 -0
  431. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
  432. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_50_Number_of_Results_30.png +0 -0
  433. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Series_Colors_orange_and_blue.png +0 -0
  434. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_false.png +0 -0
  435. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_true_default.png +0 -0
  436. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Minor_Grid_true.png +0 -0
  437. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_false_default.png +0 -0
  438. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_true.png +0 -0
  439. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_false_default.png +0 -0
  440. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_true.png +0 -0
  441. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_false.png +0 -0
  442. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_true_default.png +0 -0
  443. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Major_Grid_false.png +0 -0
  444. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Minor_Grid_true.png +0 -0
  445. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_false_default.png +0 -0
  446. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_true.png +0 -0
  447. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_auto.png +0 -0
  448. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_off_default.png +0 -0
  449. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_45.png +0 -0
  450. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_90.png +0 -0
  451. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_45.png +0 -0
  452. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_90.png +0 -0
  453. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  454. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_hide_default.png +0 -0
  455. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_show.png +0 -0
  456. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Interval_6.png +0 -0
  457. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
  458. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_hide.png +0 -0
  459. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_show.png +0 -0
  460. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Maximum_Number_14.png +0 -0
  461. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minimum_Number_10.png +0 -0
  462. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
  463. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_show.png +0 -0
  464. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Scale_log.png +0 -0
  465. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_auto_default.png +0 -0
  466. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_off.png +0 -0
  467. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Line_Visibility_show.png +0 -0
  468. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Interval_150.png +0 -0
  469. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
  470. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
  471. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  472. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Maximum_Number_800.png +0 -0
  473. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minimum_Number_300.png +0 -0
  474. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
  475. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
  476. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Scale_log.png +0 -0
  477. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
  478. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  479. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Click.png +0 -0
  480. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Default.png +0 -0
  481. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Missing_Props_Message_When_No_Svg.png +0 -0
  482. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Placeholder_If_No_Svg_And_No_Data.png +0 -0
  483. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_a_rangeValue_threshold.png +0 -0
  484. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_areaIds.png +0 -0
  485. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_using_multiMap_formatter.png +0 -0
  486. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Svg_Shows_Even_When_No_Datasources.png +0 -0
  487. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Use_Local_To_Download_Svg.png +0 -0
  488. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Background_Color_red.png +0 -0
  489. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Basic_Column.png +0 -0
  490. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Annotation.png +0 -0
  491. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Line_Width_5.png +0 -0
  492. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  493. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  494. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  495. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  496. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  497. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  498. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  499. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  500. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  501. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_10000.png +0 -0
  502. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
  503. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
  504. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Max_80000.png +0 -0
  505. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Min_50000.png +0 -0
  506. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  507. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_Visibility_hide.png +0 -0
  508. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  509. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay.png +0 -0
  510. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay_Stack_Mode_stacked.png +0 -0
  511. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Spacing_10.png +0 -0
  512. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_all.png +0 -0
  513. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_minmax.png +0 -0
  514. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_bottom.png +0 -0
  515. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_left.png +0 -0
  516. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_off.png +0 -0
  517. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_top.png +0 -0
  518. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multi_Series.png +0 -0
  519. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  520. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  521. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  522. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  523. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  524. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  525. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_0_Number_of_Results_100.png +0 -0
  526. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  527. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  528. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_50_Number_of_Results_40.png +0 -0
  529. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_By_Field_splunkd_green_mongod_orange.png +0 -0
  530. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_red_blue_green.png +0 -0
  531. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Spacing_5.png +0 -0
  532. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  533. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Long_Tooltip_X_Axis_Label_Visibility_hide.png +0 -0
  534. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Split_Series_true.png +0 -0
  535. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Tooltip_false.png +0 -0
  536. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
  537. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_false.png +0 -0
  538. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  539. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  540. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_false_default.png +0 -0
  541. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_true.png +0 -0
  542. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked.png +0 -0
  543. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked100.png +0 -0
  544. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_45.png +0 -0
  545. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_90.png +0 -0
  546. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_45.png +0 -0
  547. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_90.png +0 -0
  548. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  549. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Line_Visibility_show.png +0 -0
  550. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_1.png +0 -0
  551. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_2.png +0 -0
  552. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_3_default.png +0 -0
  553. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  554. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  555. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_and_Y_Axis_Major_Tick_Size_20_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  556. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_specified.png +0 -0
  557. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  558. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Overlay_Fields_specified.png +0 -0
  559. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Overlay_Field_specified.png +0 -0
  560. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_off.png +0 -0
  561. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Line_Visibility_show.png +0 -0
  562. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Major_Tick_Interval_10000.png +0 -0
  563. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Maximum_Number_80000.png +0 -0
  564. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minimum_Number_60000.png +0 -0
  565. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minor_Tick_Size_10_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  566. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Scale_log.png +0 -0
  567. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Basic_Ellipse.png +0 -0
  568. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
  569. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_cyan.png +0 -0
  570. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_purple_Fill_Opacity_0_5.png +0 -0
  571. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_red.png +0 -0
  572. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fixed_height_200_width_200.png +0 -0
  573. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown.png +0 -0
  574. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown_Fill_Color_blue.png +0 -0
  575. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
  576. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green.png +0 -0
  577. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green_Fill_Color_red.png +0 -0
  578. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Dash_Style_5.png +0 -0
  579. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Opacity_0_8_Fill_Opacity_0_5.png +0 -0
  580. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
  581. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5.png +0 -0
  582. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5_Stroke_Dash_Style_10.png +0 -0
  583. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_100_height_width.png +0 -0
  584. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Background_Color_orange.png +0 -0
  585. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Basic_Filler_Gauge.png +0 -0
  586. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_computed_using_rangeValue_formatter.png +0 -0
  587. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_yellow.png +0 -0
  588. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_number_default.png +0 -0
  589. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_off.png +0 -0
  590. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_percentage.png +0 -0
  591. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_10.png +0 -0
  592. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_auto_default.png +0 -0
  593. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal.png +0 -0
  594. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
  595. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
  596. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
  597. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_vertical_default.png +0 -0
  598. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  599. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  600. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_number_default.png +0 -0
  601. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_off.png +0 -0
  602. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage.png +0 -0
  603. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
  604. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Basic_Image.png +0 -0
  605. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_dynamic_image.png +0 -0
  606. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_remote_image.png +0 -0
  607. package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPEG_image_Preserve_Aspect_Ratio_true.png +0 -0
  608. package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPG_image_Preserve_Aspect_Ratio_true.png +0 -0
  609. package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_image_src_present_in_options.png +0 -0
  610. package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_options_present.png +0 -0
  611. package/.loki/reference/chrome_docker_Visualizations_Image_Image_PNG_image_Preserve_Aspect_Ratio_true.png +0 -0
  612. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_JPG_image_link.png +0 -0
  613. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_PNG_image_link.png +0 -0
  614. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_svg_image_link.png +0 -0
  615. package/.loki/reference/chrome_docker_Visualizations_Image_Image_SVG_image_Preserve_Aspect_Ratio_true.png +0 -0
  616. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Background_Color_red.png +0 -0
  617. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line.png +0 -0
  618. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Annotation.png +0 -0
  619. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_On_Y2_Axis_Major_Tick_Interval_100.png +0 -0
  620. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  621. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  622. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  623. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  624. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  625. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  626. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  627. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
  628. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  629. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  630. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  631. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
  632. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
  633. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Maximum_Number_500.png +0 -0
  634. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minimum_Number_100.png +0 -0
  635. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  636. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  637. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
  638. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  639. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_all.png +0 -0
  640. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_minmax.png +0 -0
  641. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_bottom.png +0 -0
  642. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_left.png +0 -0
  643. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_off.png +0 -0
  644. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_top.png +0 -0
  645. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Mode_seriesCompare.png +0 -0
  646. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_dot_percent_dash.png +0 -0
  647. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDashDot_percent_longDashDotDot.png +0 -0
  648. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDash_percent_dashDot.png +0 -0
  649. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDashDot_percent_shortDashDotDot.png +0 -0
  650. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDash_percent_shortDot.png +0 -0
  651. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dash.png +0 -0
  652. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dashDot.png +0 -0
  653. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dot.png +0 -0
  654. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDash.png +0 -0
  655. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDot.png +0 -0
  656. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDotDot.png +0 -0
  657. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDash.png +0 -0
  658. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDot.png +0 -0
  659. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDotDot.png +0 -0
  660. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_solid_default.png +0 -0
  661. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Width_5.png +0 -0
  662. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_filled.png +0 -0
  663. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_invalid_value.png +0 -0
  664. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_off_default.png +0 -0
  665. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_outlined.png +0 -0
  666. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Multi_Series.png +0 -0
  667. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_default.png +0 -0
  668. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  669. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  670. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  671. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_connect.png +0 -0
  672. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_gaps_default.png +0 -0
  673. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_zero.png +0 -0
  674. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  675. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  676. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_0_Number_of_Results_100.png +0 -0
  677. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  678. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
  679. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  680. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_50_Number_of_Results_40.png +0 -0
  681. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_By_Field_count_green_percent_orange.png +0 -0
  682. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_red_and_blue.png +0 -0
  683. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  684. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Split_Series_true.png +0 -0
  685. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
  686. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_false.png +0 -0
  687. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  688. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  689. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_false_default.png +0 -0
  690. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_true.png +0 -0
  691. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_45.png +0 -0
  692. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_90.png +0 -0
  693. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_45.png +0 -0
  694. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_90.png +0 -0
  695. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  696. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
  697. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Major_Tick_Visibility_hide_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  698. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_1.png +0 -0
  699. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_2.png +0 -0
  700. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_3_default.png +0 -0
  701. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  702. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  703. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_and_Y_Axis_Major_Tick_Size_20.png +0 -0
  704. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Mapped_Field_specified.png +0 -0
  705. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  706. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_off.png +0 -0
  707. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_on_default.png +0 -0
  708. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Major_Tick_Interval_10.png +0 -0
  709. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Maximum_Number_50.png +0 -0
  710. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minimum_Number_25.png +0 -0
  711. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minor_Tick_Visibility_show_Y_Axis_Minor_Tick_Size_15.png +0 -0
  712. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Scale_log.png +0 -0
  713. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Basic_LinkGraph.png +0 -0
  714. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_First_and_Last_Fields.png +0 -0
  715. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_First_to_the_Last_Fields.png +0 -0
  716. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_Last_to_the_First_Fields.png +0 -0
  717. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Result_Limit_3.png +0 -0
  718. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Show_Placeholder.png +0 -0
  719. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
  720. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
  721. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
  722. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
  723. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Background_Color_blue.png +0 -0
  724. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Basic_Marker_Gauge.png +0 -0
  725. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_0_to_30_purple_30_to_90_blue_90_to_100_pink.png +0 -0
  726. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_negative_10_to_50_blue.png +0 -0
  727. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_number_default.png +0 -0
  728. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_off.png +0 -0
  729. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_percentage.png +0 -0
  730. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Major_Tick_Interval_7.png +0 -0
  731. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_horizontal.png +0 -0
  732. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_vertical_default.png +0 -0
  733. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  734. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  735. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_number_default.png +0 -0
  736. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_off.png +0 -0
  737. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage.png +0 -0
  738. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
  739. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Array_column_values.png +0 -0
  740. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Background_Color_yellow.png +0 -0
  741. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Basic_Parallel_Coordinates.png +0 -0
  742. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Categorical_dataSources_excessive_categorical_data.png +0 -0
  743. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Larger_Dimensions_width_800_height_500.png +0 -0
  744. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Color_pink.png +0 -0
  745. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Opacity_0_3.png +0 -0
  746. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Numerical_dataSources.png +0 -0
  747. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Null_Axis_false.png +0 -0
  748. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Placeholder.png +0 -0
  749. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Smaller_Dimensions_less_than_min_width_200_and_min_height_150.png +0 -0
  750. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Stringified_Numerical_dataSources.png +0 -0
  751. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Background_Color_red.png +0 -0
  752. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Basic_Pie.png +0 -0
  753. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Label_specified.png +0 -0
  754. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Threshold_0_05.png +0 -0
  755. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_off.png +0 -0
  756. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_valuesAndPercentage.png +0 -0
  757. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_values_default.png +0 -0
  758. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_More_than_2_columns_in_datasources.png +0 -0
  759. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Numeric_and_string_values_in_column_1.png +0 -0
  760. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  761. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  762. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_0_Number_of_Results_12.png +0 -0
  763. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_3_Number_of_Results_12.png +0 -0
  764. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_By_Field_April_black_December_yellow.png +0 -0
  765. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_red_blue_green_orange_pink.png +0 -0
  766. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Show_Donut_Hole_true.png +0 -0
  767. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Background_Color_green.png +0 -0
  768. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Basic_Punchcard.png +0 -0
  769. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Color_red.png +0 -0
  770. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_all_default.png +0 -0
  771. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_max.png +0 -0
  772. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_off.png +0 -0
  773. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_global_default.png +0 -0
  774. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_row.png +0 -0
  775. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_50.png +0 -0
  776. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Bubble_Size_Method_radius_Bubble_Row_Scale_row.png +0 -0
  777. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Color_Mode_categorical.png +0 -0
  778. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_area_default.png +0 -0
  779. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_radius.png +0 -0
  780. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Min_10.png +0 -0
  781. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical.png +0 -0
  782. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_off.png +0 -0
  783. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_right_default.png +0 -0
  784. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
  785. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_dynamic_default.png +0 -0
  786. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Multi_Series.png +0 -0
  787. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  788. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  789. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_false_default.png +0 -0
  790. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_true.png +0 -0
  791. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false.png +0 -0
  792. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Max_25.png +0 -0
  793. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5.png +0 -0
  794. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Bubble_Row_Scale_row.png +0 -0
  795. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Color_Mode_categorical_Bubble_Size_Method_radius.png +0 -0
  796. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_true_default.png +0 -0
  797. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Basic_Rectangle.png +0 -0
  798. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple.png +0 -0
  799. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple_Fill_Opacity_0_5.png +0 -0
  800. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
  801. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_cyan.png +0 -0
  802. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_0_default_Vertical_Corner_Radius_ry_25.png +0 -0
  803. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_15_Vertical_Corner_Radius_ry_25.png +0 -0
  804. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_0.png +0 -0
  805. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_Undefined_default_set_to_rx.png +0 -0
  806. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_5_Vertical_Corner_Radius_ry_5.png +0 -0
  807. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown.png +0 -0
  808. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown_Fill_Color_blue.png +0 -0
  809. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
  810. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow.png +0 -0
  811. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow_Fill_Color_purple.png +0 -0
  812. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_10.png +0 -0
  813. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_5.png +0 -0
  814. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_Bevel_Stroke_Width_10.png +0 -0
  815. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_miter_default_Stroke_Width_10.png +0 -0
  816. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_round_Stroke_Width_10.png +0 -0
  817. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
  818. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_5.png +0 -0
  819. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Background_Color_pink.png +0 -0
  820. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Backward_Link_Self_Loop.png +0 -0
  821. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Basic_Sankey.png +0 -0
  822. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Color_Mode_dynamic.png +0 -0
  823. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Dimension_Too_Small.png +0 -0
  824. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Larger_Dimension.png +0 -0
  825. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_0_8.png +0 -0
  826. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_Changed.png +0 -0
  827. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Values_Not_Default.png +0 -0
  828. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Show_Placeholder.png +0 -0
  829. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Background_Color_grey.png +0 -0
  830. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Basic_Scatter.png +0 -0
  831. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Column_data_based_on_DSL.png +0 -0
  832. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Field_Colors_200_green_201_red.png +0 -0
  833. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_bottom.png +0 -0
  834. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_left.png +0 -0
  835. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_off.png +0 -0
  836. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_top.png +0 -0
  837. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_end_default.png +0 -0
  838. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_middle.png +0 -0
  839. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_off.png +0 -0
  840. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_start.png +0 -0
  841. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Marker_Size_7.png +0 -0
  842. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Multi_Series.png +0 -0
  843. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  844. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  845. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_0_Number_of_Results_30.png +0 -0
  846. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_10_Number_of_Results_30.png +0 -0
  847. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
  848. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_50_Number_of_Results_30.png +0 -0
  849. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Series_Colors_orange_and_blue.png +0 -0
  850. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_false_default.png +0 -0
  851. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_true.png +0 -0
  852. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_false.png +0 -0
  853. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_true_default.png +0 -0
  854. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Minor_Grid_true.png +0 -0
  855. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_false_default.png +0 -0
  856. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_true.png +0 -0
  857. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_false.png +0 -0
  858. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_true_default.png +0 -0
  859. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Major_Grid_false.png +0 -0
  860. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Minor_Grid_true.png +0 -0
  861. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_false_default.png +0 -0
  862. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_true.png +0 -0
  863. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_auto.png +0 -0
  864. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_off_default.png +0 -0
  865. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_45.png +0 -0
  866. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_90.png +0 -0
  867. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_45.png +0 -0
  868. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_90.png +0 -0
  869. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  870. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_hide_default.png +0 -0
  871. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_show.png +0 -0
  872. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Interval_6.png +0 -0
  873. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Size_15_X_Axis_Minor_Tick_Size_10.png +0 -0
  874. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_hide.png +0 -0
  875. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_show.png +0 -0
  876. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Maximum_Number_14.png +0 -0
  877. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minimum_Number_10.png +0 -0
  878. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
  879. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_show.png +0 -0
  880. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Scale_log.png +0 -0
  881. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  882. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  883. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_auto_default.png +0 -0
  884. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_off.png +0 -0
  885. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Line_Visibility_show.png +0 -0
  886. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Interval_150.png +0 -0
  887. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
  888. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
  889. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  890. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Maximum_Number_1000.png +0 -0
  891. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minimum_Number_500.png +0 -0
  892. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
  893. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
  894. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Scale_log.png +0 -0
  895. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon.png +0 -0
  896. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Change_Icon_Color_For_A_Remote_Icon.png +0 -0
  897. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_The_Icon_As_A_Remote_Icon.png +0 -0
  898. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_backgroundColor_based_on_the_majorValue.png +0 -0
  899. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_icon_color_based_on_the_majorValue.png +0 -0
  900. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_majorColor_based_on_the_majorValue.png +0 -0
  901. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Mixed_Type_Series_Data.png +0 -0
  902. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Numerical_Series_Data.png +0 -0
  903. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_String_Type_Series_Data.png +0 -0
  904. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
  905. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Time_Type_Series_Data.png +0 -0
  906. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Major_Value.png +0 -0
  907. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Trend_Value.png +0 -0
  908. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial.png +0 -0
  909. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color.png +0 -0
  910. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color_By_Trend_Value.png +0 -0
  911. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Max_Value_1000.png +0 -0
  912. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Radial_Color_By_Major_Value.png +0 -0
  913. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Show_Placeholder.png +0 -0
  914. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Use_String_Type_Series_Data.png +0 -0
  915. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value.png +0 -0
  916. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Change_The_Color_Of_Major_Value_Based_On_Its_Value.png +0 -0
  917. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_No_Trend_Value.png +0 -0
  918. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value.png +0 -0
  919. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Trend_Value.png +0 -0
  920. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_Major_Value_Based_On_The_Trend_Value.png +0 -0
  921. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_The_Trend_Indicators_And_Number_Based_On_The_Trend_Value.png +0 -0
  922. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Gaps_For_Null_Value_In_Sparkline.png +0 -0
  923. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Placeholder.png +0 -0
  924. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Index_Out_Of_Range.png +0 -0
  925. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Value_Is_Zero.png +0 -0
  926. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Mixed_Type_Series_Data.png +0 -0
  927. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Numerical_Series_Data.png +0 -0
  928. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_String_Type_Series_Data.png +0 -0
  929. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
  930. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Time_Type_Series_Data.png +0 -0
  931. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
  932. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
  933. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
  934. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
  935. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
  936. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
  937. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
  938. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
  939. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
  940. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
  941. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
  942. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
  943. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
  944. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width.png +0 -0
  945. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
  946. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
  947. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
  948. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
  949. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
  950. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
  951. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
  952. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
  953. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
  954. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_none.png +0 -0
  955. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  956. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
  957. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
  958. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
  959. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
  960. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
  961. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Placeholder.png +0 -0
  962. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
  963. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
  964. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
  965. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  966. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  967. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  968. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  969. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
  970. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
  971. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
  972. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
  973. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
  974. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
  975. package/Area.config.js +48 -44
  976. package/Area.config.js.map +1 -1
  977. package/Area.js +297 -241
  978. package/Area.js.map +1 -1
  979. package/Bar.config.js +36 -32
  980. package/Bar.config.js.map +1 -1
  981. package/Bar.js +283 -228
  982. package/Bar.js.map +1 -1
  983. package/Bubble.config.js +35 -25
  984. package/Bubble.config.js.map +1 -1
  985. package/Bubble.js +289 -224
  986. package/Bubble.js.map +1 -1
  987. package/ChoroplethSvg.config.js +36 -33
  988. package/ChoroplethSvg.config.js.map +1 -1
  989. package/ChoroplethSvg.js +272 -209
  990. package/ChoroplethSvg.js.map +1 -1
  991. package/Column.config.js +36 -32
  992. package/Column.config.js.map +1 -1
  993. package/Column.js +285 -229
  994. package/Column.js.map +1 -1
  995. package/Ellipse.config.js +30 -27
  996. package/Ellipse.config.js.map +1 -1
  997. package/Ellipse.js +196 -141
  998. package/Ellipse.js.map +1 -1
  999. package/FillerGauge.config.js +888 -0
  1000. package/FillerGauge.config.js.map +1 -0
  1001. package/FillerGauge.js +3723 -0
  1002. package/FillerGauge.js.map +1 -0
  1003. package/Image.config.js +15 -8
  1004. package/Image.config.js.map +1 -1
  1005. package/Image.js +269 -205
  1006. package/Image.js.map +1 -1
  1007. package/LICENSE.md +14 -0
  1008. package/Line.config.js +46 -38
  1009. package/Line.config.js.map +1 -1
  1010. package/Line.js +297 -235
  1011. package/Line.js.map +1 -1
  1012. package/LinkGraph.config.js +110 -126
  1013. package/LinkGraph.config.js.map +1 -1
  1014. package/LinkGraph.js +426 -402
  1015. package/LinkGraph.js.map +1 -1
  1016. package/Markdown.config.js +124 -32
  1017. package/Markdown.config.js.map +1 -1
  1018. package/Markdown.js +301 -131
  1019. package/Markdown.js.map +1 -1
  1020. package/MarkerGauge.config.js +215 -68
  1021. package/MarkerGauge.config.js.map +1 -1
  1022. package/MarkerGauge.js +1918 -1729
  1023. package/MarkerGauge.js.map +1 -1
  1024. package/ParallelCoordinates.config.js +52 -48
  1025. package/ParallelCoordinates.config.js.map +1 -1
  1026. package/ParallelCoordinates.js +413 -184
  1027. package/ParallelCoordinates.js.map +1 -1
  1028. package/Pie.config.js +79 -76
  1029. package/Pie.config.js.map +1 -1
  1030. package/Pie.js +300 -241
  1031. package/Pie.js.map +1 -1
  1032. package/Punchcard.config.js +24 -21
  1033. package/Punchcard.config.js.map +1 -1
  1034. package/Punchcard.js +276 -208
  1035. package/Punchcard.js.map +1 -1
  1036. package/README.internal.md +47 -0
  1037. package/README.md +36 -3
  1038. package/Rectangle.config.js +34 -32
  1039. package/Rectangle.config.js.map +1 -1
  1040. package/Rectangle.js +287 -224
  1041. package/Rectangle.js.map +1 -1
  1042. package/Sankey.config.js +38 -33
  1043. package/Sankey.config.js.map +1 -1
  1044. package/Sankey.js +336 -271
  1045. package/Sankey.js.map +1 -1
  1046. package/Scatter.config.js +46 -37
  1047. package/Scatter.config.js.map +1 -1
  1048. package/Scatter.js +438 -378
  1049. package/Scatter.js.map +1 -1
  1050. package/SingleValue.config.js +139 -131
  1051. package/SingleValue.config.js.map +1 -1
  1052. package/SingleValue.js +838 -644
  1053. package/SingleValue.js.map +1 -1
  1054. package/SingleValueBasic.js +193 -36
  1055. package/SingleValueBasic.js.map +1 -1
  1056. package/SingleValueIcon.config.js +141 -133
  1057. package/SingleValueIcon.config.js.map +1 -1
  1058. package/SingleValueIcon.js +532 -325
  1059. package/SingleValueIcon.js.map +1 -1
  1060. package/SingleValueRadial.config.js +542 -128
  1061. package/SingleValueRadial.config.js.map +1 -1
  1062. package/SingleValueRadial.js +1322 -767
  1063. package/SingleValueRadial.js.map +1 -1
  1064. package/Table.config.js +30 -14
  1065. package/Table.config.js.map +1 -1
  1066. package/Table.js +425 -293
  1067. package/Table.js.map +1 -1
  1068. package/common/Charting.js +61 -49
  1069. package/common/Charting.js.map +1 -1
  1070. package/common/ChartingApi.js +5 -4
  1071. package/common/ChartingApi.js.map +1 -1
  1072. package/common/EventsDoc.js +21 -23
  1073. package/common/EventsDoc.js.map +1 -1
  1074. package/common/GaugeMajorTicks.js +4 -4
  1075. package/common/GaugeMajorTicks.js.map +1 -1
  1076. package/common/GaugeValueMarker.js +4 -4
  1077. package/common/GaugeValueMarker.js.map +1 -1
  1078. package/common/OptionsDoc.js +30 -32
  1079. package/common/OptionsDoc.js.map +1 -1
  1080. package/common/OverviewDoc.js +376 -0
  1081. package/common/OverviewDoc.js.map +1 -0
  1082. package/common/SplunkVisualization.js +9 -9
  1083. package/common/SplunkVisualization.js.map +1 -1
  1084. package/common/SplunkVisualizationApi.js +11 -11
  1085. package/common/SplunkVisualizationApi.js.map +1 -1
  1086. package/common/ThemesDoc.js +53 -76
  1087. package/common/ThemesDoc.js.map +1 -1
  1088. package/common/chartingUtils.js +8 -6
  1089. package/common/chartingUtils.js.map +1 -1
  1090. package/common/docUtils.js +4 -4
  1091. package/common/docUtils.js.map +1 -1
  1092. package/common/gaugeUtils.js +193 -104
  1093. package/common/gaugeUtils.js.map +1 -1
  1094. package/common/shapeUtils.js +8 -8
  1095. package/common/shapeUtils.js.map +1 -1
  1096. package/common/utils/JSONSchemaUtils.js.map +1 -1
  1097. package/common/utils/configUtils.js +2 -2
  1098. package/common/utils/configUtils.js.map +1 -1
  1099. package/common/utils/hocUtils.js +58 -3
  1100. package/common/utils/hocUtils.js.map +1 -1
  1101. package/common/utils/singleValueUtils.js +178 -21
  1102. package/common/utils/singleValueUtils.js.map +1 -1
  1103. package/common/utils/testHelper.js.map +1 -1
  1104. package/common/withDashboardViz.js +152 -91
  1105. package/common/withDashboardViz.js.map +1 -1
  1106. package/loki.config.js +11 -0
  1107. package/package.json +25 -26
  1108. package/common/utils/eventUtils.js +0 -115
  1109. package/common/utils/eventUtils.js.map +0 -1
  1110. package/jest.visual.config.js +0 -14
package/Punchcard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/themes/pick\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/utils/JSONSchemaUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/chartingUtils.ts","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"d3-scale\"","webpack:///./src/Punchcard/PurePunchcard/src/utils/punchcardUtils.ts","webpack:///external \"lodash/find\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///external \"lodash/findIndex\"","webpack:///external \"lodash/flattenDeep\"","webpack:///external \"lodash/sortBy\"","webpack:///./src/Punchcard/Punchcard.ts","webpack:///./src/Punchcard/config.ts","webpack:///./src/Punchcard/PurePunchcard/Punchcard.tsx","webpack:///./src/Punchcard/PurePunchcard/src/utils/sortUtils.js","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardAxis.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardChartArea.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardRow.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardBubble.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardLegend.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardGridLines.tsx","webpack:///./src/Punchcard/punchcardUtils.ts"],"names":["TIME_RANGES","month","january","jan","february","feb","march","mar","april","apr","may","june","jun","july","jul","august","aug","september","sep","sept","october","oct","november","nov","december","dec","wday","monday","mon","tuesday","tu","tue","tues","wednesday","wed","thursday","th","thur","thurs","friday","fri","saturday","sat","sunday","sun","sortedByWeekday","sortedAxis","notWeekDay","find","lowerValue","value","index","findIndex","flattenDeep","sortedByMonth","notMonth","sortedByDTime","acceptTimeFormat","sortArr","notDate","Number","convertedDate","epoch","original","acceptedTime","format","midday","reformatTime","containsMidday","val","sortByDigitOrAlpha","coercedIsFinite","every","axis","sortAxis","sortedTimeAxis","sortedWeekdays","sortedMonths"],"mappings":"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","file":"Punchcard.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 = 202);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { JSONSchema7Definition } from 'json-schema';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((key): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [key]: patternProperties[key] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n return enhancedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension, toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { pick } from 'lodash';\n\ninterface Props {\n enabled?: boolean;\n width?: number | string;\n height?: number | string;\n}\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/themes/pick\");","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey: string, sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: 'grey',\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\n\nimport { withTheme } from 'styled-components';\nimport SplunkVisualization from './SplunkVisualization';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { VizConfig } from './interfaces/VizConfig';\nimport { VizProps } from './interfaces/VizProps';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { DataSource } from './interfaces/DataSource';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport { pickFieldFromJSONSchema } from './utils/JSONSchemaUtils';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const { ReactViz, vizConfig, computeVizProps = () => {}, useIconPlaceholder } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: defaultsDeep({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => (payload[p] = evaluatedOptions[p]));\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(withPlaceholder(withEditModeCover(DashboardViz), useIconPlaceholder));\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","export interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; //(This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n //noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; //noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\ninterface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import { JSONSchema7Definition } from 'json-schema';\nimport { has, isEmpty, get } from 'lodash';\nimport { KV } from '../interfaces/Object';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport const pickFieldFromJSONSchema = (\n optionsSchema: OptionsSchema | JSONSchema7Definition,\n fieldName = 'default'\n): KV =>\n Object.keys(optionsSchema).reduce((accum: Record<string, unknown>, k): Record<string, unknown> => {\n if (has(optionsSchema[k], fieldName)) {\n accum[k] = optionsSchema[k][fieldName];\n } else if (get(optionsSchema, [k, 'type']) === 'object' && has(optionsSchema[k], 'properties')) {\n const nestedSchema = pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);\n if (!isEmpty(nestedSchema)) {\n accum[k] = nestedSchema;\n }\n }\n return accum;\n }, {});\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (Visualization: ExtendedDashViz): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n return (\n <Blocker>\n <Visualization {...props} />\n {mode === 'edit' && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholder = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={config.icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualization-color-palettes\");","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData => columnData.slice(0, limit));\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x,\n y,\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n themes,\n labelPosition,\n}) => [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"d3-scale\");","import { scaleBand, scaleLinear, scaleOrdinal } from 'd3-scale';\n\n/**\n * @enum {AXIS_ORIENTATION_TYPES}\n */\nexport enum AXIS_ORIENTATION_TYPES {\n VERTICAL = 'vertical',\n HORIZONTAL = 'horizontal',\n}\n\n/**\n * @enum {BUBBLE_ROW_SCALE_TYPES}\n */\nexport enum BUBBLE_ROW_SCALE_TYPES {\n GLOBAL = 'global',\n ROW = 'row',\n}\n\n/**\n * @enum {BUBBLE_SCALE_TYPES}\n */\nexport enum BUBBLE_SCALE_TYPES {\n RADIUS = 'radius',\n AREA = 'area',\n}\n\n/**\n * @enum {COLOR_MODE_TYPES}\n */\nexport enum COLOR_MODE_TYPES {\n SEQUENTIAL = 'sequential',\n CATEGORICAL = 'categorical',\n}\n\n/**\n * @enum {BUBBLE_LABELS_TYPES}\n */\nexport enum BUBBLE_LABELS_TYPES {\n ALL = 'all',\n MAX = 'max',\n NONE = 'none',\n}\n\n/**\n * @string GRAYSCALE_FILTER_ID\n */\nexport const GRAYSCALE_FILTER_ID = `punchcard-grayscale-filter-id-${Math.floor(Math.random() * 1000)}`;\n\nconst X_AXIS_HEIGHT = 15;\nconst Y_AXIS_WIDTH = 77;\nconst MARGIN = 10;\nconst LEGEND_WIDTH = 135;\nconst HORIZONTAL_SPACE_FOR_SINGLE_CHAR = 6;\n\n/**\n * get a mapping of categories to colors given all categories\n * @method getColorCategoryMapping\n * @param {Object} input\n * @param {Array<String>} category\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {Array<String>} seriesColors\n * @return {Function} colorCategoryMapping\n */\nexport const getColorCategoryMapping = ({ category, colorMode, seriesColors }) => {\n if (colorMode === COLOR_MODE_TYPES.SEQUENTIAL) {\n return null;\n }\n\n return scaleOrdinal().domain(category).range(seriesColors).unknown(seriesColors[0]);\n};\n\n/**\n * get punchcard dimensions given container width and height\n * @method getChartAreaDimensions\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Boolean} displayLegend\n * @return {Object} dimensions\n * @return {Number} dimensions.xAxisStartY\n * @return {Number} dimensions.yAxisStartX\n * @return {Number} dimensions.chartAreaStartX\n * @return {Number} dimensions.chartAreaStartY\n * @return {Number} dimensions.chartAreaEndX\n * @return {Number} dimensions.chartAreaEndY\n */\nexport const getChartAreaDimensions = ({ containerWidth, containerHeight, displayLegend }) => {\n const yAxisStartX = MARGIN;\n const chartAreaStartX = yAxisStartX + Y_AXIS_WIDTH + MARGIN;\n\n let chartAreaEndX = containerWidth - MARGIN;\n let legendStartX = null;\n\n if (displayLegend) {\n legendStartX = containerWidth - LEGEND_WIDTH;\n chartAreaEndX = legendStartX - MARGIN;\n }\n\n const chartAreaStartY = MARGIN;\n const xAxisStartY = containerHeight - X_AXIS_HEIGHT - MARGIN;\n const chartAreaEndY = xAxisStartY - MARGIN;\n\n return {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n };\n};\n\n/**\n * gets a scale used to map values to x or y plane\n * @method getScales\n * @param {Object} input\n * @param {(Array<String>\\|Array<Number>)} values\n * @param {Number} start\n * @param {Number} end\n * @return {Object} scales\n * @return {Function} scales.scale function to return beginning of band\n * @return {Function} scales.positionScale function to return middle of band\n */\nexport const getScales = ({ values, start, end }) => {\n const scale = scaleBand().domain(values).range([start, end]);\n\n // Returns the middle of the band\n const positionScale = value => scale(value) + scale.bandwidth() / 2;\n\n return {\n scale,\n positionScale,\n };\n};\n\n/**\n * Maps an array of values to a percentage\n * Excludes zero values and takes the absolute minimum and maximum value\n * @method createValueScale\n * @param {Array<Number>} values\n * @return {Function} radiusScale\n */\nexport const createValueScale = values => {\n const absValuesWithoutZero = [];\n values.forEach(value => {\n // Ignore undefined, null and 0 values\n if (value) {\n absValuesWithoutZero.push(Math.abs(value));\n }\n });\n\n return scaleLinear()\n .domain([Math.min(...absValuesWithoutZero), Math.max(...absValuesWithoutZero)])\n .range([0, 1])\n .clamp(true)\n .unknown(0);\n};\n\n/**\n * @typedef RowData\n * @type {Object}\n * @property {(Array<String>\\|Array<Number>)} rowXValues\n * @property {Array<Number>} rowSizeValues\n * @property {Array<String>} rowCategoryValues\n * @property {Array<Number>} rowColorValues\n * @property {Array<Number>} rowFillOpacityValues\n * @property {Function} rowSizeScale\n * @property {Array<Number>} rowRadiusValue\n */\n\ninterface RowData {\n rowXValues: (string | number)[];\n rowSizeValues: number[];\n rowCategoryValues: string[];\n rowColorValues: number[];\n rowFillOpacityValues: number[];\n rowSizeScale: (...args: any) => void;\n rowRadiusValues: number[];\n}\n\n/**\n * Given a dataset, partition it by row and for each row:\n * get x, size, category and rowSizeScales\n * @method getDataByRows\n * @param {Object} input\n * @param {BUBBLE_ROW_SCALE_TYPES} bubbleRowScale\n * @param {BUBBLE_SCALE_TYPES} bubbleScale\n * @param {Array<String>} category\n * @param {Function} colorCategoryMapping\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {(String|Array<String>)} bubbleColor\n * @param {Number} minBubbleColorIntensity\n * @param {Array<Number>} size\n * @param {(Array<String>\\|Array<Number>)} x\n * @param {(Array<String>\\|Array<Number>)} y\n * @param {Boolean} isBubbleSizeDynamic\n * @param {Number} minBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} maxBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} minBand // Used to calculated radius when isBubbleSizeDynamic\n * @param {Number} maxBubbleRadius // Used when !isBubbleSizeDynamic\n * @param {Number} minBubbleRadius // Used when !isBubbleSizeDynamic\n * @return {Object<String\\|Number, RowData>} dataByRows\n */\nexport const getDataByRows = ({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n minBand,\n maxBubbleRadius,\n minBubbleRadius,\n}) => {\n const dataByRows: { [key: string]: RowData } = {};\n const minRadius = isBubbleSizeDynamic ? (minBand / 2) * minBubbleSize : minBubbleRadius;\n const maxRadius = isBubbleSizeDynamic ? (minBand / 2) * maxBubbleSize : maxBubbleRadius;\n const minArea = Math.PI * minRadius ** 2;\n const maxArea = Math.PI * maxRadius ** 2;\n const isBubbleColorAnArray = Array.isArray(bubbleColor);\n\n const globalSizeScale = createValueScale(size);\n const getRadiusValue = (value, sizeScale) =>\n bubbleScale === BUBBLE_SCALE_TYPES.RADIUS\n ? (maxRadius - minRadius) * sizeScale(Math.abs(value)) + minRadius\n : Math.sqrt(((maxArea - minArea) * sizeScale(Math.abs(value)) + minArea) / Math.PI);\n const getColorValue = c =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL ? colorCategoryMapping(c) : bubbleColor;\n const getOpacityValue = (value, sizeScale) =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL || isBubbleColorAnArray\n ? 1\n : sizeScale(Math.abs(value)) * (1 - minBubbleColorIntensity) + minBubbleColorIntensity;\n\n y.forEach((yValue, index) => {\n const xValue = x[index];\n const sizeValue = size[index];\n const categoryValue = category && category[index] ? category[index] : null;\n const bubbleColorValue =\n colorMode === COLOR_MODE_TYPES.SEQUENTIAL && isBubbleColorAnArray\n ? bubbleColor[index]\n : getColorValue(categoryValue);\n\n // if we find an invalid data point here (x, y or size is null or undefined), we ignore it\n if (xValue == null || yValue == null || sizeValue == null) {\n return;\n }\n\n // initialize rowData\n if (!dataByRows[yValue]) {\n dataByRows[yValue] = {\n rowXValues: [],\n rowSizeValues: [],\n rowCategoryValues: [],\n rowColorValues: [],\n rowFillOpacityValues: [],\n rowSizeScale: globalSizeScale,\n rowRadiusValues: [],\n };\n }\n\n dataByRows[yValue].rowXValues.push(xValue);\n dataByRows[yValue].rowSizeValues.push(sizeValue);\n dataByRows[yValue].rowCategoryValues.push(categoryValue);\n dataByRows[yValue].rowColorValues.push(bubbleColorValue);\n dataByRows[yValue].rowFillOpacityValues.push(\n getOpacityValue(size[index], dataByRows[yValue].rowSizeScale)\n );\n dataByRows[yValue].rowRadiusValues.push(getRadiusValue(size[index], dataByRows[yValue].rowSizeScale));\n });\n\n // If we are using row scaling we need to recalculate opacity, radius and size scale\n if (bubbleRowScale === BUBBLE_ROW_SCALE_TYPES.ROW) {\n Object.entries(dataByRows).forEach(([row, rowData]) => {\n const rowSizeScale = createValueScale(rowData.rowSizeValues);\n dataByRows[row].rowSizeScale = rowSizeScale;\n\n // Fill in opacity and radius values based on row scale\n rowData.rowSizeValues.forEach((rowSizeValue, index) => {\n dataByRows[row].rowFillOpacityValues[index] = getOpacityValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n dataByRows[row].rowRadiusValues[index] = getRadiusValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n });\n });\n }\n\n return dataByRows;\n};\n\n/**\n * Given selected dimensions\n * return true if there is something currently being selected\n * @method isSomethingSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @return {Boolean}\n */\nexport const isSomethingSelected = ({ selectedX, selectedY, selectedCategory }) =>\n selectedX !== null || selectedY !== null || selectedCategory !== null;\n\n/**\n * Given selected dimensions and a specific bubble's values\n * return true if that bubble should be selected\n * @method isBubbleSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @param {String|Number} xValue\n * @param {String|Number} yValue\n * @param {Boolean} categoryValue\n * @return {Boolean}\n */\nexport const isBubbleSelected = ({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n}) => {\n if (selectedX !== null && xValue !== selectedX) {\n return false;\n }\n\n if (selectedY !== null && yValue !== selectedY) {\n return false;\n }\n\n if (selectedCategory !== null && categoryValue !== selectedCategory) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Given text and available width, the truncateAxisLabelText will ellipsize\n * the truncateLocation of the text\n * @method truncateAxisLabelText\n * @param {Object} input\n * @param {String} label - The text to truncate\n * @param {Number} widthInPX - Available width to render the text\n * @param {('ellipsisStart' | 'ellipsisEnd')} axisLabelOverflowMode - Truncate start or end of the text\n */\nexport const truncateAxisLabelText = ({\n label,\n widthInPX = Y_AXIS_WIDTH,\n axisLabelOverflowMode = 'ellipsisEnd',\n}) => {\n // convert available width to number of characters that can be rendered.\n const availableLength = Math.floor(widthInPX / HORIZONTAL_SPACE_FOR_SINGLE_CHAR);\n\n if (label.length <= availableLength) {\n return label;\n }\n\n // return empty string if available space cannot accomodate\n // at least one label character\n if (availableLength < 'X...'.length) {\n return '';\n }\n\n const endMarker = Math.max(0, availableLength - '...'.length);\n if (axisLabelOverflowMode === 'ellipsisStart') {\n return `...${label.slice(-endMarker)}`;\n }\n\n return `${label.slice(0, endMarker)}...`;\n};\n","module.exports = require(\"lodash/find\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","module.exports = require(\"lodash/findIndex\");","module.exports = require(\"lodash/flattenDeep\");","module.exports = require(\"lodash/sortBy\");","import { chain } from 'lodash';\nimport vizConfig from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport Punchcard, { PunchcardProps } from './PurePunchcard/Punchcard';\nimport { convertToPunchcardProperties } from './punchcardUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\n\nexport const config = vizConfig;\nexport const PurePunchcard = Punchcard;\n\nconst validOptions = Object.keys(config.optionsSchema);\n\ntype computeVizPropsFn = (options: Record<string, any>) => Partial<PunchcardProps>;\nexport const computeVizProps: computeVizPropsFn = ({\n onPointClick,\n onLegendClick,\n x,\n y,\n category,\n ...otherOptions\n}): Partial<PunchcardProps> => {\n const options = chain(otherOptions).pick(validOptions).thru(convertToPunchcardProperties).value();\n if (options.seriesColors && typeof options.seriesColors === 'string') {\n try {\n options.seriesColors = JSON.parse(options.seriesColors);\n } catch (e) {\n options.seriesColors = VIZ_CATEGORICAL;\n }\n }\n\n return {\n onPointClick,\n onLegendClick,\n x,\n y,\n // PurePunchcard accepts category as string array\n category: category && category.map(String),\n ...options,\n };\n};\n\nconst viz = withDashboardViz({\n ReactViz: Punchcard as any,\n computeVizProps,\n vizConfig,\n});\n\nexport const themes = vizConfig.themes;\nexport default viz;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | seriesByIndex(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n category: {\n default: '> primary | seriesByIndex(3)',\n description: 'Specify the dataSource to apply series categories.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n size: {\n default: '> primary | seriesByIndex(2)',\n description: 'Specify the dataSource to apply bubble size in the chart.',\n type: 'array',\n items: { type: 'number' },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yField: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n categoryField: {\n default: '> category | getField()',\n description: 'Specify the field that should be mapped to the series categories.',\n type: 'string',\n },\n sizeField: {\n default: '> size | getField()',\n description: 'Specify the field that should be mapped to the bubble size in the chart.',\n type: 'string',\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n bubbleColor: {\n default: '> size | gradient(bubbleColorConfig)',\n description:\n 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)\".',\n type: ['string', 'array'],\n },\n bubbleLabelDisplay: {\n default: 'all',\n description:\n 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',\n pattern: getPattern(['all', 'max', 'off']),\n type: 'string',\n },\n bubbleRadiusMax: {\n default: 15,\n description:\n 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRadiusMin: {\n default: 1,\n description:\n 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRowScale: {\n default: 'global',\n description: 'Specify how bubbles are scaled relative to other rows.',\n pattern: getPattern(['global', 'row']),\n type: 'string',\n },\n bubbleSizeMax: {\n default: 1,\n description:\n 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMin: {\n default: 0.25,\n description:\n 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMethod: {\n default: 'area',\n description: 'Specify whether bubble area or diameter corresponds to the size value.',\n pattern: getPattern(['radius', 'area']),\n type: 'string',\n },\n colorMode: {\n default: 'dynamic',\n description: 'Specify the coloring method used for the bubbles.',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'off']),\n type: 'string',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, \"#FF0000\", \"#0000FF\", \"#008000\".',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n showDefaultSort: {\n default: false,\n description: 'Specify whether axes should be sorted based on order of time, digits and strings.',\n type: 'boolean',\n },\n showDynamicBubbleSize: {\n default: true,\n description: 'Specify whether the bubble size should be dynamic or fixed.',\n type: 'boolean',\n },\n showMaxValuePulsation: {\n default: true,\n description: 'Specify whether the max value bubble should pulsate.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n open: true,\n layout: [\n [\n {\n label: _('Pulsate Max Value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Show Bubble Labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble Row Scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble Scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n open: true,\n layout: [\n [\n {\n label: _('Color Mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by Field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes, labelPosition: 'left' }),\n [\n {\n label: _('Legend Display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: 'Punchcard',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport * as T from 'prop-types';\nimport { pick, uniq, noop } from 'lodash';\n\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport { CATEGORICAL } from '@splunk/visualization-color-palettes';\n\nimport {\n AXIS_ORIENTATION_TYPES,\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n GRAYSCALE_FILTER_ID,\n getChartAreaDimensions,\n getColorCategoryMapping,\n getScales,\n} from './src/utils/punchcardUtils';\n\nimport { sortAxis } from './src/utils/sortUtils';\n\nimport PunchcardAxis from './src/PunchcardAxis';\nimport PunchcardChartArea from './src/PunchcardChartArea';\nimport PunchcardLegend from './src/PunchcardLegend';\nimport PunchcardGridLines from './src/PunchcardGridLines';\n\nconst Container = styled.div<{\n width: string | number;\n height: string | number;\n backgroundColor: string;\n}>`\n cursor: default;\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardWrapper = styled.div<{\n backgroundColor: string;\n}>`\n display: flex;\n justify-content: center;\n flex-direction: row;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardContainer = styled.div<{\n width: string | number;\n height: string | number;\n}>`\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst PunchcardSVG = styled.svg<{\n width: string | number;\n height: string | number;\n}>`\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface PunchcardProps {\n backgroundColor: string;\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n categoryField: string;\n colorMode: COLOR_MODE_TYPES;\n seriesColors: string[];\n bubbleColor: string | string[];\n minBubbleColorIntensity: number;\n height: string | number;\n isBubbleSizeDynamic: boolean;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n useDefaultSort: boolean;\n showMaxValuePulsation: boolean;\n showLegend: boolean;\n size: number[];\n sizeField: string;\n width: string | number;\n x: (string | number)[];\n y: (string | number)[];\n xField: string;\n yField: string;\n onPointClick?: (...args: any) => void;\n onLegendClick?: (...args: any) => void;\n}\n\nconst Punchcard = (props: PunchcardProps): React.ReactElement => {\n const [selectedX, setSelectedX] = React.useState(null);\n const [selectedY, setSelectedY] = React.useState(null);\n const [selectedCategory, setSelectedCategory] = React.useState(null);\n\n const handleMouseLeave = () => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleLegendHover = category => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(category);\n };\n\n const handleXAxisHover = xValue => {\n setSelectedX(xValue);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleYAxisHover = yValue => {\n setSelectedX(null);\n setSelectedY(yValue);\n setSelectedCategory(null);\n };\n\n const handleBubbleHover = (xValue, yValue, category) => {\n setSelectedX(xValue);\n setSelectedY(yValue);\n setSelectedCategory(category);\n };\n\n const {\n backgroundColor,\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n categoryField,\n colorMode,\n seriesColors,\n bubbleColor,\n minBubbleColorIntensity,\n height,\n showMaxValuePulsation,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n useDefaultSort,\n showLegend,\n size,\n sizeField,\n width,\n x,\n y,\n xField,\n yField,\n onPointClick,\n onLegendClick,\n } = props;\n const calculatedColorMode = category ? colorMode : COLOR_MODE_TYPES.SEQUENTIAL;\n const displayLegend = showLegend && calculatedColorMode === COLOR_MODE_TYPES.CATEGORICAL;\n const uniqX = useDefaultSort ? sortAxis(uniq(x.map(v => `${v}`))) : uniq(x);\n const uniqY = useDefaultSort ? sortAxis(uniq(y.map(v => `${v}`))) : uniq(y);\n const uniqCategory = uniq(category);\n const colorCategoryMapping = getColorCategoryMapping({\n category: uniqCategory,\n colorMode: calculatedColorMode,\n seriesColors,\n });\n\n const handlePointClick = (sizeValue: number): void => {\n const rowData = {\n [`row.${xField}.value`]: selectedX,\n [`row.${yField}.value`]: selectedY,\n [`row.${sizeField}.value`]: sizeValue,\n };\n if (categoryField) rowData[`row.${categoryField}.value`] = selectedCategory;\n onPointClick({\n type: 'point.click',\n payload: {\n value: selectedY,\n name: yField,\n ...rowData,\n },\n });\n };\n\n const handleLegendClick = (): void => {\n onLegendClick({\n type: 'legend.click',\n payload: {\n name: yField,\n },\n });\n };\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n const {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n } = getChartAreaDimensions({\n containerWidth,\n containerHeight,\n displayLegend,\n });\n const { scale: xScale, positionScale: xPositionScale } = getScales({\n values: uniqX,\n start: chartAreaStartX,\n end: chartAreaEndX,\n });\n const { scale: yScale, positionScale: yPositionScale } = getScales({\n values: uniqY,\n start: chartAreaStartY,\n end: chartAreaEndY,\n });\n\n const minBand = Math.min(xScale.bandwidth(), yScale.bandwidth());\n\n return (\n <PunchcardWrapper backgroundColor={backgroundColor}>\n <PunchcardContainer width={containerWidth} height={containerHeight}>\n <PunchcardSVG width={containerWidth} height={containerHeight}>\n <PunchcardGridLines\n xStartPosition={xPositionScale(uniqX[0])}\n xEndPosition={xPositionScale(uniqX[uniqX.length - 1])}\n yStartPosition={yPositionScale(uniqY[0])}\n yEndPosition={yPositionScale(uniqY[uniqY.length - 1])}\n xDelta={xScale.bandwidth()}\n yDelta={yScale.bandwidth()}\n />\n <PunchcardAxis\n labels={uniqX}\n orientation={AXIS_ORIENTATION_TYPES.HORIZONTAL}\n handleMouseEnter={handleXAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={chartAreaStartX}\n startPositionY={xAxisStartY}\n scale={xScale}\n selected={selectedX}\n />\n <PunchcardAxis\n labels={uniqY}\n orientation={AXIS_ORIENTATION_TYPES.VERTICAL}\n handleMouseEnter={handleYAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={yAxisStartX}\n startPositionY={chartAreaStartY}\n scale={yScale}\n selected={selectedY}\n />\n {displayLegend && (\n <PunchcardLegend\n category={uniqCategory}\n colorCategoryMapping={colorCategoryMapping}\n handleMouseEnter={handleLegendHover}\n handleMouseLeave={handleMouseLeave}\n selected={selectedCategory}\n startPositionX={legendStartX}\n startPositionY={yPositionScale(uniqY[0])}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n handleLegendClick={handleLegendClick}\n />\n )}\n <PunchcardChartArea\n showBubbleLabels={showBubbleLabels}\n bubbleRowScale={bubbleRowScale}\n bubbleScale={bubbleScale}\n category={category}\n colorCategoryMapping={colorCategoryMapping}\n colorMode={calculatedColorMode}\n bubbleColor={bubbleColor}\n minBubbleColorIntensity={minBubbleColorIntensity}\n handleMouseEnter={handleBubbleHover}\n handleMouseLeave={handleMouseLeave}\n isBubbleSizeDynamic={isBubbleSizeDynamic}\n minBand={minBand}\n minBubbleSize={minBubbleSize}\n maxBubbleSize={maxBubbleSize}\n minBubbleRadius={minBubbleRadius}\n maxBubbleRadius={maxBubbleRadius}\n showMaxValuePulsation={showMaxValuePulsation}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n size={size}\n x={x}\n xScale={xPositionScale}\n y={y}\n yScale={yPositionScale}\n handlePointClick={handlePointClick}\n />\n <filter id={GRAYSCALE_FILTER_ID}>\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </PunchcardSVG>\n </PunchcardContainer>\n </PunchcardWrapper>\n );\n };\n\n return (\n <Container backgroundColor={backgroundColor} height={height} width={width}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </Container>\n );\n};\n\nconst propTypes: Record<keyof PunchcardProps, T.Validator<any>> = {\n backgroundColor: T.string,\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n categoryField: T.string,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n seriesColors: T.arrayOf(T.string),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n minBubbleColorIntensity: T.number,\n height: T.oneOfType([T.string, T.number]),\n isBubbleSizeDynamic: T.bool,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n useDefaultSort: T.bool,\n showMaxValuePulsation: T.bool,\n showLegend: T.bool,\n sizeField: T.string,\n width: T.oneOfType([T.string, T.number]),\n // hotfix: isRequired check is removed here for x, y and size props\n // to remove console warnings on early return of this component and\n // implemented in config file using requiredProps\n x: T.arrayOf(T.oneOfType([T.string, T.number])),\n y: T.arrayOf(T.oneOfType([T.string, T.number])),\n size: T.arrayOf(T.number),\n xField: T.string,\n yField: T.string,\n onPointClick: T.func,\n onLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardProps, any> = {\n backgroundColor: 'transparent',\n showBubbleLabels: 'all',\n bubbleRowScale: 'global',\n bubbleScale: 'area',\n category: null,\n categoryField: null,\n colorMode: 'categorical',\n seriesColors: CATEGORICAL,\n bubbleColor: '#7B56DB',\n minBubbleColorIntensity: 0.4,\n showMaxValuePulsation: true,\n height: 500,\n isBubbleSizeDynamic: true,\n minBubbleSize: 0.25,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n useDefaultSort: false,\n showLegend: true,\n size: null,\n sizeField: null,\n width: '100%',\n x: null,\n y: null,\n xField: null,\n yField: null,\n onPointClick: noop,\n onLegendClick: noop,\n};\n\nPunchcard.propTypes = propTypes;\nPunchcard.defaultProps = defaultProps;\n\nexport default Punchcard;\n","import findIndex from 'lodash/findIndex';\nimport find from 'lodash/find';\nimport sortBy from 'lodash/sortBy';\nimport flattenDeep from 'lodash/flattenDeep';\nimport { every } from 'lodash';\n\nconst TIME_RANGES = {\n month: [\n { january: true, jan: true, 'jan.': true },\n { february: true, feb: true, 'feb.': true },\n { march: true, mar: true, 'mar.': true },\n { april: true, apr: true, 'apr.': true },\n { may: true },\n { june: true, jun: true, 'jun.': true },\n { july: true, jul: true, 'jul.': true },\n { august: true, aug: true, 'aug.': true },\n { september: true, sep: true, sept: true, 'sep.': true, 'sept.': true },\n { october: true, oct: true, 'oct.': true },\n { november: true, nov: true, 'nov.': true },\n { december: true, dec: true, 'dec.': true },\n ],\n wday: [\n { monday: true, mon: true, 'mon.': true },\n { tuesday: true, tu: true, 'tu.': true, tue: true, 'tue.': true, tues: true, 'tues.': true },\n { wednesday: true, wed: true, 'wed.': true },\n { thursday: true, th: true, 'th.': true, thur: true, 'thur.': true, thurs: true, 'thurs.': true },\n { friday: true, fri: true, 'fri.': true },\n { saturday: true, sat: true, 'sat.': true },\n { sunday: true, sun: true, 'sun.': true },\n ],\n};\n\n/**\n * Sort axis labels by weekday\n * @param {array} axis - string array\n * @return {array} - string array. If those are not weekday strings, return []\n */\nexport const sortedByWeekday = axis => {\n const sortedAxis = [];\n const notWeekDay = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.wday, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside weekdays, then don't treat it as weekdays\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n\n return notWeekDay ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by month\n * @param {array} axis - string array\n * @return {array} - string array. If those are not month strings, return []\n */\nexport const sortedByMonth = axis => {\n const sortedAxis = [];\n const notMonth = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.month, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside month, then don't treat it as month\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n return notMonth ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by date time\n * @param {array} axis - string array\n * @return {array} - string array. If those are not in acceptTimeFormat or formatted date, return []\n */\nexport const sortedByDTime = axis => {\n // valid time format 01:00 am, 01:00:00, 01:00\n const acceptTimeFormat = [\n /^([0-1])?\\d( )?(am|pm)$/i, // 1am, 1 am, 12am, 12 am\n /^([0-1])?\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00 am, 01:00am, 1:00am\n /^([0-2])?\\d:([0-5]\\d:)?[0-5]\\d$/, // 01:00:00, 1:00:00, 23:00\n /^([0-2])?\\d:[0-5]\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00:00 am, 1:00:00am\n ];\n\n const sortArr = [];\n const notDate = find(axis, value => {\n if (!Number.isNaN(Number(value))) {\n return true;\n }\n // should accept long date: 2019-03-02, Mar 2 2019, ..., 2019-01-01T00:00:00.000Z\n let convertedDate = new Date(value);\n if (!Number.isNaN(Number(convertedDate))) {\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n\n const acceptedTime = acceptTimeFormat.find(format => format.test(value));\n if (acceptedTime) {\n const midday = /(am|pm)$/i;\n let reformatTime = value;\n const containsMidday = value.match(midday);\n if (containsMidday) {\n // for time format like 01:00 am and 1 am\n reformatTime = value.split(midday).slice(0, -1);\n reformatTime[0] = `${reformatTime[0].trim()}:00`;\n reformatTime = reformatTime.join(' ');\n }\n convertedDate = new Date(`1970/01/01 ${reformatTime}`);\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n return true;\n });\n\n if (notDate) {\n return [];\n }\n return sortBy(sortArr, val => val.epoch).map(val => val.original);\n};\n\n/**\n * Sort axis labels by digits or alphabetical order\n * @param {array} axis - string array\n * @return {array} - string array.\n * If those inputs are numbers, then return in digits order. Otherwise, return array based on alphabetical order\n */\nexport const sortByDigitOrAlpha = axis => {\n // 10, 10.0, 10.1, not accept 10,000.0\n const coercedIsFinite = num => Number.isFinite(Number(num));\n if (every(axis, coercedIsFinite)) {\n return axis.sort((a, b) => Number(a) - Number(b));\n }\n return axis.sort();\n};\n\n/**\n * Sort axis based on the priority: time measures, numbers, strings in ascending order\n * @param {array} axis - string array\n * @return {array} - string array\n */\nexport const sortAxis = axis => {\n const sortedTimeAxis = sortedByDTime(axis);\n if (sortedTimeAxis.length) {\n return sortedTimeAxis;\n }\n const sortedWeekdays = sortedByWeekday(axis);\n if (sortedWeekdays.length) {\n return sortedWeekdays;\n }\n const sortedMonths = sortedByMonth(axis);\n if (sortedMonths.length) {\n return sortedMonths;\n }\n\n return sortByDigitOrAlpha(axis);\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { AXIS_ORIENTATION_TYPES, truncateAxisLabelText } from './utils/punchcardUtils';\n\nconst AxisLabelText = styled.text<{\n muted: boolean;\n}>`\n cursor: pointer;\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n text-anchor: ${props => (props.orientation === AXIS_ORIENTATION_TYPES.HORIZONTAL ? 'middle' : 'start')};\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: all 0.15s;\n`;\n\ninterface PunchcardAxisProps {\n labels: (string | number)[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n orientation: AXIS_ORIENTATION_TYPES;\n scale: (...args: any) => void;\n selected: string | number;\n startPositionX: number;\n startPositionY: number;\n}\n\nconst PunchcardAxis = (props: PunchcardAxisProps): React.ReactElement => {\n const {\n labels,\n handleMouseEnter,\n handleMouseLeave,\n orientation,\n scale,\n selected,\n startPositionX,\n startPositionY,\n } = props;\n\n return (\n <g>\n {labels.map((label, index) => {\n // Space between labels either in x or y direction depending on orientation\n const positionDelta = index * (scale as any).bandwidth() + (scale as any).bandwidth() / 2;\n const xPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionX\n : startPositionX + positionDelta;\n const yPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionY + positionDelta\n : startPositionY;\n\n // create padding between x-axis labels\n const xAxisWidthScale = (scale as any).copy().paddingInner(0.1).round(true);\n\n const truncatedLabel =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? truncateAxisLabelText({ label: `${label}` })\n : truncateAxisLabelText({\n label: `${label}`,\n widthInPX: xAxisWidthScale.bandwidth(),\n });\n\n return (\n <AxisLabelText\n key={label}\n x={xPosition}\n y={yPosition}\n orientation={orientation}\n onMouseEnter={() => handleMouseEnter(label)}\n onMouseLeave={handleMouseLeave}\n muted={selected && label !== selected}\n >\n <title>{label}</title>\n {truncatedLabel}\n </AxisLabelText>\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardAxisProps, T.Validator<any>> = {\n labels: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n orientation: T.oneOf(Object.values(AXIS_ORIENTATION_TYPES)),\n scale: T.func.isRequired,\n selected: T.oneOfType([T.string, T.number]),\n startPositionX: T.number,\n startPositionY: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardAxisProps, any> = {\n // set as undefined as we are using defaultProps in conjunction with ts\n // where it requires all keys of interface to be present in defaultProps\n labels: undefined,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n orientation: 'vertical',\n scale: undefined,\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n};\n\nPunchcardAxis.propTypes = propTypes;\nPunchcardAxis.defaultProps = defaultProps;\n\nexport default PunchcardAxis;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport {\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n getDataByRows,\n} from './utils/punchcardUtils';\nimport PunchcardRow from './PunchcardRow';\n\ninterface PunchcardChartAreaProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n colorCategoryMapping: (...args: any) => void;\n colorMode: COLOR_MODE_TYPES;\n bubbleColor: string | string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n isBubbleSizeDynamic: boolean;\n minBubbleColorIntensity: number;\n minBand: number;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n showMaxValuePulsation: boolean;\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => void;\n y: (string | number)[];\n yScale: (...args: any) => void;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardChartArea = (props: PunchcardChartAreaProps): React.ReactElement => {\n const {\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n handleMouseEnter,\n handleMouseLeave,\n isBubbleSizeDynamic,\n minBubbleColorIntensity,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n showMaxValuePulsation,\n selectedCategory,\n selectedX,\n selectedY,\n size,\n x,\n xScale,\n y,\n yScale,\n handlePointClick,\n } = props;\n\n /** @type {Object<String\\|Number, import('./utils/punchcardUtils').RowData>} */\n const dataByRows = getDataByRows({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n });\n\n return (\n <g>\n {Object.entries(dataByRows).map(([row, rowData]) => {\n const {\n rowXValues,\n rowSizeValues,\n rowCategoryValues,\n rowColorValues,\n rowFillOpacityValues,\n rowSizeScale,\n rowRadiusValues,\n } = rowData;\n const yPosition = yScale(row);\n\n return (\n <PunchcardRow\n key={row}\n showBubbleLabels={showBubbleLabels}\n category={rowCategoryValues}\n colors={rowColorValues}\n handleMouseEnter={handleMouseEnter}\n handleMouseLeave={handleMouseLeave}\n maxSizeValue={Math.max(...size)}\n opacities={rowFillOpacityValues}\n radiusValues={rowRadiusValues}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n showMaxValuePulsation={showMaxValuePulsation}\n sizeScale={rowSizeScale}\n size={rowSizeValues}\n x={rowXValues}\n xScale={xScale}\n yPosition={yPosition}\n yValue={row}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardChartAreaProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n isBubbleSizeDynamic: T.bool,\n minBubbleColorIntensity: T.number,\n minBand: T.number,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n showMaxValuePulsation: T.bool,\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n size: T.arrayOf(T.number).isRequired,\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n y: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n yScale: T.func,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardChartAreaProps, any> = {\n showBubbleLabels: BUBBLE_LABELS_TYPES.ALL,\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES.ROW,\n bubbleScale: BUBBLE_SCALE_TYPES.AREA,\n category: null,\n colorCategoryMapping: null,\n colorMode: COLOR_MODE_TYPES.CATEGORICAL,\n bubbleColor: '#A870EF',\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n isBubbleSizeDynamic: true,\n minBubbleColorIntensity: 0.25,\n minBand: 15,\n minBubbleSize: 0.01,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n showMaxValuePulsation: true,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n size: null,\n x: null,\n xScale: null,\n y: null,\n yScale: null,\n handlePointClick: () => {},\n};\n\nPunchcardChartArea.propTypes = propTypes;\nPunchcardChartArea.defaultProps = defaultProps;\n\nexport default PunchcardChartArea;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport PunchcardBubble from './PunchcardBubble';\n\nimport { BUBBLE_LABELS_TYPES, isSomethingSelected, isBubbleSelected } from './utils/punchcardUtils';\n\ninterface PunchcardRowProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n category: string[];\n colors: string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n maxSizeValue: number;\n opacities: number[];\n radiusValues: number[];\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n showMaxValuePulsation: boolean;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => number;\n yPosition: number;\n yValue: string | number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardRow = (props: PunchcardRowProps): React.ReactElement => {\n const {\n showBubbleLabels,\n category,\n colors,\n handleMouseEnter,\n handleMouseLeave,\n maxSizeValue,\n opacities,\n radiusValues,\n selectedCategory,\n selectedX,\n selectedY,\n showMaxValuePulsation,\n size,\n x,\n xScale,\n yPosition,\n yValue,\n handlePointClick,\n } = props;\n\n return (\n <g>\n {x.map((xValue, index) => {\n const sizeValue = size[index];\n const categoryValue = category[index];\n const colorValue = colors[index];\n const cx = xScale(xValue);\n const r = radiusValues[index];\n const fillOpacity = opacities[index];\n\n const hover =\n isSomethingSelected({ selectedX, selectedY, selectedCategory }) &&\n isBubbleSelected({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n });\n const muted = isSomethingSelected({ selectedX, selectedY, selectedCategory }) && !hover;\n\n const showBubbleLabel =\n showBubbleLabels === BUBBLE_LABELS_TYPES.ALL ||\n (showBubbleLabels === BUBBLE_LABELS_TYPES.MAX && maxSizeValue === sizeValue);\n\n return (\n <PunchcardBubble\n key={`${xValue}-${yValue}-${sizeValue}-${categoryValue}`}\n showBubbleLabel={showBubbleLabel}\n color={colorValue}\n cx={cx}\n cy={yPosition}\n fillOpacity={fillOpacity}\n handleMouseEnter={() => {\n handleMouseEnter(xValue, yValue, categoryValue);\n }}\n handleMouseLeave={handleMouseLeave}\n hover={hover}\n muted={muted}\n pulsate={showMaxValuePulsation && sizeValue === maxSizeValue}\n value={sizeValue}\n r={r}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardRowProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n category: T.arrayOf(T.string),\n colors: T.arrayOf(T.string),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n maxSizeValue: T.number,\n opacities: T.arrayOf(T.number),\n radiusValues: T.arrayOf(T.number),\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n showMaxValuePulsation: T.bool,\n size: T.arrayOf(T.number),\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n yPosition: T.number,\n yValue: T.oneOfType([T.string, T.number]),\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardRowProps, any> = {\n showBubbleLabels: null,\n category: null,\n colors: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n maxSizeValue: null,\n opacities: null,\n radiusValues: null,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n showMaxValuePulsation: true,\n size: null,\n x: null,\n xScale: null,\n yPosition: null,\n yValue: null,\n handlePointClick: () => {},\n};\n\nPunchcardRow.propTypes = propTypes;\nPunchcardRow.defaultProps = defaultProps;\n\nexport default withTheme(PunchcardRow as any);\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled, { keyframes } from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { GRAYSCALE_FILTER_ID } from './utils/punchcardUtils';\n\nconst BubbleCircle = styled.circle<{\n hover: boolean | null;\n outline: boolean;\n}>`\n fill: ${props =>\n props.outline\n ? pick({\n // bubbleTextColor\n enterprise: {\n light: variables.white, // equal to enterpriseDark.textColor\n dark: variables.contentColorInverted, // enterprise.textColor\n },\n prisma: variables.contentColorActive,\n })(props)\n : props.color};\n fill-opacity: 1;\n opacity: ${props => (props.hover ? 0 : props.fillOpacity)};\n stroke: ${props => (props.outline ? props.color : 'none')};\n`;\n\nconst pulsateAnimation = r => keyframes`\n 41% {\n opacity: 0;\n r: ${r + 5};\n }\n 100% {\n opacity: 0;\n r: ${r + 5};\n }\n`;\n\nconst PulsateBubble = styled(BubbleCircle)`\n animation: ${props => pulsateAnimation(props.r)} 2.4s linear 0.4s infinite;\n`;\n\nconst BubbleGroup = styled.g<{\n muted: boolean;\n onMouseEnter: (...args: any) => void;\n onMouseLeave: (...args: any) => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n filter: ${props => (props.muted ? `url(#${GRAYSCALE_FILTER_ID})` : '')};\n transition: opacity 0.15s;\n`;\n\nconst BubbleLabelText = styled.text<{\n hover: boolean;\n outline: boolean;\n displayLabel: boolean;\n}>`\n dominant-baseline: middle;\n opacity: ${props => (props.displayLabel ? 1 : 0)};\n fill: ${props =>\n props.hover || props.outline\n ? pick({\n // bubbleAltTextColor\n enterprise: variables.textColor,\n prisma: variables.contentColorActive,\n })(props)\n : pick({\n enterprise: {\n dark: variables.textColor,\n light: variables.white,\n },\n prisma: variables.contentColorActive,\n })(props)}};\n font-size: ${props => (props.hover ? '12px' : '10px')};\n font-weight: ${props => (props.hover ? 500 : 'normal')};\n text-anchor: middle;\n`;\n\nconst MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL = 13;\nconst MAX_DISPLAYABLE_VALUE = 99499999999999;\nconst VALUE_OVERFLOW_TEXT = '99T+';\n\ninterface PunchcardBubbleProps {\n showBubbleLabel: boolean;\n color: string;\n cx: number;\n cy: number;\n fillOpacity: number;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n hover: boolean;\n muted: boolean;\n pulsate: boolean;\n value: number;\n r: number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardBubble = (props: PunchcardBubbleProps): React.ReactElement => {\n const {\n showBubbleLabel,\n color,\n cx,\n cy,\n fillOpacity,\n handleMouseEnter,\n handleMouseLeave,\n hover,\n muted,\n pulsate,\n value,\n r,\n handlePointClick,\n } = props;\n\n const outline = value < 0;\n const showPulsateBubble = pulsate && !muted && !hover;\n const displayLabel = hover || (showBubbleLabel && r >= MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL);\n\n let bubbleLabelValueText =\n value <= MAX_DISPLAYABLE_VALUE\n ? formatNumber(value, 0, { useTrendUnits: true })\n : VALUE_OVERFLOW_TEXT;\n\n if (hover) {\n bubbleLabelValueText = formatNumber(value, 2);\n }\n\n return (\n <BubbleGroup\n muted={muted}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={() => handlePointClick(value)}\n >\n {showPulsateBubble && <PulsateBubble cx={cx} cy={cy} r={r} color={color} outline hover={null} />}\n <BubbleCircle\n cx={cx}\n cy={cy}\n r={r}\n color={color}\n hover={hover}\n fillOpacity={fillOpacity}\n outline={outline}\n />\n <BubbleLabelText x={cx} y={cy} hover={hover} outline={outline} displayLabel={displayLabel}>\n {bubbleLabelValueText}\n </BubbleLabelText>\n </BubbleGroup>\n );\n};\n\nconst propTypes: Record<keyof PunchcardBubbleProps, T.Validator<any>> = {\n showBubbleLabel: T.bool,\n color: T.string,\n cx: T.number,\n cy: T.number,\n fillOpacity: T.number,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n hover: T.bool,\n muted: T.bool,\n pulsate: T.bool,\n value: T.number,\n r: T.number,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardBubbleProps, any> = {\n showBubbleLabel: true,\n color: '#46D3BB',\n cx: 0,\n cy: 0,\n fillOpacity: 1,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n hover: false,\n muted: false,\n pulsate: false,\n r: 1,\n value: undefined,\n handlePointClick: () => {},\n};\n\nPunchcardBubble.propTypes = propTypes;\nPunchcardBubble.defaultProps = defaultProps;\n\nexport default PunchcardBubble;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nconst LEGEND_ITEM_VERTICAL_SPACER = 25;\nconst LEGEND_ITEM_HORIZONTAL_SPACER = 10;\nconst LEGEND_RECT_WIDTH = 5;\nconst LEGEND_RECT_HEIGHT = 10;\nconst LEGEND_OFFSET_TOP = 7;\nconst LEGEND_OFFSET_RIGHT = 16;\nconst LEGEND_OFFSET_BOTTOM = 16;\n\nconst LegendGroup = styled.g<{\n muted: boolean;\n onClick: () => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: opacity 0.15s;\n`;\n\nconst LegendIcon = styled.rect`\n width: ${LEGEND_RECT_WIDTH}px;\n height: ${LEGEND_RECT_HEIGHT}px;\n rx: 1px;\n ry: 1px;\n`;\n\nconst LegendText = styled.text`\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n`;\n\ninterface PunchcardLegendProps {\n category: string[];\n colorCategoryMapping: (...args: any) => string;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n selected: string;\n startPositionY: number;\n startPositionX: number;\n containerWidth: number;\n containerHeight: number;\n handleLegendClick: () => void;\n}\n\nconst PunchcardLegend = (props: PunchcardLegendProps): React.ReactElement => {\n const {\n category,\n colorCategoryMapping,\n handleMouseEnter,\n handleMouseLeave,\n selected,\n startPositionX,\n startPositionY,\n containerWidth,\n containerHeight,\n handleLegendClick,\n } = props;\n\n const legendWidth = containerWidth - LEGEND_OFFSET_RIGHT - startPositionX;\n const legendHeight = containerHeight - LEGEND_OFFSET_BOTTOM;\n\n return (\n <svg\n x={startPositionX}\n y={startPositionY - LEGEND_OFFSET_TOP} // Align legend with topmost grid line\n width={legendWidth}\n height={legendHeight}\n >\n <g>\n {category.map((c, index) => {\n const yValue = index * LEGEND_ITEM_VERTICAL_SPACER;\n\n return (\n <LegendGroup\n key={c}\n muted={selected && selected !== c}\n onMouseEnter={() => handleMouseEnter(c)}\n onMouseLeave={handleMouseLeave}\n onClick={() => handleLegendClick()}\n data-test=\"legend-group\"\n >\n <LegendIcon x={0} y={yValue} fill={colorCategoryMapping(c)} />\n <LegendText\n x={LEGEND_ITEM_HORIZONTAL_SPACER}\n y={yValue + LEGEND_RECT_HEIGHT / 2 + 2}\n >\n <title>{c}</title>\n {c}\n </LegendText>\n </LegendGroup>\n );\n })}\n </g>\n </svg>\n );\n};\n\nconst propTypes: Record<keyof PunchcardLegendProps, T.Validator<any>> = {\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func.isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n selected: T.string,\n startPositionX: T.number,\n startPositionY: T.number,\n containerWidth: T.number,\n containerHeight: T.number,\n handleLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardLegendProps, any> = {\n category: null,\n colorCategoryMapping: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n containerWidth: 100,\n containerHeight: 100,\n handleLegendClick: () => {},\n};\n\nPunchcardLegend.propTypes = propTypes;\nPunchcardLegend.defaultProps = defaultProps;\n\nexport default PunchcardLegend;\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport { range } from 'lodash';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\n// was previously lineColor in themeRegistry\nconst GridLine = styled.line`\n stroke: ${pick({\n enterprise: {\n light: variables.gray96,\n dark: variables.gray25,\n },\n prisma: variables.interactiveColorBackgroundDisabled,\n })};\n stroke-width: 1px;\n`;\n\ninterface PunchcardGridLinesProps {\n xStartPosition: number;\n xEndPosition: number;\n yStartPosition: number;\n yEndPosition: number;\n xDelta: number;\n yDelta: number;\n}\n\nconst PunchcardGridLines = (props: PunchcardGridLinesProps): React.ReactElement => {\n const { xStartPosition, xEndPosition, yStartPosition, yEndPosition, xDelta, yDelta } = props;\n\n const yGridLinesXPositions = range(xStartPosition, xEndPosition + 1, xDelta);\n const xGridLinesYPositions = range(yStartPosition, yEndPosition + 1, yDelta);\n\n return (\n <g data-test=\"data-test-gridlines\">\n {yGridLinesXPositions.map(xValue => (\n <GridLine\n key={`${xValue}x${yStartPosition}`}\n x1={xValue}\n y1={yStartPosition}\n x2={xValue}\n y2={yEndPosition}\n />\n ))}\n {xGridLinesYPositions.map(yValue => (\n <GridLine\n key={`${xStartPosition}x${yValue}`}\n x1={xStartPosition}\n y1={yValue}\n x2={xEndPosition}\n y2={yValue}\n />\n ))}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardGridLinesProps, T.Validator<any>> = {\n xStartPosition: T.number,\n xEndPosition: T.number,\n yStartPosition: T.number,\n yEndPosition: T.number,\n xDelta: T.number,\n yDelta: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardGridLinesProps, any> = {\n xStartPosition: undefined,\n xEndPosition: undefined,\n yStartPosition: undefined,\n yEndPosition: undefined,\n xDelta: 10,\n yDelta: 10,\n};\n\nPunchcardGridLines.propTypes = propTypes;\nPunchcardGridLines.defaultProps = defaultProps;\n\nexport default PunchcardGridLines;\n","import { mapKeys, chain } from 'lodash';\nimport { mapToValues } from '../common/chartingUtils';\n\ninterface PunchcardOptions {\n [key: string]: any;\n}\n\nconst punchcardOptionsMapping = {\n legendDisplay: 'showLegend',\n bubbleLabelDisplay: 'showBubbleLabels',\n showDefaultSort: 'useDefaultSort',\n bubbleSizeMethod: 'bubbleScale',\n showDynamicBubbleSize: 'isBubbleSizeDynamic',\n bubbleRadiusMax: 'maxBubbleRadius',\n bubbleRadiusMin: 'minBubbleRadius',\n bubbleSizeMax: 'maxBubbleSize',\n bubbleSizeMin: 'minBubbleSize',\n};\n\n// key value mapping of what options (and their corresponding values) which\n// we expose in config.ts to property values PurePunchcard understands\nexport const punchcardOptionValuesMapping = {\n showLegend: {\n right: true,\n off: false,\n },\n showBubbleLabels: {\n off: 'none',\n },\n colorMode: {\n dynamic: 'sequential',\n },\n};\n\n/**\n * Helper method to update the option names which can be mapped to PurePunchcard options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: PunchcardOptions): PunchcardOptions =>\n mapKeys(options, (val, key) => (punchcardOptionsMapping[key] ? punchcardOptionsMapping[key] : key));\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that PurePunchcard accepts\n * This is for options that has new key name and can not directly be mapped with PurePunchcard props\n * @method convertToPunchcardProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToPunchcardProperties = (originalOptions: PunchcardOptions): PunchcardOptions =>\n chain(mapToOldKey(originalOptions)).thru(mapToValues(punchcardOptionValuesMapping)).value();\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/utils/JSONSchemaUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/chartingUtils.ts","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"d3-scale\"","webpack:///./src/Punchcard/PurePunchcard/src/utils/punchcardUtils.ts","webpack:///external \"lodash/find\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///external \"lodash/findIndex\"","webpack:///external \"lodash/flattenDeep\"","webpack:///external \"lodash/sortBy\"","webpack:///./src/Punchcard/Punchcard.ts","webpack:///./src/Punchcard/config.ts","webpack:///./src/Punchcard/PurePunchcard/Punchcard.tsx","webpack:///./src/Punchcard/PurePunchcard/src/utils/sortUtils.js","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardAxis.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardChartArea.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardRow.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardBubble.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardLegend.tsx","webpack:///./src/Punchcard/PurePunchcard/src/PunchcardGridLines.tsx","webpack:///./src/Punchcard/punchcardUtils.ts"],"names":["TIME_RANGES","month","january","jan","february","feb","march","mar","april","apr","may","june","jun","july","jul","august","aug","september","sep","sept","october","oct","november","nov","december","dec","wday","monday","mon","tuesday","tu","tue","tues","wednesday","wed","thursday","th","thur","thurs","friday","fri","saturday","sat","sunday","sun","sortedByWeekday","sortedAxis","notWeekDay","find","lowerValue","value","index","findIndex","flattenDeep","sortedByMonth","notMonth","sortedByDTime","acceptTimeFormat","sortArr","notDate","Number","convertedDate","epoch","original","acceptedTime","format","midday","reformatTime","containsMidday","val","sortByDigitOrAlpha","coercedIsFinite","every","axis","sortAxis","sortedTimeAxis","sortedWeekdays","sortedMonths"],"mappings":"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","file":"Punchcard.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 = 207);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n return enhancedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { cloneDeep } from 'lodash';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n\n/**\n * helper to deeply merge objects while preserving arrays in earlier source objects\n * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays will be preserved if already present in the resultant merged object\n * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)\n *\n * @method deepMergeWithArrayOverrides\n * @param {Object} initial - target object to merge values into\n * @param {Object[]} sources - other default options to be merged into the resultant object if no explicit value is provided, with earlier args taking precedence over later ones\n *\n * @returns {Object}\n */\nexport const deepMergeWithArrayOverrides = (initial, ...sources) => {\n const clone = cloneDeep(initial);\n sources.forEach(sourceToApply => {\n Object.keys(sourceToApply).forEach(sourceKey => {\n if (!Object.prototype.hasOwnProperty.call(clone, sourceKey)) {\n clone[sourceKey] = cloneDeep(sourceToApply[sourceKey]);\n }\n // object merging excluding arrays\n if (\n clone[sourceKey] &&\n typeof clone[sourceKey] === 'object' &&\n !Array.isArray(clone[sourceKey]) &&\n typeof sourceToApply[sourceKey] === 'object'\n ) {\n clone[sourceKey] = deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);\n }\n });\n });\n return clone;\n};\n","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: 'grey',\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\n\nimport { withTheme } from 'styled-components';\nimport SplunkVisualization from './SplunkVisualization';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { VizConfig } from './interfaces/VizConfig';\nimport { VizProps } from './interfaces/VizProps';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { DataSource } from './interfaces/DataSource';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport { pickFieldFromJSONSchema } from './utils/JSONSchemaUtils';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\nimport { deepMergeWithArrayOverrides } from './utils/hocUtils';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const { ReactViz, vizConfig, computeVizProps = () => {}, useIconPlaceholder } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptions[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(withPlaceholder(withEditModeCover(DashboardViz), useIconPlaceholder));\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\ninterface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","/* eslint-disable no-param-reassign */\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { has, isEmpty, get } from 'lodash';\nimport { KV } from '../interfaces/Object';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport const pickFieldFromJSONSchema = (\n optionsSchema: OptionsSchema | JSONSchema7Definition,\n fieldName = 'default'\n): KV =>\n Object.keys(optionsSchema).reduce((accum: Record<string, unknown>, k): Record<string, unknown> => {\n if (has(optionsSchema[k], fieldName)) {\n accum[k] = optionsSchema[k][fieldName];\n } else if (get(optionsSchema, [k, 'type']) === 'object' && has(optionsSchema[k], 'properties')) {\n const nestedSchema = pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);\n if (!isEmpty(nestedSchema)) {\n accum[k] = nestedSchema;\n }\n }\n return accum;\n }, {});\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (Visualization: ExtendedDashViz): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n return (\n <Blocker>\n <Visualization {...props} />\n {mode === 'edit' && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={config.icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData => columnData.slice(0, limit));\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"d3-scale\");","import { scaleBand, scaleLinear, scaleOrdinal } from 'd3-scale';\n\n/**\n * @enum {AXIS_ORIENTATION_TYPES}\n */\nexport enum AXIS_ORIENTATION_TYPES {\n VERTICAL = 'vertical',\n HORIZONTAL = 'horizontal',\n}\n\n/**\n * @enum {BUBBLE_ROW_SCALE_TYPES}\n */\nexport enum BUBBLE_ROW_SCALE_TYPES {\n GLOBAL = 'global',\n ROW = 'row',\n}\n\n/**\n * @enum {BUBBLE_SCALE_TYPES}\n */\nexport enum BUBBLE_SCALE_TYPES {\n RADIUS = 'radius',\n AREA = 'area',\n}\n\n/**\n * @enum {COLOR_MODE_TYPES}\n */\nexport enum COLOR_MODE_TYPES {\n SEQUENTIAL = 'sequential',\n CATEGORICAL = 'categorical',\n}\n\n/**\n * @enum {BUBBLE_LABELS_TYPES}\n */\nexport enum BUBBLE_LABELS_TYPES {\n ALL = 'all',\n MAX = 'max',\n NONE = 'none',\n}\n\n/**\n * @string GRAYSCALE_FILTER_ID\n */\nexport const GRAYSCALE_FILTER_ID = `punchcard-grayscale-filter-id-${Math.floor(Math.random() * 1000)}`;\n\nconst X_AXIS_HEIGHT = 15;\nconst Y_AXIS_WIDTH = 77;\nconst MARGIN = 10;\nconst LEGEND_WIDTH = 135;\nconst HORIZONTAL_SPACE_FOR_SINGLE_CHAR = 6;\n\n/**\n * get a mapping of categories to colors given all categories\n * @method getColorCategoryMapping\n * @param {Object} input\n * @param {Array<String>} category\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {Array<String>} seriesColors\n * @return {Function} colorCategoryMapping\n */\nexport const getColorCategoryMapping = ({ category, colorMode, seriesColors }) => {\n if (colorMode === COLOR_MODE_TYPES.SEQUENTIAL) {\n return null;\n }\n\n return scaleOrdinal().domain(category).range(seriesColors).unknown(seriesColors[0]);\n};\n\n/**\n * get punchcard dimensions given container width and height\n * @method getChartAreaDimensions\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Boolean} displayLegend\n * @return {Object} dimensions\n * @return {Number} dimensions.xAxisStartY\n * @return {Number} dimensions.yAxisStartX\n * @return {Number} dimensions.chartAreaStartX\n * @return {Number} dimensions.chartAreaStartY\n * @return {Number} dimensions.chartAreaEndX\n * @return {Number} dimensions.chartAreaEndY\n */\nexport const getChartAreaDimensions = ({ containerWidth, containerHeight, displayLegend }) => {\n const yAxisStartX = MARGIN;\n const chartAreaStartX = yAxisStartX + Y_AXIS_WIDTH + MARGIN;\n\n let chartAreaEndX = containerWidth - MARGIN;\n let legendStartX = null;\n\n if (displayLegend) {\n legendStartX = containerWidth - LEGEND_WIDTH;\n chartAreaEndX = legendStartX - MARGIN;\n }\n\n const chartAreaStartY = MARGIN;\n const xAxisStartY = containerHeight - X_AXIS_HEIGHT - MARGIN;\n const chartAreaEndY = xAxisStartY - MARGIN;\n\n return {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n };\n};\n\n/**\n * gets a scale used to map values to x or y plane\n * @method getScales\n * @param {Object} input\n * @param {(Array<String>\\|Array<Number>)} values\n * @param {Number} start\n * @param {Number} end\n * @return {Object} scales\n * @return {Function} scales.scale function to return beginning of band\n * @return {Function} scales.positionScale function to return middle of band\n */\nexport const getScales = ({ values, start, end }) => {\n const scale = scaleBand().domain(values).range([start, end]);\n\n // Returns the middle of the band\n const positionScale = value => scale(value) + scale.bandwidth() / 2;\n\n return {\n scale,\n positionScale,\n };\n};\n\n/**\n * Maps an array of values to a percentage\n * Excludes zero values and takes the absolute minimum and maximum value\n * @method createValueScale\n * @param {Array<Number>} values\n * @return {Function} radiusScale\n */\nexport const createValueScale = values => {\n const absValuesWithoutZero = [];\n values.forEach(value => {\n // Ignore undefined, null and 0 values\n if (value) {\n absValuesWithoutZero.push(Math.abs(value));\n }\n });\n\n return scaleLinear()\n .domain([Math.min(...absValuesWithoutZero), Math.max(...absValuesWithoutZero)])\n .range([0, 1])\n .clamp(true)\n .unknown(0);\n};\n\n/**\n * @typedef RowData\n * @type {Object}\n * @property {(Array<String>\\|Array<Number>)} rowXValues\n * @property {Array<Number>} rowSizeValues\n * @property {Array<String>} rowCategoryValues\n * @property {Array<Number>} rowColorValues\n * @property {Array<Number>} rowFillOpacityValues\n * @property {Function} rowSizeScale\n * @property {Array<Number>} rowRadiusValue\n */\n\ninterface RowData {\n rowXValues: (string | number)[];\n rowSizeValues: number[];\n rowCategoryValues: string[];\n rowColorValues: number[];\n rowFillOpacityValues: number[];\n rowSizeScale: (...args: any) => void;\n rowRadiusValues: number[];\n}\n\n/**\n * Given a dataset, partition it by row and for each row:\n * get x, size, category and rowSizeScales\n * @method getDataByRows\n * @param {Object} input\n * @param {BUBBLE_ROW_SCALE_TYPES} bubbleRowScale\n * @param {BUBBLE_SCALE_TYPES} bubbleScale\n * @param {Array<String>} category\n * @param {Function} colorCategoryMapping\n * @param {COLOR_MODE_TYPES} colorMode\n * @param {(String|Array<String>)} bubbleColor\n * @param {Number} minBubbleColorIntensity\n * @param {Array<Number>} size\n * @param {(Array<String>\\|Array<Number>)} x\n * @param {(Array<String>\\|Array<Number>)} y\n * @param {Boolean} isBubbleSizeDynamic\n * @param {Number} minBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} maxBubbleSize // Used when isBubbleSizeDynamic\n * @param {Number} minBand // Used to calculated radius when isBubbleSizeDynamic\n * @param {Number} maxBubbleRadius // Used when !isBubbleSizeDynamic\n * @param {Number} minBubbleRadius // Used when !isBubbleSizeDynamic\n * @return {Object<String\\|Number, RowData>} dataByRows\n */\nexport const getDataByRows = ({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n minBand,\n maxBubbleRadius,\n minBubbleRadius,\n}) => {\n const dataByRows: { [key: string]: RowData } = {};\n const minRadius = isBubbleSizeDynamic ? (minBand / 2) * minBubbleSize : minBubbleRadius;\n const maxRadius = isBubbleSizeDynamic ? (minBand / 2) * maxBubbleSize : maxBubbleRadius;\n const minArea = Math.PI * minRadius ** 2;\n const maxArea = Math.PI * maxRadius ** 2;\n const isBubbleColorAnArray = Array.isArray(bubbleColor);\n\n const globalSizeScale = createValueScale(size);\n const getRadiusValue = (value, sizeScale) =>\n bubbleScale === BUBBLE_SCALE_TYPES.RADIUS\n ? (maxRadius - minRadius) * sizeScale(Math.abs(value)) + minRadius\n : Math.sqrt(((maxArea - minArea) * sizeScale(Math.abs(value)) + minArea) / Math.PI);\n const getColorValue = c =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL ? colorCategoryMapping(c) : bubbleColor;\n const getOpacityValue = (value, sizeScale) =>\n colorMode === COLOR_MODE_TYPES.CATEGORICAL || isBubbleColorAnArray\n ? 1\n : sizeScale(Math.abs(value)) * (1 - minBubbleColorIntensity) + minBubbleColorIntensity;\n\n y.forEach((yValue, index) => {\n const xValue = x[index];\n const sizeValue = size[index];\n const categoryValue = category && category[index] ? category[index] : null;\n const bubbleColorValue =\n colorMode === COLOR_MODE_TYPES.SEQUENTIAL && isBubbleColorAnArray\n ? bubbleColor[index]\n : getColorValue(categoryValue);\n\n // if we find an invalid data point here (x, y or size is null or undefined), we ignore it\n if (xValue == null || yValue == null || sizeValue == null) {\n return;\n }\n\n // initialize rowData\n if (!dataByRows[yValue]) {\n dataByRows[yValue] = {\n rowXValues: [],\n rowSizeValues: [],\n rowCategoryValues: [],\n rowColorValues: [],\n rowFillOpacityValues: [],\n rowSizeScale: globalSizeScale,\n rowRadiusValues: [],\n };\n }\n\n dataByRows[yValue].rowXValues.push(xValue);\n dataByRows[yValue].rowSizeValues.push(sizeValue);\n dataByRows[yValue].rowCategoryValues.push(categoryValue);\n dataByRows[yValue].rowColorValues.push(bubbleColorValue);\n dataByRows[yValue].rowFillOpacityValues.push(\n getOpacityValue(size[index], dataByRows[yValue].rowSizeScale)\n );\n dataByRows[yValue].rowRadiusValues.push(getRadiusValue(size[index], dataByRows[yValue].rowSizeScale));\n });\n\n // If we are using row scaling we need to recalculate opacity, radius and size scale\n if (bubbleRowScale === BUBBLE_ROW_SCALE_TYPES.ROW) {\n Object.entries(dataByRows).forEach(([row, rowData]) => {\n const rowSizeScale = createValueScale(rowData.rowSizeValues);\n dataByRows[row].rowSizeScale = rowSizeScale;\n\n // Fill in opacity and radius values based on row scale\n rowData.rowSizeValues.forEach((rowSizeValue, index) => {\n dataByRows[row].rowFillOpacityValues[index] = getOpacityValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n dataByRows[row].rowRadiusValues[index] = getRadiusValue(\n rowData.rowSizeValues[index],\n rowSizeScale\n );\n });\n });\n }\n\n return dataByRows;\n};\n\n/**\n * Given selected dimensions\n * return true if there is something currently being selected\n * @method isSomethingSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @return {Boolean}\n */\nexport const isSomethingSelected = ({ selectedX, selectedY, selectedCategory }) =>\n selectedX !== null || selectedY !== null || selectedCategory !== null;\n\n/**\n * Given selected dimensions and a specific bubble's values\n * return true if that bubble should be selected\n * @method isBubbleSelected\n * @param {Object} input\n * @param {String|Number} selectedX\n * @param {String|Number} selectedY\n * @param {String} selectedCategory\n * @param {String|Number} xValue\n * @param {String|Number} yValue\n * @param {Boolean} categoryValue\n * @return {Boolean}\n */\nexport const isBubbleSelected = ({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n}) => {\n if (selectedX !== null && xValue !== selectedX) {\n return false;\n }\n\n if (selectedY !== null && yValue !== selectedY) {\n return false;\n }\n\n if (selectedCategory !== null && categoryValue !== selectedCategory) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Given text and available width, the truncateAxisLabelText will ellipsize\n * the truncateLocation of the text\n * @method truncateAxisLabelText\n * @param {Object} input\n * @param {String} label - The text to truncate\n * @param {Number} widthInPX - Available width to render the text\n * @param {('ellipsisStart' | 'ellipsisEnd')} axisLabelOverflowMode - Truncate start or end of the text\n */\nexport const truncateAxisLabelText = ({\n label,\n widthInPX = Y_AXIS_WIDTH,\n axisLabelOverflowMode = 'ellipsisEnd',\n}) => {\n // convert available width to number of characters that can be rendered.\n const availableLength = Math.floor(widthInPX / HORIZONTAL_SPACE_FOR_SINGLE_CHAR);\n\n if (label.length <= availableLength) {\n return label;\n }\n\n // return empty string if available space cannot accomodate\n // at least one label character\n if (availableLength < 'X...'.length) {\n return '';\n }\n\n const endMarker = Math.max(0, availableLength - '...'.length);\n if (axisLabelOverflowMode === 'ellipsisStart') {\n return `...${label.slice(-endMarker)}`;\n }\n\n return `${label.slice(0, endMarker)}...`;\n};\n","module.exports = require(\"lodash/find\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","module.exports = require(\"lodash/findIndex\");","module.exports = require(\"lodash/flattenDeep\");","module.exports = require(\"lodash/sortBy\");","import { chain } from 'lodash';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport vizConfig from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport Punchcard, { PunchcardProps } from './PurePunchcard/Punchcard';\nimport { convertToPunchcardProperties } from './punchcardUtils';\n\nexport const config = vizConfig;\nexport const PurePunchcard = Punchcard;\n\nconst validOptions = Object.keys(config.optionsSchema);\n\ntype computeVizPropsFn = (options: Record<string, any>) => Partial<PunchcardProps>;\nexport const computeVizProps: computeVizPropsFn = ({\n onPointClick,\n onLegendClick,\n x,\n y,\n category,\n ...otherOptions\n}): Partial<PunchcardProps> => {\n const options = chain(otherOptions).pick(validOptions).thru(convertToPunchcardProperties).value();\n if (options.seriesColors && typeof options.seriesColors === 'string') {\n try {\n options.seriesColors = JSON.parse(options.seriesColors);\n } catch (e) {\n options.seriesColors = VIZ_CATEGORICAL;\n }\n }\n\n return {\n onPointClick,\n onLegendClick,\n x,\n y,\n // PurePunchcard accepts category as string array\n category: category && category.map(String),\n ...options,\n };\n};\n\nconst viz = withDashboardViz({\n ReactViz: Punchcard as any,\n computeVizProps,\n vizConfig,\n});\n\nexport const { themes } = vizConfig;\nexport default viz;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | seriesByIndex(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n category: {\n default: '> primary | seriesByIndex(3)',\n description: 'Specify the dataSource to apply series categories.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n size: {\n default: '> primary | seriesByIndex(2)',\n description: 'Specify the dataSource to apply bubble size in the chart.',\n type: 'array',\n items: { type: 'number' },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yField: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n categoryField: {\n default: '> category | getField()',\n description: 'Specify the field that should be mapped to the series categories.',\n type: 'string',\n },\n sizeField: {\n default: '> size | getField()',\n description: 'Specify the field that should be mapped to the bubble size in the chart.',\n type: 'string',\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n bubbleColor: {\n default: '> size | gradient(bubbleColorConfig)',\n description:\n 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)\".',\n type: ['string', 'array'],\n },\n bubbleLabelDisplay: {\n default: 'all',\n description:\n 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',\n pattern: getPattern(['all', 'max', 'off']),\n type: 'string',\n },\n bubbleRadiusMax: {\n default: 15,\n description:\n 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRadiusMin: {\n default: 1,\n description:\n 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRowScale: {\n default: 'global',\n description: 'Specify how bubbles are scaled relative to other rows.',\n pattern: getPattern(['global', 'row']),\n type: 'string',\n },\n bubbleSizeMax: {\n default: 1,\n description:\n 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMin: {\n default: 0.25,\n description:\n 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMethod: {\n default: 'area',\n description: 'Specify whether bubble area or diameter corresponds to the size value.',\n pattern: getPattern(['radius', 'area']),\n type: 'string',\n },\n colorMode: {\n default: 'dynamic',\n description: 'Specify the coloring method used for the bubbles.',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'off']),\n type: 'string',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, \"#FF0000\", \"#0000FF\", \"#008000\".',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n showDefaultSort: {\n default: false,\n description: 'Specify whether axes should be sorted based on order of time, digits and strings.',\n type: 'boolean',\n },\n showDynamicBubbleSize: {\n default: true,\n description: 'Specify whether the bubble size should be dynamic or fixed.',\n type: 'boolean',\n },\n showMaxValuePulsation: {\n default: true,\n description: 'Specify whether the max value bubble should pulsate.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n open: true,\n layout: [\n [\n {\n label: _('Pulsate Max Value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Show Bubble Labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble Row Scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble Scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n open: true,\n layout: [\n [\n {\n label: _('Color Mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by Field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes, labelPosition: 'left' }),\n [\n {\n label: _('Legend Display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: 'Punchcard',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport * as T from 'prop-types';\nimport { pick, uniq, noop } from 'lodash';\n\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport { CATEGORICAL } from '@splunk/visualization-color-palettes';\n\nimport {\n AXIS_ORIENTATION_TYPES,\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n GRAYSCALE_FILTER_ID,\n getChartAreaDimensions,\n getColorCategoryMapping,\n getScales,\n} from './src/utils/punchcardUtils';\n\nimport { sortAxis } from './src/utils/sortUtils';\n\nimport PunchcardAxis from './src/PunchcardAxis';\nimport PunchcardChartArea from './src/PunchcardChartArea';\nimport PunchcardLegend from './src/PunchcardLegend';\nimport PunchcardGridLines from './src/PunchcardGridLines';\n\nconst Container = styled.div<{\n width: string | number;\n height: string | number;\n backgroundColor: string;\n}>`\n cursor: default;\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardWrapper = styled.div<{\n backgroundColor: string;\n}>`\n display: flex;\n justify-content: center;\n flex-direction: row;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nconst PunchcardContainer = styled.div<{\n width: string | number;\n height: string | number;\n}>`\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst PunchcardSVG = styled.svg<{\n width: string | number;\n height: string | number;\n}>`\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface PunchcardProps {\n backgroundColor: string;\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n categoryField: string;\n colorMode: COLOR_MODE_TYPES;\n seriesColors: string[];\n bubbleColor: string | string[];\n minBubbleColorIntensity: number;\n height: string | number;\n isBubbleSizeDynamic: boolean;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n useDefaultSort: boolean;\n showMaxValuePulsation: boolean;\n showLegend: boolean;\n size: number[];\n sizeField: string;\n width: string | number;\n x: (string | number)[];\n y: (string | number)[];\n xField: string;\n yField: string;\n onPointClick?: (...args: any) => void;\n onLegendClick?: (...args: any) => void;\n}\n\nconst Punchcard = (props: PunchcardProps): React.ReactElement => {\n const [selectedX, setSelectedX] = React.useState(null);\n const [selectedY, setSelectedY] = React.useState(null);\n const [selectedCategory, setSelectedCategory] = React.useState(null);\n\n const handleMouseLeave = () => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleLegendHover = category => {\n setSelectedX(null);\n setSelectedY(null);\n setSelectedCategory(category);\n };\n\n const handleXAxisHover = xValue => {\n setSelectedX(xValue);\n setSelectedY(null);\n setSelectedCategory(null);\n };\n\n const handleYAxisHover = yValue => {\n setSelectedX(null);\n setSelectedY(yValue);\n setSelectedCategory(null);\n };\n\n const handleBubbleHover = (xValue, yValue, category) => {\n setSelectedX(xValue);\n setSelectedY(yValue);\n setSelectedCategory(category);\n };\n\n const {\n backgroundColor,\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n categoryField,\n colorMode,\n seriesColors,\n bubbleColor,\n minBubbleColorIntensity,\n height,\n showMaxValuePulsation,\n isBubbleSizeDynamic,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n useDefaultSort,\n showLegend,\n size,\n sizeField,\n width,\n x,\n y,\n xField,\n yField,\n onPointClick,\n onLegendClick,\n } = props;\n const calculatedColorMode = category ? colorMode : COLOR_MODE_TYPES.SEQUENTIAL;\n const displayLegend = showLegend && calculatedColorMode === COLOR_MODE_TYPES.CATEGORICAL;\n const uniqX = useDefaultSort ? sortAxis(uniq(x.map(v => `${v}`))) : uniq(x);\n const uniqY = useDefaultSort ? sortAxis(uniq(y.map(v => `${v}`))) : uniq(y);\n const uniqCategory = uniq(category);\n const colorCategoryMapping = getColorCategoryMapping({\n category: uniqCategory,\n colorMode: calculatedColorMode,\n seriesColors,\n });\n\n const handlePointClick = (sizeValue: number): void => {\n const rowData = {\n [`row.${xField}.value`]: selectedX,\n [`row.${yField}.value`]: selectedY,\n [`row.${sizeField}.value`]: sizeValue,\n };\n if (categoryField) rowData[`row.${categoryField}.value`] = selectedCategory;\n onPointClick({\n type: 'point.click',\n payload: {\n value: selectedY,\n name: yField,\n ...rowData,\n },\n });\n };\n\n const handleLegendClick = (): void => {\n onLegendClick({\n type: 'legend.click',\n payload: {\n name: yField,\n },\n });\n };\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n const {\n xAxisStartY,\n yAxisStartX,\n chartAreaStartX,\n chartAreaStartY,\n chartAreaEndX,\n chartAreaEndY,\n legendStartX,\n } = getChartAreaDimensions({\n containerWidth,\n containerHeight,\n displayLegend,\n });\n const { scale: xScale, positionScale: xPositionScale } = getScales({\n values: uniqX,\n start: chartAreaStartX,\n end: chartAreaEndX,\n });\n const { scale: yScale, positionScale: yPositionScale } = getScales({\n values: uniqY,\n start: chartAreaStartY,\n end: chartAreaEndY,\n });\n\n const minBand = Math.min(xScale.bandwidth(), yScale.bandwidth());\n\n return (\n <PunchcardWrapper backgroundColor={backgroundColor}>\n <PunchcardContainer width={containerWidth} height={containerHeight}>\n <PunchcardSVG width={containerWidth} height={containerHeight}>\n <PunchcardGridLines\n xStartPosition={xPositionScale(uniqX[0])}\n xEndPosition={xPositionScale(uniqX[uniqX.length - 1])}\n yStartPosition={yPositionScale(uniqY[0])}\n yEndPosition={yPositionScale(uniqY[uniqY.length - 1])}\n xDelta={xScale.bandwidth()}\n yDelta={yScale.bandwidth()}\n />\n <PunchcardAxis\n labels={uniqX}\n orientation={AXIS_ORIENTATION_TYPES.HORIZONTAL}\n handleMouseEnter={handleXAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={chartAreaStartX}\n startPositionY={xAxisStartY}\n scale={xScale}\n selected={selectedX}\n />\n <PunchcardAxis\n labels={uniqY}\n orientation={AXIS_ORIENTATION_TYPES.VERTICAL}\n handleMouseEnter={handleYAxisHover}\n handleMouseLeave={handleMouseLeave}\n startPositionX={yAxisStartX}\n startPositionY={chartAreaStartY}\n scale={yScale}\n selected={selectedY}\n />\n {displayLegend && (\n <PunchcardLegend\n category={uniqCategory}\n colorCategoryMapping={colorCategoryMapping}\n handleMouseEnter={handleLegendHover}\n handleMouseLeave={handleMouseLeave}\n selected={selectedCategory}\n startPositionX={legendStartX}\n startPositionY={yPositionScale(uniqY[0])}\n containerWidth={containerWidth}\n containerHeight={containerHeight}\n handleLegendClick={handleLegendClick}\n />\n )}\n <PunchcardChartArea\n showBubbleLabels={showBubbleLabels}\n bubbleRowScale={bubbleRowScale}\n bubbleScale={bubbleScale}\n category={category}\n colorCategoryMapping={colorCategoryMapping}\n colorMode={calculatedColorMode}\n bubbleColor={bubbleColor}\n minBubbleColorIntensity={minBubbleColorIntensity}\n handleMouseEnter={handleBubbleHover}\n handleMouseLeave={handleMouseLeave}\n isBubbleSizeDynamic={isBubbleSizeDynamic}\n minBand={minBand}\n minBubbleSize={minBubbleSize}\n maxBubbleSize={maxBubbleSize}\n minBubbleRadius={minBubbleRadius}\n maxBubbleRadius={maxBubbleRadius}\n showMaxValuePulsation={showMaxValuePulsation}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n size={size}\n x={x}\n xScale={xPositionScale}\n y={y}\n yScale={yPositionScale}\n handlePointClick={handlePointClick}\n />\n <filter id={GRAYSCALE_FILTER_ID}>\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </PunchcardSVG>\n </PunchcardContainer>\n </PunchcardWrapper>\n );\n };\n\n return (\n <Container backgroundColor={backgroundColor} height={height} width={width}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </Container>\n );\n};\n\nconst propTypes: Record<keyof PunchcardProps, T.Validator<any>> = {\n backgroundColor: T.string,\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n categoryField: T.string,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n seriesColors: T.arrayOf(T.string),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n minBubbleColorIntensity: T.number,\n height: T.oneOfType([T.string, T.number]),\n isBubbleSizeDynamic: T.bool,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n useDefaultSort: T.bool,\n showMaxValuePulsation: T.bool,\n showLegend: T.bool,\n sizeField: T.string,\n width: T.oneOfType([T.string, T.number]),\n // hotfix: isRequired check is removed here for x, y and size props\n // to remove console warnings on early return of this component and\n // implemented in config file using requiredProps\n x: T.arrayOf(T.oneOfType([T.string, T.number])),\n y: T.arrayOf(T.oneOfType([T.string, T.number])),\n size: T.arrayOf(T.number),\n xField: T.string,\n yField: T.string,\n onPointClick: T.func,\n onLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardProps, any> = {\n backgroundColor: 'transparent',\n showBubbleLabels: 'all',\n bubbleRowScale: 'global',\n bubbleScale: 'area',\n category: null,\n categoryField: null,\n colorMode: 'categorical',\n seriesColors: CATEGORICAL,\n bubbleColor: '#7B56DB',\n minBubbleColorIntensity: 0.4,\n showMaxValuePulsation: true,\n height: 500,\n isBubbleSizeDynamic: true,\n minBubbleSize: 0.25,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n useDefaultSort: false,\n showLegend: true,\n size: null,\n sizeField: null,\n width: '100%',\n x: null,\n y: null,\n xField: null,\n yField: null,\n onPointClick: noop,\n onLegendClick: noop,\n};\n\nPunchcard.propTypes = propTypes;\nPunchcard.defaultProps = defaultProps;\n\nexport default Punchcard;\n","import findIndex from 'lodash/findIndex';\nimport find from 'lodash/find';\nimport sortBy from 'lodash/sortBy';\nimport flattenDeep from 'lodash/flattenDeep';\nimport { every } from 'lodash';\n\nconst TIME_RANGES = {\n month: [\n { january: true, jan: true, 'jan.': true },\n { february: true, feb: true, 'feb.': true },\n { march: true, mar: true, 'mar.': true },\n { april: true, apr: true, 'apr.': true },\n { may: true },\n { june: true, jun: true, 'jun.': true },\n { july: true, jul: true, 'jul.': true },\n { august: true, aug: true, 'aug.': true },\n { september: true, sep: true, sept: true, 'sep.': true, 'sept.': true },\n { october: true, oct: true, 'oct.': true },\n { november: true, nov: true, 'nov.': true },\n { december: true, dec: true, 'dec.': true },\n ],\n wday: [\n { monday: true, mon: true, 'mon.': true },\n { tuesday: true, tu: true, 'tu.': true, tue: true, 'tue.': true, tues: true, 'tues.': true },\n { wednesday: true, wed: true, 'wed.': true },\n { thursday: true, th: true, 'th.': true, thur: true, 'thur.': true, thurs: true, 'thurs.': true },\n { friday: true, fri: true, 'fri.': true },\n { saturday: true, sat: true, 'sat.': true },\n { sunday: true, sun: true, 'sun.': true },\n ],\n};\n\n/**\n * Sort axis labels by weekday\n * @param {array} axis - string array\n * @return {array} - string array. If those are not weekday strings, return []\n */\nexport const sortedByWeekday = axis => {\n const sortedAxis = [];\n const notWeekDay = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.wday, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside weekdays, then don't treat it as weekdays\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n\n return notWeekDay ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by month\n * @param {array} axis - string array\n * @return {array} - string array. If those are not month strings, return []\n */\nexport const sortedByMonth = axis => {\n const sortedAxis = [];\n const notMonth = find(axis, value => {\n const lowerValue = value.toLowerCase();\n const index = findIndex(TIME_RANGES.month, lowerValue);\n if (index === -1) {\n // if the axis contains any value not inside month, then don't treat it as month\n return true;\n }\n if (sortedAxis[index]) {\n sortedAxis[index] = [sortedAxis[index], value];\n } else {\n sortedAxis[index] = value;\n }\n return false;\n });\n return notMonth ? [] : flattenDeep(sortedAxis.filter(Boolean));\n};\n\n/**\n * Sort axis labels by date time\n * @param {array} axis - string array\n * @return {array} - string array. If those are not in acceptTimeFormat or formatted date, return []\n */\nexport const sortedByDTime = axis => {\n // valid time format 01:00 am, 01:00:00, 01:00\n const acceptTimeFormat = [\n /^([0-1])?\\d( )?(am|pm)$/i, // 1am, 1 am, 12am, 12 am\n /^([0-1])?\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00 am, 01:00am, 1:00am\n /^([0-2])?\\d:([0-5]\\d:)?[0-5]\\d$/, // 01:00:00, 1:00:00, 23:00\n /^([0-2])?\\d:[0-5]\\d:[0-5]\\d( )?(am|pm)$/i, // 01:00:00 am, 1:00:00am\n ];\n\n const sortArr = [];\n const notDate = find(axis, value => {\n if (!Number.isNaN(Number(value))) {\n return true;\n }\n // should accept long date: 2019-03-02, Mar 2 2019, ..., 2019-01-01T00:00:00.000Z\n let convertedDate = new Date(value);\n if (!Number.isNaN(Number(convertedDate))) {\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n\n const acceptedTime = acceptTimeFormat.find(format => format.test(value));\n if (acceptedTime) {\n const midday = /(am|pm)$/i;\n let reformatTime = value;\n const containsMidday = value.match(midday);\n if (containsMidday) {\n // for time format like 01:00 am and 1 am\n reformatTime = value.split(midday).slice(0, -1);\n reformatTime[0] = `${reformatTime[0].trim()}:00`;\n reformatTime = reformatTime.join(' ');\n }\n convertedDate = new Date(`1970/01/01 ${reformatTime}`);\n sortArr.push({ epoch: convertedDate, original: value });\n return false;\n }\n return true;\n });\n\n if (notDate) {\n return [];\n }\n return sortBy(sortArr, val => val.epoch).map(val => val.original);\n};\n\n/**\n * Sort axis labels by digits or alphabetical order\n * @param {array} axis - string array\n * @return {array} - string array.\n * If those inputs are numbers, then return in digits order. Otherwise, return array based on alphabetical order\n */\nexport const sortByDigitOrAlpha = axis => {\n // 10, 10.0, 10.1, not accept 10,000.0\n const coercedIsFinite = num => Number.isFinite(Number(num));\n if (every(axis, coercedIsFinite)) {\n return axis.sort((a, b) => Number(a) - Number(b));\n }\n return axis.sort();\n};\n\n/**\n * Sort axis based on the priority: time measures, numbers, strings in ascending order\n * @param {array} axis - string array\n * @return {array} - string array\n */\nexport const sortAxis = axis => {\n const sortedTimeAxis = sortedByDTime(axis);\n if (sortedTimeAxis.length) {\n return sortedTimeAxis;\n }\n const sortedWeekdays = sortedByWeekday(axis);\n if (sortedWeekdays.length) {\n return sortedWeekdays;\n }\n const sortedMonths = sortedByMonth(axis);\n if (sortedMonths.length) {\n return sortedMonths;\n }\n\n return sortByDigitOrAlpha(axis);\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { AXIS_ORIENTATION_TYPES, truncateAxisLabelText } from './utils/punchcardUtils';\n\nconst AxisLabelText = styled.text<{\n muted: boolean;\n}>`\n cursor: pointer;\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n text-anchor: ${props => (props.orientation === AXIS_ORIENTATION_TYPES.HORIZONTAL ? 'middle' : 'start')};\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: all 0.15s;\n`;\n\ninterface PunchcardAxisProps {\n labels: (string | number)[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n orientation: AXIS_ORIENTATION_TYPES;\n scale: (...args: any) => void;\n selected: string | number;\n startPositionX: number;\n startPositionY: number;\n}\n\nconst PunchcardAxis = (props: PunchcardAxisProps): React.ReactElement => {\n const {\n labels,\n handleMouseEnter,\n handleMouseLeave,\n orientation,\n scale,\n selected,\n startPositionX,\n startPositionY,\n } = props;\n\n return (\n <g>\n {labels.map((label, index) => {\n // Space between labels either in x or y direction depending on orientation\n const positionDelta = index * (scale as any).bandwidth() + (scale as any).bandwidth() / 2;\n const xPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionX\n : startPositionX + positionDelta;\n const yPosition =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? startPositionY + positionDelta\n : startPositionY;\n\n // create padding between x-axis labels\n const xAxisWidthScale = (scale as any).copy().paddingInner(0.1).round(true);\n\n const truncatedLabel =\n orientation === AXIS_ORIENTATION_TYPES.VERTICAL\n ? truncateAxisLabelText({ label: `${label}` })\n : truncateAxisLabelText({\n label: `${label}`,\n widthInPX: xAxisWidthScale.bandwidth(),\n });\n\n return (\n <AxisLabelText\n key={label}\n x={xPosition}\n y={yPosition}\n orientation={orientation}\n onMouseEnter={() => handleMouseEnter(label)}\n onMouseLeave={handleMouseLeave}\n muted={selected && label !== selected}\n >\n <title>{label}</title>\n {truncatedLabel}\n </AxisLabelText>\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardAxisProps, T.Validator<any>> = {\n labels: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n orientation: T.oneOf(Object.values(AXIS_ORIENTATION_TYPES)),\n scale: T.func.isRequired,\n selected: T.oneOfType([T.string, T.number]),\n startPositionX: T.number,\n startPositionY: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardAxisProps, any> = {\n // set as undefined as we are using defaultProps in conjunction with ts\n // where it requires all keys of interface to be present in defaultProps\n // eslint-disable-next-line react/default-props-match-prop-types\n labels: undefined,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n orientation: 'vertical',\n // eslint-disable-next-line react/default-props-match-prop-types\n scale: undefined,\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n};\n\nPunchcardAxis.propTypes = propTypes;\nPunchcardAxis.defaultProps = defaultProps;\n\nexport default PunchcardAxis;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport {\n BUBBLE_ROW_SCALE_TYPES,\n BUBBLE_SCALE_TYPES,\n COLOR_MODE_TYPES,\n BUBBLE_LABELS_TYPES,\n getDataByRows,\n} from './utils/punchcardUtils';\nimport PunchcardRow from './PunchcardRow';\n\ninterface PunchcardChartAreaProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES;\n bubbleScale: BUBBLE_SCALE_TYPES;\n category: string[];\n colorCategoryMapping: (...args: any) => void;\n colorMode: COLOR_MODE_TYPES;\n bubbleColor: string | string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n isBubbleSizeDynamic: boolean;\n minBubbleColorIntensity: number;\n minBand: number;\n minBubbleSize: number;\n maxBubbleSize: number;\n maxBubbleRadius: number;\n minBubbleRadius: number;\n showMaxValuePulsation: boolean;\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => void;\n y: (string | number)[];\n yScale: (...args: any) => void;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardChartArea = (props: PunchcardChartAreaProps): React.ReactElement => {\n const {\n showBubbleLabels,\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n handleMouseEnter,\n handleMouseLeave,\n isBubbleSizeDynamic,\n minBubbleColorIntensity,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n showMaxValuePulsation,\n selectedCategory,\n selectedX,\n selectedY,\n size,\n x,\n xScale,\n y,\n yScale,\n handlePointClick,\n } = props;\n\n /** @type {Object<String\\|Number, import('./utils/punchcardUtils').RowData>} */\n const dataByRows = getDataByRows({\n bubbleRowScale,\n bubbleScale,\n category,\n colorCategoryMapping,\n colorMode,\n bubbleColor,\n minBubbleColorIntensity,\n size,\n x,\n y,\n isBubbleSizeDynamic,\n minBand,\n minBubbleSize,\n maxBubbleSize,\n maxBubbleRadius,\n minBubbleRadius,\n });\n\n return (\n <g>\n {Object.entries(dataByRows).map(([row, rowData]) => {\n const {\n rowXValues,\n rowSizeValues,\n rowCategoryValues,\n rowColorValues,\n rowFillOpacityValues,\n rowSizeScale,\n rowRadiusValues,\n } = rowData;\n const yPosition = yScale(row);\n\n return (\n <PunchcardRow\n key={row}\n showBubbleLabels={showBubbleLabels}\n category={rowCategoryValues}\n colors={rowColorValues}\n handleMouseEnter={handleMouseEnter}\n handleMouseLeave={handleMouseLeave}\n maxSizeValue={Math.max(...size)}\n opacities={rowFillOpacityValues}\n radiusValues={rowRadiusValues}\n selectedCategory={selectedCategory}\n selectedX={selectedX}\n selectedY={selectedY}\n showMaxValuePulsation={showMaxValuePulsation}\n sizeScale={rowSizeScale}\n size={rowSizeValues}\n x={rowXValues}\n xScale={xScale}\n yPosition={yPosition}\n yValue={row}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardChartAreaProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n bubbleRowScale: T.oneOf(Object.values(BUBBLE_ROW_SCALE_TYPES)),\n bubbleScale: T.oneOf(Object.values(BUBBLE_SCALE_TYPES)),\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func,\n colorMode: T.oneOf(Object.values(COLOR_MODE_TYPES)),\n bubbleColor: T.oneOfType([T.string, T.arrayOf(T.string)]),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n isBubbleSizeDynamic: T.bool,\n minBubbleColorIntensity: T.number,\n minBand: T.number,\n minBubbleSize: T.number,\n maxBubbleSize: T.number,\n maxBubbleRadius: T.number,\n minBubbleRadius: T.number,\n showMaxValuePulsation: T.bool,\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n size: T.arrayOf(T.number).isRequired,\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n y: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n yScale: T.func,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardChartAreaProps, any> = {\n showBubbleLabels: BUBBLE_LABELS_TYPES.ALL,\n bubbleRowScale: BUBBLE_ROW_SCALE_TYPES.ROW,\n bubbleScale: BUBBLE_SCALE_TYPES.AREA,\n category: null,\n colorCategoryMapping: null,\n colorMode: COLOR_MODE_TYPES.CATEGORICAL,\n bubbleColor: '#A870EF',\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n isBubbleSizeDynamic: true,\n minBubbleColorIntensity: 0.25,\n minBand: 15,\n minBubbleSize: 0.01,\n maxBubbleSize: 1,\n maxBubbleRadius: 15,\n minBubbleRadius: 1,\n showMaxValuePulsation: true,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n size: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n x: null,\n xScale: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n y: null,\n yScale: null,\n handlePointClick: () => {},\n};\n\nPunchcardChartArea.propTypes = propTypes;\nPunchcardChartArea.defaultProps = defaultProps;\n\nexport default PunchcardChartArea;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport PunchcardBubble from './PunchcardBubble';\n\nimport { BUBBLE_LABELS_TYPES, isSomethingSelected, isBubbleSelected } from './utils/punchcardUtils';\n\ninterface PunchcardRowProps {\n showBubbleLabels: BUBBLE_LABELS_TYPES;\n category: string[];\n colors: string[];\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n maxSizeValue: number;\n opacities: number[];\n radiusValues: number[];\n selectedCategory: string | number;\n selectedX: string | number;\n selectedY: string | number;\n showMaxValuePulsation: boolean;\n size: number[];\n x: (string | number)[];\n xScale: (...args: any) => number;\n yPosition: number;\n yValue: string | number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardRow = (props: PunchcardRowProps): React.ReactElement => {\n const {\n showBubbleLabels,\n category,\n colors,\n handleMouseEnter,\n handleMouseLeave,\n maxSizeValue,\n opacities,\n radiusValues,\n selectedCategory,\n selectedX,\n selectedY,\n showMaxValuePulsation,\n size,\n x,\n xScale,\n yPosition,\n yValue,\n handlePointClick,\n } = props;\n\n return (\n <g>\n {x.map((xValue, index) => {\n const sizeValue = size[index];\n const categoryValue = category[index];\n const colorValue = colors[index];\n const cx = xScale(xValue);\n const r = radiusValues[index];\n const fillOpacity = opacities[index];\n\n const hover =\n isSomethingSelected({ selectedX, selectedY, selectedCategory }) &&\n isBubbleSelected({\n selectedX,\n selectedY,\n selectedCategory,\n xValue,\n yValue,\n categoryValue,\n });\n const muted = isSomethingSelected({ selectedX, selectedY, selectedCategory }) && !hover;\n\n const showBubbleLabel =\n showBubbleLabels === BUBBLE_LABELS_TYPES.ALL ||\n (showBubbleLabels === BUBBLE_LABELS_TYPES.MAX && maxSizeValue === sizeValue);\n\n return (\n <PunchcardBubble\n key={`${xValue}-${yValue}-${sizeValue}-${categoryValue}`}\n showBubbleLabel={showBubbleLabel}\n color={colorValue}\n cx={cx}\n cy={yPosition}\n fillOpacity={fillOpacity}\n handleMouseEnter={() => {\n handleMouseEnter(xValue, yValue, categoryValue);\n }}\n handleMouseLeave={handleMouseLeave}\n hover={hover}\n muted={muted}\n pulsate={showMaxValuePulsation && sizeValue === maxSizeValue}\n value={sizeValue}\n r={r}\n handlePointClick={handlePointClick}\n />\n );\n })}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardRowProps, T.Validator<any>> = {\n showBubbleLabels: T.oneOf(Object.values(BUBBLE_LABELS_TYPES)),\n category: T.arrayOf(T.string),\n colors: T.arrayOf(T.string),\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n maxSizeValue: T.number,\n opacities: T.arrayOf(T.number),\n radiusValues: T.arrayOf(T.number),\n selectedCategory: T.oneOfType([T.string, T.number]),\n selectedX: T.oneOfType([T.string, T.number]),\n selectedY: T.oneOfType([T.string, T.number]),\n showMaxValuePulsation: T.bool,\n size: T.arrayOf(T.number),\n x: T.arrayOf(T.oneOfType([T.string, T.number])).isRequired,\n xScale: T.func,\n yPosition: T.number,\n yValue: T.oneOfType([T.string, T.number]),\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardRowProps, any> = {\n showBubbleLabels: null,\n category: null,\n colors: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n maxSizeValue: null,\n opacities: null,\n radiusValues: null,\n selectedCategory: null,\n selectedX: null,\n selectedY: null,\n showMaxValuePulsation: true,\n size: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n x: null,\n xScale: null,\n yPosition: null,\n yValue: null,\n handlePointClick: () => {},\n};\n\nPunchcardRow.propTypes = propTypes;\nPunchcardRow.defaultProps = defaultProps;\n\nexport default withTheme(PunchcardRow as any);\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled, { keyframes } from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { GRAYSCALE_FILTER_ID } from './utils/punchcardUtils';\n\nconst BubbleCircle = styled.circle<{\n hover: boolean | null;\n outline: boolean;\n}>`\n fill: ${props =>\n props.outline\n ? pick({\n // bubbleTextColor\n enterprise: {\n light: variables.white, // equal to enterpriseDark.textColor\n dark: variables.contentColorInverted, // enterprise.textColor\n },\n prisma: variables.contentColorActive,\n })(props)\n : props.color};\n fill-opacity: 1;\n opacity: ${props => (props.hover ? 0 : props.fillOpacity)};\n stroke: ${props => (props.outline ? props.color : 'none')};\n`;\n\nconst pulsateAnimation = r => keyframes`\n 41% {\n opacity: 0;\n r: ${r + 5};\n }\n 100% {\n opacity: 0;\n r: ${r + 5};\n }\n`;\n\nconst PulsateBubble = styled(BubbleCircle)`\n animation: ${props => pulsateAnimation(props.r)} 2.4s linear 0.4s infinite;\n`;\n\nconst BubbleGroup = styled.g<{\n muted: boolean;\n onMouseEnter: (...args: any) => void;\n onMouseLeave: (...args: any) => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n filter: ${props => (props.muted ? `url(#${GRAYSCALE_FILTER_ID})` : '')};\n transition: opacity 0.15s;\n`;\n\nconst BubbleLabelText = styled.text<{\n hover: boolean;\n outline: boolean;\n displayLabel: boolean;\n}>`\n dominant-baseline: middle;\n opacity: ${props => (props.displayLabel ? 1 : 0)};\n fill: ${props =>\n props.hover || props.outline\n ? pick({\n // bubbleAltTextColor\n enterprise: variables.textColor,\n prisma: variables.contentColorActive,\n })(props)\n : pick({\n enterprise: {\n dark: variables.textColor,\n light: variables.white,\n },\n prisma: variables.contentColorActive,\n })(props)}};\n font-size: ${props => (props.hover ? '12px' : '10px')};\n font-weight: ${props => (props.hover ? 500 : 'normal')};\n text-anchor: middle;\n`;\n\nconst MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL = 13;\nconst MAX_DISPLAYABLE_VALUE = 99499999999999;\nconst VALUE_OVERFLOW_TEXT = '99T+';\n\ninterface PunchcardBubbleProps {\n showBubbleLabel: boolean;\n color: string;\n cx: number;\n cy: number;\n fillOpacity: number;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n hover: boolean;\n muted: boolean;\n pulsate: boolean;\n value: number;\n r: number;\n handlePointClick?: (...args: any) => void;\n}\n\nconst PunchcardBubble = (props: PunchcardBubbleProps): React.ReactElement => {\n const {\n showBubbleLabel,\n color,\n cx,\n cy,\n fillOpacity,\n handleMouseEnter,\n handleMouseLeave,\n hover,\n muted,\n pulsate,\n value,\n r,\n handlePointClick,\n } = props;\n\n const outline = value < 0;\n const showPulsateBubble = pulsate && !muted && !hover;\n const displayLabel = hover || (showBubbleLabel && r >= MIN_BUBBLE_SIZE_TO_DISPLAY_LABEL);\n\n let bubbleLabelValueText =\n value <= MAX_DISPLAYABLE_VALUE\n ? formatNumber(value, 0, { useTrendUnits: true })\n : VALUE_OVERFLOW_TEXT;\n\n if (hover) {\n bubbleLabelValueText = formatNumber(value, 2);\n }\n\n return (\n <BubbleGroup\n muted={muted}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={() => handlePointClick(value)}\n >\n {showPulsateBubble && <PulsateBubble cx={cx} cy={cy} r={r} color={color} outline hover={null} />}\n <BubbleCircle\n cx={cx}\n cy={cy}\n r={r}\n color={color}\n hover={hover}\n fillOpacity={fillOpacity}\n outline={outline}\n />\n <BubbleLabelText x={cx} y={cy} hover={hover} outline={outline} displayLabel={displayLabel}>\n {bubbleLabelValueText}\n </BubbleLabelText>\n </BubbleGroup>\n );\n};\n\nconst propTypes: Record<keyof PunchcardBubbleProps, T.Validator<any>> = {\n showBubbleLabel: T.bool,\n color: T.string,\n cx: T.number,\n cy: T.number,\n fillOpacity: T.number,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n hover: T.bool,\n muted: T.bool,\n pulsate: T.bool,\n value: T.number,\n r: T.number,\n handlePointClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardBubbleProps, any> = {\n showBubbleLabel: true,\n color: '#46D3BB',\n cx: 0,\n cy: 0,\n fillOpacity: 1,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n hover: false,\n muted: false,\n pulsate: false,\n r: 1,\n value: undefined,\n handlePointClick: () => {},\n};\n\nPunchcardBubble.propTypes = propTypes;\nPunchcardBubble.defaultProps = defaultProps;\n\nexport default PunchcardBubble;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nconst LEGEND_ITEM_VERTICAL_SPACER = 25;\nconst LEGEND_ITEM_HORIZONTAL_SPACER = 10;\nconst LEGEND_RECT_WIDTH = 5;\nconst LEGEND_RECT_HEIGHT = 10;\nconst LEGEND_OFFSET_TOP = 7;\nconst LEGEND_OFFSET_RIGHT = 16;\nconst LEGEND_OFFSET_BOTTOM = 16;\n\nconst LegendGroup = styled.g<{\n muted: boolean;\n onClick: () => void;\n}>`\n cursor: pointer;\n opacity: ${props => (props.muted ? 0.15 : 1)};\n transition: opacity 0.15s;\n`;\n\nconst LegendIcon = styled.rect`\n width: ${LEGEND_RECT_WIDTH}px;\n height: ${LEGEND_RECT_HEIGHT}px;\n rx: 1px;\n ry: 1px;\n`;\n\nconst LegendText = styled.text`\n dominant-baseline: middle;\n fill: ${pick({\n /* was previously named textColor in themeReg */\n enterprise: variables.textColor,\n prisma: variables.contentColorDefault,\n })};\n font-size: 12px;\n`;\n\ninterface PunchcardLegendProps {\n category: string[];\n colorCategoryMapping: (...args: any) => string;\n handleMouseEnter: (...args: any) => void;\n handleMouseLeave: (...args: any) => void;\n selected: string;\n startPositionY: number;\n startPositionX: number;\n containerWidth: number;\n containerHeight: number;\n handleLegendClick: () => void;\n}\n\nconst PunchcardLegend = (props: PunchcardLegendProps): React.ReactElement => {\n const {\n category,\n colorCategoryMapping,\n handleMouseEnter,\n handleMouseLeave,\n selected,\n startPositionX,\n startPositionY,\n containerWidth,\n containerHeight,\n handleLegendClick,\n } = props;\n\n const legendWidth = containerWidth - LEGEND_OFFSET_RIGHT - startPositionX;\n const legendHeight = containerHeight - LEGEND_OFFSET_BOTTOM;\n\n return (\n <svg\n x={startPositionX}\n y={startPositionY - LEGEND_OFFSET_TOP} // Align legend with topmost grid line\n width={legendWidth}\n height={legendHeight}\n >\n <g>\n {category.map((c, index) => {\n const yValue = index * LEGEND_ITEM_VERTICAL_SPACER;\n\n return (\n <LegendGroup\n key={c}\n muted={selected && selected !== c}\n onMouseEnter={() => handleMouseEnter(c)}\n onMouseLeave={handleMouseLeave}\n onClick={() => handleLegendClick()}\n data-test=\"legend-group\"\n >\n <LegendIcon x={0} y={yValue} fill={colorCategoryMapping(c)} />\n <LegendText\n x={LEGEND_ITEM_HORIZONTAL_SPACER}\n y={yValue + LEGEND_RECT_HEIGHT / 2 + 2}\n >\n <title>{c}</title>\n {c}\n </LegendText>\n </LegendGroup>\n );\n })}\n </g>\n </svg>\n );\n};\n\nconst propTypes: Record<keyof PunchcardLegendProps, T.Validator<any>> = {\n category: T.arrayOf(T.string),\n colorCategoryMapping: T.func.isRequired,\n handleMouseEnter: T.func,\n handleMouseLeave: T.func,\n selected: T.string,\n startPositionX: T.number,\n startPositionY: T.number,\n containerWidth: T.number,\n containerHeight: T.number,\n handleLegendClick: T.func,\n};\n\nconst defaultProps: Record<keyof PunchcardLegendProps, any> = {\n category: null,\n // eslint-disable-next-line react/default-props-match-prop-types\n colorCategoryMapping: null,\n handleMouseEnter: () => {},\n handleMouseLeave: () => {},\n selected: null,\n startPositionX: 0,\n startPositionY: 0,\n containerWidth: 100,\n containerHeight: 100,\n handleLegendClick: () => {},\n};\n\nPunchcardLegend.propTypes = propTypes;\nPunchcardLegend.defaultProps = defaultProps;\n\nexport default PunchcardLegend;\n","import * as React from 'react';\nimport * as T from 'prop-types';\n\nimport styled from 'styled-components';\nimport { range } from 'lodash';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\n// was previously lineColor in themeRegistry\nconst GridLine = styled.line`\n stroke: ${pick({\n enterprise: {\n light: variables.gray96,\n dark: variables.gray25,\n },\n prisma: variables.interactiveColorBackgroundDisabled,\n })};\n stroke-width: 1px;\n`;\n\ninterface PunchcardGridLinesProps {\n xStartPosition: number;\n xEndPosition: number;\n yStartPosition: number;\n yEndPosition: number;\n xDelta: number;\n yDelta: number;\n}\n\nconst PunchcardGridLines = (props: PunchcardGridLinesProps): React.ReactElement => {\n const { xStartPosition, xEndPosition, yStartPosition, yEndPosition, xDelta, yDelta } = props;\n\n const yGridLinesXPositions = range(xStartPosition, xEndPosition + 1, xDelta);\n const xGridLinesYPositions = range(yStartPosition, yEndPosition + 1, yDelta);\n\n return (\n <g data-test=\"data-test-gridlines\">\n {yGridLinesXPositions.map(xValue => (\n <GridLine\n key={`${xValue}x${yStartPosition}`}\n x1={xValue}\n y1={yStartPosition}\n x2={xValue}\n y2={yEndPosition}\n />\n ))}\n {xGridLinesYPositions.map(yValue => (\n <GridLine\n key={`${xStartPosition}x${yValue}`}\n x1={xStartPosition}\n y1={yValue}\n x2={xEndPosition}\n y2={yValue}\n />\n ))}\n </g>\n );\n};\n\nconst propTypes: Record<keyof PunchcardGridLinesProps, T.Validator<any>> = {\n xStartPosition: T.number,\n xEndPosition: T.number,\n yStartPosition: T.number,\n yEndPosition: T.number,\n xDelta: T.number,\n yDelta: T.number,\n};\n\nconst defaultProps: Record<keyof PunchcardGridLinesProps, any> = {\n xStartPosition: undefined,\n xEndPosition: undefined,\n yStartPosition: undefined,\n yEndPosition: undefined,\n xDelta: 10,\n yDelta: 10,\n};\n\nPunchcardGridLines.propTypes = propTypes;\nPunchcardGridLines.defaultProps = defaultProps;\n\nexport default PunchcardGridLines;\n","import { mapKeys, chain } from 'lodash';\nimport { mapToValues } from '../common/chartingUtils';\n\ninterface PunchcardOptions {\n [key: string]: any;\n}\n\nconst punchcardOptionsMapping = {\n legendDisplay: 'showLegend',\n bubbleLabelDisplay: 'showBubbleLabels',\n showDefaultSort: 'useDefaultSort',\n bubbleSizeMethod: 'bubbleScale',\n showDynamicBubbleSize: 'isBubbleSizeDynamic',\n bubbleRadiusMax: 'maxBubbleRadius',\n bubbleRadiusMin: 'minBubbleRadius',\n bubbleSizeMax: 'maxBubbleSize',\n bubbleSizeMin: 'minBubbleSize',\n};\n\n// key value mapping of what options (and their corresponding values) which\n// we expose in config.ts to property values PurePunchcard understands\nexport const punchcardOptionValuesMapping = {\n showLegend: {\n right: true,\n off: false,\n },\n showBubbleLabels: {\n off: 'none',\n },\n colorMode: {\n dynamic: 'sequential',\n },\n};\n\n/**\n * Helper method to update the option names which can be mapped to PurePunchcard options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: PunchcardOptions): PunchcardOptions =>\n mapKeys(options, (val, key) => (punchcardOptionsMapping[key] ? punchcardOptionsMapping[key] : key));\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that PurePunchcard accepts\n * This is for options that has new key name and can not directly be mapped with PurePunchcard props\n * @method convertToPunchcardProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToPunchcardProperties = (originalOptions: PunchcardOptions): PunchcardOptions =>\n chain(mapToOldKey(originalOptions)).thru(mapToValues(punchcardOptionValuesMapping)).value();\n"],"sourceRoot":""}