@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,24 +1,17 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.EuiBreadcrumbContent = exports.EuiBreadcrumbCollapsed = exports.EuiBreadcrumb = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
6
+ exports.EuiBreadcrumbCollapsed = exports.EuiBreadcrumb = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
10
8
  var _classnames = _interopRequireDefault(require("classnames"));
11
9
  var _services = require("../../services");
12
- var _inner_text = require("../inner_text");
13
- var _text = require("../text");
14
- var _link = require("../link");
15
- var _popover = require("../popover");
16
- var _icon = require("../icon");
17
10
  var _i18n = require("../i18n");
11
+ var _breadcrumb_content = require("./_breadcrumb_content");
18
12
  var _breadcrumb = require("./breadcrumb.styles");
19
13
  var _react2 = require("@emotion/react");
20
- var _excluded = ["children", "className", "type", "truncate"],
21
- _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"];
14
+ var _excluded = ["children", "className", "type", "truncate"];
22
15
  /*
23
16
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
17
  * or more contributor license agreements. Licensed under the Elastic License
@@ -26,16 +19,7 @@ var _excluded = ["children", "className", "type", "truncate"],
26
19
  * in compliance with, at your election, the Elastic License 2.0 or the Server
27
20
  * Side Public License, v 1.
28
21
  */
29
- // Used internally only by the parent EuiBreadcrumbs
30
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
34
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
35
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
36
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
37
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
38
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
23
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
40
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -46,8 +30,7 @@ var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
46
30
  truncate = _ref.truncate,
47
31
  rest = _objectWithoutProperties(_ref, _excluded);
48
32
  var classes = (0, _classnames.default)('euiBreadcrumb', className);
49
- var euiTheme = (0, _services.useEuiTheme)();
50
- var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
33
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb.euiBreadcrumbStyles);
51
34
  var cssStyles = [styles.euiBreadcrumb, styles[type], truncate && styles.isTruncated];
52
35
  return (0, _react2.jsx)("li", _extends({
53
36
  className: classes,
@@ -56,309 +39,17 @@ var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
56
39
  }, rest), children);
57
40
  };
58
41
  exports.EuiBreadcrumb = EuiBreadcrumb;
59
- EuiBreadcrumb.propTypes = {
60
- type: _propTypes.default.oneOf(["page", "application"]).isRequired,
61
- isFirstBreadcrumb: _propTypes.default.bool,
62
- isLastBreadcrumb: _propTypes.default.bool,
63
- isOnlyBreadcrumb: _propTypes.default.bool,
64
- highlightLastBreadcrumb: _propTypes.default.bool,
65
- truncateLastBreadcrumb: _propTypes.default.bool
66
- };
67
- var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
68
- var text = _ref2.text,
69
- truncate = _ref2.truncate,
70
- type = _ref2.type,
71
- href = _ref2.href,
72
- rel = _ref2.rel,
73
- onClick = _ref2.onClick,
74
- popoverContent = _ref2.popoverContent,
75
- popoverProps = _ref2.popoverProps,
76
- className = _ref2.className,
77
- color = _ref2.color,
42
+ var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref2) {
43
+ var children = _ref2.children,
78
44
  isFirstBreadcrumb = _ref2.isFirstBreadcrumb,
79
- isLastBreadcrumb = _ref2.isLastBreadcrumb,
80
- isOnlyBreadcrumb = _ref2.isOnlyBreadcrumb,
81
- highlightLastBreadcrumb = _ref2.highlightLastBreadcrumb,
82
- truncateLastBreadcrumb = _ref2.truncateLastBreadcrumb,
83
- rest = _objectWithoutProperties(_ref2, _excluded2);
84
- var classes = (0, _classnames.default)('euiBreadcrumb__content', className);
85
- var euiTheme = (0, _services.useEuiTheme)();
86
- var styles = (0, _breadcrumb.euiBreadcrumbContentStyles)(euiTheme);
87
- var cssStyles = [styles.euiBreadcrumb__content, styles[type], truncate && !truncateLastBreadcrumb && styles.isTruncated, truncateLastBreadcrumb && styles.isTruncatedLast];
88
- if (type === 'application') {
89
- if (isOnlyBreadcrumb) {
90
- cssStyles.push(styles.applicationStyles.onlyChild);
91
- } else if (isFirstBreadcrumb) {
92
- cssStyles.push(styles.applicationStyles.firstChild);
93
- } else if (isLastBreadcrumb) {
94
- cssStyles.push(styles.applicationStyles.lastChild);
95
- }
96
- }
97
- var isInteractiveBreadcrumb = href || onClick;
98
- var linkColor = color || (highlightLastBreadcrumb ? 'text' : 'subdued');
99
- var plainTextColor = highlightLastBreadcrumb ? 'default' : 'subdued'; // Does not inherit `color` prop
100
- var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
101
- var isPopoverBreadcrumb = !!popoverContent;
102
- var _useState = (0, _react.useState)(false),
103
- _useState2 = _slicedToArray(_useState, 2),
104
- isPopoverOpen = _useState2[0],
105
- setIsPopoverOpen = _useState2[1];
106
- var popoverAriaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
107
- return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
108
- var title = innerText === '' ? undefined : innerText;
109
- var baseProps = {
110
- ref: ref,
111
- title: title,
112
- 'aria-current': ariaCurrent
113
- };
114
- var styleProps = {
115
- className: classes,
116
- css: cssStyles
117
- };
118
- if (isPopoverBreadcrumb) {
119
- return (0, _react2.jsx)(_popover.EuiPopover, _extends({}, popoverProps, {
120
- isOpen: isPopoverOpen,
121
- closePopover: function closePopover() {
122
- return setIsPopoverOpen(false);
123
- },
124
- css: !isLastBreadcrumb && styles.euiBreadcrumb__popoverWrapper,
125
- button: (0, _react2.jsx)(_link.EuiLink, _extends({}, baseProps, {
126
- color: linkColor,
127
- css: styles.euiBreadcrumb__popoverButton
128
- // Avoid passing href and onClick - should only toggle the popover
129
- ,
130
- onClick: function onClick() {
131
- return setIsPopoverOpen(function (isOpen) {
132
- return !isOpen;
133
- });
134
- }
135
- }, rest), (0, _react2.jsx)("span", styleProps, text), (0, _react2.jsx)(_icon.EuiIcon, {
136
- type: "arrowDown",
137
- size: "s",
138
- "aria-label": " - ".concat(popoverAriaLabel)
139
- }))
140
- }), popoverContent);
141
- } else if (isInteractiveBreadcrumb) {
142
- return (0, _react2.jsx)(_link.EuiLink, _extends({}, baseProps, styleProps, {
143
- color: linkColor,
144
- onClick: onClick,
145
- href: href,
146
- rel: rel
147
- }, rest), text);
148
- } else {
149
- return (0, _react2.jsx)(_text.EuiTextColor, {
150
- color: plainTextColor,
151
- cloneElement: true
152
- }, (0, _react2.jsx)("span", _extends({}, baseProps, styleProps, rest), text));
153
- }
154
- });
155
- };
156
- exports.EuiBreadcrumbContent = EuiBreadcrumbContent;
157
- EuiBreadcrumbContent.propTypes = {
158
- className: _propTypes.default.string,
159
- "aria-label": _propTypes.default.string,
160
- "data-test-subj": _propTypes.default.string,
161
- css: _propTypes.default.any,
162
- href: _propTypes.default.string,
163
- rel: _propTypes.default.string,
164
- onClick: _propTypes.default.func,
165
- /**
166
- * Visible label of the breadcrumb
167
- */
168
- text: _propTypes.default.node.isRequired,
169
- /**
170
- * Force a max-width on the breadcrumb text
171
- */
172
- truncate: _propTypes.default.bool,
173
- /**
174
- * Accepts any EuiLink `color` when rendered as one (has `href`, `onClick`, or `popoverContent`)
175
- */
176
- color: _propTypes.default.any,
177
- /**
178
- * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
179
- */
180
- "aria-current": _propTypes.default.any,
181
- /**
182
- * Creates a breadcrumb that toggles a popover dialog
183
- *
184
- * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
185
- * click behavior should only trigger a popover.
186
- */
187
- popoverContent: _propTypes.default.node,
188
- /**
189
- * Allows customizing the popover if necessary. Accepts any props that
190
- * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
191
- */
192
- popoverProps: _propTypes.default.shape({
193
- /**
194
- * Alignment of the popover and arrow relative to the button
195
- */
196
- anchorPosition: _propTypes.default.any,
197
- /**
198
- * Style and position alteration for arrow-less attachment.
199
- * Intended for use with inputs as anchors, e.g. EuiInputPopover
200
- */
201
- attachToAnchor: _propTypes.default.bool,
202
- /**
203
- * Restrict the popover's position within this element
204
- */
205
- container: _propTypes.default.any,
206
- /**
207
- * CSS display type for both the popover and anchor
208
- */
209
- display: _propTypes.default.any,
210
- /**
211
- * Object of props passed to EuiFocusTrap
212
- */
213
- focusTrapProps: _propTypes.default.any,
214
- /**
215
- * Show arrow indicating to originating button
216
- */
217
- hasArrow: _propTypes.default.bool,
218
- /**
219
- * Specifies what element should initially have focus; Can be a DOM
220
- * node, or a selector string (which will be passed to
221
- * document.querySelector() to find the DOM node), or a function that
222
- * returns a DOM node.
223
- *
224
- * If not passed, initial focus defaults to the popover panel.
225
- */
226
- initialFocus: _propTypes.default.any,
227
- /**
228
- * Passed directly to EuiPortal for DOM positioning. Both properties are
229
- * required if prop is specified
230
- */
231
- insert: _propTypes.default.shape({
232
- sibling: _propTypes.default.any.isRequired,
233
- position: _propTypes.default.oneOf(["before", "after"]).isRequired
234
- }),
235
- /**
236
- * Traps tab focus within the popover contents
237
- */
238
- ownFocus: _propTypes.default.bool,
239
- /**
240
- * Custom class added to the EuiPanel containing the popover contents
241
- */
242
- panelClassName: _propTypes.default.string,
243
- /**
244
- * EuiPanel padding on all sides
245
- */
246
- panelPaddingSize: _propTypes.default.any,
247
- /**
248
- * Standard DOM `style` attribute. Passed to the EuiPanel
249
- */
250
- panelStyle: _propTypes.default.any,
251
- /**
252
- * Object of props passed to EuiPanel. See #EuiPopoverPanelProps
253
- */
254
- panelProps: _propTypes.default.shape({
255
- element: _propTypes.default.oneOf(["div"]),
256
- /**
257
- * Padding for all four sides
258
- */
259
- paddingSize: _propTypes.default.any,
260
- /**
261
- * Corner border radius
262
- */
263
- borderRadius: _propTypes.default.any,
264
- /**
265
- * When true the panel will grow in height to match `EuiFlexItem`
266
- */
267
- grow: _propTypes.default.bool,
268
- panelRef: _propTypes.default.any,
269
- className: _propTypes.default.string,
270
- "aria-label": _propTypes.default.string,
271
- "data-test-subj": _propTypes.default.string,
272
- css: _propTypes.default.any
273
- }),
274
- panelRef: _propTypes.default.any,
275
- /**
276
- * Optional screen reader instructions to announce upon popover open,
277
- * in addition to EUI's default popover instructions for Escape on close.
278
- * Useful for popovers that may have additional keyboard capabilities such as
279
- * arrow navigation.
280
- */
281
- popoverScreenReaderText: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.node.isRequired]),
282
- popoverRef: _propTypes.default.any,
283
- /**
284
- * When `true`, the popover's position is re-calculated when the user
285
- * scrolls, this supports having fixed-position popover anchors. When nesting
286
- * an `EuiPopover` in a scrollable container, `repositionOnScroll` should be `true`
287
- */
288
- repositionOnScroll: _propTypes.default.bool,
289
- /**
290
- * By default, popovers will attempt to position themselves along the initial
291
- * axis specified. If there is not enough room either vertically or horizontally
292
- * however, the popover will attempt to reposition itself along the secondary
293
- * cross axis if there is room there instead.
294
- *
295
- * If you do not not want this repositioning to occur (and it is acceptable for
296
- * the popover to appear offscreen), set this to false to disable this behavior.
297
- *
298
- * @default true
299
- */
300
- repositionToCrossAxis: _propTypes.default.bool,
301
- /**
302
- * Must be set to true if using `EuiDragDropContext` within a popover,
303
- * otherwise your nested drag & drop will have incorrect positioning
304
- */
305
- hasDragDrop: _propTypes.default.bool,
306
- /**
307
- * By default, popover content inherits the z-index of the anchor
308
- * component; pass `zIndex` to override
309
- */
310
- zIndex: _propTypes.default.number,
311
- /**
312
- * Distance away from the anchor that the popover will render
313
- */
314
- offset: _propTypes.default.number,
315
- /**
316
- * Minimum distance between the popover and the bounding container;
317
- * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`
318
- * Default is 16
319
- */
320
- buffer: _propTypes.default.oneOfType([_propTypes.default.number.isRequired, _propTypes.default.any.isRequired]),
321
- /**
322
- * Element to pass as the child element of the arrow;
323
- * Use case is typically limited to an accompanying `EuiBeacon`
324
- */
325
- arrowChildren: _propTypes.default.node,
326
- /**
327
- * Provide a name to the popover panel
328
- */
329
- "aria-label": _propTypes.default.string,
330
- /**
331
- * Alternative option to `aria-label` that takes an `id`.
332
- * Usually takes the `id` of the popover title
333
- */
334
- "aria-labelledby": _propTypes.default.string,
335
- /**
336
- * Function callback for when the popover positon changes
337
- */
338
- onPositionChange: _propTypes.default.func,
339
- className: _propTypes.default.string,
340
- "data-test-subj": _propTypes.default.string,
341
- css: _propTypes.default.any
342
- }),
343
- type: _propTypes.default.oneOf(["page", "application"]).isRequired,
344
- isFirstBreadcrumb: _propTypes.default.bool,
345
- isLastBreadcrumb: _propTypes.default.bool,
346
- isOnlyBreadcrumb: _propTypes.default.bool,
347
- highlightLastBreadcrumb: _propTypes.default.bool,
348
- truncateLastBreadcrumb: _propTypes.default.bool
349
- };
350
- var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
351
- var children = _ref3.children,
352
- isFirstBreadcrumb = _ref3.isFirstBreadcrumb,
353
- type = _ref3.type;
354
- var euiTheme = (0, _services.useEuiTheme)();
355
- var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
45
+ type = _ref2.type;
46
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb.euiBreadcrumbStyles);
356
47
  var cssStyles = [styles.isCollapsed];
357
48
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
358
49
  return (0, _react2.jsx)(EuiBreadcrumb, {
359
50
  css: cssStyles,
360
51
  type: type
361
- }, (0, _react2.jsx)(EuiBreadcrumbContent, {
52
+ }, (0, _react2.jsx)(_breadcrumb_content.EuiBreadcrumbContent, {
362
53
  popoverContent: children,
363
54
  text: (0, _react2.jsx)("span", {
364
55
  "aria-label": ariaLabel
@@ -369,12 +60,4 @@ var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
369
60
  type: type
370
61
  }));
371
62
  };
372
- exports.EuiBreadcrumbCollapsed = EuiBreadcrumbCollapsed;
373
- EuiBreadcrumbCollapsed.propTypes = {
374
- type: _propTypes.default.oneOf(["page", "application"]).isRequired,
375
- isFirstBreadcrumb: _propTypes.default.bool,
376
- isLastBreadcrumb: _propTypes.default.bool,
377
- isOnlyBreadcrumb: _propTypes.default.bool,
378
- highlightLastBreadcrumb: _propTypes.default.bool,
379
- truncateLastBreadcrumb: _propTypes.default.bool
380
- };
63
+ 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;
@@ -10,6 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _i18n = require("../i18n");
11
11
  var _services = require("../../services");
12
12
  var _breadcrumb = require("./breadcrumb");
13
+ var _breadcrumb_content = require("./_breadcrumb_content");
13
14
  var _breadcrumbs = require("./breadcrumbs.styles");
14
15
  var _react2 = require("@emotion/react");
15
16
  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 = _objectWithoutProperties(_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, _extends({
79
79
  key: index
80
- }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, _extends({}, breadcrumb, sharedProps, {
80
+ }, sharedProps), (0, _react2.jsx)(_breadcrumb_content.EuiBreadcrumbContent, _extends({}, 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
+ });
@@ -82,8 +82,7 @@ var EuiButtonDisplay = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref)
82
82
  isDisabled: isDisabled || disabled,
83
83
  isLoading: isLoading
84
84
  });
85
- var theme = (0, _services.useEuiTheme)();
86
- var styles = (0, _button_display.euiButtonDisplayStyles)(theme);
85
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_display.euiButtonDisplayStyles);
87
86
  var cssStyles = [styles.euiButtonDisplay, styles[size], fullWidth && styles.fullWidth, minWidth == null && styles.defaultMinWidth, buttonIsDisabled && styles.isDisabled];
88
87
  var innerNode = (0, _react2.jsx)(_button_display_content.EuiButtonDisplayContent, _extends({
89
88
  isLoading: isLoading,
@@ -74,8 +74,7 @@ var EuiButtonEmpty = function EuiButtonEmpty(_ref) {
74
74
  var buttonColorStyles = (0, _button.useEuiButtonColorCSS)({
75
75
  display: 'empty'
76
76
  });
77
- var euiTheme = (0, _services.useEuiTheme)();
78
- var styles = (0, _button_empty.euiButtonEmptyStyles)(euiTheme);
77
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_empty.euiButtonEmptyStyles);
79
78
  var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
80
79
  var classes = (0, _classnames.default)('euiButtonEmpty', className);
81
80
  var contentClassNames = (0, _classnames.default)('euiButtonEmpty__content', contentProps === null || contentProps === void 0 ? void 0 : contentProps.className);
@@ -48,10 +48,8 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
48
48
  _ref$type = _ref.type,
49
49
  type = _ref$type === void 0 ? 'single' : _ref$type,
50
50
  rest = _objectWithoutProperties(_ref, _excluded);
51
- var euiTheme = (0, _services.useEuiTheme)();
52
- var wrapperStyles = (0, _button_group.euiButtonGroupStyles)();
53
- var wrapperCssStyles = [wrapperStyles.euiButtonGroup, isFullWidth && wrapperStyles.fullWidth];
54
- var styles = (0, _button_group.euiButtonGroupButtonsStyles)(euiTheme);
51
+ var wrapperCssStyles = [_button_group.euiButtonGroupStyles.euiButtonGroup, isFullWidth && _button_group.euiButtonGroupStyles.fullWidth];
52
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_group.euiButtonGroupButtonsStyles);
55
53
  var cssStyles = [styles.euiButtonGroup__buttons, isFullWidth && styles.fullWidth, styles[buttonSize]];
56
54
  var classes = (0, _classnames.default)('euiButtonGroup', {
57
55
  'euiButtonGroup-isDisabled': isDisabled
@@ -65,9 +63,9 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
65
63
  }), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("legend", null, legend)), (0, _react2.jsx)("div", {
66
64
  css: cssStyles,
67
65
  className: "euiButtonGroup__buttons"
68
- }, options.map(function (option, index) {
66
+ }, options.map(function (option) {
69
67
  return (0, _react2.jsx)(_button_group_button.EuiButtonGroupButton, _extends({
70
- key: index,
68
+ key: option.id,
71
69
  isDisabled: isDisabled
72
70
  }, option, {
73
71
  onClick: typeIsSingle ? function () {
@@ -142,6 +140,20 @@ EuiButtonGroup.propTypes = {
142
140
  * The type of the underlying HTML button
143
141
  */
144
142
  type: _propTypes.default.any,
143
+ /**
144
+ * By default, will use the button text for the native browser title.
145
+ *
146
+ * This can be either customized or unset via `title: ''` if necessary.
147
+ */
148
+ title: _propTypes.default.any,
149
+ /**
150
+ * Optional custom tooltip content for the button
151
+ */
152
+ toolTipContent: _propTypes.default.node,
153
+ /**
154
+ * Optional props to pass to the underlying **[EuiToolTip](/#/display/tooltip)**
155
+ */
156
+ toolTipProps: _propTypes.default.any,
145
157
  /**
146
158
  * Any `type` accepted by EuiIcon
147
159
  */
@@ -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;"),