@elastic/eui 93.3.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 (286) 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/es/components/breadcrumbs/_breadcrumb_content.js +362 -0
  5. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  6. package/es/components/breadcrumbs/breadcrumb.js +10 -327
  7. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  8. package/es/components/breadcrumbs/breadcrumbs.js +4 -4
  9. package/es/components/breadcrumbs/types.js +1 -0
  10. package/es/components/button/button_group/button_group.js +16 -2
  11. package/es/components/button/button_group/button_group.styles.js +1 -1
  12. package/es/components/button/button_group/button_group_button.js +59 -5
  13. package/es/components/button/button_group/button_group_button.styles.js +39 -3
  14. package/es/components/datagrid/body/cell/data_grid_cell.js +97 -58
  15. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  16. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  17. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  18. package/es/components/datagrid/body/cell/index.js +1 -1
  19. package/es/components/datagrid/body/data_grid_body.js +13 -0
  20. package/es/components/datagrid/body/data_grid_body_custom.js +52 -36
  21. package/es/components/datagrid/body/data_grid_body_virtualized.js +84 -56
  22. package/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  23. package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  24. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
  25. package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
  26. package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
  27. package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  28. package/es/components/datagrid/controls/column_selector.js +126 -123
  29. package/es/components/datagrid/controls/column_sorting.js +605 -103
  30. package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  31. package/es/components/datagrid/controls/display_selector.js +109 -107
  32. package/es/components/datagrid/data_grid.a11y.js +13 -12
  33. package/es/components/datagrid/data_grid.js +45 -22
  34. package/es/components/datagrid/utils/col_widths.js +12 -8
  35. package/es/components/datagrid/utils/focus.js +10 -8
  36. package/es/components/datagrid/utils/grid_height_width.js +31 -30
  37. package/es/components/datagrid/utils/ref.js +1 -1
  38. package/es/components/datagrid/utils/row_heights.js +2 -2
  39. package/es/components/datagrid/utils/sorting.js +29 -27
  40. package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  41. package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
  42. package/es/components/flex/flex_grid.js +22 -8
  43. package/es/components/flex/flex_grid.styles.js +13 -6
  44. package/es/components/flex/flex_group.js +10 -11
  45. package/es/components/flex/flex_item.js +9 -11
  46. package/es/components/flex/flex_item.styles.js +107 -122
  47. package/es/components/flyout/flyout.js +16 -18
  48. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  49. package/es/components/modal/confirm_modal.js +2 -1
  50. package/es/components/modal/modal.js +12 -3
  51. package/es/components/observer/resize_observer/resize_observer.js +15 -24
  52. package/es/components/spacer/spacer.js +2 -3
  53. package/es/components/toast/global_toast_list.js +70 -73
  54. package/es/components/toast/toast.js +27 -42
  55. package/es/components/toast/toast.styles.js +2 -17
  56. package/es/services/color/eui_palettes.js +21 -13
  57. package/es/services/color/index.js +1 -1
  58. package/es/services/hooks/index.js +1 -0
  59. package/es/services/hooks/useDeepEqual.js +23 -0
  60. package/es/services/index.js +1 -1
  61. package/eui.d.ts +2442 -2337
  62. package/i18ntokens.json +259 -259
  63. package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
  64. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  65. package/lib/components/breadcrumbs/breadcrumb.js +11 -331
  66. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  67. package/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  68. package/lib/components/breadcrumbs/types.js +5 -0
  69. package/lib/components/button/button_group/button_group.js +16 -2
  70. package/lib/components/button/button_group/button_group.styles.js +1 -1
  71. package/lib/components/button/button_group/button_group_button.js +59 -5
  72. package/lib/components/button/button_group/button_group_button.styles.js +45 -11
  73. package/lib/components/datagrid/body/cell/data_grid_cell.js +95 -57
  74. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  75. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  76. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  77. package/lib/components/datagrid/body/cell/index.js +2 -2
  78. package/lib/components/datagrid/body/data_grid_body.js +13 -0
  79. package/lib/components/datagrid/body/data_grid_body_custom.js +51 -35
  80. package/lib/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  81. package/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  82. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  83. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  84. package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  85. package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
  86. package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  87. package/lib/components/datagrid/controls/column_selector.js +126 -123
  88. package/lib/components/datagrid/controls/column_sorting.js +615 -110
  89. package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  90. package/lib/components/datagrid/controls/display_selector.js +109 -107
  91. package/lib/components/datagrid/data_grid.a11y.js +13 -12
  92. package/lib/components/datagrid/data_grid.js +43 -20
  93. package/lib/components/datagrid/utils/col_widths.js +12 -8
  94. package/lib/components/datagrid/utils/focus.js +10 -8
  95. package/lib/components/datagrid/utils/grid_height_width.js +29 -28
  96. package/lib/components/datagrid/utils/ref.js +1 -1
  97. package/lib/components/datagrid/utils/row_heights.js +1 -1
  98. package/lib/components/datagrid/utils/sorting.js +31 -29
  99. package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  100. package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
  101. package/lib/components/flex/flex_grid.js +23 -7
  102. package/lib/components/flex/flex_grid.styles.js +13 -6
  103. package/lib/components/flex/flex_group.js +10 -10
  104. package/lib/components/flex/flex_item.js +13 -13
  105. package/lib/components/flex/flex_item.styles.js +107 -122
  106. package/lib/components/flyout/flyout.js +16 -18
  107. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  108. package/lib/components/modal/confirm_modal.js +2 -1
  109. package/lib/components/modal/modal.js +12 -3
  110. package/lib/components/observer/resize_observer/resize_observer.js +15 -24
  111. package/lib/components/spacer/spacer.js +1 -2
  112. package/lib/components/toast/global_toast_list.js +68 -71
  113. package/lib/components/toast/toast.js +25 -40
  114. package/lib/components/toast/toast.styles.js +11 -25
  115. package/lib/services/color/eui_palettes.js +24 -14
  116. package/lib/services/color/index.js +14 -0
  117. package/lib/services/hooks/index.js +11 -0
  118. package/lib/services/hooks/useDeepEqual.js +30 -0
  119. package/lib/services/index.js +15 -1
  120. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
  121. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  122. package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -110
  123. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  124. package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
  125. package/optimize/es/components/breadcrumbs/types.js +1 -0
  126. package/optimize/es/components/button/button_group/button_group.js +2 -2
  127. package/optimize/es/components/button/button_group/button_group.styles.js +1 -1
  128. package/optimize/es/components/button/button_group/button_group_button.js +36 -4
  129. package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
  130. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +80 -55
  131. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  132. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  133. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  134. package/optimize/es/components/datagrid/body/cell/index.js +1 -1
  135. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +39 -36
  136. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +69 -49
  137. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  138. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  139. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
  140. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  141. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
  142. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  143. package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
  144. package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
  145. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  146. package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
  147. package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
  148. package/optimize/es/components/datagrid/data_grid.js +45 -22
  149. package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
  150. package/optimize/es/components/datagrid/utils/focus.js +10 -8
  151. package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
  152. package/optimize/es/components/datagrid/utils/ref.js +1 -1
  153. package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
  154. package/optimize/es/components/datagrid/utils/sorting.js +29 -27
  155. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
  156. package/optimize/es/components/flex/flex_grid.js +19 -8
  157. package/optimize/es/components/flex/flex_grid.styles.js +13 -6
  158. package/optimize/es/components/flex/flex_group.js +9 -10
  159. package/optimize/es/components/flex/flex_item.js +9 -11
  160. package/optimize/es/components/flex/flex_item.styles.js +107 -122
  161. package/optimize/es/components/flyout/flyout.js +16 -18
  162. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  163. package/optimize/es/components/modal/confirm_modal.js +2 -1
  164. package/optimize/es/components/modal/modal.js +6 -2
  165. package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
  166. package/optimize/es/components/spacer/spacer.js +2 -3
  167. package/optimize/es/components/toast/global_toast_list.js +70 -73
  168. package/optimize/es/components/toast/toast.js +27 -42
  169. package/optimize/es/components/toast/toast.styles.js +2 -17
  170. package/optimize/es/services/color/eui_palettes.js +21 -13
  171. package/optimize/es/services/color/index.js +1 -1
  172. package/optimize/es/services/hooks/index.js +1 -0
  173. package/optimize/es/services/hooks/useDeepEqual.js +23 -0
  174. package/optimize/es/services/index.js +1 -1
  175. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
  176. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  177. package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -113
  178. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  179. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  180. package/optimize/lib/components/breadcrumbs/types.js +5 -0
  181. package/optimize/lib/components/button/button_group/button_group.js +2 -2
  182. package/optimize/lib/components/button/button_group/button_group.styles.js +1 -1
  183. package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
  184. package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
  185. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +78 -54
  186. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  187. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  188. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  189. package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
  190. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +38 -35
  191. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +70 -50
  192. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  193. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  194. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  195. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  196. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
  197. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  198. package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
  199. package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
  200. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  201. package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
  202. package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
  203. package/optimize/lib/components/datagrid/data_grid.js +43 -20
  204. package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
  205. package/optimize/lib/components/datagrid/utils/focus.js +10 -8
  206. package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
  207. package/optimize/lib/components/datagrid/utils/ref.js +1 -1
  208. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  209. package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
  210. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
  211. package/optimize/lib/components/flex/flex_grid.js +21 -7
  212. package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
  213. package/optimize/lib/components/flex/flex_group.js +9 -9
  214. package/optimize/lib/components/flex/flex_item.js +13 -13
  215. package/optimize/lib/components/flex/flex_item.styles.js +107 -122
  216. package/optimize/lib/components/flyout/flyout.js +16 -18
  217. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  218. package/optimize/lib/components/modal/confirm_modal.js +2 -1
  219. package/optimize/lib/components/modal/modal.js +6 -2
  220. package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
  221. package/optimize/lib/components/spacer/spacer.js +1 -2
  222. package/optimize/lib/components/toast/global_toast_list.js +68 -71
  223. package/optimize/lib/components/toast/toast.js +25 -40
  224. package/optimize/lib/components/toast/toast.styles.js +11 -25
  225. package/optimize/lib/services/color/eui_palettes.js +24 -14
  226. package/optimize/lib/services/color/index.js +14 -0
  227. package/optimize/lib/services/hooks/index.js +11 -0
  228. package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
  229. package/optimize/lib/services/index.js +15 -1
  230. package/package.json +2 -2
  231. package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
  232. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  233. package/test-env/components/breadcrumbs/breadcrumb.js +11 -326
  234. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
  235. package/test-env/components/breadcrumbs/breadcrumbs.js +3 -3
  236. package/test-env/components/breadcrumbs/types.js +5 -0
  237. package/test-env/components/button/button_group/button_group.js +16 -2
  238. package/test-env/components/button/button_group/button_group.styles.js +1 -1
  239. package/test-env/components/button/button_group/button_group_button.js +56 -5
  240. package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
  241. package/test-env/components/datagrid/body/cell/data_grid_cell.js +95 -57
  242. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  243. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  244. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  245. package/test-env/components/datagrid/body/cell/index.js +2 -2
  246. package/test-env/components/datagrid/body/data_grid_body.js +13 -0
  247. package/test-env/components/datagrid/body/data_grid_body_custom.js +51 -35
  248. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  249. package/test-env/components/datagrid/body/data_grid_row_manager.js +5 -3
  250. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  251. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  252. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  253. package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
  254. package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
  255. package/test-env/components/datagrid/controls/column_selector.js +126 -123
  256. package/test-env/components/datagrid/controls/column_sorting.js +607 -106
  257. package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
  258. package/test-env/components/datagrid/controls/display_selector.js +109 -107
  259. package/test-env/components/datagrid/data_grid.a11y.js +13 -12
  260. package/test-env/components/datagrid/data_grid.js +43 -20
  261. package/test-env/components/datagrid/utils/col_widths.js +9 -5
  262. package/test-env/components/datagrid/utils/focus.js +10 -8
  263. package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
  264. package/test-env/components/datagrid/utils/ref.js +1 -1
  265. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  266. package/test-env/components/datagrid/utils/sorting.js +31 -29
  267. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  268. package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
  269. package/test-env/components/flex/flex_grid.js +21 -7
  270. package/test-env/components/flex/flex_grid.styles.js +13 -6
  271. package/test-env/components/flex/flex_group.js +10 -10
  272. package/test-env/components/flex/flex_item.js +13 -13
  273. package/test-env/components/flex/flex_item.styles.js +107 -122
  274. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  275. package/test-env/components/modal/confirm_modal.js +2 -1
  276. package/test-env/components/modal/modal.js +12 -3
  277. package/test-env/components/spacer/spacer.js +1 -2
  278. package/test-env/components/toast/global_toast_list.js +68 -71
  279. package/test-env/components/toast/toast.js +25 -40
  280. package/test-env/components/toast/toast.styles.js +11 -25
  281. package/test-env/services/color/eui_palettes.js +24 -14
  282. package/test-env/services/color/index.js +14 -0
  283. package/test-env/services/hooks/index.js +11 -0
  284. package/test-env/services/hooks/useDeepEqual.js +30 -0
  285. package/test-env/services/index.js +15 -1
  286. package/src/themes/charts/theme.scss +0 -5
@@ -10,5 +10,6 @@ export * from './useDependentState';
10
10
  export * from './useCombinedRefs';
11
11
  export * from './useForceRender';
12
12
  export * from './useLatest';
13
+ export * from './useDeepEqual';
13
14
  export * from './useMouseMove';
14
15
  export * from './useUpdateEffect';
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { useRef } from 'react';
10
+ import isEqual from 'lodash/isEqual';
11
+
12
+ /**
13
+ * This hook is mostly a performance concern for third-party objs/arrays that EUI
14
+ * has no control over and may not be correctly memoized (i.e., will create a new
15
+ * reference on every rerender unless passed through this hook).
16
+ */
17
+ export var useDeepEqual = function useDeepEqual(object) {
18
+ var ref = useRef(object);
19
+ if (!isEqual(object, ref.current)) {
20
+ ref.current = object;
21
+ }
22
+ return ref.current;
23
+ };
@@ -12,7 +12,7 @@ export { htmlIdGenerator, useGeneratedHtmlId } from './accessibility';
12
12
  export { CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT } from './alignment';
13
13
  export { CurrentEuiBreakpointContext, CurrentEuiBreakpointProvider, useCurrentEuiBreakpoint, useIsWithinBreakpoints, useIsWithinMaxBreakpoint, useIsWithinMinBreakpoint } from './breakpoint';
14
14
  export { CanvasTextUtils } from './canvas';
15
- export { brighten, calculateContrast, calculateLuminance, colorPalette, darken, DEFAULT_VISUALIZATION_COLOR, desaturate, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteComplementary, euiPaletteCool, euiPaletteForDarkBackground, euiPaletteForLightBackground, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteGray, euiPaletteNegative, euiPalettePositive, euiPaletteWarm, getSteppedGradient, hexToHsv, hexToRgb, hsvToHex, hsvToRgb, isColorDark, isValidHex, lightness, makeDisabledContrastColor, makeHighContrastColor, rgbToHex, rgbToHsv, saturate, shade, shadeOrTint, tint, tintOrShade, transparentize, VISUALIZATION_COLORS, wcagContrastMin } from './color';
15
+ export { brighten, calculateContrast, calculateLuminance, colorPalette, darken, DEFAULT_VISUALIZATION_COLOR, desaturate, euiPaletteColorBlind, euiPaletteColorBlindBehindText, euiPaletteComplementary, euiPaletteCool, euiPaletteForDarkBackground, euiPaletteForLightBackground, euiPaletteForStatus, euiPaletteForTemperature, euiPaletteGray, euiPaletteRed, euiPaletteGreen, euiPalettePositive, euiPaletteNegative, euiPaletteWarm, getSteppedGradient, hexToHsv, hexToRgb, hsvToHex, hsvToRgb, isColorDark, isValidHex, lightness, makeDisabledContrastColor, makeHighContrastColor, rgbToHex, rgbToHsv, saturate, shade, shadeOrTint, tint, tintOrShade, transparentize, VISUALIZATION_COLORS, wcagContrastMin } from './color';
16
16
  export { useColorPickerState, useColorStopsState } from './color_picker';
17
17
  export * from './console';
18
18
  export { copyToClipboard } from './copy_to_clipboard';
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiBreadcrumbContent = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+ 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
+ var _i18n = require("../i18n");
22
+ var _breadcrumb_content = require("./_breadcrumb_content.styles");
23
+ var _react2 = require("@emotion/react");
24
+ var _excluded = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"],
25
+ _excluded2 = ["css"],
26
+ _excluded3 = ["popoverContent", "popoverProps", "color", "type", "title", "aria-current", "className", "isLastBreadcrumb", "breadcrumbCss", "truncationCss", "children"];
27
+ /*
28
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
29
+ * or more contributor license agreements. Licensed under the Elastic License
30
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
31
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
32
+ * Side Public License, v 1.
33
+ */
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
+ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref) {
37
+ var text = _ref.text,
38
+ truncate = _ref.truncate,
39
+ type = _ref.type,
40
+ href = _ref.href,
41
+ rel = _ref.rel,
42
+ onClick = _ref.onClick,
43
+ popoverContent = _ref.popoverContent,
44
+ popoverProps = _ref.popoverProps,
45
+ className = _ref.className,
46
+ color = _ref.color,
47
+ isFirstBreadcrumb = _ref.isFirstBreadcrumb,
48
+ isLastBreadcrumb = _ref.isLastBreadcrumb,
49
+ isOnlyBreadcrumb = _ref.isOnlyBreadcrumb,
50
+ highlightLastBreadcrumb = _ref.highlightLastBreadcrumb,
51
+ truncateLastBreadcrumb = _ref.truncateLastBreadcrumb,
52
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
+ var classes = (0, _classnames.default)('euiBreadcrumb__content', className);
54
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb_content.euiBreadcrumbContentStyles);
55
+ var cssStyles = [styles.euiBreadcrumb__content, styles[type]];
56
+ if (type === 'application') {
57
+ if (isOnlyBreadcrumb) {
58
+ cssStyles.push(styles.applicationStyles.onlyChild);
59
+ } else if (isFirstBreadcrumb) {
60
+ cssStyles.push(styles.applicationStyles.firstChild);
61
+ } else if (isLastBreadcrumb) {
62
+ cssStyles.push(styles.applicationStyles.lastChild);
63
+ }
64
+ }
65
+ var truncationStyles = [truncate && !truncateLastBreadcrumb && styles.isTruncated, truncateLastBreadcrumb && styles.isTruncatedLast];
66
+ var isBreadcrumbWithPopover = !!popoverContent;
67
+ var isInteractiveBreadcrumb = href || onClick;
68
+ var linkColor = color || (highlightLastBreadcrumb ? 'text' : 'subdued');
69
+ var plainTextColor = highlightLastBreadcrumb ? 'default' : 'subdued'; // Does not inherit `color` prop
70
+ var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
71
+ return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
72
+ var title = innerText === '' ? undefined : innerText;
73
+ var baseProps = {
74
+ ref: ref,
75
+ title: title,
76
+ 'aria-current': ariaCurrent,
77
+ className: classes,
78
+ css: [].concat(cssStyles, truncationStyles)
79
+ };
80
+ if (isBreadcrumbWithPopover) {
81
+ var _ = baseProps.css,
82
+ popoverButtonProps = (0, _objectWithoutProperties2.default)(baseProps, _excluded2);
83
+ return (0, _react2.jsx)(EuiBreadcrumbPopover, (0, _extends2.default)({}, popoverButtonProps, {
84
+ breadcrumbCss: cssStyles,
85
+ truncationCss: truncationStyles,
86
+ isLastBreadcrumb: isLastBreadcrumb,
87
+ type: type,
88
+ color: linkColor,
89
+ popoverContent: popoverContent,
90
+ popoverProps: popoverProps
91
+ }, rest), text);
92
+ } else if (isInteractiveBreadcrumb) {
93
+ return (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({}, baseProps, {
94
+ color: linkColor,
95
+ onClick: onClick,
96
+ href: href,
97
+ rel: rel
98
+ }, rest), text);
99
+ } else {
100
+ return (0, _react2.jsx)(_text.EuiTextColor, {
101
+ color: plainTextColor,
102
+ cloneElement: true
103
+ }, (0, _react2.jsx)("span", (0, _extends2.default)({}, baseProps, rest), text));
104
+ }
105
+ });
106
+ };
107
+ exports.EuiBreadcrumbContent = EuiBreadcrumbContent;
108
+ var EuiBreadcrumbPopover = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
109
+ var popoverContent = _ref2.popoverContent,
110
+ popoverProps = _ref2.popoverProps,
111
+ color = _ref2.color,
112
+ type = _ref2.type,
113
+ title = _ref2.title,
114
+ ariaCurrent = _ref2['aria-current'],
115
+ className = _ref2.className,
116
+ isLastBreadcrumb = _ref2.isLastBreadcrumb,
117
+ breadcrumbCss = _ref2.breadcrumbCss,
118
+ truncationCss = _ref2.truncationCss,
119
+ children = _ref2.children,
120
+ rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded3);
121
+ var _useState = (0, _react.useState)(false),
122
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
123
+ isPopoverOpen = _useState2[0],
124
+ setIsPopoverOpen = _useState2[1];
125
+ var closePopover = (0, _react.useCallback)(function () {
126
+ return setIsPopoverOpen(false);
127
+ }, []);
128
+ var togglePopover = (0, _react.useCallback)(function () {
129
+ return setIsPopoverOpen(function (isOpen) {
130
+ return !isOpen;
131
+ });
132
+ }, []);
133
+ var popoverAriaLabel = (0, _i18n.useEuiI18n)(
134
+ // This component was moved into another file for organization/dev readability,
135
+ // but we're keeping the i18n token the same as before for consumer consistency
136
+ // eslint-disable-next-line local/i18n
137
+ 'euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
138
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb_content.euiBreadcrumbPopoverStyles);
139
+ var wrapperStyles = [styles.popoverWrapper.euiBreadcrumb__popoverWrapper, !isLastBreadcrumb && styles.popoverWrapper[type]];
140
+ var buttonStyles = [styles.euiBreadcrumb__popoverButton].concat((0, _toConsumableArray2.default)(breadcrumbCss));
141
+ var truncationStyles = [styles.euiBreadcrumb__popoverTruncation].concat((0, _toConsumableArray2.default)(truncationCss));
142
+ return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({}, popoverProps, {
143
+ isOpen: isPopoverOpen,
144
+ closePopover: closePopover,
145
+ css: wrapperStyles,
146
+ button: (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({
147
+ ref: ref,
148
+ title: title,
149
+ "aria-current": ariaCurrent,
150
+ className: className,
151
+ css: buttonStyles,
152
+ color: color,
153
+ onClick: togglePopover
154
+ }, rest), (0, _react2.jsx)("span", {
155
+ css: truncationStyles
156
+ }, children), (0, _react2.jsx)(_icon.EuiIcon, {
157
+ type: "arrowDown",
158
+ size: "s",
159
+ "aria-label": " - ".concat(popoverAriaLabel)
160
+ }))
161
+ }), typeof popoverContent === 'function' ? popoverContent(closePopover) : popoverContent);
162
+ });
163
+ EuiBreadcrumbPopover.displayName = 'EuiBreadcrumbPopover';
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiBreadcrumbPopoverStyles = exports.euiBreadcrumbContentStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _color = require("../../services/color");
9
+ var _global_styling = require("../../global_styling");
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ /**
19
+ * Styles cast to inner <a>, <button>, <span> elements
20
+ */
21
+ var euiBreadcrumbContentStyles = function euiBreadcrumbContentStyles(euiThemeContext) {
22
+ var euiTheme = euiThemeContext.euiTheme;
23
+ return {
24
+ euiBreadcrumb__content: /*#__PURE__*/(0, _react.css)("font-weight:", euiTheme.font.weight.medium, ";text-align:center;vertical-align:baseline;;label:euiBreadcrumb__content;"),
25
+ // Truncation styles
26
+ isTruncated: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)((0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
27
+ return x * 10;
28
+ })), ";;label:isTruncated;"),
29
+ isTruncatedLast: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)('none'), ";;label:isTruncatedLast;"),
30
+ // Types
31
+ 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;"),
32
+ 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;"),
33
+ applicationStyles: {
34
+ 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;"),
35
+ 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;"),
36
+ 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;")
37
+ }
38
+ };
39
+ };
40
+ exports.euiBreadcrumbContentStyles = euiBreadcrumbContentStyles;
41
+ var euiBreadcrumbPopoverStyles = function euiBreadcrumbPopoverStyles(_ref) {
42
+ var euiTheme = _ref.euiTheme;
43
+ return {
44
+ euiBreadcrumb__popoverButton: /*#__PURE__*/(0, _react.css)("max-inline-size:100%;display:inline-flex;align-items:center;gap:", euiTheme.size.xs, ";;label:euiBreadcrumb__popoverButton;"),
45
+ euiBreadcrumb__popoverTruncation: /*#__PURE__*/(0, _react.css)(";label:euiBreadcrumb__popoverTruncation;"),
46
+ popoverWrapper: {
47
+ euiBreadcrumb__popoverWrapper: /*#__PURE__*/(0, _react.css)(";label:euiBreadcrumb__popoverWrapper;"),
48
+ page: /*#__PURE__*/(0, _react.css)("max-inline-size:calc(\n 100% - ", (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
49
+ return x + 1;
50
+ }), "\n );;label:page;"),
51
+ application: null
52
+ }
53
+ };
54
+ };
55
+ exports.euiBreadcrumbPopoverStyles = euiBreadcrumbPopoverStyles;
@@ -1,27 +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"));
10
+ var _react = _interopRequireDefault(require("react"));
13
11
  var _classnames = _interopRequireDefault(require("classnames"));
14
12
  var _services = require("../../services");
15
- var _inner_text = require("../inner_text");
16
- var _text = require("../text");
17
- var _link = require("../link");
18
- var _popover = require("../popover");
19
- var _icon = require("../icon");
20
13
  var _i18n = require("../i18n");
14
+ var _breadcrumb_content = require("./_breadcrumb_content");
21
15
  var _breadcrumb = require("./breadcrumb.styles");
22
16
  var _react2 = require("@emotion/react");
23
- var _excluded = ["children", "className", "type", "truncate"],
24
- _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"];
17
+ var _excluded = ["children", "className", "type", "truncate"];
25
18
  /*
26
19
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
27
20
  * or more contributor license agreements. Licensed under the Elastic License
@@ -29,9 +22,6 @@ var _excluded = ["children", "className", "type", "truncate"],
29
22
  * in compliance with, at your election, the Elastic License 2.0 or the Server
30
23
  * Side Public License, v 1.
31
24
  */
32
- // Used internally only by the parent EuiBreadcrumbs
33
- 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); }
34
- 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; }
35
25
  var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
36
26
  var children = _ref.children,
37
27
  className = _ref.className,
@@ -39,8 +29,7 @@ var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
39
29
  truncate = _ref.truncate,
40
30
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
31
  var classes = (0, _classnames.default)('euiBreadcrumb', className);
42
- var euiTheme = (0, _services.useEuiTheme)();
43
- var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
32
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb.euiBreadcrumbStyles);
44
33
  var cssStyles = [styles.euiBreadcrumb, styles[type], truncate && styles.isTruncated];
45
34
  return (0, _react2.jsx)("li", (0, _extends2.default)({
46
35
  className: classes,
@@ -49,109 +38,17 @@ var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
49
38
  }, rest), children);
50
39
  };
51
40
  exports.EuiBreadcrumb = EuiBreadcrumb;
52
- var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
53
- var text = _ref2.text,
54
- truncate = _ref2.truncate,
55
- type = _ref2.type,
56
- href = _ref2.href,
57
- rel = _ref2.rel,
58
- onClick = _ref2.onClick,
59
- popoverContent = _ref2.popoverContent,
60
- popoverProps = _ref2.popoverProps,
61
- className = _ref2.className,
62
- color = _ref2.color,
41
+ var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref2) {
42
+ var children = _ref2.children,
63
43
  isFirstBreadcrumb = _ref2.isFirstBreadcrumb,
64
- isLastBreadcrumb = _ref2.isLastBreadcrumb,
65
- isOnlyBreadcrumb = _ref2.isOnlyBreadcrumb,
66
- highlightLastBreadcrumb = _ref2.highlightLastBreadcrumb,
67
- truncateLastBreadcrumb = _ref2.truncateLastBreadcrumb,
68
- rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
69
- var classes = (0, _classnames.default)('euiBreadcrumb__content', className);
70
- var euiTheme = (0, _services.useEuiTheme)();
71
- var styles = (0, _breadcrumb.euiBreadcrumbContentStyles)(euiTheme);
72
- var cssStyles = [styles.euiBreadcrumb__content, styles[type], truncate && !truncateLastBreadcrumb && styles.isTruncated, truncateLastBreadcrumb && styles.isTruncatedLast];
73
- if (type === 'application') {
74
- if (isOnlyBreadcrumb) {
75
- cssStyles.push(styles.applicationStyles.onlyChild);
76
- } else if (isFirstBreadcrumb) {
77
- cssStyles.push(styles.applicationStyles.firstChild);
78
- } else if (isLastBreadcrumb) {
79
- cssStyles.push(styles.applicationStyles.lastChild);
80
- }
81
- }
82
- var isInteractiveBreadcrumb = href || onClick;
83
- var linkColor = color || (highlightLastBreadcrumb ? 'text' : 'subdued');
84
- var plainTextColor = highlightLastBreadcrumb ? 'default' : 'subdued'; // Does not inherit `color` prop
85
- var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
86
- var isPopoverBreadcrumb = !!popoverContent;
87
- var _useState = (0, _react.useState)(false),
88
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
89
- isPopoverOpen = _useState2[0],
90
- setIsPopoverOpen = _useState2[1];
91
- var popoverAriaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
92
- return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
93
- var title = innerText === '' ? undefined : innerText;
94
- var baseProps = {
95
- ref: ref,
96
- title: title,
97
- 'aria-current': ariaCurrent
98
- };
99
- var styleProps = {
100
- className: classes,
101
- css: cssStyles
102
- };
103
- if (isPopoverBreadcrumb) {
104
- var _closePopover = function _closePopover() {
105
- return setIsPopoverOpen(false);
106
- };
107
- return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({}, popoverProps, {
108
- isOpen: isPopoverOpen,
109
- closePopover: _closePopover,
110
- css: !isLastBreadcrumb && styles.euiBreadcrumb__popoverWrapper,
111
- button: (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({}, baseProps, {
112
- color: linkColor,
113
- css: styles.euiBreadcrumb__popoverButton
114
- // Avoid passing href and onClick - should only toggle the popover
115
- ,
116
- onClick: function onClick() {
117
- return setIsPopoverOpen(function (isOpen) {
118
- return !isOpen;
119
- });
120
- }
121
- }, rest), (0, _react2.jsx)("span", styleProps, text), (0, _react2.jsx)(_icon.EuiIcon, {
122
- type: "arrowDown",
123
- size: "s",
124
- "aria-label": " - ".concat(popoverAriaLabel)
125
- }))
126
- }), typeof popoverContent === 'function' ? popoverContent(_closePopover) : popoverContent);
127
- } else if (isInteractiveBreadcrumb) {
128
- return (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({}, baseProps, styleProps, {
129
- color: linkColor,
130
- onClick: onClick,
131
- href: href,
132
- rel: rel
133
- }, rest), text);
134
- } else {
135
- return (0, _react2.jsx)(_text.EuiTextColor, {
136
- color: plainTextColor,
137
- cloneElement: true
138
- }, (0, _react2.jsx)("span", (0, _extends2.default)({}, baseProps, styleProps, rest), text));
139
- }
140
- });
141
- };
142
- exports.EuiBreadcrumbContent = EuiBreadcrumbContent;
143
- var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
144
- var children = _ref3.children,
145
- isFirstBreadcrumb = _ref3.isFirstBreadcrumb,
146
- type = _ref3.type;
147
- var euiTheme = (0, _services.useEuiTheme)();
148
- var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
44
+ type = _ref2.type;
45
+ var styles = (0, _services.useEuiMemoizedStyles)(_breadcrumb.euiBreadcrumbStyles);
149
46
  var cssStyles = [styles.isCollapsed];
150
47
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
151
48
  return (0, _react2.jsx)(EuiBreadcrumb, {
152
49
  css: cssStyles,
153
50
  type: type
154
- }, (0, _react2.jsx)(EuiBreadcrumbContent, {
51
+ }, (0, _react2.jsx)(_breadcrumb_content.EuiBreadcrumbContent, {
155
52
  popoverContent: children,
156
53
  text: (0, _react2.jsx)("span", {
157
54
  "aria-label": ariaLabel
@@ -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;
@@ -14,6 +14,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _i18n = require("../i18n");
15
15
  var _services = require("../../services");
16
16
  var _breadcrumb = require("./breadcrumb");
17
+ var _breadcrumb_content = require("./_breadcrumb_content");
17
18
  var _breadcrumbs = require("./breadcrumbs.styles");
18
19
  var _react2 = require("@emotion/react");
19
20
  var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max", "type", "lastBreadcrumbIsCurrentPage"];
@@ -46,8 +47,7 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
46
47
  lastBreadcrumbIsCurrentPage = _ref$lastBreadcrumbIs === void 0 ? true : _ref$lastBreadcrumbIs,
47
48
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
48
49
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
49
- var euiTheme = (0, _services.useEuiTheme)();
50
- var breadcrumbsListStyles = (0, _breadcrumbs.euiBreadcrumbsListStyles)(euiTheme);
50
+ var breadcrumbsListStyles = (0, _services.useEuiMemoizedStyles)(_breadcrumbs.euiBreadcrumbsListStyles);
51
51
  var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
52
52
  var responsiveMax = useResponsiveMax(responsive, max);
53
53
  var visibleBreadcrumbs = (0, _react.useMemo)(function () {
@@ -76,7 +76,7 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
76
76
  max: 0
77
77
  })) : (0, _react2.jsx)(_breadcrumb.EuiBreadcrumb, (0, _extends2.default)({
78
78
  key: index
79
- }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, (0, _extends2.default)({}, breadcrumb, sharedProps, {
79
+ }, sharedProps), (0, _react2.jsx)(_breadcrumb_content.EuiBreadcrumbContent, (0, _extends2.default)({}, breadcrumb, sharedProps, {
80
80
  isFirstBreadcrumb: isFirstBreadcrumb,
81
81
  isLastBreadcrumb: isLastBreadcrumb,
82
82
  isOnlyBreadcrumb: isOnlyBreadcrumb,
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -61,9 +61,9 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
61
61
  }), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("legend", null, legend)), (0, _react2.jsx)("div", {
62
62
  css: cssStyles,
63
63
  className: "euiButtonGroup__buttons"
64
- }, options.map(function (option, index) {
64
+ }, options.map(function (option) {
65
65
  return (0, _react2.jsx)(_button_group_button.EuiButtonGroupButton, (0, _extends2.default)({
66
- key: index,
66
+ key: option.id,
67
67
  isDisabled: isDisabled
68
68
  }, option, {
69
69
  onClick: typeIsSingle ? function () {
@@ -36,7 +36,7 @@ var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(euiThemeC
36
36
  return {
37
37
  // Base
38
38
  euiButtonGroup__buttons: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', '100%'), " display:flex;;label:euiButtonGroup__buttons;"),
39
- 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;"),
40
40
  // Sizes
41
41
  m: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, ";;label:m;"),
42
42
  s: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.small, ";;label:s;"),