@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
@@ -25,7 +25,7 @@ import { EuiButtonIcon } from '../button';
25
25
  import { keysOf } from '../common';
26
26
  import { EuiCopy } from '../copy';
27
27
  import { EuiFocusTrap } from '../focus_trap';
28
- import { EuiI18n } from '../i18n';
28
+ import { useEuiI18n } from '../i18n';
29
29
  import { useInnerText } from '../inner_text';
30
30
  import { useMutationObserver } from '../observer/mutation_observer';
31
31
  import { useResizeObserver } from '../observer/resize_observer';
@@ -109,7 +109,7 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
109
109
  }),
110
110
  innerTextRef = _useCopy.innerTextRef,
111
111
  showCopyButton = _useCopy.showCopyButton,
112
- CopyButton = _useCopy.CopyButton;
112
+ textToCopy = _useCopy.textToCopy;
113
113
 
114
114
  var _useOverflowDetection = useOverflowDetection(),
115
115
  setWrapperRef = _useOverflowDetection.setWrapperRef,
@@ -122,8 +122,8 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
122
122
  }),
123
123
  showFullScreenButton = _useFullScreen.showFullScreenButton,
124
124
  onKeyDown = _useFullScreen.onKeyDown,
125
- FullScreenButton = _useFullScreen.FullScreenButton,
126
- FullScreenDisplay = _useFullScreen.FullScreenDisplay; // Classes used in both fullscreen and non-fullscreen mode
125
+ isFullScreen = _useFullScreen.isFullScreen,
126
+ toggleFullScreen = _useFullScreen.toggleFullScreen; // Classes used in both fullscreen and non-fullscreen mode
127
127
 
128
128
 
129
129
  var wrapperClasses = classNames(className, 'euiCodeBlock', {
@@ -153,25 +153,32 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
153
153
  onKeyDown: onKeyDown
154
154
  };
155
155
  }, [preClasses, onKeyDown]);
156
- var optionalStyles = {};
157
-
158
- if (overflowHeight) {
159
- var property = typeof overflowHeight === 'string' ? 'height' : 'maxHeight';
160
- optionalStyles[property] = overflowHeight;
161
- }
162
-
163
- var wrapperProps = {
164
- className: classes,
165
- style: optionalStyles
166
- };
167
- var codeBlockControls;
168
-
169
- if (showCopyButton || showFullScreenButton) {
170
- codeBlockControls = ___EmotionJSX("div", {
171
- className: "euiCodeBlock__controls"
172
- }, ___EmotionJSX(FullScreenButton, null), ___EmotionJSX(CopyButton, null));
173
- }
156
+ var overflowHeightStyles = useMemo(function () {
157
+ if (overflowHeight) {
158
+ var property = typeof overflowHeight === 'string' ? 'height' : 'maxHeight';
159
+ return _defineProperty({}, property, overflowHeight);
160
+ }
174
161
 
162
+ return {};
163
+ }, [overflowHeight]);
164
+ var wrapperProps = useMemo(function () {
165
+ return {
166
+ className: classes,
167
+ style: overflowHeightStyles
168
+ };
169
+ }, [classes, overflowHeightStyles]);
170
+ var codeBlockControls = useMemo(function () {
171
+ if (showCopyButton || showFullScreenButton) {
172
+ return ___EmotionJSX("div", {
173
+ className: "euiCodeBlock__controls"
174
+ }, showFullScreenButton && ___EmotionJSX(FullScreenButton, {
175
+ isFullScreen: isFullScreen,
176
+ toggleFullScreen: toggleFullScreen
177
+ }), showCopyButton && ___EmotionJSX(CopyButton, {
178
+ textToCopy: textToCopy
179
+ }));
180
+ }
181
+ }, [isFullScreen, toggleFullScreen, showCopyButton, showFullScreenButton, textToCopy]);
175
182
  return ___EmotionJSX("div", wrapperProps, isVirtualized ? ___EmotionJSX(VirtualizedCodeBlock, {
176
183
  data: data,
177
184
  rowHeight: fontSizeToRowHeightMap[fontSize],
@@ -181,10 +188,10 @@ export var EuiCodeBlock = function EuiCodeBlock(_ref) {
181
188
  codeProps: codeProps
182
189
  }) : ___EmotionJSX("pre", {
183
190
  ref: combinedRef,
184
- style: optionalStyles,
191
+ style: overflowHeightStyles,
185
192
  className: preClasses,
186
193
  tabIndex: tabIndex
187
- }, ___EmotionJSX("code", codeProps, content)), codeBlockControls, ___EmotionJSX(FullScreenDisplay, {
194
+ }, ___EmotionJSX("code", codeProps, content)), codeBlockControls, isFullScreen && ___EmotionJSX(FullScreenDisplay, {
188
195
  className: wrapperClasses
189
196
  }, isVirtualized ? ___EmotionJSX(VirtualizedCodeBlock, {
190
197
  data: data,
@@ -241,10 +248,27 @@ var useOverflowDetection = function useOverflowDetection() {
241
248
  */
242
249
 
243
250
 
244
- var useCopy = function useCopy(_ref2) {
245
- var isCopyable = _ref2.isCopyable,
246
- isVirtualized = _ref2.isVirtualized,
247
- children = _ref2.children;
251
+ var CopyButton = function CopyButton(_ref3) {
252
+ var textToCopy = _ref3.textToCopy;
253
+ var copyButton = useEuiI18n('euiCodeBlock.copyButton', 'Copy');
254
+ return ___EmotionJSX("div", {
255
+ className: "euiCodeBlock__copyButton"
256
+ }, ___EmotionJSX(EuiCopy, {
257
+ textToCopy: textToCopy
258
+ }, function (copy) {
259
+ return ___EmotionJSX(EuiButtonIcon, {
260
+ onClick: copy,
261
+ iconType: "copyClipboard",
262
+ color: "text",
263
+ "aria-label": copyButton
264
+ });
265
+ }));
266
+ };
267
+
268
+ var useCopy = function useCopy(_ref4) {
269
+ var isCopyable = _ref4.isCopyable,
270
+ isVirtualized = _ref4.isVirtualized,
271
+ children = _ref4.children;
248
272
 
249
273
  var _useInnerText = useInnerText(''),
250
274
  _useInnerText2 = _slicedToArray(_useInnerText, 2),
@@ -257,32 +281,10 @@ var useCopy = function useCopy(_ref2) {
257
281
  var textToCopy = isVirtualized ? "".concat(children) : innerText; // Virtualized code blocks do not have inner text
258
282
 
259
283
  var showCopyButton = isCopyable && textToCopy;
260
-
261
- var CopyButton = function CopyButton() {
262
- if (!showCopyButton) return null;
263
- return ___EmotionJSX("div", {
264
- className: "euiCodeBlock__copyButton"
265
- }, ___EmotionJSX(EuiI18n, {
266
- token: "euiCodeBlock.copyButton",
267
- default: "Copy"
268
- }, function (copyButton) {
269
- return ___EmotionJSX(EuiCopy, {
270
- textToCopy: textToCopy
271
- }, function (copy) {
272
- return ___EmotionJSX(EuiButtonIcon, {
273
- onClick: copy,
274
- iconType: "copyClipboard",
275
- color: "text",
276
- "aria-label": copyButton
277
- });
278
- });
279
- }));
280
- };
281
-
282
284
  return {
283
285
  innerTextRef: innerTextRef,
284
286
  showCopyButton: showCopyButton,
285
- CopyButton: CopyButton
287
+ textToCopy: textToCopy
286
288
  };
287
289
  };
288
290
  /**
@@ -290,18 +292,50 @@ var useCopy = function useCopy(_ref2) {
290
292
  */
291
293
 
292
294
 
293
- var useFullScreen = function useFullScreen(_ref3) {
294
- var overflowHeight = _ref3.overflowHeight;
295
+ var FullScreenButton = function FullScreenButton(_ref5) {
296
+ var isFullScreen = _ref5.isFullScreen,
297
+ toggleFullScreen = _ref5.toggleFullScreen;
298
+
299
+ var _useEuiI18n = useEuiI18n(['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'], ['Collapse', 'Expand']),
300
+ _useEuiI18n2 = _slicedToArray(_useEuiI18n, 2),
301
+ fullscreenCollapse = _useEuiI18n2[0],
302
+ fullscreenExpand = _useEuiI18n2[1];
303
+
304
+ return ___EmotionJSX(EuiButtonIcon, {
305
+ className: "euiCodeBlock__fullScreenButton",
306
+ onClick: toggleFullScreen,
307
+ iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
308
+ color: "text",
309
+ "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
310
+ });
311
+ };
312
+
313
+ var FullScreenDisplay = function FullScreenDisplay(_ref6) {
314
+ var children = _ref6.children,
315
+ className = _ref6.className;
316
+ // Force fullscreen to use large font and padding.
317
+ var fullScreenClasses = classNames(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
318
+
319
+ return ___EmotionJSX(EuiOverlayMask, null, ___EmotionJSX(EuiFocusTrap, {
320
+ clickOutsideDisables: true
321
+ }, ___EmotionJSX("div", {
322
+ className: fullScreenClasses
323
+ }, children)));
324
+ };
325
+
326
+ var useFullScreen = function useFullScreen(_ref7) {
327
+ var overflowHeight = _ref7.overflowHeight;
295
328
 
296
329
  var _useState5 = useState(false),
297
330
  _useState6 = _slicedToArray(_useState5, 2),
298
331
  isFullScreen = _useState6[0],
299
332
  setIsFullScreen = _useState6[1];
300
333
 
301
- var toggleFullScreen = function toggleFullScreen() {
302
- setIsFullScreen(!isFullScreen);
303
- };
304
-
334
+ var toggleFullScreen = useCallback(function () {
335
+ setIsFullScreen(function (isFullScreen) {
336
+ return !isFullScreen;
337
+ });
338
+ }, []);
305
339
  var onKeyDown = useCallback(function (event) {
306
340
  if (event.key === keys.ESCAPE) {
307
341
  event.preventDefault();
@@ -310,45 +344,10 @@ var useFullScreen = function useFullScreen(_ref3) {
310
344
  }
311
345
  }, []);
312
346
  var showFullScreenButton = !!overflowHeight;
313
-
314
- var FullScreenButton = function FullScreenButton() {
315
- if (!showFullScreenButton) return null;
316
- return ___EmotionJSX(EuiI18n, {
317
- tokens: ['euiCodeBlock.fullscreenCollapse', 'euiCodeBlock.fullscreenExpand'],
318
- defaults: ['Collapse', 'Expand']
319
- }, function (_ref4) {
320
- var _ref5 = _slicedToArray(_ref4, 2),
321
- fullscreenCollapse = _ref5[0],
322
- fullscreenExpand = _ref5[1];
323
-
324
- return ___EmotionJSX(EuiButtonIcon, {
325
- className: "euiCodeBlock__fullScreenButton",
326
- onClick: toggleFullScreen,
327
- iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
328
- color: "text",
329
- "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
330
- });
331
- });
332
- };
333
-
334
- var FullScreenDisplay = function FullScreenDisplay(_ref6) {
335
- var children = _ref6.children,
336
- className = _ref6.className;
337
- if (!isFullScreen) return null; // Force fullscreen to use large font and padding.
338
-
339
- var fullScreenClasses = classNames(className, 'euiCodeBlock--fontLarge', 'euiCodeBlock--paddingLarge', 'euiCodeBlock-isFullScreen'); // Attaches to the body because of EuiOverlayMask's React portal usage.
340
-
341
- return ___EmotionJSX(EuiOverlayMask, null, ___EmotionJSX(EuiFocusTrap, {
342
- clickOutsideDisables: true
343
- }, ___EmotionJSX("div", {
344
- className: fullScreenClasses
345
- }, children)));
346
- };
347
-
348
347
  return {
349
348
  showFullScreenButton: showFullScreenButton,
350
- FullScreenButton: FullScreenButton,
351
- FullScreenDisplay: FullScreenDisplay,
349
+ isFullScreen: isFullScreen,
350
+ toggleFullScreen: toggleFullScreen,
352
351
  onKeyDown: onKeyDown
353
352
  };
354
353
  };
@@ -357,21 +356,21 @@ var useFullScreen = function useFullScreen(_ref3) {
357
356
  */
358
357
 
359
358
 
360
- var ListRow = function ListRow(_ref7) {
361
- var data = _ref7.data,
362
- index = _ref7.index,
363
- style = _ref7.style;
359
+ var ListRow = function ListRow(_ref8) {
360
+ var data = _ref8.data,
361
+ index = _ref8.index,
362
+ style = _ref8.style;
364
363
  var row = data[index];
365
364
  row.properties.style = style;
366
365
  return nodeToHtml(row, index, data, 0);
367
366
  };
368
367
 
369
- var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref8) {
370
- var data = _ref8.data,
371
- rowHeight = _ref8.rowHeight,
372
- overflowHeight = _ref8.overflowHeight,
373
- preProps = _ref8.preProps,
374
- codeProps = _ref8.codeProps;
368
+ var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref9) {
369
+ var data = _ref9.data,
370
+ rowHeight = _ref9.rowHeight,
371
+ overflowHeight = _ref9.overflowHeight,
372
+ preProps = _ref9.preProps,
373
+ codeProps = _ref9.codeProps;
375
374
  var VirtualizedOuterElement = useMemo(function () {
376
375
  return /*#__PURE__*/forwardRef(function (props, ref) {
377
376
  return ___EmotionJSX("pre", _extends({}, props, {
@@ -388,9 +387,9 @@ var VirtualizedCodeBlock = function VirtualizedCodeBlock(_ref8) {
388
387
  }, [codeProps]);
389
388
  return ___EmotionJSX(EuiAutoSizer, {
390
389
  disableHeight: typeof overflowHeight === 'number'
391
- }, function (_ref9) {
392
- var height = _ref9.height,
393
- width = _ref9.width;
390
+ }, function (_ref10) {
391
+ var height = _ref10.height,
392
+ width = _ref10.width;
394
393
  return ___EmotionJSX(FixedSizeList, {
395
394
  height: height !== null && height !== void 0 ? height : overflowHeight,
396
395
  width: width,
@@ -320,6 +320,8 @@ export var EuiDataGridBody = function EuiDataGridBody(props) {
320
320
 
321
321
  var rowHeightUtils = useRowHeightUtils({
322
322
  gridRef: gridRef,
323
+ outerGridElementRef: outerGridRef,
324
+ gridItemsRenderedRef: gridItemsRendered,
323
325
  gridStyles: gridStyles,
324
326
  columns: columns,
325
327
  rowHeightsOptions: rowHeightsOptions
@@ -408,7 +408,7 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
408
408
  }, {
409
409
  key: "componentDidUpdate",
410
410
  value: function componentDidUpdate(prevProps) {
411
- var _this$props$rowHeight, _prevProps$rowHeights;
411
+ var _this$props$rowHeight, _prevProps$rowHeights, _this$props$rowHeight2, _this$props$style, _prevProps$style;
412
412
 
413
413
  this.recalculateAutoHeight();
414
414
 
@@ -416,6 +416,18 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
416
416
  this.recalculateLineHeight();
417
417
  }
418
418
 
419
+ if ((_this$props$rowHeight2 = this.props.rowHeightsOptions) !== null && _this$props$rowHeight2 !== void 0 && _this$props$rowHeight2.scrollAnchorRow && this.props.colIndex === 0 && // once per row
420
+ this.props.columnId === prevProps.columnId && // if this is still the same column
421
+ this.props.rowIndex === prevProps.rowIndex && // if this is still the same row
422
+ ((_this$props$style = this.props.style) === null || _this$props$style === void 0 ? void 0 : _this$props$style.top) !== ((_prevProps$style = prevProps.style) === null || _prevProps$style === void 0 ? void 0 : _prevProps$style.top) // if the top position has changed
423
+ ) {
424
+ var _prevProps$style2, _this$props$style2, _this$props$rowHeight3, _this$props$rowHeight4;
425
+
426
+ var previousTop = parseFloat((_prevProps$style2 = prevProps.style) === null || _prevProps$style2 === void 0 ? void 0 : _prevProps$style2.top);
427
+ var currentTop = parseFloat((_this$props$style2 = this.props.style) === null || _this$props$style2 === void 0 ? void 0 : _this$props$style2.top);
428
+ (_this$props$rowHeight3 = this.props.rowHeightUtils) === null || _this$props$rowHeight3 === void 0 ? void 0 : _this$props$rowHeight3.compensateForLayoutShift(this.props.rowIndex, currentTop - previousTop, (_this$props$rowHeight4 = this.props.rowHeightsOptions) === null || _this$props$rowHeight4 === void 0 ? void 0 : _this$props$rowHeight4.scrollAnchorRow);
429
+ }
430
+
419
431
  if (this.props.popoverContext.popoverIsOpen !== prevProps.popoverContext.popoverIsOpen || this.props.popoverContext.cellLocation !== prevProps.popoverContext.cellLocation || this.props.renderCellPopover !== prevProps.renderCellPopover) {
420
432
  this.handleCellPopover();
421
433
  }
@@ -11,9 +11,9 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
11
11
  * in compliance with, at your election, the Elastic License 2.0 or the Server
12
12
  * Side Public License, v 1.
13
13
  */
14
- import { useEffect, useState, useMemo, useCallback, useContext } from 'react';
15
- import { isObject, isNumber } from '../../../services/predicate';
14
+ import { useCallback, useContext, useEffect, useMemo, useState } from 'react';
16
15
  import { useForceRender, useLatest } from '../../../services';
16
+ import { isNumber, isObject } from '../../../services/predicate';
17
17
  import { DataGridSortingContext } from './sorting'; // TODO: Once JS variables are available, use them here instead of hard-coded maps
18
18
 
19
19
  export var cellPaddingsMap = {
@@ -24,12 +24,14 @@ export var cellPaddingsMap = {
24
24
  export var AUTO_HEIGHT = 'auto';
25
25
  export var DEFAULT_ROW_HEIGHT = 34;
26
26
  export var RowHeightUtils = /*#__PURE__*/function () {
27
- function RowHeightUtils(gridRef, rerenderGridBodyRef) {
27
+ function RowHeightUtils(gridRef, outerGridElementRef, gridItemsRenderedRef, rerenderGridBodyRef) {
28
28
  var _this = this;
29
29
 
30
30
  _classCallCheck(this, RowHeightUtils);
31
31
 
32
32
  this.gridRef = gridRef;
33
+ this.outerGridElementRef = outerGridElementRef;
34
+ this.gridItemsRenderedRef = gridItemsRenderedRef;
33
35
  this.rerenderGridBodyRef = rerenderGridBodyRef;
34
36
 
35
37
  _defineProperty(this, "styles", {
@@ -225,6 +227,31 @@ export var RowHeightUtils = /*#__PURE__*/function () {
225
227
  (_this$gridRef$current = this.gridRef.current) === null || _this$gridRef$current === void 0 ? void 0 : _this$gridRef$current.resetAfterRowIndex(this.lastUpdatedRow);
226
228
  this.lastUpdatedRow = Infinity;
227
229
  }
230
+ }, {
231
+ key: "compensateForLayoutShift",
232
+ value: function compensateForLayoutShift(rowIndex, verticalLayoutShift, anchorRow) {
233
+ var grid = this.gridRef.current;
234
+ var outerGridElement = this.outerGridElementRef.current;
235
+ var renderedItems = this.gridItemsRenderedRef.current;
236
+
237
+ if (grid == null || outerGridElement == null || renderedItems == null || anchorRow == null || !Number.isFinite(verticalLayoutShift)) {
238
+ return;
239
+ } // skip if the start row is the anchor row but it hasn't shifted
240
+
241
+
242
+ if (anchorRow === 'start' && renderedItems.visibleRowStartIndex !== rowIndex) {
243
+ return;
244
+ } // skip if the center row is the anchor row but it hasn't shifted
245
+
246
+
247
+ if (anchorRow === 'center' && Math.floor((renderedItems.visibleRowStopIndex - renderedItems.visibleRowStartIndex) / 2) !== rowIndex) {
248
+ return;
249
+ }
250
+
251
+ grid.scrollTo({
252
+ scrollTop: outerGridElement.scrollTop + verticalLayoutShift
253
+ });
254
+ }
228
255
  }]);
229
256
 
230
257
  return RowHeightUtils;
@@ -236,13 +263,15 @@ export var RowHeightUtils = /*#__PURE__*/function () {
236
263
 
237
264
  export var useRowHeightUtils = function useRowHeightUtils(_ref2) {
238
265
  var gridRef = _ref2.gridRef,
266
+ outerGridElementRef = _ref2.outerGridElementRef,
267
+ gridItemsRenderedRef = _ref2.gridItemsRenderedRef,
239
268
  gridStyles = _ref2.gridStyles,
240
269
  columns = _ref2.columns,
241
270
  rowHeightsOptions = _ref2.rowHeightsOptions;
242
271
  var forceRenderRef = useLatest(useForceRender());
243
272
 
244
273
  var _useState = useState(function () {
245
- return new RowHeightUtils(gridRef, forceRenderRef);
274
+ return new RowHeightUtils(gridRef, outerGridElementRef, gridItemsRenderedRef, forceRenderRef);
246
275
  }),
247
276
  _useState2 = _slicedToArray(_useState, 1),
248
277
  rowHeightUtils = _useState2[0]; // Forces a rerender whenever the row heights change, as this can cause the
@@ -13,25 +13,10 @@ import React from 'react';
13
13
  import classNames from 'classnames';
14
14
  import { EuiDescriptionListTitle } from './description_list_title';
15
15
  import { EuiDescriptionListDescription } from './description_list_description';
16
- import { keysOf } from '../common';
16
+ import { useEuiTheme } from '../../services';
17
+ import { euiDescriptionListStyles } from './description_list.styles';
18
+ import { EuiDescriptionListContext } from './description_list_context';
17
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
18
- var typesToClassNameMap = {
19
- row: 'euiDescriptionList--row',
20
- inline: 'euiDescriptionList--inline',
21
- column: 'euiDescriptionList--column',
22
- responsiveColumn: 'euiDescriptionList--responsiveColumn'
23
- };
24
- export var TYPES = keysOf(typesToClassNameMap);
25
- var alignmentsToClassNameMap = {
26
- center: 'euiDescriptionList--center',
27
- left: ''
28
- };
29
- export var ALIGNMENTS = keysOf(alignmentsToClassNameMap);
30
- var textStylesToClassNameMap = {
31
- normal: '',
32
- reverse: 'euiDescriptionList--reverse'
33
- };
34
- export var TEXT_STYLES = keysOf(textStylesToClassNameMap);
35
20
  export var EuiDescriptionList = function EuiDescriptionList(_ref) {
36
21
  var _ref$align = _ref.align,
37
22
  align = _ref$align === void 0 ? 'left' : _ref$align,
@@ -48,9 +33,10 @@ export var EuiDescriptionList = function EuiDescriptionList(_ref) {
48
33
  type = _ref$type === void 0 ? 'row' : _ref$type,
49
34
  rest = _objectWithoutProperties(_ref, _excluded);
50
35
 
51
- var classes = classNames('euiDescriptionList', type ? typesToClassNameMap[type] : undefined, align ? alignmentsToClassNameMap[align] : undefined, textStyle ? textStylesToClassNameMap[textStyle] : undefined, {
52
- 'euiDescriptionList--compressed': compressed
53
- }, className);
36
+ var euiTheme = useEuiTheme();
37
+ var styles = euiDescriptionListStyles(euiTheme);
38
+ var cssStyles = [styles.euiDescriptionList, styles[type], styles[align]];
39
+ var classes = classNames('euiDescriptionList', className);
54
40
  var childrenOrListItems = null;
55
41
 
56
42
  if (listItems) {
@@ -65,7 +51,17 @@ export var EuiDescriptionList = function EuiDescriptionList(_ref) {
65
51
  childrenOrListItems = children;
66
52
  }
67
53
 
68
- return ___EmotionJSX("dl", _extends({
69
- className: classes
70
- }, rest), childrenOrListItems);
54
+ return ___EmotionJSX(EuiDescriptionListContext.Provider, {
55
+ value: {
56
+ type: type,
57
+ compressed: compressed,
58
+ textStyle: textStyle,
59
+ align: align
60
+ }
61
+ }, ___EmotionJSX("dl", _extends({
62
+ className: classes,
63
+ css: cssStyles
64
+ }, rest, {
65
+ "data-type": type
66
+ }), childrenOrListItems));
71
67
  };
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import { css } from '@emotion/react';
9
+ import { logicalTextAlignCSS, euiBreakpoint } from '../../global_styling';
10
+ export var euiDescriptionListStyles = function euiDescriptionListStyles(euiThemeContext) {
11
+ // Flex display for column and responsive column
12
+ var columnDisplay = "\n display: flex;\n align-items: baseline;\n flex-wrap: wrap; \n ";
13
+ return {
14
+ euiDescriptionList: /*#__PURE__*/css(";label:euiDescriptionList;"),
15
+ // Types
16
+ row: /*#__PURE__*/css(";label:row;"),
17
+ inline: /*#__PURE__*/css(";label:inline;"),
18
+ column: /*#__PURE__*/css(columnDisplay, ";;label:column;"),
19
+ // Responsive columns behave as a row on breakpoints xs-s
20
+ responsiveColumn: /*#__PURE__*/css(euiBreakpoint(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
21
+ // Alignment
22
+ center: /*#__PURE__*/css(logicalTextAlignCSS('center'), ";;label:center;"),
23
+ left: /*#__PURE__*/css(logicalTextAlignCSS('left'), ";;label:left;")
24
+ };
25
+ };
@@ -0,0 +1,14 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import { createContext } from 'react';
9
+ export var contextDefaults = {
10
+ type: 'row',
11
+ textStyle: 'normal',
12
+ align: 'left'
13
+ };
14
+ export var EuiDescriptionListContext = /*#__PURE__*/createContext(contextDefaults);
@@ -1,4 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
4
  var _excluded = ["children", "className"];
4
5
 
@@ -9,16 +10,45 @@ var _excluded = ["children", "className"];
9
10
  * in compliance with, at your election, the Elastic License 2.0 or the Server
10
11
  * Side Public License, v 1.
11
12
  */
12
- import React from 'react';
13
+ import React, { useContext } from 'react';
13
14
  import classNames from 'classnames';
15
+ import { useEuiTheme } from '../../services';
16
+ import { euiDescriptionListDescriptionStyles } from './description_list_description.styles';
17
+ import { EuiDescriptionListContext } from './description_list_context';
14
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
19
  export var EuiDescriptionListDescription = function EuiDescriptionListDescription(_ref) {
16
20
  var children = _ref.children,
17
21
  className = _ref.className,
18
22
  rest = _objectWithoutProperties(_ref, _excluded);
19
23
 
24
+ var _useContext = useContext(EuiDescriptionListContext),
25
+ type = _useContext.type,
26
+ textStyle = _useContext.textStyle,
27
+ compressed = _useContext.compressed,
28
+ align = _useContext.align;
29
+
30
+ var theme = useEuiTheme();
31
+ var styles = euiDescriptionListDescriptionStyles(theme);
32
+ var conditionalStyles = compressed && textStyle === 'reverse' ? [styles.fontStyles.compressed] : [styles.fontStyles[textStyle]];
33
+
34
+ switch (type) {
35
+ case 'inline':
36
+ conditionalStyles = compressed ? [styles.inlineStyles.compressed] : [styles.inlineStyles.normal];
37
+ break;
38
+
39
+ case 'responsiveColumn':
40
+ case 'column':
41
+ if (align === 'center') {
42
+ conditionalStyles.push(styles.left);
43
+ }
44
+
45
+ break;
46
+ }
47
+
48
+ var cssStyles = [styles.euiDescriptionList__description, styles[type]].concat(_toConsumableArray(conditionalStyles));
20
49
  var classes = classNames('euiDescriptionList__description', className);
21
50
  return ___EmotionJSX("dd", _extends({
22
- className: classes
51
+ className: classes,
52
+ css: cssStyles
23
53
  }, rest), children);
24
54
  };
@@ -0,0 +1,47 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
+
3
+ /*
4
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
+ * or more contributor license agreements. Licensed under the Elastic License
6
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
7
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
8
+ * Side Public License, v 1.
9
+ */
10
+ import { css } from '@emotion/react';
11
+ import { euiFontSize, euiBreakpoint, logicalTextAlignCSS, logicalCSS } from '../../global_styling';
12
+ import { euiTitle } from '../title/title.styles';
13
+
14
+ var _ref = process.env.NODE_ENV === "production" ? {
15
+ name: "1yn9gig-inline",
16
+ styles: "display:inline;label:inline;"
17
+ } : {
18
+ name: "1yn9gig-inline",
19
+ styles: "display:inline;label:inline;",
20
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
+ };
22
+
23
+ export var euiDescriptionListDescriptionStyles = function euiDescriptionListDescriptionStyles(euiThemeContext) {
24
+ var euiTheme = euiThemeContext.euiTheme;
25
+ var columnDisplay = "\n ".concat(logicalCSS('width', '50%'), " // Flex-basis doesn't work in IE with padding\n ").concat(logicalCSS('padding-left', euiTheme.size.s), "\n &:not(:first-of-type) {\n ").concat(logicalCSS('margin-top', euiTheme.size.base), "\n }\n ");
26
+ return {
27
+ euiDescriptionList__description: /*#__PURE__*/css(";label:euiDescriptionList__description;"),
28
+ // Types
29
+ row: /*#__PURE__*/css(";label:row;"),
30
+ column: /*#__PURE__*/css(columnDisplay, ";;label:column;"),
31
+ responsiveColumn: /*#__PURE__*/css(euiBreakpoint(euiThemeContext, ['xs', 's']), "{", logicalCSS('width', '100%'), " padding:0;}", euiBreakpoint(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
32
+ inline: _ref,
33
+ // This nested block handles just the font styling based on compressed and reverse
34
+ fontStyles: {
35
+ normal: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";;label:normal;"),
36
+ reverse: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xs'), ";;label:reverse;"),
37
+ compressed: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxs'), ";;label:compressed;")
38
+ },
39
+ // Nested inline styles for type and font
40
+ inlineStyles: {
41
+ compressed: /*#__PURE__*/css(euiFontSize(euiThemeContext, 'xs'), ";;label:compressed;"),
42
+ normal: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), ";;label:normal;")
43
+ },
44
+ // Column types should align description text to the left when EuiDecriptionList is centered
45
+ left: /*#__PURE__*/css(logicalTextAlignCSS('left'), ";;label:left;")
46
+ };
47
+ };