@splunk/visualizations 23.4.1 → 24.2.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 (1114) 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_Truncate_Trend_Value_disabled.png +0 -0
  166. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_enabled.png +0 -0
  167. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Under_label_specified.png +0 -0
  168. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_after_default.png +0 -0
  169. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_before.png +0 -0
  170. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic.png +0 -0
  171. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_dark_theme.png +0 -0
  172. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_default_theme.png +0 -0
  173. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_scp_theme.png +0 -0
  174. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_300_width_300.png +0 -0
  175. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_35_width_35.png +0 -0
  176. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_no_props.png +0 -0
  177. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_100_height_width.png +0 -0
  178. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Automatic_font_sizing_should_not_overflow.png +0 -0
  179. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_blue.png +0 -0
  180. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_white_Under_Label_and_Unit_specified.png +0 -0
  181. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Large_card_686_width.png +0 -0
  182. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Color_red.png +0 -0
  183. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Font_Size_128_Trend_Font_Size_30_Under_Label_Font_Size_16.png +0 -0
  184. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Value_is_null.png +0 -0
  185. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Medium_card_250_width_686.png +0 -0
  186. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Number_Precision_2.png +0 -0
  187. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_250.png +0 -0
  188. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_50.png +0 -0
  189. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_after.png +0 -0
  190. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_before.png +0 -0
  191. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_below_default.png +0 -0
  192. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_off.png +0 -0
  193. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Fill_Color_blue.png +0 -0
  194. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_2_Sparkline_Highlight_Dots_2.png +0 -0
  195. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_4_Sparkline_Highlight_Dots_5.png +0 -0
  196. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_characters_invalid.png +0 -0
  197. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_negative_3_invalid.png +0 -0
  198. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_disabled.png +0 -0
  199. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_enabled_default.png +0 -0
  200. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Stroke_Color_red.png +0 -0
  201. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Tooltip_show.png +0 -0
  202. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_disabled_default.png +0 -0
  203. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_billions.png +0 -0
  204. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_hundreds.png +0 -0
  205. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_millions.png +0 -0
  206. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_thousands.png +0 -0
  207. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_trillions.png +0 -0
  208. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_converts_non_numeric_values_to_null.png +0 -0
  209. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_does_not_show_if_only_1_entry_in_graphData.png +0 -0
  210. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_String_values.png +0 -0
  211. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_disabled.png +0 -0
  212. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_enabled_default.png +0 -0
  213. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_red.png +0 -0
  214. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_specified.png +0 -0
  215. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_absolute_default.png +0 -0
  216. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_off.png +0 -0
  217. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent.png +0 -0
  218. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_10_Trend_Value_3.png +0 -0
  219. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_13_Trend_Value_negative_3.png +0 -0
  220. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Trend_Value_0.png +0 -0
  221. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_value_equals_trendValue.png +0 -0
  222. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Empty_string.png +0 -0
  223. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Not_A_Number.png +0 -0
  224. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Under_Label_specified.png +0 -0
  225. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_after_default.png +0 -0
  226. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_before.png +0 -0
  227. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic.png +0 -0
  228. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_0_value.png +0 -0
  229. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_all_0.png +0 -0
  230. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_300_width_300.png +0 -0
  231. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_35_width_35_Major_Font_Size_8.png +0 -0
  232. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_60_width_60_Major_Font_Size_12_Background_Color_blue.png +0 -0
  233. package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_no_props.png +0 -0
  234. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Black_Dot.png +0 -0
  235. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Clock.png +0 -0
  236. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Color_Rectangles.png +0 -0
  237. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_SVG_with_XML_and_DTD.png +0 -0
  238. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
  239. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  240. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
  241. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  242. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  243. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  244. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  245. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
  246. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
  247. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  248. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
  249. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
  250. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  251. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  252. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
  253. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  254. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
  255. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
  256. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  257. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  258. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  259. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  260. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Area_Opacity_0_5.png +0 -0
  261. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Background_Color_french_rose.png +0 -0
  262. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Basic_Area.png +0 -0
  263. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Annotation.png +0 -0
  264. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  265. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  266. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  267. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  268. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  269. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  270. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  271. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
  272. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  273. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  274. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_20.png +0 -0
  275. 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
  276. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
  277. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Max_120.png +0 -0
  278. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Min_50.png +0 -0
  279. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  280. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
  281. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  282. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Line_Width_5.png +0 -0
  283. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  284. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  285. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_all.png +0 -0
  286. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_minmax.png +0 -0
  287. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_bottom.png +0 -0
  288. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_left.png +0 -0
  289. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_off.png +0 -0
  290. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_top.png +0 -0
  291. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Mode_seriesCompare.png +0 -0
  292. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  293. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  294. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  295. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  296. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_connect.png +0 -0
  297. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_gaps_default.png +0 -0
  298. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_zero.png +0 -0
  299. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  300. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  301. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_0_Number_of_Results_100.png +0 -0
  302. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  303. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  304. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_50_Number_of_Results_40.png +0 -0
  305. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
  306. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_red_blue_green_orange_pink.png +0 -0
  307. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  308. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Lines_false.png +0 -0
  309. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Split_Series_true.png +0 -0
  310. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_X_Axis_Major_Grid_Lines_true_Y_Axis_Major_Grid_Lines_false.png +0 -0
  311. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_false.png +0 -0
  312. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  313. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  314. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_false_default.png +0 -0
  315. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_true.png +0 -0
  316. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked.png +0 -0
  317. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked100.png +0 -0
  318. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_45.png +0 -0
  319. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_90.png +0 -0
  320. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_45.png +0 -0
  321. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_90.png +0 -0
  322. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Visibility_hide.png +0 -0
  323. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
  324. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Major_Ticks_Size_15.png +0 -0
  325. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_1.png +0 -0
  326. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_2.png +0 -0
  327. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_3_default.png +0 -0
  328. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Mapped_Field_specified.png +0 -0
  329. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  330. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_off.png +0 -0
  331. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_on_default.png +0 -0
  332. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_Tick_Interval_100.png +0 -0
  333. 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
  334. 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
  335. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Maximum_Number_500.png +0 -0
  336. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Minimum_Number_250.png +0 -0
  337. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Scale_log.png +0 -0
  338. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
  339. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  340. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Maximum_Number_500.png +0 -0
  341. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Minimum_Number_100.png +0 -0
  342. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Background_Color_green.png +0 -0
  343. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Bar_Spacing_10.png +0 -0
  344. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Basic_Bar.png +0 -0
  345. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Line_Width_5.png +0 -0
  346. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  347. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  348. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Major_and_Minor_Grid_Lines_true.png +0 -0
  349. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  350. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  351. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  352. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  353. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  354. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
  355. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  356. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  357. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_50.png +0 -0
  358. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Minor_Ticks_Size_10.png +0 -0
  359. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
  360. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Max_500.png +0 -0
  361. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Min_100.png +0 -0
  362. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  363. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  364. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Visibility_hide.png +0 -0
  365. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_all.png +0 -0
  366. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_minmax.png +0 -0
  367. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_bottom.png +0 -0
  368. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_left.png +0 -0
  369. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_off.png +0 -0
  370. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_top.png +0 -0
  371. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Multi_Series.png +0 -0
  372. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  373. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  374. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  375. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  376. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  377. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  378. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_0_Number_of_Results_100.png +0 -0
  379. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  380. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  381. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_50_Number_of_Results_40.png +0 -0
  382. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
  383. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_red_and_blue.png +0 -0
  384. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Spacing_5.png +0 -0
  385. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  386. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Split_Series_true.png +0 -0
  387. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_X_Axis_Major_Grid_true_Y_Axis_Major_Grid_false.png +0 -0
  388. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_false.png +0 -0
  389. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  390. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Minor_Grid_true.png +0 -0
  391. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_false_default.png +0 -0
  392. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_true.png +0 -0
  393. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked.png +0 -0
  394. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked100.png +0 -0
  395. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Label_Visibility_hide.png +0 -0
  396. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Line_Visibility_show.png +0 -0
  397. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_Size_15.png +0 -0
  398. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_hide.png +0 -0
  399. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_1.png +0 -0
  400. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_2.png +0 -0
  401. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_3_default.png +0 -0
  402. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Mapped_Field_specified.png +0 -0
  403. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  404. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_off.png +0 -0
  405. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_on_default.png +0 -0
  406. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Label_Visibility_hide.png +0 -0
  407. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Line_Visibility_show.png +0 -0
  408. 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
  409. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Scale_log.png +0 -0
  410. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Tick_Interval_50.png +0 -0
  411. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  412. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Visibility_hide.png +0 -0
  413. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Background_Color_grey.png +0 -0
  414. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Basic_Bubble.png +0 -0
  415. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Max_90.png +0 -0
  416. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_area_default.png +0 -0
  417. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_diameter.png +0 -0
  418. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Min_40.png +0 -0
  419. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Column_data_based_on_DSL.png +0 -0
  420. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Field_Colors_200_green_201_red.png +0 -0
  421. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_bottom.png +0 -0
  422. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_left.png +0 -0
  423. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_off.png +0 -0
  424. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_top.png +0 -0
  425. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Multi_Series.png +0 -0
  426. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  427. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  428. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_0_Number_of_Results_30.png +0 -0
  429. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_10_Number_of_Results_30.png +0 -0
  430. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
  431. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_50_Number_of_Results_30.png +0 -0
  432. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Series_Colors_orange_and_blue.png +0 -0
  433. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_false.png +0 -0
  434. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_true_default.png +0 -0
  435. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Minor_Grid_true.png +0 -0
  436. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_false_default.png +0 -0
  437. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_true.png +0 -0
  438. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_false_default.png +0 -0
  439. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_true.png +0 -0
  440. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_false.png +0 -0
  441. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_true_default.png +0 -0
  442. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Major_Grid_false.png +0 -0
  443. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Minor_Grid_true.png +0 -0
  444. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_false_default.png +0 -0
  445. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_true.png +0 -0
  446. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_auto.png +0 -0
  447. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_off_default.png +0 -0
  448. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_45.png +0 -0
  449. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_90.png +0 -0
  450. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_45.png +0 -0
  451. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_90.png +0 -0
  452. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  453. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_hide_default.png +0 -0
  454. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_show.png +0 -0
  455. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Interval_6.png +0 -0
  456. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
  457. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_hide.png +0 -0
  458. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_show.png +0 -0
  459. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Maximum_Number_14.png +0 -0
  460. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minimum_Number_10.png +0 -0
  461. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
  462. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_show.png +0 -0
  463. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Scale_log.png +0 -0
  464. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_auto_default.png +0 -0
  465. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_off.png +0 -0
  466. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Line_Visibility_show.png +0 -0
  467. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Interval_150.png +0 -0
  468. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
  469. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
  470. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  471. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Maximum_Number_800.png +0 -0
  472. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minimum_Number_300.png +0 -0
  473. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
  474. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
  475. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Scale_log.png +0 -0
  476. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
  477. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  478. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Click.png +0 -0
  479. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Default.png +0 -0
  480. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Missing_Props_Message_When_No_Svg.png +0 -0
  481. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Placeholder_If_No_Svg_And_No_Data.png +0 -0
  482. 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
  483. 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
  484. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_using_multiMap_formatter.png +0 -0
  485. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Svg_Shows_Even_When_No_Datasources.png +0 -0
  486. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Use_Local_To_Download_Svg.png +0 -0
  487. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Background_Color_red.png +0 -0
  488. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Basic_Column.png +0 -0
  489. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Annotation.png +0 -0
  490. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Line_Width_5.png +0 -0
  491. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  492. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  493. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  494. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  495. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  496. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  497. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  498. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  499. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  500. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_10000.png +0 -0
  501. 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
  502. 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
  503. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Max_80000.png +0 -0
  504. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Min_50000.png +0 -0
  505. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  506. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_Visibility_hide.png +0 -0
  507. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  508. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay.png +0 -0
  509. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay_Stack_Mode_stacked.png +0 -0
  510. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Spacing_10.png +0 -0
  511. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_all.png +0 -0
  512. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_minmax.png +0 -0
  513. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_bottom.png +0 -0
  514. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_left.png +0 -0
  515. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_off.png +0 -0
  516. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_top.png +0 -0
  517. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multi_Series.png +0 -0
  518. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  519. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  520. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  521. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  522. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  523. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  524. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_0_Number_of_Results_100.png +0 -0
  525. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  526. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  527. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_50_Number_of_Results_40.png +0 -0
  528. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_By_Field_splunkd_green_mongod_orange.png +0 -0
  529. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_red_blue_green.png +0 -0
  530. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Spacing_5.png +0 -0
  531. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  532. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Long_Tooltip_X_Axis_Label_Visibility_hide.png +0 -0
  533. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Split_Series_true.png +0 -0
  534. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Tooltip_false.png +0 -0
  535. 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
  536. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_false.png +0 -0
  537. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  538. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  539. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_false_default.png +0 -0
  540. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_true.png +0 -0
  541. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked.png +0 -0
  542. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked100.png +0 -0
  543. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_45.png +0 -0
  544. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_90.png +0 -0
  545. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_45.png +0 -0
  546. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_90.png +0 -0
  547. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  548. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Line_Visibility_show.png +0 -0
  549. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_1.png +0 -0
  550. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_2.png +0 -0
  551. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_3_default.png +0 -0
  552. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  553. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  554. 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
  555. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_specified.png +0 -0
  556. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  557. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Overlay_Fields_specified.png +0 -0
  558. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Overlay_Field_specified.png +0 -0
  559. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_off.png +0 -0
  560. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Line_Visibility_show.png +0 -0
  561. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Major_Tick_Interval_10000.png +0 -0
  562. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Maximum_Number_80000.png +0 -0
  563. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minimum_Number_60000.png +0 -0
  564. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minor_Tick_Size_10_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  565. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Scale_log.png +0 -0
  566. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Basic_Ellipse.png +0 -0
  567. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
  568. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_cyan.png +0 -0
  569. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_purple_Fill_Opacity_0_5.png +0 -0
  570. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_red.png +0 -0
  571. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fixed_height_200_width_200.png +0 -0
  572. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown.png +0 -0
  573. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown_Fill_Color_blue.png +0 -0
  574. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
  575. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green.png +0 -0
  576. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green_Fill_Color_red.png +0 -0
  577. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Dash_Style_5.png +0 -0
  578. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Opacity_0_8_Fill_Opacity_0_5.png +0 -0
  579. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
  580. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5.png +0 -0
  581. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5_Stroke_Dash_Style_10.png +0 -0
  582. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_100_height_width.png +0 -0
  583. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Background_Color_orange.png +0 -0
  584. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Basic_Filler_Gauge.png +0 -0
  585. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_computed_using_rangeValue_formatter.png +0 -0
  586. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_yellow.png +0 -0
  587. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_number_default.png +0 -0
  588. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_off.png +0 -0
  589. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_percentage.png +0 -0
  590. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_10.png +0 -0
  591. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_auto_default.png +0 -0
  592. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal.png +0 -0
  593. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
  594. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
  595. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
  596. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_vertical_default.png +0 -0
  597. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  598. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  599. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_number_default.png +0 -0
  600. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_off.png +0 -0
  601. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage.png +0 -0
  602. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
  603. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Basic_Image.png +0 -0
  604. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_dynamic_image.png +0 -0
  605. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_remote_image.png +0 -0
  606. package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPEG_image_Preserve_Aspect_Ratio_true.png +0 -0
  607. package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPG_image_Preserve_Aspect_Ratio_true.png +0 -0
  608. package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_image_src_present_in_options.png +0 -0
  609. package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_options_present.png +0 -0
  610. package/.loki/reference/chrome_docker_Visualizations_Image_Image_PNG_image_Preserve_Aspect_Ratio_true.png +0 -0
  611. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_JPG_image_link.png +0 -0
  612. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_PNG_image_link.png +0 -0
  613. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_svg_image_link.png +0 -0
  614. package/.loki/reference/chrome_docker_Visualizations_Image_Image_SVG_image_Preserve_Aspect_Ratio_true.png +0 -0
  615. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Background_Color_red.png +0 -0
  616. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line.png +0 -0
  617. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_IANA_timezone.png +0 -0
  618. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_serialized_timezone.png +0 -0
  619. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_utc_timezone.png +0 -0
  620. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Annotation.png +0 -0
  621. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_On_Y2_Axis_Major_Tick_Interval_100.png +0 -0
  622. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  623. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  624. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  625. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  626. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  627. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  628. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  629. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
  630. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  631. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  632. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  633. 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
  634. 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
  635. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Maximum_Number_500.png +0 -0
  636. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minimum_Number_100.png +0 -0
  637. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  638. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  639. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
  640. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  641. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_all.png +0 -0
  642. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_minmax.png +0 -0
  643. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_bottom.png +0 -0
  644. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_left.png +0 -0
  645. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_off.png +0 -0
  646. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_top.png +0 -0
  647. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Mode_seriesCompare.png +0 -0
  648. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_dot_percent_dash.png +0 -0
  649. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDashDot_percent_longDashDotDot.png +0 -0
  650. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDash_percent_dashDot.png +0 -0
  651. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDashDot_percent_shortDashDotDot.png +0 -0
  652. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDash_percent_shortDot.png +0 -0
  653. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dash.png +0 -0
  654. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dashDot.png +0 -0
  655. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dot.png +0 -0
  656. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDash.png +0 -0
  657. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDot.png +0 -0
  658. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDotDot.png +0 -0
  659. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDash.png +0 -0
  660. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDot.png +0 -0
  661. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDotDot.png +0 -0
  662. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_solid_default.png +0 -0
  663. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Width_5.png +0 -0
  664. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_filled.png +0 -0
  665. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_invalid_value.png +0 -0
  666. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_off_default.png +0 -0
  667. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_outlined.png +0 -0
  668. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Multi_Series.png +0 -0
  669. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_default.png +0 -0
  670. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  671. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  672. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  673. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_connect.png +0 -0
  674. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_gaps_default.png +0 -0
  675. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_zero.png +0 -0
  676. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  677. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  678. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_0_Number_of_Results_100.png +0 -0
  679. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  680. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
  681. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  682. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_50_Number_of_Results_40.png +0 -0
  683. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_By_Field_count_green_percent_orange.png +0 -0
  684. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_red_and_blue.png +0 -0
  685. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  686. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Split_Series_true.png +0 -0
  687. 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
  688. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_false.png +0 -0
  689. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  690. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  691. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_false_default.png +0 -0
  692. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_true.png +0 -0
  693. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_45.png +0 -0
  694. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_90.png +0 -0
  695. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_45.png +0 -0
  696. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_90.png +0 -0
  697. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  698. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
  699. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Major_Tick_Visibility_hide_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  700. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_1.png +0 -0
  701. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_2.png +0 -0
  702. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_3_default.png +0 -0
  703. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  704. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  705. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_and_Y_Axis_Major_Tick_Size_20.png +0 -0
  706. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Mapped_Field_specified.png +0 -0
  707. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  708. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_off.png +0 -0
  709. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_on_default.png +0 -0
  710. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Major_Tick_Interval_10.png +0 -0
  711. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Maximum_Number_50.png +0 -0
  712. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minimum_Number_25.png +0 -0
  713. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minor_Tick_Visibility_show_Y_Axis_Minor_Tick_Size_15.png +0 -0
  714. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Scale_log.png +0 -0
  715. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Basic_LinkGraph.png +0 -0
  716. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_First_and_Last_Fields.png +0 -0
  717. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_First_to_the_Last_Fields.png +0 -0
  718. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_Last_to_the_First_Fields.png +0 -0
  719. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Color.png +0 -0
  720. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Highlight_Color.png +0 -0
  721. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Result_Limit_3.png +0 -0
  722. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Show_Placeholder.png +0 -0
  723. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
  724. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
  725. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
  726. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
  727. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Background_Color_blue.png +0 -0
  728. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Basic_Marker_Gauge.png +0 -0
  729. 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
  730. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_negative_10_to_50_blue.png +0 -0
  731. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_number_default.png +0 -0
  732. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_off.png +0 -0
  733. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_percentage.png +0 -0
  734. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Major_Tick_Interval_7.png +0 -0
  735. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_horizontal.png +0 -0
  736. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_vertical_default.png +0 -0
  737. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  738. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  739. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_number_default.png +0 -0
  740. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_off.png +0 -0
  741. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage.png +0 -0
  742. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
  743. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Array_column_values.png +0 -0
  744. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Background_Color_yellow.png +0 -0
  745. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Basic_Parallel_Coordinates.png +0 -0
  746. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Categorical_dataSources_excessive_categorical_data.png +0 -0
  747. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Larger_Dimensions_width_800_height_500.png +0 -0
  748. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Color_pink.png +0 -0
  749. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Opacity_0_3.png +0 -0
  750. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Numerical_dataSources.png +0 -0
  751. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Null_Axis_false.png +0 -0
  752. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Placeholder.png +0 -0
  753. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Smaller_Dimensions_less_than_min_width_200_and_min_height_150.png +0 -0
  754. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Stringified_Numerical_dataSources.png +0 -0
  755. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Background_Color_red.png +0 -0
  756. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Basic_Pie.png +0 -0
  757. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Label_specified.png +0 -0
  758. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Threshold_0_05.png +0 -0
  759. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_off.png +0 -0
  760. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_valuesAndPercentage.png +0 -0
  761. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_values_default.png +0 -0
  762. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_More_than_2_columns_in_datasources.png +0 -0
  763. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Numeric_and_string_values_in_column_1.png +0 -0
  764. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  765. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  766. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_0_Number_of_Results_12.png +0 -0
  767. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_3_Number_of_Results_12.png +0 -0
  768. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_By_Field_April_black_December_yellow.png +0 -0
  769. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_red_blue_green_orange_pink.png +0 -0
  770. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Show_Donut_Hole_true.png +0 -0
  771. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Background_Color_green.png +0 -0
  772. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Basic_Punchcard.png +0 -0
  773. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Color_red.png +0 -0
  774. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_all_default.png +0 -0
  775. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_max.png +0 -0
  776. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_off.png +0 -0
  777. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_global_default.png +0 -0
  778. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_row.png +0 -0
  779. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_50.png +0 -0
  780. 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
  781. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Color_Mode_categorical.png +0 -0
  782. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_area_default.png +0 -0
  783. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_radius.png +0 -0
  784. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Min_10.png +0 -0
  785. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical.png +0 -0
  786. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_off.png +0 -0
  787. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_right_default.png +0 -0
  788. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
  789. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_dynamic_default.png +0 -0
  790. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Multi_Series.png +0 -0
  791. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  792. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  793. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_false_default.png +0 -0
  794. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_true.png +0 -0
  795. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false.png +0 -0
  796. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Max_25.png +0 -0
  797. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5.png +0 -0
  798. 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
  799. 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
  800. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_true_default.png +0 -0
  801. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Basic_Rectangle.png +0 -0
  802. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple.png +0 -0
  803. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple_Fill_Opacity_0_5.png +0 -0
  804. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
  805. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_cyan.png +0 -0
  806. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_0_default_Vertical_Corner_Radius_ry_25.png +0 -0
  807. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_15_Vertical_Corner_Radius_ry_25.png +0 -0
  808. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_0.png +0 -0
  809. 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
  810. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_5_Vertical_Corner_Radius_ry_5.png +0 -0
  811. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown.png +0 -0
  812. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown_Fill_Color_blue.png +0 -0
  813. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
  814. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow.png +0 -0
  815. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow_Fill_Color_purple.png +0 -0
  816. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_10.png +0 -0
  817. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_5.png +0 -0
  818. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_Bevel_Stroke_Width_10.png +0 -0
  819. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_miter_default_Stroke_Width_10.png +0 -0
  820. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_round_Stroke_Width_10.png +0 -0
  821. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
  822. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_5.png +0 -0
  823. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Background_Color_pink.png +0 -0
  824. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Backward_Link_Self_Loop.png +0 -0
  825. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Basic_Sankey.png +0 -0
  826. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Color_Mode_dynamic.png +0 -0
  827. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Dimension_Too_Small.png +0 -0
  828. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Larger_Dimension.png +0 -0
  829. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_0_8.png +0 -0
  830. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_Changed.png +0 -0
  831. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Values_Not_Default.png +0 -0
  832. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Show_Placeholder.png +0 -0
  833. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Background_Color_grey.png +0 -0
  834. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Basic_Scatter.png +0 -0
  835. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Column_data_based_on_DSL.png +0 -0
  836. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Field_Colors_200_green_201_red.png +0 -0
  837. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_bottom.png +0 -0
  838. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_left.png +0 -0
  839. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_off.png +0 -0
  840. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_top.png +0 -0
  841. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_end_default.png +0 -0
  842. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_middle.png +0 -0
  843. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_off.png +0 -0
  844. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_start.png +0 -0
  845. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Marker_Size_7.png +0 -0
  846. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Multi_Series.png +0 -0
  847. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  848. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  849. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_0_Number_of_Results_30.png +0 -0
  850. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_10_Number_of_Results_30.png +0 -0
  851. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
  852. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_50_Number_of_Results_30.png +0 -0
  853. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Series_Colors_orange_and_blue.png +0 -0
  854. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_false_default.png +0 -0
  855. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_true.png +0 -0
  856. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_false.png +0 -0
  857. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_true_default.png +0 -0
  858. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Minor_Grid_true.png +0 -0
  859. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_false_default.png +0 -0
  860. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_true.png +0 -0
  861. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_false.png +0 -0
  862. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_true_default.png +0 -0
  863. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Major_Grid_false.png +0 -0
  864. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Minor_Grid_true.png +0 -0
  865. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_false_default.png +0 -0
  866. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_true.png +0 -0
  867. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_auto.png +0 -0
  868. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_off_default.png +0 -0
  869. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_45.png +0 -0
  870. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_90.png +0 -0
  871. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_45.png +0 -0
  872. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_90.png +0 -0
  873. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  874. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_hide_default.png +0 -0
  875. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_show.png +0 -0
  876. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Interval_6.png +0 -0
  877. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Size_15_X_Axis_Minor_Tick_Size_10.png +0 -0
  878. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_hide.png +0 -0
  879. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_show.png +0 -0
  880. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Maximum_Number_14.png +0 -0
  881. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minimum_Number_10.png +0 -0
  882. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
  883. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_show.png +0 -0
  884. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Scale_log.png +0 -0
  885. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  886. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  887. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_auto_default.png +0 -0
  888. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_off.png +0 -0
  889. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Line_Visibility_show.png +0 -0
  890. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Interval_150.png +0 -0
  891. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
  892. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
  893. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  894. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Maximum_Number_1000.png +0 -0
  895. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minimum_Number_500.png +0 -0
  896. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
  897. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
  898. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Scale_log.png +0 -0
  899. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon.png +0 -0
  900. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Change_Icon_Color_For_A_Remote_Icon.png +0 -0
  901. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_The_Icon_As_A_Remote_Icon.png +0 -0
  902. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_backgroundColor_based_on_the_majorValue.png +0 -0
  903. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_icon_color_based_on_the_majorValue.png +0 -0
  904. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_majorColor_based_on_the_majorValue.png +0 -0
  905. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Mixed_Type_Series_Data.png +0 -0
  906. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Numerical_Series_Data.png +0 -0
  907. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_String_Type_Series_Data.png +0 -0
  908. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
  909. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Time_Type_Series_Data.png +0 -0
  910. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Major_Value.png +0 -0
  911. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Trend_Value.png +0 -0
  912. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial.png +0 -0
  913. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color.png +0 -0
  914. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color_By_Trend_Value.png +0 -0
  915. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Max_Value_1000.png +0 -0
  916. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Radial_Color_By_Major_Value.png +0 -0
  917. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Show_Placeholder.png +0 -0
  918. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Use_String_Type_Series_Data.png +0 -0
  919. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value.png +0 -0
  920. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Change_The_Color_Of_Major_Value_Based_On_Its_Value.png +0 -0
  921. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_No_Trend_Value.png +0 -0
  922. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value.png +0 -0
  923. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Trend_Value.png +0 -0
  924. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_Major_Value_Based_On_The_Trend_Value.png +0 -0
  925. 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
  926. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Gaps_For_Null_Value_In_Sparkline.png +0 -0
  927. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Placeholder.png +0 -0
  928. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Index_Out_Of_Range.png +0 -0
  929. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Value_Is_Zero.png +0 -0
  930. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Mixed_Type_Series_Data.png +0 -0
  931. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Numerical_Series_Data.png +0 -0
  932. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_String_Type_Series_Data.png +0 -0
  933. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
  934. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Time_Type_Series_Data.png +0 -0
  935. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
  936. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
  937. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
  938. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
  939. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
  940. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
  941. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
  942. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
  943. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
  944. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
  945. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
  946. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
  947. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
  948. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width.png +0 -0
  949. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
  950. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
  951. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
  952. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
  953. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
  954. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
  955. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
  956. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
  957. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
  958. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_none.png +0 -0
  959. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  960. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
  961. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
  962. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
  963. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
  964. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
  965. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Placeholder.png +0 -0
  966. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
  967. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
  968. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
  969. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  970. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  971. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  972. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  973. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
  974. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
  975. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
  976. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
  977. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
  978. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
  979. package/Area.config.js +36 -31
  980. package/Area.config.js.map +1 -1
  981. package/Area.js +291 -238
  982. package/Area.js.map +1 -1
  983. package/Bar.config.js +20 -19
  984. package/Bar.config.js.map +1 -1
  985. package/Bar.js +273 -224
  986. package/Bar.js.map +1 -1
  987. package/Bubble.config.js +13 -12
  988. package/Bubble.config.js.map +1 -1
  989. package/Bubble.js +264 -215
  990. package/Bubble.js.map +1 -1
  991. package/ChoroplethSvg.config.js +21 -21
  992. package/ChoroplethSvg.config.js.map +1 -1
  993. package/ChoroplethSvg.js +278 -245
  994. package/ChoroplethSvg.js.map +1 -1
  995. package/Column.config.js +20 -19
  996. package/Column.config.js.map +1 -1
  997. package/Column.js +273 -224
  998. package/Column.js.map +1 -1
  999. package/Ellipse.config.js +16 -20
  1000. package/Ellipse.config.js.map +1 -1
  1001. package/Ellipse.js +203 -182
  1002. package/Ellipse.js.map +1 -1
  1003. package/FillerGauge.config.js +104 -18
  1004. package/FillerGauge.config.js.map +1 -1
  1005. package/FillerGauge.js +308 -197
  1006. package/FillerGauge.js.map +1 -1
  1007. package/Image.config.js +4 -4
  1008. package/Image.config.js.map +1 -1
  1009. package/Image.js +178 -153
  1010. package/Image.js.map +1 -1
  1011. package/Line.config.js +28 -26
  1012. package/Line.config.js.map +1 -1
  1013. package/Line.js +279 -229
  1014. package/Line.js.map +1 -1
  1015. package/LinkGraph.config.js +56 -9
  1016. package/LinkGraph.config.js.map +1 -1
  1017. package/LinkGraph.js +490 -428
  1018. package/LinkGraph.js.map +1 -1
  1019. package/Markdown.config.js +124 -38
  1020. package/Markdown.config.js.map +1 -1
  1021. package/Markdown.js +296 -160
  1022. package/Markdown.js.map +1 -1
  1023. package/MarkerGauge.config.js +52 -16
  1024. package/MarkerGauge.config.js.map +1 -1
  1025. package/MarkerGauge.js +248 -188
  1026. package/MarkerGauge.js.map +1 -1
  1027. package/ParallelCoordinates.config.js +16 -15
  1028. package/ParallelCoordinates.config.js.map +1 -1
  1029. package/ParallelCoordinates.js +384 -214
  1030. package/ParallelCoordinates.js.map +1 -1
  1031. package/Pie.config.js +46 -49
  1032. package/Pie.config.js.map +1 -1
  1033. package/Pie.js +288 -242
  1034. package/Pie.js.map +1 -1
  1035. package/Punchcard.config.js +16 -15
  1036. package/Punchcard.config.js.map +1 -1
  1037. package/Punchcard.js +261 -227
  1038. package/Punchcard.js.map +1 -1
  1039. package/{README.external.md → README.internal.md} +2 -0
  1040. package/README.md +36 -3
  1041. package/Rectangle.config.js +27 -31
  1042. package/Rectangle.config.js.map +1 -1
  1043. package/Rectangle.js +213 -192
  1044. package/Rectangle.js.map +1 -1
  1045. package/Sankey.config.js +29 -28
  1046. package/Sankey.config.js.map +1 -1
  1047. package/Sankey.js +342 -306
  1048. package/Sankey.js.map +1 -1
  1049. package/Scatter.config.js +23 -22
  1050. package/Scatter.config.js.map +1 -1
  1051. package/Scatter.js +384 -333
  1052. package/Scatter.js.map +1 -1
  1053. package/SingleValue.config.js +122 -121
  1054. package/SingleValue.config.js.map +1 -1
  1055. package/SingleValue.js +953 -784
  1056. package/SingleValue.js.map +1 -1
  1057. package/SingleValueBasic.js +179 -36
  1058. package/SingleValueBasic.js.map +1 -1
  1059. package/SingleValueIcon.config.js +125 -124
  1060. package/SingleValueIcon.config.js.map +1 -1
  1061. package/SingleValueIcon.js +514 -344
  1062. package/SingleValueIcon.js.map +1 -1
  1063. package/SingleValueRadial.config.js +535 -123
  1064. package/SingleValueRadial.config.js.map +1 -1
  1065. package/SingleValueRadial.js +1302 -772
  1066. package/SingleValueRadial.js.map +1 -1
  1067. package/Table.config.js +22 -14
  1068. package/Table.config.js.map +1 -1
  1069. package/Table.js +466 -423
  1070. package/Table.js.map +1 -1
  1071. package/common/Charting.js +66 -43
  1072. package/common/Charting.js.map +1 -1
  1073. package/common/ChartingApi.js +3 -2
  1074. package/common/ChartingApi.js.map +1 -1
  1075. package/common/EventsDoc.js +16 -14
  1076. package/common/EventsDoc.js.map +1 -1
  1077. package/common/GaugeMajorTicks.js +2 -2
  1078. package/common/GaugeMajorTicks.js.map +1 -1
  1079. package/common/GaugeValueMarker.js +2 -2
  1080. package/common/GaugeValueMarker.js.map +1 -1
  1081. package/common/OptionsDoc.js +14 -12
  1082. package/common/OptionsDoc.js.map +1 -1
  1083. package/common/OverviewDoc.js +26 -26
  1084. package/common/OverviewDoc.js.map +1 -1
  1085. package/common/SplunkVisualization.js +6 -6
  1086. package/common/SplunkVisualization.js.map +1 -1
  1087. package/common/SplunkVisualizationApi.js +2 -2
  1088. package/common/SplunkVisualizationApi.js.map +1 -1
  1089. package/common/ThemesDoc.js +16 -16
  1090. package/common/ThemesDoc.js.map +1 -1
  1091. package/common/chartingUtils.js +4 -4
  1092. package/common/chartingUtils.js.map +1 -1
  1093. package/common/docUtils.js +4 -4
  1094. package/common/docUtils.js.map +1 -1
  1095. package/common/gaugeUtils.js +13 -13
  1096. package/common/gaugeUtils.js.map +1 -1
  1097. package/common/shapeUtils.js +8 -8
  1098. package/common/shapeUtils.js.map +1 -1
  1099. package/common/utils/JSONSchemaUtils.js.map +1 -1
  1100. package/common/utils/configUtils.js +2 -2
  1101. package/common/utils/configUtils.js.map +1 -1
  1102. package/common/utils/hocUtils.js +2 -1
  1103. package/common/utils/hocUtils.js.map +1 -1
  1104. package/common/utils/singleValueUtils.js +154 -11
  1105. package/common/utils/singleValueUtils.js.map +1 -1
  1106. package/common/utils/testHelper.js.map +1 -1
  1107. package/common/version.js +110 -0
  1108. package/common/version.js.map +1 -0
  1109. package/common/withDashboardViz.js +76 -51
  1110. package/common/withDashboardViz.js.map +1 -1
  1111. package/loki.config.js +11 -0
  1112. package/package.json +20 -23
  1113. package/scripts/generateVersion.js +13 -0
  1114. package/jest.visual.config.js +0 -14
@@ -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:///./src/common/utils/hocUtils.ts","webpack:///./src/common/utils/configUtils.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:///./src/common/utils/singleValueUtils.js","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"@splunk/themes/pick\"","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 \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualizations-shared/domUtils\"","webpack:///external \"d3-array\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"d3-scale\"","webpack:///external \"@mdhnpm/rgb-hex-converter\"","webpack:///./src/ParallelCoordinates/ParallelCoordinates.tsx","webpack:///./src/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.tsx","webpack:///./src/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.tsx","webpack:///external \"d3-selection\"","webpack:///external \"d3-brush\"","webpack:///external \"d3-axis\"","webpack:///external \"d3-drag\"","webpack:///./src/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.tsx","webpack:///./src/ParallelCoordinates/config.ts"],"names":["DEFAULT_FONT","DEFAULT_FONT_FAMILY","shouldShowTrend","trendDisplay","isLoadingOrNoColumns","data","get","noColumns","loading","getFormattedColor","formatColor","hasBackground","backgroundColor","isIdenticalColor","colorA","colorB","getDefaultColorWithBg","defaultFontColor","defaultBlockFontColor","getMajorColor","majorColor","getTrendColor","trendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","defaultBackgroundColor","isInvalidTrend","parseFloat","computeColors","props","backgroundEnabled","underLabelColor","computeText","value","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","getTrendText","compute","isNumerial","showPercent","diff","Math","val","computeFontSize","width","height","fontFamily","fontWeight","widthInDefaultFont","computeTextSize","fontSize","parseInt","getMajorFontSize","unit","majorText","spaceRatio","majorTextCalc","getTrendFontSize","trendText","trendFontSize","getUnderLabelHeight","getUnderLabel","underLabel","getMajorAndTrend","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","truncateValue","updatedProps","computeSingleValueContent","contentWidth","contentHeight","containerWidth","containerHeight","majorValueTitle","smallVizProps","getGraphColors","customColorFormatter","adjustRGB","rgb","changeColor","hex","color","r","g","b","newR","newG","newB","ratio","lighten","darken","handleValueClickCallback","payload","name","majorValueField","onValueClick"],"mappings":"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","file":"ParallelCoordinates.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 = 193);\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\");","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 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 (!clone.hasOwnProperty(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","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 type { 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(\"@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 { 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","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get } from 'lodash';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { computeTextSize } from '@splunk/visualizations-shared/domUtils';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\nimport { DELTA_GREEN, DELTA_RED } from '@splunk/visualizations-shared/colorConstants';\n\nexport const DEFAULT_FONT = 12;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\n\n/**\n * @method shouldShowTrend\n * @param {String} trendDisplay\n * @returns {Bool}\n */\nexport const shouldShowTrend = trendDisplay => trendDisplay === 'absolute' || trendDisplay === 'percent';\n\n/**\n * @method isLoadingOrNoColumns\n * @param {Object} dataSources\n * @param {Boolean} loading\n * @returns {Boolean} return true if loading or without columns in dataSources\n */\nexport const isLoadingOrNoColumns = (dataSources, loading) => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noColumns = data === undefined;\n return loading || noColumns;\n};\n\n/**\n * Retrieve the valid formatted color\n * @method getFormattedColor\n * @param {String} color\n * @param {String} defaultColor\n * @returns {String} the formatted color\n */\nexport const getFormattedColor = (color, defaultColor) => formatColor(color) || formatColor(defaultColor);\n\n/**\n * Determines if there is a background color\n * @method hasBackground\n * @param {String} backgroundColor\n * @returns true for non-transparent background color\n */\nexport const hasBackground = backgroundColor => !!backgroundColor && backgroundColor !== 'transparent';\n\n/**\n * @method isIdenticalColor\n * @param {String} colorA\n * @param {String} colorB\n * @returns {Boolean}\n */\nexport const isIdenticalColor = (colorA, colorB) =>\n !!colorA && !!colorB && formatColor(colorA.toLowerCase()) === formatColor(colorB.toLowerCase());\n\n/*\n * @method getDefaultColorWithBg\n * @param {Object} props\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} defaultColor\n */\nexport const getDefaultColorWithBg = ({ backgroundColor, defaultFontColor, defaultBlockFontColor }) =>\n isIdenticalColor(backgroundColor, defaultBlockFontColor) ? defaultFontColor : defaultBlockFontColor;\n\n/*\n * @method getMajorColor\n * return formatted majorColor.\n * @param {Object} props\n * @param {String} props.majorColor\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} majorColor\n */\nexport const getMajorColor = ({ majorColor, backgroundColor, defaultFontColor, defaultBlockFontColor }) => {\n // If backgroundColor is set, but no majorColor,\n // the default majorColor will turn to be defaultBlockFontColor.\n // eg: major color will turn to be white in enterprise mode.\n // however, if the bgColor is the same as defaultBlockFontColor, use defaultFontColor.\n if (hasBackground(backgroundColor) && !majorColor) {\n return getDefaultColorWithBg({\n backgroundColor,\n defaultFontColor,\n defaultBlockFontColor,\n });\n }\n\n return getFormattedColor(majorColor, defaultFontColor);\n};\n\n/**\n * Get the color for the trend components\n * @method getTrendColor\n * @param {Object} props\n * @param {String} props.trendColor The trendColor value determined from encoding\n * @param {Number} props.trendValue\n * @param {Number} props.majorValue\n * @param {String} props.customizedBgColor\n * @param {String} props.trendDisplay absolute || percent || off\n * @param {Object} defaultColors\n * @returns {String} trendColor\n */\nexport const getTrendColor = ({\n trendColor,\n trendValue,\n majorValue,\n customizedBgColor,\n trendDisplay,\n defaultColors,\n}) => {\n if (trendColor) {\n return trendColor;\n }\n\n if (Number.isNaN(Number(trendValue))) {\n return undefined;\n }\n\n const { defaultFontColor, defaultBlockFontColor, defaultBackgroundColor } = defaultColors;\n\n // if user defined a backgroundColor, the default trend color will be defaultBlockFontColor\n if (\n hasBackground(customizedBgColor) &&\n !isIdenticalColor(customizedBgColor, defaultBackgroundColor) &&\n !isIdenticalColor(customizedBgColor, defaultBlockFontColor)\n ) {\n return defaultBlockFontColor;\n }\n\n // if trendDisplay is percent, and trendValue === value\n // the trend percent = trendValue / (value - trendValue) will return Infinity\n const isInvalidTrend = trendDisplay === 'percent' && trendValue === parseFloat(majorValue);\n\n if (trendValue === 0 || isInvalidTrend) {\n return defaultFontColor;\n }\n\n return trendValue > 0 ? DELTA_GREEN : DELTA_RED;\n};\n\n/**\n * Computes visualization properties for display component\n * @method computeColors\n * @param {Object} props all viz props\n * @param {Object} defaultColors defaultColors from theme\n * @returns {Object} result\n * @returns {Boolean} backgroundEnabled\n * @returns {String} backgroundColor\n * @returns {String} majorColor\n * @returns {String} trendColor\n * @returns {String} underLabelColor\n */\nexport const computeColors = (props, defaultColors) => {\n const backgroundColor = getFormattedColor(props.backgroundColor, defaultColors.defaultBackgroundColor);\n const backgroundEnabled = hasBackground(backgroundColor);\n const majorColor = getMajorColor({\n majorColor: props.majorColor,\n backgroundColor,\n defaultFontColor: defaultColors.defaultFontColor,\n defaultBlockFontColor: defaultColors.defaultBlockFontColor,\n });\n const trendColor = getTrendColor({\n trendColor: props.trendColor,\n trendValue: props.trendValue,\n majorValue: props.majorValue,\n customizedBgColor: props.backgroundColor,\n trendDisplay: props.trendDisplay,\n defaultColors,\n });\n // todo: need change it to not depend on majorColor\n const underLabelColor = backgroundEnabled ? majorColor : defaultColors.defaultFontColor;\n\n return {\n backgroundColor,\n backgroundEnabled,\n majorColor,\n trendColor,\n underLabelColor,\n };\n};\n\n/**\n * Format and return the value (major/trend)\n * @method computeText\n * @param {Object} props\n * @param {Number} props.value // The major/trend value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number} major or trend text\n */\nexport const computeText = ({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let text = isNumerial(value)\n ? formatNumber(value, numberPrecision, {\n useThousandSeparators: shouldUseThousandSeparators, // todo: need update formatNumber\n useTrendUnits: shouldAbbreviateTrendValue,\n })\n : value;\n // When text is undefined, return empty string\n text = text || '';\n return text;\n};\n\n/*\n * @method getMajorText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @returns {String} majorText\n */\nexport const getMajorText = ({ majorValue, numberPrecision, shouldUseThousandSeparators }) =>\n computeText({\n value: majorValue === null ? 'N/A' : majorValue, // if majorValue is null, use `N/A`.\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue: false,\n });\n\n/*\n * @method getTrendText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.trendValue\n * @param {String} props.trendDisplay\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {String} trendText\n */\nexport const getTrendText = ({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const compute = value =>\n computeText({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n if (trendValue === '' || !isNumerial(trendValue)) {\n return '';\n }\n const showPercent = trendDisplay === 'percent';\n if (!showPercent) {\n return compute(trendValue);\n }\n\n const diff = Math.abs(trendValue - majorValue);\n let val = Math.round((trendValue / diff) * 100);\n if (trendValue === 0 && diff === 0) {\n val = 0;\n }\n\n if (!Number.isFinite(val)) {\n return 'N/A';\n }\n const text = compute(val);\n\n return `${text}%`;\n};\n\n/**\n * Helper to determine the font size for an element\n * @method computeFontSize\n * @param {String} text The string to find a size for\n * @param {Object} dimensions\n * @param {Number} dimensions.width The width of the container\n * @param {Number} dimensions.height The height of the container\n * @param {String} [fontFamily='\"Splunk Platform Sans\" ...'] The font being used\n * @param {String} [fontWeight='normal'] Boldness of font\n * @returns {Number} The size to use for fontSize styles\n */\nexport const computeFontSize = (\n text,\n { width, height },\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal'\n) => {\n const widthInDefaultFont = computeTextSize(text, `${fontWeight} ${DEFAULT_FONT}px ${fontFamily}`);\n const fontSize = Math.min(\n (width / widthInDefaultFont) * DEFAULT_FONT,\n (height / DEFAULT_FONT) * DEFAULT_FONT\n );\n return parseInt(fontSize, 10);\n};\n\n/*\n * @method getMajorFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.unit\n * @param {String} props.majorText\n * @param {Number} props.spaceRatio\n * @returns {Number} majorFontSize\n */\nexport const getMajorFontSize = ({ width, height, unit, majorText, spaceRatio = 1 }) => {\n const majorTextCalc = unit ? `${unit}${majorText}` : majorText;\n return computeFontSize(majorTextCalc, {\n width: width * spaceRatio,\n height,\n });\n};\n\n/*\n * @method getTrendFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.trendText\n * @param {Number} props.spaceRatio\n * @returns {Number} trendFontSize\n */\nexport const getTrendFontSize = ({ width, height, trendText, spaceRatio = 1 }) => {\n let trendFontSize = 12;\n if (spaceRatio > 0) {\n trendFontSize = computeFontSize(trendText, {\n width: width * spaceRatio,\n height,\n });\n trendFontSize = parseInt(trendFontSize, 10) * spaceRatio;\n }\n return trendFontSize;\n};\n\n/*\n * The height of underLabel should no more than 12px\n * @param {Number} height\n * @return {Number} height || DEFAULT_FONT\n */\nexport const getUnderLabelHeight = height => (height > DEFAULT_FONT ? DEFAULT_FONT : height);\n\n/*\n * @param {Object} config\n * @param {String} underLabel\n * @param {Number} width width of underLabel\n * @param {Number} height height of underLabel\n * @param {Number} fond size of underLabel\n */\nexport const getUnderLabel = ({ underLabel, width, height }) =>\n // todo: may need truncate underLabel later\n computeFontSize(underLabel, {\n width,\n height,\n });\n\n/**\n * Compute value and font size for major and trend\n * @method getMajorAndTrend\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number, Number, Number, Number} Major text, trend text, major text size, trend text size\n */\nexport const getMajorAndTrend = ({\n width,\n height,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const majorTextSpaceRatio = isNumerial(trendValue) && shouldShowTrend(trendDisplay) ? 0.6 : 1;\n const textContentWidth = width * 0.9;\n const textContentHeight = height * 0.9;\n const majorText = getMajorText({ majorValue, numberPrecision, shouldUseThousandSeparators });\n const majorTextFontSize =\n majorFontSize ||\n getMajorFontSize({\n width: textContentWidth,\n height: textContentHeight,\n unit,\n majorText,\n spaceRatio: majorTextSpaceRatio,\n });\n const trendText = getTrendText({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n const trendTextFontSize =\n trendFontSize ||\n getTrendFontSize({\n width: textContentWidth,\n height: textContentHeight,\n trendText,\n spaceRatio: 1 - majorTextSpaceRatio,\n });\n\n return {\n majorText,\n majorTextFontSize,\n trendText,\n trendTextFontSize,\n };\n};\n\n/*\n * @method updateVizInSmallSpace\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Object} props.toRemoveList\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {Number} props.majorTextFontSize\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Object} results\n * @returns {Object} results.newMajorAndTrend\n * @returns {Object} results.updatedProps\n */\nexport const updateVizInSmallSpace = ({\n width,\n height,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let removeIndex = 0;\n let newProps = {}; // options need to be updated\n let newMajorAndTrend = {};\n let newTextSize = majorTextFontSize;\n\n // remove info on viz to make textFontSize >= 12px;\n while (newTextSize < 12 && removeIndex < toRemoveList.length) {\n const toRemove = toRemoveList[removeIndex];\n newProps = {\n ...newProps,\n ...{\n [toRemove.key]: toRemove.value,\n },\n };\n\n newMajorAndTrend = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n\n newTextSize = newMajorAndTrend.majorTextFontSize;\n removeIndex += 1;\n }\n\n // truncate text if textFontSize is still less than 12\n if (newTextSize < 12) {\n const truncateValue = `${majorValue.toString().slice(0, 3)}...`;\n newMajorAndTrend = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n }\n\n return { newMajorAndTrend, updatedProps: newProps };\n};\n\n/*\n * @method computeSingleValueContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n toRemoveList,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // update viz in small space\n // if textFontSize is less than 12, remove extra info like sparkline, trendvalue, unit\n // or truncate major value to make the major font size >= 12\n if (majorTextFontSize < 12) {\n const { newMajorAndTrend, updatedProps } = updateVizInSmallSpace({\n width: containerWidth,\n height: containerHeight,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = newMajorAndTrend);\n smallVizProps = updatedProps;\n }\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\n/**\n * Get the colors for a graph\n *\n * @method getGraphColors\n * @param {Object} options\n * @param {Bool} options.backgroundEnabled // Flag to turn on color mode\n * @param {String} options.backgroundColor // The current background color, overrides trend background color\n * @param {Object} options.defaultColors // Default colors by severity\n * @param {Function} options.customColorFormatter // must return { background, stroke } given a color\n * @returns {Object} { background, stroke } colors\n * @private\n */\nexport const getGraphColors = ({\n backgroundEnabled,\n backgroundColor,\n defaultColors,\n customColorFormatter,\n}) => {\n // Only do custom colors in block mode\n if (backgroundEnabled) {\n // Check if the user defined colors to use\n if (backgroundColor && typeof customColorFormatter === 'function') {\n return customColorFormatter(backgroundColor);\n }\n }\n\n return defaultColors.none;\n};\n\n/**\n * Adjust rgb value if it equals to 0 or 255\n * @method adjustRGB\n * @param {Number} rgb [0 - 255]\n * @param {Number} delta\n * @returns {Number} adjusted rgb\n * @private\n */\nexport const adjustRGB = (rgb, delta) => {\n if (rgb === 255) {\n return rgb - delta;\n }\n\n if (rgb === 0) {\n return rgb + delta;\n }\n\n return rgb;\n};\n\n/**\n * Modifies colors by multiplying by a given ratio\n * @method changeColor\n * @param {String} color // Color to modify\n * @param {Number} ratio // Float to modify color\n * @returns {String} new color\n * @private\n */\nconst changeColor = (color, ratio) => {\n const hex = color.replace(/(0x|#)/, '');\n const r = parseInt(hex.substr(0, 2), 16);\n const g = parseInt(hex.substr(2, 2), 16);\n const b = parseInt(hex.substr(4, 2), 16);\n\n // Multiply by given ratio, make sure is between 0 and 255;\n let newR = Math.max(Math.min(Math.floor(r * ratio), 255), 0);\n let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);\n let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);\n\n // If the color is not changed\n // case 1: the color is (0, 0 0)\n // lighten color (80, 80, 80)\n // darken color (40, 40, 40)\n // case 2: the color is (255, 255, 255)\n // lighten color (235, 235, 235)\n // darken color (175, 175, 175)\n // case 3: the color is e.g. (0, 255, 0)\n // new color (20, 235, 20)\n if (newR === r && newG === g && newB === b) {\n if (newR === 0 && newG === 0 && newB === 0) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n } else {\n newR = adjustRGB(newR, 40);\n newG = adjustRGB(newG, 40);\n newB = adjustRGB(newB, 40);\n }\n } else if (newR === 255 && newG === 255 && newB === 255) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n } else {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n }\n } else {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n }\n }\n\n return (\n `#${newR.toString(16).padStart(2, 0)}` +\n `${newG.toString(16).padStart(2, 0)}` +\n `${newB.toString(16).padStart(2, 0)}`\n );\n};\n\n/**\n * Lighten a given color\n * @method lighten\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const lighten = color => changeColor(color, 1.3);\n\n/**\n * Darkens a given color\n * @method darken\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const darken = color => changeColor(color, 0.5);\n\n/** consistent token structure: handle callback to add value and name in event payload\n * @method handleValueClickCallback\n * @param {Object} ev\n * @param {String | Number} majorValue\n * @param {String} majorValueField\n * @param {Number} trendValue\n * @param {Function} onValueClick\n */\nexport const handleValueClickCallback = (ev, majorValue, majorValueField, trendValue, onValueClick) => {\n const payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n\n return onValueClick({ ...ev, payload });\n};\n","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"@splunk/themes/pick\");","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: 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","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 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 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 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(\"@splunk/visualizations-shared/colorConstants\");","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 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(\"@splunk/visualizations-shared/domUtils\");","module.exports = require(\"d3-array\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"d3-scale\");","module.exports = require(\"@mdhnpm/rgb-hex-converter\");","import ParallelCoordinates from './PureParallelCoordinates/PureParallelCoordinates';\nimport withDashboardViz from '../common/withDashboardViz';\nimport vizConfig from './config';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport { isLoadingOrNoColumns } from '../common/utils/singleValueUtils';\n\nexport const config = vizConfig;\nexport const PureParallelCoordinates = ParallelCoordinates;\n\nexport const computeVizProps = ({ themeFunc, ...props }) => {\n const defaultThemeColorVariables = [\n 'defaultBackgroundColor',\n 'axisLineColor',\n 'axisLineHighlightColor',\n 'axisLabelColor',\n 'axisTitleColor',\n 'filterButtonDisabledColor',\n 'filterButtonActiveColor',\n 'filterTextColor',\n 'truncatedTextColor',\n 'filterSelectionColor',\n 'textShadowColor',\n ];\n const defaultThemeColors: Record<string, unknown> = {};\n defaultThemeColorVariables.forEach(variable => {\n defaultThemeColors[variable] = themeFunc(variable);\n });\n if (props.dataSources) {\n const { fields, columns } = props.dataSources.primary.data;\n return {\n fields: fields.map(field => (field.name ? field.name : field)),\n columns,\n ...defaultThemeColors,\n };\n }\n return defaultThemeColors;\n};\n\nconst viz = withDashboardViz({\n ReactViz: PureParallelCoordinates,\n vizConfig,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }, loading: boolean) =>\n isLoadingOrNoColumns(dataSources, loading),\n});\nexport const { themes } = vizConfig;\nexport default viz;\n","import * as React from 'react';\nimport { extent as d3extent } from 'd3-array';\nimport { scalePoint as d3scalePoint, scaleLinear as d3scaleLinear } from 'd3-scale';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport ParallelCoordinatesChart from './src/ParallelCoordinatesChart';\nimport { VizProps } from '../../common/interfaces/VizProps';\n\ninterface PureParallelCoordinatesProps extends VizProps {\n fields?: string[];\n columns?: (string[] | number[])[];\n showNullAxis?: boolean;\n lineColor?: string;\n backgroundColor?: string;\n axisLineHighlightColor: string;\n axisLineColor: string;\n axisTitleColor: string;\n axisLabelColor: string;\n lineOpacity: number;\n filterButtonDisabledColor: string;\n filterButtonActiveColor: string;\n filterTextColor: string;\n truncatedTextColor: string;\n filterSelectionColor: string;\n textShadowColor: string;\n}\n\nconst PureParallelCoordinates = ({ ...props }: PureParallelCoordinatesProps) => {\n const {\n width,\n height,\n columns,\n fields,\n showNullAxis,\n lineColor,\n backgroundColor,\n axisLineHighlightColor,\n axisLineColor,\n axisTitleColor,\n axisLabelColor,\n lineOpacity,\n filterButtonDisabledColor,\n filterButtonActiveColor,\n filterTextColor,\n truncatedTextColor,\n filterSelectionColor,\n textShadowColor,\n mode,\n } = props;\n\n const minWidth = 200;\n const minHieght = 150;\n\n if (width < minWidth || height < minHieght) {\n return (\n <Message width={width} height={height} message={_('Too small to render content')} level=\"info\" />\n );\n }\n\n const nullOffsetHeight = 30;\n const axisPadding = 0.3;\n const minLabelHeight = 16;\n let truncatedCategoriesFlag = false;\n\n // Set up chart margins\n const margin = { top: 27, right: 20, bottom: 40, left: 40 };\n if (showNullAxis) {\n margin.bottom += nullOffsetHeight;\n }\n\n const chartWidth = +width - margin.left - margin.right;\n const chartHeight = +height - margin.top - margin.bottom;\n\n // Data processing logic:\n let data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n if (columns[index][i] === '') {\n newObj[field] = null;\n } else {\n newObj[field] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n // Calculate horizontal and vertical scales\n const keys = Object.keys(data[0]);\n const yPositionScale = {};\n\n // check whether the value is numeric\n const quantVal = v => !Number.isNaN(Number(v)) || v === null;\n\n // const dimensions = keys.filter(key => key !== 'name');\n const dimensions = [...keys];\n\n dimensions.forEach(d => {\n const val = data.map(p => p[d]);\n if (val.every(quantVal)) {\n // set numeric axis scale\n yPositionScale[d] = d3scaleLinear()\n .domain(d3extent(data, p => Number(p[d])))\n .range([chartHeight, 0]);\n } else {\n // categorical axis scale\n const categoryDomain = val.filter((v, i) => val.indexOf(v) === i);\n let updatedDomain;\n\n if (chartHeight / categoryDomain.length > minLabelHeight) {\n updatedDomain = [...categoryDomain];\n } else {\n updatedDomain = categoryDomain.slice(0, Math.round(chartHeight / minLabelHeight));\n truncatedCategoriesFlag = true;\n data = data.filter(row => updatedDomain.includes(row[d]));\n }\n yPositionScale[d] = d3scalePoint().domain(updatedDomain).range([chartHeight, 0]);\n }\n });\n\n const xPositionScale = d3scalePoint().padding(axisPadding).range([0, chartWidth]);\n const nullAxisScale = d3scalePoint().padding(0);\n\n return (\n <ParallelCoordinatesChart\n backgroundColor={backgroundColor}\n width={chartWidth}\n height={chartHeight}\n margin={margin}\n axisPadding={axisPadding}\n xPositionScale={xPositionScale}\n yPositionScale={yPositionScale}\n data={data}\n dimensions={dimensions}\n showNullAxis={showNullAxis}\n nullOffsetHeight={nullOffsetHeight}\n nullAxisScale={nullAxisScale}\n lineColor={lineColor}\n lineOpacity={lineOpacity}\n axisLineHighlightColor={axisLineHighlightColor}\n axisLineColor={axisLineColor}\n axisTitleColor={axisTitleColor}\n axisLabelColor={axisLabelColor}\n filterButtonDisabledColor={filterButtonDisabledColor}\n filterButtonActiveColor={filterButtonActiveColor}\n filterTextColor={filterTextColor}\n filterSelectionColor={filterSelectionColor}\n truncatedCategoriesFlag={truncatedCategoriesFlag}\n truncatedTextColor={truncatedTextColor}\n textShadowColor={textShadowColor}\n mode={mode}\n />\n );\n};\n\nPureParallelCoordinates.propTypes = {\n backgroundColor: T.string,\n width: T.number,\n height: T.number,\n fields: T.array,\n columns: T.array,\n lineColor: T.string,\n lineOpacity: T.number,\n showNullAxis: T.bool,\n axisLineHighlightColor: T.string,\n axisLineColor: T.string,\n axisTitleColor: T.string,\n axisLabelColor: T.string,\n filterButtonDisabledColor: T.string,\n filterButtonActiveColor: T.string,\n filterTextColor: T.string,\n filterSelectionColor: T.string,\n truncatedCategoriesFlag: T.bool,\n truncatedTextColor: T.string,\n textShadowColor: T.string,\n mode: T.string,\n};\n\nPureParallelCoordinates.defaultProps = {\n backgroundColor: '#0b0c0e',\n width: 700,\n height: 400,\n fields: null,\n columns: [],\n lineColor: '#7B56DB',\n lineOpacity: 0.5,\n showNullAxis: true,\n axisLineHighlightColor: 'rgba(255, 255, 255, 0.98)',\n axisLineColor: 'rgb(129, 130, 133)',\n axisTitleColor: 'rgba(255, 255, 255, 0.7)',\n axisLabelColor: 'rgba(255, 255, 255, 0.7)',\n filterButtonDisabledColor: 'rgba(255, 255, 255, 0.3)',\n filterButtonActiveColor: '#3993FF',\n filterTextColor: 'rgba(255, 255, 255, 0.7)',\n filterSelectionColor: '#FFFFFF',\n truncatedTextColor: 'rgba(255, 255, 255, 0.5)',\n textShadowColor: '#111215',\n truncatedCategoriesFlag: false,\n};\n\nexport default PureParallelCoordinates;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { select as d3select, selectAll as d3selectAll } from 'd3-selection';\nimport { brushY as d3brushY } from 'd3-brush';\nimport { axisLeft as d3axisLeft, axisTop as d3axisTop } from 'd3-axis';\nimport { drag as d3drag } from 'd3-drag';\nimport type { ScalePoint } from 'd3-scale';\nimport { convertHexToRgb } from '@mdhnpm/rgb-hex-converter';\nimport ParallelCoordinatesCanvas from './ParallelCoordinatesCanvas';\n\ntype marginObj = { top: number; right: number; bottom: number; left: number };\ntype yPositionScaleType = { [key: string]: any };\n\nconst ChartDiv = styled.div<{\n width: number;\n height: number;\n backgroundColor: string;\n margin: marginObj;\n}>`\n background-color: ${props => props.backgroundColor};\n width: ${props => props.width + props.margin.left + props.margin.right}px;\n height: ${props => props.height + props.margin.top + props.margin.bottom}px;\n position: relative;\n`;\n\nconst PromptDiv = styled.div<{\n width: number;\n height: number;\n margin: marginObj;\n}>`\n position: absolute;\n top: ${props => props.height + props.margin.top + props.margin.bottom - 27}px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 12px;\n vertical-align: middle;\n margin-left: 0;\n width: ${props => props.margin.left + props.width + props.margin.right}px;\n`;\n\nconst FilterButton = styled.button.attrs({ 'data-testid': 'clear-filter-button' })<{\n filterButtonColor: string;\n}>`\n margin-left: 16px;\n display: flex;\n border: none;\n background: none;\n color: ${props => props.filterButtonColor};\n cursor: pointer;\n font-size: 12px;\n padding-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n`;\n\ninterface ParallelCoordinatesChartProps {\n width: number;\n height: number;\n margin: marginObj;\n axisPadding: number;\n data: any[];\n dimensions: string[];\n xPositionScale: ScalePoint<any>;\n yPositionScale: yPositionScaleType;\n showNullAxis: boolean;\n nullOffsetHeight: number;\n nullAxisScale: ScalePoint<any>;\n lineColor: string;\n lineOpacity: number;\n backgroundColor: string;\n axisLineHighlightColor: string;\n axisLineColor: string;\n axisTitleColor: string;\n axisLabelColor: string;\n filterButtonDisabledColor: string;\n filterButtonActiveColor: string;\n filterTextColor: string;\n filterSelectionColor: string;\n truncatedCategoriesFlag: boolean;\n truncatedTextColor: string;\n textShadowColor: string;\n mode: string;\n}\n\nconst ParallelCoordinatesChart = ({ ...props }: ParallelCoordinatesChartProps) => {\n const {\n width,\n height,\n margin,\n axisPadding,\n data,\n dimensions,\n xPositionScale,\n yPositionScale,\n showNullAxis,\n nullOffsetHeight,\n nullAxisScale,\n lineColor,\n lineOpacity,\n backgroundColor,\n axisLineHighlightColor,\n axisLineColor,\n axisTitleColor,\n axisLabelColor,\n filterButtonDisabledColor,\n filterButtonActiveColor,\n filterTextColor,\n truncatedCategoriesFlag,\n truncatedTextColor,\n filterSelectionColor,\n textShadowColor,\n } = props;\n\n const brushWidth = 16;\n const maxStrLength = 7;\n\n // axis dragging storage variable\n const dragging = {};\n\n // brushing event handling variables\n const brush = d3brushY().extent([\n [-brushWidth / 2, 0],\n [brushWidth / 2, height],\n ]);\n\n const updatedTextShadowColor = backgroundColor === 'transparent' ? textShadowColor : backgroundColor;\n\n // axis dragging feature state declaration\n const [currentDimensions, setCurrentDimensions] = React.useState(dimensions);\n const [dragStatus, setDragStatus] = React.useState(false);\n\n // brushing feature state declaration\n const [selectedData, setSelectedData] = React.useState(data);\n const [selections, setSelections] = React.useState(new Map());\n const [filterPromptState, setFilterPromptState] = React.useState(false);\n const [filterButtonColor, setFilterButtonColor] = React.useState(filterButtonDisabledColor);\n\n const svgRef = React.useRef(null);\n\n // update xPositionScale\n xPositionScale.domain(currentDimensions);\n nullAxisScale.domain(currentDimensions).range([0, width - 2 * axisPadding * xPositionScale.step()]);\n\n // axis dragging helper functions\n const position = d => {\n const v = dragging[d];\n return v == null ? xPositionScale(d) : v;\n };\n\n const transition = g => g.transition().duration(500);\n\n // clear filter button\n const clearAllFilters = () => {\n d3select(svgRef.current).selectAll('.brush').call(brush.move, null);\n setSelections(new Map());\n setSelectedData(data);\n setFilterPromptState(false);\n setFilterButtonColor(filterButtonDisabledColor);\n };\n\n // truncated string to a length for categorical axis label\n const truncate = (str, maxLength) => {\n const updatedSuffix = '...';\n\n let updateStr = str || 'null';\n\n if (Array.isArray(updateStr)) {\n updateStr = updateStr.join(', ');\n }\n\n if (typeof updateStr === 'string' && updateStr.length > maxLength) {\n updateStr = updateStr.substring(0, maxLength - 1);\n updateStr += updatedSuffix;\n }\n\n return updateStr;\n };\n\n React.useEffect(() => {\n // clean svg before drawing\n const svg = d3select(svgRef.current)\n .html('')\n .attr('height', height + margin.top + margin.bottom)\n .attr('width', width + margin.left + margin.right)\n .append('g')\n .attr('transform', `translate(${margin.left},${margin.top})`);\n\n // Add a group element for each dimension\n const g = svg\n .selectAll('.dimension')\n .data(currentDimensions)\n .join('g')\n .attr('class', 'dimension')\n .attr('data-test', 'dimension')\n .attr('transform', d => `translate(${xPositionScale(d)})`)\n .style('cursor', 'ew-resize');\n\n // axis dragging event handling\n const dragstarted = (event, d) => {\n d3select(event.sourceEvent.currentTarget)\n .selectAll('.axis path')\n .style('stroke', axisLineHighlightColor);\n d3select(event.sourceEvent.currentTarget)\n .selectAll('.axis line')\n .style('stroke', axisLineHighlightColor);\n dragging[d] = xPositionScale(d);\n setDragStatus(true);\n };\n\n const dragged = (event, d) => {\n dragging[d] = Math.min(width, Math.max(0, event.x));\n currentDimensions.sort((a, b) => position(a) - position(b));\n xPositionScale.domain(currentDimensions);\n setCurrentDimensions([...currentDimensions]);\n g.attr('transform', p => `translate(${position(p)})`);\n };\n\n function dragended(_event, d) {\n delete dragging[d];\n d3select(this).select('.axis path').style('stroke', axisLineColor);\n d3select(this).selectAll('.axis line').style('stroke', axisLineColor);\n\n transition(d3select(this).attr('transform', `translate(${xPositionScale(d)})`));\n setDragStatus(false);\n }\n\n // Add vertical axis and title.\n g.append('g')\n .attr('class', 'axis vertical-axis')\n .each((d, i, nodes) => {\n if (yPositionScale[d].ticks) {\n //numerical axis\n d3select(nodes[i])\n .call(d3axisLeft(yPositionScale[d]))\n .selectAll('text')\n .append('title')\n .text(d => d && d.toString());\n } else {\n //categorical axis and truncated long labels\n d3select(nodes[i])\n .call(d3axisLeft(yPositionScale[d]).tickFormat(p => truncate(p, maxStrLength)))\n // add title to show full value upon hover\n .selectAll('text')\n .append('title')\n .text(d => d && d.toString());\n }\n })\n .selectAll('text')\n .attr('fill', axisLabelColor)\n .clone(true)\n .lower()\n .attr('fill', 'none')\n .attr('stroke-width', 2)\n .attr('stroke-linejoin', 'round')\n .attr(\n 'stroke',\n `rgba(${convertHexToRgb(updatedTextShadowColor)[0]},${\n convertHexToRgb(updatedTextShadowColor)[1]\n },${convertHexToRgb(updatedTextShadowColor)[2]}, ${0.8})`\n );\n\n g.append('text')\n .attr('class', 'axisTitle')\n .attr('fill', axisTitleColor)\n .attr('font-size', '12px')\n .attr('text-anchor', 'middle')\n .attr('y', -9)\n .text(d => d);\n\n // drawing the null axis\n if (showNullAxis) {\n const nullAxisOffsetHeight = yPositionScale[currentDimensions[0]].range()[0] + nullOffsetHeight;\n // append null axis and title\n svg.append('g')\n .attr('class', 'axis null-axis')\n .attr(\n 'transform',\n `translate(${xPositionScale.step() * axisPadding}, ${nullAxisOffsetHeight})`\n )\n .attr('fill', 'none')\n .call(d3axisTop(nullAxisScale).tickFormat(() => ''));\n\n svg.append('text')\n .attr('text-anchor', 'end')\n .attr('font-size', '11px')\n .attr('x', axisPadding * xPositionScale.step() - 9)\n .attr('y', height + nullOffsetHeight)\n .text('null')\n .attr('fill', axisLabelColor);\n }\n\n // customize axis line and ticks based on themes\n d3selectAll('.axis .domain').style('stroke', axisLineColor);\n d3selectAll('.axis line').style('stroke', axisLineColor);\n\n // added dragging event functions to each dimension\n svg.selectAll<SVGGElement, any>('.dimension').call(\n d3drag<SVGGElement, any>().on('start', dragstarted).on('drag', dragged).on('end', dragended)\n );\n\n // brushing event handling\n const brushStart = event => {\n // prevent brushing event trigger clicking event\n if (event.sourceEvent) {\n event.sourceEvent.stopPropagation();\n }\n setFilterPromptState(true);\n setFilterButtonColor(filterButtonActiveColor);\n\n // style filter selection box rect\n d3selectAll('rect.selection')\n .attr('fill', filterSelectionColor)\n .attr('fill-opacity', '0.3')\n .attr('stroke', 'none')\n .attr('rx', '4px');\n };\n\n // updated selectedData after brushing\n const brushed = ({ selection }, key) => {\n if (selection === null) {\n selections.delete(key);\n if (selections.size === 0) {\n setFilterButtonColor(filterButtonDisabledColor);\n setFilterPromptState(false);\n }\n } else if (yPositionScale[key].ticks) {\n // numeric scale (aka scaleLinear)\n // use .ticks to differentiate categorical vs numeric axis\n // d3.scaleLinear().ticks = true\n // d3.scalePoint().ticks = undefined\n selections.set(key, selection.map(yPositionScale[key].invert));\n } else {\n // categorical scale (aka scalePoint)\n selections.set(key, [selection[1], selection[0]]);\n }\n\n const selected = [];\n\n data.forEach(d => {\n // Categorical Axis: convert ordinal dimension's values to pixels\n // Numerical Axis: compare numerical values with dataSources\n const active = Array.from(selections).every(([key, [max, min]]) => {\n const newP = yPositionScale[key].ticks ? d[key] : yPositionScale[key](d[key]);\n return newP >= min && newP <= max;\n });\n if (active) {\n selected.push(d);\n }\n });\n setSelectedData(selected);\n };\n\n brush.on('start', brushStart).on('brush end', brushed);\n\n // add and store a brush for each axis.\n g.append('g')\n .attr('class', 'brush')\n .each((_d, i, nodes) => {\n d3select(nodes[i]).call(brush);\n });\n }, [\n data,\n width,\n height,\n margin,\n dimensions,\n xPositionScale,\n yPositionScale,\n selections,\n axisLabelColor,\n updatedTextShadowColor,\n axisTitleColor,\n showNullAxis,\n axisLineColor,\n axisLineHighlightColor,\n nullOffsetHeight,\n filterButtonActiveColor,\n filterButtonDisabledColor,\n truncatedCategoriesFlag,\n truncatedTextColor,\n ]);\n\n return (\n <div>\n <ChartDiv width={width} height={height} margin={margin} backgroundColor={backgroundColor}>\n <ParallelCoordinatesCanvas\n width={width}\n height={height}\n margin={margin}\n xPositionScale={xPositionScale}\n yPositionScale={yPositionScale}\n data={data}\n currentDimensions={currentDimensions}\n selectedData={selectedData}\n dragStatus={dragStatus}\n showNullAxis={showNullAxis}\n nullOffsetHeight={nullOffsetHeight}\n lineColor={lineColor}\n lineOpacity={lineOpacity}\n backgroundColor={backgroundColor}\n />\n <svg\n ref={svgRef}\n style={{ position: 'relative' }}\n data-testid=\"svg-layer\"\n data-test-dimensions={currentDimensions.length}\n />\n <PromptDiv width={width} height={height} margin={margin}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n <FilterButton filterButtonColor={filterButtonColor} onClick={clearAllFilters}>\n Clear filters\n </FilterButton>\n\n <span\n style={{ display: filterPromptState ? 'flex' : 'none', color: filterTextColor }}\n data-testid=\"line-selection-prompt\"\n >\n {selectedData.length}/{data.length} lines selected\n </span>\n </div>\n\n <span\n style={{\n display: truncatedCategoriesFlag ? 'flex' : 'none',\n color: truncatedTextColor,\n marginRight: 16,\n }}\n data-testid=\"truncated-data-warning\"\n >\n Note: Your data is currently truncated due to a high amount of categorical values\n </span>\n </PromptDiv>\n </ChartDiv>\n </div>\n );\n};\n\nexport default ParallelCoordinatesChart;\n","module.exports = require(\"d3-selection\");","module.exports = require(\"d3-brush\");","module.exports = require(\"d3-axis\");","module.exports = require(\"d3-drag\");","import * as React from 'react';\nimport type { ScalePoint } from 'd3-scale';\nimport { convertHexToRgb } from '@mdhnpm/rgb-hex-converter';\n\ntype marginObj = { top: number; right: number; bottom: number; left: number };\ntype yPositionScaleType = { [key: string]: any };\n\ninterface ParallelCoordinatesCanvasProps {\n width: number;\n height: number;\n margin: marginObj;\n data: any[];\n selectedData: any[];\n currentDimensions: string[];\n xPositionScale: ScalePoint<Array<string>>;\n yPositionScale: yPositionScaleType;\n dragStatus: boolean;\n showNullAxis: boolean;\n nullOffsetHeight: number;\n lineColor: string;\n lineOpacity: number;\n backgroundColor: string;\n}\n\nconst ParallelCoordinatesCanvas = ({ ...props }: ParallelCoordinatesCanvasProps) => {\n const {\n width,\n height,\n margin,\n data,\n selectedData,\n currentDimensions,\n xPositionScale,\n yPositionScale,\n dragStatus,\n showNullAxis,\n nullOffsetHeight,\n lineColor,\n lineOpacity,\n backgroundColor,\n } = props;\n\n const foregroundRef = React.useRef(null);\n const backgroundRef = React.useRef(null);\n\n // Get the device pixel ratio, falling back to 1.\n const dpr = window.devicePixelRatio || 1;\n\n // draw path on two layers of canvas\n const path = (d, ctx, dimensions) => {\n if (showNullAxis) {\n ctx.beginPath();\n dimensions.forEach((p, i) => {\n let updatedYPosition;\n if (d[p] == null) {\n // add nullOffsetHeight to the bottom position of each axes and make it as the new yPosition of the null data\n updatedYPosition = yPositionScale[p].range()[0] + nullOffsetHeight;\n } else {\n // otherwise, yPosition stays at the same scale\n updatedYPosition = yPositionScale[p](d[p]);\n }\n if (i === 0) {\n ctx.moveTo(xPositionScale(p), updatedYPosition);\n } else {\n ctx.lineTo(xPositionScale(p), updatedYPosition);\n }\n });\n ctx.stroke();\n } else {\n // if nullOffset option is false\n let prev = null;\n dimensions.forEach(p => {\n if (prev !== null && d[p] !== null) {\n ctx.beginPath();\n ctx.moveTo(xPositionScale(prev), yPositionScale[prev](d[prev]));\n ctx.lineTo(xPositionScale(p), yPositionScale[p](d[p]));\n ctx.stroke();\n }\n if (d[p] !== null) {\n prev = p;\n } else {\n prev = null;\n }\n });\n }\n };\n\n // draw all the lines on background canvas\n React.useEffect(() => {\n const backgroundCanvas = backgroundRef.current;\n const background = backgroundCanvas.getContext('2d');\n\n backgroundCanvas.width = (width + margin.left + margin.right) * dpr;\n backgroundCanvas.height = (height + margin.top + margin.bottom) * dpr;\n\n // ensure all drawing operations are scaled\n background.scale(dpr, dpr);\n\n background.clearRect(0, 0, width + margin.left + margin.right, height + margin.top + margin.bottom);\n background.translate(margin.left, margin.top);\n\n if (backgroundColor !== 'transparent') {\n background.strokeStyle = `rgba(${convertHexToRgb(lineColor)[0]}, ${\n convertHexToRgb(lineColor)[1]\n }, ${convertHexToRgb(lineColor)[2]}, ${lineOpacity})`;\n\n data.forEach(d => path(d, background, currentDimensions));\n\n // backgroundColor-ed or default page color mask btw background and foreground lines\n background.globalAlpha = 0.7;\n background.fillStyle = backgroundColor;\n background.fillRect(-10, -10, width + margin.right, height + margin.bottom);\n } else {\n // set the background lines color to be 0.1 if backgroundColor is transparent\n background.strokeStyle = `rgba(${convertHexToRgb(lineColor)[0]}, ${\n convertHexToRgb(lineColor)[1]\n }, ${convertHexToRgb(lineColor)[2]}, 0.1)`;\n\n data.forEach(d => path(d, background, currentDimensions));\n }\n }, [\n data,\n height,\n margin,\n width,\n currentDimensions,\n showNullAxis,\n nullOffsetHeight,\n lineColor,\n lineOpacity,\n backgroundColor,\n dpr,\n ]);\n\n // draw lines on the foreground canvas\n // when selectedData is updated via brushing, re-draw the foreground canvas\n React.useEffect(() => {\n const foregroundCanvas = foregroundRef.current;\n const foreground = foregroundCanvas.getContext('2d');\n\n foregroundCanvas.width = (width + margin.left + margin.right) * dpr;\n foregroundCanvas.height = (height + margin.top + margin.bottom) * dpr;\n\n // ensure all drawing operations are scaled\n foreground.scale(dpr, dpr);\n\n foreground.clearRect(0, 0, width + margin.left + margin.right, height + margin.top + margin.bottom);\n foreground.translate(margin.left, margin.top);\n foreground.strokeStyle = `rgba(${convertHexToRgb(lineColor)[0]}, ${convertHexToRgb(lineColor)[1]}, ${\n convertHexToRgb(lineColor)[2]\n }, ${lineOpacity})`;\n\n selectedData.forEach(d => path(d, foreground, currentDimensions));\n }, [\n selectedData,\n width,\n height,\n margin,\n currentDimensions,\n showNullAxis,\n nullOffsetHeight,\n lineColor,\n lineOpacity,\n dpr,\n ]);\n\n return (\n <div data-testid=\"canvas-div\">\n <canvas\n data-testid=\"background-canvas-layer\"\n ref={backgroundRef}\n style={{\n position: 'absolute',\n display: !dragStatus ? 'flex' : 'none',\n width: width + margin.left + margin.right,\n height: height + margin.top + margin.bottom,\n }}\n />\n <canvas\n data-testid=\"foreground-canvas-layer\"\n ref={foregroundRef}\n style={{\n position: 'absolute',\n display: !dragStatus ? 'flex' : 'none',\n width: width + margin.left + margin.right,\n height: height + margin.top + margin.bottom,\n }}\n />\n </div>\n );\n};\n\nexport default ParallelCoordinatesCanvas;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { ParallelCoordinates as ParallelCoordinatesIcon } from '@splunk/visualization-icons';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\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 initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 700,\n initialHeight: 400,\n};\n\nconst optionsSchema: OptionsSchema = {\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_WITH_RGBA,\n type: 'string',\n },\n lineColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the dataSource color for the lines. The hex value format should be #FFFFFF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n lineOpacity: {\n default: 0.5,\n description:\n 'Specify the opacity of the lines. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.50\" in source or \"50%\" in UI.',\n type: 'number',\n },\n showNullAxis: {\n default: true,\n description: 'Select whether you would like to show or hide the null value axis.',\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 axisLineColor: props =>\n pick({\n enterprise: {\n dark: variables.gray45(props),\n light: variables.gray60(props),\n },\n prisma: {\n dark: variables.neutral400(props),\n light: variables.syntaxGray(props),\n },\n })(props),\n axisLineHighlightColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorActive(props),\n })(props),\n axisTitleColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n axisLabelColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n filterButtonDisabledColor: props =>\n pick({\n enterprise: variables.textDisabledColor(props),\n prisma: variables.contentColorDisabled(props),\n })(props),\n filterButtonActiveColor: props =>\n pick({\n enterprise: variables.focusColor(props),\n prisma: variables.interactiveColorPrimary(props),\n })(props),\n filterTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n truncatedTextColor: props =>\n pick({\n enterprise: variables.textGray(props),\n prisma: variables.contentColorMuted(props),\n })(props),\n filterSelectionColor: props =>\n pick({\n enterprise: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n prisma: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n })(props),\n textShadowColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Coloring'),\n layout: [\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Line Color'),\n option: 'lineColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n },\n },\n {\n label: _('Line Opacity (%)'),\n option: 'lineOpacity',\n editor: 'editor.percent',\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Display'),\n layout: [\n [\n {\n label: _('Show Null Axis'),\n option: 'showNullAxis',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.parallelcoordinates',\n /**\n * viz name\n */\n name: 'Parallel Coordinates',\n category: VizCategory.COMPARISONS,\n status: 'preview',\n /**\n * viz icon\n */\n icon: ParallelCoordinatesIcon,\n dataContract,\n size,\n optionsSchema,\n editorConfig,\n events: {}, // To be completed\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER], // will there be more??\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\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:///./src/common/version.ts","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/singleValueUtils.js","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","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/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualizations-shared/domUtils\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"d3-array\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"d3-scale\"","webpack:///external \"@mdhnpm/rgb-hex-converter\"","webpack:///./src/ParallelCoordinates/ParallelCoordinates.tsx","webpack:///./src/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.tsx","webpack:///./src/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.tsx","webpack:///external \"d3-selection\"","webpack:///external \"d3-brush\"","webpack:///external \"d3-axis\"","webpack:///external \"d3-drag\"","webpack:///./src/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.tsx","webpack:///./src/ParallelCoordinates/config.ts"],"names":["DEFAULT_FONT","DEFAULT_FONT_FAMILY","SVR_PADDING","top","bottom","left","right","shouldShowTrend","trendDisplay","isLoadingOrNoColumns","data","get","noColumns","loading","getFormattedColor","formatColor","hasBackground","backgroundColor","isIdenticalColor","colorA","colorB","getDefaultColorWithBg","defaultFontColor","defaultBlockFontColor","getMajorColor","majorColor","getTrendColor","trendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","defaultBackgroundColor","isInvalidTrend","parseFloat","computeColors","props","backgroundEnabled","underLabelColor","computeText","value","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","getTrendText","compute","isNumerial","showPercent","diff","Math","val","computeFontSize","width","height","fontFamily","fontWeight","widthInDefaultFont","computeTextSize","fontSize","parseInt","getMajorFontSize","unit","majorText","spaceRatio","majorTextCalc","getTrendFontSize","trendText","trendFontSize","getUnderLabelHeight","getUnderLabel","underLabel","getMajorAndTrend","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","truncateValue","updatedProps","computeSingleValueContent","contentWidth","contentHeight","containerWidth","containerHeight","majorValueTitle","smallVizProps","minimallyTruncateStringToWidth","textWidth","modifiedText","ellipsesLength","computeSingleValueRadialContent","smallViz","getGraphColors","customColorFormatter","adjustRGB","rgb","changeColor","hex","color","r","g","b","newR","newG","newB","ratio","lighten","darken","handleValueClickCallback","payload","name","majorValueField","onValueClick"],"mappings":"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","file":"ParallelCoordinates.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 = 196);\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';\nimport { version } from '../version';\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 data-splunk-visualization-version={version}\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","export const version = '24.2.0';\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get } from 'lodash';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { computeTextSize } from '@splunk/visualizations-shared/domUtils';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\nimport { DELTA_GREEN, DELTA_RED } from '@splunk/visualizations-shared/colorConstants';\n\nexport const DEFAULT_FONT = 12;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\n\nexport const SVR_PADDING = { top: 12, bottom: 12, left: 16, right: 16 };\n\n/**\n * @method shouldShowTrend\n * @param {String} trendDisplay\n * @returns {Bool}\n */\nexport const shouldShowTrend = trendDisplay => trendDisplay === 'absolute' || trendDisplay === 'percent';\n\n/**\n * @method isLoadingOrNoColumns\n * @param {Object} dataSources\n * @param {Boolean} loading\n * @returns {Boolean} return true if loading or without columns in dataSources\n */\nexport const isLoadingOrNoColumns = (dataSources, loading) => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noColumns = data === undefined;\n return loading || noColumns;\n};\n\n/**\n * Retrieve the valid formatted color\n * @method getFormattedColor\n * @param {String} color\n * @param {String} defaultColor\n * @returns {String} the formatted color\n */\nexport const getFormattedColor = (color, defaultColor) => formatColor(color) || formatColor(defaultColor);\n\n/**\n * Determines if there is a background color\n * @method hasBackground\n * @param {String} backgroundColor\n * @returns true for non-transparent background color\n */\nexport const hasBackground = backgroundColor => !!backgroundColor && backgroundColor !== 'transparent';\n\n/**\n * @method isIdenticalColor\n * @param {String} colorA\n * @param {String} colorB\n * @returns {Boolean}\n */\nexport const isIdenticalColor = (colorA, colorB) =>\n !!colorA && !!colorB && formatColor(colorA.toLowerCase()) === formatColor(colorB.toLowerCase());\n\n/*\n * @method getDefaultColorWithBg\n * @param {Object} props\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} defaultColor\n */\nexport const getDefaultColorWithBg = ({ backgroundColor, defaultFontColor, defaultBlockFontColor }) =>\n isIdenticalColor(backgroundColor, defaultBlockFontColor) ? defaultFontColor : defaultBlockFontColor;\n\n/*\n * @method getMajorColor\n * return formatted majorColor.\n * @param {Object} props\n * @param {String} props.majorColor\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} majorColor\n */\nexport const getMajorColor = ({ majorColor, backgroundColor, defaultFontColor, defaultBlockFontColor }) => {\n // If backgroundColor is set, but no majorColor,\n // the default majorColor will turn to be defaultBlockFontColor.\n // eg: major color will turn to be white in enterprise mode.\n // however, if the bgColor is the same as defaultBlockFontColor, use defaultFontColor.\n if (hasBackground(backgroundColor) && !majorColor) {\n return getDefaultColorWithBg({\n backgroundColor,\n defaultFontColor,\n defaultBlockFontColor,\n });\n }\n\n return getFormattedColor(majorColor, defaultFontColor);\n};\n\n/**\n * Get the color for the trend components\n * @method getTrendColor\n * @param {Object} props\n * @param {String} props.trendColor The trendColor value determined from encoding\n * @param {Number} props.trendValue\n * @param {Number} props.majorValue\n * @param {String} props.customizedBgColor\n * @param {String} props.trendDisplay absolute || percent || off\n * @param {Object} defaultColors\n * @returns {String} trendColor\n */\nexport const getTrendColor = ({\n trendColor,\n trendValue,\n majorValue,\n customizedBgColor,\n trendDisplay,\n defaultColors,\n}) => {\n if (trendColor) {\n return trendColor;\n }\n\n if (Number.isNaN(Number(trendValue))) {\n return undefined;\n }\n\n const { defaultFontColor, defaultBlockFontColor, defaultBackgroundColor } = defaultColors;\n\n // if user defined a backgroundColor, the default trend color will be defaultBlockFontColor\n if (\n hasBackground(customizedBgColor) &&\n !isIdenticalColor(customizedBgColor, defaultBackgroundColor) &&\n !isIdenticalColor(customizedBgColor, defaultBlockFontColor)\n ) {\n return defaultBlockFontColor;\n }\n\n // if trendDisplay is percent, and trendValue === value\n // the trend percent = trendValue / (value - trendValue) will return Infinity\n const isInvalidTrend = trendDisplay === 'percent' && trendValue === parseFloat(majorValue);\n\n if (trendValue === 0 || isInvalidTrend) {\n return defaultFontColor;\n }\n\n return trendValue > 0 ? DELTA_GREEN : DELTA_RED;\n};\n\n/**\n * Computes visualization properties for display component\n * @method computeColors\n * @param {Object} props all viz props\n * @param {Object} defaultColors defaultColors from theme\n * @returns {Object} result\n * @returns {Boolean} backgroundEnabled\n * @returns {String} backgroundColor\n * @returns {String} majorColor\n * @returns {String} trendColor\n * @returns {String} underLabelColor\n */\nexport const computeColors = (props, defaultColors) => {\n const backgroundColor = getFormattedColor(props.backgroundColor, defaultColors.defaultBackgroundColor);\n const backgroundEnabled = hasBackground(backgroundColor);\n const majorColor = getMajorColor({\n majorColor: props.majorColor,\n backgroundColor,\n defaultFontColor: defaultColors.defaultFontColor,\n defaultBlockFontColor: defaultColors.defaultBlockFontColor,\n });\n const trendColor = getTrendColor({\n trendColor: props.trendColor,\n trendValue: props.trendValue,\n majorValue: props.majorValue,\n customizedBgColor: props.backgroundColor,\n trendDisplay: props.trendDisplay,\n defaultColors,\n });\n // todo: need change it to not depend on majorColor\n const underLabelColor = backgroundEnabled ? majorColor : defaultColors.defaultFontColor;\n\n return {\n backgroundColor,\n backgroundEnabled,\n majorColor,\n trendColor,\n underLabelColor,\n };\n};\n\n/**\n * Format and return the value (major/trend)\n * @method computeText\n * @param {Object} props\n * @param {Number} props.value // The major/trend value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number} major or trend text\n */\nexport const computeText = ({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let text = isNumerial(value)\n ? formatNumber(value, numberPrecision, {\n useThousandSeparators: shouldUseThousandSeparators, // todo: need update formatNumber\n useTrendUnits: shouldAbbreviateTrendValue,\n })\n : value;\n // When text is undefined, return empty string\n text = text || '';\n return text;\n};\n\n/*\n * @method getMajorText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @returns {String} majorText\n */\nexport const getMajorText = ({ majorValue, numberPrecision, shouldUseThousandSeparators }) =>\n computeText({\n value: majorValue === null ? 'N/A' : majorValue, // if majorValue is null, use `N/A`.\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue: false,\n });\n\n/*\n * @method getTrendText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.trendValue\n * @param {String} props.trendDisplay\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {String} trendText\n */\nexport const getTrendText = ({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const compute = value =>\n computeText({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n if (trendValue === '' || !isNumerial(trendValue)) {\n return '';\n }\n const showPercent = trendDisplay === 'percent';\n if (!showPercent) {\n return compute(trendValue);\n }\n\n const diff = Math.abs(trendValue - majorValue);\n let val = Math.round((trendValue / diff) * 100);\n if (trendValue === 0 && diff === 0) {\n val = 0;\n }\n\n if (!Number.isFinite(val)) {\n return 'N/A';\n }\n const text = compute(val);\n\n return `${text}%`;\n};\n\n/**\n * Helper to determine the font size for an element\n * @method computeFontSize\n * @param {String} text The string to find a size for\n * @param {Object} dimensions\n * @param {Number} dimensions.width The width of the container\n * @param {Number} dimensions.height The height of the container\n * @param {String} [fontFamily='\"Splunk Platform Sans\" ...'] The font being used\n * @param {String} [fontWeight='normal'] Boldness of font\n * @returns {Number} The size to use for fontSize styles\n */\nexport const computeFontSize = (\n text,\n { width, height },\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal'\n) => {\n const widthInDefaultFont = computeTextSize(text, `${fontWeight} ${DEFAULT_FONT}px ${fontFamily}`);\n const fontSize = Math.min(\n (width / widthInDefaultFont) * DEFAULT_FONT,\n (height / DEFAULT_FONT) * DEFAULT_FONT\n );\n return parseInt(fontSize, 10);\n};\n\n/*\n * @method getMajorFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.unit\n * @param {String} props.majorText\n * @param {Number} props.spaceRatio\n * @returns {Number} majorFontSize\n */\nexport const getMajorFontSize = ({ width, height, unit, majorText, spaceRatio = 1 }) => {\n const majorTextCalc = unit ? `${unit}${majorText}` : majorText;\n return computeFontSize(majorTextCalc, {\n width: width * spaceRatio,\n height,\n });\n};\n\n/*\n * @method getTrendFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.trendText\n * @param {Number} props.spaceRatio\n * @returns {Number} trendFontSize\n */\nexport const getTrendFontSize = ({ width, height, trendText, spaceRatio = 1 }) => {\n let trendFontSize = 12;\n if (spaceRatio > 0) {\n trendFontSize = computeFontSize(trendText, {\n width: width * spaceRatio,\n height,\n });\n trendFontSize = parseInt(trendFontSize, 10) * spaceRatio;\n }\n return trendFontSize;\n};\n\n/*\n * The height of underLabel should no more than 12px\n * @param {Number} height\n * @return {Number} height || DEFAULT_FONT\n */\nexport const getUnderLabelHeight = height => (height > DEFAULT_FONT ? DEFAULT_FONT : height);\n\n/*\n * @param {Object} config\n * @param {String} underLabel\n * @param {Number} width width of underLabel\n * @param {Number} height height of underLabel\n * @param {Number} fond size of underLabel\n */\nexport const getUnderLabel = ({ underLabel, width, height }) =>\n // todo: may need truncate underLabel later\n computeFontSize(underLabel, {\n width,\n height,\n });\n\n/**\n * Compute value and font size for major and trend\n * @method getMajorAndTrend\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number, Number, Number, Number} Major text, trend text, major text size, trend text size\n */\nexport const getMajorAndTrend = ({\n width,\n height,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const majorTextSpaceRatio = isNumerial(trendValue) && shouldShowTrend(trendDisplay) ? 0.6 : 1;\n const textContentWidth = width * 0.9;\n const textContentHeight = height * 0.9;\n const majorText = getMajorText({ majorValue, numberPrecision, shouldUseThousandSeparators });\n const majorTextFontSize =\n majorFontSize ||\n getMajorFontSize({\n width: textContentWidth,\n height: textContentHeight,\n unit,\n majorText,\n spaceRatio: majorTextSpaceRatio,\n });\n const trendText = getTrendText({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const trendTextFontSize =\n trendFontSize ||\n getTrendFontSize({\n width: textContentWidth,\n height: textContentHeight,\n trendText,\n spaceRatio: 1 - majorTextSpaceRatio,\n });\n\n return {\n majorText,\n majorTextFontSize,\n trendText,\n trendTextFontSize,\n };\n};\n\n/*\n * @method updateVizInSmallSpace\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Object} props.toRemoveList\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {Number} props.majorTextFontSize\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Object} results\n * @returns {Object} results.newMajorAndTrend\n * @returns {Object} results.updatedProps\n */\nexport const updateVizInSmallSpace = ({\n width,\n height,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let removeIndex = 0;\n let newProps = {}; // options need to be updated\n let newMajorAndTrend = {};\n let newTextSize = majorTextFontSize;\n\n // remove info on viz to make textFontSize >= 12px;\n while (newTextSize < 12 && removeIndex < toRemoveList.length) {\n const toRemove = toRemoveList[removeIndex];\n newProps = {\n ...newProps,\n ...{\n [toRemove.key]: toRemove.value,\n },\n };\n\n newMajorAndTrend = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n\n newTextSize = newMajorAndTrend.majorTextFontSize;\n removeIndex += 1;\n }\n\n // truncate text if textFontSize is still less than 12\n if (newTextSize < 12) {\n const truncateValue = `${majorValue.toString().slice(0, 3)}...`;\n newMajorAndTrend = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n }\n\n return { newMajorAndTrend, updatedProps: newProps };\n};\n\n/*\n * @method computeSingleValueContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n toRemoveList,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // update viz in small space\n // if textFontSize is less than 12, remove extra info like sparkline, trendvalue, unit\n // or truncate major value to make the major font size >= 12\n if (majorTextFontSize < 12) {\n const { newMajorAndTrend, updatedProps } = updateVizInSmallSpace({\n width: containerWidth,\n height: containerHeight,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = newMajorAndTrend);\n smallVizProps = updatedProps;\n }\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\nexport const minimallyTruncateStringToWidth = ({\n text,\n fontSize = DEFAULT_FONT,\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal',\n containerWidth,\n}) => {\n let textWidth = computeTextSize(text, `${fontWeight} ${fontSize}px ${fontFamily}`);\n let modifiedText = text;\n\n const ellipsesLength = computeTextSize('...', `${fontWeight} ${fontSize}px ${fontFamily}`);\n // `containerWidth - ellipsesLength > 0` condition ensures space even exists for text.\n if (containerWidth - ellipsesLength > 0 && textWidth > containerWidth) {\n // Truncates the content such that the truncated value + ellipses fit within the allocated space for the ellipses.\n // `textWidth > containerWidth - ellipsesLength` condition checks if text + ellipses exceeds container width.\n // `text.length > 1` condition included to keep at least the first number.\n while (textWidth + ellipsesLength > containerWidth && modifiedText.length > 1) {\n modifiedText = modifiedText.substring(0, modifiedText.length - 1);\n textWidth = computeTextSize(modifiedText, `normal ${fontSize}px ${fontFamily}`);\n }\n\n modifiedText = `${modifiedText}...`;\n }\n\n return modifiedText;\n};\n\n/*\n * @method computeSingleValueRadialContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @param {Bool} props.smallViz\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueRadialContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n smallViz,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // custom logic for viz in small space\n // if not showing the radial graph (if `smallViz` is true), then compute truncated major value\n // and font sizes\n if (smallViz) {\n const truncateValue = minimallyTruncateStringToWidth({\n text: majorValue,\n fontWeight: 'bold',\n fontSize: 12,\n containerWidth,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width: containerWidth,\n height: containerHeight,\n unit,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n }));\n\n smallVizProps = {\n trendDisplay,\n unit,\n };\n }\n\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\n/**\n * Get the colors for a graph\n *\n * @method getGraphColors\n * @param {Object} options\n * @param {Bool} options.backgroundEnabled // Flag to turn on color mode\n * @param {String} options.backgroundColor // The current background color, overrides trend background color\n * @param {Object} options.defaultColors // Default colors by severity\n * @param {Function} options.customColorFormatter // must return { background, stroke } given a color\n * @returns {Object} { background, stroke } colors\n * @private\n */\nexport const getGraphColors = ({\n backgroundEnabled,\n backgroundColor,\n defaultColors,\n customColorFormatter,\n}) => {\n // Only do custom colors in block mode\n if (backgroundEnabled) {\n // Check if the user defined colors to use\n if (backgroundColor && typeof customColorFormatter === 'function') {\n return customColorFormatter(backgroundColor);\n }\n }\n\n return defaultColors.none;\n};\n\n/**\n * Adjust rgb value if it equals to 0 or 255\n * @method adjustRGB\n * @param {Number} rgb [0 - 255]\n * @param {Number} delta\n * @returns {Number} adjusted rgb\n * @private\n */\nexport const adjustRGB = (rgb, delta) => {\n if (rgb === 255) {\n return rgb - delta;\n }\n\n if (rgb === 0) {\n return rgb + delta;\n }\n\n return rgb;\n};\n\n/**\n * Modifies colors by multiplying by a given ratio\n * @method changeColor\n * @param {String} color // Color to modify\n * @param {Number} ratio // Float to modify color\n * @returns {String} new color\n * @private\n */\nconst changeColor = (color, ratio) => {\n const hex = color.replace(/(0x|#)/, '');\n const r = parseInt(hex.substr(0, 2), 16);\n const g = parseInt(hex.substr(2, 2), 16);\n const b = parseInt(hex.substr(4, 2), 16);\n\n // Multiply by given ratio, make sure is between 0 and 255;\n let newR = Math.max(Math.min(Math.floor(r * ratio), 255), 0);\n let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);\n let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);\n\n // If the color is not changed\n // case 1: the color is (0, 0 0)\n // lighten color (80, 80, 80)\n // darken color (40, 40, 40)\n // case 2: the color is (255, 255, 255)\n // lighten color (235, 235, 235)\n // darken color (175, 175, 175)\n // case 3: the color is e.g. (0, 255, 0)\n // new color (20, 235, 20)\n if (newR === r && newG === g && newB === b) {\n if (newR === 0 && newG === 0 && newB === 0) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n } else {\n newR = adjustRGB(newR, 40);\n newG = adjustRGB(newG, 40);\n newB = adjustRGB(newB, 40);\n }\n } else if (newR === 255 && newG === 255 && newB === 255) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n } else {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n }\n } else {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n }\n }\n\n return (\n `#${newR.toString(16).padStart(2, 0)}` +\n `${newG.toString(16).padStart(2, 0)}` +\n `${newB.toString(16).padStart(2, 0)}`\n );\n};\n\n/**\n * Lighten a given color\n * @method lighten\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const lighten = color => changeColor(color, 1.3);\n\n/**\n * Darkens a given color\n * @method darken\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const darken = color => changeColor(color, 0.5);\n\n/** consistent token structure: handle callback to add value and name in event payload\n * @method handleValueClickCallback\n * @param {Object} ev\n * @param {String | Number} majorValue\n * @param {String} majorValueField\n * @param {Number} trendValue\n * @param {Function} onValueClick\n */\nexport const handleValueClickCallback = (ev, majorValue, majorValueField, trendValue, onValueClick) => {\n const payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n\n return onValueClick({ ...ev, payload });\n};\n","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","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';\nimport { version } from '../version';\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.attrs({\n 'data-splunk-visualization-version': version,\n})`\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/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualizations-shared/domUtils\");","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","module.exports = require(\"d3-array\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"d3-scale\");","module.exports = require(\"@mdhnpm/rgb-hex-converter\");","import ParallelCoordinates from './PureParallelCoordinates/PureParallelCoordinates';\nimport withDashboardViz from '../common/withDashboardViz';\nimport vizConfig from './config';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport { isLoadingOrNoColumns } from '../common/utils/singleValueUtils';\n\nexport const config = vizConfig;\nexport const PureParallelCoordinates = ParallelCoordinates;\n\nexport const computeVizProps = ({ themeFunc, ...props }) => {\n const defaultThemeColorVariables = [\n 'defaultBackgroundColor',\n 'axisLineColor',\n 'axisLineHighlightColor',\n 'axisLabelColor',\n 'axisTitleColor',\n 'filterButtonDisabledColor',\n 'filterButtonActiveColor',\n 'filterTextColor',\n 'truncatedTextColor',\n 'filterSelectionColor',\n 'textShadowColor',\n ];\n const defaultThemeColors: Record<string, unknown> = {};\n defaultThemeColorVariables.forEach(variable => {\n defaultThemeColors[variable] = themeFunc(variable);\n });\n if (props.dataSources) {\n const { fields, columns } = props.dataSources.primary.data;\n return {\n fields: fields.map(field => (field.name ? field.name : field)),\n columns,\n ...defaultThemeColors,\n };\n }\n return defaultThemeColors;\n};\n\nconst viz = withDashboardViz({\n ReactViz: PureParallelCoordinates,\n vizConfig,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }, loading: boolean) =>\n isLoadingOrNoColumns(dataSources, loading),\n});\nexport const { themes } = vizConfig;\nexport default viz;\n","import * as React from 'react';\nimport { extent as d3extent } from 'd3-array';\nimport { scalePoint as d3scalePoint, scaleLinear as d3scaleLinear } from 'd3-scale';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport ParallelCoordinatesChart from './src/ParallelCoordinatesChart';\nimport { VizProps } from '../../common/interfaces/VizProps';\n\ninterface PureParallelCoordinatesProps extends VizProps {\n fields?: string[];\n columns?: (string[] | number[])[];\n showNullAxis?: boolean;\n lineColor?: string;\n backgroundColor?: string;\n axisLineHighlightColor: string;\n axisLineColor: string;\n axisTitleColor: string;\n axisLabelColor: string;\n lineOpacity: number;\n filterButtonDisabledColor: string;\n filterButtonActiveColor: string;\n filterTextColor: string;\n truncatedTextColor: string;\n filterSelectionColor: string;\n textShadowColor: string;\n}\n\nconst PureParallelCoordinates = ({ ...props }: PureParallelCoordinatesProps) => {\n const {\n width,\n height,\n columns,\n fields,\n showNullAxis,\n lineColor,\n backgroundColor,\n axisLineHighlightColor,\n axisLineColor,\n axisTitleColor,\n axisLabelColor,\n lineOpacity,\n filterButtonDisabledColor,\n filterButtonActiveColor,\n filterTextColor,\n truncatedTextColor,\n filterSelectionColor,\n textShadowColor,\n mode,\n } = props;\n\n const minWidth = 200;\n const minHieght = 150;\n\n if (width < minWidth || height < minHieght) {\n return (\n <Message width={width} height={height} message={_('Too small to render content')} level=\"info\" />\n );\n }\n\n const nullOffsetHeight = 30;\n const axisPadding = 0.3;\n const minLabelHeight = 16;\n let truncatedCategoriesFlag = false;\n\n // Set up chart margins\n const margin = { top: 27, right: 20, bottom: 40, left: 40 };\n if (showNullAxis) {\n margin.bottom += nullOffsetHeight;\n }\n\n const chartWidth = +width - margin.left - margin.right;\n const chartHeight = +height - margin.top - margin.bottom;\n\n // Data processing logic:\n let data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n if (columns[index][i] === '') {\n newObj[field] = null;\n } else {\n newObj[field] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n // Calculate horizontal and vertical scales\n const keys = Object.keys(data[0]);\n const yPositionScale = {};\n\n // check whether the value is numeric\n const quantVal = v => !Number.isNaN(Number(v)) || v === null;\n\n // const dimensions = keys.filter(key => key !== 'name');\n const dimensions = [...keys];\n\n dimensions.forEach(d => {\n const val = data.map(p => p[d]);\n if (val.every(quantVal)) {\n // set numeric axis scale\n yPositionScale[d] = d3scaleLinear()\n .domain(d3extent(data, p => Number(p[d])))\n .range([chartHeight, 0]);\n } else {\n // categorical axis scale\n const categoryDomain = val.filter((v, i) => val.indexOf(v) === i);\n let updatedDomain;\n\n if (chartHeight / categoryDomain.length > minLabelHeight) {\n updatedDomain = [...categoryDomain];\n } else {\n updatedDomain = categoryDomain.slice(0, Math.round(chartHeight / minLabelHeight));\n truncatedCategoriesFlag = true;\n data = data.filter(row => updatedDomain.includes(row[d]));\n }\n yPositionScale[d] = d3scalePoint().domain(updatedDomain).range([chartHeight, 0]);\n }\n });\n\n const xPositionScale = d3scalePoint().padding(axisPadding).range([0, chartWidth]);\n const nullAxisScale = d3scalePoint().padding(0);\n\n return (\n <ParallelCoordinatesChart\n backgroundColor={backgroundColor}\n width={chartWidth}\n height={chartHeight}\n margin={margin}\n axisPadding={axisPadding}\n xPositionScale={xPositionScale}\n yPositionScale={yPositionScale}\n data={data}\n dimensions={dimensions}\n showNullAxis={showNullAxis}\n nullOffsetHeight={nullOffsetHeight}\n nullAxisScale={nullAxisScale}\n lineColor={lineColor}\n lineOpacity={lineOpacity}\n axisLineHighlightColor={axisLineHighlightColor}\n axisLineColor={axisLineColor}\n axisTitleColor={axisTitleColor}\n axisLabelColor={axisLabelColor}\n filterButtonDisabledColor={filterButtonDisabledColor}\n filterButtonActiveColor={filterButtonActiveColor}\n filterTextColor={filterTextColor}\n filterSelectionColor={filterSelectionColor}\n truncatedCategoriesFlag={truncatedCategoriesFlag}\n truncatedTextColor={truncatedTextColor}\n textShadowColor={textShadowColor}\n mode={mode}\n />\n );\n};\n\nPureParallelCoordinates.propTypes = {\n backgroundColor: T.string,\n width: T.number,\n height: T.number,\n fields: T.array,\n columns: T.array,\n lineColor: T.string,\n lineOpacity: T.number,\n showNullAxis: T.bool,\n axisLineHighlightColor: T.string,\n axisLineColor: T.string,\n axisTitleColor: T.string,\n axisLabelColor: T.string,\n filterButtonDisabledColor: T.string,\n filterButtonActiveColor: T.string,\n filterTextColor: T.string,\n filterSelectionColor: T.string,\n truncatedCategoriesFlag: T.bool,\n truncatedTextColor: T.string,\n textShadowColor: T.string,\n mode: T.string,\n};\n\nPureParallelCoordinates.defaultProps = {\n backgroundColor: '#0b0c0e',\n width: 700,\n height: 400,\n fields: null,\n columns: [],\n lineColor: '#7B56DB',\n lineOpacity: 0.5,\n showNullAxis: true,\n axisLineHighlightColor: 'rgba(255, 255, 255, 0.98)',\n axisLineColor: 'rgb(129, 130, 133)',\n axisTitleColor: 'rgba(255, 255, 255, 0.7)',\n axisLabelColor: 'rgba(255, 255, 255, 0.7)',\n filterButtonDisabledColor: 'rgba(255, 255, 255, 0.3)',\n filterButtonActiveColor: '#3993FF',\n filterTextColor: 'rgba(255, 255, 255, 0.7)',\n filterSelectionColor: '#FFFFFF',\n truncatedTextColor: 'rgba(255, 255, 255, 0.5)',\n textShadowColor: '#111215',\n truncatedCategoriesFlag: false,\n};\n\nexport default PureParallelCoordinates;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { select as d3select, selectAll as d3selectAll } from 'd3-selection';\nimport { brushY as d3brushY } from 'd3-brush';\nimport { axisLeft as d3axisLeft, axisTop as d3axisTop } from 'd3-axis';\nimport { drag as d3drag } from 'd3-drag';\nimport type { ScalePoint } from 'd3-scale';\nimport { convertHexToRgb } from '@mdhnpm/rgb-hex-converter';\nimport ParallelCoordinatesCanvas from './ParallelCoordinatesCanvas';\n\ntype marginObj = { top: number; right: number; bottom: number; left: number };\ntype yPositionScaleType = { [key: string]: any };\n\nconst ChartDiv = styled.div<{\n width: number;\n height: number;\n backgroundColor: string;\n margin: marginObj;\n}>`\n background-color: ${props => props.backgroundColor};\n width: ${props => props.width + props.margin.left + props.margin.right}px;\n height: ${props => props.height + props.margin.top + props.margin.bottom}px;\n position: relative;\n`;\n\nconst PromptDiv = styled.div<{\n width: number;\n height: number;\n margin: marginObj;\n}>`\n position: absolute;\n top: ${props => props.height + props.margin.top + props.margin.bottom - 27}px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 12px;\n vertical-align: middle;\n margin-left: 0;\n width: ${props => props.margin.left + props.width + props.margin.right}px;\n`;\n\nconst FilterButton = styled.button.attrs({ 'data-testid': 'clear-filter-button' })<{\n filterButtonColor: string;\n}>`\n margin-left: 16px;\n display: flex;\n border: none;\n background: none;\n color: ${props => props.filterButtonColor};\n cursor: pointer;\n font-size: 12px;\n padding-top: 0;\n padding-bottom: 0;\n padding-left: 0;\n`;\n\ninterface ParallelCoordinatesChartProps {\n width: number;\n height: number;\n margin: marginObj;\n axisPadding: number;\n data: any[];\n dimensions: string[];\n xPositionScale: ScalePoint<any>;\n yPositionScale: yPositionScaleType;\n showNullAxis: boolean;\n nullOffsetHeight: number;\n nullAxisScale: ScalePoint<any>;\n lineColor: string;\n lineOpacity: number;\n backgroundColor: string;\n axisLineHighlightColor: string;\n axisLineColor: string;\n axisTitleColor: string;\n axisLabelColor: string;\n filterButtonDisabledColor: string;\n filterButtonActiveColor: string;\n filterTextColor: string;\n filterSelectionColor: string;\n truncatedCategoriesFlag: boolean;\n truncatedTextColor: string;\n textShadowColor: string;\n mode: string;\n}\n\nconst ParallelCoordinatesChart = ({ ...props }: ParallelCoordinatesChartProps): React.ReactElement => {\n const {\n width,\n height,\n margin,\n axisPadding,\n data,\n dimensions,\n xPositionScale,\n yPositionScale,\n showNullAxis,\n nullOffsetHeight,\n nullAxisScale,\n lineColor,\n lineOpacity,\n backgroundColor,\n axisLineHighlightColor,\n axisLineColor,\n axisTitleColor,\n axisLabelColor,\n filterButtonDisabledColor,\n filterButtonActiveColor,\n filterTextColor,\n truncatedCategoriesFlag,\n truncatedTextColor,\n filterSelectionColor,\n textShadowColor,\n } = props;\n\n const brushWidth = 16;\n const maxStrLength = 7;\n\n // axis dragging storage variable\n const dragging = {};\n\n // brushing event handling variables\n const brush = d3brushY().extent([\n [-brushWidth / 2, 0],\n [brushWidth / 2, height],\n ]);\n\n const updatedTextShadowColor = backgroundColor === 'transparent' ? textShadowColor : backgroundColor;\n\n // axis dragging feature state declaration\n const [currentDimensions, setCurrentDimensions] = React.useState(dimensions);\n const [dragStatus, setDragStatus] = React.useState(false);\n\n // brushing feature state declaration\n const [selectedData, setSelectedData] = React.useState(data);\n const [selections, setSelections] = React.useState(new Map());\n const [filterPromptState, setFilterPromptState] = React.useState(false);\n const [filterButtonColor, setFilterButtonColor] = React.useState(filterButtonDisabledColor);\n\n const svgRef = React.useRef(null);\n\n // update xPositionScale\n xPositionScale.domain(currentDimensions);\n nullAxisScale.domain(currentDimensions).range([0, width - 2 * axisPadding * xPositionScale.step()]);\n\n // axis dragging helper functions\n const position = d => {\n const v = dragging[d];\n return v == null ? xPositionScale(d) : v;\n };\n\n const transition = g => g.transition().duration(500);\n\n // clear filter button\n const clearAllFilters = () => {\n d3select(svgRef.current).selectAll('.brush').call(brush.move, null);\n setSelections(new Map());\n setSelectedData(data);\n setFilterPromptState(false);\n setFilterButtonColor(filterButtonDisabledColor);\n };\n\n // truncated string to a length for categorical axis label\n const truncate = (str, maxLength) => {\n const updatedSuffix = '...';\n\n let updateStr = str || 'null';\n\n if (Array.isArray(updateStr)) {\n updateStr = updateStr.join(', ');\n }\n\n if (typeof updateStr === 'string' && updateStr.length > maxLength) {\n updateStr = updateStr.substring(0, maxLength - 1);\n updateStr += updatedSuffix;\n }\n\n return updateStr;\n };\n\n React.useEffect(() => {\n // clean svg before drawing\n const svg = d3select(svgRef.current)\n .html('')\n .attr('height', height + margin.top + margin.bottom)\n .attr('width', width + margin.left + margin.right)\n .append('g')\n .attr('transform', `translate(${margin.left},${margin.top})`);\n\n // Add a group element for each dimension\n const g = svg\n .selectAll('.dimension')\n .data(currentDimensions)\n .join('g')\n .attr('class', 'dimension')\n .attr('data-test', 'dimension')\n .attr('transform', d => `translate(${xPositionScale(d)})`)\n .style('cursor', 'ew-resize');\n\n // axis dragging event handling\n const dragstarted = (event, d) => {\n d3select(event.sourceEvent.currentTarget)\n .selectAll('.axis path')\n .style('stroke', axisLineHighlightColor);\n d3select(event.sourceEvent.currentTarget)\n .selectAll('.axis line')\n .style('stroke', axisLineHighlightColor);\n dragging[d] = xPositionScale(d);\n setDragStatus(true);\n };\n\n const dragged = (event, d) => {\n dragging[d] = Math.min(width, Math.max(0, event.x));\n currentDimensions.sort((a, b) => position(a) - position(b));\n xPositionScale.domain(currentDimensions);\n setCurrentDimensions([...currentDimensions]);\n g.attr('transform', p => `translate(${position(p)})`);\n };\n\n function dragended(_event, d) {\n delete dragging[d];\n d3select(this).select('.axis path').style('stroke', axisLineColor);\n d3select(this).selectAll('.axis line').style('stroke', axisLineColor);\n\n transition(d3select(this).attr('transform', `translate(${xPositionScale(d)})`));\n setDragStatus(false);\n }\n\n // Add vertical axis and title.\n g.append('g')\n .attr('class', 'axis vertical-axis')\n .each((d, i, nodes) => {\n if (yPositionScale[d].ticks) {\n // numerical axis\n d3select(nodes[i])\n .call(d3axisLeft(yPositionScale[d]))\n .selectAll('text')\n .append('title')\n .text(datum => datum && datum.toString());\n } else {\n // categorical axis and truncated long labels\n d3select(nodes[i])\n .call(d3axisLeft(yPositionScale[d]).tickFormat(p => truncate(p, maxStrLength)))\n // add title to show full value upon hover\n .selectAll('text')\n .append('title')\n .text(datum => datum && datum.toString());\n }\n })\n .selectAll('text')\n .attr('fill', axisLabelColor)\n .clone(true)\n .lower()\n .attr('fill', 'none')\n .attr('stroke-width', 2)\n .attr('stroke-linejoin', 'round')\n .attr(\n 'stroke',\n `rgba(${convertHexToRgb(updatedTextShadowColor)[0]},${\n convertHexToRgb(updatedTextShadowColor)[1]\n },${convertHexToRgb(updatedTextShadowColor)[2]}, ${0.8})`\n );\n\n g.append('text')\n .attr('class', 'axisTitle')\n .attr('fill', axisTitleColor)\n .attr('font-size', '12px')\n .attr('text-anchor', 'middle')\n .attr('y', -9)\n .text(d => d);\n\n // drawing the null axis\n if (showNullAxis) {\n const nullAxisOffsetHeight = yPositionScale[currentDimensions[0]].range()[0] + nullOffsetHeight;\n // append null axis and title\n svg.append('g')\n .attr('class', 'axis null-axis')\n .attr(\n 'transform',\n `translate(${xPositionScale.step() * axisPadding}, ${nullAxisOffsetHeight})`\n )\n .attr('fill', 'none')\n .call(d3axisTop(nullAxisScale).tickFormat(() => ''));\n\n svg.append('text')\n .attr('text-anchor', 'end')\n .attr('font-size', '11px')\n .attr('x', axisPadding * xPositionScale.step() - 9)\n .attr('y', height + nullOffsetHeight)\n .text('null')\n .attr('fill', axisLabelColor);\n }\n\n // customize axis line and ticks based on themes\n d3selectAll('.axis .domain').style('stroke', axisLineColor);\n d3selectAll('.axis line').style('stroke', axisLineColor);\n\n // added dragging event functions to each dimension\n svg.selectAll<SVGGElement, any>('.dimension').call(\n d3drag<SVGGElement, any>().on('start', dragstarted).on('drag', dragged).on('end', dragended)\n );\n\n // brushing event handling\n const brushStart = event => {\n // prevent brushing event trigger clicking event\n if (event.sourceEvent) {\n event.sourceEvent.stopPropagation();\n }\n setFilterPromptState(true);\n setFilterButtonColor(filterButtonActiveColor);\n\n // style filter selection box rect\n d3selectAll('rect.selection')\n .attr('fill', filterSelectionColor)\n .attr('fill-opacity', '0.3')\n .attr('stroke', 'none')\n .attr('rx', '4px');\n };\n\n // updated selectedData after brushing\n const brushed = ({ selection }, key) => {\n if (selection === null) {\n selections.delete(key);\n if (selections.size === 0) {\n setFilterButtonColor(filterButtonDisabledColor);\n setFilterPromptState(false);\n }\n } else if (yPositionScale[key].ticks) {\n // numeric scale (aka scaleLinear)\n // use .ticks to differentiate categorical vs numeric axis\n // d3.scaleLinear().ticks = true\n // d3.scalePoint().ticks = undefined\n selections.set(key, selection.map(yPositionScale[key].invert));\n } else {\n // categorical scale (aka scalePoint)\n selections.set(key, [selection[1], selection[0]]);\n }\n\n const selected = [];\n\n data.forEach(d => {\n // Categorical Axis: convert ordinal dimension's values to pixels\n // Numerical Axis: compare numerical values with dataSources\n const active = Array.from(selections).every(([activeKey, [max, min]]) => {\n const newP = yPositionScale[activeKey].ticks\n ? d[activeKey]\n : yPositionScale[activeKey](d[activeKey]);\n return newP >= min && newP <= max;\n });\n if (active) {\n selected.push(d);\n }\n });\n setSelectedData(selected);\n };\n\n brush.on('start', brushStart).on('brush end', brushed);\n\n // add and store a brush for each axis.\n g.append('g')\n .attr('class', 'brush')\n .each((_d, i, nodes) => {\n d3select(nodes[i]).call(brush);\n });\n }, [\n data,\n width,\n height,\n margin,\n dimensions,\n xPositionScale,\n yPositionScale,\n selections,\n axisLabelColor,\n updatedTextShadowColor,\n axisTitleColor,\n showNullAxis,\n axisLineColor,\n axisLineHighlightColor,\n nullOffsetHeight,\n filterButtonActiveColor,\n filterButtonDisabledColor,\n truncatedCategoriesFlag,\n truncatedTextColor,\n ]);\n\n return (\n <div>\n <ChartDiv width={width} height={height} margin={margin} backgroundColor={backgroundColor}>\n <ParallelCoordinatesCanvas\n width={width}\n height={height}\n margin={margin}\n xPositionScale={xPositionScale}\n yPositionScale={yPositionScale}\n data={data}\n currentDimensions={currentDimensions}\n selectedData={selectedData}\n dragStatus={dragStatus}\n showNullAxis={showNullAxis}\n nullOffsetHeight={nullOffsetHeight}\n lineColor={lineColor}\n lineOpacity={lineOpacity}\n backgroundColor={backgroundColor}\n />\n <svg\n ref={svgRef}\n style={{ position: 'relative' }}\n data-testid=\"svg-layer\"\n data-test-dimensions={currentDimensions.length}\n />\n <PromptDiv width={width} height={height} margin={margin}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n <FilterButton filterButtonColor={filterButtonColor} onClick={clearAllFilters}>\n Clear filters\n </FilterButton>\n\n <span\n style={{ display: filterPromptState ? 'flex' : 'none', color: filterTextColor }}\n data-testid=\"line-selection-prompt\"\n >\n {selectedData.length}/{data.length} lines selected\n </span>\n </div>\n\n <span\n style={{\n display: truncatedCategoriesFlag ? 'flex' : 'none',\n color: truncatedTextColor,\n marginRight: 16,\n }}\n data-testid=\"truncated-data-warning\"\n >\n Note: Your data is currently truncated due to a high amount of categorical values\n </span>\n </PromptDiv>\n </ChartDiv>\n </div>\n );\n};\n\nexport default ParallelCoordinatesChart;\n","module.exports = require(\"d3-selection\");","module.exports = require(\"d3-brush\");","module.exports = require(\"d3-axis\");","module.exports = require(\"d3-drag\");","import * as React from 'react';\nimport type { ScalePoint } from 'd3-scale';\nimport { convertHexToRgb } from '@mdhnpm/rgb-hex-converter';\n\ntype marginObj = { top: number; right: number; bottom: number; left: number };\ntype yPositionScaleType = { [key: string]: any };\n\ninterface ParallelCoordinatesCanvasProps {\n width: number;\n height: number;\n margin: marginObj;\n data: any[];\n selectedData: any[];\n currentDimensions: string[];\n xPositionScale: ScalePoint<Array<string>>;\n yPositionScale: yPositionScaleType;\n dragStatus: boolean;\n showNullAxis: boolean;\n nullOffsetHeight: number;\n lineColor: string;\n lineOpacity: number;\n backgroundColor: string;\n}\n\nconst ParallelCoordinatesCanvas = ({ ...props }: ParallelCoordinatesCanvasProps) => {\n const {\n width,\n height,\n margin,\n data,\n selectedData,\n currentDimensions,\n xPositionScale,\n yPositionScale,\n dragStatus,\n showNullAxis,\n nullOffsetHeight,\n lineColor,\n lineOpacity,\n backgroundColor,\n } = props;\n\n const foregroundRef = React.useRef(null);\n const backgroundRef = React.useRef(null);\n\n // Get the device pixel ratio, falling back to 1.\n const dpr = window.devicePixelRatio || 1;\n\n // draw path on two layers of canvas\n const path = (d, ctx, dimensions) => {\n if (showNullAxis) {\n ctx.beginPath();\n dimensions.forEach((p, i) => {\n let updatedYPosition;\n if (d[p] == null) {\n // add nullOffsetHeight to the bottom position of each axes and make it as the new yPosition of the null data\n updatedYPosition = yPositionScale[p].range()[0] + nullOffsetHeight;\n } else {\n // otherwise, yPosition stays at the same scale\n updatedYPosition = yPositionScale[p](d[p]);\n }\n if (i === 0) {\n ctx.moveTo(xPositionScale(p), updatedYPosition);\n } else {\n ctx.lineTo(xPositionScale(p), updatedYPosition);\n }\n });\n ctx.stroke();\n } else {\n // if nullOffset option is false\n let prev = null;\n dimensions.forEach(p => {\n if (prev !== null && d[p] !== null) {\n ctx.beginPath();\n ctx.moveTo(xPositionScale(prev), yPositionScale[prev](d[prev]));\n ctx.lineTo(xPositionScale(p), yPositionScale[p](d[p]));\n ctx.stroke();\n }\n if (d[p] !== null) {\n prev = p;\n } else {\n prev = null;\n }\n });\n }\n };\n\n // draw all the lines on background canvas\n React.useEffect(() => {\n const backgroundCanvas = backgroundRef.current;\n const background = backgroundCanvas.getContext('2d');\n\n backgroundCanvas.width = (width + margin.left + margin.right) * dpr;\n backgroundCanvas.height = (height + margin.top + margin.bottom) * dpr;\n\n // ensure all drawing operations are scaled\n background.scale(dpr, dpr);\n\n background.clearRect(0, 0, width + margin.left + margin.right, height + margin.top + margin.bottom);\n background.translate(margin.left, margin.top);\n\n if (backgroundColor !== 'transparent') {\n background.strokeStyle = `rgba(${convertHexToRgb(lineColor)[0]}, ${\n convertHexToRgb(lineColor)[1]\n }, ${convertHexToRgb(lineColor)[2]}, ${lineOpacity})`;\n\n data.forEach(d => path(d, background, currentDimensions));\n\n // backgroundColor-ed or default page color mask btw background and foreground lines\n background.globalAlpha = 0.7;\n background.fillStyle = backgroundColor;\n background.fillRect(-10, -10, width + margin.right, height + margin.bottom);\n } else {\n // set the background lines color to be 0.1 if backgroundColor is transparent\n background.strokeStyle = `rgba(${convertHexToRgb(lineColor)[0]}, ${\n convertHexToRgb(lineColor)[1]\n }, ${convertHexToRgb(lineColor)[2]}, 0.1)`;\n\n data.forEach(d => path(d, background, currentDimensions));\n }\n }, [\n data,\n height,\n margin,\n width,\n currentDimensions,\n showNullAxis,\n nullOffsetHeight,\n lineColor,\n lineOpacity,\n backgroundColor,\n dpr,\n ]);\n\n // draw lines on the foreground canvas\n // when selectedData is updated via brushing, re-draw the foreground canvas\n React.useEffect(() => {\n const foregroundCanvas = foregroundRef.current;\n const foreground = foregroundCanvas.getContext('2d');\n\n foregroundCanvas.width = (width + margin.left + margin.right) * dpr;\n foregroundCanvas.height = (height + margin.top + margin.bottom) * dpr;\n\n // ensure all drawing operations are scaled\n foreground.scale(dpr, dpr);\n\n foreground.clearRect(0, 0, width + margin.left + margin.right, height + margin.top + margin.bottom);\n foreground.translate(margin.left, margin.top);\n foreground.strokeStyle = `rgba(${convertHexToRgb(lineColor)[0]}, ${convertHexToRgb(lineColor)[1]}, ${\n convertHexToRgb(lineColor)[2]\n }, ${lineOpacity})`;\n\n selectedData.forEach(d => path(d, foreground, currentDimensions));\n }, [\n selectedData,\n width,\n height,\n margin,\n currentDimensions,\n showNullAxis,\n nullOffsetHeight,\n lineColor,\n lineOpacity,\n dpr,\n ]);\n\n return (\n <div data-testid=\"canvas-div\">\n <canvas\n data-testid=\"background-canvas-layer\"\n ref={backgroundRef}\n style={{\n position: 'absolute',\n display: !dragStatus ? 'flex' : 'none',\n width: width + margin.left + margin.right,\n height: height + margin.top + margin.bottom,\n }}\n />\n <canvas\n data-testid=\"foreground-canvas-layer\"\n ref={foregroundRef}\n style={{\n position: 'absolute',\n display: !dragStatus ? 'flex' : 'none',\n width: width + margin.left + margin.right,\n height: height + margin.top + margin.bottom,\n }}\n />\n </div>\n );\n};\n\nexport default ParallelCoordinatesCanvas;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { ParallelCoordinates as ParallelCoordinatesIcon } from '@splunk/visualization-icons';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\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 initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 700,\n initialHeight: 400,\n};\n\nconst optionsSchema: OptionsSchema = {\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_WITH_RGBA,\n type: 'string',\n },\n lineColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the dataSource color for the lines. The hex value format should be #FFFFFF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n lineOpacity: {\n default: 0.5,\n description:\n 'Specify the opacity of the lines. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.50\" in source or \"50%\" in UI.',\n type: 'number',\n },\n showNullAxis: {\n default: true,\n description: 'Select whether you would like to show or hide the null value axis.',\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 axisLineColor: props =>\n pick({\n enterprise: {\n dark: variables.gray45(props),\n light: variables.gray60(props),\n },\n prisma: {\n dark: variables.neutral400(props),\n light: variables.syntaxGray(props),\n },\n })(props),\n axisLineHighlightColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorActive(props),\n })(props),\n axisTitleColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n axisLabelColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n filterButtonDisabledColor: props =>\n pick({\n enterprise: variables.textDisabledColor(props),\n prisma: variables.contentColorDisabled(props),\n })(props),\n filterButtonActiveColor: props =>\n pick({\n enterprise: variables.focusColor(props),\n prisma: variables.interactiveColorPrimary(props),\n })(props),\n filterTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n truncatedTextColor: props =>\n pick({\n enterprise: variables.textGray(props),\n prisma: variables.contentColorMuted(props),\n })(props),\n filterSelectionColor: props =>\n pick({\n enterprise: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n prisma: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n })(props),\n textShadowColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Coloring'),\n layout: [\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Line Color'),\n option: 'lineColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n },\n },\n {\n label: _('Line Opacity (%)'),\n option: 'lineOpacity',\n editor: 'editor.percent',\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Display'),\n layout: [\n [\n {\n label: _('Show Null Axis'),\n option: 'showNullAxis',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.parallelcoordinates',\n /**\n * viz name\n */\n name: 'Parallel Coordinates',\n category: VizCategory.COMPARISONS,\n status: 'preview',\n /**\n * viz icon\n */\n icon: ParallelCoordinatesIcon,\n dataContract,\n size,\n optionsSchema,\n editorConfig,\n events: {}, // To be completed\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER], // will there be more??\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}