@elastic/eui 86.0.0 → 87.1.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 (413) hide show
  1. package/dist/eui_charts_theme.js +7589 -7237
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +0 -182
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +0 -182
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accordion/accordion.js +82 -35
  8. package/es/components/auto_sizer/index.js +1 -1
  9. package/es/components/basic_table/basic_table.js +49 -34
  10. package/es/components/basic_table/in_memory_table.js +30 -11
  11. package/es/components/basic_table/pagination_bar.js +16 -11
  12. package/es/components/bottom_bar/bottom_bar.js +9 -2
  13. package/es/components/breadcrumbs/breadcrumb.js +219 -42
  14. package/es/components/breadcrumbs/breadcrumbs.js +162 -2
  15. package/es/components/code/code_block_virtualized.js +25 -17
  16. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +206 -12
  17. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +17 -2
  18. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +70 -0
  19. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +32 -0
  20. package/es/components/collapsible_nav_beta/collapsible_nav_button/index.js +9 -0
  21. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +138 -0
  22. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +39 -0
  23. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +111 -0
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +184 -0
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +38 -0
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +9 -0
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
  28. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  29. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +32 -23
  30. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  31. package/es/components/collapsible_nav_beta/context.js +14 -0
  32. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
  33. package/es/components/control_bar/control_bar.js +162 -2
  34. package/es/components/datagrid/body/data_grid_body.js +17 -31
  35. package/es/components/datagrid/body/data_grid_body_custom.js +17 -31
  36. package/es/components/datagrid/body/data_grid_body_virtualized.js +17 -31
  37. package/es/components/datagrid/body/data_grid_cell.js +30 -62
  38. package/es/components/datagrid/body/header/data_grid_header_cell.js +16 -6
  39. package/es/components/datagrid/body/header/data_grid_header_row.js +16 -6
  40. package/es/components/datagrid/data_grid.js +32 -10
  41. package/es/components/datagrid/utils/data_grid_pagination.js +9 -6
  42. package/es/components/datagrid/utils/in_memory.js +16 -6
  43. package/es/components/date_picker/date_picker_range.js +5 -2
  44. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  45. package/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  46. package/es/components/date_picker/super_date_picker/super_date_picker.js +10 -4
  47. package/es/components/date_picker/super_date_picker/super_update_button.js +5 -2
  48. package/es/components/empty_prompt/empty_prompt.js +0 -1
  49. package/es/components/filter_group/filter_group.a11y.js +2 -2
  50. package/es/components/flyout/flyout.js +9 -7
  51. package/es/components/flyout/flyout_body.js +15 -3
  52. package/es/components/focus_trap/focus_trap.js +91 -13
  53. package/es/components/form/range/dual_range.js +33 -6
  54. package/es/components/form/range/range.js +31 -6
  55. package/es/components/form/super_select/super_select.js +1 -1
  56. package/es/components/header/header.a11y.js +1 -5
  57. package/es/components/header/header.js +4 -9
  58. package/es/components/header/header.styles.js +6 -4
  59. package/es/components/header/header_alert/header_alert.js +14 -6
  60. package/es/components/header/header_alert/header_alert.styles.js +21 -0
  61. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +162 -2
  62. package/es/components/header/header_links/header_links.js +14 -19
  63. package/es/components/header/header_links/header_links.styles.js +41 -0
  64. package/es/components/header/header_section/header_section.js +7 -11
  65. package/es/components/header/header_section/header_section.styles.js +38 -0
  66. package/es/components/header/header_section/header_section_item.js +12 -16
  67. package/es/components/header/header_section/header_section_item.styles.js +16 -0
  68. package/es/components/header/header_section/header_section_item_button.js +9 -2
  69. package/es/components/header/header_section/header_section_item_button.styles.js +44 -0
  70. package/es/components/list_group/list_group.js +6 -1
  71. package/es/components/list_group/list_group_item.js +25 -9
  72. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +11 -1
  73. package/es/components/page/page_header/page_header_content.js +162 -2
  74. package/es/components/page/page_sidebar/page_sidebar.js +2 -2
  75. package/es/components/page/page_template.js +8 -1
  76. package/es/components/page_template/page_template.js +13 -5
  77. package/es/components/popover/input_popover.js +24 -9
  78. package/es/components/popover/popover.js +4 -6
  79. package/es/components/portal/portal.js +44 -14
  80. package/es/components/provider/component_defaults/component_defaults.js +73 -0
  81. package/es/components/provider/component_defaults/index.js +9 -0
  82. package/es/components/provider/index.js +2 -1
  83. package/es/components/provider/provider.js +5 -1
  84. package/es/components/selectable/selectable_list/selectable_list.js +97 -79
  85. package/es/components/steps/step.styles.js +2 -1
  86. package/es/components/steps/step_horizontal.styles.js +2 -1
  87. package/es/components/steps/step_number.styles.js +3 -2
  88. package/es/components/table/table_pagination/index.js +4 -1
  89. package/es/components/table/table_pagination/table_pagination.js +24 -15
  90. package/es/components/table/table_pagination/table_pagination_defaults.js +32 -0
  91. package/es/components/tool_tip/icon_tip.js +7 -5
  92. package/es/components/tool_tip/tool_tip.js +8 -15
  93. package/es/components/tool_tip/tool_tip_anchor.js +5 -14
  94. package/es/components/tour/tour_step.js +2 -7
  95. package/eui.d.ts +2459 -2129
  96. package/i18ntokens.json +188 -116
  97. package/lib/components/accordion/accordion.js +82 -35
  98. package/lib/components/auto_sizer/index.js +11 -7
  99. package/lib/components/basic_table/basic_table.js +49 -34
  100. package/lib/components/basic_table/in_memory_table.js +31 -12
  101. package/lib/components/basic_table/pagination_bar.js +18 -14
  102. package/lib/components/bottom_bar/bottom_bar.js +9 -2
  103. package/lib/components/breadcrumbs/breadcrumb.js +219 -42
  104. package/lib/components/breadcrumbs/breadcrumbs.js +14 -2
  105. package/lib/components/code/code_block_virtualized.js +25 -17
  106. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +216 -17
  107. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +22 -9
  108. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +80 -0
  109. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +37 -0
  110. package/lib/components/collapsible_nav_beta/collapsible_nav_button/index.js +12 -0
  111. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +148 -0
  112. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +45 -0
  113. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +117 -0
  114. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +194 -0
  115. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +44 -0
  116. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +12 -0
  117. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
  118. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  119. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +35 -23
  120. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  121. package/lib/components/collapsible_nav_beta/context.js +21 -0
  122. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
  123. package/lib/components/control_bar/control_bar.js +14 -2
  124. package/lib/components/datagrid/body/data_grid_body.js +17 -31
  125. package/lib/components/datagrid/body/data_grid_body_custom.js +17 -31
  126. package/lib/components/datagrid/body/data_grid_body_virtualized.js +17 -31
  127. package/lib/components/datagrid/body/data_grid_cell.js +30 -62
  128. package/lib/components/datagrid/body/header/data_grid_header_cell.js +16 -6
  129. package/lib/components/datagrid/body/header/data_grid_header_row.js +16 -6
  130. package/lib/components/datagrid/data_grid.js +32 -10
  131. package/lib/components/datagrid/utils/data_grid_pagination.js +8 -5
  132. package/lib/components/datagrid/utils/in_memory.js +16 -6
  133. package/lib/components/date_picker/date_picker_range.js +5 -2
  134. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  135. package/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  136. package/lib/components/date_picker/super_date_picker/super_date_picker.js +10 -4
  137. package/lib/components/date_picker/super_date_picker/super_update_button.js +5 -2
  138. package/lib/components/empty_prompt/empty_prompt.js +4 -5
  139. package/lib/components/filter_group/filter_group.a11y.js +2 -2
  140. package/lib/components/flyout/flyout.js +9 -7
  141. package/lib/components/flyout/flyout_body.js +15 -3
  142. package/lib/components/focus_trap/focus_trap.js +92 -14
  143. package/lib/components/form/range/dual_range.js +33 -6
  144. package/lib/components/form/range/range.js +14 -6
  145. package/lib/components/form/super_select/super_select.js +1 -1
  146. package/lib/components/header/header.a11y.js +1 -5
  147. package/lib/components/header/header.js +4 -9
  148. package/lib/components/header/header.styles.js +6 -4
  149. package/lib/components/header/header_alert/header_alert.js +13 -5
  150. package/lib/components/header/header_alert/header_alert.styles.js +28 -0
  151. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +14 -2
  152. package/lib/components/header/header_links/header_links.js +13 -166
  153. package/lib/components/header/header_links/header_links.styles.js +46 -0
  154. package/lib/components/header/header_section/header_section.js +7 -11
  155. package/lib/components/header/header_section/header_section.styles.js +43 -0
  156. package/lib/components/header/header_section/header_section_item.js +12 -16
  157. package/lib/components/header/header_section/header_section_item.styles.js +23 -0
  158. package/lib/components/header/header_section/header_section_item_button.js +9 -2
  159. package/lib/components/header/header_section/header_section_item_button.styles.js +49 -0
  160. package/lib/components/list_group/list_group.js +6 -1
  161. package/lib/components/list_group/list_group_item.js +24 -9
  162. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +11 -1
  163. package/lib/components/page/page_header/page_header_content.js +14 -2
  164. package/lib/components/page/page_sidebar/page_sidebar.js +1 -1
  165. package/lib/components/page/page_template.js +8 -1
  166. package/lib/components/page_template/page_template.js +13 -5
  167. package/lib/components/popover/input_popover.js +23 -8
  168. package/lib/components/popover/popover.js +4 -6
  169. package/lib/components/portal/portal.js +48 -17
  170. package/lib/components/provider/component_defaults/component_defaults.js +83 -0
  171. package/lib/components/provider/component_defaults/index.js +16 -0
  172. package/lib/components/provider/index.js +14 -1
  173. package/lib/components/provider/provider.js +5 -1
  174. package/lib/components/selectable/selectable_list/selectable_list.js +97 -79
  175. package/lib/components/steps/step.styles.js +2 -1
  176. package/lib/components/steps/step_horizontal.styles.js +2 -1
  177. package/lib/components/steps/step_number.styles.js +3 -2
  178. package/lib/components/table/table_pagination/index.js +14 -1
  179. package/lib/components/table/table_pagination/table_pagination.js +24 -15
  180. package/lib/components/table/table_pagination/table_pagination_defaults.js +38 -0
  181. package/lib/components/tool_tip/icon_tip.js +7 -5
  182. package/lib/components/tool_tip/tool_tip.js +9 -16
  183. package/lib/components/tool_tip/tool_tip_anchor.js +5 -13
  184. package/optimize/es/components/accordion/accordion.js +82 -35
  185. package/optimize/es/components/auto_sizer/index.js +1 -1
  186. package/optimize/es/components/basic_table/basic_table.js +41 -32
  187. package/optimize/es/components/basic_table/in_memory_table.js +14 -10
  188. package/optimize/es/components/basic_table/pagination_bar.js +16 -11
  189. package/optimize/es/components/breadcrumbs/breadcrumb.js +58 -41
  190. package/optimize/es/components/code/code_block_virtualized.js +25 -17
  191. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +154 -12
  192. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +17 -2
  193. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +62 -0
  194. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +32 -0
  195. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/index.js +9 -0
  196. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +62 -0
  197. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +39 -0
  198. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +36 -0
  199. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +98 -0
  200. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +38 -0
  201. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +9 -0
  202. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  203. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +23 -14
  204. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  205. package/optimize/es/components/collapsible_nav_beta/context.js +14 -0
  206. package/optimize/es/components/datagrid/data_grid.js +9 -1
  207. package/optimize/es/components/datagrid/utils/data_grid_pagination.js +9 -6
  208. package/optimize/es/components/date_picker/date_picker_range.js +5 -2
  209. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  210. package/optimize/es/components/filter_group/filter_group.a11y.js +2 -2
  211. package/optimize/es/components/flyout/flyout.js +9 -7
  212. package/optimize/es/components/flyout/flyout_body.js +4 -2
  213. package/optimize/es/components/focus_trap/focus_trap.js +13 -8
  214. package/optimize/es/components/form/range/dual_range.js +7 -4
  215. package/optimize/es/components/form/range/range.js +5 -4
  216. package/optimize/es/components/header/header.a11y.js +1 -5
  217. package/optimize/es/components/header/header.js +4 -5
  218. package/optimize/es/components/header/header.styles.js +6 -4
  219. package/optimize/es/components/header/header_alert/header_alert.js +14 -6
  220. package/optimize/es/components/header/header_alert/header_alert.styles.js +21 -0
  221. package/optimize/es/components/header/header_links/header_links.js +11 -11
  222. package/optimize/es/components/header/header_links/header_links.styles.js +41 -0
  223. package/optimize/es/components/header/header_section/header_section.js +7 -11
  224. package/optimize/es/components/header/header_section/header_section.styles.js +38 -0
  225. package/optimize/es/components/header/header_section/header_section_item.js +12 -11
  226. package/optimize/es/components/header/header_section/header_section_item.styles.js +16 -0
  227. package/optimize/es/components/header/header_section/header_section_item_button.js +9 -2
  228. package/optimize/es/components/header/header_section/header_section_item_button.styles.js +44 -0
  229. package/optimize/es/components/list_group/list_group_item.js +16 -8
  230. package/optimize/es/components/page/page_sidebar/page_sidebar.js +2 -2
  231. package/optimize/es/components/page_template/page_template.js +13 -5
  232. package/optimize/es/components/popover/input_popover.js +13 -8
  233. package/optimize/es/components/popover/popover.js +2 -3
  234. package/optimize/es/components/portal/portal.js +17 -12
  235. package/optimize/es/components/provider/component_defaults/component_defaults.js +50 -0
  236. package/optimize/es/components/provider/component_defaults/index.js +9 -0
  237. package/optimize/es/components/provider/index.js +2 -1
  238. package/optimize/es/components/provider/provider.js +5 -1
  239. package/optimize/es/components/selectable/selectable_list/selectable_list.js +97 -79
  240. package/optimize/es/components/steps/step.styles.js +2 -1
  241. package/optimize/es/components/steps/step_horizontal.styles.js +2 -1
  242. package/optimize/es/components/steps/step_number.styles.js +3 -2
  243. package/optimize/es/components/table/table_pagination/index.js +4 -1
  244. package/optimize/es/components/table/table_pagination/table_pagination.js +18 -15
  245. package/optimize/es/components/table/table_pagination/table_pagination_defaults.js +29 -0
  246. package/optimize/es/components/tool_tip/tool_tip.js +3 -13
  247. package/optimize/es/components/tool_tip/tool_tip_anchor.js +4 -8
  248. package/optimize/lib/components/accordion/accordion.js +82 -35
  249. package/optimize/lib/components/auto_sizer/index.js +11 -7
  250. package/optimize/lib/components/basic_table/basic_table.js +41 -32
  251. package/optimize/lib/components/basic_table/in_memory_table.js +21 -17
  252. package/optimize/lib/components/basic_table/pagination_bar.js +18 -14
  253. package/optimize/lib/components/breadcrumbs/breadcrumb.js +58 -41
  254. package/optimize/lib/components/code/code_block_virtualized.js +25 -17
  255. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +156 -11
  256. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +22 -9
  257. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +72 -0
  258. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +37 -0
  259. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/index.js +12 -0
  260. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +72 -0
  261. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +45 -0
  262. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +42 -0
  263. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +108 -0
  264. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +44 -0
  265. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +12 -0
  266. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  267. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +26 -14
  268. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  269. package/optimize/lib/components/collapsible_nav_beta/context.js +21 -0
  270. package/optimize/lib/components/datagrid/data_grid.js +9 -1
  271. package/optimize/lib/components/datagrid/utils/data_grid_pagination.js +8 -5
  272. package/optimize/lib/components/date_picker/date_picker_range.js +5 -2
  273. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  274. package/optimize/lib/components/filter_group/filter_group.a11y.js +2 -2
  275. package/optimize/lib/components/flyout/flyout.js +9 -7
  276. package/optimize/lib/components/flyout/flyout_body.js +4 -2
  277. package/optimize/lib/components/focus_trap/focus_trap.js +14 -9
  278. package/optimize/lib/components/form/range/dual_range.js +7 -4
  279. package/optimize/lib/components/form/range/range.js +5 -4
  280. package/optimize/lib/components/header/header.a11y.js +1 -5
  281. package/optimize/lib/components/header/header.js +4 -5
  282. package/optimize/lib/components/header/header.styles.js +6 -4
  283. package/optimize/lib/components/header/header_alert/header_alert.js +13 -5
  284. package/optimize/lib/components/header/header_alert/header_alert.styles.js +28 -0
  285. package/optimize/lib/components/header/header_links/header_links.js +11 -11
  286. package/optimize/lib/components/header/header_links/header_links.styles.js +46 -0
  287. package/optimize/lib/components/header/header_section/header_section.js +7 -11
  288. package/optimize/lib/components/header/header_section/header_section.styles.js +43 -0
  289. package/optimize/lib/components/header/header_section/header_section_item.js +12 -11
  290. package/optimize/lib/components/header/header_section/header_section_item.styles.js +23 -0
  291. package/optimize/lib/components/header/header_section/header_section_item_button.js +9 -2
  292. package/optimize/lib/components/header/header_section/header_section_item_button.styles.js +49 -0
  293. package/optimize/lib/components/list_group/list_group_item.js +16 -8
  294. package/optimize/lib/components/page/page_sidebar/page_sidebar.js +1 -1
  295. package/optimize/lib/components/page_template/page_template.js +13 -5
  296. package/optimize/lib/components/popover/input_popover.js +12 -7
  297. package/optimize/lib/components/popover/popover.js +2 -3
  298. package/optimize/lib/components/portal/portal.js +22 -15
  299. package/optimize/lib/components/provider/component_defaults/component_defaults.js +61 -0
  300. package/optimize/lib/components/provider/component_defaults/index.js +16 -0
  301. package/optimize/lib/components/provider/index.js +14 -1
  302. package/optimize/lib/components/provider/provider.js +5 -1
  303. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +97 -79
  304. package/optimize/lib/components/steps/step.styles.js +2 -1
  305. package/optimize/lib/components/steps/step_horizontal.styles.js +2 -1
  306. package/optimize/lib/components/steps/step_number.styles.js +3 -2
  307. package/optimize/lib/components/table/table_pagination/index.js +14 -1
  308. package/optimize/lib/components/table/table_pagination/table_pagination.js +18 -15
  309. package/optimize/lib/components/table/table_pagination/table_pagination_defaults.js +36 -0
  310. package/optimize/lib/components/tool_tip/tool_tip.js +3 -13
  311. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +4 -8
  312. package/package.json +13 -15
  313. package/src/components/index.scss +0 -1
  314. package/src/global_styling/variables/_header.scss +0 -6
  315. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  316. package/test-env/components/accordion/accordion.js +82 -35
  317. package/test-env/components/auto_sizer/index.js +11 -7
  318. package/test-env/components/basic_table/basic_table.js +49 -34
  319. package/test-env/components/basic_table/in_memory_table.js +37 -18
  320. package/test-env/components/basic_table/pagination_bar.js +18 -14
  321. package/test-env/components/bottom_bar/bottom_bar.js +9 -2
  322. package/test-env/components/breadcrumbs/breadcrumb.js +219 -42
  323. package/test-env/components/breadcrumbs/breadcrumbs.js +14 -2
  324. package/test-env/components/code/code_block_virtualized.js +25 -17
  325. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +197 -12
  326. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +22 -9
  327. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +79 -0
  328. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +37 -0
  329. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/index.js +12 -0
  330. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +147 -0
  331. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +45 -0
  332. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +116 -0
  333. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +188 -0
  334. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +44 -0
  335. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +12 -0
  336. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
  337. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  338. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +35 -23
  339. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  340. package/test-env/components/collapsible_nav_beta/context.js +21 -0
  341. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
  342. package/test-env/components/control_bar/control_bar.js +14 -2
  343. package/test-env/components/datagrid/body/data_grid_body.js +17 -31
  344. package/test-env/components/datagrid/body/data_grid_body_custom.js +17 -31
  345. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +17 -31
  346. package/test-env/components/datagrid/body/data_grid_cell.js +30 -62
  347. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +16 -6
  348. package/test-env/components/datagrid/body/header/data_grid_header_row.js +16 -6
  349. package/test-env/components/datagrid/data_grid.js +32 -10
  350. package/test-env/components/datagrid/utils/data_grid_pagination.js +8 -5
  351. package/test-env/components/datagrid/utils/in_memory.js +16 -6
  352. package/test-env/components/date_picker/date_picker_range.js +5 -2
  353. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  354. package/test-env/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  355. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +10 -4
  356. package/test-env/components/date_picker/super_date_picker/super_update_button.js +5 -2
  357. package/test-env/components/empty_prompt/empty_prompt.js +4 -5
  358. package/test-env/components/filter_group/filter_group.a11y.js +2 -2
  359. package/test-env/components/flyout/flyout_body.js +15 -3
  360. package/test-env/components/form/range/dual_range.js +33 -6
  361. package/test-env/components/form/range/range.js +14 -6
  362. package/test-env/components/form/super_select/super_select.js +1 -1
  363. package/test-env/components/header/header.a11y.js +1 -5
  364. package/test-env/components/header/header.js +4 -9
  365. package/test-env/components/header/header.styles.js +6 -4
  366. package/test-env/components/header/header_alert/header_alert.js +13 -5
  367. package/test-env/components/header/header_alert/header_alert.styles.js +28 -0
  368. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +14 -2
  369. package/test-env/components/header/header_links/header_links.js +13 -166
  370. package/test-env/components/header/header_links/header_links.styles.js +46 -0
  371. package/test-env/components/header/header_section/header_section.js +7 -11
  372. package/test-env/components/header/header_section/header_section.styles.js +43 -0
  373. package/test-env/components/header/header_section/header_section_item.js +12 -16
  374. package/test-env/components/header/header_section/header_section_item.styles.js +23 -0
  375. package/test-env/components/header/header_section/header_section_item_button.js +9 -2
  376. package/test-env/components/header/header_section/header_section_item_button.styles.js +49 -0
  377. package/test-env/components/list_group/list_group.js +6 -1
  378. package/test-env/components/list_group/list_group_item.js +22 -9
  379. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +11 -1
  380. package/test-env/components/page/page_header/page_header_content.js +14 -2
  381. package/test-env/components/page/page_sidebar/page_sidebar.js +1 -1
  382. package/test-env/components/page/page_template.js +8 -1
  383. package/test-env/components/page_template/page_template.js +13 -5
  384. package/test-env/components/popover/input_popover.js +23 -8
  385. package/test-env/components/popover/popover.js +4 -6
  386. package/test-env/components/portal/portal.js +49 -17
  387. package/test-env/components/provider/component_defaults/component_defaults.js +81 -0
  388. package/test-env/components/provider/component_defaults/index.js +16 -0
  389. package/test-env/components/provider/index.js +14 -1
  390. package/test-env/components/provider/provider.js +5 -1
  391. package/test-env/components/selectable/selectable_list/selectable_list.js +97 -79
  392. package/test-env/components/steps/step.styles.js +2 -1
  393. package/test-env/components/steps/step_horizontal.styles.js +2 -1
  394. package/test-env/components/steps/step_number.styles.js +3 -2
  395. package/test-env/components/table/table_pagination/index.js +14 -1
  396. package/test-env/components/table/table_pagination/table_pagination.js +24 -15
  397. package/test-env/components/table/table_pagination/table_pagination_defaults.js +36 -0
  398. package/test-env/components/tool_tip/icon_tip.js +7 -5
  399. package/test-env/components/tool_tip/tool_tip.js +9 -16
  400. package/test-env/components/tool_tip/tool_tip_anchor.js +5 -11
  401. package/src/components/header/_index.scss +0 -3
  402. package/src/components/header/header_alert/_header_alert.scss +0 -40
  403. package/src/components/header/header_alert/_index.scss +0 -1
  404. package/src/components/header/header_links/_header_link.scss +0 -13
  405. package/src/components/header/header_links/_header_links.scss +0 -16
  406. package/src/components/header/header_links/_index.scss +0 -4
  407. package/src/components/header/header_links/_variables.scss +0 -6
  408. package/src/components/header/header_section/_header_section.scss +0 -14
  409. package/src/components/header/header_section/_header_section_item.scss +0 -44
  410. package/src/components/header/header_section/_header_section_item_button.scss +0 -40
  411. package/src/components/header/header_section/_index.scss +0 -3
  412. package/src/components/portal/__snapshots__/_index.scss +0 -1
  413. package/src/themes/amsterdam/overrides/_header.scss +0 -4
@@ -223,6 +223,11 @@ EuiPinnableListGroup.propTypes = {
223
223
  * By default the text will be same as the label text.
224
224
  */
225
225
  toolTipText: _propTypes.default.string,
226
+ /**
227
+ * Allows customizing the tooltip shown when `showToolTip` is true.
228
+ * Accepts any props that [EuiToolTip](/#/display/tooltip) accepts.
229
+ */
230
+ toolTipProps: _propTypes.default.any,
226
231
  /**
227
232
  * Saves the pinned status and changes the visibility of the pin icon
228
233
  */
@@ -324,7 +329,12 @@ EuiPinnableListGroup.propTypes = {
324
329
  * Text to be displayed in the tooltip when `showToolTip` is true.
325
330
  * By default the text will be same as the label text.
326
331
  */
327
- toolTipText: _propTypes.default.string
332
+ toolTipText: _propTypes.default.string,
333
+ /**
334
+ * Allows customizing the tooltip shown when `showToolTip` is true.
335
+ * Accepts any props that [EuiToolTip](/#/display/tooltip) accepts.
336
+ */
337
+ toolTipProps: _propTypes.default.any
328
338
  }).isRequired)]),
329
339
  /**
330
340
  * Shows the pin icon and calls this function on click.
@@ -293,13 +293,25 @@ EuiPageHeaderContent.propTypes = {
293
293
  */
294
294
  truncate: _propTypes.default.bool,
295
295
  /**
296
- * Accepts any EuiLink `color` when rendered as one (has `href` or `onClick`)
296
+ * Accepts any EuiLink `color` when rendered as one (has `href`, `onClick`, or `popoverContent`)
297
297
  */
298
298
  color: _propTypes.default.any,
299
299
  /**
300
300
  * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
301
301
  */
302
- "aria-current": _propTypes.default.any
302
+ "aria-current": _propTypes.default.any,
303
+ /**
304
+ * Creates a breadcrumb that toggles a popover dialog
305
+ *
306
+ * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
307
+ * click behavior should only trigger a popover.
308
+ */
309
+ popoverContent: _propTypes.default.node,
310
+ /**
311
+ * Allows customizing the popover if necessary. Accepts any props that
312
+ * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
313
+ */
314
+ popoverProps: _propTypes.default.any
303
315
  }).isRequired),
304
316
  /**
305
317
  * Adjust the props of [EuiBreadcrumbs](#/navigation/breadcrumbs)
@@ -52,7 +52,7 @@ var EuiPageSidebar = function EuiPageSidebar(_ref) {
52
52
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
53
53
  inlineStyles = _useState2[0],
54
54
  setInlineStyles = _useState2[1];
55
- (0, _react.useEffect)(function () {
55
+ (0, _react.useLayoutEffect)(function () {
56
56
  var updatedStyles = _objectSpread(_objectSpread({}, style), (0, _global_styling.logicalStyle)('min-width', isResponding ? '100%' : minWidth));
57
57
  if (sticky) {
58
58
  var _document$body$datase;
@@ -527,10 +527,17 @@ EuiPageTemplate_Deprecated.propTypes = {
527
527
  * ReactNode to render as this component's content
528
528
  */
529
529
  children: _propTypes.default.node.isRequired,
530
+ /**
531
+ * If not specified, `EuiPortal` will insert itself
532
+ * into the end of the `document.body` by default
533
+ */
530
534
  insert: _propTypes.default.shape({
531
535
  sibling: _propTypes.default.any.isRequired,
532
- position: _propTypes.default.oneOf(["before", "after"]).isRequired
536
+ position: _propTypes.default.any.isRequired
533
537
  }),
538
+ /**
539
+ * Optional ref callback
540
+ */
534
541
  portalRef: _propTypes.default.func
535
542
  }).isRequired]),
536
543
  /**
@@ -40,6 +40,14 @@ var TemplateContext = /*#__PURE__*/(0, _react.createContext)({
40
40
  bottomBar: {}
41
41
  });
42
42
  exports.TemplateContext = TemplateContext;
43
+ var calculateOffset = function calculateOffset(base) {
44
+ var _document$body$datase;
45
+ if (typeof document === 'undefined') return 0; // SSR catch
46
+
47
+ var euiHeaderFixedCounter = Number((_document$body$datase = document.body.dataset.fixedHeaders) !== null && _document$body$datase !== void 0 ? _document$body$datase : 0);
48
+ return base * 3 * euiHeaderFixedCounter;
49
+ };
50
+
43
51
  /**
44
52
  * Consumed via `EuiPageTemplate`,
45
53
  * it controls and propogates most of the shared props per direct child
@@ -66,7 +74,9 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
66
74
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
67
75
  var _useEuiTheme = (0, _services.useEuiTheme)(),
68
76
  euiTheme = _useEuiTheme.euiTheme;
69
- var _useState = (0, _react.useState)(_offset),
77
+ var _useState = (0, _react.useState)(function () {
78
+ return _offset !== null && _offset !== void 0 ? _offset : calculateOffset(euiTheme.base);
79
+ }),
70
80
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
71
81
  offset = _useState2[0],
72
82
  setOffset = _useState2[1];
@@ -79,9 +89,7 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
79
89
  });
80
90
  (0, _react.useEffect)(function () {
81
91
  if (_offset === undefined) {
82
- var _document$body$datase;
83
- var euiHeaderFixedCounter = Number((_document$body$datase = document.body.dataset.fixedHeaders) !== null && _document$body$datase !== void 0 ? _document$body$datase : 0);
84
- setOffset(euiTheme.base * 3 * euiHeaderFixedCounter);
92
+ setOffset(calculateOffset(euiTheme.base));
85
93
  }
86
94
  }, [_offset, euiTheme.base]);
87
95
 
@@ -123,7 +131,7 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
123
131
  };
124
132
  };
125
133
  var innerPanelled = function innerPanelled() {
126
- return panelled === false ? false : Boolean(sidebar.length > 0);
134
+ return panelled !== null && panelled !== void 0 ? panelled : Boolean(sidebar.length > 0);
127
135
  };
128
136
  var innerBordered = function innerBordered() {
129
137
  return contentBorder !== undefined ? contentBorder : Boolean(sidebar.length > 0);
@@ -20,7 +20,7 @@ var _services = require("../../services");
20
20
  var _form = require("../form/form.styles");
21
21
  var _react2 = require("@emotion/react");
22
22
  var _global_styling = require("../../global_styling");
23
- var _excluded = ["children", "className", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "onPanelResize", "inputRef", "panelRef"];
23
+ var _excluded = ["children", "className", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "panelMinWidth", "onPanelResize", "inputRef", "panelRef"];
24
24
  /*
25
25
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
26
26
  * or more contributor license agreements. Licensed under the Elastic License
@@ -39,6 +39,8 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
39
39
  input = _ref.input,
40
40
  _ref$fullWidth = _ref.fullWidth,
41
41
  fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
42
+ _ref$panelMinWidth = _ref.panelMinWidth,
43
+ panelMinWidth = _ref$panelMinWidth === void 0 ? 0 : _ref$panelMinWidth,
42
44
  onPanelResize = _ref.onPanelResize,
43
45
  _inputRef = _ref.inputRef,
44
46
  _panelRef = _ref.panelRef,
@@ -56,22 +58,24 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
56
58
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
57
59
  panelEl = _useState6[0],
58
60
  setPanelEl = _useState6[1];
61
+ var popoverClassRef = (0, _react.useRef)(null);
59
62
  var inputRef = (0, _services.useCombinedRefs)([setInputEl, _inputRef]);
60
63
  var panelRef = (0, _services.useCombinedRefs)([setPanelEl, _panelRef]);
61
64
  var setPanelWidth = (0, _react.useCallback)(function (width) {
62
65
  if (panelEl && (!!inputElWidth || !!width)) {
63
66
  var newWidth = !!width ? width : inputElWidth;
64
- panelEl.style.width = "".concat(newWidth, "px");
65
- if (onPanelResize) {
66
- onPanelResize(newWidth);
67
- }
67
+ var widthToSet = newWidth && newWidth > panelMinWidth ? newWidth : panelMinWidth;
68
+ panelEl.style.width = "".concat(widthToSet, "px");
69
+ onPanelResize === null || onPanelResize === void 0 ? void 0 : onPanelResize(widthToSet);
68
70
  }
69
- }, [panelEl, inputElWidth, onPanelResize]);
71
+ }, [panelEl, inputElWidth, onPanelResize, panelMinWidth]);
70
72
  var onResize = (0, _react.useCallback)(function () {
71
73
  if (inputEl) {
74
+ var _popoverClassRef$curr;
72
75
  var _width = inputEl.getBoundingClientRect().width;
73
76
  setInputElWidth(_width);
74
77
  setPanelWidth(_width);
78
+ (_popoverClassRef$curr = popoverClassRef.current) === null || _popoverClassRef$curr === void 0 ? void 0 : _popoverClassRef$curr.positionPopoverFluid();
75
79
  }
76
80
  }, [inputEl, setPanelWidth]);
77
81
  (0, _react.useEffect)(function () {
@@ -106,7 +110,8 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
106
110
  }),
107
111
  buttonRef: inputRef,
108
112
  panelRef: panelRef,
109
- className: classes
113
+ className: classes,
114
+ ref: popoverClassRef
110
115
  }, props), (0, _react2.jsx)(_focus_trap.EuiFocusTrap, (0, _extends2.default)({
111
116
  clickOutsideDisables: true,
112
117
  disabled: disableFocusTrap
@@ -120,11 +125,21 @@ EuiInputPopover.propTypes = {
120
125
  "aria-label": _propTypes.default.string,
121
126
  "data-test-subj": _propTypes.default.string,
122
127
  css: _propTypes.default.any,
128
+ /**
129
+ * Alignment of the popover relative to the input
130
+ */
131
+ anchorPosition: _propTypes.default.oneOf(["downLeft", "downRight", "downCenter"]),
123
132
  disableFocusTrap: _propTypes.default.bool,
124
133
  fullWidth: _propTypes.default.bool,
125
134
  input: _propTypes.default.any.isRequired,
126
135
  inputRef: _propTypes.default.any,
127
- onPanelResize: _propTypes.default.func
136
+ onPanelResize: _propTypes.default.func,
137
+ /**
138
+ * By default, **EuiInputPopovers** inherit the same width as the passed input element.
139
+ * However, if the input width is too small, you can pass a minimum panel width
140
+ * (that should be based on the popover content).
141
+ */
142
+ panelMinWidth: _propTypes.default.number
128
143
  };
129
144
  EuiInputPopover.defaultProps = {
130
145
  anchorPosition: 'downLeft',
@@ -217,8 +217,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
217
217
  top = _findPopoverPosition.top,
218
218
  left = _findPopoverPosition.left,
219
219
  foundPosition = _findPopoverPosition.position,
220
- arrow = _findPopoverPosition.arrow,
221
- anchorBoundingBox = _findPopoverPosition.anchorBoundingBox;
220
+ arrow = _findPopoverPosition.arrow;
222
221
 
223
222
  // the popover's z-index must inherit from the button
224
223
  // this keeps a button's popover under a flyout that would cover the button
@@ -227,7 +226,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
227
226
  var zIndex = zIndexProp == null ? (0, _popover.getElementZIndex)(_this.button, _this.panel) + 2000 : zIndexProp;
228
227
  var popoverStyles = _objectSpread(_objectSpread({}, _this.props.panelStyle), {}, {
229
228
  top: top,
230
- left: _this.props.attachToAnchor && anchorBoundingBox ? anchorBoundingBox.left : left,
229
+ left: left,
231
230
  zIndex: zIndex
232
231
  });
233
232
  var willRenderArrow = !_this.props.attachToAnchor && _this.props.hasArrow;
@@ -549,9 +548,8 @@ EuiPopover.propTypes = {
549
548
  */
550
549
  anchorPosition: _propTypes.default.any,
551
550
  /**
552
- * Style and position alteration for arrow-less, left-aligned
553
- * attachment. Intended for use with inputs as anchors, e.g.
554
- * EuiInputPopover
551
+ * Style and position alteration for arrow-less attachment.
552
+ * Intended for use with inputs as anchors, e.g. EuiInputPopover
555
553
  */
556
554
  attachToAnchor: _propTypes.default.bool,
557
555
  /**
@@ -1,21 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.insertPositions = exports.INSERT_POSITIONS = exports.EuiPortal = void 0;
8
+ exports.EuiPortalClass = exports.EuiPortal = void 0;
8
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _react = require("react");
15
+ var _react = _interopRequireWildcard(require("react"));
15
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
16
17
  var _reactDom = require("react-dom");
17
18
  var _services = require("../../services");
18
- var _common = require("../common");
19
+ var _component_defaults = require("../provider/component_defaults");
20
+ var _react2 = require("@emotion/react");
21
+ 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); }
22
+ 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; }
19
23
  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); }; }
20
24
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*
21
25
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -27,26 +31,47 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
27
31
  * NOTE: We can't test this component because Enzyme doesn't support rendering
28
32
  * into portals.
29
33
  */
34
+ var INSERT_POSITIONS = ['after', 'before'];
30
35
  var insertPositions = {
31
36
  after: 'afterend',
32
37
  before: 'beforebegin'
33
38
  };
34
- exports.insertPositions = insertPositions;
35
- var INSERT_POSITIONS = (0, _common.keysOf)(insertPositions);
36
- exports.INSERT_POSITIONS = INSERT_POSITIONS;
37
- var EuiPortal = /*#__PURE__*/function (_Component) {
38
- (0, _inherits2.default)(EuiPortal, _Component);
39
- var _super = _createSuper(EuiPortal);
40
- function EuiPortal(props) {
39
+ var EuiPortal = function EuiPortal(props) {
40
+ var propsWithDefaults = (0, _component_defaults.usePropsWithComponentDefaults)('EuiPortal', props);
41
+ return (0, _react2.jsx)(EuiPortalClass, propsWithDefaults);
42
+ };
43
+ exports.EuiPortal = EuiPortal;
44
+ EuiPortal.propTypes = {
45
+ /**
46
+ * ReactNode to render as this component's content
47
+ */
48
+ children: _propTypes.default.node.isRequired,
49
+ /**
50
+ * If not specified, `EuiPortal` will insert itself
51
+ * into the end of the `document.body` by default
52
+ */
53
+ insert: _propTypes.default.shape({
54
+ sibling: _propTypes.default.any.isRequired,
55
+ position: _propTypes.default.any.isRequired
56
+ }),
57
+ /**
58
+ * Optional ref callback
59
+ */
60
+ portalRef: _propTypes.default.func
61
+ };
62
+ var EuiPortalClass = /*#__PURE__*/function (_Component) {
63
+ (0, _inherits2.default)(EuiPortalClass, _Component);
64
+ var _super = _createSuper(EuiPortalClass);
65
+ function EuiPortalClass(props) {
41
66
  var _this;
42
- (0, _classCallCheck2.default)(this, EuiPortal);
67
+ (0, _classCallCheck2.default)(this, EuiPortalClass);
43
68
  _this = _super.call(this, props);
44
69
  _this.state = {
45
70
  portalNode: null
46
71
  };
47
72
  return _this;
48
73
  }
49
- (0, _createClass2.default)(EuiPortal, [{
74
+ (0, _createClass2.default)(EuiPortalClass, [{
50
75
  key: "componentDidMount",
51
76
  value: function componentDidMount() {
52
77
  var insert = this.props.insert;
@@ -110,18 +135,25 @@ var EuiPortal = /*#__PURE__*/function (_Component) {
110
135
  return /*#__PURE__*/(0, _reactDom.createPortal)(this.props.children, portalNode);
111
136
  }
112
137
  }]);
113
- return EuiPortal;
138
+ return EuiPortalClass;
114
139
  }(_react.Component);
115
- exports.EuiPortal = EuiPortal;
116
- (0, _defineProperty2.default)(EuiPortal, "contextType", _services.EuiNestedThemeContext);
117
- EuiPortal.propTypes = {
140
+ exports.EuiPortalClass = EuiPortalClass;
141
+ (0, _defineProperty2.default)(EuiPortalClass, "contextType", _services.EuiNestedThemeContext);
142
+ EuiPortalClass.propTypes = {
118
143
  /**
119
144
  * ReactNode to render as this component's content
120
145
  */
121
146
  children: _propTypes.default.node.isRequired,
147
+ /**
148
+ * If not specified, `EuiPortal` will insert itself
149
+ * into the end of the `document.body` by default
150
+ */
122
151
  insert: _propTypes.default.shape({
123
152
  sibling: _propTypes.default.any.isRequired,
124
- position: _propTypes.default.oneOf(["before", "after"]).isRequired
153
+ position: _propTypes.default.any.isRequired
125
154
  }),
155
+ /**
156
+ * Optional ref callback
157
+ */
126
158
  portalRef: _propTypes.default.func
127
159
  };
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.usePropsWithComponentDefaults = exports.useComponentDefaults = exports.EuiComponentDefaultsProvider = exports.EuiComponentDefaultsContext = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _react2 = require("@emotion/react");
13
+ 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); }
14
+ 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; }
15
+ 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; }
16
+ 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; } /*
17
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
+ * or more contributor license agreements. Licensed under the Elastic License
19
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
20
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
21
+ * Side Public License, v 1.
22
+ */
23
+ // Declaring as a static const for reference integrity/reducing rerenders
24
+ var emptyDefaults = {};
25
+
26
+ /*
27
+ * Context
28
+ */
29
+ var EuiComponentDefaultsContext = /*#__PURE__*/(0, _react.createContext)(emptyDefaults);
30
+
31
+ /*
32
+ * Component
33
+ */
34
+ exports.EuiComponentDefaultsContext = EuiComponentDefaultsContext;
35
+ var EuiComponentDefaultsProvider = function EuiComponentDefaultsProvider(_ref) {
36
+ var _ref$componentDefault = _ref.componentDefaults,
37
+ componentDefaults = _ref$componentDefault === void 0 ? emptyDefaults : _ref$componentDefault,
38
+ children = _ref.children;
39
+ return (0, _react2.jsx)(EuiComponentDefaultsContext.Provider, {
40
+ value: componentDefaults
41
+ }, children);
42
+ };
43
+
44
+ /*
45
+ * Hooks
46
+ */
47
+ exports.EuiComponentDefaultsProvider = EuiComponentDefaultsProvider;
48
+ EuiComponentDefaultsProvider.propTypes = {
49
+ componentDefaults: _propTypes.default.shape({
50
+ /**
51
+ * Provide a global configuration for EuiPortal's default insertion position.
52
+ */
53
+ EuiPortal: _propTypes.default.any,
54
+ /**
55
+ * Provide a global configuration for EuiFocusTrap's `gapMode` and `crossFrame` props
56
+ */
57
+ EuiFocusTrap: _propTypes.default.any,
58
+ /**
59
+ * Provide global settings for EuiTablePagination's props that affect page size
60
+ * / the rows per page selection.
61
+ *
62
+ * These defaults will be inherited all table and grid components that utilize EuiTablePagination.
63
+ */
64
+ EuiTablePagination: _propTypes.default.any
65
+ })
66
+ };
67
+ var useComponentDefaults = function useComponentDefaults() {
68
+ return (0, _react.useContext)(EuiComponentDefaultsContext);
69
+ };
70
+
71
+ // Merge individual component props with component defaults
72
+ exports.useComponentDefaults = useComponentDefaults;
73
+ var usePropsWithComponentDefaults = function usePropsWithComponentDefaults(componentName, props) {
74
+ var _context$componentNam;
75
+ var context = (0, _react.useContext)(EuiComponentDefaultsContext);
76
+ var componentDefaults = (_context$componentNam = context[componentName]) !== null && _context$componentNam !== void 0 ? _context$componentNam : emptyDefaults;
77
+ return (0, _react.useMemo)(function () {
78
+ return _objectSpread(_objectSpread({}, componentDefaults), props);
79
+ }, [componentDefaults, props]);
80
+ };
81
+ exports.usePropsWithComponentDefaults = usePropsWithComponentDefaults;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _component_defaults = require("./component_defaults");
7
+ Object.keys(_component_defaults).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _component_defaults[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _component_defaults[key];
14
+ }
15
+ });
16
+ });
@@ -3,10 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "EuiComponentDefaultsContext", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _component_defaults.EuiComponentDefaultsContext;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "EuiComponentDefaultsProvider", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _component_defaults.EuiComponentDefaultsProvider;
16
+ }
17
+ });
6
18
  Object.defineProperty(exports, "EuiProvider", {
7
19
  enumerable: true,
8
20
  get: function get() {
9
21
  return _provider.EuiProvider;
10
22
  }
11
23
  });
12
- var _provider = require("./provider");
24
+ var _provider = require("./provider");
25
+ var _component_defaults = require("./component_defaults");
@@ -14,6 +14,7 @@ var _warning = require("../../services/theme/warning");
14
14
  var _themes = require("../../themes");
15
15
  var _cache = require("./cache");
16
16
  var _nested = require("./nested");
17
+ var _component_defaults = require("./component_defaults");
17
18
  var _react2 = require("@emotion/react");
18
19
  /*
19
20
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -38,6 +39,7 @@ var EuiProvider = function EuiProvider(_ref) {
38
39
  Utilities = _ref$utilityClasses === void 0 ? _utility.EuiUtilityClasses : _ref$utilityClasses,
39
40
  colorMode = _ref.colorMode,
40
41
  modify = _ref.modify,
42
+ componentDefaults = _ref.componentDefaults,
41
43
  children = _ref.children;
42
44
  var isNested = (0, _nested.useIsNestedEuiProvider)();
43
45
  if (isNested) {
@@ -79,6 +81,8 @@ var EuiProvider = function EuiProvider(_ref) {
79
81
  }), (0, _react2.jsx)(_cache.EuiCacheProvider, {
80
82
  cache: utilityCache,
81
83
  children: Utilities && (0, _react2.jsx)(Utilities, null)
82
- })), (0, _react2.jsx)(_services.CurrentEuiBreakpointProvider, null, children))));
84
+ })), (0, _react2.jsx)(_component_defaults.EuiComponentDefaultsProvider, {
85
+ componentDefaults: componentDefaults
86
+ }, (0, _react2.jsx)(_services.CurrentEuiBreakpointProvider, null, children)))));
83
87
  };
84
88
  exports.EuiProvider = EuiProvider;