@elastic/eui 93.2.0 → 93.4.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 (418) hide show
  1. package/dist/eui_charts_theme.d.ts +9 -0
  2. package/dist/eui_charts_theme.js +56 -14
  3. package/dist/eui_charts_theme.js.map +1 -1
  4. package/dist/eui_theme_dark.css +3 -0
  5. package/dist/eui_theme_dark.min.css +1 -1
  6. package/dist/eui_theme_light.css +3 -0
  7. package/dist/eui_theme_light.min.css +1 -1
  8. package/es/components/breadcrumbs/_breadcrumb_content.js +362 -0
  9. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  10. package/es/components/breadcrumbs/breadcrumb.js +10 -324
  11. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  12. package/es/components/breadcrumbs/breadcrumbs.js +8 -6
  13. package/es/components/breadcrumbs/types.js +1 -0
  14. package/es/components/button/button_display/_button_display.js +2 -3
  15. package/es/components/button/button_empty/button_empty.js +2 -3
  16. package/es/components/button/button_group/button_group.js +19 -7
  17. package/es/components/button/button_group/button_group.styles.js +11 -14
  18. package/es/components/button/button_group/button_group_button.js +59 -5
  19. package/es/components/button/button_group/button_group_button.styles.js +39 -3
  20. package/es/components/button/button_icon/button_icon.js +4 -5
  21. package/es/components/button/button_icon/button_icon.styles.js +11 -3
  22. package/es/components/datagrid/body/cell/data_grid_cell.js +102 -59
  23. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  24. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  25. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  26. package/es/components/datagrid/body/cell/index.js +1 -1
  27. package/es/components/datagrid/body/data_grid_body.js +14 -0
  28. package/es/components/datagrid/body/data_grid_body_custom.js +54 -35
  29. package/es/components/datagrid/body/data_grid_body_virtualized.js +87 -56
  30. package/es/components/datagrid/body/data_grid_row_manager.js +7 -5
  31. package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  32. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
  33. package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
  34. package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
  35. package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  36. package/es/components/datagrid/controls/column_selector.js +126 -123
  37. package/es/components/datagrid/controls/column_sorting.js +605 -103
  38. package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  39. package/es/components/datagrid/controls/display_selector.js +109 -107
  40. package/es/components/datagrid/data_grid.a11y.js +13 -12
  41. package/es/components/datagrid/data_grid.js +47 -22
  42. package/es/components/datagrid/utils/col_widths.js +12 -8
  43. package/es/components/datagrid/utils/focus.js +10 -8
  44. package/es/components/datagrid/utils/grid_height_width.js +31 -30
  45. package/es/components/datagrid/utils/ref.js +1 -1
  46. package/es/components/datagrid/utils/row_heights.js +2 -2
  47. package/es/components/datagrid/utils/sorting.js +29 -27
  48. package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  49. package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
  50. package/es/components/facet/facet_button.styles.js +1 -2
  51. package/es/components/flex/flex_grid.js +22 -8
  52. package/es/components/flex/flex_grid.styles.js +13 -6
  53. package/es/components/flex/flex_group.js +10 -11
  54. package/es/components/flex/flex_item.js +9 -11
  55. package/es/components/flex/flex_item.styles.js +107 -122
  56. package/es/components/flyout/flyout.js +16 -18
  57. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  58. package/es/components/icon/icon.js +13 -16
  59. package/es/components/icon/icon.styles.js +6 -9
  60. package/es/components/link/external_link_icon.js +11 -8
  61. package/es/components/link/link.js +2 -3
  62. package/es/components/link/link.styles.js +4 -10
  63. package/es/components/modal/confirm_modal.js +2 -1
  64. package/es/components/modal/modal.js +12 -3
  65. package/es/components/observer/resize_observer/resize_observer.js +15 -24
  66. package/es/components/page/page_header/page_header_content.js +4 -2
  67. package/es/components/progress/progress.styles.js +2 -2
  68. package/es/components/skeleton/skeleton_circle.js +2 -3
  69. package/es/components/skeleton/skeleton_rectangle.js +2 -3
  70. package/es/components/skeleton/skeleton_text.js +16 -12
  71. package/es/components/skeleton/skeleton_title.js +2 -3
  72. package/es/components/spacer/spacer.js +2 -3
  73. package/es/components/text/text.js +2 -3
  74. package/es/components/text/text_align.js +1 -2
  75. package/es/components/text/text_align.styles.js +5 -7
  76. package/es/components/text/text_color.js +2 -3
  77. package/es/components/title/title.js +2 -3
  78. package/es/components/title/title.styles.js +0 -7
  79. package/es/components/toast/global_toast_list.js +70 -73
  80. package/es/components/toast/toast.js +27 -42
  81. package/es/components/toast/toast.styles.js +2 -17
  82. package/es/global_styling/mixins/_typography.js +17 -6
  83. package/es/services/color/eui_palettes.js +21 -13
  84. package/es/services/color/index.js +1 -1
  85. package/es/services/hooks/index.js +1 -0
  86. package/es/services/hooks/useDeepEqual.js +23 -0
  87. package/es/services/index.js +1 -1
  88. package/es/services/theme/index.js +1 -1
  89. package/es/services/theme/style_memoization.js +47 -14
  90. package/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  91. package/eui.d.ts +2862 -2748
  92. package/i18ntokens.json +267 -267
  93. package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
  94. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  95. package/lib/components/breadcrumbs/breadcrumb.js +11 -328
  96. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  97. package/lib/components/breadcrumbs/breadcrumbs.js +7 -5
  98. package/lib/components/breadcrumbs/types.js +5 -0
  99. package/lib/components/button/button_display/_button_display.js +1 -2
  100. package/lib/components/button/button_empty/button_empty.js +1 -2
  101. package/lib/components/button/button_group/button_group.js +18 -6
  102. package/lib/components/button/button_group/button_group.styles.js +11 -14
  103. package/lib/components/button/button_group/button_group_button.js +59 -5
  104. package/lib/components/button/button_group/button_group_button.styles.js +45 -11
  105. package/lib/components/button/button_icon/button_icon.js +3 -4
  106. package/lib/components/button/button_icon/button_icon.styles.js +10 -2
  107. package/lib/components/datagrid/body/cell/data_grid_cell.js +100 -58
  108. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  109. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  110. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  111. package/lib/components/datagrid/body/cell/index.js +2 -2
  112. package/lib/components/datagrid/body/data_grid_body.js +14 -0
  113. package/lib/components/datagrid/body/data_grid_body_custom.js +53 -34
  114. package/lib/components/datagrid/body/data_grid_body_virtualized.js +86 -55
  115. package/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
  116. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  117. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  118. package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  119. package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
  120. package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  121. package/lib/components/datagrid/controls/column_selector.js +126 -123
  122. package/lib/components/datagrid/controls/column_sorting.js +615 -110
  123. package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  124. package/lib/components/datagrid/controls/display_selector.js +109 -107
  125. package/lib/components/datagrid/data_grid.a11y.js +13 -12
  126. package/lib/components/datagrid/data_grid.js +45 -20
  127. package/lib/components/datagrid/utils/col_widths.js +12 -8
  128. package/lib/components/datagrid/utils/focus.js +10 -8
  129. package/lib/components/datagrid/utils/grid_height_width.js +29 -28
  130. package/lib/components/datagrid/utils/ref.js +1 -1
  131. package/lib/components/datagrid/utils/row_heights.js +1 -1
  132. package/lib/components/datagrid/utils/sorting.js +31 -29
  133. package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  134. package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
  135. package/lib/components/facet/facet_button.styles.js +1 -2
  136. package/lib/components/flex/flex_grid.js +23 -7
  137. package/lib/components/flex/flex_grid.styles.js +13 -6
  138. package/lib/components/flex/flex_group.js +10 -10
  139. package/lib/components/flex/flex_item.js +13 -13
  140. package/lib/components/flex/flex_item.styles.js +107 -122
  141. package/lib/components/flyout/flyout.js +16 -18
  142. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  143. package/lib/components/icon/icon.js +12 -15
  144. package/lib/components/icon/icon.styles.js +5 -8
  145. package/lib/components/link/external_link_icon.js +10 -7
  146. package/lib/components/link/link.js +1 -2
  147. package/lib/components/link/link.styles.js +6 -14
  148. package/lib/components/modal/confirm_modal.js +2 -1
  149. package/lib/components/modal/modal.js +12 -3
  150. package/lib/components/observer/resize_observer/resize_observer.js +15 -24
  151. package/lib/components/page/page_header/page_header_content.js +4 -2
  152. package/lib/components/progress/progress.styles.js +1 -1
  153. package/lib/components/skeleton/skeleton_circle.js +1 -2
  154. package/lib/components/skeleton/skeleton_rectangle.js +1 -2
  155. package/lib/components/skeleton/skeleton_text.js +18 -11
  156. package/lib/components/skeleton/skeleton_title.js +1 -2
  157. package/lib/components/spacer/spacer.js +1 -2
  158. package/lib/components/text/text.js +1 -2
  159. package/lib/components/text/text_align.js +1 -2
  160. package/lib/components/text/text_align.styles.js +5 -7
  161. package/lib/components/text/text_color.js +1 -2
  162. package/lib/components/title/title.js +1 -2
  163. package/lib/components/title/title.styles.js +2 -10
  164. package/lib/components/toast/global_toast_list.js +68 -71
  165. package/lib/components/toast/toast.js +25 -40
  166. package/lib/components/toast/toast.styles.js +11 -25
  167. package/lib/global_styling/mixins/_typography.js +27 -19
  168. package/lib/services/color/eui_palettes.js +24 -14
  169. package/lib/services/color/index.js +14 -0
  170. package/lib/services/hooks/index.js +11 -0
  171. package/lib/services/hooks/useDeepEqual.js +30 -0
  172. package/lib/services/index.js +15 -1
  173. package/lib/services/theme/index.js +6 -0
  174. package/lib/services/theme/style_memoization.js +49 -16
  175. package/lib/themes/amsterdam/global_styling/mixins/button.js +49 -25
  176. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
  177. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  178. package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -109
  179. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  180. package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
  181. package/optimize/es/components/breadcrumbs/types.js +1 -0
  182. package/optimize/es/components/button/button_display/_button_display.js +2 -3
  183. package/optimize/es/components/button/button_empty/button_empty.js +2 -3
  184. package/optimize/es/components/button/button_group/button_group.js +5 -7
  185. package/optimize/es/components/button/button_group/button_group.styles.js +11 -14
  186. package/optimize/es/components/button/button_group/button_group_button.js +36 -4
  187. package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
  188. package/optimize/es/components/button/button_icon/button_icon.js +4 -5
  189. package/optimize/es/components/button/button_icon/button_icon.styles.js +8 -3
  190. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +83 -56
  191. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  192. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  193. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  194. package/optimize/es/components/datagrid/body/cell/index.js +1 -1
  195. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +40 -35
  196. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +71 -49
  197. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +7 -5
  198. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  199. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  201. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
  202. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  203. package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
  204. package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
  205. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  206. package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
  207. package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
  208. package/optimize/es/components/datagrid/data_grid.js +47 -22
  209. package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
  210. package/optimize/es/components/datagrid/utils/focus.js +10 -8
  211. package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
  212. package/optimize/es/components/datagrid/utils/ref.js +1 -1
  213. package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
  214. package/optimize/es/components/datagrid/utils/sorting.js +29 -27
  215. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
  216. package/optimize/es/components/facet/facet_button.styles.js +1 -2
  217. package/optimize/es/components/flex/flex_grid.js +19 -8
  218. package/optimize/es/components/flex/flex_grid.styles.js +13 -6
  219. package/optimize/es/components/flex/flex_group.js +9 -10
  220. package/optimize/es/components/flex/flex_item.js +9 -11
  221. package/optimize/es/components/flex/flex_item.styles.js +107 -122
  222. package/optimize/es/components/flyout/flyout.js +16 -18
  223. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  224. package/optimize/es/components/icon/icon.js +13 -16
  225. package/optimize/es/components/icon/icon.styles.js +6 -9
  226. package/optimize/es/components/link/external_link_icon.js +11 -8
  227. package/optimize/es/components/link/link.js +2 -3
  228. package/optimize/es/components/link/link.styles.js +4 -10
  229. package/optimize/es/components/modal/confirm_modal.js +2 -1
  230. package/optimize/es/components/modal/modal.js +6 -2
  231. package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
  232. package/optimize/es/components/progress/progress.styles.js +2 -2
  233. package/optimize/es/components/skeleton/skeleton_circle.js +2 -3
  234. package/optimize/es/components/skeleton/skeleton_rectangle.js +2 -3
  235. package/optimize/es/components/skeleton/skeleton_text.js +16 -12
  236. package/optimize/es/components/skeleton/skeleton_title.js +2 -3
  237. package/optimize/es/components/spacer/spacer.js +2 -3
  238. package/optimize/es/components/text/text.js +2 -3
  239. package/optimize/es/components/text/text_align.js +1 -2
  240. package/optimize/es/components/text/text_align.styles.js +5 -7
  241. package/optimize/es/components/text/text_color.js +2 -3
  242. package/optimize/es/components/title/title.js +2 -3
  243. package/optimize/es/components/title/title.styles.js +0 -7
  244. package/optimize/es/components/toast/global_toast_list.js +70 -73
  245. package/optimize/es/components/toast/toast.js +27 -42
  246. package/optimize/es/components/toast/toast.styles.js +2 -17
  247. package/optimize/es/global_styling/mixins/_typography.js +14 -6
  248. package/optimize/es/services/color/eui_palettes.js +21 -13
  249. package/optimize/es/services/color/index.js +1 -1
  250. package/optimize/es/services/hooks/index.js +1 -0
  251. package/optimize/es/services/hooks/useDeepEqual.js +23 -0
  252. package/optimize/es/services/index.js +1 -1
  253. package/optimize/es/services/theme/index.js +1 -1
  254. package/optimize/es/services/theme/style_memoization.js +47 -14
  255. package/optimize/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  256. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
  257. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  258. package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -112
  259. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  260. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  261. package/optimize/lib/components/breadcrumbs/types.js +5 -0
  262. package/optimize/lib/components/button/button_display/_button_display.js +1 -2
  263. package/optimize/lib/components/button/button_empty/button_empty.js +1 -2
  264. package/optimize/lib/components/button/button_group/button_group.js +4 -6
  265. package/optimize/lib/components/button/button_group/button_group.styles.js +11 -14
  266. package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
  267. package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
  268. package/optimize/lib/components/button/button_icon/button_icon.js +3 -4
  269. package/optimize/lib/components/button/button_icon/button_icon.styles.js +8 -2
  270. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +81 -55
  271. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  272. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  273. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  274. package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
  275. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +39 -34
  276. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +72 -50
  277. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
  278. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  279. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  280. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  281. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
  282. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  283. package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
  284. package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
  285. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  286. package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
  287. package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
  288. package/optimize/lib/components/datagrid/data_grid.js +45 -20
  289. package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
  290. package/optimize/lib/components/datagrid/utils/focus.js +10 -8
  291. package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
  292. package/optimize/lib/components/datagrid/utils/ref.js +1 -1
  293. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  294. package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
  295. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
  296. package/optimize/lib/components/facet/facet_button.styles.js +1 -2
  297. package/optimize/lib/components/flex/flex_grid.js +21 -7
  298. package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
  299. package/optimize/lib/components/flex/flex_group.js +9 -9
  300. package/optimize/lib/components/flex/flex_item.js +13 -13
  301. package/optimize/lib/components/flex/flex_item.styles.js +107 -122
  302. package/optimize/lib/components/flyout/flyout.js +16 -18
  303. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  304. package/optimize/lib/components/icon/icon.js +12 -15
  305. package/optimize/lib/components/icon/icon.styles.js +5 -8
  306. package/optimize/lib/components/link/external_link_icon.js +10 -7
  307. package/optimize/lib/components/link/link.js +1 -2
  308. package/optimize/lib/components/link/link.styles.js +6 -14
  309. package/optimize/lib/components/modal/confirm_modal.js +2 -1
  310. package/optimize/lib/components/modal/modal.js +6 -2
  311. package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
  312. package/optimize/lib/components/progress/progress.styles.js +1 -1
  313. package/optimize/lib/components/skeleton/skeleton_circle.js +1 -2
  314. package/optimize/lib/components/skeleton/skeleton_rectangle.js +1 -2
  315. package/optimize/lib/components/skeleton/skeleton_text.js +18 -11
  316. package/optimize/lib/components/skeleton/skeleton_title.js +1 -2
  317. package/optimize/lib/components/spacer/spacer.js +1 -2
  318. package/optimize/lib/components/text/text.js +1 -2
  319. package/optimize/lib/components/text/text_align.js +1 -2
  320. package/optimize/lib/components/text/text_align.styles.js +5 -7
  321. package/optimize/lib/components/text/text_color.js +1 -2
  322. package/optimize/lib/components/title/title.js +1 -2
  323. package/optimize/lib/components/title/title.styles.js +2 -10
  324. package/optimize/lib/components/toast/global_toast_list.js +68 -71
  325. package/optimize/lib/components/toast/toast.js +25 -40
  326. package/optimize/lib/components/toast/toast.styles.js +11 -25
  327. package/optimize/lib/global_styling/mixins/_typography.js +25 -19
  328. package/optimize/lib/services/color/eui_palettes.js +24 -14
  329. package/optimize/lib/services/color/index.js +14 -0
  330. package/optimize/lib/services/hooks/index.js +11 -0
  331. package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
  332. package/optimize/lib/services/index.js +15 -1
  333. package/optimize/lib/services/theme/index.js +6 -0
  334. package/optimize/lib/services/theme/style_memoization.js +49 -16
  335. package/optimize/lib/themes/amsterdam/global_styling/mixins/button.js +49 -26
  336. package/package.json +3 -3
  337. package/src/components/datagrid/_data_grid_data_row.scss +4 -0
  338. package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
  339. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  340. package/test-env/components/breadcrumbs/breadcrumb.js +11 -323
  341. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
  342. package/test-env/components/breadcrumbs/breadcrumbs.js +7 -5
  343. package/test-env/components/breadcrumbs/types.js +5 -0
  344. package/test-env/components/button/button_display/_button_display.js +1 -2
  345. package/test-env/components/button/button_empty/button_empty.js +1 -2
  346. package/test-env/components/button/button_group/button_group.js +18 -6
  347. package/test-env/components/button/button_group/button_group.styles.js +11 -14
  348. package/test-env/components/button/button_group/button_group_button.js +56 -5
  349. package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
  350. package/test-env/components/button/button_icon/button_icon.js +3 -4
  351. package/test-env/components/button/button_icon/button_icon.styles.js +8 -2
  352. package/test-env/components/datagrid/body/cell/data_grid_cell.js +100 -58
  353. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  354. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  355. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  356. package/test-env/components/datagrid/body/cell/index.js +2 -2
  357. package/test-env/components/datagrid/body/data_grid_body.js +14 -0
  358. package/test-env/components/datagrid/body/data_grid_body_custom.js +53 -34
  359. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +86 -55
  360. package/test-env/components/datagrid/body/data_grid_row_manager.js +6 -4
  361. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  362. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  363. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  364. package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
  365. package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
  366. package/test-env/components/datagrid/controls/column_selector.js +126 -123
  367. package/test-env/components/datagrid/controls/column_sorting.js +607 -106
  368. package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
  369. package/test-env/components/datagrid/controls/display_selector.js +109 -107
  370. package/test-env/components/datagrid/data_grid.a11y.js +13 -12
  371. package/test-env/components/datagrid/data_grid.js +45 -20
  372. package/test-env/components/datagrid/utils/col_widths.js +9 -5
  373. package/test-env/components/datagrid/utils/focus.js +10 -8
  374. package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
  375. package/test-env/components/datagrid/utils/ref.js +1 -1
  376. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  377. package/test-env/components/datagrid/utils/sorting.js +31 -29
  378. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  379. package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
  380. package/test-env/components/facet/facet_button.styles.js +1 -2
  381. package/test-env/components/flex/flex_grid.js +21 -7
  382. package/test-env/components/flex/flex_grid.styles.js +13 -6
  383. package/test-env/components/flex/flex_group.js +10 -10
  384. package/test-env/components/flex/flex_item.js +13 -13
  385. package/test-env/components/flex/flex_item.styles.js +107 -122
  386. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  387. package/test-env/components/icon/icon.styles.js +5 -8
  388. package/test-env/components/link/external_link_icon.js +10 -7
  389. package/test-env/components/link/link.js +1 -2
  390. package/test-env/components/link/link.styles.js +6 -14
  391. package/test-env/components/modal/confirm_modal.js +2 -1
  392. package/test-env/components/modal/modal.js +12 -3
  393. package/test-env/components/page/page_header/page_header_content.js +4 -2
  394. package/test-env/components/progress/progress.styles.js +1 -1
  395. package/test-env/components/skeleton/skeleton_circle.js +1 -2
  396. package/test-env/components/skeleton/skeleton_rectangle.js +1 -2
  397. package/test-env/components/skeleton/skeleton_text.js +18 -11
  398. package/test-env/components/skeleton/skeleton_title.js +1 -2
  399. package/test-env/components/spacer/spacer.js +1 -2
  400. package/test-env/components/text/text.js +1 -2
  401. package/test-env/components/text/text_align.js +1 -2
  402. package/test-env/components/text/text_align.styles.js +5 -7
  403. package/test-env/components/text/text_color.js +1 -2
  404. package/test-env/components/title/title.js +1 -2
  405. package/test-env/components/title/title.styles.js +2 -10
  406. package/test-env/components/toast/global_toast_list.js +68 -71
  407. package/test-env/components/toast/toast.js +25 -40
  408. package/test-env/components/toast/toast.styles.js +11 -25
  409. package/test-env/global_styling/mixins/_typography.js +25 -19
  410. package/test-env/services/color/eui_palettes.js +24 -14
  411. package/test-env/services/color/index.js +14 -0
  412. package/test-env/services/hooks/index.js +11 -0
  413. package/test-env/services/hooks/useDeepEqual.js +30 -0
  414. package/test-env/services/index.js +15 -1
  415. package/test-env/services/theme/index.js +6 -0
  416. package/test-env/services/theme/style_memoization.js +49 -16
  417. package/test-env/themes/amsterdam/global_styling/mixins/button.js +49 -26
  418. package/src/themes/charts/theme.scss +0 -5
@@ -1,28 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.EuiBreadcrumbContent = exports.EuiBreadcrumbCollapsed = exports.EuiBreadcrumb = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
+ exports.EuiBreadcrumbCollapsed = exports.EuiBreadcrumb = void 0;
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
- var _react = _interopRequireWildcard(require("react"));
13
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _react = _interopRequireDefault(require("react"));
14
11
  var _classnames = _interopRequireDefault(require("classnames"));
15
12
  var _services = require("../../services");
16
- var _inner_text = require("../inner_text");
17
- var _text = require("../text");
18
- var _link = require("../link");
19
- var _popover = require("../popover");
20
- var _icon = require("../icon");
21
13
  var _i18n = require("../i18n");
14
+ var _breadcrumb_content = require("./_breadcrumb_content");
22
15
  var _breadcrumb = require("./breadcrumb.styles");
23
16
  var _react2 = require("@emotion/react");
24
- var _excluded = ["children", "className", "type", "truncate"],
25
- _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"];
17
+ var _excluded = ["children", "className", "type", "truncate"];
26
18
  /*
27
19
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
28
20
  * or more contributor license agreements. Licensed under the Elastic License
@@ -30,9 +22,6 @@ var _excluded = ["children", "className", "type", "truncate"],
30
22
  * in compliance with, at your election, the Elastic License 2.0 or the Server
31
23
  * Side Public License, v 1.
32
24
  */
33
- // Used internally only by the parent EuiBreadcrumbs
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); }
35
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
36
25
  var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
37
26
  var children = _ref.children,
38
27
  className = _ref.className,
@@ -40,8 +29,7 @@ var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
40
29
  truncate = _ref.truncate,
41
30
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
42
31
  var classes = (0, _classnames.default)('euiBreadcrumb', className);
43
- var euiTheme = (0, _services.useEuiTheme)();
44
- var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
32
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb.euiBreadcrumbStyles);
45
33
  var cssStyles = [styles.euiBreadcrumb, styles[type], truncate && styles.isTruncated];
46
34
  return (0, _react2.jsx)("li", (0, _extends2.default)({
47
35
  className: classes,
@@ -50,309 +38,17 @@ var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
50
38
  }, rest), children);
51
39
  };
52
40
  exports.EuiBreadcrumb = EuiBreadcrumb;
53
- EuiBreadcrumb.propTypes = {
54
- type: _propTypes.default.oneOf(["page", "application"]).isRequired,
55
- isFirstBreadcrumb: _propTypes.default.bool,
56
- isLastBreadcrumb: _propTypes.default.bool,
57
- isOnlyBreadcrumb: _propTypes.default.bool,
58
- highlightLastBreadcrumb: _propTypes.default.bool,
59
- truncateLastBreadcrumb: _propTypes.default.bool
60
- };
61
- var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
62
- var text = _ref2.text,
63
- truncate = _ref2.truncate,
64
- type = _ref2.type,
65
- href = _ref2.href,
66
- rel = _ref2.rel,
67
- onClick = _ref2.onClick,
68
- popoverContent = _ref2.popoverContent,
69
- popoverProps = _ref2.popoverProps,
70
- className = _ref2.className,
71
- color = _ref2.color,
41
+ var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref2) {
42
+ var children = _ref2.children,
72
43
  isFirstBreadcrumb = _ref2.isFirstBreadcrumb,
73
- isLastBreadcrumb = _ref2.isLastBreadcrumb,
74
- isOnlyBreadcrumb = _ref2.isOnlyBreadcrumb,
75
- highlightLastBreadcrumb = _ref2.highlightLastBreadcrumb,
76
- truncateLastBreadcrumb = _ref2.truncateLastBreadcrumb,
77
- rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
78
- var classes = (0, _classnames.default)('euiBreadcrumb__content', className);
79
- var euiTheme = (0, _services.useEuiTheme)();
80
- var styles = (0, _breadcrumb.euiBreadcrumbContentStyles)(euiTheme);
81
- var cssStyles = [styles.euiBreadcrumb__content, styles[type], truncate && !truncateLastBreadcrumb && styles.isTruncated, truncateLastBreadcrumb && styles.isTruncatedLast];
82
- if (type === 'application') {
83
- if (isOnlyBreadcrumb) {
84
- cssStyles.push(styles.applicationStyles.onlyChild);
85
- } else if (isFirstBreadcrumb) {
86
- cssStyles.push(styles.applicationStyles.firstChild);
87
- } else if (isLastBreadcrumb) {
88
- cssStyles.push(styles.applicationStyles.lastChild);
89
- }
90
- }
91
- var isInteractiveBreadcrumb = href || onClick;
92
- var linkColor = color || (highlightLastBreadcrumb ? 'text' : 'subdued');
93
- var plainTextColor = highlightLastBreadcrumb ? 'default' : 'subdued'; // Does not inherit `color` prop
94
- var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
95
- var isPopoverBreadcrumb = !!popoverContent;
96
- var _useState = (0, _react.useState)(false),
97
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
98
- isPopoverOpen = _useState2[0],
99
- setIsPopoverOpen = _useState2[1];
100
- var popoverAriaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
101
- return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
102
- var title = innerText === '' ? undefined : innerText;
103
- var baseProps = {
104
- ref: ref,
105
- title: title,
106
- 'aria-current': ariaCurrent
107
- };
108
- var styleProps = {
109
- className: classes,
110
- css: cssStyles
111
- };
112
- if (isPopoverBreadcrumb) {
113
- return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({}, popoverProps, {
114
- isOpen: isPopoverOpen,
115
- closePopover: function closePopover() {
116
- return setIsPopoverOpen(false);
117
- },
118
- css: !isLastBreadcrumb && styles.euiBreadcrumb__popoverWrapper,
119
- button: (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({}, baseProps, {
120
- color: linkColor,
121
- css: styles.euiBreadcrumb__popoverButton
122
- // Avoid passing href and onClick - should only toggle the popover
123
- ,
124
- onClick: function onClick() {
125
- return setIsPopoverOpen(function (isOpen) {
126
- return !isOpen;
127
- });
128
- }
129
- }, rest), (0, _react2.jsx)("span", styleProps, text), (0, _react2.jsx)(_icon.EuiIcon, {
130
- type: "arrowDown",
131
- size: "s",
132
- "aria-label": " - ".concat(popoverAriaLabel)
133
- }))
134
- }), popoverContent);
135
- } else if (isInteractiveBreadcrumb) {
136
- return (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({}, baseProps, styleProps, {
137
- color: linkColor,
138
- onClick: onClick,
139
- href: href,
140
- rel: rel
141
- }, rest), text);
142
- } else {
143
- return (0, _react2.jsx)(_text.EuiTextColor, {
144
- color: plainTextColor,
145
- cloneElement: true
146
- }, (0, _react2.jsx)("span", (0, _extends2.default)({}, baseProps, styleProps, rest), text));
147
- }
148
- });
149
- };
150
- exports.EuiBreadcrumbContent = EuiBreadcrumbContent;
151
- EuiBreadcrumbContent.propTypes = {
152
- className: _propTypes.default.string,
153
- "aria-label": _propTypes.default.string,
154
- "data-test-subj": _propTypes.default.string,
155
- css: _propTypes.default.any,
156
- href: _propTypes.default.string,
157
- rel: _propTypes.default.string,
158
- onClick: _propTypes.default.func,
159
- /**
160
- * Visible label of the breadcrumb
161
- */
162
- text: _propTypes.default.node.isRequired,
163
- /**
164
- * Force a max-width on the breadcrumb text
165
- */
166
- truncate: _propTypes.default.bool,
167
- /**
168
- * Accepts any EuiLink `color` when rendered as one (has `href`, `onClick`, or `popoverContent`)
169
- */
170
- color: _propTypes.default.any,
171
- /**
172
- * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
173
- */
174
- "aria-current": _propTypes.default.any,
175
- /**
176
- * Creates a breadcrumb that toggles a popover dialog
177
- *
178
- * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
179
- * click behavior should only trigger a popover.
180
- */
181
- popoverContent: _propTypes.default.node,
182
- /**
183
- * Allows customizing the popover if necessary. Accepts any props that
184
- * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
185
- */
186
- popoverProps: _propTypes.default.shape({
187
- /**
188
- * Alignment of the popover and arrow relative to the button
189
- */
190
- anchorPosition: _propTypes.default.any,
191
- /**
192
- * Style and position alteration for arrow-less attachment.
193
- * Intended for use with inputs as anchors, e.g. EuiInputPopover
194
- */
195
- attachToAnchor: _propTypes.default.bool,
196
- /**
197
- * Restrict the popover's position within this element
198
- */
199
- container: _propTypes.default.any,
200
- /**
201
- * CSS display type for both the popover and anchor
202
- */
203
- display: _propTypes.default.any,
204
- /**
205
- * Object of props passed to EuiFocusTrap
206
- */
207
- focusTrapProps: _propTypes.default.any,
208
- /**
209
- * Show arrow indicating to originating button
210
- */
211
- hasArrow: _propTypes.default.bool,
212
- /**
213
- * Specifies what element should initially have focus; Can be a DOM
214
- * node, or a selector string (which will be passed to
215
- * document.querySelector() to find the DOM node), or a function that
216
- * returns a DOM node.
217
- *
218
- * If not passed, initial focus defaults to the popover panel.
219
- */
220
- initialFocus: _propTypes.default.any,
221
- /**
222
- * Passed directly to EuiPortal for DOM positioning. Both properties are
223
- * required if prop is specified
224
- */
225
- insert: _propTypes.default.shape({
226
- sibling: _propTypes.default.any.isRequired,
227
- position: _propTypes.default.oneOf(["before", "after"]).isRequired
228
- }),
229
- /**
230
- * Traps tab focus within the popover contents
231
- */
232
- ownFocus: _propTypes.default.bool,
233
- /**
234
- * Custom class added to the EuiPanel containing the popover contents
235
- */
236
- panelClassName: _propTypes.default.string,
237
- /**
238
- * EuiPanel padding on all sides
239
- */
240
- panelPaddingSize: _propTypes.default.any,
241
- /**
242
- * Standard DOM `style` attribute. Passed to the EuiPanel
243
- */
244
- panelStyle: _propTypes.default.any,
245
- /**
246
- * Object of props passed to EuiPanel. See #EuiPopoverPanelProps
247
- */
248
- panelProps: _propTypes.default.shape({
249
- element: _propTypes.default.oneOf(["div"]),
250
- /**
251
- * Padding for all four sides
252
- */
253
- paddingSize: _propTypes.default.any,
254
- /**
255
- * Corner border radius
256
- */
257
- borderRadius: _propTypes.default.any,
258
- /**
259
- * When true the panel will grow in height to match `EuiFlexItem`
260
- */
261
- grow: _propTypes.default.bool,
262
- panelRef: _propTypes.default.any,
263
- className: _propTypes.default.string,
264
- "aria-label": _propTypes.default.string,
265
- "data-test-subj": _propTypes.default.string,
266
- css: _propTypes.default.any
267
- }),
268
- panelRef: _propTypes.default.any,
269
- /**
270
- * Optional screen reader instructions to announce upon popover open,
271
- * in addition to EUI's default popover instructions for Escape on close.
272
- * Useful for popovers that may have additional keyboard capabilities such as
273
- * arrow navigation.
274
- */
275
- popoverScreenReaderText: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.node.isRequired]),
276
- popoverRef: _propTypes.default.any,
277
- /**
278
- * When `true`, the popover's position is re-calculated when the user
279
- * scrolls, this supports having fixed-position popover anchors. When nesting
280
- * an `EuiPopover` in a scrollable container, `repositionOnScroll` should be `true`
281
- */
282
- repositionOnScroll: _propTypes.default.bool,
283
- /**
284
- * By default, popovers will attempt to position themselves along the initial
285
- * axis specified. If there is not enough room either vertically or horizontally
286
- * however, the popover will attempt to reposition itself along the secondary
287
- * cross axis if there is room there instead.
288
- *
289
- * If you do not not want this repositioning to occur (and it is acceptable for
290
- * the popover to appear offscreen), set this to false to disable this behavior.
291
- *
292
- * @default true
293
- */
294
- repositionToCrossAxis: _propTypes.default.bool,
295
- /**
296
- * Must be set to true if using `EuiDragDropContext` within a popover,
297
- * otherwise your nested drag & drop will have incorrect positioning
298
- */
299
- hasDragDrop: _propTypes.default.bool,
300
- /**
301
- * By default, popover content inherits the z-index of the anchor
302
- * component; pass `zIndex` to override
303
- */
304
- zIndex: _propTypes.default.number,
305
- /**
306
- * Distance away from the anchor that the popover will render
307
- */
308
- offset: _propTypes.default.number,
309
- /**
310
- * Minimum distance between the popover and the bounding container;
311
- * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`
312
- * Default is 16
313
- */
314
- buffer: _propTypes.default.oneOfType([_propTypes.default.number.isRequired, _propTypes.default.any.isRequired]),
315
- /**
316
- * Element to pass as the child element of the arrow;
317
- * Use case is typically limited to an accompanying `EuiBeacon`
318
- */
319
- arrowChildren: _propTypes.default.node,
320
- /**
321
- * Provide a name to the popover panel
322
- */
323
- "aria-label": _propTypes.default.string,
324
- /**
325
- * Alternative option to `aria-label` that takes an `id`.
326
- * Usually takes the `id` of the popover title
327
- */
328
- "aria-labelledby": _propTypes.default.string,
329
- /**
330
- * Function callback for when the popover positon changes
331
- */
332
- onPositionChange: _propTypes.default.func,
333
- className: _propTypes.default.string,
334
- "data-test-subj": _propTypes.default.string,
335
- css: _propTypes.default.any
336
- }),
337
- type: _propTypes.default.oneOf(["page", "application"]).isRequired,
338
- isFirstBreadcrumb: _propTypes.default.bool,
339
- isLastBreadcrumb: _propTypes.default.bool,
340
- isOnlyBreadcrumb: _propTypes.default.bool,
341
- highlightLastBreadcrumb: _propTypes.default.bool,
342
- truncateLastBreadcrumb: _propTypes.default.bool
343
- };
344
- var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
345
- var children = _ref3.children,
346
- isFirstBreadcrumb = _ref3.isFirstBreadcrumb,
347
- type = _ref3.type;
348
- var euiTheme = (0, _services.useEuiTheme)();
349
- var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
44
+ type = _ref2.type;
45
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb.euiBreadcrumbStyles);
350
46
  var cssStyles = [styles.isCollapsed];
351
47
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
352
48
  return (0, _react2.jsx)(EuiBreadcrumb, {
353
49
  css: cssStyles,
354
50
  type: type
355
- }, (0, _react2.jsx)(EuiBreadcrumbContent, {
51
+ }, (0, _react2.jsx)(_breadcrumb_content.EuiBreadcrumbContent, {
356
52
  popoverContent: children,
357
53
  text: (0, _react2.jsx)("span", {
358
54
  "aria-label": ariaLabel
@@ -363,12 +59,4 @@ var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
363
59
  type: type
364
60
  }));
365
61
  };
366
- exports.EuiBreadcrumbCollapsed = EuiBreadcrumbCollapsed;
367
- EuiBreadcrumbCollapsed.propTypes = {
368
- type: _propTypes.default.oneOf(["page", "application"]).isRequired,
369
- isFirstBreadcrumb: _propTypes.default.bool,
370
- isLastBreadcrumb: _propTypes.default.bool,
371
- isOnlyBreadcrumb: _propTypes.default.bool,
372
- highlightLastBreadcrumb: _propTypes.default.bool,
373
- truncateLastBreadcrumb: _propTypes.default.bool
374
- };
62
+ exports.EuiBreadcrumbCollapsed = EuiBreadcrumbCollapsed;
@@ -3,9 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiBreadcrumbStyles = exports.euiBreadcrumbContentStyles = void 0;
6
+ exports.euiBreadcrumbStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
- var _color = require("../../services/color");
9
8
  var _global_styling = require("../../global_styling");
10
9
  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)."; } /*
11
10
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -14,6 +13,9 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
14
13
  * in compliance with, at your election, the Elastic License 2.0 or the Server
15
14
  * Side Public License, v 1.
16
15
  */
16
+ /**
17
+ * Styles cast to <li> element
18
+ */
17
19
  var _ref = process.env.NODE_ENV === "production" ? {
18
20
  name: "1k7t4ns-isCollapsed",
19
21
  styles: "flex-shrink:0;label:isCollapsed;"
@@ -31,7 +33,6 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
31
33
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
32
34
  };
33
35
  var euiBreadcrumbStyles = function euiBreadcrumbStyles(euiThemeContext) {
34
- // Styles cast to <li> element
35
36
  var euiTheme = euiThemeContext.euiTheme;
36
37
  return {
37
38
  euiBreadcrumb: /*#__PURE__*/(0, _react.css)("align-items:center;display:flex;", (0, _global_styling.logicalCSS)(
@@ -44,29 +45,4 @@ var euiBreadcrumbStyles = function euiBreadcrumbStyles(euiThemeContext) {
44
45
  application: /*#__PURE__*/(0, _react.css)("&:not(:last-of-type){", (0, _global_styling.logicalCSS)('margin-right', "-".concat(euiTheme.size.xs)), ";};label:application;")
45
46
  };
46
47
  };
47
- exports.euiBreadcrumbStyles = euiBreadcrumbStyles;
48
- var euiBreadcrumbContentStyles = function euiBreadcrumbContentStyles(euiThemeContext) {
49
- // Styles cast to <a>, <span>, or collapsed <button> elements
50
- var euiTheme = euiThemeContext.euiTheme;
51
- return {
52
- euiBreadcrumb__content: /*#__PURE__*/(0, _react.css)("font-weight:", euiTheme.font.weight.medium, ";text-align:center;vertical-align:baseline;;label:euiBreadcrumb__content;"),
53
- isTruncated: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)((0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
54
- return x * 10;
55
- })), ";;label:isTruncated;"),
56
- isTruncatedLast: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)('none'), ";;label:isTruncatedLast;"),
57
- // Popover styles
58
- euiBreadcrumb__popoverButton: /*#__PURE__*/(0, _react.css)("max-inline-size:100%;display:inline-flex;align-items:center;gap:", euiTheme.size.xs, ";;label:euiBreadcrumb__popoverButton;"),
59
- euiBreadcrumb__popoverWrapper: /*#__PURE__*/(0, _react.css)("max-inline-size:calc(\n 100% - ", (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
60
- return x + 1;
61
- }), "\n );;label:euiBreadcrumb__popoverWrapper;"),
62
- // Types
63
- page: /*#__PURE__*/(0, _react.css)("&:is(a):focus{", (0, _global_styling.euiFocusRing)(euiThemeContext, 'inset'), ";}&:is(button):focus{", (0, _global_styling.euiFocusRing)(euiThemeContext, 'center'), ";};label:page;"),
64
- application: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), " background-color:", (0, _color.transparentize)(euiTheme.colors.darkestShade, 0.2), ";clip-path:polygon(\n 0 0,\n calc(100% - ", euiTheme.size.s, ") 0,\n 100% 50%,\n calc(100% - ", euiTheme.size.s, ") 100%,\n 0 100%,\n ", euiTheme.size.s, " 50%\n );color:", euiTheme.colors.darkestShade, ";line-height:", euiTheme.size.base, ";", (0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.base), " &:is(a),&:is(button){background-color:", (0, _color.transparentize)(euiTheme.colors.primary, 0.2), ";color:", euiTheme.colors.link, ";:focus{", (0, _global_styling.euiFocusRing)(euiThemeContext, 'inset'), " :focus-visible{border-radius:", euiTheme.border.radius.medium, ";clip-path:none;}}};label:application;"),
65
- applicationStyles: {
66
- onlyChild: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, ";clip-path:none;", (0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.m), ";;label:onlyChild;"),
67
- firstChild: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalBorderRadiusCSS)("".concat(euiTheme.border.radius.medium, " 0 0 ").concat(euiTheme.border.radius.medium), true), " clip-path:polygon(\n 0 0,\n calc(100% - ", euiTheme.size.s, ") 0,\n 100% 50%,\n calc(100% - ", euiTheme.size.s, ") 100%,\n 0 100%\n );", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.m), ";;label:firstChild;"),
68
- lastChild: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalBorderRadiusCSS)("0 ".concat(euiTheme.border.radius.medium, " ").concat(euiTheme.border.radius.medium, " 0"), true), " clip-path:polygon(\n 0 0,\n 100% 0,\n 100% 100%,\n 0 100%,\n ", euiTheme.size.s, " 50%\n );", (0, _global_styling.logicalCSS)('padding-right', euiTheme.size.m), ";;label:lastChild;")
69
- }
70
- };
71
- };
72
- exports.euiBreadcrumbContentStyles = euiBreadcrumbContentStyles;
48
+ exports.euiBreadcrumbStyles = euiBreadcrumbStyles;
@@ -15,6 +15,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _i18n = require("../i18n");
16
16
  var _services = require("../../services");
17
17
  var _breadcrumb = require("./breadcrumb");
18
+ var _breadcrumb_content = require("./_breadcrumb_content");
18
19
  var _breadcrumbs = require("./breadcrumbs.styles");
19
20
  var _react2 = require("@emotion/react");
20
21
  var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max", "type", "lastBreadcrumbIsCurrentPage"];
@@ -47,8 +48,7 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
47
48
  lastBreadcrumbIsCurrentPage = _ref$lastBreadcrumbIs === void 0 ? true : _ref$lastBreadcrumbIs,
48
49
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
49
50
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
50
- var euiTheme = (0, _services.useEuiTheme)();
51
- var breadcrumbsListStyles = (0, _breadcrumbs.euiBreadcrumbsListStyles)(euiTheme);
51
+ var breadcrumbsListStyles = (0, _services.useEuiMemoizedStyles)(_breadcrumbs.euiBreadcrumbsListStyles);
52
52
  var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
53
53
  var responsiveMax = useResponsiveMax(responsive, max);
54
54
  var visibleBreadcrumbs = (0, _react.useMemo)(function () {
@@ -77,7 +77,7 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
77
77
  max: 0
78
78
  })) : (0, _react2.jsx)(_breadcrumb.EuiBreadcrumb, (0, _extends2.default)({
79
79
  key: index
80
- }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, (0, _extends2.default)({}, breadcrumb, sharedProps, {
80
+ }, sharedProps), (0, _react2.jsx)(_breadcrumb_content.EuiBreadcrumbContent, (0, _extends2.default)({}, breadcrumb, sharedProps, {
81
81
  isFirstBreadcrumb: isFirstBreadcrumb,
82
82
  isLastBreadcrumb: isLastBreadcrumb,
83
83
  isOnlyBreadcrumb: isOnlyBreadcrumb,
@@ -149,12 +149,14 @@ EuiBreadcrumbs.propTypes = {
149
149
  */
150
150
  "aria-current": _propTypes.default.any,
151
151
  /**
152
- * Creates a breadcrumb that toggles a popover dialog
152
+ * Creates a breadcrumb that toggles a popover dialog. Takes any rendered node(s),
153
+ * or a render function that will pass callback allowing you to close the
154
+ * breadcrumb popover from within your popover content.
153
155
  *
154
156
  * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
155
157
  * click behavior should only trigger a popover.
156
158
  */
157
- popoverContent: _propTypes.default.node,
159
+ popoverContent: _propTypes.default.oneOfType([_propTypes.default.node.isRequired, _propTypes.default.func.isRequired]),
158
160
  /**
159
161
  * Allows customizing the popover if necessary. Accepts any props that
160
162
  * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -79,8 +79,7 @@ var EuiButtonDisplay = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref)
79
79
  isDisabled: isDisabled || disabled,
80
80
  isLoading: isLoading
81
81
  });
82
- var theme = (0, _services.useEuiTheme)();
83
- var styles = (0, _button_display.euiButtonDisplayStyles)(theme);
82
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_display.euiButtonDisplayStyles);
84
83
  var cssStyles = [styles.euiButtonDisplay, styles[size], fullWidth && styles.fullWidth, minWidth == null && styles.defaultMinWidth, buttonIsDisabled && styles.isDisabled];
85
84
  var innerNode = (0, _react2.jsx)(_button_display_content.EuiButtonDisplayContent, (0, _extends2.default)({
86
85
  isLoading: isLoading,
@@ -70,8 +70,7 @@ var EuiButtonEmpty = function EuiButtonEmpty(_ref) {
70
70
  var buttonColorStyles = (0, _button.useEuiButtonColorCSS)({
71
71
  display: 'empty'
72
72
  });
73
- var euiTheme = (0, _services.useEuiTheme)();
74
- var styles = (0, _button_empty.euiButtonEmptyStyles)(euiTheme);
73
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_empty.euiButtonEmptyStyles);
75
74
  var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
76
75
  var classes = (0, _classnames.default)('euiButtonEmpty', className);
77
76
  var contentClassNames = (0, _classnames.default)('euiButtonEmpty__content', contentProps === null || contentProps === void 0 ? void 0 : contentProps.className);
@@ -47,10 +47,8 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
47
47
  _ref$type = _ref.type,
48
48
  type = _ref$type === void 0 ? 'single' : _ref$type,
49
49
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
50
- var euiTheme = (0, _services.useEuiTheme)();
51
- var wrapperStyles = (0, _button_group.euiButtonGroupStyles)();
52
- var wrapperCssStyles = [wrapperStyles.euiButtonGroup, isFullWidth && wrapperStyles.fullWidth];
53
- var styles = (0, _button_group.euiButtonGroupButtonsStyles)(euiTheme);
50
+ var wrapperCssStyles = [_button_group.euiButtonGroupStyles.euiButtonGroup, isFullWidth && _button_group.euiButtonGroupStyles.fullWidth];
51
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_group.euiButtonGroupButtonsStyles);
54
52
  var cssStyles = [styles.euiButtonGroup__buttons, isFullWidth && styles.fullWidth, styles[buttonSize]];
55
53
  var classes = (0, _classnames.default)('euiButtonGroup', {
56
54
  'euiButtonGroup-isDisabled': isDisabled
@@ -64,9 +62,9 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
64
62
  }), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("legend", null, legend)), (0, _react2.jsx)("div", {
65
63
  css: cssStyles,
66
64
  className: "euiButtonGroup__buttons"
67
- }, options.map(function (option, index) {
65
+ }, options.map(function (option) {
68
66
  return (0, _react2.jsx)(_button_group_button.EuiButtonGroupButton, (0, _extends2.default)({
69
- key: index,
67
+ key: option.id,
70
68
  isDisabled: isDisabled
71
69
  }, option, {
72
70
  onClick: typeIsSingle ? function () {
@@ -141,6 +139,20 @@ EuiButtonGroup.propTypes = {
141
139
  * The type of the underlying HTML button
142
140
  */
143
141
  type: _propTypes.default.any,
142
+ /**
143
+ * By default, will use the button text for the native browser title.
144
+ *
145
+ * This can be either customized or unset via `title: ''` if necessary.
146
+ */
147
+ title: _propTypes.default.any,
148
+ /**
149
+ * Optional custom tooltip content for the button
150
+ */
151
+ toolTipContent: _propTypes.default.node,
152
+ /**
153
+ * Optional props to pass to the underlying **[EuiToolTip](/#/display/tooltip)**
154
+ */
155
+ toolTipProps: _propTypes.default.any,
144
156
  /**
145
157
  * Any `type` accepted by EuiIcon
146
158
  */
@@ -14,19 +14,16 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
14
14
  * in compliance with, at your election, the Elastic License 2.0 or the Server
15
15
  * Side Public License, v 1.
16
16
  */
17
- var _ref = process.env.NODE_ENV === "production" ? {
18
- name: "jl0hie-fullWidth",
19
- styles: "display:block;label:fullWidth;"
20
- } : {
21
- name: "jl0hie-fullWidth",
22
- styles: "display:block;label:fullWidth;",
23
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
24
- };
25
- var euiButtonGroupStyles = function euiButtonGroupStyles() {
26
- return {
27
- euiButtonGroup: /*#__PURE__*/(0, _react.css)("display:inline-block;", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;;label:euiButtonGroup;"),
28
- fullWidth: _ref
29
- };
17
+ var euiButtonGroupStyles = {
18
+ euiButtonGroup: /*#__PURE__*/(0, _react.css)("display:inline-block;", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;;label:euiButtonGroup;"),
19
+ fullWidth: process.env.NODE_ENV === "production" ? {
20
+ name: "jl0hie-fullWidth",
21
+ styles: "display:block;label:fullWidth;"
22
+ } : {
23
+ name: "jl0hie-fullWidth",
24
+ styles: "display:block;label:fullWidth;",
25
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
26
+ }
30
27
  };
31
28
  exports.euiButtonGroupStyles = euiButtonGroupStyles;
32
29
  var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(euiThemeContext) {
@@ -39,7 +36,7 @@ var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(euiThemeC
39
36
  return {
40
37
  // Base
41
38
  euiButtonGroup__buttons: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', '100%'), " display:flex;;label:euiButtonGroup__buttons;"),
42
- fullWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), " .euiButtonGroupButton{flex:1;};label:fullWidth;"),
39
+ fullWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), " .euiButtonGroupButton,.euiButtonGroup__tooltipWrapper{flex:1;", (0, _global_styling.logicalCSS)('width', '100%'), ";};label:fullWidth;"),
43
40
  // Sizes
44
41
  m: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, ";;label:m;"),
45
42
  s: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.small, ";;label:s;"),