@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
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getMatchingOptions = void 0;
6
+ exports.getMatchingOptions = exports.createPartialStringEqualityOptionMatcher = void 0;
7
7
  /*
8
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
9
  * or more contributor license agreements. Licensed under the Elastic License
@@ -23,7 +23,14 @@ var getSelectedOptionForSearchValue = function getSelectedOptionForSearchValue(s
23
23
  return getSearchableLabel(option) === normalizedSearchValue;
24
24
  });
25
25
  };
26
- var collectMatchingOption = function collectMatchingOption(accumulator, option, normalizedSearchValue, isPreFiltered, selectedOptions) {
26
+ var collectMatchingOption = function collectMatchingOption(_ref) {
27
+ var selectedOptions = _ref.selectedOptions,
28
+ isPreFiltered = _ref.isPreFiltered,
29
+ option = _ref.option,
30
+ accumulator = _ref.accumulator,
31
+ searchValue = _ref.searchValue,
32
+ normalizedSearchValue = _ref.normalizedSearchValue,
33
+ optionMatcher = _ref.optionMatcher;
27
34
  // Don't show options that have already been requested if
28
35
  // the selectedOptions list exists
29
36
  if (selectedOptions) {
@@ -43,17 +50,49 @@ var collectMatchingOption = function collectMatchingOption(accumulator, option,
43
50
  accumulator.push(option);
44
51
  return;
45
52
  }
46
- var normalizedOption = getSearchableLabel(option);
47
- if (normalizedOption.includes(normalizedSearchValue)) {
53
+ var isMatching = optionMatcher({
54
+ option: option,
55
+ searchValue: searchValue,
56
+ normalizedSearchValue: normalizedSearchValue
57
+ });
58
+ if (isMatching) {
48
59
  accumulator.push(option);
49
60
  }
50
61
  };
51
- var getMatchingOptions = function getMatchingOptions(options, searchValue, isPreFiltered, selectedOptions) {
62
+ var getMatchingOptions = function getMatchingOptions(_ref2) {
63
+ var searchValue = _ref2.searchValue,
64
+ options = _ref2.options,
65
+ isPreFiltered = _ref2.isPreFiltered,
66
+ _ref2$selectedOptions = _ref2.selectedOptions,
67
+ selectedOptions = _ref2$selectedOptions === void 0 ? [] : _ref2$selectedOptions,
68
+ optionMatcher = _ref2.optionMatcher;
52
69
  var normalizedSearchValue = searchValue.toLowerCase();
53
70
  var matchingOptions = [];
54
71
  options.forEach(function (option) {
55
- collectMatchingOption(matchingOptions, option, normalizedSearchValue, isPreFiltered, selectedOptions);
72
+ collectMatchingOption({
73
+ accumulator: matchingOptions,
74
+ option: option,
75
+ searchValue: searchValue,
76
+ normalizedSearchValue: normalizedSearchValue,
77
+ isPreFiltered: isPreFiltered,
78
+ selectedOptions: selectedOptions,
79
+ optionMatcher: optionMatcher
80
+ });
56
81
  });
57
82
  return matchingOptions;
58
83
  };
59
- exports.getMatchingOptions = getMatchingOptions;
84
+
85
+ /**
86
+ * Partial string equality option matcher for EuiSelectable
87
+ * It matches all options with labels including the searched string.
88
+ */
89
+ exports.getMatchingOptions = getMatchingOptions;
90
+ var createPartialStringEqualityOptionMatcher = function createPartialStringEqualityOptionMatcher() {
91
+ return function (_ref3) {
92
+ var option = _ref3.option,
93
+ normalizedSearchValue = _ref3.normalizedSearchValue;
94
+ var normalizedOption = getSearchableLabel(option);
95
+ return normalizedOption.includes(normalizedSearchValue);
96
+ };
97
+ };
98
+ exports.createPartialStringEqualityOptionMatcher = createPartialStringEqualityOptionMatcher;
@@ -29,7 +29,7 @@ var _services = require("../../services");
29
29
  var _accessibility = require("../accessibility");
30
30
  var _i18n = require("../i18n");
31
31
  var _react2 = require("@emotion/react");
32
- 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"],
32
+ 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"],
33
33
  _excluded2 = ["aria-label", "aria-describedby", "onChange", "defaultValue", "inputRef"],
34
34
  _excluded3 = ["aria-label", "aria-describedby", "isVirtualized", "rowHeight"];
35
35
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -229,9 +229,16 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
229
229
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onOptionClick", function (options, event, clickedOption) {
230
230
  var _this$props = _this.props,
231
231
  isPreFiltered = _this$props.isPreFiltered,
232
- onChange = _this$props.onChange;
232
+ onChange = _this$props.onChange,
233
+ optionMatcher = _this$props.optionMatcher;
233
234
  var searchValue = _this.state.searchValue;
234
- var visibleOptions = (0, _matching_options.getMatchingOptions)(options, searchValue, isPreFiltered);
235
+ var visibleOptions = (0, _matching_options.getMatchingOptions)({
236
+ options: options,
237
+ searchValue: searchValue !== null && searchValue !== void 0 ? searchValue : '',
238
+ isPreFiltered: !!isPreFiltered,
239
+ selectedOptions: [],
240
+ optionMatcher: optionMatcher
241
+ });
235
242
  _this.setState({
236
243
  visibleOptions: visibleOptions
237
244
  });
@@ -256,7 +263,13 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
256
263
  _isPreFiltered = props.isPreFiltered,
257
264
  searchProps = props.searchProps;
258
265
  var initialSearchValue = (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) || String((searchProps === null || searchProps === void 0 ? void 0 : searchProps.defaultValue) || '');
259
- var _visibleOptions = (0, _matching_options.getMatchingOptions)(_options, initialSearchValue, _isPreFiltered);
266
+ var _visibleOptions = (0, _matching_options.getMatchingOptions)({
267
+ options: _options,
268
+ searchValue: initialSearchValue,
269
+ isPreFiltered: !!_isPreFiltered,
270
+ selectedOptions: [],
271
+ optionMatcher: props.optionMatcher
272
+ });
260
273
  searchProps === null || searchProps === void 0 ? void 0 : (_searchProps$onChange = searchProps.onChange) === null || _searchProps$onChange === void 0 ? void 0 : _searchProps$onChange.call(searchProps, initialSearchValue, _visibleOptions);
261
274
 
262
275
  // ensure that the currently selected single option is active if it is in the visibleOptions
@@ -312,6 +325,7 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
312
325
  errorMessage = _this$props3.errorMessage,
313
326
  selectableScreenReaderText = _this$props3.selectableScreenReaderText,
314
327
  isPreFiltered = _this$props3.isPreFiltered,
328
+ optionMatcher = _this$props3.optionMatcher,
315
329
  rest = (0, _objectWithoutProperties2.default)(_this$props3, _excluded);
316
330
  var _this$state = this.state,
317
331
  searchValue = _this$state.searchValue,
@@ -450,7 +464,8 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
450
464
  "aria-activedescendant": _this2.makeOptionId(activeOptionIndex) // the current faux-focused option
451
465
  ,
452
466
  placeholder: placeholderName,
453
- isPreFiltered: isPreFiltered !== null && isPreFiltered !== void 0 ? isPreFiltered : false,
467
+ isPreFiltered: !!isPreFiltered,
468
+ optionMatcher: optionMatcher,
454
469
  inputRef: function inputRef(node) {
455
470
  var _searchProps$inputRef;
456
471
  _this2.inputRef = node;
@@ -494,6 +509,7 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
494
509
  options: options,
495
510
  visibleOptions: visibleOptions,
496
511
  searchValue: searchValue,
512
+ isPreFiltered: isPreFiltered,
497
513
  activeOptionIndex: activeOptionIndex,
498
514
  setActiveOptionIndex: function setActiveOptionIndex(index, cb) {
499
515
  _this2.setState({
@@ -528,7 +544,8 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
528
544
  var _stateUpdate$searchVa;
529
545
  var options = nextProps.options,
530
546
  isPreFiltered = nextProps.isPreFiltered,
531
- searchProps = nextProps.searchProps;
547
+ searchProps = nextProps.searchProps,
548
+ optionMatcher = nextProps.optionMatcher;
532
549
  var activeOptionIndex = prevState.activeOptionIndex,
533
550
  searchValue = prevState.searchValue;
534
551
  var stateUpdate = {
@@ -538,7 +555,13 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
538
555
  if ((searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) != null && searchProps.value !== searchValue) {
539
556
  stateUpdate.searchValue = searchProps.value;
540
557
  }
541
- stateUpdate.visibleOptions = (0, _matching_options.getMatchingOptions)(options, (_stateUpdate$searchVa = stateUpdate.searchValue) !== null && _stateUpdate$searchVa !== void 0 ? _stateUpdate$searchVa : '', isPreFiltered);
558
+ stateUpdate.visibleOptions = (0, _matching_options.getMatchingOptions)({
559
+ options: options,
560
+ searchValue: (_stateUpdate$searchVa = stateUpdate.searchValue) !== null && _stateUpdate$searchVa !== void 0 ? _stateUpdate$searchVa : '',
561
+ isPreFiltered: !!isPreFiltered,
562
+ selectedOptions: [],
563
+ optionMatcher: optionMatcher
564
+ });
542
565
  if (activeOptionIndex != null && activeOptionIndex >= stateUpdate.visibleOptions.length) {
543
566
  stateUpdate.activeOptionIndex = -1;
544
567
  }
@@ -552,7 +575,8 @@ exports.EuiSelectable = EuiSelectable;
552
575
  options: [],
553
576
  singleSelection: false,
554
577
  searchable: false,
555
- isPreFiltered: false
578
+ isPreFiltered: false,
579
+ optionMatcher: (0, _matching_options.createPartialStringEqualityOptionMatcher)()
556
580
  });
557
581
  EuiSelectable.propTypes = {
558
582
  className: _propTypes.default.string,
@@ -703,14 +727,32 @@ EuiSelectable.propTypes = {
703
727
  */
704
728
  errorMessage: _propTypes.default.oneOfType([_propTypes.default.element.isRequired, _propTypes.default.string.isRequired, _propTypes.default.oneOf([null])]),
705
729
  /**
706
- * Control whether or not options get filtered internally or if consumer will filter
707
- * Default: false
730
+ * Control whether or not options get filtered internally (i.e., whether filtering is
731
+ * handled by EUI or by you, the consumer).
732
+ * If set to `true`, all passed `options` will be displayed regardless of the user's
733
+ * search input.
734
+ *
735
+ * Additionally allows passing a configuration object which enables turning off
736
+ * search highlighting if needed.
737
+ *
738
+ * @default false
708
739
  */
709
- isPreFiltered: _propTypes.default.bool,
740
+ isPreFiltered: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.shape({
741
+ highlightSearch: _propTypes.default.bool
742
+ }).isRequired]),
710
743
  /**
711
744
  * Optional screen reader instructions to announce upon focus/interaction. This text is read out
712
745
  * after the `EuiSelectable` label and a brief pause, but before the default keyboard instructions for
713
746
  * interacting with a selectable are read out.
714
747
  */
715
- selectableScreenReaderText: _propTypes.default.string
748
+ selectableScreenReaderText: _propTypes.default.string,
749
+ /**
750
+ * Optional custom option matcher function
751
+ *
752
+ * @example
753
+ * const exactEqualityMatcher: EuiSelectableOptionMatcher = ({ option, searchValue }) => {
754
+ * return option.label === searchValue;
755
+ * }
756
+ */
757
+ optionMatcher: _propTypes.default.func
716
758
  };
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.EuiSelectableList = void 0;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -27,9 +28,9 @@ var _selectable_list_item = require("./selectable_list_item");
27
28
  var _react2 = require("@emotion/react");
28
29
  var _excluded = ["data"],
29
30
  _excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps"],
30
- _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"];
31
+ _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"];
31
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
34
  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; }
34
35
  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) { (0, _defineProperty2.default)(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; }
35
36
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -136,6 +137,7 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
136
137
  setActiveOptionIndex = _this$props2.setActiveOptionIndex,
137
138
  searchable = _this$props2.searchable,
138
139
  searchValue = _this$props2.searchValue,
140
+ isPreFiltered = _this$props2.isPreFiltered,
139
141
  isVirtualized = _this$props2.isVirtualized;
140
142
  if (isGroupLabel) {
141
143
  return (0, _react2.jsx)("li", (0, _extends2.default)({
@@ -148,13 +150,17 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
148
150
  var id = makeOptionId(index);
149
151
  var isFocused = activeOptionIndex === index;
150
152
 
153
+ // Search highlighting
154
+ var hasSearch = !!searchValue;
155
+ var highlightSearch = hasSearch && ((0, _typeof2.default)(isPreFiltered) === 'object' ? isPreFiltered.highlightSearch !== false : true);
156
+
151
157
  // Text wrapping
152
158
  var canWrap = !isVirtualized;
153
159
  var _textWrap = (_option$textWrap = option.textWrap) !== null && _option$textWrap !== void 0 ? _option$textWrap : _this.props.textWrap;
154
160
  var textWrap = canWrap ? _textWrap : 'truncate';
155
161
 
156
162
  // Truncation config (if any). If none, CSS truncation is used
157
- var truncationProps = textWrap === 'truncate' ? _this.getTruncationProps(option, isFocused) : undefined;
163
+ var truncationProps = textWrap === 'truncate' ? _this.getTruncationProps(option, highlightSearch, isFocused) : undefined;
158
164
  return (0, _react2.jsx)(_selectable_list_item.EuiSelectableListItem, (0, _extends2.default)({
159
165
  key: id,
160
166
  id: id,
@@ -182,7 +188,7 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
182
188
  searchable: searchable,
183
189
  textWrap: textWrap
184
190
  }, optionRest), renderOption ? renderOption( // @ts-ignore complex
185
- _objectSpread(_objectSpread({}, _option), optionData), searchValue) : searchValue ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
191
+ _objectSpread(_objectSpread({}, _option), optionData), searchValue) : highlightSearch ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
186
192
  }, _reactWindow.areEqual));
187
193
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderVirtualizedList", function () {
188
194
  if (!_this.props.isVirtualized) return null;
@@ -280,12 +286,12 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
280
286
  }
281
287
  });
282
288
  });
283
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getTruncationProps", function (option, isFocused) {
289
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getTruncationProps", function (option, highlightSearch, isFocused) {
284
290
  // Individual truncation settings should override component-wide settings
285
291
  var truncationProps = _objectSpread(_objectSpread({}, _this.props.truncationProps), option.truncationProps);
286
292
 
287
293
  // If we're not actually using EuiTextTruncate, no need to continue
288
- var hasComplexTruncation = _this.props.searchValue || Object.keys(truncationProps).length > 0;
294
+ var hasComplexTruncation = highlightSearch || Object.keys(truncationProps).length > 0;
289
295
  if (!hasComplexTruncation) return undefined;
290
296
 
291
297
  // Determine whether we can use the optimized default option width
@@ -487,6 +493,7 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
487
493
  ariaLabelledby = _this$props10['aria-labelledby'],
488
494
  ariaDescribedby = _this$props10['aria-describedby'],
489
495
  role = _this$props10.role,
496
+ isPreFiltered = _this$props10.isPreFiltered,
490
497
  isVirtualized = _this$props10.isVirtualized,
491
498
  textWrap = _this$props10.textWrap,
492
499
  truncationProps = _this$props10.truncationProps,
@@ -738,6 +745,9 @@ EuiSelectableList.propTypes = {
738
745
  */
739
746
  allowExclusions: _propTypes.default.bool,
740
747
  searchable: _propTypes.default.bool,
748
+ isPreFiltered: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.shape({
749
+ highlightSearch: _propTypes.default.bool
750
+ }).isRequired]),
741
751
  makeOptionId: _propTypes.default.func.isRequired,
742
752
  listId: _propTypes.default.string.isRequired,
743
753
  setActiveOptionIndex: _propTypes.default.func.isRequired
@@ -13,7 +13,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
  var _form = require("../../form");
14
14
  var _matching_options = require("../matching_options");
15
15
  var _react2 = require("@emotion/react");
16
- var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className"];
16
+ var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className", "optionMatcher"];
17
17
  /*
18
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
19
19
  * or more contributor license agreements. Licensed under the Elastic License
@@ -31,12 +31,18 @@ var EuiSelectableSearch = function EuiSelectableSearch(_ref) {
31
31
  isPreFiltered = _ref.isPreFiltered,
32
32
  listId = _ref.listId,
33
33
  className = _ref.className,
34
+ optionMatcher = _ref.optionMatcher,
34
35
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
35
36
  var onChange = (0, _react.useCallback)(function (e) {
36
37
  var searchValue = e.target.value;
37
- var matchingOptions = (0, _matching_options.getMatchingOptions)(options, searchValue, isPreFiltered);
38
+ var matchingOptions = (0, _matching_options.getMatchingOptions)({
39
+ options: options,
40
+ searchValue: searchValue,
41
+ isPreFiltered: isPreFiltered,
42
+ optionMatcher: optionMatcher
43
+ });
38
44
  onChangeCallback(searchValue, matchingOptions);
39
- }, [options, isPreFiltered, onChangeCallback]);
45
+ }, [options, isPreFiltered, onChangeCallback, optionMatcher]);
40
46
  var classes = (0, _classnames.default)('euiSelectableSearch', className);
41
47
  var ariaPropsIfListIsPresent = listId ? {
42
48
  role: 'combobox',
@@ -83,6 +83,7 @@ var EuiStepHorizontal = function EuiStepHorizontal(_ref) {
83
83
  if (!disabled) onClick(event);
84
84
  };
85
85
  return (0, _react2.jsx)("button", (0, _extends2.default)({
86
+ "aria-disabled": status === 'disabled' ? true : undefined,
86
87
  className: classes,
87
88
  title: titleAttr,
88
89
  onClick: onStepClick,
@@ -56,7 +56,7 @@ var euiTableRowCellStyles = function euiTableRowCellStyles(euiThemeContext) {
56
56
  var hasIcons = "line-height: 1;";
57
57
  return {
58
58
  euiTableRowCell: /*#__PURE__*/(0, _react.css)("color:", euiTheme.colors.text, ";;label:euiTableRowCell;"),
59
- rowHeader: /*#__PURE__*/(0, _react.css)("font-weight:", euiTheme.font.weight.regular, ";;label:rowHeader;"),
59
+ rowHeader: /*#__PURE__*/(0, _react.css)("font-weight:", euiTheme.font.weight.regular, ";", (0, _global_styling.logicalTextAlignCSS)('left'), ";;label:rowHeader;"),
60
60
  isExpander: /*#__PURE__*/(0, _react.css)(hasIcons, ";;label:isExpander;"),
61
61
  hasActions: /*#__PURE__*/(0, _react.css)(hasIcons, ";;label:hasActions;"),
62
62
  // valign
@@ -1,74 +0,0 @@
1
- var _excluded = ["items", "className", "wrapperProps"];
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
- 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
- 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; }
5
- /*
6
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
- * or more contributor license agreements. Licensed under the Elastic License
8
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
9
- * in compliance with, at your election, the Elastic License 2.0 or the Server
10
- * Side Public License, v 1.
11
- */
12
-
13
- import React, { useContext } from 'react';
14
- import PropTypes from "prop-types";
15
- import classNames from 'classnames';
16
- import { useEuiMemoizedStyles, useGeneratedHtmlId } from '../../../services';
17
- import { EuiCollapsibleNavContext } from '../context';
18
- import { EuiCollapsibleNavItem, EuiCollapsibleNavSubItems } from '../collapsible_nav_item/collapsible_nav_item';
19
- import { EuiCollapsedNavPopover } from '../collapsible_nav_item/collapsed/collapsed_nav_popover';
20
- import { euiCollapsibleNavGroupStyles } from './collapsible_nav_group.styles';
21
- import { jsx as ___EmotionJSX } from "@emotion/react";
22
- /**
23
- * This component should only ever be used as a **top-level component**, and not as a sub-item.
24
- * It also should **not** be used in the nav footer.
25
- */
26
- export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
27
- var items = _ref.items,
28
- className = _ref.className,
29
- wrapperProps = _ref.wrapperProps,
30
- props = _objectWithoutProperties(_ref, _excluded);
31
- var _useContext = useContext(EuiCollapsibleNavContext),
32
- isCollapsed = _useContext.isCollapsed,
33
- isPush = _useContext.isPush;
34
- var classes = classNames('euiCollapsibleNavGroup', className, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className);
35
- var styles = useEuiMemoizedStyles(euiCollapsibleNavGroupStyles);
36
- var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
37
- var labelledById = useGeneratedHtmlId();
38
- return ___EmotionJSX("div", _extends({}, wrapperProps, {
39
- className: classes,
40
- css: cssStyles
41
- }), isCollapsed && isPush ? ___EmotionJSX(EuiCollapsedNavPopover, _extends({
42
- className: classes,
43
- items: items
44
- }, props)) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiCollapsibleNavItem, _extends({
45
- id: labelledById
46
- }, props, {
47
- css: styles.euiCollapsibleNavGroup__title
48
- })), ___EmotionJSX(EuiCollapsibleNavSubItems, {
49
- items: items,
50
- isGroup: true,
51
- role: "group",
52
- "aria-labelledby": props.id || labelledById
53
- })));
54
- };
55
- EuiCollapsibleNavGroup.propTypes = {
56
- className: PropTypes.string,
57
- "aria-label": PropTypes.string,
58
- "data-test-subj": PropTypes.string,
59
- css: PropTypes.any,
60
- /**
61
- * Highlights whether an item is currently selected, e.g.
62
- * if the user is on the same page as the nav link
63
- */
64
- isSelected: PropTypes.bool,
65
- /**
66
- * Optional props to pass to the wrapping div
67
- */
68
- wrapperProps: PropTypes.shape({
69
- className: PropTypes.string,
70
- "aria-label": PropTypes.string,
71
- "data-test-subj": PropTypes.string,
72
- css: PropTypes.any
73
- })
74
- };
@@ -1,19 +0,0 @@
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 { euiCollapsibleNavItemVariables } from '../collapsible_nav_item/collapsible_nav_item.styles';
11
- export var euiCollapsibleNavGroupStyles = function euiCollapsibleNavGroupStyles(euiThemeContext) {
12
- var euiTheme = euiThemeContext.euiTheme;
13
- var sharedStyles = euiCollapsibleNavItemVariables(euiThemeContext);
14
- return {
15
- euiCollapsibleNavGroup: /*#__PURE__*/css(";label:euiCollapsibleNavGroup;"),
16
- isWrapper: /*#__PURE__*/css("margin:", sharedStyles.padding, ";;label:isWrapper;"),
17
- euiCollapsibleNavGroup__title: /*#__PURE__*/css("margin-block:", euiTheme.size.base, ";margin-inline:0;.euiIcon{transform:scale(1.25);};label:euiCollapsibleNavGroup__title;")
18
- };
19
- };
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- 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); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.EuiCollapsibleNavGroup = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _services = require("../../../services");
12
- var _context = require("../context");
13
- var _collapsible_nav_item = require("../collapsible_nav_item/collapsible_nav_item");
14
- var _collapsed_nav_popover = require("../collapsible_nav_item/collapsed/collapsed_nav_popover");
15
- var _collapsible_nav_group = require("./collapsible_nav_group.styles");
16
- var _react2 = require("@emotion/react");
17
- var _excluded = ["items", "className", "wrapperProps"];
18
- /*
19
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
- * or more contributor license agreements. Licensed under the Elastic License
21
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
22
- * in compliance with, at your election, the Elastic License 2.0 or the Server
23
- * Side Public License, v 1.
24
- */
25
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
- 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); }
29
- 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; }
30
- 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; }
31
- /**
32
- * This component should only ever be used as a **top-level component**, and not as a sub-item.
33
- * It also should **not** be used in the nav footer.
34
- */
35
- var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
36
- var items = _ref.items,
37
- className = _ref.className,
38
- wrapperProps = _ref.wrapperProps,
39
- props = _objectWithoutProperties(_ref, _excluded);
40
- var _useContext = (0, _react.useContext)(_context.EuiCollapsibleNavContext),
41
- isCollapsed = _useContext.isCollapsed,
42
- isPush = _useContext.isPush;
43
- var classes = (0, _classnames.default)('euiCollapsibleNavGroup', className, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className);
44
- var styles = (0, _services.useEuiMemoizedStyles)(_collapsible_nav_group.euiCollapsibleNavGroupStyles);
45
- var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
46
- var labelledById = (0, _services.useGeneratedHtmlId)();
47
- return (0, _react2.jsx)("div", _extends({}, wrapperProps, {
48
- className: classes,
49
- css: cssStyles
50
- }), isCollapsed && isPush ? (0, _react2.jsx)(_collapsed_nav_popover.EuiCollapsedNavPopover, _extends({
51
- className: classes,
52
- items: items
53
- }, props)) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavItem, _extends({
54
- id: labelledById
55
- }, props, {
56
- css: styles.euiCollapsibleNavGroup__title
57
- })), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
58
- items: items,
59
- isGroup: true,
60
- role: "group",
61
- "aria-labelledby": props.id || labelledById
62
- })));
63
- };
64
- exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
65
- EuiCollapsibleNavGroup.propTypes = {
66
- className: _propTypes.default.string,
67
- "aria-label": _propTypes.default.string,
68
- "data-test-subj": _propTypes.default.string,
69
- css: _propTypes.default.any,
70
- /**
71
- * Highlights whether an item is currently selected, e.g.
72
- * if the user is on the same page as the nav link
73
- */
74
- isSelected: _propTypes.default.bool,
75
- /**
76
- * Optional props to pass to the wrapping div
77
- */
78
- wrapperProps: _propTypes.default.shape({
79
- className: _propTypes.default.string,
80
- "aria-label": _propTypes.default.string,
81
- "data-test-subj": _propTypes.default.string,
82
- css: _propTypes.default.any
83
- })
84
- };
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.euiCollapsibleNavGroupStyles = void 0;
7
- var _react = require("@emotion/react");
8
- var _collapsible_nav_item = require("../collapsible_nav_item/collapsible_nav_item.styles");
9
- /*
10
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
- * or more contributor license agreements. Licensed under the Elastic License
12
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
- * in compliance with, at your election, the Elastic License 2.0 or the Server
14
- * Side Public License, v 1.
15
- */
16
-
17
- var euiCollapsibleNavGroupStyles = function euiCollapsibleNavGroupStyles(euiThemeContext) {
18
- var euiTheme = euiThemeContext.euiTheme;
19
- var sharedStyles = (0, _collapsible_nav_item.euiCollapsibleNavItemVariables)(euiThemeContext);
20
- return {
21
- euiCollapsibleNavGroup: /*#__PURE__*/(0, _react.css)(";label:euiCollapsibleNavGroup;"),
22
- isWrapper: /*#__PURE__*/(0, _react.css)("margin:", sharedStyles.padding, ";;label:isWrapper;"),
23
- euiCollapsibleNavGroup__title: /*#__PURE__*/(0, _react.css)("margin-block:", euiTheme.size.base, ";margin-inline:0;.euiIcon{transform:scale(1.25);};label:euiCollapsibleNavGroup__title;")
24
- };
25
- };
26
- exports.euiCollapsibleNavGroupStyles = euiCollapsibleNavGroupStyles;
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "EuiCollapsibleNavGroup", {
7
- enumerable: true,
8
- get: function get() {
9
- return _collapsible_nav_group.EuiCollapsibleNavGroup;
10
- }
11
- });
12
- var _collapsible_nav_group = require("./collapsible_nav_group");
@@ -1,52 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["items", "className", "wrapperProps"];
4
- /*
5
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
- * or more contributor license agreements. Licensed under the Elastic License
7
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
- * in compliance with, at your election, the Elastic License 2.0 or the Server
9
- * Side Public License, v 1.
10
- */
11
-
12
- import React, { useContext } from 'react';
13
- import classNames from 'classnames';
14
- import { useEuiMemoizedStyles, useGeneratedHtmlId } from '../../../services';
15
- import { EuiCollapsibleNavContext } from '../context';
16
- import { EuiCollapsibleNavItem, EuiCollapsibleNavSubItems } from '../collapsible_nav_item/collapsible_nav_item';
17
- import { EuiCollapsedNavPopover } from '../collapsible_nav_item/collapsed/collapsed_nav_popover';
18
- import { euiCollapsibleNavGroupStyles } from './collapsible_nav_group.styles';
19
- import { jsx as ___EmotionJSX } from "@emotion/react";
20
- /**
21
- * This component should only ever be used as a **top-level component**, and not as a sub-item.
22
- * It also should **not** be used in the nav footer.
23
- */
24
- export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
25
- var items = _ref.items,
26
- className = _ref.className,
27
- wrapperProps = _ref.wrapperProps,
28
- props = _objectWithoutProperties(_ref, _excluded);
29
- var _useContext = useContext(EuiCollapsibleNavContext),
30
- isCollapsed = _useContext.isCollapsed,
31
- isPush = _useContext.isPush;
32
- var classes = classNames('euiCollapsibleNavGroup', className, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className);
33
- var styles = useEuiMemoizedStyles(euiCollapsibleNavGroupStyles);
34
- var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
35
- var labelledById = useGeneratedHtmlId();
36
- return ___EmotionJSX("div", _extends({}, wrapperProps, {
37
- className: classes,
38
- css: cssStyles
39
- }), isCollapsed && isPush ? ___EmotionJSX(EuiCollapsedNavPopover, _extends({
40
- className: classes,
41
- items: items
42
- }, props)) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiCollapsibleNavItem, _extends({
43
- id: labelledById
44
- }, props, {
45
- css: styles.euiCollapsibleNavGroup__title
46
- })), ___EmotionJSX(EuiCollapsibleNavSubItems, {
47
- items: items,
48
- isGroup: true,
49
- role: "group",
50
- "aria-labelledby": props.id || labelledById
51
- })));
52
- };