@splunk/visualizations 25.4.0 → 25.5.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 (922) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_Background_Color_Red.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_Basic.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Actions_Simulated_Instance.png +0 -0
  4. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Actions_for_Numeric_Field_Simulated_Instance.png +0 -0
  5. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Dark.png +0 -0
  6. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Light.png +0 -0
  7. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Background_Color.png +0 -0
  8. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order.png +0 -0
  9. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields.png +0 -0
  10. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields_Columns.png +0 -0
  11. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Handles_Large_Data_Set.png +0 -0
  12. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Handles_Special_Characters.png +0 -0
  13. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Color.png +0 -0
  14. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Width.png +0 -0
  15. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Color.png +0 -0
  16. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Height.png +0 -0
  17. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Highlight_Color.png +0 -0
  18. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_X.png +0 -0
  19. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_Y.png +0 -0
  20. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Result_Limit.png +0 -0
  21. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Node_Counts_False.png +0 -0
  22. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Value_Counts_False.png +0 -0
  23. package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Width_Height.png +0 -0
  24. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_basic.png +0 -0
  25. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_dynamic_color.png +0 -0
  26. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_geostats_by.png +0 -0
  27. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_static_color.png +0 -0
  28. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_static_color_with_no_seriesColors.png +0 -0
  29. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_center_seattle.png +0 -0
  30. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_choropleth_layer.png +0 -0
  31. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_dynamic_color.png +0 -0
  32. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color.png +0 -0
  33. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color_with_no_seriesColors.png +0 -0
  34. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
  35. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
  36. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
  37. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  38. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
  39. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  40. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  41. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  42. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Events_Editor.png +0 -0
  43. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  44. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
  45. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
  46. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  47. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  48. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
  49. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
  50. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  51. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  52. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
  53. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  54. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
  55. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
  56. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  57. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  58. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  59. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  60. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Area_Opacity_0_5.png +0 -0
  61. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Background_Color_french_rose.png +0 -0
  62. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Basic_Area.png +0 -0
  63. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Annotation.png +0 -0
  64. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Line_Width_5.png +0 -0
  65. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  66. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  67. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  68. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  69. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  70. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  71. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  72. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  73. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  74. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  75. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  76. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_5000.png +0 -0
  77. 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
  78. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
  79. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Max_40000.png +0 -0
  80. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Min_10000.png +0 -0
  81. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  82. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
  83. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  84. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_all.png +0 -0
  85. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_minmax.png +0 -0
  86. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_bottom.png +0 -0
  87. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_left.png +0 -0
  88. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_off.png +0 -0
  89. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_top.png +0 -0
  90. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Mode_seriesCompare.png +0 -0
  91. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Pagination.png +0 -0
  92. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Multi_Series.png +0 -0
  93. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  94. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  95. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  96. package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  97. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_connect.png +0 -0
  98. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_gaps_default.png +0 -0
  99. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_zero.png +0 -0
  100. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  101. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  102. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_0_Number_of_Results_100.png +0 -0
  103. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  104. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
  105. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  106. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_50_Number_of_Results_40.png +0 -0
  107. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_by_Field_splunkd_green_splunkd_web_access_orange_splunk_web_service_cyan.png +0 -0
  108. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_red_blue_green_orange_pink.png +0 -0
  109. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  110. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Lines_false.png +0 -0
  111. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Split_Series_true.png +0 -0
  112. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_X_Axis_Major_Grid_Lines_true_Y_Axis_Major_Grid_Lines_false.png +0 -0
  113. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_false.png +0 -0
  114. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  115. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  116. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_false_default.png +0 -0
  117. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_true.png +0 -0
  118. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked.png +0 -0
  119. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked100.png +0 -0
  120. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_45.png +0 -0
  121. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_90.png +0 -0
  122. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_45.png +0 -0
  123. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_90.png +0 -0
  124. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Visibility_hide.png +0 -0
  125. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
  126. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Major_Ticks_Size_15.png +0 -0
  127. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_1.png +0 -0
  128. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_2.png +0 -0
  129. package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_3_default.png +0 -0
  130. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Mapped_Field_specified.png +0 -0
  131. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  132. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_off.png +0 -0
  133. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_on_default.png +0 -0
  134. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_Tick_Interval_10.png +0 -0
  135. 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
  136. 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
  137. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Maximum_Number_50.png +0 -0
  138. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Minimum_Number_25.png +0 -0
  139. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Scale_log.png +0 -0
  140. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
  141. package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  142. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Background_Color_green.png +0 -0
  143. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Bar_Spacing_10.png +0 -0
  144. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Basic_Bar.png +0 -0
  145. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Line_Width_5.png +0 -0
  146. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  147. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  148. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Major_and_Minor_Grid_Lines_true.png +0 -0
  149. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  150. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  151. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  152. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  153. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  154. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
  155. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  156. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  157. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_50.png +0 -0
  158. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Minor_Ticks_Size_10.png +0 -0
  159. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
  160. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Max_500.png +0 -0
  161. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Min_100.png +0 -0
  162. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  163. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  164. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Visibility_hide.png +0 -0
  165. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_all.png +0 -0
  166. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_minmax.png +0 -0
  167. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_bottom.png +0 -0
  168. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_left.png +0 -0
  169. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_off.png +0 -0
  170. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_top.png +0 -0
  171. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Multi_Series.png +0 -0
  172. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  173. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  174. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  175. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  176. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  177. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  178. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_0_Number_of_Results_100.png +0 -0
  179. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  180. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  181. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_50_Number_of_Results_40.png +0 -0
  182. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_by_Field_admin_green_andy_orange_john_cyan_wendy_olive.png +0 -0
  183. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_red_blue_green_and_yellow.png +0 -0
  184. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Spacing_5.png +0 -0
  185. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  186. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Split_Series_true.png +0 -0
  187. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_X_Axis_Major_Grid_true_Y_Axis_Major_Grid_false.png +0 -0
  188. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_false.png +0 -0
  189. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  190. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Minor_Grid_true.png +0 -0
  191. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_false_default.png +0 -0
  192. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_true.png +0 -0
  193. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked.png +0 -0
  194. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked100.png +0 -0
  195. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Label_Visibility_hide.png +0 -0
  196. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Line_Visibility_show.png +0 -0
  197. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_Size_15.png +0 -0
  198. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_hide.png +0 -0
  199. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_1.png +0 -0
  200. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_2.png +0 -0
  201. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_3_default.png +0 -0
  202. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Mapped_Field_specified.png +0 -0
  203. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  204. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_off.png +0 -0
  205. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_on_default.png +0 -0
  206. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Label_Visibility_hide.png +0 -0
  207. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Line_Visibility_show.png +0 -0
  208. 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
  209. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Maximum_Number_1000.png +0 -0
  210. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Minimum_Number_250.png +0 -0
  211. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Scale_log.png +0 -0
  212. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Tick_Interval_100.png +0 -0
  213. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  214. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Visibility_hide.png +0 -0
  215. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Background_Color_grey.png +0 -0
  216. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Basic_Bubble.png +0 -0
  217. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Max_90.png +0 -0
  218. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_area_default.png +0 -0
  219. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_diameter.png +0 -0
  220. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Min_40.png +0 -0
  221. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Column_data_based_on_DSL.png +0 -0
  222. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Field_Colors_200_green_201_red.png +0 -0
  223. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_bottom.png +0 -0
  224. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_left.png +0 -0
  225. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_off.png +0 -0
  226. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_top.png +0 -0
  227. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Multi_Series.png +0 -0
  228. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  229. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  230. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_0_Number_of_Results_30.png +0 -0
  231. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_10_Number_of_Results_30.png +0 -0
  232. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
  233. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_50_Number_of_Results_30.png +0 -0
  234. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Series_Colors_orange_and_blue.png +0 -0
  235. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_false.png +0 -0
  236. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_true_default.png +0 -0
  237. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Minor_Grid_true.png +0 -0
  238. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_false_default.png +0 -0
  239. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_true.png +0 -0
  240. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_false_default.png +0 -0
  241. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_true.png +0 -0
  242. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_false.png +0 -0
  243. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_true_default.png +0 -0
  244. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Major_Grid_false.png +0 -0
  245. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Minor_Grid_true.png +0 -0
  246. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_false_default.png +0 -0
  247. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_true.png +0 -0
  248. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_auto.png +0 -0
  249. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_off_default.png +0 -0
  250. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_45.png +0 -0
  251. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_90.png +0 -0
  252. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_45.png +0 -0
  253. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_90.png +0 -0
  254. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  255. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_hide_default.png +0 -0
  256. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_show.png +0 -0
  257. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Interval_6.png +0 -0
  258. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
  259. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_hide.png +0 -0
  260. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_show.png +0 -0
  261. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Maximum_Number_14.png +0 -0
  262. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minimum_Number_10.png +0 -0
  263. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
  264. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_show.png +0 -0
  265. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Scale_log.png +0 -0
  266. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_auto_default.png +0 -0
  267. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_off.png +0 -0
  268. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Line_Visibility_show.png +0 -0
  269. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Interval_150.png +0 -0
  270. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
  271. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
  272. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  273. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Maximum_Number_1500.png +0 -0
  274. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minimum_Number_500.png +0 -0
  275. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
  276. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
  277. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Scale_log.png +0 -0
  278. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
  279. package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
  280. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Click.png +0 -0
  281. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Default.png +0 -0
  282. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Missing_Props_Message_When_No_Svg.png +0 -0
  283. 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
  284. 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
  285. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_using_multiMap_formatter.png +0 -0
  286. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Svg_Shows_Even_When_No_Datasources.png +0 -0
  287. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Use_Local_To_Download_Svg.png +0 -0
  288. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Background_Color_red.png +0 -0
  289. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Basic_Column.png +0 -0
  290. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Annotation.png +0 -0
  291. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Line_Width_5.png +0 -0
  292. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Multiple_Overlay_Fields_with_space_specified.png +0 -0
  293. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Overlay_Field_with_space_specified.png +0 -0
  294. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  295. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  296. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  297. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  298. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  299. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  300. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  301. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  302. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  303. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_5000.png +0 -0
  304. 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
  305. 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
  306. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Max_40000.png +0 -0
  307. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Min_10000.png +0 -0
  308. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  309. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_Visibility_hide.png +0 -0
  310. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  311. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay.png +0 -0
  312. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay_Stack_Mode_stacked.png +0 -0
  313. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Spacing_10.png +0 -0
  314. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_all.png +0 -0
  315. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_minmax.png +0 -0
  316. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_bottom.png +0 -0
  317. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_left.png +0 -0
  318. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_off.png +0 -0
  319. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_top.png +0 -0
  320. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multi_Series.png +0 -0
  321. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multiple_Categorical_Series.png +0 -0
  322. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
  323. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  324. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  325. package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  326. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  327. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  328. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_0_Number_of_Results_100.png +0 -0
  329. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  330. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  331. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_50_Number_of_Results_40.png +0 -0
  332. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_By_Field_splunkd_green_mongod_orange.png +0 -0
  333. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_red_blue_green.png +0 -0
  334. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Spacing_5.png +0 -0
  335. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  336. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Long_Tooltip_X_Axis_Label_Visibility_hide.png +0 -0
  337. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Split_Series_true.png +0 -0
  338. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Tooltip_false.png +0 -0
  339. 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
  340. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_false.png +0 -0
  341. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  342. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  343. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_false_default.png +0 -0
  344. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_true.png +0 -0
  345. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Single_Categorical_Series.png +0 -0
  346. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked.png +0 -0
  347. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked100.png +0 -0
  348. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_45.png +0 -0
  349. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_90.png +0 -0
  350. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_45.png +0 -0
  351. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_90.png +0 -0
  352. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  353. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Line_Visibility_show.png +0 -0
  354. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_1.png +0 -0
  355. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_2.png +0 -0
  356. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_3_default.png +0 -0
  357. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  358. package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  359. 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
  360. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_With_Space_specified.png +0 -0
  361. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_specified.png +0 -0
  362. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  363. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Overlay_Fields_specified.png +0 -0
  364. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Overlay_Field_specified.png +0 -0
  365. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_off.png +0 -0
  366. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_on_default.png +0 -0
  367. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Line_Visibility_show.png +0 -0
  368. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Major_Tick_Interval_10.png +0 -0
  369. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Maximum_Number_50.png +0 -0
  370. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minimum_Number_25.png +0 -0
  371. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minor_Tick_Size_10_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  372. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Scale_log.png +0 -0
  373. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Basic_Ellipse.png +0 -0
  374. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
  375. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_cyan.png +0 -0
  376. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_purple_Fill_Opacity_0_5.png +0 -0
  377. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_red.png +0 -0
  378. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fixed_height_200_width_200.png +0 -0
  379. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown.png +0 -0
  380. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown_Fill_Color_blue.png +0 -0
  381. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
  382. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green.png +0 -0
  383. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green_Fill_Color_red.png +0 -0
  384. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Dash_Style_5.png +0 -0
  385. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Opacity_0_8_Fill_Opacity_0_5.png +0 -0
  386. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
  387. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5.png +0 -0
  388. package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5_Stroke_Dash_Style_10.png +0 -0
  389. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Background_Color_Light_Blue.png +0 -0
  390. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Basic_Events.png +0 -0
  391. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Event_Actions.png +0 -0
  392. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Actions.png +0 -0
  393. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary.png +0 -0
  394. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary_Simulated_Instance.png +0 -0
  395. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields.png +0 -0
  396. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Show_Placeholder.png +0 -0
  397. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Value_Highlighting.png +0 -0
  398. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Height.png +0 -0
  399. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Percentage_50.png +0 -0
  400. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_100_height_width.png +0 -0
  401. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Background_Color_orange.png +0 -0
  402. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Basic_Filler_Gauge.png +0 -0
  403. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_computed_using_rangeValue_formatter.png +0 -0
  404. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_yellow.png +0 -0
  405. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_number_default.png +0 -0
  406. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_off.png +0 -0
  407. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_percentage.png +0 -0
  408. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_10.png +0 -0
  409. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_auto_default.png +0 -0
  410. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal.png +0 -0
  411. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
  412. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_vertical_default.png +0 -0
  413. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  414. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  415. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_number_default.png +0 -0
  416. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_off.png +0 -0
  417. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage.png +0 -0
  418. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
  419. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Basic_Image.png +0 -0
  420. package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_remote_image.png +0 -0
  421. package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPEG_image_Preserve_Aspect_Ratio_true.png +0 -0
  422. package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPG_image_Preserve_Aspect_Ratio_true.png +0 -0
  423. package/.loki/reference/chrome_docker_Visualizations_Image_Image_PNG_image_Preserve_Aspect_Ratio_true.png +0 -0
  424. package/.loki/reference/chrome_docker_Visualizations_Image_Image_SVG_image_Preserve_Aspect_Ratio_true.png +0 -0
  425. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Background_Color_red.png +0 -0
  426. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line.png +0 -0
  427. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_IANA_timezone.png +0 -0
  428. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_serialized_timezone.png +0 -0
  429. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_utc_timezone.png +0 -0
  430. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Annotation.png +0 -0
  431. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
  432. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
  433. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
  434. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
  435. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
  436. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
  437. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
  438. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
  439. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
  440. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Grid_Lines_true.png +0 -0
  441. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_5000.png +0 -0
  442. 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
  443. 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
  444. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Maximum_Number_40000.png +0 -0
  445. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minimum_Number_10000.png +0 -0
  446. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
  447. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
  448. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
  449. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
  450. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_all.png +0 -0
  451. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_minmax.png +0 -0
  452. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_bottom.png +0 -0
  453. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_left.png +0 -0
  454. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_off.png +0 -0
  455. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_top.png +0 -0
  456. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Mode_seriesCompare.png +0 -0
  457. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Pagination.png +0 -0
  458. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_mongod_longDash_splunkd_access_dashDot.png +0 -0
  459. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_mongod_shortDashDot_splunkd_access_shortDashDotDot.png +0 -0
  460. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_splunkd_dot_splunk_web_service_dash.png +0 -0
  461. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_splunkd_longDashDot_splunkd_access_longDashDotDot.png +0 -0
  462. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_splunkd_shortDash_splunk_web_service_shortDot.png +0 -0
  463. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dash.png +0 -0
  464. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dashDot.png +0 -0
  465. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dot.png +0 -0
  466. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDash.png +0 -0
  467. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDot.png +0 -0
  468. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDotDot.png +0 -0
  469. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDash.png +0 -0
  470. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDot.png +0 -0
  471. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDotDot.png +0 -0
  472. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_solid_default.png +0 -0
  473. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Width_5.png +0 -0
  474. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_filled.png +0 -0
  475. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_invalid_value.png +0 -0
  476. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_off_default.png +0 -0
  477. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_outlined.png +0 -0
  478. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Multi_Series.png +0 -0
  479. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_default.png +0 -0
  480. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
  481. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
  482. package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
  483. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_connect.png +0 -0
  484. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_gaps_default.png +0 -0
  485. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_zero.png +0 -0
  486. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Outlier_Detection.png +0 -0
  487. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  488. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  489. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_0_Number_of_Results_100.png +0 -0
  490. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_1000_Number_of_Results_5000.png +0 -0
  491. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
  492. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
  493. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_50_Number_of_Results_40.png +0 -0
  494. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_by_Field_splunkd_green_splunkd_web_access_orange_splunk_web_service_cyan.png +0 -0
  495. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_red_blue_green_orange_pink.png +0 -0
  496. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Independent_Y_Axis_Ranges_true.png +0 -0
  497. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Split_Series_true.png +0 -0
  498. 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
  499. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_false.png +0 -0
  500. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_true_default.png +0 -0
  501. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
  502. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_false_default.png +0 -0
  503. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_true.png +0 -0
  504. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_45.png +0 -0
  505. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_90.png +0 -0
  506. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_45.png +0 -0
  507. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_90.png +0 -0
  508. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  509. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
  510. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Major_Tick_Visibility_hide_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  511. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_1.png +0 -0
  512. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_2.png +0 -0
  513. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_3_default.png +0 -0
  514. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  515. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  516. package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_and_Y_Axis_Major_Tick_Size_20.png +0 -0
  517. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Mapped_Field_specified.png +0 -0
  518. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
  519. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_off.png +0 -0
  520. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_on_default.png +0 -0
  521. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Major_Tick_Interval_10.png +0 -0
  522. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Maximum_Number_50.png +0 -0
  523. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minimum_Number_25.png +0 -0
  524. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minor_Tick_Visibility_show_Y_Axis_Minor_Tick_Size_15.png +0 -0
  525. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Scale_log.png +0 -0
  526. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Basic_LinkGraph.png +0 -0
  527. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_ES.png +0 -0
  528. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_First_and_Last_Fields.png +0 -0
  529. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_First_to_the_Last_Fields.png +0 -0
  530. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_Last_to_the_First_Fields.png +0 -0
  531. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Color.png +0 -0
  532. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Highlight_Color.png +0 -0
  533. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Result_Limit_3.png +0 -0
  534. package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Show_Placeholder.png +0 -0
  535. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map.png +0 -0
  536. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map_ShowScale_false.png +0 -0
  537. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map_ShowZoomControls_false.png +0 -0
  538. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer.png +0 -0
  539. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Additional_Cases.png +0 -0
  540. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET.png +0 -0
  541. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET_Dynamic_Coloring.png +0 -0
  542. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Internal_Fields.png +0 -0
  543. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Mostly_null.png +0 -0
  544. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Static_Coloring.png +0 -0
  545. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_Dynamic_Coloring.png +0 -0
  546. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer.png +0 -0
  547. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_ChoroplethOpacity_0_5.png +0 -0
  548. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_ChoroplethStrokeColor_Red.png +0 -0
  549. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_Invalid.png +0 -0
  550. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US.png +0 -0
  551. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ChoroplethEmptyAreaColor_light_green.png +0 -0
  552. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ChoroplethStrokeColor_grey.png +0 -0
  553. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ShowBaseLayer_ShowZoomControls_ShowScale_false_Background_Color_transparent_ChoroplethOpacity_1_0_ChoroplethStrokeColor_black.png +0 -0
  554. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ShowBaseLayer_false.png +0 -0
  555. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_no_dataSources.png +0 -0
  556. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World.png +0 -0
  557. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ChoroplethEmptyAreaColor_light_red.png +0 -0
  558. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ChoroplethStrokeColor_black.png +0 -0
  559. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ShowBaseLayer_ShowZoomControls_ShowScale_false_BackgroundColor_grey_ChoroplethOpacity_1_0_ChoroplethStrokeColor_grey_ChoroplethEmptyAreaColor_white.png +0 -0
  560. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ShowBaseLayer_false.png +0 -0
  561. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_With_Additional_Fields.png +0 -0
  562. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_no_dataSources.png +0 -0
  563. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_With_Additional_Fields.png +0 -0
  564. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer.png +0 -0
  565. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Dynamic_coloring.png +0 -0
  566. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Result_Limit_Set_To_3.png +0 -0
  567. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_with_geostats_data_No_render.png +0 -0
  568. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
  569. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
  570. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
  571. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
  572. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Family_Times_New_Roman.png +0 -0
  573. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_custom.png +0 -0
  574. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_extraLarge.png +0 -0
  575. package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Rotation_180_degrees.png +0 -0
  576. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Background_Color_blue.png +0 -0
  577. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Basic_Marker_Gauge.png +0 -0
  578. 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
  579. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_negative_10_to_50_blue.png +0 -0
  580. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_number_default.png +0 -0
  581. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_off.png +0 -0
  582. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_percentage.png +0 -0
  583. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Major_Tick_Interval_7.png +0 -0
  584. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_horizontal.png +0 -0
  585. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_vertical_default.png +0 -0
  586. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  587. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  588. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_number_default.png +0 -0
  589. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_off.png +0 -0
  590. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage.png +0 -0
  591. package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
  592. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Array_column_values.png +0 -0
  593. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Background_Color_yellow.png +0 -0
  594. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Basic_Parallel_Coordinates.png +0 -0
  595. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Categorical_dataSources_excessive_categorical_data.png +0 -0
  596. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Larger_Dimensions_width_800_height_500.png +0 -0
  597. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Color_pink.png +0 -0
  598. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Opacity_0_3.png +0 -0
  599. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Numerical_dataSources.png +0 -0
  600. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Null_Axis_false.png +0 -0
  601. package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Stringified_Numerical_dataSources.png +0 -0
  602. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Background_Color_red.png +0 -0
  603. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Basic_Pie.png +0 -0
  604. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Label_specified.png +0 -0
  605. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Threshold_0_05.png +0 -0
  606. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_off.png +0 -0
  607. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_valuesAndPercentage.png +0 -0
  608. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_values_default.png +0 -0
  609. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Numeric_and_string_values_in_column_1.png +0 -0
  610. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  611. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_empty_columns_and_fields.png +0 -0
  612. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_invalid_label_data_specified.png +0 -0
  613. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_invalid_value_data_specified.png +0 -0
  614. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_missing_column.png +0 -0
  615. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_values_in_datasource_are_all_invalid.png +0 -0
  616. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  617. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_0_Number_of_Results_12.png +0 -0
  618. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_3_Number_of_Results_12.png +0 -0
  619. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_By_Field_splunkd_black_splunkd_ui_access_yellow_mongod_cyan.png +0 -0
  620. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_red_blue_green_orange_pink.png +0 -0
  621. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Show_Donut_Hole_true.png +0 -0
  622. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Background_Color_green.png +0 -0
  623. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Basic_Punchcard.png +0 -0
  624. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Color_red.png +0 -0
  625. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_all_default.png +0 -0
  626. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_max.png +0 -0
  627. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_off.png +0 -0
  628. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_global_default.png +0 -0
  629. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_row.png +0 -0
  630. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_50.png +0 -0
  631. 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
  632. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Color_Mode_categorical.png +0 -0
  633. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_area_default.png +0 -0
  634. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_radius.png +0 -0
  635. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Min_10.png +0 -0
  636. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical.png +0 -0
  637. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_off.png +0 -0
  638. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_right_default.png +0 -0
  639. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
  640. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_dynamic_default.png +0 -0
  641. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Multi_Series.png +0 -0
  642. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  643. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  644. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_false_default.png +0 -0
  645. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_true.png +0 -0
  646. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false.png +0 -0
  647. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Max_25.png +0 -0
  648. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5.png +0 -0
  649. 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
  650. 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
  651. package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_true_default.png +0 -0
  652. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Basic_Rectangle.png +0 -0
  653. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple.png +0 -0
  654. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple_Fill_Opacity_0_5.png +0 -0
  655. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
  656. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_cyan.png +0 -0
  657. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_0_default_Vertical_Corner_Radius_ry_25.png +0 -0
  658. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_15_Vertical_Corner_Radius_ry_25.png +0 -0
  659. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_0.png +0 -0
  660. 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
  661. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_5_Vertical_Corner_Radius_ry_5.png +0 -0
  662. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown.png +0 -0
  663. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown_Fill_Color_blue.png +0 -0
  664. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
  665. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow.png +0 -0
  666. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow_Fill_Color_purple.png +0 -0
  667. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_10.png +0 -0
  668. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_5.png +0 -0
  669. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_Bevel_Stroke_Width_10.png +0 -0
  670. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_miter_default_Stroke_Width_10.png +0 -0
  671. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_round_Stroke_Width_10.png +0 -0
  672. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
  673. package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_5.png +0 -0
  674. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Background_Color_pink.png +0 -0
  675. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Backward_Link_Self_Loop.png +0 -0
  676. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Basic_Sankey.png +0 -0
  677. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Color_Mode_dynamic.png +0 -0
  678. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_0_8.png +0 -0
  679. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_Changed.png +0 -0
  680. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Values_Not_Default.png +0 -0
  681. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Background_Color_grey.png +0 -0
  682. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Basic_Scatter.png +0 -0
  683. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Column_data_based_on_DSL.png +0 -0
  684. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Field_Colors_200_green_201_red.png +0 -0
  685. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_bottom.png +0 -0
  686. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_left.png +0 -0
  687. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_off.png +0 -0
  688. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_top.png +0 -0
  689. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_end_default.png +0 -0
  690. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_middle.png +0 -0
  691. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_off.png +0 -0
  692. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_start.png +0 -0
  693. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Marker_Size_7.png +0 -0
  694. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Multi_Series.png +0 -0
  695. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  696. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  697. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_0_Number_of_Results_30.png +0 -0
  698. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_10_Number_of_Results_30.png +0 -0
  699. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
  700. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_50_Number_of_Results_30.png +0 -0
  701. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Series_Colors_orange_and_blue.png +0 -0
  702. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_false_default.png +0 -0
  703. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_true.png +0 -0
  704. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_false.png +0 -0
  705. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_true_default.png +0 -0
  706. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Minor_Grid_true.png +0 -0
  707. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_false_default.png +0 -0
  708. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_true.png +0 -0
  709. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_false.png +0 -0
  710. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_true_default.png +0 -0
  711. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Major_Grid_false.png +0 -0
  712. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Minor_Grid_true.png +0 -0
  713. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_false_default.png +0 -0
  714. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_true.png +0 -0
  715. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_auto.png +0 -0
  716. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_off_default.png +0 -0
  717. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_45.png +0 -0
  718. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_90.png +0 -0
  719. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_45.png +0 -0
  720. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_90.png +0 -0
  721. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
  722. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_hide_default.png +0 -0
  723. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_show.png +0 -0
  724. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Interval_6.png +0 -0
  725. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Size_15_X_Axis_Minor_Tick_Size_10.png +0 -0
  726. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_hide.png +0 -0
  727. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_show.png +0 -0
  728. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Maximum_Number_14.png +0 -0
  729. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minimum_Number_10.png +0 -0
  730. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
  731. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_show.png +0 -0
  732. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Scale_log.png +0 -0
  733. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
  734. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
  735. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_auto_default.png +0 -0
  736. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_off.png +0 -0
  737. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Line_Visibility_show.png +0 -0
  738. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Interval_150.png +0 -0
  739. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
  740. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
  741. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_show.png +0 -0
  742. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Maximum_Number_1000.png +0 -0
  743. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minimum_Number_500.png +0 -0
  744. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
  745. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
  746. package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Scale_log.png +0 -0
  747. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Change_Icon_Color_For_A_Remote_Icon.png +0 -0
  748. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_String_Type_Series_Data.png +0 -0
  749. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
  750. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Time_Type_Series_Data.png +0 -0
  751. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Major_Value.png +0 -0
  752. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Trend_Value.png +0 -0
  753. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial.png +0 -0
  754. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color.png +0 -0
  755. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color_By_Trend_Value.png +0 -0
  756. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Max_Value_1000.png +0 -0
  757. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Radial_Color_By_Major_Value.png +0 -0
  758. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Set_The_Unit_After.png +0 -0
  759. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Set_The_Unit_Before.png +0 -0
  760. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Use_String_Type_Series_Data.png +0 -0
  761. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_String_Type_Series_Data.png +0 -0
  762. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
  763. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Time_Type_Series_Data.png +0 -0
  764. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
  765. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
  766. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
  767. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
  768. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
  769. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
  770. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
  771. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
  772. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
  773. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
  774. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
  775. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
  776. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
  777. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_All_Columns.png +0 -0
  778. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Auto_Expand_First_Column.png +0 -0
  779. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Auto_Expand_Last_Column.png +0 -0
  780. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Middle_Columns.png +0 -0
  781. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
  782. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
  783. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
  784. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
  785. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
  786. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
  787. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Default.png +0 -0
  788. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Extra_Small.png +0 -0
  789. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Large.png +0 -0
  790. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Monospace.png +0 -0
  791. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Proportional.png +0 -0
  792. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Small.png +0 -0
  793. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
  794. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
  795. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
  796. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_none.png +0 -0
  797. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
  798. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Mixed_Type_Column_With_Null.png +0 -0
  799. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
  800. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
  801. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
  802. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Placeholder.png +0 -0
  803. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
  804. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
  805. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
  806. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  807. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  808. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  809. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  810. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
  811. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
  812. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
  813. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Zone_Time_Formatting.png +0 -0
  814. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
  815. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
  816. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
  817. package/Area.config.js +30 -10
  818. package/Area.config.js.map +1 -1
  819. package/Area.js +42 -21
  820. package/Area.js.map +1 -1
  821. package/Bar.config.js +27 -9
  822. package/Bar.config.js.map +1 -1
  823. package/Bar.js +39 -20
  824. package/Bar.js.map +1 -1
  825. package/Bubble.config.js +27 -9
  826. package/Bubble.config.js.map +1 -1
  827. package/Bubble.js +39 -20
  828. package/Bubble.js.map +1 -1
  829. package/ChoroplethSvg.config.js +21 -18
  830. package/ChoroplethSvg.config.js.map +1 -1
  831. package/ChoroplethSvg.js +58 -54
  832. package/ChoroplethSvg.js.map +1 -1
  833. package/Column.config.js +30 -10
  834. package/Column.config.js.map +1 -1
  835. package/Column.js +42 -21
  836. package/Column.js.map +1 -1
  837. package/Ellipse.config.js +48 -51
  838. package/Ellipse.config.js.map +1 -1
  839. package/Ellipse.js +58 -60
  840. package/Ellipse.js.map +1 -1
  841. package/Events.config.js +8 -5
  842. package/Events.config.js.map +1 -1
  843. package/Events.js +63 -40
  844. package/Events.js.map +1 -1
  845. package/FillerGauge.config.js +13 -13
  846. package/FillerGauge.config.js.map +1 -1
  847. package/FillerGauge.js +36 -35
  848. package/FillerGauge.js.map +1 -1
  849. package/Image.config.js +2 -2
  850. package/Image.config.js.map +1 -1
  851. package/Image.js +10 -10
  852. package/Image.js.map +1 -1
  853. package/Line.config.js +30 -10
  854. package/Line.config.js.map +1 -1
  855. package/Line.js +42 -21
  856. package/Line.js.map +1 -1
  857. package/LinkGraph.config.js +50 -50
  858. package/LinkGraph.config.js.map +1 -1
  859. package/LinkGraph.js +517 -485
  860. package/LinkGraph.js.map +1 -1
  861. package/Map.config.js +338 -34
  862. package/Map.config.js.map +1 -1
  863. package/Map.js +940 -359
  864. package/Map.js.map +1 -1
  865. package/Markdown.config.js +52 -13
  866. package/Markdown.config.js.map +1 -1
  867. package/Markdown.js +147 -92
  868. package/Markdown.js.map +1 -1
  869. package/MarkerGauge.config.js +9 -9
  870. package/MarkerGauge.config.js.map +1 -1
  871. package/MarkerGauge.js +111 -111
  872. package/MarkerGauge.js.map +1 -1
  873. package/ParallelCoordinates.config.js +18 -18
  874. package/ParallelCoordinates.config.js.map +1 -1
  875. package/ParallelCoordinates.js +178 -178
  876. package/ParallelCoordinates.js.map +1 -1
  877. package/Pie.config.js +10 -16
  878. package/Pie.config.js.map +1 -1
  879. package/Pie.js +79 -85
  880. package/Pie.js.map +1 -1
  881. package/Punchcard.config.js +23 -24
  882. package/Punchcard.config.js.map +1 -1
  883. package/Punchcard.js +129 -130
  884. package/Punchcard.js.map +1 -1
  885. package/Rectangle.config.js +50 -53
  886. package/Rectangle.config.js.map +1 -1
  887. package/Rectangle.js +61 -64
  888. package/Rectangle.js.map +1 -1
  889. package/Sankey.config.js +7 -7
  890. package/Sankey.config.js.map +1 -1
  891. package/Sankey.js +49 -49
  892. package/Sankey.js.map +1 -1
  893. package/Scatter.config.js +27 -9
  894. package/Scatter.config.js.map +1 -1
  895. package/Scatter.js +47 -29
  896. package/Scatter.js.map +1 -1
  897. package/SingleValue.config.js +131 -132
  898. package/SingleValue.config.js.map +1 -1
  899. package/SingleValue.js +154 -155
  900. package/SingleValue.js.map +1 -1
  901. package/SingleValueBasic.js +2 -2
  902. package/SingleValueIcon.config.js +132 -132
  903. package/SingleValueIcon.config.js.map +1 -1
  904. package/SingleValueIcon.js +165 -165
  905. package/SingleValueIcon.js.map +1 -1
  906. package/SingleValueRadial.config.js +84 -52
  907. package/SingleValueRadial.config.js.map +1 -1
  908. package/SingleValueRadial.js +97 -63
  909. package/SingleValueRadial.js.map +1 -1
  910. package/Table.config.js +23 -23
  911. package/Table.config.js.map +1 -1
  912. package/Table.js +77 -68
  913. package/Table.js.map +1 -1
  914. package/common/withDashboardViz.js +2 -2
  915. package/loki.config.js +1 -0
  916. package/package.json +11 -11
  917. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields_with_Highlight.png +0 -0
  918. package/.loki/reference/chrome_docker_Visualizations_Events_Events_With_Options.png +0 -0
  919. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Opacities_scaled_to_be_less_than_max_of_0_8.png +0 -0
  920. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_With_additional_fields.png +0 -0
  921. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  922. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
package/Map.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///./src/Map/PureMap/MarkerWrapper.tsx","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"chroma-js\"","webpack:///external \"maplibre-gl\"","webpack:///./src/Map/PureMap/BubbleLayer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///external \"lodash\"","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:///external \"@splunk/moment\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/Map/Map.tsx","webpack:///./src/Map/PureMap/PureMap.tsx","webpack:///./src/common/interfaces/DataSource.ts","webpack:///external \"@splunk/visualization-context/MapContext\"","webpack:///./src/Map/PureMap/PureMapContainer.tsx","webpack:////builds/devplat/vision/node_modules/maplibre-gl/dist/maplibre-gl.css","webpack:///./src/Map/PureMap/ClusterLayer.tsx","webpack:///./src/Map/PureMap/Tooltip.tsx","webpack:///./src/Map/PureMap/MarkerLayer.tsx","webpack:///./src/Map/PureMap/ChoroplethLayer.tsx","webpack:///./src/Map/config.ts","webpack:///./src/common/utils/mapUtils.ts","webpack:///external \"styled-components\"","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/themes\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"d3-scale\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/Map/PureMap/MapUtils.ts","webpack:///external \"@splunk/visualization-encoding/utils/types\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-encoding/utils/dsl\""],"names":[],"mappings":"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","file":"Map.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 = 388);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","import type { Map } from 'maplibre-gl';\nimport { Marker } from 'maplibre-gl';\nimport * as React from 'react';\nimport type { TooltipProps } from './Tooltip';\nimport Tooltip from './Tooltip';\n\nexport interface MarkerWrapperProps extends React.HTMLAttributes<HTMLDivElement> {\n latitude: number;\n longitude: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n isChoroplethTooltipOpen?: boolean;\n}\n\nconst MarkerWrapper = ({\n longitude,\n latitude,\n areaId,\n areaValue,\n additionalFields = [],\n map,\n isChoroplethTooltipOpen,\n children,\n ...otherProps\n}: MarkerWrapperProps): JSX.Element => {\n const container = React.useRef<HTMLDivElement>();\n const marker = React.useRef<Marker>();\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n\n const isChoroplethTooltip = React.useCallback(() => isChoroplethTooltipOpen !== undefined, [\n isChoroplethTooltipOpen,\n ]);\n\n const openTooltip = React.useCallback(() => setTooltipOpenStatus(true), []);\n const closeTooltip = React.useCallback(() => setTooltipOpenStatus(false), []);\n\n const cleanupMarker = React.useCallback(() => {\n if (marker.current) {\n marker.current.remove();\n marker.current = undefined;\n }\n }, []);\n\n React.useEffect(() => {\n try {\n if (marker.current) {\n marker.current.setLngLat([longitude, latitude]);\n } else {\n marker.current = new Marker(container.current);\n marker.current.setLngLat([longitude, latitude]);\n marker.current.addTo(map.current);\n }\n } catch (error) {\n console.error(error);\n cleanupMarker();\n }\n }, [latitude, longitude, map]);\n\n React.useEffect(() => cleanupMarker, []);\n\n return (\n <div style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}>\n <div\n style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}\n ref={container}\n data-test=\"map-marker\"\n onMouseOver={openTooltip}\n onMouseLeave={closeTooltip}\n onFocus={openTooltip}\n onBlur={closeTooltip}\n {...otherProps}\n >\n {children}\n </div>\n\n <div>\n <Tooltip\n open={isChoroplethTooltip() ? isChoroplethTooltipOpen : isTooltipOpen}\n anchor={container.current}\n latitude={isChoroplethTooltip() ? null : latitude}\n longitude={isChoroplethTooltip() ? null : longitude}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields}\n />\n </div>\n </div>\n );\n};\n\nexport default MarkerWrapper;\n","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\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={__VISION_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","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"chroma-js\");","module.exports = require(\"maplibre-gl\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport type { Map } from 'maplibre-gl';\nimport { sum } from 'lodash';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport {\n bakeBubbleData,\n BubbleLayerType,\n DEFAULT_SERIES_COLORS,\n DEFAULT_RESULT_LIMIT,\n DEFAULT_CLUSTER_COLOR,\n getStaticColors,\n matchBubbleSize,\n} from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nexport const GEO_BOUND_PREFIX = '_geo_bounds_';\nexport interface PieSegmentProps {\n start: number;\n end: number;\n radius: number;\n color: string;\n themeColor: string;\n segmentMetadata?: { name: string; value: number; color: string };\n handleBubbleClick?: (e: Event, name: string, count: number) => void;\n}\n\nexport const PieSegment = React.memo(\n ({\n start,\n end,\n radius,\n color,\n themeColor,\n segmentMetadata,\n handleBubbleClick,\n }: PieSegmentProps): JSX.Element => {\n const { name, value } = segmentMetadata ?? {};\n const handleSegmentClick = React.useCallback(\n e => {\n handleBubbleClick(e, name, value);\n },\n [name, value, handleBubbleClick]\n );\n\n if (end - start === 1) {\n return (\n <circle\n onClick={handleSegmentClick}\n cx={radius}\n cy={radius}\n r={radius}\n fill={color}\n fillOpacity={0.5}\n strokeWidth={1.5}\n stroke={color}\n />\n );\n }\n const a0 = 2 * Math.PI * (start - 0.25);\n const a1 = 2 * Math.PI * (end - 0.25);\n const x0 = Math.cos(a0);\n const y0 = Math.sin(a0);\n const x1 = Math.cos(a1);\n const y1 = Math.sin(a1);\n const arc = end - start > 0.5 ? 1 : 0;\n\n return (\n <path\n onClick={handleSegmentClick}\n d={`M ${radius} ${radius} L ${radius + radius * x0} ${\n radius + radius * y0\n } A ${radius} ${radius} 0 ${arc} 1 ${radius + radius * x1} ${\n radius + radius * y1\n } L ${radius} ${radius} A 0 0 0 ${arc} 0 ${radius} ${radius}`}\n fill={color}\n fillOpacity={0.8}\n stroke={themeColor}\n strokeWidth={2}\n strokeOpacity={0.3}\n />\n );\n }\n);\n\nPieSegment.displayName = 'MapBubblePieSegment';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n cursor: pointer;\n`;\n\nexport interface BubbleProps {\n originalValues: number[];\n valueRange: number[];\n colors: string[];\n themeColor: string;\n isPie: boolean;\n latitude: number;\n longitude: number;\n bubbleSize: Required<TooltipProps['additionalFields'][number] & { value: number }>[];\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleMapClick?: any;\n}\n\nexport const Bubble = React.memo(\n ({\n originalValues,\n valueRange,\n colors,\n themeColor,\n isPie,\n latitude,\n longitude,\n bubbleSize,\n additionalFields = [],\n map,\n handleMapClick,\n }: BubbleProps): JSX.Element => {\n const onBubbleClick = React.useCallback(\n (e, name, value) => {\n handleMapClick(e, name, value);\n e.stopPropagation();\n },\n [bubbleSize]\n );\n\n const bubble = React.useMemo(() => {\n const allZeros = originalValues.every(v => v === 0);\n if (allZeros || !originalValues.length) {\n return null;\n }\n // sanitize values\n const values = originalValues.map(v => (v > 0 ? v : 0));\n\n // compute offsets for pie segments\n const offsets = [];\n let total = 0;\n values.forEach(count => {\n offsets.push(total);\n total += count;\n });\n\n const radius = matchBubbleSize(valueRange, total);\n const width = radius * 2;\n return (\n <svg width={width} height={width} viewBox={`-3 -3 ${width + 6} ${width + 6}`}>\n {isPie ? (\n <circle\n cx={radius}\n cy={radius}\n r={radius}\n fill=\"none\"\n strokeWidth={2}\n stroke={themeColor}\n strokeOpacity={0.3}\n />\n ) : null}\n {values.map((v, i) => (\n <PieSegment\n key={String(i)}\n start={offsets[i] / total}\n end={(offsets[i] + v) / total}\n radius={radius}\n color={colors[i]}\n themeColor={themeColor}\n segmentMetadata={bubbleSize[i]}\n handleBubbleClick={onBubbleClick}\n />\n ))}\n </svg>\n );\n }, [colors, isPie, originalValues, themeColor, valueRange]);\n\n if (!bubble) {\n return null;\n }\n\n return (\n <StyledMarkerWrapper\n longitude={longitude}\n latitude={latitude}\n additionalFields={[...bubbleSize, ...additionalFields]}\n map={map}\n data-test-type=\"bubble\"\n >\n {bubble}\n </StyledMarkerWrapper>\n );\n }\n);\nBubble.displayName = 'MapBubble';\n\nexport interface BubbleLayerProps {\n bubbleLayer: BubbleLayerType;\n themeColorScheme: string;\n zoom: number;\n map: React.MutableRefObject<Map>;\n onMapClick?: any;\n}\n\nconst BubbleLayer = (props: BubbleLayerProps): JSX.Element => {\n const { bubbleLayer, themeColorScheme, map, zoom, onMapClick } = props;\n bubbleLayer.seriesColors = bubbleLayer.seriesColors || DEFAULT_SERIES_COLORS;\n bubbleLayer.bubbleSize = bubbleLayer.bubbleSize || [];\n const bakedData = React.useMemo(() => bakeBubbleData(bubbleLayer), [bubbleLayer]);\n const staticColors = React.useMemo(\n () => getStaticColors(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors),\n [bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors]\n );\n const { data = [], dataRange = [], resultLimit, bubbleSizeFields, isPie } = bakedData ?? {};\n const { additionalTooltipFields = [] } = bubbleLayer;\n const roundedZoom = Math.round(zoom);\n const themeColor = themeColorScheme === 'light' ? '#ffffff' : '#1a1c20';\n const dynamicColors = bubbleLayer.dataColors;\n\n // filter data for the current zoom level and sort base on values\n const dataToRender = React.useMemo(\n () =>\n data\n .reduce((acc, datum, i) => {\n if (datum.zoom === roundedZoom) {\n acc.push({ data: datum, idx: i });\n }\n return acc;\n }, [])\n .slice(0, resultLimit || DEFAULT_RESULT_LIMIT)\n .sort((a, b) => sum(b.data.values) - sum(a.data.values)),\n [data, resultLimit, roundedZoom]\n );\n\n const handleMapClick = React.useCallback(\n (e, name, value, i) => {\n // retrieve metadata from the appropriate datum, indexed by i\n const metadata = dataToRender[i]?.data?.metadata ?? {};\n const payload = Object.keys(metadata).reduce(\n (acc, curr) => {\n const key = `row.${curr}.value`;\n const val = String(metadata[curr]);\n return { ...acc, [key]: val };\n },\n { name, value: String(value) }\n );\n\n onMapClick({ e, payload });\n },\n [dataToRender]\n );\n\n return (\n <>\n {dataToRender.map((datum, i) => {\n const colors = dynamicColors\n ? [\n dataToRender.map(obj =>\n isColor(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : DEFAULT_CLUSTER_COLOR\n )[i],\n ]\n : staticColors;\n\n const [longitude, latitude] = datum.data.coordinates;\n const bubbleSize = datum.data.values.map((value, index) => ({\n name: bubbleSizeFields[index],\n value,\n color: colors[index],\n }));\n\n const additionalFields = bubbleLayer.metadata\n ? additionalTooltipFields.map(field => ({\n name: field,\n value: datum.data.metadata[field],\n }))\n : [];\n\n return (\n <Bubble\n key={String(i)}\n originalValues={datum.data.values}\n valueRange={dataRange}\n colors={colors}\n themeColor={themeColor}\n isPie={isPie}\n longitude={longitude}\n latitude={latitude}\n bubbleSize={bubbleSize}\n additionalFields={additionalFields}\n map={map}\n handleMapClick={(e, name, value) => handleMapClick(e, name, value, i)}\n />\n );\n })}\n </>\n );\n};\n\nexport default BubbleLayer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\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 * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\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 enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\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 getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","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 iconColor?: 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 iconColor: 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, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\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","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","module.exports = require(\"lodash\");","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';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\n\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\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 {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = 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 const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\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: deepMergeWithArrayPrimitiveOverrides({}, 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 }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n ]);\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(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\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\");","module.exports = require(\"@splunk/moment\");","/* 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","/* eslint-disable no-sequences */\nimport * as React from 'react';\nimport { sanitizeArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport PureMap from './PureMap/PureMap';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { columnsNullToZeros } from '../common/utils/mapUtils';\nimport { GEO_BOUND_PREFIX } from './PureMap/BubbleLayer';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\nconst formatLayer = (l, dataFields, dataSourceData, transformedData) => {\n // add key `geobin` to the layer object if the data is returned from geostats commands\n // to distinguish geostats commands from table commands\n const geobinIdx = dataFields.indexOf('geobin');\n const layer = l;\n\n if (geobinIdx > -1) {\n layer.geobin = dataSourceData.columns[geobinIdx];\n }\n // similarly add key `geom` to layer object for choropleths\n const geomIdx = dataFields.indexOf('geom');\n if (geomIdx > -1) {\n layer.geom = dataSourceData.columns[geomIdx].map(geomItem => {\n return typeof geomItem === 'string' ? JSON.parse(geomItem) : geomItem;\n });\n }\n // Sanitize colors within layers\n if (Object.prototype.hasOwnProperty.call(layer, 'seriesColors')) {\n layer.seriesColors = Array.isArray(layer.seriesColors)\n ? sanitizeArrayOfColors(layer.seriesColors)\n : undefined;\n }\n if (Object.prototype.hasOwnProperty.call(layer, 'dataColors')) {\n layer.dataColors = Array.isArray(layer.dataColors)\n ? sanitizeArrayOfColors(layer.dataColors)\n : undefined;\n }\n layer.metadata = transformedData;\n};\n\nexport const computeVizProps = (props: {\n themeFunc: any;\n theme: any;\n dataSources: any;\n layers: any;\n onOptionsChange?: any;\n}): any => {\n const { themeFunc, theme, layers, dataSources, onOptionsChange } = props;\n const themeColorVariables = ['controlBackgroundColor', 'controlForegroundColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n // Markers use different icons, Bubbles has different styles for light and dark theme\n // this prop is passed for that\n const themeColorScheme = theme?.splunkThemeV1 ? theme?.splunkThemeV1.colorScheme : 'dark';\n\n const dataSourceData = dataSources?.primary?.data ?? {};\n // transforms data structure into array of objects to allow for indexing metadata at layer level\n // TODO: explore any potential changes when multiple layers are supported\n const transformedData = convertToArrOfObjects(dataSourceData.columns, dataSourceData.fields);\n\n const dataFields = (dataSourceData.fields ?? []).map(field =>\n typeof field === 'string' ? field : field.name\n );\n\n layers?.forEach(l => formatLayer(l, dataFields, dataSourceData, transformedData));\n\n return { ...themeColors, themeColorScheme, ...layers, onOptionsChange };\n};\n\nconst withTooltipFields = Viz => {\n const VizWithTooltipFields = ({ dataSources, options, ...otherProps }): JSX.Element => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} options={options} />;\n }\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]) {\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n mergedOptions.layers[0].bubbleSizeFields = getFieldsFromDSL(\n mergedOptions.layers[0].bubbleSize ?? mergedOptions.layers[0].bubbleSize,\n dataSources\n );\n }\n const { fields } = dataSources.primary.data;\n if (\n Array.isArray(mergedOptions.layers[0].additionalTooltipFields) &&\n Array.isArray(fields) &&\n fields.length\n ) {\n const { bubbleSizeFields = [] } = mergedOptions.layers[0];\n mergedOptions.layers[0].additionalTooltipFields = mergedOptions.layers[0].additionalTooltipFields.filter(\n (field: string) =>\n (typeof fields[0] === 'string'\n ? fields.includes(field)\n : fields.map((f: { name: string }) => f.name).includes(field)) &&\n !bubbleSizeFields.includes(field)\n );\n }\n }\n return <Viz dataSources={dataSources} options={mergedOptions} {...otherProps} />;\n };\n VizWithTooltipFields.propTypes = Viz.propTypes;\n VizWithTooltipFields.defaultProps = Viz.defaultProps;\n VizWithTooltipFields.config = Viz.config;\n return VizWithTooltipFields;\n};\n\n// HOC for stripping the internal fields for Maps\nconst withoutInternalFields = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithoutInternalFields = ({ dataSources, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} />;\n }\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = [];\n let newFields = [];\n if (fields && columns && fields.length === columns.length) {\n // computed sorted index for removal\n const indicesToRemove = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (field.startsWith('_') && !field.startsWith(GEO_BOUND_PREFIX)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n newFields = fields.filter((d, i) => !indicesToRemove.has(i));\n newColumns = columns.filter((d, i) => !indicesToRemove.has(i));\n }\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n fields: newFields,\n },\n },\n };\n return <Viz dataSources={modifiedDatasources} {...otherProps} />;\n };\n VizWithoutInternalFields.propTypes = Viz.propTypes;\n VizWithoutInternalFields.defaultProps = Viz.defaultProps;\n VizWithoutInternalFields.config = Viz.config;\n return VizWithoutInternalFields;\n};\n\n// HOC for updating all null values in data columns to zeros\n// excluding 'latitude', 'longitude' and 'geobin'\nconst withNullToZeros = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithColumnsNullToZeros = ({ dataSources, options, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz options={options} {...otherProps} />;\n }\n const modifiedDatasources = columnsNullToZeros(config, dataSources, options);\n return <Viz dataSources={modifiedDatasources} options={options} {...otherProps} />;\n };\n VizWithColumnsNullToZeros.propTypes = Viz.propTypes;\n VizWithColumnsNullToZeros.defaultProps = Viz.defaultProps;\n VizWithColumnsNullToZeros.config = Viz.config;\n return VizWithColumnsNullToZeros;\n};\n\nexport function useIconPlaceholder(dataSources: { [name: string]: DataSource }, loading: boolean): boolean {\n return loading;\n}\n\nconst Map = withoutInternalFields(\n withTooltipFields(\n withNullToZeros(\n withDashboardViz({\n ReactViz: PureMap,\n vizConfig: config,\n computeVizProps,\n disableEditModeCover: true,\n useIconPlaceholder,\n })\n )\n )\n);\nconst { themes } = config;\nexport default Map;\nexport { themes, config, PureMap };\n","import * as React from 'react';\nimport { omit, noop } from 'lodash';\nimport { useRef, useEffect, useCallback, useContext, useMemo } from 'react';\nimport * as T from 'prop-types';\nimport * as chroma from 'chroma-js';\nimport { Map, NavigationControl, ScaleControl } from 'maplibre-gl';\nimport type { StyleSpecification } from 'maplibre-gl';\nimport MapContext from '@splunk/visualization-context/MapContext';\nimport type { MapContextInterface } from '@splunk/visualization-context/MapContext';\nimport { VizProps } from '../../common/interfaces/VizProps';\nimport PureMapContainer from './PureMapContainer';\nimport {\n getTilePreset,\n getMapStyle,\n getZoomConstraintsFromTileConfig,\n MAP_STYLE_VERSION_NUMBER,\n ClusterLayerType,\n LayerType,\n MAX_BUBBLE_RADIUS,\n isValidLatLon,\n MAX_LATITUDE,\n getGlobalLayerBoundaries,\n LAYER_TYPE,\n compareBaseStyles,\n} from './MapUtils';\nimport ClusterLayer from './ClusterLayer';\nimport ChoroplethLayer from './ChoroplethLayer';\n\nexport const DEFAULT_CENTER: [number, number] = [0, 0];\nexport const DEFAULT_CONTROL_BACKGROUND_COLOR = '#2b3033';\nexport const DEFAULT_CONTROL_FOREGROUND_COLOR = '#B5B5B5';\nexport const DEFAULT_SCALE_UNIT = 'imperial';\nexport const DEFAULT_SHOW_SCALE = true;\nexport const DEFAULT_ZOOM = 0;\ninterface PureMapProps extends VizProps {\n backgroundColor: string;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: 'vector' | 'raster';\n center?: [number, number];\n controlBackgroundColor?: string;\n controlForegroundColor?: string;\n layers: LayerType[];\n scaleUnit?: 'imperial' | 'metric';\n showScale?: boolean;\n themeColorScheme?: string;\n zoom?: number;\n onMapLoad?: () => void;\n onMapClick?: ({ e, payload }) => void;\n onOptionsChange?: (options) => void;\n}\n\nexport interface HexColorObj {\n color: string;\n opacity: number;\n}\n\n// convert rgb/rgba/hex color to encoded color & opacity for SVG strings\nexport const formatColor = (color: string): HexColorObj => {\n const chromaColor = chroma(color);\n return {\n color: chroma(chromaColor.rgb()).hex().replace('#', '%23'),\n opacity: chromaColor.alpha(),\n };\n};\n\nPureMapContainer.displayName = 'PureMapContainer';\n\nconst PureMap = (props: PureMapProps): any => {\n const {\n width,\n height,\n backgroundColor,\n baseLayerTileServer,\n baseLayerTileServerType,\n center,\n controlBackgroundColor,\n controlForegroundColor,\n layers = [],\n scaleUnit,\n showScale,\n themeColorScheme,\n zoom,\n onMapLoad,\n onMapClick,\n onOptionsChange,\n mode,\n } = props;\n const { defaultTileConfig, customTileConfig } = useContext<MapContextInterface>(MapContext);\n const basemapContainer = useRef<HTMLDivElement>(null);\n const map = useRef<Map>(null);\n const scaleControl = useRef<ScaleControl>(null);\n const zoomControl = useRef<NavigationControl>(null);\n\n const { tilePreset, defaultTileLight, defaultTileDark } = useMemo(\n () => getTilePreset({ defaultTileConfig, customTileConfig }),\n [defaultTileConfig, customTileConfig]\n );\n\n const [currentZoomLevel, setCurrentZoomLevel] = React.useState<number>(zoom ?? DEFAULT_ZOOM);\n const [isMapLoaded, setMapIsLoaded] = React.useState<boolean>(false);\n const [isThemeChanged, setIsThemeChanged] = React.useState<boolean>(false);\n\n // Assign default center when no center is defined\n const lngLatCenter = useMemo(() => {\n if (!isValidLatLon(center)) {\n return DEFAULT_CENTER as [number, number];\n }\n return [center[1], center[0]] as [number, number];\n }, [center]);\n\n // TODO: take out zoomLevel to use zoom instead (set prop zoom = DEFAULT_ZOOM)\n // Assign default zoom when no zoom is defined\n const zoomLevel = useMemo(() => {\n if (zoom === undefined) {\n return DEFAULT_ZOOM;\n }\n return zoom;\n }, [zoom]);\n\n const setIsThemeChangedCallback = (isMyThemeChanged: boolean) => {\n setIsThemeChanged(isMyThemeChanged);\n };\n\n const onOptionsChangeProxy = e => {\n if (mode === 'edit') {\n onOptionsChange(e);\n }\n };\n\n const initializeMap = useCallback(\n mapStyle => {\n const fitMapToContent = () => {\n const lngLatBounds = getGlobalLayerBoundaries([layers[0]]);\n map.current.fitBounds(lngLatBounds, {\n padding: MAX_BUBBLE_RADIUS + 5,\n animate: false,\n });\n };\n\n map.current = new Map({\n container: basemapContainer.current,\n preserveDrawingBuffer: true,\n style: mapStyle,\n center: lngLatCenter,\n zoom: zoomLevel,\n ...getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer),\n });\n // Fired immediately after all necessary resources have been downloaded\n // and the first visually complete rendering of the map has occurred.\n map.current.on('load', () => {\n if (layers?.length > 0 && center === undefined && zoom === undefined) {\n fitMapToContent();\n }\n setMapIsLoaded(true);\n // TODO :- Temp timeout added for onMapLoad event to avoid flaky screenshots caused by\n // https://maplibre.org/maplibre-gl-js-docs/api/map/#map#fitbounds. Need alternate approach to handle the same.\n setTimeout(() => onMapLoad(), 500);\n });\n\n // register event listener - drag\n map.current.on('dragend', () => {\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng] });\n });\n\n // register event listener - zoom\n map.current.on('zoomend', () => {\n setCurrentZoomLevel(map.current.getZoom());\n // when zooming with mouse/track pad,\n // zooming centers at the cursor position, need to update center as well\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng], zoom: map.current.getZoom() });\n });\n\n // add zoom control\n zoomControl.current = new NavigationControl({ showCompass: false });\n map.current.addControl(zoomControl.current, 'top-left');\n },\n [lngLatCenter, zoomLevel, layers?.length]\n );\n\n const initializeScale = useCallback(() => {\n scaleControl.current = new ScaleControl({\n maxWidth: 70,\n unit: scaleUnit,\n });\n map.current.addControl(scaleControl.current);\n }, [scaleUnit]);\n\n const updateScale = useCallback(() => {\n if (showScale) {\n scaleControl?.current?.setUnit(scaleUnit);\n }\n }, [scaleUnit, showScale]);\n\n useEffect(() => {\n if (map.current) {\n map.current.resize();\n }\n }, [width, height]);\n\n useEffect(() => {\n // do not render when defaultTileConfig, customTileConfig and tileset are not configured\n if (Object.keys(tilePreset).length === 0 && (!baseLayerTileServer || !baseLayerTileServerType)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Map Tile Server configuration is missing or invalid. Please provide a valid configuration'\n );\n return;\n }\n\n const mapStyle = getMapStyle({\n baseLayerTileServer,\n baseLayerTileServerType,\n tilePreset,\n colorScheme: themeColorScheme,\n defaultTileLight,\n defaultTileDark,\n });\n\n mapStyle.version = MAP_STYLE_VERSION_NUMBER;\n\n // If the map has already been initialized, we update the styles\n if (map.current) {\n const curr = map.current.getStyle();\n const next = omit(mapStyle, ['theme', 'name', 'key']);\n\n // In dashboard studio this setStyle function is triggered by zoom changes as well\n // Since setStyle will reset all style layers on the map including choropleth,\n // we ONLY want to this to be called when there are style changes\n if (!compareBaseStyles(curr, next)) {\n // Refer to https://maplibre.org/maplibre-gl-js-docs/api/map/#setstyle-example for options.diff (default is true)\n map.current.setStyle(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n setIsThemeChanged(true);\n }\n const { minZoom, maxZoom } = getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer);\n map.current.setMinZoom(minZoom);\n map.current.setMaxZoom(maxZoom);\n updateScale();\n } else {\n // initialize the map only once with a constructed style from user configured options\n // or default configs from the map context\n initializeMap(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n initializeScale();\n }\n }, [\n tilePreset,\n initializeMap,\n initializeScale,\n updateScale,\n defaultTileLight,\n defaultTileDark,\n baseLayerTileServer,\n baseLayerTileServerType,\n themeColorScheme,\n ]);\n\n useEffect(() => {\n if (map.current) {\n map.current.flyTo({\n center: lngLatCenter,\n zoom: zoomLevel,\n });\n }\n }, [lngLatCenter, zoomLevel]);\n\n useEffect(\n () => () => {\n if (map.current) {\n map.current.remove();\n }\n },\n []\n );\n\n const [layer] = layers;\n\n return (\n <>\n <PureMapContainer\n className=\"puremap\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n controlBackgroundColor={controlBackgroundColor}\n controlForegroundColor={controlForegroundColor}\n controlIconColorEncoded={formatColor(controlForegroundColor)}\n ref={basemapContainer}\n showScale={showScale}\n >\n {isMapLoaded &&\n layer &&\n (layer.type === LAYER_TYPE.Bubble || layer.type === LAYER_TYPE.Marker) && (\n <ClusterLayer\n clusterLayer={layer as ClusterLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={currentZoomLevel}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && (\n <ChoroplethLayer\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n </PureMapContainer>\n </>\n );\n};\n\nexport const isLatLng = (props: PureMapProps, propName: string, componentName: string): Error => {\n if (!props[propName]) {\n return null;\n }\n const latAbs = Math.abs(props[propName][0]);\n const lonAbs = Math.abs(props[propName][1]);\n const latlon = props[propName];\n if (latAbs > MAX_LATITUDE && lonAbs <= MAX_LATITUDE) {\n throw new Error(`${componentName} ${propName} may have reversed [lat, lon] ranges.`);\n }\n if (!isValidLatLon(latlon)) {\n throw new Error(`${componentName} ${propName} incorrect [lat, lon] ranges.`);\n }\n return null;\n};\n\nPureMap.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n baseLayerTileServer: T.string,\n baseLayerTileServerType: T.string,\n center: isLatLng,\n controlBackgroundColor: T.string,\n controlForegroundColor: T.string,\n layers: T.arrayOf(\n T.shape({\n type: T.string,\n latitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n longitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n label: T.string,\n showInLegend: T.bool,\n dataColors: T.oneOfType([T.string, T.arrayOf(T.string)]),\n seriesColors: T.arrayOf(T.string),\n additionalTooltipFields: T.arrayOf(T.string),\n resultLimit: T.number,\n })\n ),\n scaleUnit: T.string,\n showScale: T.bool,\n themeColorScheme: T.string,\n zoom: T.number,\n onMapLoad: T.func,\n onMapClick: T.func,\n onOptionsChange: T.func,\n};\n\nPureMap.defaultProps = {\n mode: 'view',\n width: 800,\n height: 500,\n backgroundColor: '#0b0c0e',\n controlBackgroundColor: DEFAULT_CONTROL_BACKGROUND_COLOR,\n controlForegroundColor: DEFAULT_CONTROL_FOREGROUND_COLOR,\n scaleUnit: DEFAULT_SCALE_UNIT,\n showScale: DEFAULT_SHOW_SCALE,\n layers: [],\n themeColorScheme: 'dark',\n onMapLoad: noop,\n onMapClick: noop,\n onOptionsChange: noop,\n};\n\nexport default PureMap;\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\nexport interface 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","module.exports = require(\"@splunk/visualization-context/MapContext\");","import styled from 'styled-components';\nimport { pick } from 'lodash';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport css from '!!raw-loader!maplibre-gl/dist/maplibre-gl.css';\nimport { HexColorObj } from './PureMap';\n\nconst PureMapContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n controlBackgroundColor: string;\n controlForegroundColor: string;\n controlIconColorEncoded: HexColorObj;\n showScale: boolean;\n}>`\n ${css}\n overflow: hidden;\n position: relative;\n z-index: 0;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n\n // overwrite maplibregl zoom control styles\n .maplibregl-ctrl-top-left {\n position: absolute;\n top: 12px;\n left: 16px;\n .maplibregl-ctrl-group {\n width: 40px !important;\n height: 87px !important;\n border-radius: 4px;\n margin: 8px 0px;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.64), 0px 11px 18px rgba(0, 0, 0, 0.32),\n 0px 3px 6px rgba(0, 0, 0, 0.3);\n & button {\n width: 40px;\n height: 43px;\n border-top: 0;\n }\n .mapboxgl-ctrl-zoom-in .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1C9 0.447715 8.55229 0 8 0C7.44772 0 7 0.447715 7 1V7H1C0.447715 7 0 7.44772 0 8C0 8.55229 0.447715 9 1 9H7V15C7 15.5523 7.44772 16 8 16C8.55229 16 9 15.5523 9 15V9H15C15.5523 9 16 8.55229 16 8C16 7.44772 15.5523 7 15 7H9V1Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n\n .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"14\" height=\"3\" viewBox=\"0 0 14 3\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 1.99707C0 1.44479 0.447715 0.99707 1 0.99707H13C13.5523 0.99707 14 1.44479 14 1.99707C14 2.54936 13.5523 2.99707 13 2.99707H1C0.447715 2.99707 0 2.54936 0 1.99707Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n }\n }\n\n // overwrite maplibregl scale styles\n .maplibregl-ctrl-bottom-left {\n display: ${props => (props.showScale ? 'inline' : 'none')};\n position: absolute;\n z-index: 0;\n bottom: 16px;\n left: 12px;\n width: 86px;\n height: 29px;\n border-radius: 4px;\n margin: 0;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.13), 0px 11px 18px rgba(0, 0, 0, 0.06),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n .maplibregl-ctrl-scale {\n background-color: ${props => props.controlBackgroundColor};\n color: ${props => props.controlForegroundColor};\n border: 2px solid ${props => props.controlForegroundColor};\n border-top: 0;\n border-left: 0;\n border-right: 0;\n padding: 0;\n margin: 6px 8px 8px 8px;\n line-height: 13px;\n letter-spacing: 0.02em;\n font-family: sans-serif;\n font-size: 10px;\n }\n }\n`;\n\nexport default PureMapContainer;\n","export default \".mapboxgl-map,.maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas,.maplibregl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:fullscreen,.maplibregl-map:fullscreen{height:100%;width:100%}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass,.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer,.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active,.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left,.maplibregl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl,.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl,.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl,.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group,.maplibregl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button,.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon,.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon,.maplibregl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl button::-moz-focus-inner,.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus,.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled,.maplibregl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.mapboxgl-ctrl button:not(:disabled):hover,.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible,.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible),.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl-group button:focus:first-child,.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:focus:last-child,.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:focus:only-child,.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%23333'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain-enabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%2333b5e5'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact,a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib,.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact,.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl-attrib a,.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover,.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-attrib-empty,.maplibregl-attrib-empty{display:none}.mapboxgl-ctrl-scale,.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.mapboxgl-popup,.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right,.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right,.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left,.maplibregl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right,.maplibregl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip,.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button,.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover,.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content,.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content,.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content,.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer,.maplibregl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *,.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer,.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer,.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.mapboxgl-marker,.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.mapboxgl-user-location-dot,.maplibregl-user-location-dot{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before,.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;background-color:#1da1f2;border-radius:50%;content:\\\"\\\";height:15px;position:absolute;width:15px}.mapboxgl-user-location-dot:after,.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale,.maplibregl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after,.maplibregl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle,.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active,.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom,.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);bottom:0;color:#fff;display:flex;font-size:1.4em;justify-content:center;left:0;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;right:0;top:0;transition:opacity 1s ease 1s}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(max-width:480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}\";","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport BubbleLayer from './BubbleLayer';\nimport MarkerLayer from './MarkerLayer';\nimport type { ClusterLayerType, BubbleLayerType, MarkerLayerType } from './MapUtils';\nimport { LAYER_TYPE } from './MapUtils';\n\ninterface ClusterLayerProps {\n clusterLayer: ClusterLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n zoom?: number;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ClusterLayer = ({\n clusterLayer,\n themeColorScheme,\n zoom,\n map,\n onMapClick,\n}: ClusterLayerProps): JSX.Element => {\n if (map?.current?.isStyleLoaded && [clusterLayer.longitude, clusterLayer.latitude].every(Array.isArray)) {\n if (clusterLayer?.type === LAYER_TYPE.Marker && !('geobin' in clusterLayer)) {\n return (\n <MarkerLayer\n markerLayer={clusterLayer as MarkerLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n onMapClick={onMapClick}\n />\n );\n }\n if (\n clusterLayer?.type === LAYER_TYPE.Bubble &&\n 'geobin' in clusterLayer &&\n 'bubbleSize' in clusterLayer\n ) {\n return (\n <BubbleLayer\n bubbleLayer={clusterLayer as BubbleLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={zoom}\n onMapClick={onMapClick}\n />\n );\n }\n }\n return null;\n};\n\nexport default ClusterLayer;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nconst StyledPopover = styled(Popover)`\n width: 250px;\n font-size: 12px;\n`;\n\nconst StyledTable = styled.table`\n margin: 2px 6px 2px 6px;\n width: calc(100% - 12px);\n`;\n\nconst StyledTitleColumn = styled.td`\n opacity: 0.85;\n`;\n\nconst StyledValueColumn = styled.td`\n text-align: right;\n`;\n\nconst StyledColorBlock = styled.div`\n background-color: ${props => props.color};\n display: inline-block;\n margin-right: 4px;\n border-radius: 2px;\n width: 6px;\n height: 11px;\n transform: translateY(1px);\n`;\n\nexport const convertDegToDMS = (decimalDegree: number, type: 'latitude' | 'longitude'): string => {\n const truncate = n => (n > 0 ? Math.floor(n) : Math.ceil(n));\n const absoluteDegree = Math.abs(decimalDegree);\n let degrees = truncate(absoluteDegree);\n let minutes = truncate((absoluteDegree - degrees) * 60);\n let seconds = Math.round((absoluteDegree - degrees - minutes / 60) * 3600);\n if (seconds === 60) {\n minutes += 1;\n seconds = 0;\n }\n if (minutes === 60) {\n degrees += 1;\n minutes = 0;\n }\n let direction: string;\n if (type === 'longitude') {\n direction = decimalDegree < 0 ? 'W' : 'E';\n } else if (type === 'latitude') {\n direction = decimalDegree < 0 ? 'S' : 'N';\n }\n return `${degrees}° ${minutes}' ${seconds}\" ${direction}`;\n};\n\nexport interface TooltipProps {\n open?: boolean;\n anchor?: HTMLElement;\n latitude?: number;\n longitude?: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: Array<{ name: string; value: number | string; color?: string }>;\n}\n// only want latitude/longitude for marker and bubble\n// omit for choropleth, and put areaid, areavalue instead\nconst Tooltip = ({\n open,\n anchor,\n latitude,\n longitude,\n areaId,\n areaValue,\n additionalFields = [],\n}: TooltipProps): JSX.Element => (\n <StyledPopover open={open} anchor={anchor} data-test=\"map-marker-tooltip\" defaultPlacement=\"above\">\n <StyledTable>\n <tbody>\n {areaId && areaValue && (\n <tr>\n <StyledTitleColumn data-test=\"area-id\">{areaId}</StyledTitleColumn>\n <StyledValueColumn data-test=\"area-value\">{areaValue}</StyledValueColumn>\n </tr>\n )}\n {latitude && (\n <tr>\n <StyledTitleColumn>{_('Latitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"latitude\">\n {convertDegToDMS(latitude, 'latitude')}\n </StyledValueColumn>\n </tr>\n )}\n {longitude && (\n <tr>\n <StyledTitleColumn>{_('Longitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"longitude\">\n {convertDegToDMS(longitude, 'longitude')}\n </StyledValueColumn>\n </tr>\n )}\n {additionalFields.map(({ name, value, color }, index) => (\n <tr key={String(index)}>\n <StyledTitleColumn data-test=\"field-title\">\n {color ? <StyledColorBlock data-test=\"field-color\" color={color} /> : null}\n {name}\n </StyledTitleColumn>\n <StyledValueColumn data-test=\"field-value\">{value}</StyledValueColumn>\n </tr>\n ))}\n </tbody>\n </StyledTable>\n </StyledPopover>\n);\n\nexport default Tooltip;\n","import styled from 'styled-components';\nimport { Map } from 'maplibre-gl';\nimport * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { noop } from 'lodash';\nimport { DEFAULT_CLUSTER_COLOR, DEFAULT_RESULT_LIMIT, DEFAULT_SERIES_COLORS } from './MapUtils';\nimport type { MarkerLayerType } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\ninterface MarkerIconProps extends React.HTMLAttributes<HTMLOrSVGElement> {\n theme: string;\n color: string;\n}\n\nexport const MarkerIcon = ({ theme, color, ...otherProps }: MarkerIconProps): JSX.Element => {\n const strokeOpacity = theme === 'light' ? 0.7 : 0.15;\n return (\n <svg width={22} height={28} fill=\"none\" {...otherProps}>\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n fill={color}\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke=\"#08090A\"\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke={color}\n strokeOpacity={strokeOpacity}\n />\n </svg>\n );\n};\n\ninterface MarkerProps {\n latitude: number;\n longitude: number;\n color: string;\n themeColorScheme: string;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleLayerClick?: (e) => void;\n}\n\nconst Marker = React.memo(\n ({\n latitude,\n longitude,\n color,\n themeColorScheme,\n map,\n additionalFields,\n handleLayerClick,\n }: MarkerProps): JSX.Element => {\n const icon = React.useMemo(\n () => <MarkerIcon color={color} theme={themeColorScheme} onClick={handleLayerClick} />,\n [color, handleLayerClick, themeColorScheme]\n );\n return (\n <StyledMarkerWrapper\n latitude={latitude}\n longitude={longitude}\n map={map}\n additionalFields={additionalFields}\n data-test-type=\"marker\"\n >\n {icon}\n </StyledMarkerWrapper>\n );\n }\n);\n\nMarker.displayName = 'MapMarker';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n width: 22px;\n height: 28px;\n cursor: pointer;\n`;\n\nexport const generateMarkerWrapperProps = (\n markerLayer: MarkerLayerType,\n onMapClick: ({ e, payload }) => void = noop\n): Omit<MarkerProps, 'themeColorScheme' | 'map'>[] => {\n const latArray = markerLayer.latitude;\n const lonArray = markerLayer.longitude;\n const isStaticColor = !markerLayer.dataColors;\n const limit = Math.min(\n latArray.length,\n lonArray.length,\n markerLayer.resultLimit ? markerLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const markerProps: ReturnType<typeof generateMarkerWrapperProps> = [];\n for (let i = 0; i < limit; i += 1) {\n const staticColor =\n markerLayer.seriesColors && isColor(markerLayer.seriesColors[0])\n ? markerLayer.seriesColors[0]\n : DEFAULT_CLUSTER_COLOR;\n const dynamicColor =\n markerLayer.dataColors && isColor(markerLayer.dataColors[i])\n ? markerLayer.dataColors[i]\n : DEFAULT_CLUSTER_COLOR;\n const color = isStaticColor ? staticColor : dynamicColor;\n const additionalFields = markerLayer.metadata\n ? markerLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: markerLayer.metadata[i][field],\n }))\n : [];\n const handleLayerClick = e => {\n const metadata = markerLayer?.metadata[i] ?? {};\n const payload = Object.keys(metadata).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n const value = String(metadata[curr]);\n return { ...acc, [key]: value };\n }, {});\n\n onMapClick({ e, payload });\n };\n markerProps.push({\n latitude: latArray[i],\n longitude: lonArray[i],\n color,\n additionalFields,\n handleLayerClick,\n });\n }\n return markerProps;\n};\n\nexport interface MarkerLayerProps {\n markerLayer: MarkerLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst MarkerLayer = (props: MarkerLayerProps): JSX.Element => {\n const { map, themeColorScheme, markerLayer, onMapClick } = props;\n markerLayer.seriesColors = markerLayer.seriesColors || DEFAULT_SERIES_COLORS;\n const markerPropsList = React.useMemo(() => generateMarkerWrapperProps(markerLayer, onMapClick), [\n markerLayer,\n onMapClick,\n ]);\n\n return (\n <>\n {markerPropsList.map((markerProps, i) => (\n <Marker key={String(i)} themeColorScheme={themeColorScheme} map={map} {...markerProps} />\n ))}\n </>\n );\n};\n\nexport default MarkerLayer;\n","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\nimport { isEqual, uniq } from 'lodash';\nimport {\n ChoroplethLayerType,\n getScaledOpacities,\n formatMetadata,\n DEFAULT_RESULT_LIMIT,\n DEFAULT_OPACITY,\n} from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nconst getShapeId = id => `shape-${id}`;\nconst getSourceId = id => `source-${id}`;\n\nexport const compareGeom = (prev: GeoJsonDataType, next: GeoJsonDataType) => {\n if (prev !== null && next !== null) {\n return prev.type === next.type && isEqual(prev.coordinates, next.coordinates);\n }\n return prev === null && next === null;\n};\n\nexport const compareChoropleth = (prevProps: ChoroplethProps, nextProps: ChoroplethProps): boolean => {\n return (\n compareGeom(prevProps.geomData, nextProps.geomData) &&\n prevProps.id === nextProps.id &&\n prevProps.map === nextProps.map &&\n prevProps.areaId === nextProps.areaId &&\n prevProps.areaValue === nextProps.areaValue &&\n prevProps.color === nextProps.color &&\n prevProps.opacity === nextProps.opacity &&\n prevProps.isThemeChanged === nextProps.isThemeChanged &&\n isEqual(prevProps.additionalFields, nextProps.additionalFields) &&\n prevProps.handleMapClick.toString() === nextProps.handleMapClick.toString()\n );\n};\n\nexport const cleanupChoropleth = (shapeId: string, sourceId: string, map: React.MutableRefObject<Map>) => {\n // catch errors where map is undefined\n let currLayer;\n let currSource;\n try {\n currLayer = map?.current?.getLayer(shapeId);\n currSource = map?.current?.getSource(sourceId);\n } catch {\n return;\n }\n if (currLayer) {\n map.current.removeLayer(shapeId);\n }\n if (currSource) {\n map.current.removeSource(sourceId);\n }\n};\n\ninterface ChoroplethProps {\n id: string;\n map: React.MutableRefObject<Map>;\n areaId: string;\n areaValue: number;\n geomData: GeoJsonDataType;\n color: string;\n opacity?: number;\n isThemeChanged: boolean;\n additionalFields?: TooltipProps['additionalFields'];\n handleMapClick?: (e) => void;\n}\n\nconst Choropleth = React.memo(\n ({\n id,\n areaId,\n areaValue,\n geomData,\n map,\n color,\n opacity,\n isThemeChanged,\n additionalFields,\n handleMapClick,\n }: ChoroplethProps): JSX.Element => {\n const sourceId = getSourceId(id);\n const shapeId = getShapeId(id);\n const validOpacity = opacity && opacity < DEFAULT_OPACITY ? opacity : DEFAULT_OPACITY;\n const formattedGeomData = {\n type: 'Feature',\n geometry: geomData,\n };\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n const [mouseLat, setmouseLat] = React.useState(0);\n const [mouseLng, setmouseLng] = React.useState(0);\n\n const openTooltip = React.useCallback(() => {\n setTooltipOpenStatus(true);\n }, []);\n\n const closeTooltip = React.useCallback(() => {\n setTooltipOpenStatus(false);\n }, []);\n\n const updateChoropleth = React.useCallback(() => {\n // Apply changes by removing the existing choropleth and creating a new one\n // instead of mutating the current\n cleanupChoropleth(shapeId, sourceId, map);\n\n // In order to set a different color and opacity to each choropleth region\n // we are creating a different layer for each region, and each layer requires a source\n map.current.addSource(sourceId, {\n type: 'geojson',\n data: formattedGeomData,\n });\n map.current.addLayer({\n id: shapeId,\n type: 'fill',\n source: sourceId,\n layout: {},\n paint: {\n 'fill-opacity': validOpacity,\n 'fill-color': color,\n },\n });\n\n map.current.on('mousemove', shapeId, e => {\n const mouseLngLat = e.lngLat;\n setmouseLat(mouseLngLat.lat);\n setmouseLng(mouseLngLat.lng);\n openTooltip();\n map.current.getCanvas().style.cursor = 'pointer'; // eslint-disable-line no-param-reassign\n });\n map.current.on('mouseleave', shapeId, () => {\n closeTooltip();\n map.current.getCanvas().style.cursor = ''; // eslint-disable-line no-param-reassign\n });\n map.current.on('click', shapeId, e => {\n handleMapClick(e);\n });\n }, [shapeId, sourceId, map, color, validOpacity, formattedGeomData]);\n\n React.useEffect(() => {\n updateChoropleth();\n }, [map, geomData, color, opacity, id]);\n\n // Clean up on unmount\n React.useEffect(() => () => cleanupChoropleth(shapeId, sourceId, map), []);\n\n if (isThemeChanged) {\n // Theme changes will reset the style layers of the entire map\n // so we need to rerender the choropleths\n updateChoropleth();\n }\n\n return (\n <MarkerWrapper\n isChoroplethTooltipOpen={isTooltipOpen}\n additionalFields={additionalFields}\n latitude={mouseLat}\n longitude={mouseLng}\n map={map}\n areaId={areaId}\n areaValue={areaValue}\n >\n {/* an invisible div used to anchor the tooltip */}\n <div data-test=\"choropleth-anchor\" style={{ padding: '24px', visibility: 'hidden' }} />\n </MarkerWrapper>\n );\n },\n compareChoropleth\n);\n\nChoropleth.displayName = 'MapChoropleth';\n\ninterface ChoroplethLayerProps {\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors) ?? [];\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n\n const limit = Math.min(\n choroplethLayer?.areaIds?.length,\n choroplethLayer?.areaValues?.length,\n choroplethLayer?.geom?.length ?? 0,\n choroplethLayer?.resultLimit ? choroplethLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const areaIdSliced = choroplethLayer?.areaIds?.slice(0, limit) ?? [];\n // generate a unique id if areaIds are not unique\n const uniqueAreaIdSliced =\n uniq(areaIdSliced).length !== areaIdSliced.length\n ? areaIdSliced.map((id, i) => `${id}${i}`)\n : areaIdSliced;\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (!map || !choroplethLayer || !choroplethLayer.geom) {\n return <></>;\n }\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n return (\n <div>\n {uniqueAreaIdSliced.map((id, i) => {\n const areaId = areaIdSliced[i];\n const areaValue = choroplethLayer.areaValues[i];\n\n return (\n <Choropleth\n key={id}\n id={id}\n geomData={choroplethLayer.geom[i]}\n map={map}\n color={colors[i]}\n opacity={scaledOpacities[i]}\n isThemeChanged={isThemeChanged}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields[i]}\n handleMapClick={e => handleMapClick(e, i)}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ChoroplethLayer;\n","import { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { LAYER_TYPE } from './PureMap/MapUtils';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify a color for the background. You might use a dataSource to apply the color. 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 center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: LAYER_TYPE.Bubble,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Marker,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Choropleth,\n areaIds: '> primary | seriesByType(\"string\")',\n areaValues: '> primary | seriesByType(\"number\")',\n dataColors: '> areaValues | gradient()',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n ],\n type: 'array',\n description:\n 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Marker,\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Choropleth,\n },\n areaIds: {\n description:\n 'Specify a dataSource series to identify each area in the choropleth map layer. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'string' },\n default: '> primary | seriesByType(\"string\")',\n },\n areaValues: {\n description:\n 'Specify a dataSource series that indicates the values for the choropleth map areas. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'number' },\n default: '> primary | seriesByType(\"number\")',\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n default: '> areaValues | gradient()',\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Bubble,\n },\n bubbleSize: {\n description:\n 'Specify the data column to encode bubble size. This applies to layers where type: \"bubble\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify the scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n // TODO: choropleth map retain old design\n // showBaseLayer: {\n // default: true,\n // type: 'boolean',\n // description: 'Specify if showing the base map.',\n // },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the scale on the bottom left.',\n },\n baseLayerTileServer: {\n type: 'string',\n description: 'Specify the URL for the set of tiles that make up the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\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 controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n};\n\nconst checkTypeIsChoropleth = options =>\n options.layers && options.layers.length && options.layers[0].type === LAYER_TYPE.Choropleth;\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data Layer Formatting'),\n layout: [\n [\n {\n label: _('Layer Type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Marker'), value: LAYER_TYPE.Marker },\n { label: _('Bubble'), value: LAYER_TYPE.Bubble },\n { label: _('Choropleth'), value: LAYER_TYPE.Choropleth },\n ],\n },\n },\n ],\n [\n {\n label: _('Region Area IDs'),\n option: 'layers[0].areaIds',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['string'],\n },\n },\n ],\n [\n {\n label: _('Values'),\n option: 'layers[0].areaValues',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['number'],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnMultiSelector',\n showEditor: ({ options }) =>\n !(\n options.layers &&\n options.layers.length &&\n (options.layers[0].type === 'marker' || options.layers[0].type === 'choropleth')\n ),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.CHOROPLETH,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { isNumber } from '@splunk/visualization-encoding/utils/types';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\n\nexport const columnsNullToZeros = (config, dataSources, options) => {\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = columns;\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n const latitudeField = getFieldsFromDSL(mergedOptions.layers[0].latitude, dataSources)[0] || '';\n const longitudeField = getFieldsFromDSL(mergedOptions.layers[0].longitude, dataSources)[0] || '';\n const excludedFields = [latitudeField, longitudeField, 'geobin'];\n const indicesToEvaluate = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (!excludedFields.includes(field)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n\n newColumns = columns.map((column, i) => {\n if (indicesToEvaluate.has(i)) {\n // sanitize value and convert string to numeric numbers\n return column.map(value => (!value || !isNumber(value) ? 0 : +value));\n }\n return column;\n });\n }\n\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n },\n },\n };\n\n return modifiedDatasources;\n};\n","module.exports = require(\"styled-components\");","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 * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\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': __VISION_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 = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <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 variables from '@splunk/themes/variables';\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 const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\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/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","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(\"@splunk/themes\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"d3-scale\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","import { forEach, sum, isNumber, min as lodashMin, max as lodashMax, get, isEqual, isObject } from 'lodash';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport { scalePow } from 'd3-scale';\nimport * as chroma from 'chroma-js';\nimport type { MapContextInterface, BaseTileConfig } from '@splunk/visualization-context/MapContext';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { isNumber as isNumberUtil } from '@splunk/visualization-encoding/utils/types';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\n\nexport const MAX_LATITUDE = 90;\nexport const MIN_LATITUDE = -90;\nexport const MAX_LONGITUDE = 180;\nexport const MIN_LONGITUDE = -180;\nexport const DEFAULT_RESULT_LIMIT = 1000;\nexport const DEFAULT_CLUSTER_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLORS = VIZ_CATEGORICAL;\n// MapLibre requires a map style specification number which is always 8\nexport const MAP_STYLE_VERSION_NUMBER = 8;\n// currently using one [min, max] value set for bubbles across all zoom levels\n// TODO: design choices on [min, max] bubble size for different zoom levels\nexport const MIN_BUBBLE_RADIUS = 7.11; // 10px\nexport const MAX_BUBBLE_RADIUS = 45.26; // 85px\nexport const DEFAULT_OPACITY = 0.8;\nconst LONGITUDE = 'longitude';\nconst LATITUDE = 'latitude';\n\nexport enum LAYER_TYPE {\n Marker = 'marker',\n Bubble = 'bubble',\n Choropleth = 'choropleth',\n}\n\ninterface GenericLayerType {\n type: string;\n latitude: number[];\n longitude: number[];\n dataColors?: string[];\n seriesColors: string[];\n additionalTooltipFields?: string[];\n resultLimit: number;\n metadata?: Array<{ [key: string]: number | string }>;\n}\n\nexport interface MarkerLayerType extends GenericLayerType {\n type: LAYER_TYPE.Marker;\n}\n\nexport interface BubbleLayerType extends GenericLayerType {\n type: LAYER_TYPE.Bubble;\n bubbleSize?: number[][] | number[];\n bubbleSizeFields: string[];\n geobin?: string[];\n}\n\ninterface BubbleLayerDatumType {\n zoom: number;\n values: number[];\n sanitizedValues: number[];\n coordinates: number[];\n}\n\nexport interface BubbleLayerDataType {\n data: BubbleLayerDatumType[];\n dataRange: number[];\n isPie: boolean;\n resultLimit: number;\n bubbleSizeFields: string[];\n}\n\nexport interface ChoroplethLayerType {\n type: LAYER_TYPE.Choropleth;\n areaIds: string[];\n areaValues: number[];\n dataColors: string[];\n additionalTooltipFields?: string[];\n geom: GeoJsonDataType[];\n resultLimit: number;\n metadata?: Array<{ [key: string]: number | string | GeoJsonDataType }>;\n}\n\n// todo(@ssahnoune) - look into this\nexport interface MapLayerClickPayloadType {\n name?: string;\n value?: string | number;\n /* cell values of all cells of clicked row with the field and value - in shape row.<field>.value */\n [key: string]: string | number;\n}\n\nexport type ClusterLayerType = BubbleLayerType | MarkerLayerType;\nexport type LayerType = ClusterLayerType | ChoroplethLayerType;\n/**\n * Construct a tile preset {key: config} by combining the default + custom tile configs\n * Also returns the default tile config for each theme - light/dark\n * @param {MapContextInterface} args\n * @param {BaseTileConfig[]} args.defaultTileConfig\n * @param {BaseTileConfig[]} args.customTileConfig\n * @returns {Object} tile preset\n */\nexport const getTilePreset = ({\n defaultTileConfig = [],\n customTileConfig = [],\n}: MapContextInterface): {\n tilePreset: Record<string, BaseTileConfig>;\n defaultTileLight: BaseTileConfig;\n defaultTileDark: BaseTileConfig;\n} => {\n const tilePreset = {};\n let defaultTileLight = {};\n let defaultTileDark = {};\n const tileConfigs = [].concat(defaultTileConfig).concat(customTileConfig);\n forEach(tileConfigs, tileConfig => {\n const key = tileConfig?.key;\n const updatedConfig = { theme: 'all', ...tileConfig, version: MAP_STYLE_VERSION_NUMBER };\n tilePreset[key] = updatedConfig;\n });\n\n if (defaultTileConfig.length > 0) {\n defaultTileLight =\n defaultTileConfig.find(config => config.theme === 'light') ??\n defaultTileConfig.find(config => config.theme === undefined);\n defaultTileDark =\n defaultTileConfig.find(config => config.theme === 'dark') ??\n defaultTileConfig.find(config => config.theme === undefined);\n }\n\n return { tilePreset, defaultTileLight, defaultTileDark };\n};\n\n/**\n * Check if baseLayerTileServer is in tilePreset and config matches current theme, if yes, return.\n * If no, construct a mapStyle with baseLayerTilerServer and baseLayerTileServerType\n * Else return default tile config based on current theme\n * @param {Object} args\n * @param {BaseTileConfig[]} args.tilePreset\n * @param {String} args.baseLayerTilerServer\n * @param {String} args.baseLayerTileServerType\n * @param {String} args.colorScheme\n * @param {BaseTileConfig} args.defaultTileDark\n * @param {BaseTileConfig} args.defaultTileLight\n * @returns {BaseTileConfig} mapStyle\n */\nexport const getMapStyle = ({\n baseLayerTileServer = '',\n baseLayerTileServerType = '',\n tilePreset = {},\n colorScheme = 'light',\n defaultTileLight = {},\n defaultTileDark = {},\n}: {\n baseLayerTileServer?: string;\n baseLayerTileServerType?: string;\n tilePreset?: Record<string, BaseTileConfig>;\n colorScheme?: string;\n defaultTileLight?: BaseTileConfig;\n defaultTileDark?: BaseTileConfig;\n}): BaseTileConfig => {\n if (\n baseLayerTileServer &&\n tilePreset[baseLayerTileServer] &&\n (tilePreset[baseLayerTileServer].theme === colorScheme ||\n tilePreset[baseLayerTileServer].theme === 'all')\n ) {\n return tilePreset[baseLayerTileServer];\n }\n\n if (baseLayerTileServer && baseLayerTileServerType) {\n let tiles = [];\n /**\n * Tile Server URLs (eg: http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png) can specify the variable {s} which refers to a subdomain\n * Subdomains are used to help with browser parallel requests per domain limitation. These subdomains are typically single letters 'a', 'b' and 'c'\n * Refer to https://leafletjs.com/SlavaUkraini/reference.html#tilelayer and https://wiki.openstreetmap.org/wiki/Tile_servers\n */\n if (baseLayerTileServer.match(/^(https?):\\/\\/{(s|S)}\\../)) {\n /**\n * sXML (Leaflet) allows users to define their own tile server URLs + list of available subdomains\n * In order to preserve this behavior during conversion to splunk.map,\n * if the variable {s} or {S} is detected, replace it with 'a', 'b' and 'c' - default values for subdomains\n * TODO: in the future, add an additional prop - baseLayerTileServerSubdomains: ['x', 'y', 'z'], default being ['a', 'b', 'c']\n */\n tiles = [\n baseLayerTileServer.replace(/{(s|S)}/, 'a'),\n baseLayerTileServer.replace(/{(s|S)}/, 'b'),\n baseLayerTileServer.replace(/{(s|S)}/, 'c'),\n ];\n } else {\n tiles = [baseLayerTileServer];\n }\n // TODO: remove hardcoded style when we allow users to pass in layer style through Viz options\n const mapStyle = {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: baseLayerTileServerType,\n tiles,\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 10,\n },\n ],\n };\n return mapStyle;\n }\n\n // if tile server is not present in the preset AND we can't construct a mapStyle, fall back on defaults\n return colorScheme === 'light' ? defaultTileLight : defaultTileDark;\n};\n\nexport interface ZoomConstraints {\n minZoom: number;\n maxZoom: number;\n}\n\nexport const getZoomConstraintsFromTileConfig = (\n tileConfig: BaseTileConfig,\n baseLayerTileServer?: string\n): ZoomConstraints => {\n const { sources, layers } = tileConfig;\n let matchedBaseLayerTileServer = false;\n // check sources for minzoom maxzoom first\n const sourceKeys = Object.keys(sources);\n for (let i = 0; i < sourceKeys.length; i += 1) {\n const { minzoom, maxzoom } = sources[sourceKeys[i]];\n if (baseLayerTileServer && sources[sourceKeys[i]].tiles.indexOf(baseLayerTileServer) !== -1) {\n matchedBaseLayerTileServer = true;\n }\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // then check layers\n for (let i = 0; i < layers.length; i += 1) {\n const { minzoom, maxzoom } = layers[i];\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // Maplibre default - would reset previous min/maxZoom\n return {\n minZoom: 0,\n maxZoom: 22,\n };\n};\n\nexport const getZoomLevelFromGeobin = (geobinStr: string): number => {\n if (!geobinStr) {\n return null;\n }\n // geostats cmds return geobin with zoom level 0-18, 0-99 in the geobinPattern covers the range\n const geobinPattern = /bin_id_zl_([0-9]{0,2})?_y_/g;\n const match = geobinPattern.exec(geobinStr);\n return (match?.length && parseInt(match[1], 10)) ?? null;\n};\n\n// Bubble colors - static\nexport const getStaticColors = (colorCount: number, colorArray: string[]): string[] => {\n if (colorCount < 0 || !colorCount) {\n return [DEFAULT_CLUSTER_COLOR];\n }\n if (!colorArray || !colorArray.length) {\n return [...Array(colorCount).keys()].map(i => DEFAULT_SERIES_COLORS[i]);\n }\n // loop through colorArray to pick the first $colorCount colors\n // start from begining again if colorCount > colorArray.length\n return [...Array(colorCount).keys()].map(i =>\n isColor(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : DEFAULT_CLUSTER_COLOR\n );\n};\n\n// Bubble size\nexport const matchBubbleSize = (dataRange: number[], data: number): any => {\n const size = scalePow().exponent(0.2).domain(dataRange).range([MIN_BUBBLE_RADIUS, MAX_BUBBLE_RADIUS])(\n data\n );\n\n if (size > MAX_BUBBLE_RADIUS) {\n return MAX_BUBBLE_RADIUS;\n }\n if (size < MIN_BUBBLE_RADIUS) {\n return MIN_BUBBLE_RADIUS;\n }\n return size;\n};\n\nexport const transposeArray = (array: number[][]): number[][] => {\n if (!array || !array.length || !array[0] || !array[0].length) {\n return [];\n }\n return array[0].map((_, i) => array.map(row => row[i]));\n};\n\n// sanitize values: update all null, undefined, or negative values to 0\nexport const sanitizeValues = (values: number[] | number[][]) => {\n // null / undefined\n if (!values) {\n return 0;\n }\n // number\n if (!Array.isArray(values)) {\n return values > 0 ? values : 0;\n }\n // array\n return values.map(arr => sanitizeValues(arr));\n};\n\nexport const bakeBubbleData = (layer: BubbleLayerType): BubbleLayerDataType => {\n if (\n !layer ||\n !layer.bubbleSize?.length ||\n !layer.geobin ||\n !layer.geobin.length ||\n !layer.latitude ||\n !layer.latitude.length ||\n !layer.longitude ||\n !layer.longitude.length\n ) {\n return null;\n }\n // if bubbleSize is passed as an array of single number array (data series)\n // e.g. [value0, value1, ...]\n // format each value as an array to unify data operations for data series and frames\n const sanitizedBubbleSize = sanitizeValues(layer.bubbleSize);\n let transposedBubbleSize: number[][];\n let transposedSanitizedBubbleSize: number[][];\n let isPie = false;\n // format array if bubbleSize is passed as an array of array (data frame)\n if (Array.isArray(layer.bubbleSize[0])) {\n // one-time array transpose,\n // e.g. from [column0data, column0data] (multi series)\n // to [[column0datum0, column1datum0], [column0datum1, column1data1], ...]\n // or e.g. from [column0data] (single series)\n // to [[column0data]]\n // for easy access of values at each geo location,\n // and min max pie size computation\n transposedBubbleSize = transposeArray(layer.bubbleSize as number[][]);\n transposedSanitizedBubbleSize = transposeArray(sanitizedBubbleSize);\n // if multiple series in the dataframe, set isPie to true\n if (layer.bubbleSize.length > 1) {\n isPie = true;\n }\n } else {\n transposedBubbleSize = layer.bubbleSize.map(n => [n]);\n transposedSanitizedBubbleSize = sanitizedBubbleSize.map(n => [n]);\n }\n if (!transposedBubbleSize || !transposedBubbleSize.length) {\n return null;\n }\n const data = layer.latitude\n .map((lat, i) => ({\n zoom: getZoomLevelFromGeobin(layer.geobin[i]),\n values: transposedBubbleSize[i],\n sanitizedValues: transposedSanitizedBubbleSize[i],\n coordinates: [layer.longitude[i], lat],\n metadata: layer.metadata ? layer.metadata[i] : {},\n }))\n .filter(d => Boolean(d.values));\n\n // compute the min/max value to encode min/max pie or bubble size\n let min = sum(transposedSanitizedBubbleSize[0]);\n let max = sum(transposedSanitizedBubbleSize[1]);\n transposedSanitizedBubbleSize.forEach(row => {\n const bubbleSize = sum(row);\n max = bubbleSize > max ? bubbleSize : max;\n min = bubbleSize < min ? bubbleSize : min;\n });\n return {\n data,\n dataRange: [min, max],\n isPie,\n resultLimit: layer.resultLimit,\n bubbleSizeFields: layer.bubbleSizeFields,\n };\n};\n\nexport const isValidLatLon = (latlon: Array<number | string>): boolean => {\n if (!latlon || !Array.isArray(latlon) || latlon.length !== 2) {\n return false;\n }\n const [lat, lon] = latlon;\n if (!isNumberUtil(lat) || !(lat >= MIN_LATITUDE && lat <= MAX_LATITUDE)) {\n return false;\n }\n if (!isNumberUtil(lon) || !(lon >= MIN_LONGITUDE && lon <= MAX_LONGITUDE)) {\n return false;\n }\n return true;\n};\n\n/**\n * Returns a list of all lat or lon coordinates used in a specified layer\n * @param {LayerType[]} layer\n * @param {string} field\n * @returns {number[]} list of lat coordinates or lon coordinates\n */\nconst getLatOrLonCoordinates = (layer: LayerType, field: string): number[] => {\n const getClusterValues = (clusterLayer: ClusterLayerType): number[] =>\n get(clusterLayer, field, []).slice(\n 0,\n clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit\n ? clusterLayer.resultLimit\n : DEFAULT_RESULT_LIMIT\n );\n\n const getChoroplethValues = (choroplethLayer: ChoroplethLayerType): number[] => {\n const slicedGeomList = choroplethLayer.geom.slice(0, choroplethLayer.resultLimit);\n const flatCoordinates = slicedGeomList.flatMap(geomObject => geomObject.coordinates.flat(2));\n return flatCoordinates.map(coord => coord[field === LONGITUDE ? 0 : 1]);\n };\n\n return layer.type === LAYER_TYPE.Choropleth ? getChoroplethValues(layer) : getClusterValues(layer);\n};\n\n/**\n * Returns the min and max LongLat pairs to determine the layer boundaries to fit all markers/bubbles\n * @param {LayerType[]} layers\n * @returns {LngLatBoundsLike}\n */\nexport const getGlobalLayerBoundaries = (layers: LayerType[]): LngLatBoundsLike => {\n const isLayerValid = (field: string): boolean =>\n layers.every(layer => layer[field] || (layer as ChoroplethLayerType).geom);\n const getDefaultMax = (field: string) => (field === LONGITUDE ? MAX_LONGITUDE : MAX_LATITUDE);\n const getDefaultMin = (field: string) => (field === LONGITUDE ? MIN_LONGITUDE : MIN_LATITUDE);\n\n if (!layers || !Array.isArray(layers) || !layers.length) {\n return null;\n }\n\n const getMin = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMin(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(x => +x);\n return lodashMin([prevVal, ...coordinatesNumArr]);\n }, getDefaultMax(field));\n };\n\n const getMax = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMax(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(Number);\n return lodashMax([prevVal, ...coordinatesNumArr]);\n }, getDefaultMin(field));\n };\n\n return [\n [getMin(LONGITUDE), getMin(LATITUDE)],\n [getMax(LONGITUDE), getMax(LATITUDE)],\n ];\n};\n\nexport const getScaledOpacities = (colors: string[]): number[] => {\n // extract opacity information from 8 digit hex codes\n const opacities = colors?.map(color =>\n color?.length === 9 ? chroma(color).alpha() ?? DEFAULT_OPACITY : DEFAULT_OPACITY\n );\n // opacity cannot be greater than 0.8, otherwise it will block map labels\n return opacities?.filter(opacity => opacity > DEFAULT_OPACITY).length > 0\n ? opacities.map(opacity => opacity * DEFAULT_OPACITY)\n : opacities;\n};\n\nexport const compareBaseStyles = (curr, next): boolean => {\n const currBaseLayer = curr?.layers?.find(layer => layer?.id === 'base-layer');\n const nextBaseLayer = next?.layers?.find(layer => layer?.id === 'base-layer');\n const currBaseSource = get(curr?.sources, (currBaseLayer?.source as string) ?? '');\n const nextBaseSource = get(next?.sources, (nextBaseLayer?.source as string) ?? '');\n\n if (!currBaseLayer || !nextBaseLayer || !currBaseSource || !nextBaseSource) {\n return false;\n }\n\n return isEqual(currBaseLayer, nextBaseLayer) && isEqual(currBaseSource, nextBaseSource);\n};\n\nexport const formatMetadata = (\n choroplethLayer: ChoroplethLayerType,\n i: number\n): { [key: string]: string } => {\n if (!choroplethLayer || !choroplethLayer.areaIds || !choroplethLayer.areaValues) return {};\n if (i >= choroplethLayer.areaIds.length) return {};\n\n const metadata = choroplethLayer.metadata ? choroplethLayer.metadata[i] : {};\n const name = choroplethLayer.areaIds[i];\n const value = choroplethLayer.areaValues[i];\n const base = { name, value: String(value) };\n\n return Object.keys(metadata).reduce((result, curr) => {\n const key = `row.${curr}.value`;\n const val = isObject(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);\n return { ...result, [key]: val };\n }, base);\n};\n","module.exports = require(\"@splunk/visualization-encoding/utils/types\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-encoding/utils/dsl\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///./src/Map/PureMap/MarkerWrapper.tsx","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"chroma-js\"","webpack:///external \"maplibre-gl\"","webpack:///./src/Map/PureMap/BubbleLayer.tsx","webpack:///./src/Map/PureMap/ChoroplethLayer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///external \"lodash\"","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:///external \"@splunk/moment\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/Map/Map.tsx","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/Map/PureMap/PureMap.tsx","webpack:///external \"@splunk/visualization-context/MapContext\"","webpack:///./src/Map/PureMap/PureMapContainer.tsx","webpack:////builds/devplat/vision/node_modules/maplibre-gl/dist/maplibre-gl.css","webpack:///./src/Map/PureMap/ClusterLayer.tsx","webpack:///./src/Map/PureMap/Tooltip.tsx","webpack:///./src/Map/PureMap/MarkerLayer.tsx","webpack:///./src/Map/PureMap/LocalChoroplethLayer.tsx","webpack:///external \"@splunk/visualization-context/GeoRegistry\"","webpack:///external \"@splunk/visualization-context/GeoJsonProvider\"","webpack:///external \"styled-components\"","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/Map/config.ts","webpack:///./src/common/utils/mapUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/themes\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Map/PureMap/MapUtils.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"d3-scale\"","webpack:///external \"@splunk/visualization-encoding/utils/types\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-encoding/utils/dsl\""],"names":[],"mappings":"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","file":"Map.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 = 389);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","import type { Map } from 'maplibre-gl';\nimport { Marker } from 'maplibre-gl';\nimport * as React from 'react';\nimport type { TooltipProps } from './Tooltip';\nimport Tooltip from './Tooltip';\n\nexport interface MarkerWrapperProps extends React.HTMLAttributes<HTMLDivElement> {\n latitude: number;\n longitude: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n isChoroplethTooltipOpen?: boolean;\n}\n\nconst MarkerWrapper = ({\n longitude,\n latitude,\n areaId,\n areaValue,\n additionalFields = [],\n map,\n isChoroplethTooltipOpen,\n children,\n ...otherProps\n}: MarkerWrapperProps): JSX.Element => {\n const container = React.useRef<HTMLDivElement>();\n const marker = React.useRef<Marker>();\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n\n const isChoroplethTooltip = React.useCallback(() => isChoroplethTooltipOpen !== undefined, [\n isChoroplethTooltipOpen,\n ]);\n\n const openTooltip = React.useCallback(() => setTooltipOpenStatus(true), []);\n const closeTooltip = React.useCallback(() => setTooltipOpenStatus(false), []);\n\n const cleanupMarker = React.useCallback(() => {\n if (marker.current) {\n marker.current.remove();\n marker.current = undefined;\n }\n }, []);\n\n React.useEffect(() => {\n try {\n if (marker.current) {\n marker.current.setLngLat([longitude, latitude]);\n } else {\n marker.current = new Marker(container.current);\n marker.current.setLngLat([longitude, latitude]);\n marker.current.addTo(map.current);\n }\n } catch (error) {\n console.error(error);\n cleanupMarker();\n }\n }, [latitude, longitude, map]);\n\n React.useEffect(() => cleanupMarker, []);\n\n return (\n <div style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}>\n <div\n style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}\n ref={container}\n data-test=\"map-marker\"\n onMouseOver={openTooltip}\n onMouseLeave={closeTooltip}\n onFocus={openTooltip}\n onBlur={closeTooltip}\n {...otherProps}\n >\n {children}\n </div>\n\n <div>\n <Tooltip\n open={isChoroplethTooltip() ? isChoroplethTooltipOpen : isTooltipOpen}\n anchor={container.current}\n latitude={isChoroplethTooltip() ? null : latitude}\n longitude={isChoroplethTooltip() ? null : longitude}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields}\n />\n </div>\n </div>\n );\n};\n\nexport default MarkerWrapper;\n","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\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={__VISION_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","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"chroma-js\");","module.exports = require(\"maplibre-gl\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport type { Map } from 'maplibre-gl';\nimport { sum } from 'lodash';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport {\n bakeBubbleData,\n BubbleLayerType,\n DEFAULT_SERIES_COLORS,\n DEFAULT_RESULT_LIMIT,\n DEFAULT_CLUSTER_COLOR,\n getStaticColors,\n matchBubbleSize,\n} from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nexport const GEO_BOUND_PREFIX = '_geo_bounds_';\nexport interface PieSegmentProps {\n start: number;\n end: number;\n radius: number;\n color: string;\n themeColor: string;\n segmentMetadata?: { name: string; value: number; color: string };\n handleBubbleClick?: (e: Event, name: string, count: number) => void;\n}\n\nexport const PieSegment = React.memo(\n ({\n start,\n end,\n radius,\n color,\n themeColor,\n segmentMetadata,\n handleBubbleClick,\n }: PieSegmentProps): JSX.Element => {\n const { name, value } = segmentMetadata ?? {};\n const handleSegmentClick = React.useCallback(\n e => {\n handleBubbleClick(e, name, value);\n },\n [name, value, handleBubbleClick]\n );\n\n if (end - start === 1) {\n return (\n <circle\n onClick={handleSegmentClick}\n cx={radius}\n cy={radius}\n r={radius}\n fill={color}\n fillOpacity={0.5}\n strokeWidth={1.5}\n stroke={color}\n />\n );\n }\n const a0 = 2 * Math.PI * (start - 0.25);\n const a1 = 2 * Math.PI * (end - 0.25);\n const x0 = Math.cos(a0);\n const y0 = Math.sin(a0);\n const x1 = Math.cos(a1);\n const y1 = Math.sin(a1);\n const arc = end - start > 0.5 ? 1 : 0;\n\n return (\n <path\n onClick={handleSegmentClick}\n d={`M ${radius} ${radius} L ${radius + radius * x0} ${\n radius + radius * y0\n } A ${radius} ${radius} 0 ${arc} 1 ${radius + radius * x1} ${\n radius + radius * y1\n } L ${radius} ${radius} A 0 0 0 ${arc} 0 ${radius} ${radius}`}\n fill={color}\n fillOpacity={0.8}\n stroke={themeColor}\n strokeWidth={2}\n strokeOpacity={0.3}\n />\n );\n }\n);\n\nPieSegment.displayName = 'MapBubblePieSegment';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n cursor: pointer;\n`;\n\nexport interface BubbleProps {\n originalValues: number[];\n valueRange: number[];\n colors: string[];\n themeColor: string;\n isPie: boolean;\n latitude: number;\n longitude: number;\n bubbleSize: Required<TooltipProps['additionalFields'][number] & { value: number }>[];\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleMapClick?: any;\n}\n\nexport const Bubble = React.memo(\n ({\n originalValues,\n valueRange,\n colors,\n themeColor,\n isPie,\n latitude,\n longitude,\n bubbleSize,\n additionalFields = [],\n map,\n handleMapClick,\n }: BubbleProps): JSX.Element => {\n const onBubbleClick = React.useCallback(\n (e, name, value) => {\n handleMapClick(e, name, value);\n e.stopPropagation();\n },\n [bubbleSize]\n );\n\n const bubble = React.useMemo(() => {\n const allZeros = originalValues.every(v => v === 0);\n if (allZeros || !originalValues.length) {\n return null;\n }\n // sanitize values\n const values = originalValues.map(v => (v > 0 ? v : 0));\n\n // compute offsets for pie segments\n const offsets = [];\n let total = 0;\n values.forEach(count => {\n offsets.push(total);\n total += count;\n });\n\n const radius = matchBubbleSize(valueRange, total);\n const width = radius * 2;\n return (\n <svg width={width} height={width} viewBox={`-3 -3 ${width + 6} ${width + 6}`}>\n {isPie ? (\n <circle\n cx={radius}\n cy={radius}\n r={radius}\n fill=\"none\"\n strokeWidth={2}\n stroke={themeColor}\n strokeOpacity={0.3}\n />\n ) : null}\n {values.map((v, i) => (\n <PieSegment\n key={String(i)}\n start={offsets[i] / total}\n end={(offsets[i] + v) / total}\n radius={radius}\n color={colors[i]}\n themeColor={themeColor}\n segmentMetadata={bubbleSize[i]}\n handleBubbleClick={onBubbleClick}\n />\n ))}\n </svg>\n );\n }, [colors, isPie, originalValues, themeColor, valueRange]);\n\n if (!bubble) {\n return null;\n }\n\n return (\n <StyledMarkerWrapper\n longitude={longitude}\n latitude={latitude}\n additionalFields={[...bubbleSize, ...additionalFields]}\n map={map}\n data-test-type=\"bubble\"\n >\n {bubble}\n </StyledMarkerWrapper>\n );\n }\n);\nBubble.displayName = 'MapBubble';\n\nexport interface BubbleLayerProps {\n bubbleLayer: BubbleLayerType;\n themeColorScheme: string;\n zoom: number;\n map: React.MutableRefObject<Map>;\n onMapClick?: any;\n}\n\nconst BubbleLayer = (props: BubbleLayerProps): JSX.Element => {\n const { bubbleLayer, themeColorScheme, map, zoom, onMapClick } = props;\n bubbleLayer.seriesColors = bubbleLayer.seriesColors || DEFAULT_SERIES_COLORS;\n bubbleLayer.bubbleSize = bubbleLayer.bubbleSize || [];\n const bakedData = React.useMemo(() => bakeBubbleData(bubbleLayer), [bubbleLayer]);\n const staticColors = React.useMemo(\n () => getStaticColors(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors),\n [bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors]\n );\n const { data = [], dataRange = [], resultLimit, bubbleSizeFields, isPie } = bakedData ?? {};\n const { additionalTooltipFields = [] } = bubbleLayer;\n const roundedZoom = Math.round(zoom);\n const themeColor = themeColorScheme === 'light' ? '#ffffff' : '#1a1c20';\n const dynamicColors = bubbleLayer.dataColors;\n\n // filter data for the current zoom level and sort base on values\n const dataToRender = React.useMemo(\n () =>\n data\n .reduce((acc, datum, i) => {\n if (datum.zoom === roundedZoom) {\n acc.push({ data: datum, idx: i });\n }\n return acc;\n }, [])\n .slice(0, resultLimit || DEFAULT_RESULT_LIMIT)\n .sort((a, b) => sum(b.data.values) - sum(a.data.values)),\n [data, resultLimit, roundedZoom]\n );\n\n const handleMapClick = React.useCallback(\n (e, name, value, i) => {\n // retrieve metadata from the appropriate datum, indexed by i\n const metadata = dataToRender[i]?.data?.metadata ?? {};\n const payload = Object.keys(metadata).reduce(\n (acc, curr) => {\n const key = `row.${curr}.value`;\n const val = String(metadata[curr]);\n return { ...acc, [key]: val };\n },\n { name, value: String(value) }\n );\n\n onMapClick({ e, payload });\n },\n [dataToRender]\n );\n\n return (\n <>\n {dataToRender.map((datum, i) => {\n const colors = dynamicColors\n ? [\n dataToRender.map(obj =>\n isColor(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : DEFAULT_CLUSTER_COLOR\n )[i],\n ]\n : staticColors;\n\n const [longitude, latitude] = datum.data.coordinates;\n const bubbleSize = datum.data.values.map((value, index) => ({\n name: bubbleSizeFields[index],\n value,\n color: colors[index],\n }));\n\n const additionalFields = bubbleLayer.metadata\n ? additionalTooltipFields.map(field => ({\n name: field,\n value: datum.data.metadata[field],\n }))\n : [];\n\n return (\n <Bubble\n key={String(i)}\n originalValues={datum.data.values}\n valueRange={dataRange}\n colors={colors}\n themeColor={themeColor}\n isPie={isPie}\n longitude={longitude}\n latitude={latitude}\n bubbleSize={bubbleSize}\n additionalFields={additionalFields}\n map={map}\n handleMapClick={(e, name, value) => handleMapClick(e, name, value, i)}\n />\n );\n })}\n </>\n );\n};\n\nexport default BubbleLayer;\n","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\nimport { isEqual, uniq } from 'lodash';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata, DEFAULT_RESULT_LIMIT } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nconst getShapeId = id => `shape-${id}`;\nconst getSourceId = id => `source-${id}`;\nconst getStrokeId = id => `stroke-${id}`;\n\nexport const compareGeom = (prev: GeoJsonDataType, next: GeoJsonDataType) => {\n if (prev !== null && next !== null) {\n return prev.type === next.type && isEqual(prev.coordinates, next.coordinates);\n }\n return prev === null && next === null;\n};\n\nexport const compareChoropleth = (prevProps: ChoroplethProps, nextProps: ChoroplethProps): boolean => {\n return (\n compareGeom(prevProps.geomData, nextProps.geomData) &&\n prevProps.id === nextProps.id &&\n prevProps.map === nextProps.map &&\n prevProps.areaId === nextProps.areaId &&\n prevProps.areaValue === nextProps.areaValue &&\n prevProps.color === nextProps.color &&\n prevProps.opacity === nextProps.opacity &&\n prevProps.strokeColor === nextProps.strokeColor &&\n prevProps.isThemeChanged === nextProps.isThemeChanged &&\n isEqual(prevProps.additionalFields, nextProps.additionalFields) &&\n prevProps.handleMapClick.toString() === nextProps.handleMapClick.toString()\n );\n};\n\nexport const cleanupChoropleth = (\n shapeId: string,\n sourceId: string,\n strokeId: string,\n map: React.MutableRefObject<Map>\n) => {\n // catch errors where map is undefined\n let currLayer;\n let currSource;\n let currStrokeLayer;\n try {\n currLayer = map?.current?.getLayer(shapeId);\n currStrokeLayer = map?.current?.getLayer(strokeId);\n currSource = map?.current?.getSource(sourceId);\n } catch {\n return;\n }\n if (currLayer) {\n map.current.removeLayer(shapeId);\n }\n if (currStrokeLayer) {\n map.current.removeLayer(strokeId);\n }\n if (currSource) {\n map.current.removeSource(sourceId);\n }\n};\n\ninterface ChoroplethProps {\n id: string;\n map: React.MutableRefObject<Map>;\n areaId: string;\n areaValue: number;\n geomData: GeoJsonDataType;\n color: string;\n opacity?: number;\n strokeColor?: string;\n isThemeChanged: boolean;\n additionalFields?: TooltipProps['additionalFields'];\n handleMapClick?: (e) => void;\n}\n\nexport const Choropleth = React.memo(\n ({\n id,\n areaId,\n areaValue,\n geomData,\n map,\n color,\n opacity,\n strokeColor,\n isThemeChanged,\n additionalFields,\n handleMapClick,\n }: ChoroplethProps): JSX.Element => {\n const sourceId = getSourceId(id);\n const shapeId = getShapeId(id);\n const strokeId = getStrokeId(id);\n const formattedGeomData = {\n type: 'Feature',\n geometry: geomData,\n };\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n const [mouseLat, setmouseLat] = React.useState(0);\n const [mouseLng, setmouseLng] = React.useState(0);\n\n const openTooltip = React.useCallback(() => {\n setTooltipOpenStatus(true);\n }, []);\n\n const closeTooltip = React.useCallback(() => {\n setTooltipOpenStatus(false);\n }, []);\n\n const updateChoropleth = React.useCallback(() => {\n // Apply changes by removing the existing choropleth and creating a new one\n // instead of mutating the current\n cleanupChoropleth(shapeId, sourceId, strokeId, map);\n\n // In order to set a different color and opacity to each choropleth region\n // we are creating a different layer for each region, and each layer requires a source\n map.current.addSource(sourceId, {\n type: 'geojson',\n data: formattedGeomData,\n });\n map.current.addLayer({\n id: shapeId,\n type: 'fill',\n source: sourceId,\n layout: {},\n paint: {\n 'fill-opacity': opacity,\n 'fill-color': color,\n },\n });\n\n if (strokeColor !== 'transparent') {\n map.current.addLayer({\n id: strokeId,\n type: 'line',\n source: sourceId,\n layout: {},\n paint: {\n 'line-color': strokeColor,\n 'line-width': 1,\n },\n });\n }\n\n map.current.on('mousemove', shapeId, e => {\n const mouseLngLat = e.lngLat;\n setmouseLat(mouseLngLat.lat);\n setmouseLng(mouseLngLat.lng);\n openTooltip();\n map.current.getCanvas().style.cursor = 'pointer'; // eslint-disable-line no-param-reassign\n });\n map.current.on('mouseleave', shapeId, () => {\n closeTooltip();\n map.current.getCanvas().style.cursor = ''; // eslint-disable-line no-param-reassign\n });\n map.current.on('click', shapeId, e => {\n handleMapClick(e);\n });\n }, [shapeId, sourceId, map, color, opacity, formattedGeomData]);\n\n React.useEffect(() => {\n updateChoropleth();\n }, [map, geomData, color, opacity, id, strokeColor]);\n\n // Clean up on unmount\n React.useEffect(() => () => cleanupChoropleth(shapeId, sourceId, strokeId, map), []);\n\n if (isThemeChanged) {\n // Theme changes will reset the style layers of the entire map\n // so we need to rerender the choropleths\n updateChoropleth();\n }\n\n return (\n <MarkerWrapper\n isChoroplethTooltipOpen={isTooltipOpen}\n additionalFields={additionalFields}\n latitude={mouseLat}\n longitude={mouseLng}\n map={map}\n areaId={areaId}\n areaValue={areaValue}\n >\n {/* an invisible div used to anchor the tooltip */}\n <div data-test=\"choropleth-anchor\" style={{ padding: '24px', visibility: 'hidden' }} />\n </MarkerWrapper>\n );\n },\n compareChoropleth\n);\n\nChoropleth.displayName = 'MapChoropleth';\n\ninterface ChoroplethLayerProps {\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n\n const limit = Math.min(\n choroplethLayer?.areaIds?.length,\n choroplethLayer?.areaValues?.length,\n choroplethLayer?.geom?.length ?? 0,\n choroplethLayer?.resultLimit ? choroplethLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const areaIdSliced = choroplethLayer?.areaIds?.slice(0, limit) ?? [];\n // generate a unique id if areaIds are not unique\n const uniqueAreaIdSliced =\n uniq(areaIdSliced).length !== areaIdSliced.length\n ? areaIdSliced.map((id, i) => `${id}${i}`)\n : areaIdSliced;\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (!map || !choroplethLayer || !choroplethLayer.geom) {\n return <></>;\n }\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n return (\n <div>\n {uniqueAreaIdSliced.map((id, i) => {\n const areaId = areaIdSliced[i];\n const areaValue = choroplethLayer.areaValues[i];\n\n return (\n <Choropleth\n key={id}\n id={id}\n geomData={choroplethLayer.geom[i]}\n map={map}\n color={colors[i]}\n opacity={scaledOpacities[i]}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n isThemeChanged={isThemeChanged}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields[i]}\n handleMapClick={e => handleMapClick(e, i)}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ChoroplethLayer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\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 * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\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 enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\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 getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","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 iconColor?: 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 iconColor: 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, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\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","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","module.exports = require(\"lodash\");","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';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\n\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\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 {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = 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 const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\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: deepMergeWithArrayPrimitiveOverrides({}, 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 }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n ]);\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(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\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\");","module.exports = require(\"@splunk/moment\");","/* 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","/* eslint-disable no-sequences */\nimport * as React from 'react';\nimport { sanitizeArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport PureMap from './PureMap/PureMap';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { columnsNullToZeros } from '../common/utils/mapUtils';\nimport { GEO_BOUND_PREFIX } from './PureMap/BubbleLayer';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\nconst formatLayer = (l, dataFields, dataSourceData, transformedData) => {\n // add key `geobin` to the layer object if the data is returned from geostats commands\n // to distinguish geostats commands from table commands\n const geobinIdx = dataFields.indexOf('geobin');\n const layer = l;\n\n if (geobinIdx > -1) {\n layer.geobin = dataSourceData.columns[geobinIdx];\n }\n // similarly add key `geom` to layer object for choropleths\n const geomIdx = dataFields.indexOf('geom');\n if (geomIdx > -1) {\n layer.geom = dataSourceData.columns[geomIdx].map(geomItem => {\n return typeof geomItem === 'string' ? JSON.parse(geomItem) : geomItem;\n });\n }\n // Sanitize colors within layers\n if (Object.prototype.hasOwnProperty.call(layer, 'seriesColors')) {\n layer.seriesColors = Array.isArray(layer.seriesColors)\n ? sanitizeArrayOfColors(layer.seriesColors)\n : undefined;\n }\n if (Object.prototype.hasOwnProperty.call(layer, 'dataColors')) {\n layer.dataColors = Array.isArray(layer.dataColors)\n ? sanitizeArrayOfColors(layer.dataColors)\n : undefined;\n }\n layer.metadata = transformedData;\n};\n\nexport const computeVizProps = (props: {\n themeFunc: any;\n theme: any;\n dataSources: any;\n layers: any;\n onOptionsChange?: any;\n}): any => {\n const { themeFunc, theme, layers, dataSources, onOptionsChange } = props;\n const themeColorVariables = ['controlBackgroundColor', 'controlForegroundColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n // Markers use different icons, Bubbles has different styles for light and dark theme\n // this prop is passed for that\n const themeColorScheme = theme?.splunkThemeV1 ? theme?.splunkThemeV1.colorScheme : 'dark';\n\n const dataSourceData = dataSources?.primary?.data ?? {};\n // transforms data structure into array of objects to allow for indexing metadata at layer level\n // TODO: explore any potential changes when multiple layers are supported\n const transformedData = convertToArrOfObjects(dataSourceData.columns, dataSourceData.fields);\n\n const dataFields = (dataSourceData.fields ?? []).map(field =>\n typeof field === 'string' ? field : field.name\n );\n\n layers?.forEach(l => formatLayer(l, dataFields, dataSourceData, transformedData));\n\n return { ...themeColors, themeColorScheme, ...layers, onOptionsChange };\n};\n\nconst withTooltipFields = Viz => {\n const VizWithTooltipFields = ({ dataSources, options, ...otherProps }): JSX.Element => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} options={options} />;\n }\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]) {\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n mergedOptions.layers[0].bubbleSizeFields = getFieldsFromDSL(\n mergedOptions.layers[0].bubbleSize ?? mergedOptions.layers[0].bubbleSize,\n dataSources\n );\n }\n const { fields } = dataSources.primary.data;\n if (\n Array.isArray(mergedOptions.layers[0].additionalTooltipFields) &&\n Array.isArray(fields) &&\n fields.length\n ) {\n const { bubbleSizeFields = [] } = mergedOptions.layers[0];\n mergedOptions.layers[0].additionalTooltipFields = mergedOptions.layers[0].additionalTooltipFields.filter(\n (field: string) =>\n (typeof fields[0] === 'string'\n ? fields.includes(field)\n : fields.map((f: { name: string }) => f.name).includes(field)) &&\n !bubbleSizeFields.includes(field)\n );\n }\n }\n return <Viz dataSources={dataSources} options={mergedOptions} {...otherProps} />;\n };\n VizWithTooltipFields.propTypes = Viz.propTypes;\n VizWithTooltipFields.defaultProps = Viz.defaultProps;\n VizWithTooltipFields.config = Viz.config;\n return VizWithTooltipFields;\n};\n\n// HOC for stripping the internal fields for Maps\nconst withoutInternalFields = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithoutInternalFields = ({ dataSources, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} />;\n }\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = [];\n let newFields = [];\n if (fields && columns && fields.length === columns.length) {\n // computed sorted index for removal\n const indicesToRemove = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (field.startsWith('_') && !field.startsWith(GEO_BOUND_PREFIX)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n newFields = fields.filter((d, i) => !indicesToRemove.has(i));\n newColumns = columns.filter((d, i) => !indicesToRemove.has(i));\n }\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n fields: newFields,\n },\n },\n };\n return <Viz dataSources={modifiedDatasources} {...otherProps} />;\n };\n VizWithoutInternalFields.propTypes = Viz.propTypes;\n VizWithoutInternalFields.defaultProps = Viz.defaultProps;\n VizWithoutInternalFields.config = Viz.config;\n return VizWithoutInternalFields;\n};\n\n// HOC for updating all null values in data columns to zeros\n// excluding 'latitude', 'longitude' and 'geobin'\nconst withNullToZeros = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithColumnsNullToZeros = ({ dataSources, options, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz options={options} {...otherProps} />;\n }\n const modifiedDatasources = columnsNullToZeros(config, dataSources, options);\n return <Viz dataSources={modifiedDatasources} options={options} {...otherProps} />;\n };\n VizWithColumnsNullToZeros.propTypes = Viz.propTypes;\n VizWithColumnsNullToZeros.defaultProps = Viz.defaultProps;\n VizWithColumnsNullToZeros.config = Viz.config;\n return VizWithColumnsNullToZeros;\n};\n\nexport function useIconPlaceholder(dataSources: { [name: string]: DataSource }, loading: boolean): boolean {\n return loading;\n}\n\nconst Map = withoutInternalFields(\n withTooltipFields(\n withNullToZeros(\n withDashboardViz({\n ReactViz: PureMap,\n vizConfig: config,\n computeVizProps,\n disableEditModeCover: true,\n useIconPlaceholder,\n })\n )\n )\n);\nconst { themes } = config;\nexport default Map;\nexport { themes, config, PureMap };\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\nexport interface 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 * as React from 'react';\nimport { omit, noop } from 'lodash';\nimport { useRef, useEffect, useCallback, useContext, useMemo } from 'react';\nimport * as T from 'prop-types';\nimport * as chroma from 'chroma-js';\nimport { Map, NavigationControl, ScaleControl } from 'maplibre-gl';\nimport type { StyleSpecification } from 'maplibre-gl';\nimport MapContext from '@splunk/visualization-context/MapContext';\nimport type { MapContextInterface } from '@splunk/visualization-context/MapContext';\nimport { VizProps } from '../../common/interfaces/VizProps';\nimport PureMapContainer from './PureMapContainer';\nimport {\n getTilePreset,\n getMapStyle,\n getZoomConstraintsFromTileConfig,\n MAP_STYLE_VERSION_NUMBER,\n ClusterLayerType,\n LayerType,\n MAX_BUBBLE_RADIUS,\n isValidLatLon,\n MAX_LATITUDE,\n getGlobalLayerBoundaries,\n LAYER_TYPE,\n compareBaseStyles,\n} from './MapUtils';\nimport ClusterLayer from './ClusterLayer';\nimport ChoroplethLayer from './ChoroplethLayer';\nimport LocalChoroplethLayer from './LocalChoroplethLayer';\n\nexport const DEFAULT_CENTER: [number, number] = [0, 0];\nexport const DEFAULT_CONTROL_BACKGROUND_COLOR = '#2b3033';\nexport const DEFAULT_CONTROL_FOREGROUND_COLOR = '#B5B5B5';\nexport const DEFAULT_SCALE_UNIT = 'imperial';\nexport const DEFAULT_SHOW_SCALE = true;\nexport const DEFAULT_SHOW_ZOOM_CONTROLS = true;\nexport const DEFAULT_SHOW_BASELAYER = true;\nexport const DEFAULT_ZOOM = 0;\ninterface PureMapProps extends VizProps {\n backgroundColor: string;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: 'vector' | 'raster';\n center?: [number, number];\n controlBackgroundColor?: string;\n controlForegroundColor?: string;\n layers: LayerType[];\n scaleUnit?: 'imperial' | 'metric';\n showScale?: boolean;\n showZoomControls?: boolean;\n showBaseLayer?: boolean;\n themeColorScheme?: string;\n zoom?: number;\n onMapLoad?: () => void;\n onMapClick?: ({ e, payload }) => void;\n onOptionsChange?: (options) => void;\n}\n\nexport interface HexColorObj {\n color: string;\n opacity: number;\n}\n\n// convert rgb/rgba/hex color to encoded color & opacity for SVG strings\nexport const formatColor = (color: string): HexColorObj => {\n const chromaColor = chroma(color);\n return {\n color: chroma(chromaColor.rgb()).hex().replace('#', '%23'),\n opacity: chromaColor.alpha(),\n };\n};\n\nPureMapContainer.displayName = 'PureMapContainer';\n\nconst PureMap = (props: PureMapProps): any => {\n const {\n width,\n height,\n backgroundColor,\n baseLayerTileServer,\n baseLayerTileServerType,\n center,\n controlBackgroundColor,\n controlForegroundColor,\n layers = [],\n scaleUnit,\n showScale,\n showZoomControls,\n showBaseLayer,\n themeColorScheme,\n zoom,\n onMapLoad,\n onMapClick,\n onOptionsChange,\n mode,\n } = props;\n const { defaultTileConfig, customTileConfig } = useContext<MapContextInterface>(MapContext);\n const basemapContainer = useRef<HTMLDivElement>(null);\n const map = useRef<Map>(null);\n const scaleControl = useRef<ScaleControl>(null);\n const zoomControl = useRef<NavigationControl>(null);\n\n const { tilePreset, defaultTileLight, defaultTileDark } = useMemo(\n () => getTilePreset({ defaultTileConfig, customTileConfig }),\n [defaultTileConfig, customTileConfig]\n );\n\n const [currentZoomLevel, setCurrentZoomLevel] = React.useState<number>(zoom ?? DEFAULT_ZOOM);\n const [isMapLoaded, setMapIsLoaded] = React.useState<boolean>(false);\n const [isThemeChanged, setIsThemeChanged] = React.useState<boolean>(false);\n\n // Assign default center when no center is defined\n const lngLatCenter = useMemo(() => {\n if (!isValidLatLon(center)) {\n return DEFAULT_CENTER as [number, number];\n }\n return [center[1], center[0]] as [number, number];\n }, [center]);\n\n // TODO: take out zoomLevel to use zoom instead (set prop zoom = DEFAULT_ZOOM)\n // Assign default zoom when no zoom is defined\n const zoomLevel = useMemo(() => {\n if (zoom === undefined) {\n return DEFAULT_ZOOM;\n }\n return zoom;\n }, [zoom]);\n\n const setIsThemeChangedCallback = (isMyThemeChanged: boolean) => {\n setIsThemeChanged(isMyThemeChanged);\n };\n\n const onOptionsChangeProxy = e => {\n if (mode === 'edit') {\n onOptionsChange(e);\n }\n };\n\n const initializeMap = useCallback(\n mapStyle => {\n const fitMapToContent = () => {\n const lngLatBounds = getGlobalLayerBoundaries([layers[0]]);\n map.current.fitBounds(lngLatBounds, {\n padding: MAX_BUBBLE_RADIUS + 5,\n animate: false,\n });\n };\n\n map.current = new Map({\n container: basemapContainer.current,\n preserveDrawingBuffer: true,\n style: mapStyle,\n center: lngLatCenter,\n zoom: zoomLevel,\n ...getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer),\n });\n // Fired immediately after all necessary resources have been downloaded\n // and the first visually complete rendering of the map has occurred.\n map.current.on('load', () => {\n if (layers?.length > 0 && center === undefined && zoom === undefined) {\n fitMapToContent();\n }\n setMapIsLoaded(true);\n // TODO :- Temp timeout added for onMapLoad event to avoid flaky screenshots caused by\n // https://maplibre.org/maplibre-gl-js-docs/api/map/#map#fitbounds. Need alternate approach to handle the same.\n setTimeout(() => onMapLoad(), 500);\n });\n\n // register event listener - drag\n map.current.on('dragend', () => {\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng] });\n });\n\n // register event listener - zoom\n map.current.on('zoomend', () => {\n setCurrentZoomLevel(map.current.getZoom());\n // when zooming with mouse/track pad,\n // zooming centers at the cursor position, need to update center as well\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng], zoom: map.current.getZoom() });\n });\n\n // add zoom control\n zoomControl.current = new NavigationControl({ showCompass: false });\n map.current.addControl(zoomControl.current, 'top-left');\n },\n [lngLatCenter, zoomLevel, layers?.length]\n );\n\n const initializeScale = useCallback(() => {\n scaleControl.current = new ScaleControl({\n maxWidth: 70,\n unit: scaleUnit,\n });\n map.current.addControl(scaleControl.current);\n }, [scaleUnit]);\n\n const updateScale = useCallback(() => {\n if (showScale) {\n scaleControl?.current?.setUnit(scaleUnit);\n }\n }, [scaleUnit, showScale]);\n\n useEffect(() => {\n if (map.current) {\n map.current.resize();\n }\n }, [width, height]);\n\n useEffect(() => {\n // do not render when defaultTileConfig, customTileConfig and tileset are not configured\n if (Object.keys(tilePreset).length === 0 && (!baseLayerTileServer || !baseLayerTileServerType)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Map Tile Server configuration is missing or invalid. Please provide a valid configuration'\n );\n return;\n }\n\n const mapStyle = getMapStyle({\n showBaseLayer,\n baseLayerTileServer,\n baseLayerTileServerType,\n tilePreset,\n colorScheme: themeColorScheme,\n defaultTileLight,\n defaultTileDark,\n });\n\n mapStyle.version = MAP_STYLE_VERSION_NUMBER;\n\n // If the map has already been initialized, we update the styles\n if (map.current) {\n const curr = map.current.getStyle();\n const next = omit(mapStyle, ['theme', 'name', 'key']);\n\n // In dashboard studio this setStyle function is triggered by zoom changes as well\n // Since setStyle will reset all style layers on the map including choropleth,\n // we ONLY want to this to be called when there are style changes\n if (!compareBaseStyles(curr, next)) {\n // Refer to https://maplibre.org/maplibre-gl-js-docs/api/map/#setstyle-example for options.diff (default is true)\n map.current.setStyle(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n setIsThemeChanged(true);\n }\n const { minZoom, maxZoom } = getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer);\n map.current.setMinZoom(minZoom);\n map.current.setMaxZoom(maxZoom);\n updateScale();\n } else {\n // initialize the map only once with a constructed style from user configured options\n // or default configs from the map context\n initializeMap(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n initializeScale();\n }\n }, [\n showBaseLayer,\n tilePreset,\n initializeMap,\n initializeScale,\n updateScale,\n defaultTileLight,\n defaultTileDark,\n baseLayerTileServer,\n baseLayerTileServerType,\n themeColorScheme,\n ]);\n\n useEffect(() => {\n if (map.current) {\n map.current.flyTo({\n center: lngLatCenter,\n zoom: zoomLevel,\n });\n }\n }, [lngLatCenter, zoomLevel]);\n\n useEffect(\n () => () => {\n if (map.current) {\n map.current.remove();\n }\n },\n []\n );\n\n const [layer] = layers;\n\n return (\n <>\n <PureMapContainer\n className=\"puremap\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n controlBackgroundColor={controlBackgroundColor}\n controlForegroundColor={controlForegroundColor}\n controlIconColorEncoded={formatColor(controlForegroundColor)}\n ref={basemapContainer}\n showScale={showScale}\n showZoomControls={showZoomControls}\n >\n {isMapLoaded &&\n layer &&\n (layer.type === LAYER_TYPE.Bubble || layer.type === LAYER_TYPE.Marker) && (\n <ClusterLayer\n clusterLayer={layer as ClusterLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={currentZoomLevel}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && layer.source && (\n <LocalChoroplethLayer\n width={width}\n height={height}\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && !layer.source && (\n <ChoroplethLayer\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n </PureMapContainer>\n </>\n );\n};\n\nexport const isLatLng = (props: PureMapProps, propName: string, componentName: string): Error => {\n if (!props[propName]) {\n return null;\n }\n const latAbs = Math.abs(props[propName][0]);\n const lonAbs = Math.abs(props[propName][1]);\n const latlon = props[propName];\n if (latAbs > MAX_LATITUDE && lonAbs <= MAX_LATITUDE) {\n throw new Error(`${componentName} ${propName} may have reversed [lat, lon] ranges.`);\n }\n if (!isValidLatLon(latlon)) {\n throw new Error(`${componentName} ${propName} incorrect [lat, lon] ranges.`);\n }\n return null;\n};\n\nPureMap.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n baseLayerTileServer: T.string,\n baseLayerTileServerType: T.string,\n center: isLatLng,\n controlBackgroundColor: T.string,\n controlForegroundColor: T.string,\n layers: T.arrayOf(\n T.shape({\n type: T.string,\n latitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n longitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n label: T.string,\n showInLegend: T.bool,\n dataColors: T.oneOfType([T.string, T.arrayOf(T.string)]),\n seriesColors: T.arrayOf(T.string),\n additionalTooltipFields: T.arrayOf(T.string),\n resultLimit: T.number,\n source: T.string,\n choroplethEmptyAreaColor: T.string,\n })\n ),\n scaleUnit: T.string,\n showScale: T.bool,\n themeColorScheme: T.string,\n zoom: T.number,\n onMapLoad: T.func,\n onMapClick: T.func,\n onOptionsChange: T.func,\n};\n\nPureMap.defaultProps = {\n mode: 'view',\n width: 800,\n height: 500,\n backgroundColor: '#0b0c0e',\n controlBackgroundColor: DEFAULT_CONTROL_BACKGROUND_COLOR,\n controlForegroundColor: DEFAULT_CONTROL_FOREGROUND_COLOR,\n scaleUnit: DEFAULT_SCALE_UNIT,\n showScale: DEFAULT_SHOW_SCALE,\n showZoomControls: DEFAULT_SHOW_ZOOM_CONTROLS,\n showBaseLayer: DEFAULT_SHOW_BASELAYER,\n layers: [],\n themeColorScheme: 'dark',\n onMapLoad: noop,\n onMapClick: noop,\n onOptionsChange: noop,\n};\n\nexport default PureMap;\n","module.exports = require(\"@splunk/visualization-context/MapContext\");","import styled from 'styled-components';\nimport { pick } from 'lodash';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport css from '!!raw-loader!maplibre-gl/dist/maplibre-gl.css';\nimport { HexColorObj } from './PureMap';\n\nconst PureMapContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n controlBackgroundColor: string;\n controlForegroundColor: string;\n controlIconColorEncoded: HexColorObj;\n showScale: boolean;\n showZoomControls: boolean;\n}>`\n ${css}\n overflow: hidden;\n position: relative;\n z-index: 0;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n\n // overwrite maplibregl zoom control styles\n .maplibregl-ctrl-top-left {\n display: ${props => (props.showZoomControls ? 'block' : 'none')};\n position: absolute;\n top: 12px;\n left: 16px;\n .maplibregl-ctrl-group {\n width: 40px !important;\n height: 87px !important;\n border-radius: 4px;\n margin: 8px 0px;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.64), 0px 11px 18px rgba(0, 0, 0, 0.32),\n 0px 3px 6px rgba(0, 0, 0, 0.3);\n & button {\n width: 40px;\n height: 43px;\n border-top: 0;\n }\n .mapboxgl-ctrl-zoom-in .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1C9 0.447715 8.55229 0 8 0C7.44772 0 7 0.447715 7 1V7H1C0.447715 7 0 7.44772 0 8C0 8.55229 0.447715 9 1 9H7V15C7 15.5523 7.44772 16 8 16C8.55229 16 9 15.5523 9 15V9H15C15.5523 9 16 8.55229 16 8C16 7.44772 15.5523 7 15 7H9V1Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n\n .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"14\" height=\"3\" viewBox=\"0 0 14 3\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 1.99707C0 1.44479 0.447715 0.99707 1 0.99707H13C13.5523 0.99707 14 1.44479 14 1.99707C14 2.54936 13.5523 2.99707 13 2.99707H1C0.447715 2.99707 0 2.54936 0 1.99707Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n }\n }\n\n // overwrite maplibregl scale styles\n .maplibregl-ctrl-bottom-left {\n display: ${props => (props.showScale ? 'block' : 'none')};\n position: absolute;\n z-index: 0;\n bottom: 16px;\n left: 12px;\n width: 86px;\n height: 29px;\n border-radius: 4px;\n margin: 0;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.13), 0px 11px 18px rgba(0, 0, 0, 0.06),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n .maplibregl-ctrl-scale {\n background-color: ${props => props.controlBackgroundColor};\n color: ${props => props.controlForegroundColor};\n border: 2px solid ${props => props.controlForegroundColor};\n border-top: 0;\n border-left: 0;\n border-right: 0;\n padding: 0;\n margin: 6px 8px 8px 8px;\n line-height: 13px;\n letter-spacing: 0.02em;\n font-family: sans-serif;\n font-size: 10px;\n }\n }\n`;\n\nexport default PureMapContainer;\n","export default \".mapboxgl-map,.maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas,.maplibregl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:fullscreen,.maplibregl-map:fullscreen{height:100%;width:100%}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass,.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer,.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active,.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left,.maplibregl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl,.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl,.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl,.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group,.maplibregl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button,.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon,.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon,.maplibregl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl button::-moz-focus-inner,.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus,.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled,.maplibregl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.mapboxgl-ctrl button:not(:disabled):hover,.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible,.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible),.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl-group button:focus:first-child,.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:focus:last-child,.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:focus:only-child,.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%23333'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain-enabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%2333b5e5'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact,a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib,.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact,.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl-attrib a,.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover,.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-attrib-empty,.maplibregl-attrib-empty{display:none}.mapboxgl-ctrl-scale,.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.mapboxgl-popup,.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right,.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right,.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left,.maplibregl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right,.maplibregl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip,.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button,.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover,.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content,.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content,.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content,.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer,.maplibregl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *,.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer,.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer,.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.mapboxgl-marker,.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.mapboxgl-user-location-dot,.maplibregl-user-location-dot{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before,.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;background-color:#1da1f2;border-radius:50%;content:\\\"\\\";height:15px;position:absolute;width:15px}.mapboxgl-user-location-dot:after,.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale,.maplibregl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after,.maplibregl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle,.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active,.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom,.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);bottom:0;color:#fff;display:flex;font-size:1.4em;justify-content:center;left:0;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;right:0;top:0;transition:opacity 1s ease 1s}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(max-width:480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}\";","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport BubbleLayer from './BubbleLayer';\nimport MarkerLayer from './MarkerLayer';\nimport type { ClusterLayerType, BubbleLayerType, MarkerLayerType } from './MapUtils';\nimport { LAYER_TYPE } from './MapUtils';\n\ninterface ClusterLayerProps {\n clusterLayer: ClusterLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n zoom?: number;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ClusterLayer = ({\n clusterLayer,\n themeColorScheme,\n zoom,\n map,\n onMapClick,\n}: ClusterLayerProps): JSX.Element => {\n if (map?.current?.isStyleLoaded && [clusterLayer.longitude, clusterLayer.latitude].every(Array.isArray)) {\n if (clusterLayer?.type === LAYER_TYPE.Marker && !('geobin' in clusterLayer)) {\n return (\n <MarkerLayer\n markerLayer={clusterLayer as MarkerLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n onMapClick={onMapClick}\n />\n );\n }\n if (\n clusterLayer?.type === LAYER_TYPE.Bubble &&\n 'geobin' in clusterLayer &&\n 'bubbleSize' in clusterLayer\n ) {\n return (\n <BubbleLayer\n bubbleLayer={clusterLayer as BubbleLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={zoom}\n onMapClick={onMapClick}\n />\n );\n }\n }\n return null;\n};\n\nexport default ClusterLayer;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nconst StyledPopover = styled(Popover)`\n width: 250px;\n font-size: 12px;\n`;\n\nconst StyledTable = styled.table`\n margin: 2px 6px 2px 6px;\n width: calc(100% - 12px);\n`;\n\nconst StyledTitleColumn = styled.td`\n opacity: 0.85;\n`;\n\nconst StyledValueColumn = styled.td`\n text-align: right;\n`;\n\nconst StyledColorBlock = styled.div`\n background-color: ${props => props.color};\n display: inline-block;\n margin-right: 4px;\n border-radius: 2px;\n width: 6px;\n height: 11px;\n transform: translateY(1px);\n`;\n\nexport const convertDegToDMS = (decimalDegree: number, type: 'latitude' | 'longitude'): string => {\n const truncate = n => (n > 0 ? Math.floor(n) : Math.ceil(n));\n const absoluteDegree = Math.abs(decimalDegree);\n let degrees = truncate(absoluteDegree);\n let minutes = truncate((absoluteDegree - degrees) * 60);\n let seconds = Math.round((absoluteDegree - degrees - minutes / 60) * 3600);\n if (seconds === 60) {\n minutes += 1;\n seconds = 0;\n }\n if (minutes === 60) {\n degrees += 1;\n minutes = 0;\n }\n let direction: string;\n if (type === 'longitude') {\n direction = decimalDegree < 0 ? 'W' : 'E';\n } else if (type === 'latitude') {\n direction = decimalDegree < 0 ? 'S' : 'N';\n }\n return `${degrees}° ${minutes}' ${seconds}\" ${direction}`;\n};\n\nexport interface TooltipProps {\n open?: boolean;\n anchor?: HTMLElement;\n latitude?: number;\n longitude?: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: Array<{ name: string; value: number | string; color?: string }>;\n}\n// only want latitude/longitude for marker and bubble\n// omit for choropleth, and put areaid, areavalue instead\nconst Tooltip = ({\n open,\n anchor,\n latitude,\n longitude,\n areaId,\n areaValue,\n additionalFields = [],\n}: TooltipProps): JSX.Element => (\n <StyledPopover open={open} anchor={anchor} data-test=\"map-marker-tooltip\" defaultPlacement=\"above\">\n <StyledTable>\n <tbody>\n {areaId && areaValue && (\n <tr>\n <StyledTitleColumn data-test=\"area-id\">{areaId}</StyledTitleColumn>\n <StyledValueColumn data-test=\"area-value\">{areaValue}</StyledValueColumn>\n </tr>\n )}\n {latitude && (\n <tr>\n <StyledTitleColumn>{_('Latitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"latitude\">\n {convertDegToDMS(latitude, 'latitude')}\n </StyledValueColumn>\n </tr>\n )}\n {longitude && (\n <tr>\n <StyledTitleColumn>{_('Longitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"longitude\">\n {convertDegToDMS(longitude, 'longitude')}\n </StyledValueColumn>\n </tr>\n )}\n {additionalFields.map(({ name, value, color }, index) => (\n <tr key={String(index)}>\n <StyledTitleColumn data-test=\"field-title\">\n {color ? <StyledColorBlock data-test=\"field-color\" color={color} /> : null}\n {name}\n </StyledTitleColumn>\n <StyledValueColumn data-test=\"field-value\">{value}</StyledValueColumn>\n </tr>\n ))}\n </tbody>\n </StyledTable>\n </StyledPopover>\n);\n\nexport default Tooltip;\n","import styled from 'styled-components';\nimport { Map } from 'maplibre-gl';\nimport * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { noop } from 'lodash';\nimport { DEFAULT_CLUSTER_COLOR, DEFAULT_RESULT_LIMIT, DEFAULT_SERIES_COLORS } from './MapUtils';\nimport type { MarkerLayerType } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\ninterface MarkerIconProps extends React.HTMLAttributes<HTMLOrSVGElement> {\n theme: string;\n color: string;\n}\n\nexport const MarkerIcon = ({ theme, color, ...otherProps }: MarkerIconProps): JSX.Element => {\n const strokeOpacity = theme === 'light' ? 0.7 : 0.15;\n return (\n <svg width={22} height={28} fill=\"none\" {...otherProps}>\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n fill={color}\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke=\"#08090A\"\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke={color}\n strokeOpacity={strokeOpacity}\n />\n </svg>\n );\n};\n\ninterface MarkerProps {\n latitude: number;\n longitude: number;\n color: string;\n themeColorScheme: string;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleLayerClick?: (e) => void;\n}\n\nconst Marker = React.memo(\n ({\n latitude,\n longitude,\n color,\n themeColorScheme,\n map,\n additionalFields,\n handleLayerClick,\n }: MarkerProps): JSX.Element => {\n const icon = React.useMemo(\n () => <MarkerIcon color={color} theme={themeColorScheme} onClick={handleLayerClick} />,\n [color, handleLayerClick, themeColorScheme]\n );\n return (\n <StyledMarkerWrapper\n latitude={latitude}\n longitude={longitude}\n map={map}\n additionalFields={additionalFields}\n data-test-type=\"marker\"\n >\n {icon}\n </StyledMarkerWrapper>\n );\n }\n);\n\nMarker.displayName = 'MapMarker';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n width: 22px;\n height: 28px;\n cursor: pointer;\n`;\n\nexport const generateMarkerWrapperProps = (\n markerLayer: MarkerLayerType,\n onMapClick: ({ e, payload }) => void = noop\n): Omit<MarkerProps, 'themeColorScheme' | 'map'>[] => {\n const latArray = markerLayer.latitude;\n const lonArray = markerLayer.longitude;\n const isStaticColor = !markerLayer.dataColors;\n const limit = Math.min(\n latArray.length,\n lonArray.length,\n markerLayer.resultLimit ? markerLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const markerProps: ReturnType<typeof generateMarkerWrapperProps> = [];\n for (let i = 0; i < limit; i += 1) {\n const staticColor =\n markerLayer.seriesColors && isColor(markerLayer.seriesColors[0])\n ? markerLayer.seriesColors[0]\n : DEFAULT_CLUSTER_COLOR;\n const dynamicColor =\n markerLayer.dataColors && isColor(markerLayer.dataColors[i])\n ? markerLayer.dataColors[i]\n : DEFAULT_CLUSTER_COLOR;\n const color = isStaticColor ? staticColor : dynamicColor;\n const additionalFields = markerLayer.metadata\n ? markerLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: markerLayer.metadata[i][field],\n }))\n : [];\n const handleLayerClick = e => {\n const metadata = markerLayer?.metadata[i] ?? {};\n const payload = Object.keys(metadata).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n const value = String(metadata[curr]);\n return { ...acc, [key]: value };\n }, {});\n\n onMapClick({ e, payload });\n };\n markerProps.push({\n latitude: latArray[i],\n longitude: lonArray[i],\n color,\n additionalFields,\n handleLayerClick,\n });\n }\n return markerProps;\n};\n\nexport interface MarkerLayerProps {\n markerLayer: MarkerLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst MarkerLayer = (props: MarkerLayerProps): JSX.Element => {\n const { map, themeColorScheme, markerLayer, onMapClick } = props;\n markerLayer.seriesColors = markerLayer.seriesColors || DEFAULT_SERIES_COLORS;\n const markerPropsList = React.useMemo(() => generateMarkerWrapperProps(markerLayer, onMapClick), [\n markerLayer,\n onMapClick,\n ]);\n\n return (\n <>\n {markerPropsList.map((markerProps, i) => (\n <Marker key={String(i)} themeColorScheme={themeColorScheme} map={map} {...markerProps} />\n ))}\n </>\n );\n};\n\nexport default MarkerLayer;\n","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport Message from '@splunk/visualizations-shared/Message';\nimport GeoRegistry from '@splunk/visualization-context/GeoRegistry';\nimport GeoJsonProvider from '@splunk/visualization-context/GeoJsonProvider';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata } from './MapUtils';\nimport { Choropleth } from './ChoroplethLayer';\n\ninterface ChoroplethLayerProps {\n width: number | string;\n height: number | string;\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst LocalChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { width, height, map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const [geoJson, setGeoJson] = React.useState({ features: [{ properties: { name: '' }, geometry: [] }] });\n const [validGeoJson, setValidGeoJson] = React.useState(true);\n const [geoJsonError, setGeoJsonError] = React.useState({ level: 'info', message: '' });\n\n // load local geoJson registry data\n React.useEffect(() => {\n let geoJsonData;\n const geoRegistry = GeoRegistry.create();\n geoRegistry.addDefaultProvider(new GeoJsonProvider());\n try {\n geoJsonData = geoRegistry.getByURL(choroplethLayer.source);\n setGeoJson(geoJsonData);\n setValidGeoJson(true);\n } catch (e) {\n setGeoJsonError(e);\n setValidGeoJson(false);\n }\n }, [choroplethLayer.source]);\n\n const updatedPropertyFormat = React.useMemo(() => {\n let propertyFormat = 'name';\n if (choroplethLayer.areaIds && validGeoJson) {\n const propertyFormats = Object.keys(geoJson.features[0].properties);\n\n // check the state or country format used in dataSource\n /* Accepted format for countries: \n \"properties\": \n {\n \"iso2\": \"AM\",\n \"iso3\": \"ARM\",\n \"name\": \"Armenia\"\n }\n\n Accepted format for US States:\n \"properties\": \n {\n \"iso_3166_2\": \"US-MI\",\n \"postal\": \"MI\",\n \"name\": \"Michigan\",\n \"label_en\": \"Michigan\"\n },\n */\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const shapeProperty = geoJson.features[idx].properties;\n const formatCheck = propertyFormats.find(\n key => shapeProperty[key] === choroplethLayer.areaIds[0]\n );\n\n if (formatCheck !== undefined) {\n propertyFormat = formatCheck;\n break;\n }\n }\n }\n return propertyFormat;\n }, [choroplethLayer.areaIds, geoJson]);\n\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n\n const updatedAllChoroplethData = React.useMemo(() => {\n const allChoroplethData = [];\n if (validGeoJson) {\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const el = geoJson.features[idx];\n\n const choroplethData: {\n color: string;\n areaValue: string | number;\n opacity: number;\n name: string;\n idx: number;\n } = {\n color: choroplethLayer.choroplethEmptyAreaColor,\n areaValue: 'No Data',\n opacity: cfgOpacity,\n name: '',\n idx: 0,\n };\n\n choroplethData.name = el.properties[updatedPropertyFormat];\n // check whether dataSource exists\n if (choroplethLayer.areaIds) {\n // store the postion of dataSource in geoJson\n const dataIdx = choroplethLayer.areaIds.indexOf(el.properties[updatedPropertyFormat]);\n if (dataIdx !== -1) {\n choroplethData.color = colors[dataIdx];\n choroplethData.areaValue = choroplethLayer.areaValues[dataIdx];\n choroplethData.opacity = scaledOpacities[dataIdx];\n choroplethData.idx = dataIdx;\n } else {\n choroplethData.idx = choroplethLayer.areaIds.length;\n }\n }\n allChoroplethData.push(choroplethData);\n }\n }\n return allChoroplethData;\n }, [choroplethLayer.areaIds, choroplethLayer.areaValues, colors, scaledOpacities]);\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields?.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n return (\n <div>\n {!validGeoJson && (\n <Message\n data-test=\"choropleth-message\"\n width={width}\n height={height}\n level={geoJsonError.level}\n message={geoJsonError.message}\n />\n )}\n {validGeoJson &&\n updatedAllChoroplethData.map((el, i) => {\n return (\n <Choropleth\n key={el.name}\n id={el.name}\n map={map}\n color={el.color}\n opacity={el.opacity}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n areaId={el.name}\n areaValue={el.areaValue}\n handleMapClick={e => handleMapClick(e, el.idx)}\n isThemeChanged={isThemeChanged}\n geomData={geoJson.features[i].geometry}\n additionalFields={additionalFields[el.idx]}\n />\n );\n })}\n </div>\n );\n};\n\nexport default LocalChoroplethLayer;\n","module.exports = require(\"@splunk/visualization-context/GeoRegistry\");","module.exports = require(\"@splunk/visualization-context/GeoJsonProvider\");","module.exports = require(\"styled-components\");","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 { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { LAYER_TYPE } from './PureMap/MapUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify a color for the background. You might use a dataSource to apply the color. 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 baseLayerTileServer: {\n type: 'string',\n description: 'Specify the URL for the set of tiles that make up the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: LAYER_TYPE.Bubble,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Marker,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Choropleth,\n areaIds: '> primary | seriesByType(\"string\")',\n areaValues: '> primary | seriesByType(\"number\")',\n dataColors: '> areaValues | gradient()',\n additionalTooltipFields: [],\n resultLimit: 1000,\n choroplethEmptyAreaColor: '> themes.defaultChoroplethEmptyAreaColor',\n choroplethStrokeColor: 'transparent',\n choroplethOpacity: 0.8,\n },\n ],\n type: 'array',\n description:\n 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Marker,\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Choropleth,\n },\n areaIds: {\n description:\n 'Specify a dataSource series to identify each area in the choropleth map layer. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'string' },\n default: '> primary | seriesByType(\"string\")',\n },\n areaValues: {\n description:\n 'Specify a dataSource series that indicates the values for the choropleth map areas. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'number' },\n default: '> primary | seriesByType(\"number\")',\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n default: '> areaValues | gradient()',\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n source: {\n description:\n 'Source for the geodata for choropleth layer: \"us\" or \"world\", and will override data specified in the SPL geom command.',\n pattern: getPattern(['geo://default/us', 'geo://default/world']),\n type: 'string',\n },\n choroplethEmptyAreaColor: {\n description:\n 'Specify the color used for empty choropleth areas when \"type\": \"choropleth\", and will only work when \"source\" option is correctly configured.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> themes.defaultChoroplethEmptyAreaColor',\n },\n choroplethStrokeColor: {\n description:\n 'Specify the stroke color for choropleth area outlines. The hex value format should be \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: 'transparent',\n },\n choroplethOpacity: {\n description:\n 'Specify the opacity of choropleth areas. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.8\" in code or \"80%\" in UI.',\n type: 'number',\n default: 0.8,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Bubble,\n },\n bubbleSize: {\n description:\n 'Specify the data column to encode bubble size. This applies to layers where type: \"bubble\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify the scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n showBaseLayer: {\n default: true,\n type: 'boolean',\n description: 'Specify if showing the base map.',\n },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the scale on the bottom left.',\n },\n showZoomControls: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the control panel of zoom on the top left.',\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\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 controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n defaultChoroplethEmptyAreaColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.gray92(props),\n },\n prisma: {\n dark: variables.interactiveColorBackground(props),\n light: variables.neutral300(props),\n },\n })(props),\n defaultGradientMigrationConfig: props =>\n pick({\n enterprise: {\n dark: ['#4D4A5D', variables.syntaxPurple(props)],\n light: ['#D2CFDC', variables.syntaxPurple(props)],\n },\n prisma: {\n dark: ['#484558', variables.syntaxPurple(props)],\n light: ['#D8D4E1', variables.syntaxPurple(props)],\n },\n })(props),\n};\n\nconst checkTypeIsChoropleth = options =>\n options.layers && options.layers.length && options.layers[0].type === LAYER_TYPE.Choropleth;\n\nconst checkTypeIsLocalChoropleth = options =>\n options.layers &&\n options.layers.length &&\n options.layers[0].type === LAYER_TYPE.Choropleth &&\n (options.layers[0].source === 'geo://default/us' || options.layers[0].source === 'geo://default/world');\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Layer type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Bubble'), value: LAYER_TYPE.Bubble },\n { label: _('Marker'), value: LAYER_TYPE.Marker },\n { label: _('Choropleth'), value: LAYER_TYPE.Choropleth },\n ],\n },\n },\n ],\n [\n {\n label: _('Area IDs'),\n option: 'layers[0].areaIds',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['string'],\n },\n },\n ],\n [\n {\n label: _('Area values'),\n option: 'layers[0].areaValues',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['number'],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Bubble size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnMultiSelector',\n showEditor: ({ options }) =>\n !(\n options.layers &&\n options.layers.length &&\n (options.layers[0].type === 'marker' || options.layers[0].type === 'choropleth')\n ),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n // TODO: update columnMultiSelectionByFieldNameEditor in dynamic editor repo and add editor for additionalTooltipFields option\n // [\n // {\n // label: _('Additional tooltip fields'),\n // option: 'layers[0].additionalTooltipFields',\n // editor: 'editor.columnMultiSelectionByFieldNameEditor',\n // editorProps: {\n // excludeByNames: ['geom'],\n // },\n // },\n // ],\n [\n {\n label: _('Result limit'),\n option: 'layers[0].resultLimit',\n editor: 'editor.number',\n showEditor: ({ options }) => !checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n // TODO: add an editor for center option in dynamic editor repo by combining two number editors\n // [\n // {\n // label: _('Center'),\n // option: 'center',\n // editor: 'editor.number',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n [\n {\n label: _('Zoom'),\n option: 'zoom',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Show zoom controls'),\n option: 'showZoomControls',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Show scale'),\n option: 'showScale',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Scale unit'),\n option: 'scaleUnit',\n editor: 'editor.radioBar',\n showEditor: ({ options }) => options.showScale !== false,\n editorProps: {\n values: [\n { label: _('Metric'), value: 'metric' },\n { label: _('Imperial'), value: 'imperial' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n // TODO: add support for color mode option and its corresponding editor\n // [\n // {\n // label: _('Color mode'),\n // option: 'colorMode',\n // editor: 'editor.radioBar',\n // editorProps: {\n // values: [\n // { label: _('Static'), value: 'static' },\n // { label: _('Dynamic'), value: 'dynamic' },\n // ],\n // },\n // },\n // ],\n // TODO: fix seriesColor editor for map layers in dynamic editor repo\n // [\n // {\n // label: _('Series colors'),\n // option: 'layers[0].seriesColors',\n // editor: 'editor.seriesColors',\n // showEditor: ({ options }) =>\n // !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n // },\n // ],\n // TODO: add editor for data colors\n // [\n // {\n // label: _('Data colors'),\n // option: 'layers[0].dataColors',\n // editor: 'editor.text',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n [\n {\n label: _('Choropleth empty area color'),\n option: 'layers[0].choroplethEmptyAreaColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth stroke color'),\n option: 'layers[0].choroplethStrokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth opacity (%)'),\n option: 'layers[0].choroplethOpacity',\n editor: 'editor.percent',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n // TODO: add support for seriesColorsByField option\n // [\n // {\n // label: _('Series colors by field name'),\n // option: 'seriesColorsByField',\n // editor: 'editor.seriesColorsByField',\n // },\n // ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Show base layer'),\n option: 'showBaseLayer',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n },\n },\n ],\n [\n {\n label: _('Base layer tile server'),\n option: 'baseLayerTileServer',\n editor: 'editor.text',\n showEditor: ({ options }) => options.showBaseLayer !== false,\n },\n ],\n [\n {\n label: _('Base layer tile server type'),\n option: 'baseLayerTileServerType',\n editor: 'editor.radioBar',\n showEditor: ({ options }) =>\n options.showBaseLayer === false\n ? false\n : !(\n typeof options.baseLayerTileServer === 'undefined' ||\n options.baseLayerTileServer === ''\n ),\n editorProps: {\n values: [\n { label: _('Vector'), value: 'vector' },\n { label: _('Raster'), value: 'raster' },\n ],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.CHOROPLETH,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { isNumber } from '@splunk/visualization-encoding/utils/types';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\n\nexport const columnsNullToZeros = (config, dataSources, options) => {\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = columns;\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n const latitudeField = getFieldsFromDSL(mergedOptions.layers[0].latitude, dataSources)[0] || '';\n const longitudeField = getFieldsFromDSL(mergedOptions.layers[0].longitude, dataSources)[0] || '';\n const excludedFields = [latitudeField, longitudeField, 'geobin'];\n const indicesToEvaluate = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (!excludedFields.includes(field)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n\n newColumns = columns.map((column, i) => {\n if (indicesToEvaluate.has(i)) {\n // sanitize value and convert string to numeric numbers\n return column.map(value => (!value || !isNumber(value) ? 0 : +value));\n }\n return column;\n });\n }\n\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n },\n },\n };\n\n return modifiedDatasources;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\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': __VISION_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 = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <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 variables from '@splunk/themes/variables';\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 const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\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/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","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(\"@splunk/themes\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { forEach, sum, isNumber, min as lodashMin, max as lodashMax, get, isEqual, isObject } from 'lodash';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport { scalePow } from 'd3-scale';\nimport * as chroma from 'chroma-js';\nimport type { MapContextInterface, BaseTileConfig } from '@splunk/visualization-context/MapContext';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { isNumber as isNumberUtil } from '@splunk/visualization-encoding/utils/types';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\n\nexport const MAX_LATITUDE = 90;\nexport const MIN_LATITUDE = -90;\nexport const MAX_LONGITUDE = 180;\nexport const MIN_LONGITUDE = -180;\nexport const DEFAULT_RESULT_LIMIT = 1000;\nexport const DEFAULT_CLUSTER_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLORS = VIZ_CATEGORICAL;\n// MapLibre requires a map style specification number which is always 8\nexport const MAP_STYLE_VERSION_NUMBER = 8;\n// currently using one [min, max] value set for bubbles across all zoom levels\n// TODO: design choices on [min, max] bubble size for different zoom levels\nexport const MIN_BUBBLE_RADIUS = 7.11; // 10px\nexport const MAX_BUBBLE_RADIUS = 45.26; // 85px\nexport const DEFAULT_OPACITY = 0.8;\nconst LONGITUDE = 'longitude';\nconst LATITUDE = 'latitude';\n\nexport enum LAYER_TYPE {\n Marker = 'marker',\n Bubble = 'bubble',\n Choropleth = 'choropleth',\n}\n\ninterface GenericLayerType {\n type: string;\n latitude: number[];\n longitude: number[];\n dataColors?: string[];\n seriesColors: string[];\n additionalTooltipFields?: string[];\n resultLimit: number;\n metadata?: Array<{ [key: string]: number | string }>;\n}\n\nexport interface MarkerLayerType extends GenericLayerType {\n type: LAYER_TYPE.Marker;\n}\n\nexport interface BubbleLayerType extends GenericLayerType {\n type: LAYER_TYPE.Bubble;\n bubbleSize?: number[][] | number[];\n bubbleSizeFields: string[];\n geobin?: string[];\n}\n\ninterface BubbleLayerDatumType {\n zoom: number;\n values: number[];\n sanitizedValues: number[];\n coordinates: number[];\n}\n\nexport interface BubbleLayerDataType {\n data: BubbleLayerDatumType[];\n dataRange: number[];\n isPie: boolean;\n resultLimit: number;\n bubbleSizeFields: string[];\n}\n\nexport interface ChoroplethLayerType {\n type: LAYER_TYPE.Choropleth;\n areaIds: string[];\n areaValues: number[];\n dataColors: string[];\n additionalTooltipFields?: string[];\n geom?: GeoJsonDataType[];\n resultLimit?: number;\n metadata?: Array<{ [key: string]: number | string | GeoJsonDataType }>;\n source?: string;\n width?: string | number;\n height?: string | number;\n choroplethEmptyAreaColor?: string;\n choroplethStrokeColor?: string;\n choroplethOpacity?: number;\n}\n\n// todo(@ssahnoune) - look into this\nexport interface MapLayerClickPayloadType {\n name?: string;\n value?: string | number;\n /* cell values of all cells of clicked row with the field and value - in shape row.<field>.value */\n [key: string]: string | number;\n}\n\nexport type ClusterLayerType = BubbleLayerType | MarkerLayerType;\nexport type LayerType = ClusterLayerType | ChoroplethLayerType;\n/**\n * Construct a tile preset {key: config} by combining the default + custom tile configs\n * Also returns the default tile config for each theme - light/dark\n * @param {MapContextInterface} args\n * @param {BaseTileConfig[]} args.defaultTileConfig\n * @param {BaseTileConfig[]} args.customTileConfig\n * @returns {Object} tile preset\n */\nexport const getTilePreset = ({\n defaultTileConfig = [],\n customTileConfig = [],\n}: MapContextInterface): {\n tilePreset: Record<string, BaseTileConfig>;\n defaultTileLight: BaseTileConfig;\n defaultTileDark: BaseTileConfig;\n} => {\n const tilePreset = {};\n let defaultTileLight = {};\n let defaultTileDark = {};\n const tileConfigs = [].concat(defaultTileConfig).concat(customTileConfig);\n forEach(tileConfigs, tileConfig => {\n const key = tileConfig?.key;\n const updatedConfig = { theme: 'all', ...tileConfig, version: MAP_STYLE_VERSION_NUMBER };\n tilePreset[key] = updatedConfig;\n });\n\n if (defaultTileConfig.length > 0) {\n defaultTileLight =\n defaultTileConfig.find(config => config.theme === 'light') ??\n defaultTileConfig.find(config => config.theme === undefined);\n defaultTileDark =\n defaultTileConfig.find(config => config.theme === 'dark') ??\n defaultTileConfig.find(config => config.theme === undefined);\n }\n\n return { tilePreset, defaultTileLight, defaultTileDark };\n};\n\n/**\n * Check if baseLayerTileServer is in tilePreset and config matches current theme, if yes, return.\n * If no, construct a mapStyle with baseLayerTilerServer and baseLayerTileServerType\n * Else return default tile config based on current theme\n * @param {Object} args\n * @param {BaseTileConfig[]} args.tilePreset\n * @param {String} args.baseLayerTilerServer\n * @param {String} args.baseLayerTileServerType\n * @param {String} args.colorScheme\n * @param {BaseTileConfig} args.defaultTileDark\n * @param {BaseTileConfig} args.defaultTileLight\n * @returns {BaseTileConfig} mapStyle\n */\nexport const getMapStyle = ({\n showBaseLayer,\n baseLayerTileServer = '',\n baseLayerTileServerType = '',\n tilePreset = {},\n colorScheme = 'light',\n defaultTileLight = {},\n defaultTileDark = {},\n}: {\n showBaseLayer: boolean;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: string;\n tilePreset?: Record<string, BaseTileConfig>;\n colorScheme?: string;\n defaultTileLight?: BaseTileConfig;\n defaultTileDark?: BaseTileConfig;\n}): BaseTileConfig => {\n if (!showBaseLayer) {\n return {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: 'raster',\n tiles: [\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=',\n ],\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 22,\n },\n ],\n };\n }\n\n if (\n baseLayerTileServer &&\n tilePreset[baseLayerTileServer] &&\n (tilePreset[baseLayerTileServer].theme === colorScheme ||\n tilePreset[baseLayerTileServer].theme === 'all')\n ) {\n return tilePreset[baseLayerTileServer];\n }\n\n if (baseLayerTileServer && baseLayerTileServerType) {\n let tiles = [];\n /**\n * Tile Server URLs (eg: http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png) can specify the variable {s} which refers to a subdomain\n * Subdomains are used to help with browser parallel requests per domain limitation. These subdomains are typically single letters 'a', 'b' and 'c'\n * Refer to https://leafletjs.com/SlavaUkraini/reference.html#tilelayer and https://wiki.openstreetmap.org/wiki/Tile_servers\n */\n if (baseLayerTileServer.match(/^(https?):\\/\\/{(s|S)}\\../)) {\n /**\n * sXML (Leaflet) allows users to define their own tile server URLs + list of available subdomains\n * In order to preserve this behavior during conversion to splunk.map,\n * if the variable {s} or {S} is detected, replace it with 'a', 'b' and 'c' - default values for subdomains\n * TODO: in the future, add an additional prop - baseLayerTileServerSubdomains: ['x', 'y', 'z'], default being ['a', 'b', 'c']\n */\n tiles = [\n baseLayerTileServer.replace(/{(s|S)}/, 'a'),\n baseLayerTileServer.replace(/{(s|S)}/, 'b'),\n baseLayerTileServer.replace(/{(s|S)}/, 'c'),\n ];\n } else {\n tiles = [baseLayerTileServer];\n }\n // TODO: remove hardcoded style when we allow users to pass in layer style through Viz options\n const mapStyle = {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: baseLayerTileServerType,\n tiles,\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 10,\n },\n ],\n };\n return mapStyle;\n }\n\n // if tile server is not present in the preset AND we can't construct a mapStyle, fall back on defaults\n return colorScheme === 'light' ? defaultTileLight : defaultTileDark;\n};\n\nexport interface ZoomConstraints {\n minZoom: number;\n maxZoom: number;\n}\n\nexport const getZoomConstraintsFromTileConfig = (\n tileConfig: BaseTileConfig,\n baseLayerTileServer?: string\n): ZoomConstraints => {\n const { sources, layers } = tileConfig;\n let matchedBaseLayerTileServer = false;\n // check sources for minzoom maxzoom first\n const sourceKeys = Object.keys(sources);\n for (let i = 0; i < sourceKeys.length; i += 1) {\n const { minzoom, maxzoom } = sources[sourceKeys[i]];\n if (baseLayerTileServer && sources[sourceKeys[i]].tiles.indexOf(baseLayerTileServer) !== -1) {\n matchedBaseLayerTileServer = true;\n }\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // then check layers\n for (let i = 0; i < layers.length; i += 1) {\n const { minzoom, maxzoom } = layers[i];\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // Maplibre default - would reset previous min/maxZoom\n return {\n minZoom: 0,\n maxZoom: 22,\n };\n};\n\nexport const getZoomLevelFromGeobin = (geobinStr: string): number => {\n if (!geobinStr) {\n return null;\n }\n // geostats cmds return geobin with zoom level 0-18, 0-99 in the geobinPattern covers the range\n const geobinPattern = /bin_id_zl_([0-9]{0,2})?_y_/g;\n const match = geobinPattern.exec(geobinStr);\n return (match?.length && parseInt(match[1], 10)) ?? null;\n};\n\n// Bubble colors - static\nexport const getStaticColors = (colorCount: number, colorArray: string[]): string[] => {\n if (colorCount < 0 || !colorCount) {\n return [DEFAULT_CLUSTER_COLOR];\n }\n if (!colorArray || !colorArray.length) {\n return [...Array(colorCount).keys()].map(i => DEFAULT_SERIES_COLORS[i]);\n }\n // loop through colorArray to pick the first $colorCount colors\n // start from begining again if colorCount > colorArray.length\n return [...Array(colorCount).keys()].map(i =>\n isColor(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : DEFAULT_CLUSTER_COLOR\n );\n};\n\n// Bubble size\nexport const matchBubbleSize = (dataRange: number[], data: number): any => {\n const size = scalePow().exponent(0.2).domain(dataRange).range([MIN_BUBBLE_RADIUS, MAX_BUBBLE_RADIUS])(\n data\n );\n\n if (size > MAX_BUBBLE_RADIUS) {\n return MAX_BUBBLE_RADIUS;\n }\n if (size < MIN_BUBBLE_RADIUS) {\n return MIN_BUBBLE_RADIUS;\n }\n return size;\n};\n\nexport const transposeArray = (array: number[][]): number[][] => {\n if (!array || !array.length || !array[0] || !array[0].length) {\n return [];\n }\n return array[0].map((_, i) => array.map(row => row[i]));\n};\n\n// sanitize values: update all null, undefined, or negative values to 0\nexport const sanitizeValues = (values: number[] | number[][]) => {\n // null / undefined\n if (!values) {\n return 0;\n }\n // number\n if (!Array.isArray(values)) {\n return values > 0 ? values : 0;\n }\n // array\n return values.map(arr => sanitizeValues(arr));\n};\n\nexport const bakeBubbleData = (layer: BubbleLayerType): BubbleLayerDataType => {\n if (\n !layer ||\n !layer.bubbleSize?.length ||\n !layer.geobin ||\n !layer.geobin.length ||\n !layer.latitude ||\n !layer.latitude.length ||\n !layer.longitude ||\n !layer.longitude.length\n ) {\n return null;\n }\n // if bubbleSize is passed as an array of single number array (data series)\n // e.g. [value0, value1, ...]\n // format each value as an array to unify data operations for data series and frames\n const sanitizedBubbleSize = sanitizeValues(layer.bubbleSize);\n let transposedBubbleSize: number[][];\n let transposedSanitizedBubbleSize: number[][];\n let isPie = false;\n // format array if bubbleSize is passed as an array of array (data frame)\n if (Array.isArray(layer.bubbleSize[0])) {\n // one-time array transpose,\n // e.g. from [column0data, column0data] (multi series)\n // to [[column0datum0, column1datum0], [column0datum1, column1data1], ...]\n // or e.g. from [column0data] (single series)\n // to [[column0data]]\n // for easy access of values at each geo location,\n // and min max pie size computation\n transposedBubbleSize = transposeArray(layer.bubbleSize as number[][]);\n transposedSanitizedBubbleSize = transposeArray(sanitizedBubbleSize);\n // if multiple series in the dataframe, set isPie to true\n if (layer.bubbleSize.length > 1) {\n isPie = true;\n }\n } else {\n transposedBubbleSize = layer.bubbleSize.map(n => [n]);\n transposedSanitizedBubbleSize = sanitizedBubbleSize.map(n => [n]);\n }\n if (!transposedBubbleSize || !transposedBubbleSize.length) {\n return null;\n }\n const data = layer.latitude\n .map((lat, i) => ({\n zoom: getZoomLevelFromGeobin(layer.geobin[i]),\n values: transposedBubbleSize[i],\n sanitizedValues: transposedSanitizedBubbleSize[i],\n coordinates: [layer.longitude[i], lat],\n metadata: layer.metadata ? layer.metadata[i] : {},\n }))\n .filter(d => Boolean(d.values));\n\n // compute the min/max value to encode min/max pie or bubble size\n let min = sum(transposedSanitizedBubbleSize[0]);\n let max = sum(transposedSanitizedBubbleSize[1]);\n transposedSanitizedBubbleSize.forEach(row => {\n const bubbleSize = sum(row);\n max = bubbleSize > max ? bubbleSize : max;\n min = bubbleSize < min ? bubbleSize : min;\n });\n return {\n data,\n dataRange: [min, max],\n isPie,\n resultLimit: layer.resultLimit,\n bubbleSizeFields: layer.bubbleSizeFields,\n };\n};\n\nexport const isValidLatLon = (latlon: Array<number | string>): boolean => {\n if (!latlon || !Array.isArray(latlon) || latlon.length !== 2) {\n return false;\n }\n const [lat, lon] = latlon;\n if (!isNumberUtil(lat) || !(lat >= MIN_LATITUDE && lat <= MAX_LATITUDE)) {\n return false;\n }\n if (!isNumberUtil(lon) || !(lon >= MIN_LONGITUDE && lon <= MAX_LONGITUDE)) {\n return false;\n }\n return true;\n};\n\n/**\n * Returns a list of all lat or lon coordinates used in a specified layer\n * @param {LayerType[]} layer\n * @param {string} field\n * @returns {number[]} list of lat coordinates or lon coordinates\n */\nconst getLatOrLonCoordinates = (layer: LayerType, field: string): number[] => {\n const getClusterValues = (clusterLayer: ClusterLayerType): number[] =>\n get(clusterLayer, field, []).slice(\n 0,\n clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit\n ? clusterLayer.resultLimit\n : DEFAULT_RESULT_LIMIT\n );\n\n const getChoroplethValues = (choroplethLayer: ChoroplethLayerType): number[] => {\n const slicedGeomList = choroplethLayer.geom.slice(0, choroplethLayer.resultLimit);\n const flatCoordinates = slicedGeomList.flatMap(geomObject => geomObject.coordinates.flat(2));\n return flatCoordinates.map(coord => coord[field === LONGITUDE ? 0 : 1]);\n };\n\n return layer.type === LAYER_TYPE.Choropleth ? getChoroplethValues(layer) : getClusterValues(layer);\n};\n\n/**\n * Returns the min and max LongLat pairs to determine the layer boundaries to fit all markers/bubbles\n * @param {LayerType[]} layers\n * @returns {LngLatBoundsLike}\n */\nexport const getGlobalLayerBoundaries = (layers: LayerType[]): LngLatBoundsLike => {\n const isLayerValid = (field: string): boolean =>\n layers.every(layer => layer[field] || (layer as ChoroplethLayerType).geom);\n const getDefaultMax = (field: string) => (field === LONGITUDE ? MAX_LONGITUDE : MAX_LATITUDE);\n const getDefaultMin = (field: string) => (field === LONGITUDE ? MIN_LONGITUDE : MIN_LATITUDE);\n\n if (!layers || !Array.isArray(layers) || !layers.length) {\n return null;\n }\n\n const getMin = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMin(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(x => +x);\n return lodashMin([prevVal, ...coordinatesNumArr]);\n }, getDefaultMax(field));\n };\n\n const getMax = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMax(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(Number);\n return lodashMax([prevVal, ...coordinatesNumArr]);\n }, getDefaultMin(field));\n };\n\n return [\n [getMin(LONGITUDE), getMin(LATITUDE)],\n [getMax(LONGITUDE), getMax(LATITUDE)],\n ];\n};\n\nexport const getScaledOpacities = (colors: string[], cfgOpacity: number): number[] => {\n // extract opacity information from 8 digit hex codes\n const opacities = colors?.map(color => (color?.length === 9 ? chroma(color).alpha() ?? 1 : 1));\n // opacity cannot be greater than configured opacity\n return opacities?.map(opacity => opacity * cfgOpacity);\n};\n\nexport const compareBaseStyles = (curr, next): boolean => {\n const currBaseLayer = curr?.layers?.find(layer => layer?.id === 'base-layer');\n const nextBaseLayer = next?.layers?.find(layer => layer?.id === 'base-layer');\n const currBaseSource = get(curr?.sources, (currBaseLayer?.source as string) ?? '');\n const nextBaseSource = get(next?.sources, (nextBaseLayer?.source as string) ?? '');\n\n if (!currBaseLayer || !nextBaseLayer || !currBaseSource || !nextBaseSource) {\n return false;\n }\n\n return isEqual(currBaseLayer, nextBaseLayer) && isEqual(currBaseSource, nextBaseSource);\n};\n\nexport const formatMetadata = (\n choroplethLayer: ChoroplethLayerType,\n i: number\n): { [key: string]: string } => {\n if (!choroplethLayer || !choroplethLayer.areaIds || !choroplethLayer.areaValues) return {};\n if (i >= choroplethLayer.areaIds.length) return {};\n\n const metadata = choroplethLayer.metadata ? choroplethLayer.metadata[i] : {};\n const name = choroplethLayer.areaIds[i];\n const value = choroplethLayer.areaValues[i];\n const base = { name, value: String(value) };\n\n return Object.keys(metadata).reduce((result, curr) => {\n const key = `row.${curr}.value`;\n const val = isObject(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);\n return { ...result, [key]: val };\n }, base);\n};\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"d3-scale\");","module.exports = require(\"@splunk/visualization-encoding/utils/types\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-encoding/utils/dsl\");"],"sourceRoot":""}