@elastic/eui 62.0.3 → 63.0.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 (500) hide show
  1. package/dist/eui_charts_theme.js +330 -330
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +4 -1053
  4. package/dist/eui_theme_dark.json +0 -57
  5. package/dist/eui_theme_dark.json.d.ts +0 -57
  6. package/dist/eui_theme_dark.min.css +1 -1
  7. package/dist/eui_theme_light.css +4 -1053
  8. package/dist/eui_theme_light.json +0 -57
  9. package/dist/eui_theme_light.json.d.ts +0 -57
  10. package/dist/eui_theme_light.min.css +1 -1
  11. package/es/components/bottom_bar/bottom_bar.js +20 -3
  12. package/es/components/breadcrumbs/breadcrumb.js +199 -0
  13. package/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
  14. package/es/components/breadcrumbs/breadcrumbs.js +115 -187
  15. package/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
  16. package/es/components/code/code_block.js +119 -107
  17. package/es/components/collapsible_nav/collapsible_nav.js +2 -2
  18. package/es/components/control_bar/control_bar.js +13 -0
  19. package/es/components/datagrid/body/data_grid_body.js +12 -2
  20. package/es/components/datagrid/body/data_grid_cell.js +31 -3
  21. package/es/components/datagrid/body/header/data_grid_header_row.js +1 -1
  22. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  23. package/es/components/datagrid/data_grid.js +10 -2
  24. package/es/components/datagrid/utils/row_heights.js +33 -4
  25. package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  26. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  27. package/es/components/description_list/description_list.js +22 -26
  28. package/es/components/description_list/description_list.styles.js +25 -0
  29. package/es/components/description_list/description_list_context.js +14 -0
  30. package/es/components/description_list/description_list_description.js +43 -2
  31. package/es/components/description_list/description_list_description.styles.js +47 -0
  32. package/es/components/description_list/description_list_title.js +43 -2
  33. package/es/components/description_list/description_list_title.styles.js +37 -0
  34. package/es/components/description_list/description_list_types.js +10 -0
  35. package/es/components/header/header.js +3 -27
  36. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +22 -2
  37. package/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
  38. package/es/components/header/header_links/header_links.js +11 -10
  39. package/es/components/icon/assets/tokenStruct.js +1 -1
  40. package/es/components/index.js +1 -0
  41. package/es/components/page/_bottom_border.js +1 -0
  42. package/es/components/page/_restrict_width.js +34 -7
  43. package/es/components/page/index.js +5 -3
  44. package/es/components/page/page.js +19 -30
  45. package/es/components/page/page.styles.js +43 -0
  46. package/es/components/page/page_body/page_body.js +18 -26
  47. package/es/components/page/page_body/page_body.styles.js +16 -0
  48. package/es/components/page/page_content/index.js +4 -4
  49. package/es/components/page/page_content/page_content.js +7 -2
  50. package/es/components/page/page_content/page_content_body.js +12 -7
  51. package/es/components/page/page_content/page_content_header.js +7 -2
  52. package/es/components/page/page_content/page_content_header_section.js +7 -2
  53. package/es/components/page/page_header/page_header.js +29 -171
  54. package/es/components/page/page_header/page_header.styles.js +16 -0
  55. package/es/components/page/page_header/page_header_content.js +85 -16
  56. package/es/components/page/page_header/page_header_content.styles.js +84 -0
  57. package/es/components/page/page_section/index.js +8 -0
  58. package/es/components/page/page_section/page_section.js +102 -0
  59. package/es/components/page/page_section/page_section.styles.js +43 -0
  60. package/es/components/page/page_side_bar/index.js +1 -1
  61. package/es/components/page/page_side_bar/page_side_bar.js +8 -3
  62. package/es/components/page/page_sidebar/index.js +8 -0
  63. package/es/components/page/page_sidebar/page_sidebar.js +110 -0
  64. package/es/components/page/page_sidebar/page_sidebar.styles.js +29 -0
  65. package/es/components/page/page_template.js +54 -153
  66. package/es/components/page_template/bottom_bar/page_bottom_bar.js +102 -0
  67. package/es/components/page_template/empty_prompt/page_empty_prompt.js +107 -0
  68. package/es/components/page_template/index.js +8 -0
  69. package/es/components/page_template/inner/index.js +8 -0
  70. package/es/components/page_template/inner/page_inner.js +51 -0
  71. package/es/components/page_template/inner/page_inner.styles.js +22 -0
  72. package/es/components/page_template/outer/index.js +8 -0
  73. package/es/components/page_template/outer/page_outer.js +59 -0
  74. package/es/components/page_template/outer/page_outer.styles.js +49 -0
  75. package/es/components/page_template/page_template.js +376 -0
  76. package/es/components/pagination/pagination.js +1 -1
  77. package/es/components/panel/split_panel/split_panel.js +2 -2
  78. package/es/components/provider/provider.js +2 -2
  79. package/es/components/responsive/hide_for.js +6 -38
  80. package/es/components/responsive/show_for.js +6 -38
  81. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -36
  82. package/es/components/side_nav/side_nav.js +1 -1
  83. package/es/components/table/table_row_cell.js +1 -2
  84. package/es/components/toast/global_toast_list.js +208 -241
  85. package/es/components/toast/global_toast_list.styles.js +38 -0
  86. package/es/components/toast/global_toast_list_item.js +12 -7
  87. package/es/components/toast/toast.js +25 -25
  88. package/es/components/toast/toast.styles.js +55 -0
  89. package/es/components/token/index.js +2 -1
  90. package/es/components/token/token.js +48 -112
  91. package/es/components/token/token.styles.js +93 -0
  92. package/es/components/token/token_map.js +6 -9
  93. package/es/components/token/token_types.js +11 -0
  94. package/es/global_styling/functions/logicals.js +1 -1
  95. package/es/global_styling/mixins/_helpers.js +27 -9
  96. package/es/global_styling/reset/global_styles.js +1 -1
  97. package/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
  98. package/es/services/{hooks/useIsWithinBreakpoints.js → breakpoint/currentEuiBreakpoint.js} +36 -28
  99. package/es/services/breakpoint/index.js +10 -0
  100. package/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
  101. package/es/services/hooks/index.js +0 -1
  102. package/es/services/index.js +1 -1
  103. package/es/test/rtl/component_helpers.js +60 -1
  104. package/eui.d.ts +2100 -1504
  105. package/i18ntokens.json +36 -36
  106. package/lib/components/bottom_bar/bottom_bar.js +20 -3
  107. package/lib/components/breadcrumbs/breadcrumb.js +225 -0
  108. package/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
  109. package/lib/components/breadcrumbs/breadcrumbs.js +125 -188
  110. package/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  111. package/lib/components/code/code_block.js +118 -106
  112. package/lib/components/collapsible_nav/collapsible_nav.js +2 -2
  113. package/lib/components/control_bar/control_bar.js +13 -0
  114. package/lib/components/datagrid/body/data_grid_body.js +12 -2
  115. package/lib/components/datagrid/body/data_grid_cell.js +31 -3
  116. package/lib/components/datagrid/body/header/data_grid_header_row.js +1 -1
  117. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  118. package/lib/components/datagrid/data_grid.js +10 -2
  119. package/lib/components/datagrid/utils/row_heights.js +33 -4
  120. package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  121. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  122. package/lib/components/description_list/description_list.js +25 -31
  123. package/lib/components/description_list/description_list.styles.js +36 -0
  124. package/lib/components/description_list/description_list_context.js +24 -0
  125. package/lib/components/description_list/description_list_description.js +52 -2
  126. package/lib/components/description_list/description_list_description.styles.js +51 -0
  127. package/lib/components/description_list/description_list_title.js +52 -2
  128. package/lib/components/description_list/description_list_title.styles.js +50 -0
  129. package/lib/components/description_list/description_list_types.js +20 -0
  130. package/lib/components/header/header.js +3 -27
  131. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
  132. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  133. package/lib/components/header/header_links/header_links.js +10 -9
  134. package/lib/components/icon/assets/tokenStruct.js +1 -1
  135. package/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
  136. package/lib/components/index.js +13 -0
  137. package/lib/components/page/_bottom_border.js +5 -0
  138. package/lib/components/page/_restrict_width.js +38 -7
  139. package/lib/components/page/index.js +28 -12
  140. package/lib/components/page/page.js +22 -34
  141. package/lib/components/page/page.styles.js +46 -0
  142. package/lib/components/page/page_body/page_body.js +20 -29
  143. package/lib/components/page/page_body/page_body.styles.js +27 -0
  144. package/lib/components/page/page_content/index.js +8 -8
  145. package/lib/components/page/page_content/page_content.js +8 -4
  146. package/lib/components/page/page_content/page_content_body.js +13 -9
  147. package/lib/components/page/page_content/page_content_header.js +8 -4
  148. package/lib/components/page/page_content/page_content_header_section.js +8 -4
  149. package/lib/components/page/page_header/page_header.js +31 -174
  150. package/lib/components/page/page_header/page_header.styles.js +27 -0
  151. package/lib/components/page/page_header/page_header_content.js +111 -18
  152. package/lib/components/page/page_header/page_header_content.styles.js +87 -0
  153. package/lib/components/page/page_section/index.js +13 -0
  154. package/lib/components/page/page_section/page_section.js +113 -0
  155. package/lib/components/page/page_section/page_section.styles.js +51 -0
  156. package/lib/components/page/page_side_bar/index.js +2 -2
  157. package/lib/components/page/page_side_bar/page_side_bar.js +9 -5
  158. package/lib/components/page/page_sidebar/index.js +13 -0
  159. package/lib/components/page/page_sidebar/page_sidebar.js +124 -0
  160. package/lib/components/page/page_sidebar/page_sidebar.styles.js +32 -0
  161. package/lib/components/page/page_template.js +76 -176
  162. package/lib/components/page_template/bottom_bar/page_bottom_bar.js +114 -0
  163. package/lib/components/page_template/empty_prompt/page_empty_prompt.js +116 -0
  164. package/lib/components/page_template/index.js +13 -0
  165. package/lib/components/page_template/inner/index.js +13 -0
  166. package/lib/components/page_template/inner/page_inner.js +60 -0
  167. package/lib/components/page_template/inner/page_inner.styles.js +35 -0
  168. package/lib/components/page_template/outer/index.js +13 -0
  169. package/lib/components/page_template/outer/page_outer.js +68 -0
  170. package/lib/components/page_template/outer/page_outer.styles.js +51 -0
  171. package/lib/components/page_template/page_template.js +399 -0
  172. package/lib/components/pagination/pagination.js +1 -1
  173. package/lib/components/panel/split_panel/split_panel.js +3 -3
  174. package/lib/components/provider/provider.js +1 -1
  175. package/lib/components/responsive/hide_for.js +12 -44
  176. package/lib/components/responsive/show_for.js +12 -44
  177. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
  178. package/lib/components/side_nav/side_nav.js +1 -1
  179. package/lib/components/table/table_row_cell.js +1 -3
  180. package/lib/components/toast/global_toast_list.js +209 -238
  181. package/lib/components/toast/global_toast_list.styles.js +45 -0
  182. package/lib/components/toast/global_toast_list_item.js +14 -7
  183. package/lib/components/toast/toast.js +27 -25
  184. package/lib/components/toast/toast.styles.js +66 -0
  185. package/lib/components/token/index.js +5 -3
  186. package/lib/components/token/token.js +50 -120
  187. package/lib/components/token/token.styles.js +101 -0
  188. package/lib/components/token/token_map.js +6 -9
  189. package/lib/components/token/token_types.js +22 -0
  190. package/lib/global_styling/functions/logicals.js +1 -1
  191. package/lib/global_styling/mixins/_helpers.js +27 -9
  192. package/lib/global_styling/reset/global_styles.js +1 -1
  193. package/{test-env/services → lib/services/breakpoint}/breakpoint.js +5 -9
  194. package/lib/services/breakpoint/currentEuiBreakpoint.js +80 -0
  195. package/lib/services/breakpoint/index.js +44 -0
  196. package/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  197. package/lib/services/hooks/index.js +0 -13
  198. package/lib/services/index.js +28 -0
  199. package/lib/test/rtl/component_helpers.js +69 -3
  200. package/optimize/es/components/bottom_bar/bottom_bar.js +1 -1
  201. package/optimize/es/components/breadcrumbs/breadcrumb.js +136 -0
  202. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
  203. package/optimize/es/components/breadcrumbs/breadcrumbs.js +92 -165
  204. package/optimize/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
  205. package/optimize/es/components/code/code_block.js +106 -107
  206. package/optimize/es/components/datagrid/body/data_grid_body.js +2 -0
  207. package/optimize/es/components/datagrid/body/data_grid_cell.js +13 -1
  208. package/optimize/es/components/datagrid/utils/row_heights.js +33 -4
  209. package/optimize/es/components/description_list/description_list.js +20 -24
  210. package/optimize/es/components/description_list/description_list.styles.js +25 -0
  211. package/optimize/es/components/description_list/description_list_context.js +14 -0
  212. package/optimize/es/components/description_list/description_list_description.js +32 -2
  213. package/optimize/es/components/description_list/description_list_description.styles.js +47 -0
  214. package/optimize/es/components/description_list/description_list_title.js +32 -2
  215. package/optimize/es/components/description_list/description_list_title.styles.js +37 -0
  216. package/optimize/es/components/description_list/description_list_types.js +10 -0
  217. package/optimize/es/components/header/header.js +2 -0
  218. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +8 -1
  219. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
  220. package/optimize/es/components/header/header_links/header_links.js +10 -9
  221. package/optimize/es/components/icon/assets/tokenStruct.js +1 -1
  222. package/optimize/es/components/index.js +1 -0
  223. package/optimize/es/components/page/_bottom_border.js +1 -0
  224. package/optimize/es/components/page/_restrict_width.js +34 -7
  225. package/optimize/es/components/page/index.js +5 -3
  226. package/optimize/es/components/page/page.js +18 -28
  227. package/optimize/es/components/page/page.styles.js +43 -0
  228. package/optimize/es/components/page/page_body/page_body.js +18 -25
  229. package/optimize/es/components/page/page_body/page_body.styles.js +16 -0
  230. package/optimize/es/components/page/page_content/index.js +4 -4
  231. package/optimize/es/components/page/page_content/page_content.js +6 -1
  232. package/optimize/es/components/page/page_content/page_content_body.js +10 -5
  233. package/optimize/es/components/page/page_content/page_content_header.js +6 -1
  234. package/optimize/es/components/page/page_content/page_content_header_section.js +6 -1
  235. package/optimize/es/components/page/page_header/page_header.js +20 -32
  236. package/optimize/es/components/page/page_header/page_header.styles.js +16 -0
  237. package/optimize/es/components/page/page_header/page_header_content.js +62 -14
  238. package/optimize/es/components/page/page_header/page_header_content.styles.js +84 -0
  239. package/optimize/es/components/page/page_section/index.js +8 -0
  240. package/optimize/es/components/page/page_section/page_section.js +51 -0
  241. package/optimize/es/components/page/page_section/page_section.styles.js +43 -0
  242. package/optimize/es/components/page/page_side_bar/index.js +1 -1
  243. package/optimize/es/components/page/page_side_bar/page_side_bar.js +6 -1
  244. package/optimize/es/components/page/page_sidebar/index.js +8 -0
  245. package/optimize/es/components/page/page_sidebar/page_sidebar.js +60 -0
  246. package/optimize/es/components/page/page_sidebar/page_sidebar.styles.js +29 -0
  247. package/optimize/es/components/page/page_template.js +29 -9
  248. package/optimize/es/components/page_template/bottom_bar/page_bottom_bar.js +70 -0
  249. package/optimize/es/components/page_template/empty_prompt/page_empty_prompt.js +61 -0
  250. package/optimize/es/components/page_template/index.js +8 -0
  251. package/optimize/es/components/page_template/inner/index.js +8 -0
  252. package/optimize/es/components/page_template/inner/page_inner.js +47 -0
  253. package/optimize/es/components/page_template/inner/page_inner.styles.js +22 -0
  254. package/optimize/es/components/page_template/outer/index.js +8 -0
  255. package/optimize/es/components/page_template/outer/page_outer.js +33 -0
  256. package/optimize/es/components/page_template/outer/page_outer.styles.js +49 -0
  257. package/optimize/es/components/page_template/page_template.js +202 -0
  258. package/optimize/es/components/panel/split_panel/split_panel.js +1 -1
  259. package/optimize/es/components/provider/provider.js +2 -2
  260. package/optimize/es/components/responsive/hide_for.js +5 -27
  261. package/optimize/es/components/responsive/show_for.js +5 -27
  262. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -35
  263. package/optimize/es/components/table/table_row_cell.js +1 -2
  264. package/optimize/es/components/toast/global_toast_list.js +199 -230
  265. package/optimize/es/components/toast/global_toast_list.styles.js +38 -0
  266. package/optimize/es/components/toast/global_toast_list_item.js +11 -6
  267. package/optimize/es/components/toast/toast.js +24 -24
  268. package/optimize/es/components/toast/toast.styles.js +55 -0
  269. package/optimize/es/components/token/index.js +2 -1
  270. package/optimize/es/components/token/token.js +46 -69
  271. package/optimize/es/components/token/token.styles.js +83 -0
  272. package/optimize/es/components/token/token_map.js +6 -9
  273. package/optimize/es/components/token/token_types.js +11 -0
  274. package/optimize/es/global_styling/functions/logicals.js +1 -1
  275. package/optimize/es/global_styling/mixins/_helpers.js +27 -9
  276. package/optimize/es/global_styling/reset/global_styles.js +1 -1
  277. package/optimize/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
  278. package/optimize/es/services/breakpoint/currentEuiBreakpoint.js +53 -0
  279. package/optimize/es/services/breakpoint/index.js +10 -0
  280. package/optimize/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
  281. package/optimize/es/services/hooks/index.js +0 -1
  282. package/optimize/es/services/index.js +1 -1
  283. package/optimize/es/test/rtl/component_helpers.js +60 -1
  284. package/optimize/lib/components/bottom_bar/bottom_bar.js +1 -1
  285. package/optimize/lib/components/breadcrumbs/breadcrumb.js +162 -0
  286. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
  287. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +99 -164
  288. package/optimize/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  289. package/optimize/lib/components/code/code_block.js +105 -106
  290. package/optimize/lib/components/datagrid/body/data_grid_body.js +2 -0
  291. package/optimize/lib/components/datagrid/body/data_grid_cell.js +13 -1
  292. package/optimize/lib/components/datagrid/utils/row_heights.js +33 -4
  293. package/optimize/lib/components/description_list/description_list.js +23 -28
  294. package/optimize/lib/components/description_list/description_list.styles.js +36 -0
  295. package/optimize/lib/components/description_list/description_list_context.js +24 -0
  296. package/optimize/lib/components/description_list/description_list_description.js +43 -2
  297. package/optimize/lib/components/description_list/description_list_description.styles.js +51 -0
  298. package/optimize/lib/components/description_list/description_list_title.js +43 -2
  299. package/optimize/lib/components/description_list/description_list_title.styles.js +50 -0
  300. package/optimize/lib/components/description_list/description_list_types.js +20 -0
  301. package/optimize/lib/components/header/header.js +2 -0
  302. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +10 -1
  303. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  304. package/optimize/lib/components/header/header_links/header_links.js +9 -8
  305. package/optimize/lib/components/icon/assets/tokenStruct.js +1 -1
  306. package/optimize/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
  307. package/optimize/lib/components/index.js +13 -0
  308. package/optimize/lib/components/page/_bottom_border.js +5 -0
  309. package/optimize/lib/components/page/_restrict_width.js +38 -7
  310. package/optimize/lib/components/page/index.js +28 -12
  311. package/optimize/lib/components/page/page.js +21 -33
  312. package/optimize/lib/components/page/page.styles.js +46 -0
  313. package/optimize/lib/components/page/page_body/page_body.js +20 -29
  314. package/optimize/lib/components/page/page_body/page_body.styles.js +27 -0
  315. package/optimize/lib/components/page/page_content/index.js +8 -8
  316. package/optimize/lib/components/page/page_content/page_content.js +7 -3
  317. package/optimize/lib/components/page/page_content/page_content_body.js +11 -7
  318. package/optimize/lib/components/page/page_content/page_content_header.js +7 -3
  319. package/optimize/lib/components/page/page_content/page_content_header_section.js +7 -3
  320. package/optimize/lib/components/page/page_header/page_header.js +22 -36
  321. package/optimize/lib/components/page/page_header/page_header.styles.js +27 -0
  322. package/optimize/lib/components/page/page_header/page_header_content.js +68 -15
  323. package/optimize/lib/components/page/page_header/page_header_content.styles.js +87 -0
  324. package/optimize/lib/components/page/page_section/index.js +13 -0
  325. package/optimize/lib/components/page/page_section/page_section.js +62 -0
  326. package/optimize/lib/components/page/page_section/page_section.styles.js +51 -0
  327. package/optimize/lib/components/page/page_side_bar/index.js +2 -2
  328. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +7 -3
  329. package/optimize/lib/components/page/page_sidebar/index.js +13 -0
  330. package/optimize/lib/components/page/page_sidebar/page_sidebar.js +79 -0
  331. package/optimize/lib/components/page/page_sidebar/page_sidebar.styles.js +32 -0
  332. package/optimize/lib/components/page/page_template.js +51 -33
  333. package/optimize/lib/components/page_template/bottom_bar/page_bottom_bar.js +85 -0
  334. package/optimize/lib/components/page_template/empty_prompt/page_empty_prompt.js +71 -0
  335. package/optimize/lib/components/page_template/index.js +13 -0
  336. package/optimize/lib/components/page_template/inner/index.js +13 -0
  337. package/optimize/lib/components/page_template/inner/page_inner.js +57 -0
  338. package/optimize/lib/components/page_template/inner/page_inner.styles.js +35 -0
  339. package/optimize/lib/components/page_template/outer/index.js +13 -0
  340. package/optimize/lib/components/page_template/outer/page_outer.js +42 -0
  341. package/optimize/lib/components/page_template/outer/page_outer.styles.js +51 -0
  342. package/optimize/lib/components/page_template/page_template.js +228 -0
  343. package/optimize/lib/components/panel/split_panel/split_panel.js +2 -2
  344. package/optimize/lib/components/provider/provider.js +1 -1
  345. package/optimize/lib/components/responsive/hide_for.js +4 -33
  346. package/optimize/lib/components/responsive/show_for.js +4 -33
  347. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +14 -34
  348. package/optimize/lib/components/table/table_row_cell.js +1 -3
  349. package/optimize/lib/components/toast/global_toast_list.js +206 -220
  350. package/optimize/lib/components/toast/global_toast_list.styles.js +47 -0
  351. package/optimize/lib/components/toast/global_toast_list_item.js +14 -7
  352. package/optimize/lib/components/toast/toast.js +26 -24
  353. package/optimize/lib/components/toast/toast.styles.js +66 -0
  354. package/optimize/lib/components/token/index.js +5 -3
  355. package/optimize/lib/components/token/token.js +50 -76
  356. package/optimize/lib/components/token/token.styles.js +91 -0
  357. package/optimize/lib/components/token/token_map.js +6 -9
  358. package/optimize/lib/components/token/token_types.js +22 -0
  359. package/optimize/lib/global_styling/functions/logicals.js +1 -1
  360. package/optimize/lib/global_styling/mixins/_helpers.js +27 -9
  361. package/optimize/lib/global_styling/reset/global_styles.js +1 -1
  362. package/optimize/lib/services/{breakpoint.js → breakpoint/breakpoint.js} +5 -9
  363. package/optimize/lib/services/breakpoint/currentEuiBreakpoint.js +81 -0
  364. package/optimize/lib/services/breakpoint/index.js +44 -0
  365. package/optimize/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  366. package/optimize/lib/services/hooks/index.js +0 -13
  367. package/optimize/lib/services/index.js +28 -0
  368. package/optimize/lib/test/rtl/component_helpers.js +69 -3
  369. package/package.json +2 -2
  370. package/src/components/control_bar/_control_bar.scss +1 -1
  371. package/src/components/header/_index.scss +0 -1
  372. package/src/components/index.scss +0 -5
  373. package/src/components/page/_index.scss +0 -5
  374. package/src/components/page/page_content/_page_content_body.scss +10 -1
  375. package/src/components/tabs/_tabs.scss +2 -0
  376. package/src/themes/amsterdam/overrides/_breadcrumbs.scss +0 -12
  377. package/src/themes/amsterdam/overrides/_index.scss +0 -4
  378. package/test-env/components/bottom_bar/bottom_bar.js +20 -3
  379. package/test-env/components/breadcrumbs/breadcrumb.js +211 -0
  380. package/test-env/components/breadcrumbs/breadcrumb.styles.js +68 -0
  381. package/test-env/components/breadcrumbs/breadcrumbs.js +122 -174
  382. package/test-env/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  383. package/test-env/components/collapsible_nav/collapsible_nav.js +2 -2
  384. package/test-env/components/control_bar/control_bar.js +13 -0
  385. package/test-env/components/datagrid/body/data_grid_body.js +12 -2
  386. package/test-env/components/datagrid/body/data_grid_cell.js +31 -3
  387. package/test-env/components/datagrid/body/header/data_grid_header_row.js +1 -1
  388. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  389. package/test-env/components/datagrid/data_grid.js +10 -2
  390. package/test-env/components/datagrid/utils/row_heights.js +33 -4
  391. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  392. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  393. package/test-env/components/description_list/description_list.js +25 -30
  394. package/test-env/components/description_list/description_list.styles.js +36 -0
  395. package/test-env/components/description_list/description_list_context.js +24 -0
  396. package/test-env/components/description_list/description_list_description.js +43 -2
  397. package/test-env/components/description_list/description_list_description.styles.js +51 -0
  398. package/test-env/components/description_list/description_list_title.js +43 -2
  399. package/test-env/components/description_list/description_list_title.styles.js +50 -0
  400. package/test-env/components/description_list/description_list_types.js +20 -0
  401. package/test-env/components/header/header.js +3 -27
  402. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
  403. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  404. package/test-env/components/header/header_links/header_links.js +10 -9
  405. package/test-env/components/icon/assets/tokenStruct.js +1 -1
  406. package/test-env/components/index.js +13 -0
  407. package/test-env/components/observer/resize_observer/resize_observer.js +43 -126
  408. package/test-env/components/page/_bottom_border.js +5 -0
  409. package/test-env/components/page/_restrict_width.js +38 -7
  410. package/test-env/components/page/index.js +28 -12
  411. package/test-env/components/page/page.js +22 -34
  412. package/test-env/components/page/page.styles.js +46 -0
  413. package/test-env/components/page/page_body/page_body.js +20 -29
  414. package/test-env/components/page/page_body/page_body.styles.js +27 -0
  415. package/test-env/components/page/page_content/index.js +8 -8
  416. package/test-env/components/page/page_content/page_content.js +8 -4
  417. package/test-env/components/page/page_content/page_content_body.js +13 -9
  418. package/test-env/components/page/page_content/page_content_header.js +8 -4
  419. package/test-env/components/page/page_content/page_content_header_section.js +8 -4
  420. package/test-env/components/page/page_header/page_header.js +31 -174
  421. package/test-env/components/page/page_header/page_header.styles.js +27 -0
  422. package/test-env/components/page/page_header/page_header_content.js +112 -18
  423. package/test-env/components/page/page_header/page_header_content.styles.js +87 -0
  424. package/test-env/components/page/page_section/index.js +13 -0
  425. package/test-env/components/page/page_section/page_section.js +110 -0
  426. package/test-env/components/page/page_section/page_section.styles.js +51 -0
  427. package/test-env/components/page/page_side_bar/index.js +2 -2
  428. package/test-env/components/page/page_side_bar/page_side_bar.js +9 -5
  429. package/test-env/components/page/page_sidebar/index.js +13 -0
  430. package/test-env/components/page/page_sidebar/page_sidebar.js +113 -0
  431. package/test-env/components/page/page_sidebar/page_sidebar.styles.js +32 -0
  432. package/test-env/components/page/page_template.js +76 -177
  433. package/test-env/components/page_template/bottom_bar/page_bottom_bar.js +102 -0
  434. package/test-env/components/page_template/empty_prompt/page_empty_prompt.js +114 -0
  435. package/test-env/components/page_template/index.js +13 -0
  436. package/test-env/components/page_template/inner/index.js +13 -0
  437. package/test-env/components/page_template/inner/page_inner.js +57 -0
  438. package/test-env/components/page_template/inner/page_inner.styles.js +35 -0
  439. package/test-env/components/page_template/outer/index.js +13 -0
  440. package/test-env/components/page_template/outer/page_outer.js +65 -0
  441. package/test-env/components/page_template/outer/page_outer.styles.js +51 -0
  442. package/test-env/components/page_template/page_template.js +387 -0
  443. package/test-env/components/pagination/pagination.js +1 -1
  444. package/test-env/components/panel/split_panel/split_panel.js +3 -3
  445. package/test-env/components/provider/provider.js +1 -1
  446. package/test-env/components/responsive/hide_for.js +5 -34
  447. package/test-env/components/responsive/show_for.js +5 -34
  448. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
  449. package/test-env/components/side_nav/side_nav.js +1 -1
  450. package/test-env/components/table/table_row_cell.js +1 -3
  451. package/test-env/components/toast/global_toast_list.js +206 -220
  452. package/test-env/components/toast/global_toast_list.styles.js +47 -0
  453. package/test-env/components/toast/global_toast_list_item.js +14 -7
  454. package/test-env/components/toast/toast.js +27 -25
  455. package/test-env/components/toast/toast.styles.js +66 -0
  456. package/test-env/components/token/index.js +5 -3
  457. package/test-env/components/token/token.js +51 -120
  458. package/test-env/components/token/token.styles.js +91 -0
  459. package/test-env/components/token/token_map.js +6 -9
  460. package/test-env/components/token/token_types.js +22 -0
  461. package/test-env/global_styling/functions/logicals.js +1 -1
  462. package/test-env/global_styling/mixins/_helpers.js +27 -9
  463. package/test-env/global_styling/reset/global_styles.js +1 -1
  464. package/{lib/services → test-env/services/breakpoint}/breakpoint.js +5 -9
  465. package/test-env/services/breakpoint/currentEuiBreakpoint.js +37 -0
  466. package/test-env/services/breakpoint/index.js +44 -0
  467. package/test-env/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  468. package/test-env/services/hooks/index.js +0 -13
  469. package/test-env/services/index.js +28 -0
  470. package/test-env/test/rtl/component_helpers.js +69 -3
  471. package/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
  472. package/optimize/es/services/hooks/useIsWithinBreakpoints.js +0 -46
  473. package/optimize/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
  474. package/src/components/breadcrumbs/_breadcrumbs.scss +0 -79
  475. package/src/components/breadcrumbs/_index.scss +0 -2
  476. package/src/components/breadcrumbs/_variables.scss +0 -2
  477. package/src/components/description_list/_description_list.scss +0 -211
  478. package/src/components/description_list/_index.scss +0 -1
  479. package/src/components/header/header_breadcrumbs/_header_breadcrumbs.scss +0 -8
  480. package/src/components/header/header_breadcrumbs/_index.scss +0 -1
  481. package/src/components/page/_mixins.scss +0 -12
  482. package/src/components/page/_page.scss +0 -41
  483. package/src/components/page/page_body/_index.scss +0 -1
  484. package/src/components/page/page_body/_page_body.scss +0 -45
  485. package/src/components/page/page_header/_index.scss +0 -3
  486. package/src/components/page/page_header/_page_header.scss +0 -78
  487. package/src/components/page/page_header/_page_header_content.scss +0 -15
  488. package/src/components/page/page_header/_page_header_section.scss +0 -26
  489. package/src/components/portal/_index.scss +0 -1
  490. package/src/components/portal/_portal.scss +0 -6
  491. package/src/components/toast/_global_toast_list.scss +0 -90
  492. package/src/components/toast/_index.scss +0 -4
  493. package/src/components/toast/_toast.scss +0 -103
  494. package/src/components/token/_index.scss +0 -2
  495. package/src/components/token/_token.scss +0 -85
  496. package/src/components/token/_variables.scss +0 -13
  497. package/src/themes/amsterdam/overrides/_header_breadcrumbs.scss +0 -71
  498. package/src/themes/amsterdam/overrides/_toast.scss +0 -21
  499. package/src/themes/amsterdam/overrides/_token.scss +0 -4
  500. package/test-env/services/hooks/useIsWithinBreakpoints.js +0 -57
@@ -7,7 +7,7 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.EuiBreadcrumbs = void 0;
10
+ exports.useResponsiveMax = exports.limitBreadcrumbs = exports.EuiBreadcrumbs = void 0;
11
11
 
12
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
@@ -15,116 +15,32 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
15
 
16
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
17
 
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
18
  var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _classnames = _interopRequireDefault(require("classnames"));
23
21
 
24
22
  var _i18n = require("../i18n");
25
23
 
26
- var _inner_text = require("../inner_text");
27
-
28
- var _link = require("../link");
29
-
30
- var _popover = require("../popover");
31
-
32
- var _icon = require("../icon");
33
-
34
24
  var _services = require("../../services");
35
25
 
36
- var _breakpoint = require("../../services/breakpoint");
26
+ var _breadcrumb = require("./breadcrumb");
27
+
28
+ var _breadcrumbs = require("./breadcrumbs.styles");
37
29
 
38
30
  var _react2 = require("@emotion/react");
39
31
 
40
- var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max"],
41
- _excluded2 = ["text", "href", "onClick", "truncate", "className"];
32
+ var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max", "type", "lastBreadcrumbIsCurrentPage"];
42
33
 
43
34
  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); }
44
35
 
45
36
  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; }
46
37
 
47
- var CONTENT_CLASSNAME = 'euiBreadcrumb__content';
48
38
  var responsiveDefault = {
49
39
  xs: 1,
50
40
  s: 2,
51
41
  m: 4
52
42
  };
53
43
 
54
- var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max, allBreadcrumbs) {
55
- var breadcrumbsAtStart = [];
56
- var breadcrumbsAtEnd = [];
57
- var limit = Math.min(max, breadcrumbs.length);
58
- var start = Math.floor(limit / 2);
59
- var overflowBreadcrumbs = allBreadcrumbs.slice(start, start + breadcrumbs.length - limit);
60
-
61
- if (overflowBreadcrumbs.length) {
62
- overflowBreadcrumbs[overflowBreadcrumbs.length - 1]['aria-current'] = 'false';
63
- }
64
-
65
- for (var i = 0; i < limit; i++) {
66
- // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
67
- // towards breadcrumbs the end so that if max is an odd number, we'll have one more
68
- // breadcrumb visible at the end than at the beginning.
69
- var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
70
- // half-iteration.
71
-
72
- var normalizedIndex = Math.floor(i * 0.5);
73
- var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
74
- var breadcrumb = breadcrumbs[indexOfBreadcrumb];
75
-
76
- if (isEven) {
77
- breadcrumbsAtEnd.unshift(breadcrumb);
78
- } else {
79
- breadcrumbsAtStart.push(breadcrumb);
80
- }
81
- }
82
-
83
- var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed() {
84
- var _useState = (0, _react.useState)(false),
85
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
86
- isPopoverOpen = _useState2[0],
87
- setIsPopoverOpen = _useState2[1];
88
-
89
- var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
90
- var ellipsisButton = (0, _react2.jsx)(_link.EuiLink, {
91
- className: CONTENT_CLASSNAME,
92
- color: "subdued",
93
- "aria-label": ariaLabel,
94
- title: ariaLabel,
95
- onClick: function onClick() {
96
- return setIsPopoverOpen(!isPopoverOpen);
97
- }
98
- }, "\u2026 ", (0, _react2.jsx)(_icon.EuiIcon, {
99
- type: "arrowDown",
100
- size: "s"
101
- }));
102
- return (0, _react2.jsx)("li", {
103
- className: "euiBreadcrumb euiBreadcrumb--collapsed"
104
- }, (0, _react2.jsx)(_popover.EuiPopover, {
105
- button: ellipsisButton,
106
- isOpen: isPopoverOpen,
107
- closePopover: function closePopover() {
108
- return setIsPopoverOpen(false);
109
- }
110
- }, (0, _react2.jsx)(EuiBreadcrumbs, {
111
- className: "euiBreadcrumbs__inPopover",
112
- breadcrumbs: overflowBreadcrumbs,
113
- responsive: false,
114
- truncate: false,
115
- max: 0
116
- })));
117
- };
118
-
119
- if (max < breadcrumbs.length) {
120
- breadcrumbsAtStart.push((0, _react2.jsx)(EuiBreadcrumbCollapsed, {
121
- key: "collapsed"
122
- }));
123
- }
124
-
125
- return [].concat(breadcrumbsAtStart, breadcrumbsAtEnd);
126
- };
127
-
128
44
  var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
129
45
  var breadcrumbs = _ref.breadcrumbs,
130
46
  className = _ref.className,
@@ -134,94 +50,113 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
134
50
  truncate = _ref$truncate === void 0 ? true : _ref$truncate,
135
51
  _ref$max = _ref.max,
136
52
  max = _ref$max === void 0 ? 5 : _ref$max,
53
+ _ref$type = _ref.type,
54
+ type = _ref$type === void 0 ? 'page' : _ref$type,
55
+ _ref$lastBreadcrumbIs = _ref.lastBreadcrumbIsCurrentPage,
56
+ lastBreadcrumbIsCurrentPage = _ref$lastBreadcrumbIs === void 0 ? true : _ref$lastBreadcrumbIs,
137
57
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
138
58
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
139
-
140
- var _useState3 = (0, _react.useState)((0, _breakpoint.getBreakpoint)(typeof window === 'undefined' ? -Infinity : window.innerWidth)),
141
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
142
- currentBreakpoint = _useState4[0],
143
- setCurrentBreakpoint = _useState4[1];
144
-
145
- var functionToCallOnWindowResize = (0, _services.throttle)(function () {
146
- var newBreakpoint = (0, _breakpoint.getBreakpoint)(window.innerWidth);
147
-
148
- if (newBreakpoint !== currentBreakpoint) {
149
- setCurrentBreakpoint(newBreakpoint);
150
- } // reacts every 50ms to resize changes and always gets the final update
151
-
152
- }, 50); // Add window resize handlers
153
-
154
- (0, _react.useEffect)(function () {
155
- window.addEventListener('resize', functionToCallOnWindowResize);
156
- return function () {
157
- window.removeEventListener('resize', functionToCallOnWindowResize);
158
- };
159
- }, [responsive, functionToCallOnWindowResize]);
160
- var breadcrumbElements = breadcrumbs.map(function (breadcrumb, index) {
161
- var text = breadcrumb.text,
162
- href = breadcrumb.href,
163
- onClick = breadcrumb.onClick,
164
- truncate = breadcrumb.truncate,
165
- breadcrumbClassName = breadcrumb.className,
166
- breadcrumbRest = (0, _objectWithoutProperties2.default)(breadcrumb, _excluded2);
167
- var isLastBreadcrumb = index === breadcrumbs.length - 1;
168
- var className = (0, _classnames.default)('euiBreadcrumb', {
169
- 'euiBreadcrumb--last': isLastBreadcrumb,
170
- 'euiBreadcrumb--truncate': truncate
59
+ var euiTheme = (0, _services.useEuiTheme)();
60
+ var breadcrumbsListStyles = (0, _breadcrumbs.euiBreadcrumbsListStyles)(euiTheme);
61
+ var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
62
+ var responsiveMax = useResponsiveMax(responsive, max);
63
+ var visibleBreadcrumbs = (0, _react.useMemo)(function () {
64
+ var shouldCollapseBreadcrumbs = responsiveMax && breadcrumbs.length > responsiveMax;
65
+ return shouldCollapseBreadcrumbs ? limitBreadcrumbs(breadcrumbs, responsiveMax) : breadcrumbs;
66
+ }, [breadcrumbs, responsiveMax]);
67
+ var breadcrumbChildren = (0, _react.useMemo)(function () {
68
+ return visibleBreadcrumbs.map(function (breadcrumb, index) {
69
+ var isFirstBreadcrumb = index === 0;
70
+ var isLastBreadcrumb = index === visibleBreadcrumbs.length - 1;
71
+ var isOnlyBreadcrumb = visibleBreadcrumbs.length === 1;
72
+ var sharedProps = {
73
+ type: type,
74
+ truncate: truncate
75
+ };
76
+ return breadcrumb.isCollapsedButton ? (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbCollapsed, (0, _extends2.default)({
77
+ key: "collapsed"
78
+ }, sharedProps, {
79
+ isFirstBreadcrumb: isFirstBreadcrumb
80
+ }), (0, _react2.jsx)(EuiBreadcrumbs, {
81
+ breadcrumbs: breadcrumb.overflowBreadcrumbs,
82
+ lastBreadcrumbIsCurrentPage: false,
83
+ responsive: false,
84
+ truncate: false,
85
+ max: 0
86
+ })) : (0, _react2.jsx)(_breadcrumb.EuiBreadcrumb, (0, _extends2.default)({
87
+ key: index
88
+ }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, (0, _extends2.default)({
89
+ isFirstBreadcrumb: isFirstBreadcrumb,
90
+ isLastBreadcrumb: isLastBreadcrumb,
91
+ isOnlyBreadcrumb: isOnlyBreadcrumb,
92
+ highlightLastBreadcrumb: isLastBreadcrumb && lastBreadcrumbIsCurrentPage
93
+ }, sharedProps, breadcrumb)));
171
94
  });
172
- var linkProps = {
173
- className: (0, _classnames.default)(CONTENT_CLASSNAME, breadcrumbClassName),
174
- 'aria-current': isLastBreadcrumb ? 'page' : undefined
175
- };
176
- var link = (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
177
- var title = innerText === '' ? undefined : innerText;
178
-
179
- if (!href && !onClick) {
180
- return (0, _react2.jsx)("span", (0, _extends2.default)({
181
- ref: ref,
182
- title: title
183
- }, linkProps, breadcrumbRest), text);
184
- }
185
-
186
- return (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({
187
- ref: ref,
188
- color: isLastBreadcrumb ? 'text' : 'subdued',
189
- onClick: onClick,
190
- href: href,
191
- title: title
192
- }, linkProps, breadcrumbRest), text);
193
- });
194
- return (0, _react2.jsx)("li", {
195
- className: className,
196
- key: index
197
- }, link);
198
- }); // Use the default object if they simply passed `true` for responsive
95
+ }, [visibleBreadcrumbs, truncate, type, lastBreadcrumbIsCurrentPage]);
96
+ return (0, _react2.jsx)("nav", (0, _extends2.default)({
97
+ "aria-label": ariaLabel,
98
+ className: (0, _classnames.default)('euiBreadcrumbs', className)
99
+ }, rest), (0, _react2.jsx)("ol", {
100
+ className: "euiBreadcrumbs__list",
101
+ css: cssBreadcrumbsListStyles
102
+ }, breadcrumbChildren));
103
+ };
199
104
 
105
+ exports.EuiBreadcrumbs = EuiBreadcrumbs;
106
+
107
+ var useResponsiveMax = function useResponsiveMax(responsive, max) {
108
+ // Use the default object if they simply passed `true` for responsive
200
109
  var responsiveObject = (0, _typeof2.default)(responsive) === 'object' ? responsive : responsiveDefault; // The max property collapses any breadcrumbs past the max quantity.
201
110
  // This is the same behavior we want for responsiveness.
202
111
  // So calculate the max value based on the combination of `max` and `responsive`
203
112
 
204
- var calculatedMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
113
+ var responsiveMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
114
+
115
+ var currentBreakpoint = (0, _services.useCurrentEuiBreakpoint)();
205
116
 
206
- if (responsive && responsiveObject[currentBreakpoint]) {
207
- calculatedMax = responsiveObject[currentBreakpoint];
117
+ if (responsive && currentBreakpoint && responsiveObject[currentBreakpoint]) {
118
+ responsiveMax = responsiveObject[currentBreakpoint];
208
119
  } // Final check is to make sure max is used over a larger breakpoint value
209
120
 
210
121
 
211
- if (max && calculatedMax) {
212
- calculatedMax = max < calculatedMax ? max : calculatedMax;
122
+ if (max && responsiveMax) {
123
+ responsiveMax = max < responsiveMax ? max : responsiveMax;
213
124
  }
214
125
 
215
- var limitedBreadcrumbs = calculatedMax ? limitBreadcrumbs(breadcrumbElements, calculatedMax, breadcrumbs) : breadcrumbElements;
216
- var classes = (0, _classnames.default)('euiBreadcrumbs', className, {
217
- 'euiBreadcrumbs--truncate': truncate
218
- });
219
- return (0, _react2.jsx)("nav", (0, _extends2.default)({
220
- "aria-label": ariaLabel,
221
- className: classes
222
- }, rest), (0, _react2.jsx)("ol", {
223
- className: "euiBreadcrumbs__list"
224
- }, limitedBreadcrumbs));
126
+ return responsiveMax;
127
+ };
128
+
129
+ exports.useResponsiveMax = useResponsiveMax;
130
+
131
+ var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max) {
132
+ var breadcrumbsAtStart = [];
133
+ var breadcrumbsAtEnd = [];
134
+ var limit = Math.min(max, breadcrumbs.length);
135
+ var start = Math.floor(limit / 2);
136
+ var overflowBreadcrumbs = breadcrumbs.slice(start, start + breadcrumbs.length - limit);
137
+
138
+ for (var i = 0; i < limit; i++) {
139
+ // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
140
+ // towards breadcrumbs the end so that if max is an odd number, we'll have one more
141
+ // breadcrumb visible at the end than at the beginning.
142
+ var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
143
+ // half-iteration.
144
+
145
+ var normalizedIndex = Math.floor(i * 0.5);
146
+ var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
147
+ var breadcrumb = breadcrumbs[indexOfBreadcrumb];
148
+
149
+ if (isEven) {
150
+ breadcrumbsAtEnd.unshift(breadcrumb);
151
+ } else {
152
+ breadcrumbsAtStart.push(breadcrumb);
153
+ }
154
+ }
155
+
156
+ return [].concat(breadcrumbsAtStart, [{
157
+ isCollapsedButton: true,
158
+ overflowBreadcrumbs: overflowBreadcrumbs
159
+ }], breadcrumbsAtEnd);
225
160
  };
226
161
 
227
- exports.EuiBreadcrumbs = EuiBreadcrumbs;
162
+ exports.limitBreadcrumbs = limitBreadcrumbs;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiBreadcrumbsListStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
13
+
14
+ var _ref = process.env.NODE_ENV === "production" ? {
15
+ name: "1bwn7gf-isTruncated",
16
+ styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;"
17
+ } : {
18
+ name: "1bwn7gf-isTruncated",
19
+ styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;",
20
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
+ };
22
+
23
+ var euiBreadcrumbsListStyles = function euiBreadcrumbsListStyles(euiThemeContext) {
24
+ // Styles cast to the <ol> element
25
+ var euiTheme = euiThemeContext.euiTheme;
26
+ return {
27
+ euiBreadcrumbs__list: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";align-items:center;display:flex;flex-wrap:wrap;line-height:", euiTheme.size.l, ";", (0, _global_styling.logicalCSS)( // Add vertical space between breadcrumbs, but make sure the whole breadcrumb set doesn't add space below itself
28
+ 'margin-bottom', "-".concat(euiTheme.size.xs)), " ", (0, _global_styling.logicalCSS)('min-width', 0), ";;label:euiBreadcrumbs__list;"),
29
+ isTruncated: _ref
30
+ };
31
+ };
32
+
33
+ exports.euiBreadcrumbsListStyles = euiBreadcrumbsListStyles;
@@ -141,7 +141,7 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
141
141
  }),
142
142
  innerTextRef = _useCopy.innerTextRef,
143
143
  showCopyButton = _useCopy.showCopyButton,
144
- CopyButton = _useCopy.CopyButton;
144
+ textToCopy = _useCopy.textToCopy;
145
145
 
146
146
  var _useOverflowDetection = useOverflowDetection(),
147
147
  setWrapperRef = _useOverflowDetection.setWrapperRef,
@@ -154,8 +154,8 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
154
154
  }),
155
155
  showFullScreenButton = _useFullScreen.showFullScreenButton,
156
156
  onKeyDown = _useFullScreen.onKeyDown,
157
- FullScreenButton = _useFullScreen.FullScreenButton,
158
- FullScreenDisplay = _useFullScreen.FullScreenDisplay; // Classes used in both fullscreen and non-fullscreen mode
157
+ isFullScreen = _useFullScreen.isFullScreen,
158
+ toggleFullScreen = _useFullScreen.toggleFullScreen; // Classes used in both fullscreen and non-fullscreen mode
159
159
 
160
160
 
161
161
  var wrapperClasses = (0, _classnames.default)(className, 'euiCodeBlock', {
@@ -185,25 +185,32 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
185
185
  onKeyDown: onKeyDown
186
186
  };
187
187
  }, [preClasses, onKeyDown]);
188
- var optionalStyles = {};
189
-
190
- if (overflowHeight) {
191
- var property = typeof overflowHeight === 'string' ? 'height' : 'maxHeight';
192
- optionalStyles[property] = overflowHeight;
193
- }
194
-
195
- var wrapperProps = {
196
- className: classes,
197
- style: optionalStyles
198
- };
199
- var codeBlockControls;
200
-
201
- if (showCopyButton || showFullScreenButton) {
202
- codeBlockControls = (0, _react2.jsx)("div", {
203
- className: "euiCodeBlock__controls"
204
- }, (0, _react2.jsx)(FullScreenButton, null), (0, _react2.jsx)(CopyButton, null));
205
- }
188
+ var overflowHeightStyles = (0, _react.useMemo)(function () {
189
+ if (overflowHeight) {
190
+ var property = typeof overflowHeight === 'string' ? 'height' : 'maxHeight';
191
+ return (0, _defineProperty2.default)({}, property, overflowHeight);
192
+ }
206
193
 
194
+ return {};
195
+ }, [overflowHeight]);
196
+ var wrapperProps = (0, _react.useMemo)(function () {
197
+ return {
198
+ className: classes,
199
+ style: overflowHeightStyles
200
+ };
201
+ }, [classes, overflowHeightStyles]);
202
+ var codeBlockControls = (0, _react.useMemo)(function () {
203
+ if (showCopyButton || showFullScreenButton) {
204
+ return (0, _react2.jsx)("div", {
205
+ className: "euiCodeBlock__controls"
206
+ }, showFullScreenButton && (0, _react2.jsx)(FullScreenButton, {
207
+ isFullScreen: isFullScreen,
208
+ toggleFullScreen: toggleFullScreen
209
+ }), showCopyButton && (0, _react2.jsx)(CopyButton, {
210
+ textToCopy: textToCopy
211
+ }));
212
+ }
213
+ }, [isFullScreen, toggleFullScreen, showCopyButton, showFullScreenButton, textToCopy]);
207
214
  return (0, _react2.jsx)("div", wrapperProps, isVirtualized ? (0, _react2.jsx)(VirtualizedCodeBlock, {
208
215
  data: data,
209
216
  rowHeight: fontSizeToRowHeightMap[fontSize],
@@ -213,10 +220,10 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
213
220
  codeProps: codeProps
214
221
  }) : (0, _react2.jsx)("pre", {
215
222
  ref: combinedRef,
216
- style: optionalStyles,
223
+ style: overflowHeightStyles,
217
224
  className: preClasses,
218
225
  tabIndex: tabIndex
219
- }, (0, _react2.jsx)("code", codeProps, content)), codeBlockControls, (0, _react2.jsx)(FullScreenDisplay, {
226
+ }, (0, _react2.jsx)("code", codeProps, content)), codeBlockControls, isFullScreen && (0, _react2.jsx)(FullScreenDisplay, {
220
227
  className: wrapperClasses
221
228
  }, isVirtualized ? (0, _react2.jsx)(VirtualizedCodeBlock, {
222
229
  data: data,
@@ -276,10 +283,27 @@ var useOverflowDetection = function useOverflowDetection() {
276
283
  */
277
284
 
278
285
 
279
- var useCopy = function useCopy(_ref2) {
280
- var isCopyable = _ref2.isCopyable,
281
- isVirtualized = _ref2.isVirtualized,
282
- children = _ref2.children;
286
+ var CopyButton = function CopyButton(_ref3) {
287
+ var textToCopy = _ref3.textToCopy;
288
+ var copyButton = (0, _i18n.useEuiI18n)('euiCodeBlock.copyButton', 'Copy');
289
+ return (0, _react2.jsx)("div", {
290
+ className: "euiCodeBlock__copyButton"
291
+ }, (0, _react2.jsx)(_copy.EuiCopy, {
292
+ textToCopy: textToCopy
293
+ }, function (copy) {
294
+ return (0, _react2.jsx)(_button.EuiButtonIcon, {
295
+ onClick: copy,
296
+ iconType: "copyClipboard",
297
+ color: "text",
298
+ "aria-label": copyButton
299
+ });
300
+ }));
301
+ };
302
+
303
+ var useCopy = function useCopy(_ref4) {
304
+ var isCopyable = _ref4.isCopyable,
305
+ isVirtualized = _ref4.isVirtualized,
306
+ children = _ref4.children;
283
307
 
284
308
  var _useInnerText = (0, _inner_text.useInnerText)(''),
285
309
  _useInnerText2 = (0, _slicedToArray2.default)(_useInnerText, 2),
@@ -292,32 +316,10 @@ var useCopy = function useCopy(_ref2) {
292
316
  var textToCopy = isVirtualized ? "".concat(children) : innerText; // Virtualized code blocks do not have inner text
293
317
 
294
318
  var showCopyButton = isCopyable && textToCopy;
295
-
296
- var CopyButton = function CopyButton() {
297
- if (!showCopyButton) return null;
298
- return (0, _react2.jsx)("div", {
299
- className: "euiCodeBlock__copyButton"
300
- }, (0, _react2.jsx)(_i18n.EuiI18n, {
301
- token: "euiCodeBlock.copyButton",
302
- default: "Copy"
303
- }, function (copyButton) {
304
- return (0, _react2.jsx)(_copy.EuiCopy, {
305
- textToCopy: textToCopy
306
- }, function (copy) {
307
- return (0, _react2.jsx)(_button.EuiButtonIcon, {
308
- onClick: copy,
309
- iconType: "copyClipboard",
310
- color: "text",
311
- "aria-label": copyButton
312
- });
313
- });
314
- }));
315
- };
316
-
317
319
  return {
318
320
  innerTextRef: innerTextRef,
319
321
  showCopyButton: showCopyButton,
320
- CopyButton: CopyButton
322
+ textToCopy: textToCopy
321
323
  };
322
324
  };
323
325
  /**
@@ -325,18 +327,50 @@ var useCopy = function useCopy(_ref2) {
325
327
  */
326
328
 
327
329
 
328
- var useFullScreen = function useFullScreen(_ref3) {
329
- var overflowHeight = _ref3.overflowHeight;
330
+ var FullScreenButton = function FullScreenButton(_ref5) {
331
+ var isFullScreen = _ref5.isFullScreen,
332
+ toggleFullScreen = _ref5.toggleFullScreen;
333
+
334
+ var _useEuiI18n = (0, _i18n.useEuiI18n)(['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'], ['Collapse', 'Expand']),
335
+ _useEuiI18n2 = (0, _slicedToArray2.default)(_useEuiI18n, 2),
336
+ fullscreenCollapse = _useEuiI18n2[0],
337
+ fullscreenExpand = _useEuiI18n2[1];
338
+
339
+ return (0, _react2.jsx)(_button.EuiButtonIcon, {
340
+ className: "euiCodeBlock__fullScreenButton",
341
+ onClick: toggleFullScreen,
342
+ iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
343
+ color: "text",
344
+ "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
345
+ });
346
+ };
347
+
348
+ var FullScreenDisplay = function FullScreenDisplay(_ref6) {
349
+ var children = _ref6.children,
350
+ className = _ref6.className;
351
+ // Force fullscreen to use large font and padding.
352
+ var fullScreenClasses = (0, _classnames.default)(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
353
+
354
+ return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, null, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
355
+ clickOutsideDisables: true
356
+ }, (0, _react2.jsx)("div", {
357
+ className: fullScreenClasses
358
+ }, children)));
359
+ };
360
+
361
+ var useFullScreen = function useFullScreen(_ref7) {
362
+ var overflowHeight = _ref7.overflowHeight;
330
363
 
331
364
  var _useState5 = (0, _react.useState)(false),
332
365
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
333
366
  isFullScreen = _useState6[0],
334
367
  setIsFullScreen = _useState6[1];
335
368
 
336
- var toggleFullScreen = function toggleFullScreen() {
337
- setIsFullScreen(!isFullScreen);
338
- };
339
-
369
+ var toggleFullScreen = (0, _react.useCallback)(function () {
370
+ setIsFullScreen(function (isFullScreen) {
371
+ return !isFullScreen;
372
+ });
373
+ }, []);
340
374
  var onKeyDown = (0, _react.useCallback)(function (event) {
341
375
  if (event.key === _services.keys.ESCAPE) {
342
376
  event.preventDefault();
@@ -345,45 +379,10 @@ var useFullScreen = function useFullScreen(_ref3) {
345
379
  }
346
380
  }, []);
347
381
  var showFullScreenButton = !!overflowHeight;
348
-
349
- var FullScreenButton = function FullScreenButton() {
350
- if (!showFullScreenButton) return null;
351
- return (0, _react2.jsx)(_i18n.EuiI18n, {
352
- tokens: ['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'],
353
- defaults: ['Collapse', 'Expand']
354
- }, function (_ref4) {
355
- var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
356
- fullscreenCollapse = _ref5[0],
357
- fullscreenExpand = _ref5[1];
358
-
359
- return (0, _react2.jsx)(_button.EuiButtonIcon, {
360
- className: "euiCodeBlock__fullScreenButton",
361
- onClick: toggleFullScreen,
362
- iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
363
- color: "text",
364
- "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
365
- });
366
- });
367
- };
368
-
369
- var FullScreenDisplay = function FullScreenDisplay(_ref6) {
370
- var children = _ref6.children,
371
- className = _ref6.className;
372
- if (!isFullScreen) return null; // Force fullscreen to use large font and padding.
373
-
374
- var fullScreenClasses = (0, _classnames.default)(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
375
-
376
- return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, null, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
377
- clickOutsideDisables: true
378
- }, (0, _react2.jsx)("div", {
379
- className: fullScreenClasses
380
- }, children)));
381
- };
382
-
383
382
  return {
384
383
  showFullScreenButton: showFullScreenButton,
385
- FullScreenButton: FullScreenButton,
386
- FullScreenDisplay: FullScreenDisplay,
384
+ isFullScreen: isFullScreen,
385
+ toggleFullScreen: toggleFullScreen,
387
386
  onKeyDown: onKeyDown
388
387
  };
389
388
  };
@@ -392,21 +391,21 @@ var useFullScreen = function useFullScreen(_ref3) {
392
391
  */
393
392
 
394
393
 
395
- var ListRow = function ListRow(_ref7) {
396
- var data = _ref7.data,
397
- index = _ref7.index,
398
- style = _ref7.style;
394
+ var ListRow = function ListRow(_ref8) {
395
+ var data = _ref8.data,
396
+ index = _ref8.index,
397
+ style = _ref8.style;
399
398
  var row = data[index];
400
399
  row.properties.style = style;
401
400
  return (0, _utils.nodeToHtml)(row, index, data, 0);
402
401
  };
403
402
 
404
- var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref8) {
405
- var data = _ref8.data,
406
- rowHeight = _ref8.rowHeight,
407
- overflowHeight = _ref8.overflowHeight,
408
- preProps = _ref8.preProps,
409
- codeProps = _ref8.codeProps;
403
+ var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref9) {
404
+ var data = _ref9.data,
405
+ rowHeight = _ref9.rowHeight,
406
+ overflowHeight = _ref9.overflowHeight,
407
+ preProps = _ref9.preProps,
408
+ codeProps = _ref9.codeProps;
410
409
  var VirtualizedOuterElement = (0, _react.useMemo)(function () {
411
410
  return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
412
411
  return (0, _react2.jsx)("pre", (0, _extends2.default)({}, props, {
@@ -423,9 +422,9 @@ var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref8) {
423
422
  }, [codeProps]);
424
423
  return (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
425
424
  disableHeight: typeof overflowHeight === 'number'
426
- }, function (_ref9) {
427
- var height = _ref9.height,
428
- width = _ref9.width;
425
+ }, function (_ref10) {
426
+ var height = _ref10.height,
427
+ width = _ref10.width;
429
428
  return (0, _react2.jsx)(_reactWindow.FixedSizeList, {
430
429
  height: height !== null && height !== void 0 ? height : overflowHeight,
431
430
  width: width,
@@ -354,6 +354,8 @@ var EuiDataGridBody = function EuiDataGridBody(props) {
354
354
 
355
355
  var rowHeightUtils = (0, _row_heights.useRowHeightUtils)({
356
356
  gridRef: gridRef,
357
+ outerGridElementRef: outerGridRef,
358
+ gridItemsRenderedRef: gridItemsRendered,
357
359
  gridStyles: gridStyles,
358
360
  columns: columns,
359
361
  rowHeightsOptions: rowHeightsOptions