@elastic/eui 94.1.0 → 94.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/eui_theme_dark.css +6 -15
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +6 -15
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accordion/accordion.js +1 -25
  6. package/es/components/accordion/accordion_children/accordion_children.js +3 -7
  7. package/es/components/basic_table/basic_table.js +8 -5
  8. package/es/components/breadcrumbs/_breadcrumb_content.js +1 -1
  9. package/es/components/breadcrumbs/breadcrumbs.js +1 -1
  10. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +306 -0
  11. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +56 -0
  12. package/{optimize/es/components/collapsible_nav_beta/collapsible_nav_group → es/components/collapsible_nav_beta/_kibana_solution}/index.js +1 -1
  13. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  14. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +12 -4
  15. package/es/components/color_picker/color_picker.js +9 -1
  16. package/es/components/combo_box/combo_box.js +19 -5
  17. package/es/components/combo_box/index.js +2 -1
  18. package/es/components/combo_box/matching_options.js +34 -5
  19. package/es/components/datagrid/body/cell/data_grid_cell.js +0 -46
  20. package/es/components/datagrid/body/data_grid_body.js +0 -28
  21. package/es/components/datagrid/body/data_grid_body_custom.js +0 -28
  22. package/es/components/datagrid/body/data_grid_body_virtualized.js +0 -28
  23. package/es/components/datagrid/body/header/column_actions.js +17 -5
  24. package/es/components/datagrid/body/header/data_grid_header_cell.js +3 -30
  25. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  26. package/es/components/datagrid/controls/column_sorting.js +0 -28
  27. package/es/components/datagrid/utils/in_memory.js +0 -28
  28. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  29. package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -84
  30. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -62
  31. package/es/components/flex/flex_group.js +21 -35
  32. package/es/components/flex/flex_item.js +18 -18
  33. package/es/components/form/field_number/field_number.js +22 -7
  34. package/es/components/form/field_text/field_text.js +17 -7
  35. package/es/components/form/form_control_layout/_num_icons.js +7 -2
  36. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  37. package/es/components/form/range/dual_range.js +2 -1
  38. package/es/components/form/range/range.js +12 -1
  39. package/es/components/form/range/range_slider.js +4 -1
  40. package/es/components/form/range/range_track.js +2 -1
  41. package/es/components/form/range/range_wrapper.styles.js +4 -4
  42. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +1 -1
  43. package/es/components/header/header_links/header_links.js +1 -1
  44. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +27 -8
  45. package/es/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +32 -9
  46. package/es/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +17 -2
  47. package/es/components/page/page_header/page_header_content.js +1 -1
  48. package/es/components/page_template/outer/page_outer.js +2 -1
  49. package/es/components/page_template/page_template.js +119 -81
  50. package/es/components/popover/input_popover.js +4 -2
  51. package/es/components/popover/popover.js +6 -1
  52. package/es/components/search_bar/filters/field_value_selection_filter.js +3 -5
  53. package/es/components/search_bar/query/default_syntax.js +2 -2
  54. package/es/components/selectable/matching_options.js +43 -5
  55. package/es/components/selectable/selectable.js +55 -13
  56. package/es/components/selectable/selectable_list/selectable_list.js +15 -6
  57. package/es/components/selectable/selectable_search/selectable_search.js +9 -3
  58. package/es/components/steps/step_horizontal.js +1 -0
  59. package/es/components/table/table_row_cell.styles.js +2 -2
  60. package/es/components/tour/tour_step.js +1 -1
  61. package/eui.d.ts +1416 -1177
  62. package/i18ntokens.json +202 -148
  63. package/lib/components/accordion/accordion.js +1 -25
  64. package/lib/components/accordion/accordion_children/accordion_children.js +3 -7
  65. package/lib/components/basic_table/basic_table.js +8 -5
  66. package/lib/components/breadcrumbs/_breadcrumb_content.js +1 -1
  67. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +315 -0
  68. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +61 -0
  69. package/lib/components/collapsible_nav_beta/_kibana_solution/index.js +12 -0
  70. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  71. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  72. package/lib/components/color_picker/color_picker.js +9 -1
  73. package/lib/components/combo_box/combo_box.js +18 -4
  74. package/lib/components/combo_box/index.js +10 -2
  75. package/lib/components/combo_box/matching_options.js +37 -7
  76. package/lib/components/datagrid/body/cell/data_grid_cell.js +0 -46
  77. package/lib/components/datagrid/body/data_grid_body.js +0 -28
  78. package/lib/components/datagrid/body/data_grid_body_custom.js +0 -28
  79. package/lib/components/datagrid/body/data_grid_body_virtualized.js +0 -28
  80. package/lib/components/datagrid/body/header/column_actions.js +17 -5
  81. package/lib/components/datagrid/body/header/data_grid_header_cell.js +3 -30
  82. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  83. package/lib/components/datagrid/controls/column_sorting.js +0 -28
  84. package/lib/components/datagrid/utils/in_memory.js +0 -28
  85. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  86. package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -84
  87. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -62
  88. package/lib/components/flex/flex_group.js +22 -37
  89. package/lib/components/flex/flex_item.js +17 -17
  90. package/lib/components/form/field_number/field_number.js +20 -6
  91. package/lib/components/form/field_text/field_text.js +16 -6
  92. package/lib/components/form/form_control_layout/_num_icons.js +9 -3
  93. package/lib/components/form/form_control_layout/form_control_layout_icons.js +4 -3
  94. package/lib/components/form/range/dual_range.js +2 -1
  95. package/lib/components/form/range/range.js +12 -1
  96. package/lib/components/form/range/range_slider.js +4 -1
  97. package/lib/components/form/range/range_track.js +2 -1
  98. package/lib/components/form/range/range_wrapper.styles.js +4 -4
  99. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +33 -18
  100. package/lib/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +38 -16
  101. package/lib/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +23 -10
  102. package/lib/components/page_template/outer/page_outer.js +4 -2
  103. package/lib/components/page_template/page_template.js +117 -79
  104. package/lib/components/popover/input_popover.js +4 -2
  105. package/lib/components/popover/popover.js +6 -1
  106. package/lib/components/search_bar/filters/field_value_selection_filter.js +3 -5
  107. package/lib/components/search_bar/query/default_syntax.js +2 -2
  108. package/lib/components/selectable/matching_options.js +46 -7
  109. package/lib/components/selectable/selectable.js +54 -12
  110. package/lib/components/selectable/selectable_list/selectable_list.js +15 -6
  111. package/lib/components/selectable/selectable_search/selectable_search.js +9 -3
  112. package/lib/components/steps/step_horizontal.js +1 -0
  113. package/lib/components/table/table_row_cell.styles.js +1 -1
  114. package/optimize/es/components/accordion/accordion.js +1 -25
  115. package/optimize/es/components/accordion/accordion_children/accordion_children.js +2 -5
  116. package/optimize/es/components/basic_table/basic_table.js +8 -5
  117. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +173 -0
  118. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +56 -0
  119. package/{es/components/collapsible_nav_beta/collapsible_nav_group → optimize/es/components/collapsible_nav_beta/_kibana_solution}/index.js +1 -1
  120. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  121. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +9 -4
  122. package/optimize/es/components/color_picker/color_picker.js +9 -1
  123. package/optimize/es/components/combo_box/combo_box.js +10 -5
  124. package/optimize/es/components/combo_box/index.js +2 -1
  125. package/optimize/es/components/combo_box/matching_options.js +34 -5
  126. package/optimize/es/components/datagrid/body/header/column_actions.js +17 -5
  127. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +3 -2
  128. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  129. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  130. package/optimize/es/components/flex/flex_group.js +22 -22
  131. package/optimize/es/components/flex/flex_item.js +19 -6
  132. package/optimize/es/components/form/field_number/field_number.js +13 -6
  133. package/optimize/es/components/form/field_text/field_text.js +14 -7
  134. package/optimize/es/components/form/form_control_layout/_num_icons.js +7 -2
  135. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  136. package/optimize/es/components/form/range/range.js +10 -0
  137. package/optimize/es/components/form/range/range_slider.js +3 -1
  138. package/optimize/es/components/form/range/range_wrapper.styles.js +4 -4
  139. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +22 -8
  140. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +24 -9
  141. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +12 -2
  142. package/optimize/es/components/page_template/outer/page_outer.js +1 -0
  143. package/optimize/es/components/page_template/page_template.js +79 -80
  144. package/optimize/es/components/popover/input_popover.js +4 -2
  145. package/optimize/es/components/popover/popover.js +5 -0
  146. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +3 -5
  147. package/optimize/es/components/search_bar/query/default_syntax.js +2 -2
  148. package/optimize/es/components/selectable/matching_options.js +43 -5
  149. package/optimize/es/components/selectable/selectable.js +33 -9
  150. package/optimize/es/components/selectable/selectable_list/selectable_list.js +12 -5
  151. package/optimize/es/components/selectable/selectable_search/selectable_search.js +9 -3
  152. package/optimize/es/components/steps/step_horizontal.js +1 -0
  153. package/optimize/es/components/table/table_row_cell.styles.js +2 -2
  154. package/optimize/lib/components/accordion/accordion.js +1 -25
  155. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +2 -5
  156. package/optimize/lib/components/basic_table/basic_table.js +8 -5
  157. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +182 -0
  158. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +61 -0
  159. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/index.js +12 -0
  160. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  161. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +9 -4
  162. package/optimize/lib/components/color_picker/color_picker.js +9 -1
  163. package/optimize/lib/components/combo_box/combo_box.js +9 -4
  164. package/optimize/lib/components/combo_box/index.js +10 -2
  165. package/optimize/lib/components/combo_box/matching_options.js +37 -7
  166. package/optimize/lib/components/datagrid/body/header/column_actions.js +17 -5
  167. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +3 -2
  168. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  169. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  170. package/optimize/lib/components/flex/flex_group.js +22 -23
  171. package/optimize/lib/components/flex/flex_item.js +18 -5
  172. package/optimize/lib/components/form/field_number/field_number.js +12 -5
  173. package/optimize/lib/components/form/field_text/field_text.js +13 -6
  174. package/optimize/lib/components/form/form_control_layout/_num_icons.js +9 -3
  175. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +4 -3
  176. package/optimize/lib/components/form/range/range.js +10 -0
  177. package/optimize/lib/components/form/range/range_slider.js +3 -1
  178. package/optimize/lib/components/form/range/range_wrapper.styles.js +4 -4
  179. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +22 -8
  180. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +30 -18
  181. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +13 -2
  182. package/optimize/lib/components/page_template/outer/page_outer.js +3 -1
  183. package/optimize/lib/components/page_template/page_template.js +77 -78
  184. package/optimize/lib/components/popover/input_popover.js +4 -2
  185. package/optimize/lib/components/popover/popover.js +5 -0
  186. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +3 -5
  187. package/optimize/lib/components/search_bar/query/default_syntax.js +2 -2
  188. package/optimize/lib/components/selectable/matching_options.js +46 -7
  189. package/optimize/lib/components/selectable/selectable.js +32 -8
  190. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +14 -7
  191. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +9 -3
  192. package/optimize/lib/components/steps/step_horizontal.js +1 -0
  193. package/optimize/lib/components/table/table_row_cell.styles.js +1 -1
  194. package/package.json +16 -13
  195. package/src/components/color_picker/_color_picker.scss +0 -16
  196. package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +4 -7
  197. package/test-env/components/accordion/accordion.js +1 -25
  198. package/test-env/components/accordion/accordion_children/accordion_children.js +3 -7
  199. package/test-env/components/basic_table/basic_table.js +8 -5
  200. package/test-env/components/breadcrumbs/_breadcrumb_content.js +1 -1
  201. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +307 -0
  202. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +61 -0
  203. package/test-env/components/collapsible_nav_beta/_kibana_solution/index.js +12 -0
  204. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  205. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +9 -4
  206. package/test-env/components/color_picker/color_picker.js +9 -1
  207. package/test-env/components/combo_box/combo_box.js +18 -4
  208. package/test-env/components/combo_box/index.js +10 -2
  209. package/test-env/components/combo_box/matching_options.js +37 -7
  210. package/test-env/components/datagrid/body/cell/data_grid_cell.js +0 -46
  211. package/test-env/components/datagrid/body/data_grid_body.js +0 -28
  212. package/test-env/components/datagrid/body/data_grid_body_custom.js +0 -28
  213. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +0 -28
  214. package/test-env/components/datagrid/body/header/column_actions.js +17 -5
  215. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +3 -30
  216. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  217. package/test-env/components/datagrid/controls/column_sorting.js +0 -28
  218. package/test-env/components/datagrid/utils/in_memory.js +0 -28
  219. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  220. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -84
  221. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -62
  222. package/test-env/components/flex/flex_group.js +22 -37
  223. package/test-env/components/flex/flex_item.js +17 -17
  224. package/test-env/components/form/field_number/field_number.js +18 -6
  225. package/test-env/components/form/field_text/field_text.js +13 -6
  226. package/test-env/components/form/form_control_layout/_num_icons.js +9 -3
  227. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +4 -3
  228. package/test-env/components/form/range/dual_range.js +2 -1
  229. package/test-env/components/form/range/range.js +12 -1
  230. package/test-env/components/form/range/range_slider.js +4 -1
  231. package/test-env/components/form/range/range_track.js +2 -1
  232. package/test-env/components/form/range/range_wrapper.styles.js +4 -4
  233. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +22 -8
  234. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +30 -18
  235. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +13 -2
  236. package/test-env/components/page_template/outer/page_outer.js +4 -2
  237. package/test-env/components/page_template/page_template.js +112 -79
  238. package/test-env/components/popover/input_popover.js +4 -2
  239. package/test-env/components/popover/popover.js +6 -1
  240. package/test-env/components/search_bar/filters/field_value_selection_filter.js +3 -5
  241. package/test-env/components/search_bar/query/default_syntax.js +2 -2
  242. package/test-env/components/selectable/matching_options.js +46 -7
  243. package/test-env/components/selectable/selectable.js +54 -12
  244. package/test-env/components/selectable/selectable_list/selectable_list.js +17 -7
  245. package/test-env/components/selectable/selectable_search/selectable_search.js +9 -3
  246. package/test-env/components/steps/step_horizontal.js +1 -0
  247. package/test-env/components/table/table_row_cell.styles.js +1 -1
  248. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -74
  249. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -19
  250. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -84
  251. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -26
  252. package/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +0 -12
  253. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -52
  254. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -19
  255. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -62
  256. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -26
  257. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +0 -12
  258. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -83
  259. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -26
  260. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/index.js +0 -12
@@ -17,7 +17,14 @@ var getSelectedOptionForSearchValue = function getSelectedOptionForSearchValue(s
17
17
  return getSearchableLabel(option) === normalizedSearchValue;
18
18
  });
19
19
  };
20
- var collectMatchingOption = function collectMatchingOption(accumulator, option, normalizedSearchValue, isPreFiltered, selectedOptions) {
20
+ var collectMatchingOption = function collectMatchingOption(_ref) {
21
+ var selectedOptions = _ref.selectedOptions,
22
+ isPreFiltered = _ref.isPreFiltered,
23
+ option = _ref.option,
24
+ accumulator = _ref.accumulator,
25
+ searchValue = _ref.searchValue,
26
+ normalizedSearchValue = _ref.normalizedSearchValue,
27
+ optionMatcher = _ref.optionMatcher;
21
28
  // Don't show options that have already been requested if
22
29
  // the selectedOptions list exists
23
30
  if (selectedOptions) {
@@ -37,16 +44,47 @@ var collectMatchingOption = function collectMatchingOption(accumulator, option,
37
44
  accumulator.push(option);
38
45
  return;
39
46
  }
40
- var normalizedOption = getSearchableLabel(option);
41
- if (normalizedOption.includes(normalizedSearchValue)) {
47
+ var isMatching = optionMatcher({
48
+ option: option,
49
+ searchValue: searchValue,
50
+ normalizedSearchValue: normalizedSearchValue
51
+ });
52
+ if (isMatching) {
42
53
  accumulator.push(option);
43
54
  }
44
55
  };
45
- export var getMatchingOptions = function getMatchingOptions(options, searchValue, isPreFiltered, selectedOptions) {
56
+ export var getMatchingOptions = function getMatchingOptions(_ref2) {
57
+ var searchValue = _ref2.searchValue,
58
+ options = _ref2.options,
59
+ isPreFiltered = _ref2.isPreFiltered,
60
+ _ref2$selectedOptions = _ref2.selectedOptions,
61
+ selectedOptions = _ref2$selectedOptions === void 0 ? [] : _ref2$selectedOptions,
62
+ optionMatcher = _ref2.optionMatcher;
46
63
  var normalizedSearchValue = searchValue.toLowerCase();
47
64
  var matchingOptions = [];
48
65
  options.forEach(function (option) {
49
- collectMatchingOption(matchingOptions, option, normalizedSearchValue, isPreFiltered, selectedOptions);
66
+ collectMatchingOption({
67
+ accumulator: matchingOptions,
68
+ option: option,
69
+ searchValue: searchValue,
70
+ normalizedSearchValue: normalizedSearchValue,
71
+ isPreFiltered: isPreFiltered,
72
+ selectedOptions: selectedOptions,
73
+ optionMatcher: optionMatcher
74
+ });
50
75
  });
51
76
  return matchingOptions;
77
+ };
78
+
79
+ /**
80
+ * Partial string equality option matcher for EuiSelectable
81
+ * It matches all options with labels including the searched string.
82
+ */
83
+ export var createPartialStringEqualityOptionMatcher = function createPartialStringEqualityOptionMatcher() {
84
+ return function (_ref3) {
85
+ var option = _ref3.option,
86
+ normalizedSearchValue = _ref3.normalizedSearchValue;
87
+ var normalizedOption = getSearchableLabel(option);
88
+ return normalizedOption.includes(normalizedSearchValue);
89
+ };
52
90
  };
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "className", "options", "onChange", "onActiveOptionChange", "searchable", "searchProps", "singleSelection", "isLoading", "listProps", "renderOption", "height", "allowExclusions", "aria-label", "aria-describedby", "loadingMessage", "noMatchesMessage", "emptyMessage", "errorMessage", "selectableScreenReaderText", "isPreFiltered"],
1
+ var _excluded = ["children", "className", "options", "onChange", "onActiveOptionChange", "searchable", "searchProps", "singleSelection", "isLoading", "listProps", "renderOption", "height", "allowExclusions", "aria-label", "aria-describedby", "loadingMessage", "noMatchesMessage", "emptyMessage", "errorMessage", "selectableScreenReaderText", "isPreFiltered", "optionMatcher"],
2
2
  _excluded2 = ["aria-label", "aria-describedby", "onChange", "defaultValue", "inputRef"],
3
3
  _excluded3 = ["aria-label", "aria-describedby", "isVirtualized", "rowHeight"];
4
4
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
@@ -42,7 +42,7 @@ import { EuiSelectableMessage } from './selectable_message';
42
42
  import { EuiSelectableList } from './selectable_list';
43
43
  import { EuiLoadingSpinner } from '../loading';
44
44
  import { EuiSpacer } from '../spacer';
45
- import { getMatchingOptions } from './matching_options';
45
+ import { createPartialStringEqualityOptionMatcher, getMatchingOptions } from './matching_options';
46
46
  import { keys, htmlIdGenerator } from '../../services';
47
47
  import { EuiScreenReaderLive, EuiScreenReaderOnly } from '../accessibility';
48
48
  import { EuiI18n } from '../i18n';
@@ -234,9 +234,16 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
234
234
  _defineProperty(_assertThisInitialized(_this), "onOptionClick", function (options, event, clickedOption) {
235
235
  var _this$props = _this.props,
236
236
  isPreFiltered = _this$props.isPreFiltered,
237
- onChange = _this$props.onChange;
237
+ onChange = _this$props.onChange,
238
+ optionMatcher = _this$props.optionMatcher;
238
239
  var searchValue = _this.state.searchValue;
239
- var visibleOptions = getMatchingOptions(options, searchValue, isPreFiltered);
240
+ var visibleOptions = getMatchingOptions({
241
+ options: options,
242
+ searchValue: searchValue !== null && searchValue !== void 0 ? searchValue : '',
243
+ isPreFiltered: !!isPreFiltered,
244
+ selectedOptions: [],
245
+ optionMatcher: optionMatcher
246
+ });
240
247
  _this.setState({
241
248
  visibleOptions: visibleOptions
242
249
  });
@@ -261,7 +268,13 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
261
268
  _isPreFiltered = props.isPreFiltered,
262
269
  searchProps = props.searchProps;
263
270
  var initialSearchValue = (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) || String((searchProps === null || searchProps === void 0 ? void 0 : searchProps.defaultValue) || '');
264
- var _visibleOptions = getMatchingOptions(_options, initialSearchValue, _isPreFiltered);
271
+ var _visibleOptions = getMatchingOptions({
272
+ options: _options,
273
+ searchValue: initialSearchValue,
274
+ isPreFiltered: !!_isPreFiltered,
275
+ selectedOptions: [],
276
+ optionMatcher: props.optionMatcher
277
+ });
265
278
  searchProps === null || searchProps === void 0 ? void 0 : (_searchProps$onChange = searchProps.onChange) === null || _searchProps$onChange === void 0 ? void 0 : _searchProps$onChange.call(searchProps, initialSearchValue, _visibleOptions);
266
279
 
267
280
  // ensure that the currently selected single option is active if it is in the visibleOptions
@@ -317,6 +330,7 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
317
330
  errorMessage = _this$props3.errorMessage,
318
331
  selectableScreenReaderText = _this$props3.selectableScreenReaderText,
319
332
  isPreFiltered = _this$props3.isPreFiltered,
333
+ optionMatcher = _this$props3.optionMatcher,
320
334
  rest = _objectWithoutProperties(_this$props3, _excluded);
321
335
  var _this$state = this.state,
322
336
  searchValue = _this$state.searchValue,
@@ -455,7 +469,8 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
455
469
  "aria-activedescendant": _this2.makeOptionId(activeOptionIndex) // the current faux-focused option
456
470
  ,
457
471
  placeholder: placeholderName,
458
- isPreFiltered: isPreFiltered !== null && isPreFiltered !== void 0 ? isPreFiltered : false,
472
+ isPreFiltered: !!isPreFiltered,
473
+ optionMatcher: optionMatcher,
459
474
  inputRef: function inputRef(node) {
460
475
  var _searchProps$inputRef;
461
476
  _this2.inputRef = node;
@@ -499,6 +514,7 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
499
514
  options: options,
500
515
  visibleOptions: visibleOptions,
501
516
  searchValue: searchValue,
517
+ isPreFiltered: isPreFiltered,
502
518
  activeOptionIndex: activeOptionIndex,
503
519
  setActiveOptionIndex: function setActiveOptionIndex(index, cb) {
504
520
  _this2.setState({
@@ -533,7 +549,8 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
533
549
  var _stateUpdate$searchVa;
534
550
  var options = nextProps.options,
535
551
  isPreFiltered = nextProps.isPreFiltered,
536
- searchProps = nextProps.searchProps;
552
+ searchProps = nextProps.searchProps,
553
+ optionMatcher = nextProps.optionMatcher;
537
554
  var activeOptionIndex = prevState.activeOptionIndex,
538
555
  searchValue = prevState.searchValue;
539
556
  var stateUpdate = {
@@ -543,7 +560,13 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
543
560
  if ((searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) != null && searchProps.value !== searchValue) {
544
561
  stateUpdate.searchValue = searchProps.value;
545
562
  }
546
- stateUpdate.visibleOptions = getMatchingOptions(options, (_stateUpdate$searchVa = stateUpdate.searchValue) !== null && _stateUpdate$searchVa !== void 0 ? _stateUpdate$searchVa : '', isPreFiltered);
563
+ stateUpdate.visibleOptions = getMatchingOptions({
564
+ options: options,
565
+ searchValue: (_stateUpdate$searchVa = stateUpdate.searchValue) !== null && _stateUpdate$searchVa !== void 0 ? _stateUpdate$searchVa : '',
566
+ isPreFiltered: !!isPreFiltered,
567
+ selectedOptions: [],
568
+ optionMatcher: optionMatcher
569
+ });
547
570
  if (activeOptionIndex != null && activeOptionIndex >= stateUpdate.visibleOptions.length) {
548
571
  stateUpdate.activeOptionIndex = -1;
549
572
  }
@@ -556,7 +579,8 @@ _defineProperty(EuiSelectable, "defaultProps", {
556
579
  options: [],
557
580
  singleSelection: false,
558
581
  searchable: false,
559
- isPreFiltered: false
582
+ isPreFiltered: false,
583
+ optionMatcher: createPartialStringEqualityOptionMatcher()
560
584
  });
561
585
  EuiSelectable.propTypes = {
562
586
  className: PropTypes.string,
@@ -707,14 +731,32 @@ EuiSelectable.propTypes = {
707
731
  */
708
732
  errorMessage: PropTypes.oneOfType([PropTypes.element.isRequired, PropTypes.string.isRequired, PropTypes.oneOf([null])]),
709
733
  /**
710
- * Control whether or not options get filtered internally or if consumer will filter
711
- * Default: false
734
+ * Control whether or not options get filtered internally (i.e., whether filtering is
735
+ * handled by EUI or by you, the consumer).
736
+ * If set to `true`, all passed `options` will be displayed regardless of the user's
737
+ * search input.
738
+ *
739
+ * Additionally allows passing a configuration object which enables turning off
740
+ * search highlighting if needed.
741
+ *
742
+ * @default false
712
743
  */
713
- isPreFiltered: PropTypes.bool,
744
+ isPreFiltered: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.shape({
745
+ highlightSearch: PropTypes.bool
746
+ }).isRequired]),
714
747
  /**
715
748
  * Optional screen reader instructions to announce upon focus/interaction. This text is read out
716
749
  * after the `EuiSelectable` label and a brief pause, but before the default keyboard instructions for
717
750
  * interacting with a selectable are read out.
718
751
  */
719
- selectableScreenReaderText: PropTypes.string
752
+ selectableScreenReaderText: PropTypes.string,
753
+ /**
754
+ * Optional custom option matcher function
755
+ *
756
+ * @example
757
+ * const exactEqualityMatcher: EuiSelectableOptionMatcher = ({ option, searchValue }) => {
758
+ * return option.label === searchValue;
759
+ * }
760
+ */
761
+ optionMatcher: PropTypes.func
720
762
  };
@@ -1,9 +1,9 @@
1
1
  var _excluded = ["data"],
2
2
  _excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps"],
3
- _excluded3 = ["className", "options", "searchValue", "onOptionClick", "renderOption", "height", "windowProps", "rowHeight", "activeOptionIndex", "makeOptionId", "showIcons", "singleSelection", "visibleOptions", "allowExclusions", "bordered", "paddingSize", "searchable", "onFocusBadge", "listId", "setActiveOptionIndex", "aria-label", "aria-labelledby", "aria-describedby", "role", "isVirtualized", "textWrap", "truncationProps"];
4
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ _excluded3 = ["className", "options", "searchValue", "onOptionClick", "renderOption", "height", "windowProps", "rowHeight", "activeOptionIndex", "makeOptionId", "showIcons", "singleSelection", "visibleOptions", "allowExclusions", "bordered", "paddingSize", "searchable", "onFocusBadge", "listId", "setActiveOptionIndex", "aria-label", "aria-labelledby", "aria-describedby", "role", "isPreFiltered", "isVirtualized", "textWrap", "truncationProps"];
5
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; }
6
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; }
6
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
7
7
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
8
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -136,6 +136,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
136
136
  setActiveOptionIndex = _this$props2.setActiveOptionIndex,
137
137
  searchable = _this$props2.searchable,
138
138
  searchValue = _this$props2.searchValue,
139
+ isPreFiltered = _this$props2.isPreFiltered,
139
140
  isVirtualized = _this$props2.isVirtualized;
140
141
  if (isGroupLabel) {
141
142
  return ___EmotionJSX("li", _extends({
@@ -148,13 +149,17 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
148
149
  var id = makeOptionId(index);
149
150
  var isFocused = activeOptionIndex === index;
150
151
 
152
+ // Search highlighting
153
+ var hasSearch = !!searchValue;
154
+ var highlightSearch = hasSearch && (_typeof(isPreFiltered) === 'object' ? isPreFiltered.highlightSearch !== false : true);
155
+
151
156
  // Text wrapping
152
157
  var canWrap = !isVirtualized;
153
158
  var _textWrap = (_option$textWrap = option.textWrap) !== null && _option$textWrap !== void 0 ? _option$textWrap : _this.props.textWrap;
154
159
  var textWrap = canWrap ? _textWrap : 'truncate';
155
160
 
156
161
  // Truncation config (if any). If none, CSS truncation is used
157
- var truncationProps = textWrap === 'truncate' ? _this.getTruncationProps(option, isFocused) : undefined;
162
+ var truncationProps = textWrap === 'truncate' ? _this.getTruncationProps(option, highlightSearch, isFocused) : undefined;
158
163
  return ___EmotionJSX(EuiSelectableListItem, _extends({
159
164
  key: id,
160
165
  id: id,
@@ -182,7 +187,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
182
187
  searchable: searchable,
183
188
  textWrap: textWrap
184
189
  }, optionRest), renderOption ? renderOption( // @ts-ignore complex
185
- _objectSpread(_objectSpread({}, _option), optionData), searchValue) : searchValue ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
190
+ _objectSpread(_objectSpread({}, _option), optionData), searchValue) : highlightSearch ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
186
191
  }, areEqual));
187
192
  _defineProperty(_assertThisInitialized(_this), "renderVirtualizedList", function () {
188
193
  if (!_this.props.isVirtualized) return null;
@@ -280,12 +285,12 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
280
285
  }
281
286
  });
282
287
  });
283
- _defineProperty(_assertThisInitialized(_this), "getTruncationProps", function (option, isFocused) {
288
+ _defineProperty(_assertThisInitialized(_this), "getTruncationProps", function (option, highlightSearch, isFocused) {
284
289
  // Individual truncation settings should override component-wide settings
285
290
  var truncationProps = _objectSpread(_objectSpread({}, _this.props.truncationProps), option.truncationProps);
286
291
 
287
292
  // If we're not actually using EuiTextTruncate, no need to continue
288
- var hasComplexTruncation = _this.props.searchValue || Object.keys(truncationProps).length > 0;
293
+ var hasComplexTruncation = highlightSearch || Object.keys(truncationProps).length > 0;
289
294
  if (!hasComplexTruncation) return undefined;
290
295
 
291
296
  // Determine whether we can use the optimized default option width
@@ -487,6 +492,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
487
492
  ariaLabelledby = _this$props10['aria-labelledby'],
488
493
  ariaDescribedby = _this$props10['aria-describedby'],
489
494
  role = _this$props10.role,
495
+ isPreFiltered = _this$props10.isPreFiltered,
490
496
  isVirtualized = _this$props10.isVirtualized,
491
497
  textWrap = _this$props10.textWrap,
492
498
  truncationProps = _this$props10.truncationProps,
@@ -737,6 +743,9 @@ EuiSelectableList.propTypes = {
737
743
  */
738
744
  allowExclusions: PropTypes.bool,
739
745
  searchable: PropTypes.bool,
746
+ isPreFiltered: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.shape({
747
+ highlightSearch: PropTypes.bool
748
+ }).isRequired]),
740
749
  makeOptionId: PropTypes.func.isRequired,
741
750
  listId: PropTypes.string.isRequired,
742
751
  setActiveOptionIndex: PropTypes.func.isRequired
@@ -1,4 +1,4 @@
1
- var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className"];
1
+ var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className", "optionMatcher"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -23,12 +23,18 @@ export var EuiSelectableSearch = function EuiSelectableSearch(_ref) {
23
23
  isPreFiltered = _ref.isPreFiltered,
24
24
  listId = _ref.listId,
25
25
  className = _ref.className,
26
+ optionMatcher = _ref.optionMatcher,
26
27
  rest = _objectWithoutProperties(_ref, _excluded);
27
28
  var onChange = useCallback(function (e) {
28
29
  var searchValue = e.target.value;
29
- var matchingOptions = getMatchingOptions(options, searchValue, isPreFiltered);
30
+ var matchingOptions = getMatchingOptions({
31
+ options: options,
32
+ searchValue: searchValue,
33
+ isPreFiltered: isPreFiltered,
34
+ optionMatcher: optionMatcher
35
+ });
30
36
  onChangeCallback(searchValue, matchingOptions);
31
- }, [options, isPreFiltered, onChangeCallback]);
37
+ }, [options, isPreFiltered, onChangeCallback, optionMatcher]);
32
38
  var classes = classNames('euiSelectableSearch', className);
33
39
  var ariaPropsIfListIsPresent = listId ? {
34
40
  role: 'combobox',
@@ -78,6 +78,7 @@ export var EuiStepHorizontal = function EuiStepHorizontal(_ref) {
78
78
  if (!disabled) onClick(event);
79
79
  };
80
80
  return ___EmotionJSX("button", _extends({
81
+ "aria-disabled": status === 'disabled' ? true : undefined,
81
82
  className: classes,
82
83
  title: titleAttr,
83
84
  onClick: onStepClick,
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { euiCanAnimate, euiFontSize, euiTextTruncate, logicalCSS } from '../../global_styling';
11
+ import { euiCanAnimate, euiFontSize, euiTextTruncate, logicalCSS, logicalTextAlignCSS } from '../../global_styling';
12
12
  import { euiTableVariables } from './table.styles';
13
13
  var _ref = process.env.NODE_ENV === "production" ? {
14
14
  name: "1amvdy6-bottom",
@@ -52,7 +52,7 @@ export var euiTableRowCellStyles = function euiTableRowCellStyles(euiThemeContex
52
52
  var hasIcons = "line-height: 1;";
53
53
  return {
54
54
  euiTableRowCell: /*#__PURE__*/css("color:", euiTheme.colors.text, ";;label:euiTableRowCell;"),
55
- rowHeader: /*#__PURE__*/css("font-weight:", euiTheme.font.weight.regular, ";;label:rowHeader;"),
55
+ rowHeader: /*#__PURE__*/css("font-weight:", euiTheme.font.weight.regular, ";", logicalTextAlignCSS('left'), ";;label:rowHeader;"),
56
56
  isExpander: /*#__PURE__*/css(hasIcons, ";;label:isExpander;"),
57
57
  hasActions: /*#__PURE__*/css(hasIcons, ";;label:hasActions;"),
58
58
  // valign
@@ -274,7 +274,7 @@ EuiTourStep.propTypes = {
274
274
  /**
275
275
  * Minimum distance between the popover and the bounding container;
276
276
  * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`
277
- * Default is 16
277
+ * @default 16
278
278
  */
279
279
  buffer: PropTypes.oneOfType([PropTypes.number.isRequired, PropTypes.any.isRequired]),
280
280
  /**