@elastic/eui 94.2.1 → 94.4.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 (450) hide show
  1. package/dist/eui_charts_theme.js +1519 -1519
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +46 -499
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +46 -499
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/avatar/avatar.js +1 -1
  8. package/es/components/badge/badge.js +1 -1
  9. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  10. package/es/components/basic_table/basic_table.js +1 -1
  11. package/es/components/basic_table/in_memory_table.js +1 -1
  12. package/es/components/button/button.js +1 -1
  13. package/es/components/button/button_display/_button_display.js +1 -1
  14. package/es/components/button/button_display/_button_display_content.js +1 -1
  15. package/es/components/button/button_empty/button_empty.js +1 -1
  16. package/es/components/button/button_group/button_group.js +1 -1
  17. package/es/components/button/button_group/button_group_button.js +1 -1
  18. package/es/components/button/button_icon/button_icon.js +1 -1
  19. package/es/components/call_out/call_out.js +1 -1
  20. package/es/components/card/card.js +2 -2
  21. package/es/components/card/card_select/card_select.js +1 -1
  22. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  23. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +6 -2
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  28. package/es/components/combo_box/combo_box_input/combo_box_input.js +19 -1
  29. package/es/components/combo_box/combo_box_input/combo_box_pill.js +16 -0
  30. package/es/components/combo_box/combo_box_options_list/combo_box_option.js +16 -0
  31. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +26 -1
  32. package/es/components/comment_list/comment.js +2 -2
  33. package/es/components/comment_list/comment_event.js +1 -1
  34. package/es/components/comment_list/comment_list.js +2 -2
  35. package/es/components/comment_list/comment_timeline.js +1 -1
  36. package/es/components/datagrid/body/cell/data_grid_cell.js +12 -12
  37. package/es/components/datagrid/body/data_grid_body.js +7 -7
  38. package/es/components/datagrid/body/data_grid_body_custom.js +7 -7
  39. package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  40. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  41. package/es/components/datagrid/controls/column_sorting.js +7 -7
  42. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  43. package/es/components/datagrid/controls/data_grid_toolbar.js +1 -1
  44. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  45. package/es/components/datagrid/utils/in_memory.js +6 -6
  46. package/es/components/date_picker/date_picker.js +2 -2
  47. package/es/components/date_picker/date_picker_range.js +1 -1
  48. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +25 -11
  49. package/es/components/empty_prompt/empty_prompt.js +1 -1
  50. package/es/components/facet/facet_button.js +1 -1
  51. package/es/components/filter_group/filter_select_item.js +46 -4
  52. package/es/components/flex/flex_group.js +0 -2
  53. package/es/components/flex/flex_item.js +0 -2
  54. package/es/components/form/field_number/field_number.js +2 -2
  55. package/es/components/form/field_text/field_text.js +2 -2
  56. package/es/components/form/form.styles.js +26 -3
  57. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  58. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  59. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  60. package/es/components/form/text_area/text_area.js +2 -2
  61. package/es/components/header/header_links/header_link.js +1 -1
  62. package/es/components/header/header_links/header_links.js +1 -1
  63. package/es/components/header/header_logo/header_logo.js +1 -1
  64. package/es/components/header/header_section/header_section_item_button.js +1 -1
  65. package/es/components/icon/assets/clickLeft.js +38 -0
  66. package/es/components/icon/assets/clickRight.js +38 -0
  67. package/es/components/icon/assets/clockCounter.js +35 -0
  68. package/es/components/icon/assets/error.js +3 -1
  69. package/es/components/icon/assets/errorFilled.js +34 -0
  70. package/es/components/icon/assets/launch.js +5 -3
  71. package/es/components/icon/assets/tokenDimension.js +36 -0
  72. package/es/components/icon/assets/tokenMetricCounter.js +4 -1
  73. package/es/components/icon/assets/tokenMetricGauge.js +4 -1
  74. package/es/components/icon/assets/warningFilled.js +34 -0
  75. package/es/components/icon/icon.js +1 -1
  76. package/es/components/icon/icon_map.js +6 -0
  77. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  78. package/es/components/list_group/list_group.js +2 -2
  79. package/es/components/list_group/list_group_item.js +2 -2
  80. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  81. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  82. package/es/components/loading/loading_logo.js +1 -1
  83. package/es/components/markdown_editor/markdown_editor.js +13 -9
  84. package/es/components/markdown_editor/markdown_editor.styles.js +29 -0
  85. package/es/components/markdown_editor/markdown_editor_drop_zone.js +23 -10
  86. package/es/components/markdown_editor/markdown_editor_drop_zone.styles.js +33 -0
  87. package/es/components/markdown_editor/markdown_editor_footer.js +12 -3
  88. package/es/components/markdown_editor/markdown_editor_footer.styles.js +26 -0
  89. package/es/components/markdown_editor/markdown_editor_text_area.js +6 -1
  90. package/es/components/markdown_editor/markdown_editor_text_area.styles.js +22 -0
  91. package/es/components/markdown_editor/markdown_editor_toolbar.js +11 -3
  92. package/es/components/markdown_editor/markdown_editor_toolbar.styles.js +21 -0
  93. package/es/components/markdown_editor/markdown_format.js +9 -6
  94. package/es/components/markdown_editor/markdown_format.styles.js +25 -10
  95. package/es/components/markdown_editor/plugins/markdown_checkbox/renderer.js +9 -3
  96. package/es/components/markdown_editor/plugins/markdown_tooltip/renderer.js +13 -2
  97. package/es/components/page/page_header/page_header_content.js +1 -1
  98. package/es/components/pagination/pagination_button.js +1 -1
  99. package/es/components/popover/input_popover.js +20 -14
  100. package/es/components/selectable/selectable.js +10 -2
  101. package/es/components/selectable/selectable_list/selectable_list.js +96 -43
  102. package/es/components/selectable/selectable_list/selectable_list_item.js +235 -205
  103. package/es/components/selectable/selectable_option.js +9 -1
  104. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -3
  105. package/es/components/text/text_color.js +4 -1
  106. package/es/components/timeline/timeline_item_icon.js +1 -1
  107. package/es/components/toast/global_toast_list.js +1 -1
  108. package/es/components/toast/global_toast_list_item.js +5 -5
  109. package/es/components/toast/toast.js +1 -1
  110. package/es/components/token/token_map.js +4 -0
  111. package/es/components/tool_tip/icon_tip.js +1 -1
  112. package/eui.d.ts +435 -243
  113. package/i18ntokens.json +138 -120
  114. package/lib/components/avatar/avatar.js +1 -1
  115. package/lib/components/badge/badge.js +1 -1
  116. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  117. package/lib/components/basic_table/basic_table.js +1 -1
  118. package/lib/components/basic_table/in_memory_table.js +1 -1
  119. package/lib/components/button/button.js +1 -1
  120. package/lib/components/button/button_display/_button_display.js +1 -1
  121. package/lib/components/button/button_display/_button_display_content.js +1 -1
  122. package/lib/components/button/button_empty/button_empty.js +1 -1
  123. package/lib/components/button/button_group/button_group.js +1 -1
  124. package/lib/components/button/button_group/button_group_button.js +1 -1
  125. package/lib/components/button/button_icon/button_icon.js +1 -1
  126. package/lib/components/call_out/call_out.js +1 -1
  127. package/lib/components/card/card.js +2 -2
  128. package/lib/components/card/card_select/card_select.js +1 -1
  129. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  130. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  131. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +6 -2
  132. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  133. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  134. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  135. package/lib/components/combo_box/combo_box_input/combo_box_input.js +19 -1
  136. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +16 -0
  137. package/lib/components/combo_box/combo_box_options_list/combo_box_option.js +16 -0
  138. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +26 -1
  139. package/lib/components/comment_list/comment.js +2 -2
  140. package/lib/components/comment_list/comment_event.js +1 -1
  141. package/lib/components/comment_list/comment_list.js +2 -2
  142. package/lib/components/comment_list/comment_timeline.js +1 -1
  143. package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
  144. package/lib/components/datagrid/body/data_grid_body.js +7 -7
  145. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
  146. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  147. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  148. package/lib/components/datagrid/controls/column_sorting.js +7 -7
  149. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  150. package/lib/components/datagrid/controls/data_grid_toolbar.js +2 -1
  151. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  152. package/lib/components/datagrid/utils/in_memory.js +6 -6
  153. package/lib/components/date_picker/date_picker.js +2 -2
  154. package/lib/components/date_picker/date_picker_range.js +1 -1
  155. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +25 -11
  156. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  157. package/lib/components/facet/facet_button.js +1 -1
  158. package/lib/components/filter_group/filter_select_item.js +45 -3
  159. package/lib/components/flex/flex_group.js +0 -2
  160. package/lib/components/flex/flex_item.js +0 -2
  161. package/lib/components/form/field_number/field_number.js +2 -2
  162. package/lib/components/form/field_text/field_text.js +2 -2
  163. package/lib/components/form/form.styles.js +30 -4
  164. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  165. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  166. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  167. package/lib/components/form/text_area/text_area.js +2 -2
  168. package/lib/components/header/header_links/header_link.js +1 -1
  169. package/lib/components/header/header_links/header_links.js +1 -1
  170. package/lib/components/header/header_logo/header_logo.js +1 -1
  171. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  172. package/lib/components/icon/assets/clickLeft.js +46 -0
  173. package/lib/components/icon/assets/clickRight.js +46 -0
  174. package/lib/components/icon/assets/clockCounter.js +43 -0
  175. package/lib/components/icon/assets/error.js +3 -1
  176. package/lib/components/icon/assets/errorFilled.js +42 -0
  177. package/lib/components/icon/assets/launch.js +5 -3
  178. package/lib/components/icon/assets/tokenDimension.js +44 -0
  179. package/lib/components/icon/assets/tokenMetricCounter.js +4 -1
  180. package/lib/components/icon/assets/tokenMetricGauge.js +4 -1
  181. package/lib/components/icon/assets/warningFilled.js +42 -0
  182. package/lib/components/icon/icon.js +1 -1
  183. package/lib/components/icon/icon_map.js +6 -0
  184. package/lib/components/icon/svgs/clickLeft.svg +5 -0
  185. package/lib/components/icon/svgs/clickRight.svg +5 -0
  186. package/lib/components/icon/svgs/clockCounter.svg +4 -0
  187. package/lib/components/icon/svgs/error.svg +2 -1
  188. package/lib/components/icon/svgs/errorFilled.svg +3 -0
  189. package/lib/components/icon/svgs/launch.svg +5 -5
  190. package/lib/components/icon/svgs/tokens/tokenDimension.svg +4 -0
  191. package/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +2 -1
  192. package/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +2 -1
  193. package/lib/components/icon/svgs/warningFilled.svg +3 -0
  194. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  195. package/lib/components/list_group/list_group.js +2 -2
  196. package/lib/components/list_group/list_group_item.js +2 -2
  197. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  198. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  199. package/lib/components/loading/loading_logo.js +1 -1
  200. package/lib/components/markdown_editor/markdown_editor.js +13 -9
  201. package/lib/components/markdown_editor/markdown_editor.styles.js +37 -0
  202. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +21 -9
  203. package/lib/components/markdown_editor/markdown_editor_drop_zone.styles.js +38 -0
  204. package/lib/components/markdown_editor/markdown_editor_footer.js +11 -2
  205. package/lib/components/markdown_editor/markdown_editor_footer.styles.js +33 -0
  206. package/lib/components/markdown_editor/markdown_editor_text_area.js +6 -1
  207. package/lib/components/markdown_editor/markdown_editor_text_area.styles.js +29 -0
  208. package/lib/components/markdown_editor/markdown_editor_toolbar.js +11 -3
  209. package/lib/components/markdown_editor/markdown_editor_toolbar.styles.js +28 -0
  210. package/lib/components/markdown_editor/markdown_format.js +8 -5
  211. package/lib/components/markdown_editor/markdown_format.styles.js +25 -10
  212. package/lib/components/markdown_editor/plugins/markdown_checkbox/renderer.js +9 -4
  213. package/lib/components/markdown_editor/plugins/markdown_tooltip/renderer.js +19 -10
  214. package/lib/components/page/page_header/page_header_content.js +1 -1
  215. package/lib/components/pagination/pagination_button.js +1 -1
  216. package/lib/components/popover/input_popover.js +20 -14
  217. package/lib/components/selectable/selectable.js +10 -2
  218. package/lib/components/selectable/selectable_list/selectable_list.js +96 -43
  219. package/lib/components/selectable/selectable_list/selectable_list_item.js +242 -211
  220. package/lib/components/selectable/selectable_option.js +12 -1
  221. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -3
  222. package/lib/components/text/text_color.js +6 -2
  223. package/lib/components/timeline/timeline_item_icon.js +1 -1
  224. package/lib/components/toast/global_toast_list.js +1 -1
  225. package/lib/components/toast/global_toast_list_item.js +5 -5
  226. package/lib/components/toast/toast.js +1 -1
  227. package/lib/components/token/token_map.js +4 -0
  228. package/lib/components/tool_tip/icon_tip.js +1 -1
  229. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +5 -1
  230. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +3 -1
  231. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  232. package/optimize/es/components/datagrid/controls/data_grid_toolbar.js +1 -1
  233. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +25 -11
  234. package/optimize/es/components/filter_group/filter_select_item.js +44 -4
  235. package/optimize/es/components/flex/flex_group.js +0 -2
  236. package/optimize/es/components/flex/flex_item.js +0 -2
  237. package/optimize/es/components/form/form.styles.js +26 -3
  238. package/optimize/es/components/icon/assets/clickLeft.js +37 -0
  239. package/optimize/es/components/icon/assets/clickRight.js +37 -0
  240. package/optimize/es/components/icon/assets/clockCounter.js +34 -0
  241. package/optimize/es/components/icon/assets/error.js +3 -1
  242. package/optimize/es/components/icon/assets/errorFilled.js +33 -0
  243. package/optimize/es/components/icon/assets/launch.js +5 -3
  244. package/optimize/es/components/icon/assets/tokenDimension.js +35 -0
  245. package/optimize/es/components/icon/assets/tokenMetricCounter.js +4 -1
  246. package/optimize/es/components/icon/assets/tokenMetricGauge.js +4 -1
  247. package/optimize/es/components/icon/assets/warningFilled.js +33 -0
  248. package/optimize/es/components/icon/icon_map.js +6 -0
  249. package/optimize/es/components/markdown_editor/markdown_editor.js +12 -8
  250. package/optimize/es/components/markdown_editor/markdown_editor.styles.js +29 -0
  251. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.js +19 -9
  252. package/optimize/es/components/markdown_editor/markdown_editor_drop_zone.styles.js +33 -0
  253. package/optimize/es/components/markdown_editor/markdown_editor_footer.js +11 -2
  254. package/optimize/es/components/markdown_editor/markdown_editor_footer.styles.js +26 -0
  255. package/optimize/es/components/markdown_editor/markdown_editor_text_area.js +6 -1
  256. package/optimize/es/components/markdown_editor/markdown_editor_text_area.styles.js +22 -0
  257. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.js +10 -2
  258. package/optimize/es/components/markdown_editor/markdown_editor_toolbar.styles.js +21 -0
  259. package/optimize/es/components/markdown_editor/markdown_format.js +9 -6
  260. package/optimize/es/components/markdown_editor/markdown_format.styles.js +25 -10
  261. package/optimize/es/components/markdown_editor/plugins/markdown_checkbox/renderer.js +9 -3
  262. package/optimize/es/components/markdown_editor/plugins/markdown_tooltip/renderer.js +13 -2
  263. package/optimize/es/components/popover/input_popover.js +20 -14
  264. package/optimize/es/components/selectable/selectable_list/selectable_list.js +81 -38
  265. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +217 -198
  266. package/optimize/es/components/selectable/selectable_option.js +9 -1
  267. package/optimize/es/components/text/text_color.js +4 -1
  268. package/optimize/es/components/token/token_map.js +4 -0
  269. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +5 -1
  270. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +3 -1
  271. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  272. package/optimize/lib/components/datagrid/controls/data_grid_toolbar.js +2 -1
  273. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +25 -11
  274. package/optimize/lib/components/filter_group/filter_select_item.js +43 -3
  275. package/optimize/lib/components/flex/flex_group.js +0 -2
  276. package/optimize/lib/components/flex/flex_item.js +0 -2
  277. package/optimize/lib/components/form/form.styles.js +30 -4
  278. package/optimize/lib/components/icon/assets/clickLeft.js +46 -0
  279. package/optimize/lib/components/icon/assets/clickRight.js +46 -0
  280. package/optimize/lib/components/icon/assets/clockCounter.js +43 -0
  281. package/optimize/lib/components/icon/assets/error.js +3 -1
  282. package/optimize/lib/components/icon/assets/errorFilled.js +42 -0
  283. package/optimize/lib/components/icon/assets/launch.js +5 -3
  284. package/optimize/lib/components/icon/assets/tokenDimension.js +44 -0
  285. package/optimize/lib/components/icon/assets/tokenMetricCounter.js +4 -1
  286. package/optimize/lib/components/icon/assets/tokenMetricGauge.js +4 -1
  287. package/optimize/lib/components/icon/assets/warningFilled.js +42 -0
  288. package/optimize/lib/components/icon/icon_map.js +6 -0
  289. package/optimize/lib/components/icon/svgs/clickLeft.svg +5 -0
  290. package/optimize/lib/components/icon/svgs/clickRight.svg +5 -0
  291. package/optimize/lib/components/icon/svgs/clockCounter.svg +4 -0
  292. package/optimize/lib/components/icon/svgs/error.svg +2 -1
  293. package/optimize/lib/components/icon/svgs/errorFilled.svg +3 -0
  294. package/optimize/lib/components/icon/svgs/launch.svg +5 -5
  295. package/optimize/lib/components/icon/svgs/tokens/tokenDimension.svg +4 -0
  296. package/optimize/lib/components/icon/svgs/tokens/tokenMetricCounter.svg +2 -1
  297. package/optimize/lib/components/icon/svgs/tokens/tokenMetricGauge.svg +2 -1
  298. package/optimize/lib/components/icon/svgs/warningFilled.svg +3 -0
  299. package/optimize/lib/components/markdown_editor/markdown_editor.js +12 -8
  300. package/optimize/lib/components/markdown_editor/markdown_editor.styles.js +37 -0
  301. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.js +24 -16
  302. package/optimize/lib/components/markdown_editor/markdown_editor_drop_zone.styles.js +38 -0
  303. package/optimize/lib/components/markdown_editor/markdown_editor_footer.js +10 -1
  304. package/optimize/lib/components/markdown_editor/markdown_editor_footer.styles.js +33 -0
  305. package/optimize/lib/components/markdown_editor/markdown_editor_text_area.js +6 -1
  306. package/optimize/lib/components/markdown_editor/markdown_editor_text_area.styles.js +29 -0
  307. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.js +10 -2
  308. package/optimize/lib/components/markdown_editor/markdown_editor_toolbar.styles.js +28 -0
  309. package/optimize/lib/components/markdown_editor/markdown_format.js +8 -5
  310. package/optimize/lib/components/markdown_editor/markdown_format.styles.js +25 -10
  311. package/optimize/lib/components/markdown_editor/plugins/markdown_checkbox/renderer.js +9 -4
  312. package/optimize/lib/components/markdown_editor/plugins/markdown_tooltip/renderer.js +19 -10
  313. package/optimize/lib/components/popover/input_popover.js +20 -14
  314. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +81 -38
  315. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +224 -204
  316. package/optimize/lib/components/selectable/selectable_option.js +12 -1
  317. package/optimize/lib/components/text/text_color.js +6 -2
  318. package/optimize/lib/components/token/token_map.js +4 -0
  319. package/package.json +5 -12
  320. package/src/components/datagrid/body/header/_data_grid_header_row.scss +6 -1
  321. package/src/components/date_picker/react-datepicker/LICENSE +21 -0
  322. package/src/components/date_picker/react-datepicker/README.md +168 -0
  323. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +13 -18
  324. package/src/components/form/checkbox/_checkbox.scss +23 -6
  325. package/src/components/index.scss +0 -1
  326. package/src/components/selectable/selectable_list/_selectable_list_item.scss +4 -0
  327. package/src/components/selectable/selectable_templates/_selectable_template_sitewide_option.scss +5 -1
  328. package/src/services/theme/README.md +153 -0
  329. package/src/test/README.md +44 -0
  330. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  331. package/test-env/components/avatar/avatar.js +1 -1
  332. package/test-env/components/badge/badge.js +1 -1
  333. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  334. package/test-env/components/basic_table/basic_table.js +1 -1
  335. package/test-env/components/basic_table/in_memory_table.js +1 -1
  336. package/test-env/components/button/button.js +1 -1
  337. package/test-env/components/button/button_display/_button_display.js +1 -1
  338. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  339. package/test-env/components/button/button_empty/button_empty.js +1 -1
  340. package/test-env/components/button/button_group/button_group.js +1 -1
  341. package/test-env/components/button/button_group/button_group_button.js +1 -1
  342. package/test-env/components/button/button_icon/button_icon.js +1 -1
  343. package/test-env/components/call_out/call_out.js +1 -1
  344. package/test-env/components/card/card.js +2 -2
  345. package/test-env/components/card/card_select/card_select.js +1 -1
  346. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  347. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  348. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +6 -2
  349. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  350. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  351. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  352. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +19 -1
  353. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +16 -0
  354. package/test-env/components/combo_box/combo_box_options_list/combo_box_option.js +16 -0
  355. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +26 -1
  356. package/test-env/components/comment_list/comment.js +2 -2
  357. package/test-env/components/comment_list/comment_event.js +1 -1
  358. package/test-env/components/comment_list/comment_list.js +2 -2
  359. package/test-env/components/comment_list/comment_timeline.js +1 -1
  360. package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
  361. package/test-env/components/datagrid/body/data_grid_body.js +7 -7
  362. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
  363. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  364. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  365. package/test-env/components/datagrid/controls/column_sorting.js +7 -7
  366. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  367. package/test-env/components/datagrid/controls/data_grid_toolbar.js +2 -1
  368. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  369. package/test-env/components/datagrid/utils/in_memory.js +6 -6
  370. package/test-env/components/date_picker/date_picker.js +2 -2
  371. package/test-env/components/date_picker/date_picker_range.js +1 -1
  372. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +25 -11
  373. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  374. package/test-env/components/facet/facet_button.js +1 -1
  375. package/test-env/components/filter_group/filter_select_item.js +45 -3
  376. package/test-env/components/flex/flex_group.js +0 -2
  377. package/test-env/components/flex/flex_item.js +0 -2
  378. package/test-env/components/form/field_number/field_number.js +2 -2
  379. package/test-env/components/form/field_text/field_text.js +2 -2
  380. package/test-env/components/form/form.styles.js +30 -4
  381. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  382. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  383. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  384. package/test-env/components/form/text_area/text_area.js +2 -2
  385. package/test-env/components/header/header_links/header_link.js +1 -1
  386. package/test-env/components/header/header_links/header_links.js +1 -1
  387. package/test-env/components/header/header_logo/header_logo.js +1 -1
  388. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  389. package/test-env/components/icon/assets/clickLeft.js +46 -0
  390. package/test-env/components/icon/assets/clickRight.js +46 -0
  391. package/test-env/components/icon/assets/clockCounter.js +43 -0
  392. package/test-env/components/icon/assets/error.js +3 -1
  393. package/test-env/components/icon/assets/errorFilled.js +42 -0
  394. package/test-env/components/icon/assets/launch.js +5 -3
  395. package/test-env/components/icon/assets/tokenDimension.js +44 -0
  396. package/test-env/components/icon/assets/tokenMetricCounter.js +4 -1
  397. package/test-env/components/icon/assets/tokenMetricGauge.js +4 -1
  398. package/test-env/components/icon/assets/warningFilled.js +42 -0
  399. package/test-env/components/icon/icon_map.js +6 -0
  400. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  401. package/test-env/components/list_group/list_group.js +2 -2
  402. package/test-env/components/list_group/list_group_item.js +2 -2
  403. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  404. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  405. package/test-env/components/loading/loading_logo.js +1 -1
  406. package/test-env/components/markdown_editor/markdown_editor.js +13 -9
  407. package/test-env/components/markdown_editor/markdown_editor.styles.js +37 -0
  408. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +25 -17
  409. package/test-env/components/markdown_editor/markdown_editor_drop_zone.styles.js +38 -0
  410. package/test-env/components/markdown_editor/markdown_editor_footer.js +11 -2
  411. package/test-env/components/markdown_editor/markdown_editor_footer.styles.js +33 -0
  412. package/test-env/components/markdown_editor/markdown_editor_text_area.js +6 -1
  413. package/test-env/components/markdown_editor/markdown_editor_text_area.styles.js +29 -0
  414. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +11 -3
  415. package/test-env/components/markdown_editor/markdown_editor_toolbar.styles.js +28 -0
  416. package/test-env/components/markdown_editor/markdown_format.js +8 -5
  417. package/test-env/components/markdown_editor/markdown_format.styles.js +25 -10
  418. package/test-env/components/markdown_editor/plugins/markdown_checkbox/renderer.js +9 -4
  419. package/test-env/components/markdown_editor/plugins/markdown_tooltip/renderer.js +19 -10
  420. package/test-env/components/page/page_header/page_header_content.js +1 -1
  421. package/test-env/components/pagination/pagination_button.js +1 -1
  422. package/test-env/components/popover/input_popover.js +20 -14
  423. package/test-env/components/selectable/selectable.js +10 -2
  424. package/test-env/components/selectable/selectable_list/selectable_list.js +96 -43
  425. package/test-env/components/selectable/selectable_list/selectable_list_item.js +234 -206
  426. package/test-env/components/selectable/selectable_option.js +12 -1
  427. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -3
  428. package/test-env/components/text/text_color.js +6 -2
  429. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  430. package/test-env/components/toast/global_toast_list.js +1 -1
  431. package/test-env/components/toast/global_toast_list_item.js +5 -5
  432. package/test-env/components/toast/toast.js +1 -1
  433. package/test-env/components/token/token_map.js +4 -0
  434. package/test-env/components/tool_tip/icon_tip.js +1 -1
  435. package/LICENSE.txt +0 -6
  436. package/NOTICE.txt +0 -54
  437. package/README.md +0 -66
  438. package/licenses/ELASTIC-LICENSE-2.0.md +0 -93
  439. package/licenses/SSPL-LICENSE.md +0 -557
  440. package/src/components/markdown_editor/_index.scss +0 -9
  441. package/src/components/markdown_editor/_markdown_editor.scss +0 -22
  442. package/src/components/markdown_editor/_markdown_editor_drop_zone.scss +0 -58
  443. package/src/components/markdown_editor/_markdown_editor_footer.scss +0 -42
  444. package/src/components/markdown_editor/_markdown_editor_preview.scss +0 -20
  445. package/src/components/markdown_editor/_markdown_editor_text_area.scss +0 -43
  446. package/src/components/markdown_editor/_markdown_editor_toolbar.scss +0 -29
  447. package/src/components/markdown_editor/_markdown_format.scss +0 -78
  448. package/src/components/markdown_editor/_variables.scss +0 -1
  449. package/src/components/markdown_editor/plugins/markdown_tooltip.scss +0 -4
  450. package/src/themes/amsterdam/overrides/_markdown_editor.scss +0 -18
@@ -1,5 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
6
  /*
4
7
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
8
  * or more contributor license agreements. Licensed under the Elastic License
@@ -8,11 +11,14 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
11
  * Side Public License, v 1.
9
12
  */
10
13
 
11
- import React, { useEffect } from 'react';
14
+ import React, { useEffect, useContext } from 'react';
12
15
  import classNames from 'classnames';
13
16
  import { useDropzone } from 'react-dropzone';
14
- import { EuiMarkdownEditorFooter } from './markdown_editor_footer';
17
+ import { useEuiMemoizedStyles } from '../../services';
15
18
  import { useResizeObserver } from '../observer/resize_observer';
19
+ import { EuiMarkdownContext } from './markdown_context';
20
+ import { EuiMarkdownEditorFooter } from './markdown_editor_footer';
21
+ import { euiMarkdownEditorDropZoneStyles } from './markdown_editor_drop_zone.styles';
16
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
17
23
  var getUnacceptedItems = function getUnacceptedItems(items, dropHandlers) {
18
24
  var unacceptedItems = [];
@@ -32,6 +38,8 @@ var getUnacceptedItems = function getUnacceptedItems(items, dropHandlers) {
32
38
  return unacceptedItems;
33
39
  };
34
40
  export var EuiMarkdownEditorDropZone = function EuiMarkdownEditorDropZone(props) {
41
+ var _useContext = useContext(EuiMarkdownContext),
42
+ readOnly = _useContext.readOnly;
35
43
  var _React$useState = React.useState(false),
36
44
  _React$useState2 = _slicedToArray(_React$useState, 2),
37
45
  isDragging = _React$useState2[0],
@@ -53,11 +61,9 @@ export var EuiMarkdownEditorDropZone = function EuiMarkdownEditorDropZone(props)
53
61
  setHasUnacceptedItems = props.setHasUnacceptedItems,
54
62
  setEditorFooterHeight = props.setEditorFooterHeight,
55
63
  isEditing = props.isEditing;
56
- var classes = classNames('euiMarkdownEditorDropZone', {
57
- 'euiMarkdownEditorDropZone--isDragging': isDragging,
58
- 'euiMarkdownEditorDropZone--hasError': hasUnacceptedItems,
59
- 'euiMarkdownEditorDropZone--isDraggingError': isDraggingError
60
- });
64
+ var classes = classNames('euiMarkdownEditorDropZone');
65
+ var styles = useEuiMemoizedStyles(euiMarkdownEditorDropZoneStyles);
66
+ var cssStyles = [styles.euiMarkdownEditorDropZone, isDragging && !isDraggingError && styles.isDragging, isDraggingError && styles.isDraggingError, (hasUnacceptedItems || errors.length > 0) && styles.hasError];
61
67
  var _React$useState7 = React.useState(null),
62
68
  _React$useState8 = _slicedToArray(_React$useState7, 2),
63
69
  editorFooterRef = _React$useState8[0],
@@ -70,7 +76,7 @@ export var EuiMarkdownEditorDropZone = function EuiMarkdownEditorDropZone(props)
70
76
  }
71
77
  }, [setEditorFooterHeight, isEditing, editorFooterHeight]);
72
78
  var _useDropzone = useDropzone({
73
- disabled: dropHandlers.length === 0,
79
+ disabled: dropHandlers.length === 0 || readOnly,
74
80
  // Disable click and keydown behavior
75
81
  noClick: true,
76
82
  noKeyboard: true,
@@ -155,7 +161,11 @@ export var EuiMarkdownEditorDropZone = function EuiMarkdownEditorDropZone(props)
155
161
  getRootProps = _useDropzone.getRootProps,
156
162
  getInputProps = _useDropzone.getInputProps,
157
163
  open = _useDropzone.open;
158
- return ___EmotionJSX("div", _extends({}, getRootProps(), {
164
+ var rootProps = _objectSpread({}, getRootProps());
165
+ if (readOnly) rootProps.role = undefined; // Unset the default `role="button"` attribute which sets a misleading pointer icon
166
+
167
+ return ___EmotionJSX("div", _extends({}, rootProps, {
168
+ css: cssStyles,
159
169
  className: classes
160
170
  }), children, ___EmotionJSX(EuiMarkdownEditorFooter, {
161
171
  ref: setEditorFooterRef,
@@ -0,0 +1,33 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import { css } from '@emotion/react';
11
+ import { transparentize } from '../../services';
12
+ import { logicalCSS } from '../../global_styling';
13
+ import { euiMarkdownEditorVariables } from './markdown_editor.styles';
14
+ var _ref = process.env.NODE_ENV === "production" ? {
15
+ name: "gwjnpv-euiMarkdownEditorDropZone__input",
16
+ styles: "position:absolute;inset:0;opacity:0;overflow:hidden;&:hover{cursor:pointer;}&:hover:disabled{cursor:not-allowed;};label:euiMarkdownEditorDropZone__input;"
17
+ } : {
18
+ name: "gwjnpv-euiMarkdownEditorDropZone__input",
19
+ styles: "position:absolute;inset:0;opacity:0;overflow:hidden;&:hover{cursor:pointer;}&:hover:disabled{cursor:not-allowed;};label:euiMarkdownEditorDropZone__input;",
20
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
+ };
22
+ export var euiMarkdownEditorDropZoneStyles = function euiMarkdownEditorDropZoneStyles(euiThemeContext) {
23
+ var euiTheme = euiThemeContext.euiTheme;
24
+ var _euiMarkdownEditorVar = euiMarkdownEditorVariables(euiThemeContext),
25
+ minHeight = _euiMarkdownEditorVar.minHeight;
26
+ return {
27
+ euiMarkdownEditorDropZone: /*#__PURE__*/css("position:relative;display:flex;flex-direction:column;", logicalCSS('min-height', minHeight), ";;label:euiMarkdownEditorDropZone;"),
28
+ isDragging: /*#__PURE__*/css(".euiMarkdownEditorFooter,.euiMarkdownEditorTextArea{background-color:", transparentize(euiTheme.colors.primary, 0.1), "!important;};label:isDragging;"),
29
+ isDraggingError: /*#__PURE__*/css(".euiMarkdownEditorFooter,.euiMarkdownEditorTextArea{background-color:", transparentize(euiTheme.colors.danger, 0.1), "!important;};label:isDraggingError;"),
30
+ hasError: /*#__PURE__*/css(".euiMarkdownEditorTextArea{--euiFormStateColor:", euiTheme.colors.danger, "!important;background-size:100% 100%;};label:hasError;"),
31
+ euiMarkdownEditorDropZone__input: _ref
32
+ };
33
+ };
@@ -8,6 +8,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  */
9
9
 
10
10
  import React, { useState, useMemo, Fragment, forwardRef, useContext } from 'react';
11
+ import { useEuiMemoizedStyles } from '../../services';
11
12
  import { EuiLoadingSpinner } from '../loading';
12
13
  import { EuiButton, EuiButtonEmpty, EuiButtonIcon } from '../button';
13
14
  import { EuiTitle } from '../title';
@@ -17,11 +18,12 @@ import { EuiPopover, EuiPopoverTitle } from '../popover';
17
18
  import { EuiText } from '../text';
18
19
  import { EuiSpacer } from '../spacer';
19
20
  import { EuiToolTip } from '../tool_tip';
20
- // @ts-ignore a react svg
21
- import MarkdownLogo from './icons/markdown_logo';
22
21
  import { EuiHorizontalRule } from '../horizontal_rule';
23
22
  import { EuiLink } from '../link';
24
23
  import { EuiMarkdownContext } from './markdown_context';
24
+ // @ts-ignore a react svg
25
+ import MarkdownLogo from './icons/markdown_logo';
26
+ import { euiMarkdownEditorFooterStyles } from './markdown_editor_footer.styles';
25
27
  import { jsx as ___EmotionJSX } from "@emotion/react";
26
28
  export var EuiMarkdownEditorFooter = /*#__PURE__*/forwardRef(function (props, ref) {
27
29
  var uiPlugins = props.uiPlugins,
@@ -30,6 +32,7 @@ export var EuiMarkdownEditorFooter = /*#__PURE__*/forwardRef(function (props, re
30
32
  errors = props.errors,
31
33
  hasUnacceptedItems = props.hasUnacceptedItems,
32
34
  dropHandlers = props.dropHandlers;
35
+ var styles = useEuiMemoizedStyles(euiMarkdownEditorFooterStyles);
33
36
  var _useState = useState(false),
34
37
  _useState2 = _slicedToArray(_useState, 2),
35
38
  isShowingHelpModal = _useState2[0],
@@ -81,6 +84,7 @@ export var EuiMarkdownEditorFooter = /*#__PURE__*/forwardRef(function (props, re
81
84
  uploadButton = ___EmotionJSX(EuiToolTip, {
82
85
  content: ariaLabels.supportedFileTypes
83
86
  }, ___EmotionJSX(EuiButtonEmpty, {
87
+ css: styles.euiMarkdownEditorFooter__uploadError,
84
88
  className: "euiMarkdownEditorFooter__uploadError",
85
89
  autoFocus: true,
86
90
  size: "s",
@@ -116,6 +120,7 @@ export var EuiMarkdownEditorFooter = /*#__PURE__*/forwardRef(function (props, re
116
120
  panelPaddingSize: "s",
117
121
  anchorPosition: "upCenter"
118
122
  }, ___EmotionJSX("div", {
123
+ css: styles.euiMarkdownEditorFooter__popover,
119
124
  className: "euiMarkdownEditorFooter__popover"
120
125
  }, ___EmotionJSX(EuiPopoverTitle, null, ___EmotionJSX(EuiI18n, {
121
126
  token: "euiMarkdownEditorFooter.errorsTitle",
@@ -146,6 +151,7 @@ export var EuiMarkdownEditorFooter = /*#__PURE__*/forwardRef(function (props, re
146
151
  content: syntaxTitle
147
152
  }, ___EmotionJSX(EuiButtonIcon, {
148
153
  size: "s",
154
+ css: styles.euiMarkdownEditorFooter__helpButton,
149
155
  className: "euiMarkdownEditorFooter__helpButton",
150
156
  iconType: MarkdownLogo,
151
157
  color: "text",
@@ -192,6 +198,7 @@ export var EuiMarkdownEditorFooter = /*#__PURE__*/forwardRef(function (props, re
192
198
  button: ___EmotionJSX(EuiButtonIcon, {
193
199
  title: syntaxTitle,
194
200
  size: "s",
201
+ css: styles.euiMarkdownEditorFooter__helpButton,
195
202
  className: "euiMarkdownEditorFooter__helpButton",
196
203
  iconType: MarkdownLogo,
197
204
  color: "text",
@@ -217,8 +224,10 @@ export var EuiMarkdownEditorFooter = /*#__PURE__*/forwardRef(function (props, re
217
224
  }
218
225
  return ___EmotionJSX("div", {
219
226
  ref: ref,
227
+ css: styles.euiMarkdownEditorFooter,
220
228
  className: "euiMarkdownEditorFooter"
221
229
  }, ___EmotionJSX("div", {
230
+ css: styles.euiMarkdownEditorFooter__actions,
222
231
  className: "euiMarkdownEditorFooter__actions"
223
232
  }, uploadButton, errorsButton), helpSyntaxButton);
224
233
  });
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { logicalCSS } from '../../global_styling';
11
+ import { euiMarkdownEditorVariables } from './markdown_editor.styles';
12
+ export var euiMarkdownEditorFooterStyles = function euiMarkdownEditorFooterStyles(euiThemeContext) {
13
+ var euiTheme = euiThemeContext.euiTheme;
14
+ var _euiMarkdownEditorVar = euiMarkdownEditorVariables(euiThemeContext),
15
+ borderRadius = _euiMarkdownEditorVar.borderRadius,
16
+ barsBackgroundColor = _euiMarkdownEditorVar.barsBackgroundColor;
17
+ return {
18
+ euiMarkdownEditorFooter: /*#__PURE__*/css("display:inline-flex;align-items:center;padding:", euiTheme.size.xs, ";border:", euiTheme.border.thin, ";background-color:", barsBackgroundColor, ";;label:euiMarkdownEditorFooter;"),
19
+ euiMarkdownEditorFooter__actions: /*#__PURE__*/css("flex:1;display:inline-flex;align-items:center;gap:", euiTheme.size.xs, ";;label:euiMarkdownEditorFooter__actions;"),
20
+ // Override default button border radius to match the overall markdown editor
21
+ euiMarkdownEditorFooter__uploadError: /*#__PURE__*/css("border-radius:", borderRadius, ";;label:euiMarkdownEditorFooter__uploadError;"),
22
+ // Override the default button icon width size
23
+ euiMarkdownEditorFooter__helpButton: /*#__PURE__*/css(".euiIcon{", logicalCSS('width', '26px'), ";};label:euiMarkdownEditorFooter__helpButton;"),
24
+ euiMarkdownEditorFooter__popover: /*#__PURE__*/css(logicalCSS('width', '300px'), ";;label:euiMarkdownEditorFooter__popover;")
25
+ };
26
+ };
@@ -11,7 +11,9 @@ var _excluded = ["children", "compressed", "id", "isInvalid", "name", "placehold
11
11
 
12
12
  import React, { forwardRef, useContext } from 'react';
13
13
  import classNames from 'classnames';
14
+ import { useEuiMemoizedStyles } from '../../services';
14
15
  import { EuiMarkdownContext } from './markdown_context';
16
+ import { euiMarkdownEditorTextAreaStyles } from './markdown_editor_text_area.styles';
15
17
  import { jsx as ___EmotionJSX } from "@emotion/react";
16
18
  export var EuiMarkdownEditorTextArea = /*#__PURE__*/forwardRef(function (_ref, ref) {
17
19
  var children = _ref.children,
@@ -29,6 +31,8 @@ export var EuiMarkdownEditorTextArea = /*#__PURE__*/forwardRef(function (_ref, r
29
31
  var classes = classNames('euiMarkdownEditorTextArea', {
30
32
  'euiMarkdownEditorTextArea-isReadOnly': readOnly
31
33
  });
34
+ var styles = useEuiMemoizedStyles(euiMarkdownEditorTextAreaStyles);
35
+ var cssStyles = [styles.euiMarkdownEditorTextArea, readOnly ? styles.readOnly : styles.editable];
32
36
 
33
37
  // Ignore invalid empty string style values
34
38
  var style = {};
@@ -42,7 +46,8 @@ export var EuiMarkdownEditorTextArea = /*#__PURE__*/forwardRef(function (_ref, r
42
46
  ref: ref,
43
47
  "data-test-subj": "euiMarkdownEditorTextArea",
44
48
  style: style,
45
- className: classes
49
+ className: classes,
50
+ css: cssStyles
46
51
  }, rest, {
47
52
  rows: 6,
48
53
  name: name,
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { logicalCSS, logicalSizeCSS, euiScrollBarStyles } from '../../global_styling';
11
+ import { euiFormControlText, euiFormControlDefaultShadow, euiFormControlFocusStyles } from '../form/form.styles';
12
+ import { euiMarkdownEditorVariables } from './markdown_editor.styles';
13
+ export var euiMarkdownEditorTextAreaStyles = function euiMarkdownEditorTextAreaStyles(euiThemeContext) {
14
+ var euiTheme = euiThemeContext.euiTheme;
15
+ var _euiMarkdownEditorVar = euiMarkdownEditorVariables(euiThemeContext),
16
+ minHeight = _euiMarkdownEditorVar.minHeight;
17
+ return {
18
+ euiMarkdownEditorTextArea: /*#__PURE__*/css(logicalSizeCSS('100%'), " ", logicalCSS('min-height', minHeight), " ", euiScrollBarStyles(euiThemeContext), " resize:vertical;margin:0;padding:", euiTheme.size.m, ";", euiFormControlText(euiThemeContext), " line-height:", euiTheme.font.lineHeightMultiplier, ";border:", euiTheme.border.thin, ";", logicalCSS('border-bottom', 'none'), ";;label:euiMarkdownEditorTextArea;"),
19
+ readOnly: /*#__PURE__*/css("background-color:", euiTheme.colors.emptyShade, ";cursor:default;&:focus{outline:none;};label:readOnly;"),
20
+ editable: /*#__PURE__*/css(euiFormControlDefaultShadow(euiThemeContext), " box-shadow:none;&:focus,.euiMarkdownEditor:focus-within &{", euiFormControlFocusStyles(euiThemeContext), ";};label:editable;")
21
+ };
22
+ };
@@ -8,11 +8,13 @@ import _extends from "@babel/runtime/helpers/extends";
8
8
  */
9
9
 
10
10
  import React, { useContext, forwardRef } from 'react';
11
+ import { useEuiMemoizedStyles } from '../../services';
11
12
  import { EuiButtonEmpty, EuiButtonIcon } from '../button';
12
13
  import { EuiI18n } from '../i18n';
13
14
  import { EuiToolTip } from '../tool_tip';
14
15
  import { MODE_VIEWING } from './markdown_modes';
15
16
  import { EuiMarkdownContext } from './markdown_context';
17
+ import { euiMarkdownEditorToolbarStyles } from './markdown_editor_toolbar.styles';
16
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
17
19
  var boldItalicButtons = [{
18
20
  id: 'mdBold',
@@ -98,11 +100,14 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
98
100
  };
99
101
  var isPreviewing = viewMode === MODE_VIEWING;
100
102
  var isEditable = !isPreviewing && !readOnly;
103
+ var styles = useEuiMemoizedStyles(euiMarkdownEditorToolbarStyles);
101
104
  return ___EmotionJSX("div", {
102
105
  ref: ref,
103
- "data-test-subj": "euiMarkdownEditorToolbar",
104
- className: "euiMarkdownEditorToolbar"
106
+ css: styles.euiMarkdownEditorToolbar,
107
+ className: "euiMarkdownEditorToolbar",
108
+ "data-test-subj": "euiMarkdownEditorToolbar"
105
109
  }, ___EmotionJSX("div", {
110
+ css: styles.euiMarkdownEditorToolbar__buttons,
106
111
  className: "euiMarkdownEditorToolbar__buttons"
107
112
  }, boldItalicButtons.map(function (item) {
108
113
  return ___EmotionJSX(EuiToolTip, {
@@ -119,6 +124,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
119
124
  icon: item.iconType
120
125
  }));
121
126
  }), ___EmotionJSX("span", {
127
+ css: styles.euiMarkdownEditorToolbar__divider,
122
128
  className: "euiMarkdownEditorToolbar__divider"
123
129
  }), listButtons.map(function (item) {
124
130
  return ___EmotionJSX(EuiToolTip, {
@@ -135,6 +141,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
135
141
  icon: item.iconType
136
142
  }));
137
143
  }), ___EmotionJSX("span", {
144
+ css: styles.euiMarkdownEditorToolbar__divider,
138
145
  className: "euiMarkdownEditorToolbar__divider"
139
146
  }), quoteCodeLinkButtons.map(function (item) {
140
147
  return ___EmotionJSX(EuiToolTip, {
@@ -151,6 +158,7 @@ export var EuiMarkdownEditorToolbar = /*#__PURE__*/forwardRef(function (_ref2, r
151
158
  icon: item.iconType
152
159
  }));
153
160
  }), uiPlugins.length > 0 ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX("span", {
161
+ css: styles.euiMarkdownEditorToolbar__divider,
154
162
  className: "euiMarkdownEditorToolbar__divider"
155
163
  }), uiPlugins.map(function (_ref3) {
156
164
  var name = _ref3.name,
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { logicalCSS } from '../../global_styling';
11
+ import { euiMarkdownEditorVariables } from './markdown_editor.styles';
12
+ export var euiMarkdownEditorToolbarStyles = function euiMarkdownEditorToolbarStyles(euiThemeContext) {
13
+ var euiTheme = euiThemeContext.euiTheme;
14
+ var _euiMarkdownEditorVar = euiMarkdownEditorVariables(euiThemeContext),
15
+ barsBackgroundColor = _euiMarkdownEditorVar.barsBackgroundColor;
16
+ return {
17
+ euiMarkdownEditorToolbar: /*#__PURE__*/css("display:flex;flex-wrap:wrap;padding:", euiTheme.size.xs, ";background-color:", barsBackgroundColor, ";border:", euiTheme.border.thin, ";", logicalCSS('border-bottom', 'none'), ";;label:euiMarkdownEditorToolbar;"),
18
+ euiMarkdownEditorToolbar__buttons: /*#__PURE__*/css("flex:1;display:flex;flex-wrap:wrap;align-items:center;column-gap:", euiTheme.size.xs, ";;label:euiMarkdownEditorToolbar__buttons;"),
19
+ euiMarkdownEditorToolbar__divider: /*#__PURE__*/css("display:block;", logicalCSS('height', euiTheme.size.l), " ", logicalCSS('margin-left', euiTheme.size.xs), " ", logicalCSS('padding-right', euiTheme.size.xs), " ", logicalCSS('border-left', "".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.border.color)), ";;label:euiMarkdownEditorToolbar__divider;")
20
+ };
21
+ };
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "className", "parsingPluginList", "processingPluginList", "textSize"];
3
+ var _excluded = ["children", "className", "parsingPluginList", "processingPluginList", "textSize", "color"];
4
4
  /*
5
5
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
6
  * or more contributor license agreements. Licensed under the Elastic License
@@ -13,7 +13,8 @@ import React, { useMemo } from 'react';
13
13
  import unified from 'unified';
14
14
  import classNames from 'classnames';
15
15
  import { EuiText } from '../text/text';
16
- import { useEuiTheme } from '../../services';
16
+ import { _isNamedColor } from '../text/text_color';
17
+ import { useEuiMemoizedStyles } from '../../services';
17
18
  import { euiMarkdownFormatStyles } from './markdown_format.styles';
18
19
  import { defaultProcessingPlugins, defaultParsingPlugins } from './plugins/markdown_default_plugins';
19
20
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -26,6 +27,8 @@ export var EuiMarkdownFormat = function EuiMarkdownFormat(_ref) {
26
27
  processingPluginList = _ref$processingPlugin === void 0 ? defaultProcessingPlugins : _ref$processingPlugin,
27
28
  _ref$textSize = _ref.textSize,
28
29
  textSize = _ref$textSize === void 0 ? 'm' : _ref$textSize,
30
+ _ref$color = _ref.color,
31
+ color = _ref$color === void 0 ? 'default' : _ref$color,
29
32
  rest = _objectWithoutProperties(_ref, _excluded);
30
33
  var processor = useMemo(function () {
31
34
  return unified().use(parsingPluginList).use(processingPluginList);
@@ -41,13 +44,13 @@ export var EuiMarkdownFormat = function EuiMarkdownFormat(_ref) {
41
44
  return children;
42
45
  }
43
46
  }, [children, processor]);
44
- var euiTheme = useEuiTheme();
45
- var styles = euiMarkdownFormatStyles(euiTheme);
46
- var cssStyles = [styles.euiMarkdownFormat, styles[textSize]];
47
+ var styles = useEuiMemoizedStyles(euiMarkdownFormatStyles);
48
+ var cssStyles = [styles.euiMarkdownFormat, styles[textSize], _isNamedColor(color) ? styles.colors[color] : styles.colors.custom];
47
49
  var classes = classNames('euiMarkdownFormat', className);
48
50
  return ___EmotionJSX(EuiText, _extends({
49
51
  size: textSize,
50
52
  css: cssStyles,
51
- className: classes
53
+ className: classes,
54
+ color: color
52
55
  }, rest), result);
53
56
  };
@@ -7,6 +7,7 @@
7
7
  */
8
8
 
9
9
  import { css } from '@emotion/react';
10
+ import { transparentize } from '../../services';
10
11
  import { logicalCSS, euiFontSize, mathWithUnits } from '../../global_styling';
11
12
 
12
13
  /**
@@ -15,10 +16,7 @@ import { logicalCSS, euiFontSize, mathWithUnits } from '../../global_styling';
15
16
  // Internal utility for text scales/sizes
16
17
  var euiScaleMarkdownFormatText = function euiScaleMarkdownFormatText(euiTheme, options) {
17
18
  var _euiFontSize = euiFontSize(euiTheme, 'm', options),
18
- fontSize = _euiFontSize.fontSize,
19
- lineHeight = _euiFontSize.lineHeight;
20
- var unit = options.unit;
21
- var lineHeightSize = unit === 'em' ? "".concat(lineHeight, "em") : lineHeight;
19
+ fontSize = _euiFontSize.fontSize;
22
20
 
23
21
  // Custom scales
24
22
  var tablePaddingVertical = mathWithUnits(fontSize, function (x) {
@@ -27,7 +25,14 @@ var euiScaleMarkdownFormatText = function euiScaleMarkdownFormatText(euiTheme, o
27
25
  var tablePaddingHorizontal = mathWithUnits(fontSize, function (x) {
28
26
  return x / 2;
29
27
  });
30
- return "\n .euiCheckbox .euiCheckbox__input ~ .euiCheckbox__label { // Extra specificity necessary to override default checkbox CSS\n font-size: ".concat(fontSize, ";\n ").concat(logicalCSS('padding-left', lineHeightSize), "\n line-height: ").concat(lineHeight, ";\n }\n\n .euiCheckbox + *:not(.euiCheckbox) {\n ").concat(logicalCSS('margin-top', fontSize), "\n }\n\n .euiMarkdownFormat__codeblockWrapper {\n ").concat(logicalCSS('margin-bottom', fontSize), "\n }\n\n .euiMarkdownFormat__table {\n ").concat(logicalCSS('margin-bottom', fontSize), "\n }\n\n .euiMarkdownFormat__table th,\n .euiMarkdownFormat__table td {\n ").concat(logicalCSS('padding-vertical', tablePaddingVertical), "\n ").concat(logicalCSS('padding-horizontal', tablePaddingHorizontal), "\n }\n ");
28
+ return "\n .euiMarkdownFormat__codeblockWrapper {\n ".concat(logicalCSS('margin-bottom', fontSize), "\n }\n\n .euiMarkdownFormat__table {\n ").concat(logicalCSS('margin-bottom', fontSize), "\n }\n\n .euiMarkdownFormat__table th,\n .euiMarkdownFormat__table td {\n ").concat(logicalCSS('padding-vertical', tablePaddingVertical), "\n ").concat(logicalCSS('padding-horizontal', tablePaddingHorizontal), "\n }\n ");
29
+ };
30
+
31
+ // Internal utility for generating border colors based on EuiText colors
32
+ var euiMarkdownAdjustBorderColors = function euiMarkdownAdjustBorderColors(_ref, color) {
33
+ var euiTheme = _ref.euiTheme;
34
+ var border = "".concat(euiTheme.border.width.thin, " solid ").concat(color);
35
+ return "\n .euiMarkdownFormat__blockquote {\n ".concat(logicalCSS('border-left-color', color), "\n }\n\n .euiHorizontalRule {\n background-color: ").concat(color, ";\n color: ").concat(color, "; /* ensure that firefox gets the currentColor */\n }\n\n /* Tables */\n\n .euiMarkdownFormat__table {\n display: block;\n ").concat(logicalCSS('width', '100%'), "\n overflow: auto;\n border-spacing: 0;\n border-collapse: collapse;\n ").concat(logicalCSS('border-left', border), "\n }\n\n .euiMarkdownFormat__table th,\n .euiMarkdownFormat__table td {\n ").concat(logicalCSS('border-vertical', border), "\n\n &:last-child {\n ").concat(logicalCSS('border-right', border), "\n }\n }\n\n .euiMarkdownFormat__table tr {\n ").concat(logicalCSS('border-top', border), "\n }\n ");
31
36
  };
32
37
 
33
38
  /**
@@ -35,20 +40,30 @@ var euiScaleMarkdownFormatText = function euiScaleMarkdownFormatText(euiTheme, o
35
40
  */
36
41
  export var euiMarkdownFormatStyles = function euiMarkdownFormatStyles(euiTheme) {
37
42
  return {
38
- // TODO: Remaining _markdown_format.scss styles
39
43
  euiMarkdownFormat: /*#__PURE__*/css(";label:euiMarkdownFormat;"),
40
44
  // Text sizes
41
45
  m: /*#__PURE__*/css(euiScaleMarkdownFormatText(euiTheme, {
42
46
  customScale: 'm'
43
- }), ";;label:m;"),
47
+ }), ";label:m;"),
44
48
  s: /*#__PURE__*/css(euiScaleMarkdownFormatText(euiTheme, {
45
49
  customScale: 's'
46
- }), ";;label:s;"),
50
+ }), ";label:s;"),
47
51
  xs: /*#__PURE__*/css(euiScaleMarkdownFormatText(euiTheme, {
48
52
  customScale: 'xs'
49
- }), ";;label:xs;"),
53
+ }), ";label:xs;"),
50
54
  relative: /*#__PURE__*/css(euiScaleMarkdownFormatText(euiTheme, {
51
55
  unit: 'em'
52
- }), ";;label:relative;")
56
+ }), ";label:relative;"),
57
+ colors: {
58
+ default: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, transparentize(euiTheme.euiTheme.colors.fullShade, 0.15)), ";label:default;"),
59
+ subdued: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, euiTheme.euiTheme.colors.subduedText), ";label:subdued;"),
60
+ success: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, euiTheme.euiTheme.colors.success), ";label:success;"),
61
+ accent: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, euiTheme.euiTheme.colors.accent), ";label:accent;"),
62
+ warning: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, euiTheme.euiTheme.colors.warning), ";label:warning;"),
63
+ danger: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, euiTheme.euiTheme.colors.danger), ";label:danger;"),
64
+ ghost: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, euiTheme.euiTheme.colors.ghost), ";label:ghost;"),
65
+ inherit: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, 'currentColor'), ";label:inherit;"),
66
+ custom: /*#__PURE__*/css(euiMarkdownAdjustBorderColors(euiTheme, 'currentColor'), ";label:custom;")
67
+ }
53
68
  };
54
69
  };
@@ -7,6 +7,8 @@
7
7
  */
8
8
 
9
9
  import React, { useContext } from 'react';
10
+ import { css } from '@emotion/react';
11
+ import { logicalCSS } from '../../../../global_styling';
10
12
  import { EuiCheckbox } from '../../../form/checkbox';
11
13
  import { EuiMarkdownContext } from '../../markdown_context';
12
14
  import { useGeneratedHtmlId } from '../../../../services/accessibility';
@@ -18,13 +20,17 @@ export var CheckboxMarkdownRenderer = function CheckboxMarkdownRenderer(_ref) {
18
20
  isChecked = _ref.isChecked,
19
21
  children = _ref.children;
20
22
  var _useContext = useContext(EuiMarkdownContext),
21
- replaceNode = _useContext.replaceNode;
23
+ replaceNode = _useContext.replaceNode,
24
+ readOnly = _useContext.readOnly;
22
25
  return ___EmotionJSX(EuiCheckbox, {
23
26
  id: useGeneratedHtmlId(),
24
27
  checked: isChecked,
25
28
  label: children,
26
29
  onChange: function onChange() {
27
30
  replaceNode(position, "".concat(lead, "[").concat(isChecked ? ' ' : 'x', "]").concat(label));
28
- }
31
+ },
32
+ css: markdownCheckboxStyles,
33
+ readOnly: readOnly
29
34
  });
30
- };
35
+ };
36
+ var markdownCheckboxStyles = /*#__PURE__*/css("&&{.euiCheckbox__input~.euiCheckbox__label{font-size:inherit;line-height:inherit;", logicalCSS('padding-left', '1.5em'), ";}&:has(+ :not(.euiCheckbox)){", logicalCSS('margin-bottom', '1em'), ";}.euiCheckbox__input+.euiCheckbox__square{", logicalCSS('top', '50%'), " transform:translateY(-50%);}};label:markdownCheckboxStyles;");
@@ -1,3 +1,4 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
1
2
  /*
2
3
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
4
  * or more contributor license agreements. Licensed under the Elastic License
@@ -10,13 +11,23 @@ import React from 'react';
10
11
  import { EuiToolTip } from '../../../tool_tip';
11
12
  import { EuiIcon } from '../../../icon';
12
13
  import { jsx as ___EmotionJSX } from "@emotion/react";
14
+ var _ref2 = process.env.NODE_ENV === "production" ? {
15
+ name: "blrk0m-tooltipMarkdownRenderer",
16
+ styles: "transform:translateY(-1px);label:tooltipMarkdownRenderer;"
17
+ } : {
18
+ name: "blrk0m-tooltipMarkdownRenderer",
19
+ styles: "transform:translateY(-1px);label:tooltipMarkdownRenderer;",
20
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
+ };
13
22
  export var tooltipMarkdownRenderer = function tooltipMarkdownRenderer(_ref) {
14
23
  var content = _ref.content,
15
24
  children = _ref.children;
16
25
  return ___EmotionJSX("span", null, ___EmotionJSX(EuiToolTip, {
17
26
  content: content
18
27
  }, ___EmotionJSX("span", null, ___EmotionJSX("strong", null, children), ___EmotionJSX(EuiIcon, {
19
- type: "questionInCircle",
20
- className: "euiMarkdownTooltip__icon"
28
+ type: "questionInCircle"
29
+ // This is to offset the tooltip icon, which isn't perfectly centered
30
+ ,
31
+ css: _ref2
21
32
  }))));
22
33
  };
@@ -140,29 +140,35 @@ export var EuiInputPopover = function EuiInputPopover(_ref) {
140
140
  useEffect(function () {
141
141
  // When the popover opens, add a scroll listener to the page (& remove it after)
142
142
  if (closeOnScroll && panelEl) {
143
- // Close the popover, but only if the scroll event occurs outside the input or the popover itself
144
143
  var closePopoverOnScroll = function closePopoverOnScroll(event) {
145
- if (!panelEl || !inputEl || !event.target) return;
146
144
  var scrollTarget = event.target;
147
- if (panelEl.contains(scrollTarget) === false && inputEl.contains(scrollTarget) === false) {
148
- closePopover();
145
+
146
+ // Basic existence check
147
+ if (!panelEl || !inputEl || !scrollTarget) {
148
+ return;
149
+ }
150
+ // Do not close the popover if the input or popover itself was scrolled
151
+ if (panelEl.contains(scrollTarget) || inputEl.contains(scrollTarget)) {
152
+ return;
149
153
  }
154
+ // Firefox will trigger a scroll event in many common situations (e.g. docs side nav)
155
+ // when the options list div is appended to the DOM. To work around this, we should
156
+ // check if the element that scrolled actually contains/will affect the input
157
+ if (!scrollTarget.contains(inputEl)) {
158
+ return;
159
+ }
160
+ closePopover();
150
161
  };
162
+ window.addEventListener('scroll', closePopoverOnScroll, {
163
+ passive: true,
164
+ // for better performance as we won't call preventDefault
165
+ capture: true // scroll events don't bubble, they must be captured instead
166
+ });
151
167
 
152
- // Firefox will trigger a scroll event in many common situations when the options list div is appended
153
- // to the DOM; in testing it was always within 100ms, but setting a timeout here for 500ms to be safe
154
- var timeoutId = setTimeout(function () {
155
- window.addEventListener('scroll', closePopoverOnScroll, {
156
- passive: true,
157
- // for better performance as we won't call preventDefault
158
- capture: true // scroll events don't bubble, they must be captured instead
159
- });
160
- }, 500);
161
168
  return function () {
162
169
  window.removeEventListener('scroll', closePopoverOnScroll, {
163
170
  capture: true
164
171
  });
165
- clearTimeout(timeoutId);
166
172
  };
167
173
  }
168
174
  }, [closeOnScroll, closePopover, panelEl, inputEl]);