@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,11 +1,4 @@
1
- var _excluded = ["children", "className", "type", "truncate"],
2
- _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"];
3
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
- 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."); }
5
- 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); }
6
- 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; }
7
- 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; } }
8
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1
+ var _excluded = ["children", "className", "type", "truncate"];
9
2
  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); }
10
3
  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; }
11
4
  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; }
@@ -17,19 +10,12 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
17
10
  * Side Public License, v 1.
18
11
  */
19
12
 
20
- import React, { useState } from 'react';
21
- import PropTypes from "prop-types";
13
+ import React from 'react';
22
14
  import classNames from 'classnames';
23
- import { useEuiTheme } from '../../services';
24
- import { EuiInnerText } from '../inner_text';
25
- import { EuiTextColor } from '../text';
26
- import { EuiLink } from '../link';
27
- import { EuiPopover } from '../popover';
28
- import { EuiIcon } from '../icon';
15
+ import { useEuiMemoizedStyles } from '../../services';
29
16
  import { useEuiI18n } from '../i18n';
30
- import { euiBreadcrumbStyles, euiBreadcrumbContentStyles } from './breadcrumb.styles';
31
-
32
- // Used internally only by the parent EuiBreadcrumbs
17
+ import { EuiBreadcrumbContent } from './_breadcrumb_content';
18
+ import { euiBreadcrumbStyles } from './breadcrumb.styles';
33
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
34
20
  export var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
35
21
  var children = _ref.children,
@@ -38,8 +24,7 @@ export var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
38
24
  truncate = _ref.truncate,
39
25
  rest = _objectWithoutProperties(_ref, _excluded);
40
26
  var classes = classNames('euiBreadcrumb', className);
41
- var euiTheme = useEuiTheme();
42
- var styles = euiBreadcrumbStyles(euiTheme);
27
+ var styles = useEuiMemoizedStyles(euiBreadcrumbStyles);
43
28
  var cssStyles = [styles.euiBreadcrumb, styles[type], truncate && styles.isTruncated];
44
29
  return ___EmotionJSX("li", _extends({
45
30
  className: classes,
@@ -47,302 +32,11 @@ export var EuiBreadcrumb = function EuiBreadcrumb(_ref) {
47
32
  "data-test-subj": "euiBreadcrumb"
48
33
  }, rest), children);
49
34
  };
50
- EuiBreadcrumb.propTypes = {
51
- type: PropTypes.oneOf(["page", "application"]).isRequired,
52
- isFirstBreadcrumb: PropTypes.bool,
53
- isLastBreadcrumb: PropTypes.bool,
54
- isOnlyBreadcrumb: PropTypes.bool,
55
- highlightLastBreadcrumb: PropTypes.bool,
56
- truncateLastBreadcrumb: PropTypes.bool
57
- };
58
- export var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
59
- var text = _ref2.text,
60
- truncate = _ref2.truncate,
61
- type = _ref2.type,
62
- href = _ref2.href,
63
- rel = _ref2.rel,
64
- onClick = _ref2.onClick,
65
- popoverContent = _ref2.popoverContent,
66
- popoverProps = _ref2.popoverProps,
67
- className = _ref2.className,
68
- color = _ref2.color,
35
+ export var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref2) {
36
+ var children = _ref2.children,
69
37
  isFirstBreadcrumb = _ref2.isFirstBreadcrumb,
70
- isLastBreadcrumb = _ref2.isLastBreadcrumb,
71
- isOnlyBreadcrumb = _ref2.isOnlyBreadcrumb,
72
- highlightLastBreadcrumb = _ref2.highlightLastBreadcrumb,
73
- truncateLastBreadcrumb = _ref2.truncateLastBreadcrumb,
74
- rest = _objectWithoutProperties(_ref2, _excluded2);
75
- var classes = classNames('euiBreadcrumb__content', className);
76
- var euiTheme = useEuiTheme();
77
- var styles = euiBreadcrumbContentStyles(euiTheme);
78
- var cssStyles = [styles.euiBreadcrumb__content, styles[type], truncate && !truncateLastBreadcrumb && styles.isTruncated, truncateLastBreadcrumb && styles.isTruncatedLast];
79
- if (type === 'application') {
80
- if (isOnlyBreadcrumb) {
81
- cssStyles.push(styles.applicationStyles.onlyChild);
82
- } else if (isFirstBreadcrumb) {
83
- cssStyles.push(styles.applicationStyles.firstChild);
84
- } else if (isLastBreadcrumb) {
85
- cssStyles.push(styles.applicationStyles.lastChild);
86
- }
87
- }
88
- var isInteractiveBreadcrumb = href || onClick;
89
- var linkColor = color || (highlightLastBreadcrumb ? 'text' : 'subdued');
90
- var plainTextColor = highlightLastBreadcrumb ? 'default' : 'subdued'; // Does not inherit `color` prop
91
- var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
92
- var isPopoverBreadcrumb = !!popoverContent;
93
- var _useState = useState(false),
94
- _useState2 = _slicedToArray(_useState, 2),
95
- isPopoverOpen = _useState2[0],
96
- setIsPopoverOpen = _useState2[1];
97
- var popoverAriaLabel = useEuiI18n('euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
98
- return ___EmotionJSX(EuiInnerText, null, function (ref, innerText) {
99
- var title = innerText === '' ? undefined : innerText;
100
- var baseProps = {
101
- ref: ref,
102
- title: title,
103
- 'aria-current': ariaCurrent
104
- };
105
- var styleProps = {
106
- className: classes,
107
- css: cssStyles
108
- };
109
- if (isPopoverBreadcrumb) {
110
- return ___EmotionJSX(EuiPopover, _extends({}, popoverProps, {
111
- isOpen: isPopoverOpen,
112
- closePopover: function closePopover() {
113
- return setIsPopoverOpen(false);
114
- },
115
- css: !isLastBreadcrumb && styles.euiBreadcrumb__popoverWrapper,
116
- button: ___EmotionJSX(EuiLink, _extends({}, baseProps, {
117
- color: linkColor,
118
- css: styles.euiBreadcrumb__popoverButton
119
- // Avoid passing href and onClick - should only toggle the popover
120
- ,
121
- onClick: function onClick() {
122
- return setIsPopoverOpen(function (isOpen) {
123
- return !isOpen;
124
- });
125
- }
126
- }, rest), ___EmotionJSX("span", styleProps, text), ___EmotionJSX(EuiIcon, {
127
- type: "arrowDown",
128
- size: "s",
129
- "aria-label": " - ".concat(popoverAriaLabel)
130
- }))
131
- }), popoverContent);
132
- } else if (isInteractiveBreadcrumb) {
133
- return ___EmotionJSX(EuiLink, _extends({}, baseProps, styleProps, {
134
- color: linkColor,
135
- onClick: onClick,
136
- href: href,
137
- rel: rel
138
- }, rest), text);
139
- } else {
140
- return ___EmotionJSX(EuiTextColor, {
141
- color: plainTextColor,
142
- cloneElement: true
143
- }, ___EmotionJSX("span", _extends({}, baseProps, styleProps, rest), text));
144
- }
145
- });
146
- };
147
- EuiBreadcrumbContent.propTypes = {
148
- className: PropTypes.string,
149
- "aria-label": PropTypes.string,
150
- "data-test-subj": PropTypes.string,
151
- css: PropTypes.any,
152
- href: PropTypes.string,
153
- rel: PropTypes.string,
154
- onClick: PropTypes.func,
155
- /**
156
- * Visible label of the breadcrumb
157
- */
158
- text: PropTypes.node.isRequired,
159
- /**
160
- * Force a max-width on the breadcrumb text
161
- */
162
- truncate: PropTypes.bool,
163
- /**
164
- * Accepts any EuiLink `color` when rendered as one (has `href`, `onClick`, or `popoverContent`)
165
- */
166
- color: PropTypes.any,
167
- /**
168
- * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
169
- */
170
- "aria-current": PropTypes.any,
171
- /**
172
- * Creates a breadcrumb that toggles a popover dialog
173
- *
174
- * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
175
- * click behavior should only trigger a popover.
176
- */
177
- popoverContent: PropTypes.node,
178
- /**
179
- * Allows customizing the popover if necessary. Accepts any props that
180
- * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
181
- */
182
- popoverProps: PropTypes.shape({
183
- /**
184
- * Alignment of the popover and arrow relative to the button
185
- */
186
- anchorPosition: PropTypes.any,
187
- /**
188
- * Style and position alteration for arrow-less attachment.
189
- * Intended for use with inputs as anchors, e.g. EuiInputPopover
190
- */
191
- attachToAnchor: PropTypes.bool,
192
- /**
193
- * Restrict the popover's position within this element
194
- */
195
- container: PropTypes.any,
196
- /**
197
- * CSS display type for both the popover and anchor
198
- */
199
- display: PropTypes.any,
200
- /**
201
- * Object of props passed to EuiFocusTrap
202
- */
203
- focusTrapProps: PropTypes.any,
204
- /**
205
- * Show arrow indicating to originating button
206
- */
207
- hasArrow: PropTypes.bool,
208
- /**
209
- * Specifies what element should initially have focus; Can be a DOM
210
- * node, or a selector string (which will be passed to
211
- * document.querySelector() to find the DOM node), or a function that
212
- * returns a DOM node.
213
- *
214
- * If not passed, initial focus defaults to the popover panel.
215
- */
216
- initialFocus: PropTypes.any,
217
- /**
218
- * Passed directly to EuiPortal for DOM positioning. Both properties are
219
- * required if prop is specified
220
- */
221
- insert: PropTypes.shape({
222
- sibling: PropTypes.any.isRequired,
223
- position: PropTypes.oneOf(["before", "after"]).isRequired
224
- }),
225
- /**
226
- * Traps tab focus within the popover contents
227
- */
228
- ownFocus: PropTypes.bool,
229
- /**
230
- * Custom class added to the EuiPanel containing the popover contents
231
- */
232
- panelClassName: PropTypes.string,
233
- /**
234
- * EuiPanel padding on all sides
235
- */
236
- panelPaddingSize: PropTypes.any,
237
- /**
238
- * Standard DOM `style` attribute. Passed to the EuiPanel
239
- */
240
- panelStyle: PropTypes.any,
241
- /**
242
- * Object of props passed to EuiPanel. See #EuiPopoverPanelProps
243
- */
244
- panelProps: PropTypes.shape({
245
- element: PropTypes.oneOf(["div"]),
246
- /**
247
- * Padding for all four sides
248
- */
249
- paddingSize: PropTypes.any,
250
- /**
251
- * Corner border radius
252
- */
253
- borderRadius: PropTypes.any,
254
- /**
255
- * When true the panel will grow in height to match `EuiFlexItem`
256
- */
257
- grow: PropTypes.bool,
258
- panelRef: PropTypes.any,
259
- className: PropTypes.string,
260
- "aria-label": PropTypes.string,
261
- "data-test-subj": PropTypes.string,
262
- css: PropTypes.any
263
- }),
264
- panelRef: PropTypes.any,
265
- /**
266
- * Optional screen reader instructions to announce upon popover open,
267
- * in addition to EUI's default popover instructions for Escape on close.
268
- * Useful for popovers that may have additional keyboard capabilities such as
269
- * arrow navigation.
270
- */
271
- popoverScreenReaderText: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.node.isRequired]),
272
- popoverRef: PropTypes.any,
273
- /**
274
- * When `true`, the popover's position is re-calculated when the user
275
- * scrolls, this supports having fixed-position popover anchors. When nesting
276
- * an `EuiPopover` in a scrollable container, `repositionOnScroll` should be `true`
277
- */
278
- repositionOnScroll: PropTypes.bool,
279
- /**
280
- * By default, popovers will attempt to position themselves along the initial
281
- * axis specified. If there is not enough room either vertically or horizontally
282
- * however, the popover will attempt to reposition itself along the secondary
283
- * cross axis if there is room there instead.
284
- *
285
- * If you do not not want this repositioning to occur (and it is acceptable for
286
- * the popover to appear offscreen), set this to false to disable this behavior.
287
- *
288
- * @default true
289
- */
290
- repositionToCrossAxis: PropTypes.bool,
291
- /**
292
- * Must be set to true if using `EuiDragDropContext` within a popover,
293
- * otherwise your nested drag & drop will have incorrect positioning
294
- */
295
- hasDragDrop: PropTypes.bool,
296
- /**
297
- * By default, popover content inherits the z-index of the anchor
298
- * component; pass `zIndex` to override
299
- */
300
- zIndex: PropTypes.number,
301
- /**
302
- * Distance away from the anchor that the popover will render
303
- */
304
- offset: PropTypes.number,
305
- /**
306
- * Minimum distance between the popover and the bounding container;
307
- * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`
308
- * Default is 16
309
- */
310
- buffer: PropTypes.oneOfType([PropTypes.number.isRequired, PropTypes.any.isRequired]),
311
- /**
312
- * Element to pass as the child element of the arrow;
313
- * Use case is typically limited to an accompanying `EuiBeacon`
314
- */
315
- arrowChildren: PropTypes.node,
316
- /**
317
- * Provide a name to the popover panel
318
- */
319
- "aria-label": PropTypes.string,
320
- /**
321
- * Alternative option to `aria-label` that takes an `id`.
322
- * Usually takes the `id` of the popover title
323
- */
324
- "aria-labelledby": PropTypes.string,
325
- /**
326
- * Function callback for when the popover positon changes
327
- */
328
- onPositionChange: PropTypes.func,
329
- className: PropTypes.string,
330
- "data-test-subj": PropTypes.string,
331
- css: PropTypes.any
332
- }),
333
- type: PropTypes.oneOf(["page", "application"]).isRequired,
334
- isFirstBreadcrumb: PropTypes.bool,
335
- isLastBreadcrumb: PropTypes.bool,
336
- isOnlyBreadcrumb: PropTypes.bool,
337
- highlightLastBreadcrumb: PropTypes.bool,
338
- truncateLastBreadcrumb: PropTypes.bool
339
- };
340
- export var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
341
- var children = _ref3.children,
342
- isFirstBreadcrumb = _ref3.isFirstBreadcrumb,
343
- type = _ref3.type;
344
- var euiTheme = useEuiTheme();
345
- var styles = euiBreadcrumbStyles(euiTheme);
38
+ type = _ref2.type;
39
+ var styles = useEuiMemoizedStyles(euiBreadcrumbStyles);
346
40
  var cssStyles = [styles.isCollapsed];
347
41
  var ariaLabel = useEuiI18n('euiBreadcrumb.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
348
42
  return ___EmotionJSX(EuiBreadcrumb, {
@@ -358,12 +52,4 @@ export var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
358
52
  isFirstBreadcrumb: isFirstBreadcrumb,
359
53
  type: type
360
54
  }));
361
- };
362
- EuiBreadcrumbCollapsed.propTypes = {
363
- type: PropTypes.oneOf(["page", "application"]).isRequired,
364
- isFirstBreadcrumb: PropTypes.bool,
365
- isLastBreadcrumb: PropTypes.bool,
366
- isOnlyBreadcrumb: PropTypes.bool,
367
- highlightLastBreadcrumb: PropTypes.bool,
368
- truncateLastBreadcrumb: PropTypes.bool
369
55
  };
@@ -8,8 +8,11 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { transparentize } from '../../services/color';
12
- import { euiFontSize, euiTextTruncate, euiFocusRing, logicalCSS, logicalBorderRadiusCSS, mathWithUnits } from '../../global_styling';
11
+ import { logicalCSS } from '../../global_styling';
12
+
13
+ /**
14
+ * Styles cast to <li> element
15
+ */
13
16
  var _ref = process.env.NODE_ENV === "production" ? {
14
17
  name: "1k7t4ns-isCollapsed",
15
18
  styles: "flex-shrink:0;label:isCollapsed;"
@@ -27,7 +30,6 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
27
30
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
28
31
  };
29
32
  export var euiBreadcrumbStyles = function euiBreadcrumbStyles(euiThemeContext) {
30
- // Styles cast to <li> element
31
33
  var euiTheme = euiThemeContext.euiTheme;
32
34
  return {
33
35
  euiBreadcrumb: /*#__PURE__*/css("align-items:center;display:flex;", logicalCSS(
@@ -39,28 +41,4 @@ export var euiBreadcrumbStyles = function euiBreadcrumbStyles(euiThemeContext) {
39
41
  page: /*#__PURE__*/css("&:not(:last-of-type){&::after{background:", euiTheme.colors.lightShade, ";content:'';flex-shrink:0;", logicalCSS('margin-top', euiTheme.size.xs), " ", logicalCSS('margin-bottom', 0), " ", logicalCSS('margin-horizontal', euiTheme.size.s), " ", logicalCSS('height', euiTheme.size.base), " ", logicalCSS('width', '1px'), " transform:translateY(-1px) rotate(15deg);}};label:page;"),
40
42
  application: /*#__PURE__*/css("&:not(:last-of-type){", logicalCSS('margin-right', "-".concat(euiTheme.size.xs)), ";};label:application;")
41
43
  };
42
- };
43
- export var euiBreadcrumbContentStyles = function euiBreadcrumbContentStyles(euiThemeContext) {
44
- // Styles cast to <a>, <span>, or collapsed <button> elements
45
- var euiTheme = euiThemeContext.euiTheme;
46
- return {
47
- euiBreadcrumb__content: /*#__PURE__*/css("font-weight:", euiTheme.font.weight.medium, ";text-align:center;vertical-align:baseline;;label:euiBreadcrumb__content;"),
48
- isTruncated: /*#__PURE__*/css(euiTextTruncate(mathWithUnits(euiTheme.size.base, function (x) {
49
- return x * 10;
50
- })), ";;label:isTruncated;"),
51
- isTruncatedLast: /*#__PURE__*/css(euiTextTruncate('none'), ";;label:isTruncatedLast;"),
52
- // Popover styles
53
- euiBreadcrumb__popoverButton: /*#__PURE__*/css("max-inline-size:100%;display:inline-flex;align-items:center;gap:", euiTheme.size.xs, ";;label:euiBreadcrumb__popoverButton;"),
54
- euiBreadcrumb__popoverWrapper: /*#__PURE__*/css("max-inline-size:calc(\n 100% - ", mathWithUnits(euiTheme.size.base, function (x) {
55
- return x + 1;
56
- }), "\n );;label:euiBreadcrumb__popoverWrapper;"),
57
- // Types
58
- page: /*#__PURE__*/css("&:is(a):focus{", euiFocusRing(euiThemeContext, 'inset'), ";}&:is(button):focus{", euiFocusRing(euiThemeContext, 'center'), ";};label:page;"),
59
- application: /*#__PURE__*/css(euiFontSize(euiThemeContext, 'xs'), " background-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, ";", logicalCSS('padding-vertical', euiTheme.size.xs), " ", logicalCSS('padding-horizontal', euiTheme.size.base), " &:is(a),&:is(button){background-color:", transparentize(euiTheme.colors.primary, 0.2), ";color:", euiTheme.colors.link, ";:focus{", euiFocusRing(euiThemeContext, 'inset'), " :focus-visible{border-radius:", euiTheme.border.radius.medium, ";clip-path:none;}}};label:application;"),
60
- applicationStyles: {
61
- onlyChild: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";clip-path:none;", logicalCSS('padding-horizontal', euiTheme.size.m), ";;label:onlyChild;"),
62
- firstChild: /*#__PURE__*/css(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 );", logicalCSS('padding-left', euiTheme.size.m), ";;label:firstChild;"),
63
- lastChild: /*#__PURE__*/css(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 );", logicalCSS('padding-right', euiTheme.size.m), ";;label:lastChild;")
64
- }
65
- };
66
44
  };
@@ -15,8 +15,9 @@ import React, { useMemo } from 'react';
15
15
  import PropTypes from "prop-types";
16
16
  import classNames from 'classnames';
17
17
  import { useEuiI18n } from '../i18n';
18
- import { useEuiTheme, useCurrentEuiBreakpoint } from '../../services';
19
- import { EuiBreadcrumb, EuiBreadcrumbContent, EuiBreadcrumbCollapsed } from './breadcrumb';
18
+ import { useEuiMemoizedStyles, useCurrentEuiBreakpoint } from '../../services';
19
+ import { EuiBreadcrumb, EuiBreadcrumbCollapsed } from './breadcrumb';
20
+ import { EuiBreadcrumbContent } from './_breadcrumb_content';
20
21
  import { euiBreadcrumbsListStyles } from './breadcrumbs.styles';
21
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
22
23
  var responsiveDefault = {
@@ -39,8 +40,7 @@ export var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
39
40
  lastBreadcrumbIsCurrentPage = _ref$lastBreadcrumbIs === void 0 ? true : _ref$lastBreadcrumbIs,
40
41
  rest = _objectWithoutProperties(_ref, _excluded);
41
42
  var ariaLabel = useEuiI18n('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
42
- var euiTheme = useEuiTheme();
43
- var breadcrumbsListStyles = euiBreadcrumbsListStyles(euiTheme);
43
+ var breadcrumbsListStyles = useEuiMemoizedStyles(euiBreadcrumbsListStyles);
44
44
  var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
45
45
  var responsiveMax = useResponsiveMax(responsive, max);
46
46
  var visibleBreadcrumbs = useMemo(function () {
@@ -140,12 +140,14 @@ EuiBreadcrumbs.propTypes = {
140
140
  */
141
141
  "aria-current": PropTypes.any,
142
142
  /**
143
- * Creates a breadcrumb that toggles a popover dialog
143
+ * Creates a breadcrumb that toggles a popover dialog. Takes any rendered node(s),
144
+ * or a render function that will pass callback allowing you to close the
145
+ * breadcrumb popover from within your popover content.
144
146
  *
145
147
  * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
146
148
  * click behavior should only trigger a popover.
147
149
  */
148
- popoverContent: PropTypes.node,
150
+ popoverContent: PropTypes.oneOfType([PropTypes.node.isRequired, PropTypes.func.isRequired]),
149
151
  /**
150
152
  * Allows customizing the popover if necessary. Accepts any props that
151
153
  * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
@@ -0,0 +1 @@
1
+ export {};
@@ -21,7 +21,7 @@ import React, { forwardRef } from 'react';
21
21
  // @ts-ignore module doesn't export `createElement`
22
22
  import PropTypes from "prop-types";
23
23
  import { createElement } from '@emotion/react';
24
- import { getSecureRelForTarget, useEuiTheme } from '../../../services';
24
+ import { getSecureRelForTarget, useEuiMemoizedStyles } from '../../../services';
25
25
  import { euiButtonDisplayStyles } from './_button_display.styles';
26
26
  import { EuiButtonDisplayContent } from './_button_display_content';
27
27
  import { validateHref } from '../../../services/security/href_validator';
@@ -75,8 +75,7 @@ export var EuiButtonDisplay = /*#__PURE__*/forwardRef(function (_ref2, ref) {
75
75
  isDisabled: isDisabled || disabled,
76
76
  isLoading: isLoading
77
77
  });
78
- var theme = useEuiTheme();
79
- var styles = euiButtonDisplayStyles(theme);
78
+ var styles = useEuiMemoizedStyles(euiButtonDisplayStyles);
80
79
  var cssStyles = [styles.euiButtonDisplay, styles[size], fullWidth && styles.fullWidth, minWidth == null && styles.defaultMinWidth, buttonIsDisabled && styles.isDisabled];
81
80
  var innerNode = ___EmotionJSX(EuiButtonDisplayContent, _extends({
82
81
  isLoading: isLoading,
@@ -19,7 +19,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
19
19
  import React from 'react';
20
20
  import PropTypes from "prop-types";
21
21
  import classNames from 'classnames';
22
- import { useEuiTheme, getSecureRelForTarget } from '../../../services';
22
+ import { useEuiMemoizedStyles, getSecureRelForTarget } from '../../../services';
23
23
  import { EuiButtonDisplayContent } from '../button_display/_button_display_content';
24
24
  import { useEuiButtonColorCSS } from '../../../themes/amsterdam/global_styling/mixins/button';
25
25
  import { isButtonDisabled } from '../button_display/_button_display';
@@ -67,8 +67,7 @@ export var EuiButtonEmpty = function EuiButtonEmpty(_ref) {
67
67
  var buttonColorStyles = useEuiButtonColorCSS({
68
68
  display: 'empty'
69
69
  });
70
- var euiTheme = useEuiTheme();
71
- var styles = euiButtonEmptyStyles(euiTheme);
70
+ var styles = useEuiMemoizedStyles(euiButtonEmptyStyles);
72
71
  var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
73
72
  var classes = classNames('euiButtonEmpty', className);
74
73
  var contentClassNames = classNames('euiButtonEmpty__content', contentProps === null || contentProps === void 0 ? void 0 : contentProps.className);
@@ -13,7 +13,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
13
13
  import classNames from 'classnames';
14
14
  import PropTypes from "prop-types";
15
15
  import React from 'react';
16
- import { useEuiTheme } from '../../../services';
16
+ import { useEuiMemoizedStyles } from '../../../services';
17
17
  import { EuiScreenReaderOnly } from '../../accessibility';
18
18
  import { EuiButtonGroupButton } from './button_group_button';
19
19
  import { euiButtonGroupStyles, euiButtonGroupButtonsStyles } from './button_group.styles';
@@ -42,10 +42,8 @@ export var EuiButtonGroup = function EuiButtonGroup(_ref) {
42
42
  _ref$type = _ref.type,
43
43
  type = _ref$type === void 0 ? 'single' : _ref$type,
44
44
  rest = _objectWithoutProperties(_ref, _excluded);
45
- var euiTheme = useEuiTheme();
46
- var wrapperStyles = euiButtonGroupStyles();
47
- var wrapperCssStyles = [wrapperStyles.euiButtonGroup, isFullWidth && wrapperStyles.fullWidth];
48
- var styles = euiButtonGroupButtonsStyles(euiTheme);
45
+ var wrapperCssStyles = [euiButtonGroupStyles.euiButtonGroup, isFullWidth && euiButtonGroupStyles.fullWidth];
46
+ var styles = useEuiMemoizedStyles(euiButtonGroupButtonsStyles);
49
47
  var cssStyles = [styles.euiButtonGroup__buttons, isFullWidth && styles.fullWidth, styles[buttonSize]];
50
48
  var classes = classNames('euiButtonGroup', {
51
49
  'euiButtonGroup-isDisabled': isDisabled
@@ -59,9 +57,9 @@ export var EuiButtonGroup = function EuiButtonGroup(_ref) {
59
57
  }), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("legend", null, legend)), ___EmotionJSX("div", {
60
58
  css: cssStyles,
61
59
  className: "euiButtonGroup__buttons"
62
- }, options.map(function (option, index) {
60
+ }, options.map(function (option) {
63
61
  return ___EmotionJSX(EuiButtonGroupButton, _extends({
64
- key: index,
62
+ key: option.id,
65
63
  isDisabled: isDisabled
66
64
  }, option, {
67
65
  onClick: typeIsSingle ? function () {
@@ -135,6 +133,20 @@ EuiButtonGroup.propTypes = {
135
133
  * The type of the underlying HTML button
136
134
  */
137
135
  type: PropTypes.any,
136
+ /**
137
+ * By default, will use the button text for the native browser title.
138
+ *
139
+ * This can be either customized or unset via `title: ''` if necessary.
140
+ */
141
+ title: PropTypes.any,
142
+ /**
143
+ * Optional custom tooltip content for the button
144
+ */
145
+ toolTipContent: PropTypes.node,
146
+ /**
147
+ * Optional props to pass to the underlying **[EuiToolTip](/#/display/tooltip)**
148
+ */
149
+ toolTipProps: PropTypes.any,
138
150
  /**
139
151
  * Any `type` accepted by EuiIcon
140
152
  */
@@ -10,19 +10,16 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
10
10
  import { css } from '@emotion/react';
11
11
  import { logicalCSS } from '../../../global_styling';
12
12
  import { euiFormVariables } from '../../form/form.styles';
13
- var _ref = process.env.NODE_ENV === "production" ? {
14
- name: "jl0hie-fullWidth",
15
- styles: "display:block;label:fullWidth;"
16
- } : {
17
- name: "jl0hie-fullWidth",
18
- styles: "display:block;label:fullWidth;",
19
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
20
- };
21
- export var euiButtonGroupStyles = function euiButtonGroupStyles() {
22
- return {
23
- euiButtonGroup: /*#__PURE__*/css("display:inline-block;", logicalCSS('max-width', '100%'), " position:relative;;label:euiButtonGroup;"),
24
- fullWidth: _ref
25
- };
13
+ export var euiButtonGroupStyles = {
14
+ euiButtonGroup: /*#__PURE__*/css("display:inline-block;", logicalCSS('max-width', '100%'), " position:relative;;label:euiButtonGroup;"),
15
+ fullWidth: process.env.NODE_ENV === "production" ? {
16
+ name: "jl0hie-fullWidth",
17
+ styles: "display:block;label:fullWidth;"
18
+ } : {
19
+ name: "jl0hie-fullWidth",
20
+ styles: "display:block;label:fullWidth;",
21
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
22
+ }
26
23
  };
27
24
  export var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(euiThemeContext) {
28
25
  var euiTheme = euiThemeContext.euiTheme;
@@ -34,7 +31,7 @@ export var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(eu
34
31
  return {
35
32
  // Base
36
33
  euiButtonGroup__buttons: /*#__PURE__*/css(logicalCSS('max-width', '100%'), " display:flex;;label:euiButtonGroup__buttons;"),
37
- fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), " .euiButtonGroupButton{flex:1;};label:fullWidth;"),
34
+ fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), " .euiButtonGroupButton,.euiButtonGroup__tooltipWrapper{flex:1;", logicalCSS('width', '100%'), ";};label:fullWidth;"),
38
35
  // Sizes
39
36
  m: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";;label:m;"),
40
37
  s: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.small, ";;label:s;"),