@elastic/eui 93.3.0 → 93.5.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 (361) 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 -327
  11. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  12. package/es/components/breadcrumbs/breadcrumbs.js +4 -4
  13. package/es/components/breadcrumbs/types.js +1 -0
  14. package/es/components/button/button_group/button_group.js +16 -2
  15. package/es/components/button/button_group/button_group.styles.js +1 -1
  16. package/es/components/button/button_group/button_group_button.js +59 -5
  17. package/es/components/button/button_group/button_group_button.styles.js +39 -3
  18. package/es/components/datagrid/body/cell/data_grid_cell.js +97 -58
  19. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  20. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  21. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  22. package/es/components/datagrid/body/cell/index.js +1 -1
  23. package/es/components/datagrid/body/data_grid_body.js +13 -0
  24. package/es/components/datagrid/body/data_grid_body_custom.js +52 -36
  25. package/es/components/datagrid/body/data_grid_body_virtualized.js +84 -56
  26. package/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  27. package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  28. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
  29. package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
  30. package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
  31. package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  32. package/es/components/datagrid/controls/column_selector.js +126 -123
  33. package/es/components/datagrid/controls/column_sorting.js +605 -103
  34. package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  35. package/es/components/datagrid/controls/display_selector.js +109 -107
  36. package/es/components/datagrid/data_grid.a11y.js +13 -12
  37. package/es/components/datagrid/data_grid.js +45 -22
  38. package/es/components/datagrid/utils/col_widths.js +12 -8
  39. package/es/components/datagrid/utils/focus.js +10 -8
  40. package/es/components/datagrid/utils/grid_height_width.js +31 -30
  41. package/es/components/datagrid/utils/ref.js +1 -1
  42. package/es/components/datagrid/utils/row_heights.js +2 -2
  43. package/es/components/datagrid/utils/sorting.js +29 -27
  44. package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  45. package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
  46. package/es/components/flex/flex_grid.js +22 -8
  47. package/es/components/flex/flex_grid.styles.js +13 -6
  48. package/es/components/flex/flex_group.js +10 -11
  49. package/es/components/flex/flex_item.js +9 -11
  50. package/es/components/flex/flex_item.styles.js +107 -122
  51. package/es/components/flyout/flyout.js +16 -18
  52. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  53. package/es/components/header/header_links/header_links.js +10 -2
  54. package/es/components/icon/icon.js +3 -3
  55. package/es/components/modal/confirm_modal.js +2 -1
  56. package/es/components/modal/modal.js +12 -3
  57. package/es/components/observer/resize_observer/resize_observer.js +15 -24
  58. package/es/components/panel/panel.js +2 -3
  59. package/es/components/resizable_container/resizable_button.js +2 -3
  60. package/es/components/resizable_container/resizable_collapse_button.js +2 -3
  61. package/es/components/resizable_container/resizable_container.js +1 -2
  62. package/es/components/resizable_container/resizable_container.styles.js +11 -14
  63. package/es/components/resizable_container/resizable_panel.js +6 -8
  64. package/es/components/resizable_container/resizable_panel.styles.js +18 -29
  65. package/es/components/selectable/selectable_list/selectable_list.js +26 -6
  66. package/es/components/spacer/spacer.js +2 -3
  67. package/es/components/toast/global_toast_list.js +70 -73
  68. package/es/components/toast/toast.js +27 -42
  69. package/es/components/toast/toast.styles.js +2 -17
  70. package/es/components/tool_tip/icon_tip.js +4 -3
  71. package/es/global_styling/mixins/_color.js +60 -32
  72. package/es/global_styling/mixins/_padding.js +60 -16
  73. package/es/services/color/eui_palettes.js +21 -13
  74. package/es/services/color/index.js +1 -1
  75. package/es/services/hooks/index.js +1 -0
  76. package/es/services/hooks/useDeepEqual.js +23 -0
  77. package/es/services/index.js +1 -1
  78. package/es/services/theme/style_memoization.js +1 -3
  79. package/eui.d.ts +2558 -2470
  80. package/i18ntokens.json +297 -279
  81. package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
  82. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  83. package/lib/components/breadcrumbs/breadcrumb.js +11 -331
  84. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  85. package/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  86. package/lib/components/breadcrumbs/types.js +5 -0
  87. package/lib/components/button/button_group/button_group.js +16 -2
  88. package/lib/components/button/button_group/button_group.styles.js +1 -1
  89. package/lib/components/button/button_group/button_group_button.js +59 -5
  90. package/lib/components/button/button_group/button_group_button.styles.js +45 -11
  91. package/lib/components/datagrid/body/cell/data_grid_cell.js +95 -57
  92. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  93. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  94. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  95. package/lib/components/datagrid/body/cell/index.js +2 -2
  96. package/lib/components/datagrid/body/data_grid_body.js +13 -0
  97. package/lib/components/datagrid/body/data_grid_body_custom.js +51 -35
  98. package/lib/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  99. package/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  100. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  101. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  102. package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  103. package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
  104. package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  105. package/lib/components/datagrid/controls/column_selector.js +126 -123
  106. package/lib/components/datagrid/controls/column_sorting.js +615 -110
  107. package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  108. package/lib/components/datagrid/controls/display_selector.js +109 -107
  109. package/lib/components/datagrid/data_grid.a11y.js +13 -12
  110. package/lib/components/datagrid/data_grid.js +43 -20
  111. package/lib/components/datagrid/utils/col_widths.js +12 -8
  112. package/lib/components/datagrid/utils/focus.js +10 -8
  113. package/lib/components/datagrid/utils/grid_height_width.js +29 -28
  114. package/lib/components/datagrid/utils/ref.js +1 -1
  115. package/lib/components/datagrid/utils/row_heights.js +1 -1
  116. package/lib/components/datagrid/utils/sorting.js +31 -29
  117. package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  118. package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
  119. package/lib/components/flex/flex_grid.js +23 -7
  120. package/lib/components/flex/flex_grid.styles.js +13 -6
  121. package/lib/components/flex/flex_group.js +10 -10
  122. package/lib/components/flex/flex_item.js +13 -13
  123. package/lib/components/flex/flex_item.styles.js +107 -122
  124. package/lib/components/flyout/flyout.js +16 -18
  125. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  126. package/lib/components/header/header_links/header_links.js +10 -2
  127. package/lib/components/icon/icon.js +3 -3
  128. package/lib/components/modal/confirm_modal.js +2 -1
  129. package/lib/components/modal/modal.js +12 -3
  130. package/lib/components/observer/resize_observer/resize_observer.js +15 -24
  131. package/lib/components/panel/panel.js +1 -2
  132. package/lib/components/resizable_container/resizable_button.js +1 -2
  133. package/lib/components/resizable_container/resizable_collapse_button.js +1 -2
  134. package/lib/components/resizable_container/resizable_container.js +1 -2
  135. package/lib/components/resizable_container/resizable_container.styles.js +11 -14
  136. package/lib/components/resizable_container/resizable_panel.js +3 -5
  137. package/lib/components/resizable_container/resizable_panel.styles.js +17 -28
  138. package/lib/components/selectable/selectable_list/selectable_list.js +26 -6
  139. package/lib/components/spacer/spacer.js +1 -2
  140. package/lib/components/toast/global_toast_list.js +68 -71
  141. package/lib/components/toast/toast.js +25 -40
  142. package/lib/components/toast/toast.styles.js +11 -25
  143. package/lib/components/tool_tip/icon_tip.js +4 -3
  144. package/lib/global_styling/mixins/_color.js +65 -40
  145. package/lib/global_styling/mixins/_padding.js +66 -25
  146. package/lib/services/color/eui_palettes.js +24 -14
  147. package/lib/services/color/index.js +14 -0
  148. package/lib/services/hooks/index.js +11 -0
  149. package/lib/services/hooks/useDeepEqual.js +30 -0
  150. package/lib/services/index.js +15 -1
  151. package/lib/services/theme/style_memoization.js +1 -3
  152. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
  153. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  154. package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -110
  155. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  156. package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
  157. package/optimize/es/components/breadcrumbs/types.js +1 -0
  158. package/optimize/es/components/button/button_group/button_group.js +2 -2
  159. package/optimize/es/components/button/button_group/button_group.styles.js +1 -1
  160. package/optimize/es/components/button/button_group/button_group_button.js +36 -4
  161. package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
  162. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +80 -55
  163. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  164. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  165. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  166. package/optimize/es/components/datagrid/body/cell/index.js +1 -1
  167. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +39 -36
  168. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +69 -49
  169. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  170. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  171. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
  172. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  173. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
  174. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  175. package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
  176. package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
  177. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  178. package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
  179. package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
  180. package/optimize/es/components/datagrid/data_grid.js +45 -22
  181. package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
  182. package/optimize/es/components/datagrid/utils/focus.js +10 -8
  183. package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
  184. package/optimize/es/components/datagrid/utils/ref.js +1 -1
  185. package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
  186. package/optimize/es/components/datagrid/utils/sorting.js +29 -27
  187. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
  188. package/optimize/es/components/flex/flex_grid.js +19 -8
  189. package/optimize/es/components/flex/flex_grid.styles.js +13 -6
  190. package/optimize/es/components/flex/flex_group.js +9 -10
  191. package/optimize/es/components/flex/flex_item.js +9 -11
  192. package/optimize/es/components/flex/flex_item.styles.js +107 -122
  193. package/optimize/es/components/flyout/flyout.js +16 -18
  194. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  195. package/optimize/es/components/header/header_links/header_links.js +3 -2
  196. package/optimize/es/components/icon/icon.js +3 -3
  197. package/optimize/es/components/modal/confirm_modal.js +2 -1
  198. package/optimize/es/components/modal/modal.js +6 -2
  199. package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
  200. package/optimize/es/components/panel/panel.js +2 -3
  201. package/optimize/es/components/resizable_container/resizable_button.js +2 -3
  202. package/optimize/es/components/resizable_container/resizable_collapse_button.js +2 -3
  203. package/optimize/es/components/resizable_container/resizable_container.js +1 -2
  204. package/optimize/es/components/resizable_container/resizable_container.styles.js +11 -14
  205. package/optimize/es/components/resizable_container/resizable_panel.js +6 -8
  206. package/optimize/es/components/resizable_container/resizable_panel.styles.js +18 -26
  207. package/optimize/es/components/selectable/selectable_list/selectable_list.js +26 -6
  208. package/optimize/es/components/spacer/spacer.js +2 -3
  209. package/optimize/es/components/toast/global_toast_list.js +70 -73
  210. package/optimize/es/components/toast/toast.js +27 -42
  211. package/optimize/es/components/toast/toast.styles.js +2 -17
  212. package/optimize/es/components/tool_tip/icon_tip.js +4 -3
  213. package/optimize/es/global_styling/mixins/_color.js +57 -32
  214. package/optimize/es/global_styling/mixins/_padding.js +52 -16
  215. package/optimize/es/services/color/eui_palettes.js +21 -13
  216. package/optimize/es/services/color/index.js +1 -1
  217. package/optimize/es/services/hooks/index.js +1 -0
  218. package/optimize/es/services/hooks/useDeepEqual.js +23 -0
  219. package/optimize/es/services/index.js +1 -1
  220. package/optimize/es/services/theme/style_memoization.js +1 -3
  221. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
  222. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  223. package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -113
  224. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  225. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  226. package/optimize/lib/components/breadcrumbs/types.js +5 -0
  227. package/optimize/lib/components/button/button_group/button_group.js +2 -2
  228. package/optimize/lib/components/button/button_group/button_group.styles.js +1 -1
  229. package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
  230. package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
  231. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +78 -54
  232. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  233. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  234. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  235. package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
  236. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +38 -35
  237. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +70 -50
  238. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  239. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  240. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  241. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  242. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
  243. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  244. package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
  245. package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
  246. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  247. package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
  248. package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
  249. package/optimize/lib/components/datagrid/data_grid.js +43 -20
  250. package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
  251. package/optimize/lib/components/datagrid/utils/focus.js +10 -8
  252. package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
  253. package/optimize/lib/components/datagrid/utils/ref.js +1 -1
  254. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  255. package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
  256. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
  257. package/optimize/lib/components/flex/flex_grid.js +21 -7
  258. package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
  259. package/optimize/lib/components/flex/flex_group.js +9 -9
  260. package/optimize/lib/components/flex/flex_item.js +13 -13
  261. package/optimize/lib/components/flex/flex_item.styles.js +107 -122
  262. package/optimize/lib/components/flyout/flyout.js +16 -18
  263. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  264. package/optimize/lib/components/header/header_links/header_links.js +3 -2
  265. package/optimize/lib/components/icon/icon.js +3 -3
  266. package/optimize/lib/components/modal/confirm_modal.js +2 -1
  267. package/optimize/lib/components/modal/modal.js +6 -2
  268. package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
  269. package/optimize/lib/components/panel/panel.js +1 -2
  270. package/optimize/lib/components/resizable_container/resizable_button.js +1 -2
  271. package/optimize/lib/components/resizable_container/resizable_collapse_button.js +1 -2
  272. package/optimize/lib/components/resizable_container/resizable_container.js +1 -2
  273. package/optimize/lib/components/resizable_container/resizable_container.styles.js +11 -14
  274. package/optimize/lib/components/resizable_container/resizable_panel.js +3 -5
  275. package/optimize/lib/components/resizable_container/resizable_panel.styles.js +17 -26
  276. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +26 -6
  277. package/optimize/lib/components/spacer/spacer.js +1 -2
  278. package/optimize/lib/components/toast/global_toast_list.js +68 -71
  279. package/optimize/lib/components/toast/toast.js +25 -40
  280. package/optimize/lib/components/toast/toast.styles.js +11 -25
  281. package/optimize/lib/components/tool_tip/icon_tip.js +4 -3
  282. package/optimize/lib/global_styling/mixins/_color.js +63 -40
  283. package/optimize/lib/global_styling/mixins/_padding.js +59 -25
  284. package/optimize/lib/services/color/eui_palettes.js +24 -14
  285. package/optimize/lib/services/color/index.js +14 -0
  286. package/optimize/lib/services/hooks/index.js +11 -0
  287. package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
  288. package/optimize/lib/services/index.js +15 -1
  289. package/optimize/lib/services/theme/style_memoization.js +1 -3
  290. package/package.json +8 -11
  291. package/src/components/form/text_area/_text_area.scss +5 -0
  292. package/src/components/selectable/selectable_list/_selectable_list.scss +2 -0
  293. package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
  294. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  295. package/test-env/components/breadcrumbs/breadcrumb.js +11 -326
  296. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
  297. package/test-env/components/breadcrumbs/breadcrumbs.js +3 -3
  298. package/test-env/components/breadcrumbs/types.js +5 -0
  299. package/test-env/components/button/button_group/button_group.js +16 -2
  300. package/test-env/components/button/button_group/button_group.styles.js +1 -1
  301. package/test-env/components/button/button_group/button_group_button.js +56 -5
  302. package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
  303. package/test-env/components/datagrid/body/cell/data_grid_cell.js +95 -57
  304. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  305. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  306. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  307. package/test-env/components/datagrid/body/cell/index.js +2 -2
  308. package/test-env/components/datagrid/body/data_grid_body.js +13 -0
  309. package/test-env/components/datagrid/body/data_grid_body_custom.js +51 -35
  310. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  311. package/test-env/components/datagrid/body/data_grid_row_manager.js +5 -3
  312. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  313. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  314. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  315. package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
  316. package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
  317. package/test-env/components/datagrid/controls/column_selector.js +126 -123
  318. package/test-env/components/datagrid/controls/column_sorting.js +607 -106
  319. package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
  320. package/test-env/components/datagrid/controls/display_selector.js +109 -107
  321. package/test-env/components/datagrid/data_grid.a11y.js +13 -12
  322. package/test-env/components/datagrid/data_grid.js +43 -20
  323. package/test-env/components/datagrid/utils/col_widths.js +9 -5
  324. package/test-env/components/datagrid/utils/focus.js +10 -8
  325. package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
  326. package/test-env/components/datagrid/utils/ref.js +1 -1
  327. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  328. package/test-env/components/datagrid/utils/sorting.js +31 -29
  329. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  330. package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
  331. package/test-env/components/flex/flex_grid.js +21 -7
  332. package/test-env/components/flex/flex_grid.styles.js +13 -6
  333. package/test-env/components/flex/flex_group.js +10 -10
  334. package/test-env/components/flex/flex_item.js +13 -13
  335. package/test-env/components/flex/flex_item.styles.js +107 -122
  336. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  337. package/test-env/components/header/header_links/header_links.js +10 -2
  338. package/test-env/components/modal/confirm_modal.js +2 -1
  339. package/test-env/components/modal/modal.js +12 -3
  340. package/test-env/components/panel/panel.js +1 -2
  341. package/test-env/components/resizable_container/resizable_button.js +1 -2
  342. package/test-env/components/resizable_container/resizable_collapse_button.js +1 -2
  343. package/test-env/components/resizable_container/resizable_container.js +1 -2
  344. package/test-env/components/resizable_container/resizable_container.styles.js +11 -14
  345. package/test-env/components/resizable_container/resizable_panel.js +3 -5
  346. package/test-env/components/resizable_container/resizable_panel.styles.js +17 -26
  347. package/test-env/components/selectable/selectable_list/selectable_list.js +26 -6
  348. package/test-env/components/spacer/spacer.js +1 -2
  349. package/test-env/components/toast/global_toast_list.js +68 -71
  350. package/test-env/components/toast/toast.js +25 -40
  351. package/test-env/components/toast/toast.styles.js +11 -25
  352. package/test-env/components/tool_tip/icon_tip.js +4 -3
  353. package/test-env/global_styling/mixins/_color.js +63 -40
  354. package/test-env/global_styling/mixins/_padding.js +59 -25
  355. package/test-env/services/color/eui_palettes.js +24 -14
  356. package/test-env/services/color/index.js +14 -0
  357. package/test-env/services/hooks/index.js +11 -0
  358. package/test-env/services/hooks/useDeepEqual.js +30 -0
  359. package/test-env/services/index.js +15 -1
  360. package/test-env/services/theme/style_memoization.js +1 -3
  361. package/src/themes/charts/theme.scss +0 -5
@@ -4,19 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useEuiBorderColorCSS = exports.useEuiBackgroundColorCSS = exports.useEuiBackgroundColor = exports.euiBorderColor = exports.euiBackgroundColor = exports.BACKGROUND_COLORS = void 0;
7
- var _react = require("react");
8
- var _react2 = require("@emotion/react");
7
+ var _react = require("@emotion/react");
9
8
  var _services = require("../../services");
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
-
9
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /*
15
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
16
+ * or more contributor license agreements. Licensed under the Elastic License
17
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
18
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
19
+ * Side Public License, v 1.
20
+ */
18
21
  var BACKGROUND_COLORS = ['transparent', 'plain', 'subdued', 'accent', 'primary', 'success', 'warning', 'danger'];
19
22
  exports.BACKGROUND_COLORS = BACKGROUND_COLORS;
23
+ /**
24
+ * @returns A single background color with optional alpha transparency
25
+ */
20
26
  var euiBackgroundColor = function euiBackgroundColor(_ref, color) {
21
27
  var euiTheme = _ref.euiTheme,
22
28
  colorMode = _ref.colorMode;
@@ -45,31 +51,52 @@ var euiBackgroundColor = function euiBackgroundColor(_ref, color) {
45
51
  }
46
52
  }
47
53
  };
54
+
55
+ /**
56
+ * @returns An object map of color keys to color values, categorized by
57
+ * opaque (default) vs transparency (hover/focus states) methods.
58
+ * e.g. {
59
+ * opaque: { danger: '#000', success: '#fff', ... },
60
+ * transparent: { danger: 'rgba(0,0,0,0.1)', success: 'rgba(255,255,255,0.1)', ... },
61
+ * }
62
+ */
48
63
  exports.euiBackgroundColor = euiBackgroundColor;
64
+ var _euiBackgroundColorMap = function _euiBackgroundColorMap(euiThemeContext) {
65
+ return {
66
+ opaque: BACKGROUND_COLORS.reduce(function (acc, color) {
67
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, color, euiBackgroundColor(euiThemeContext, color)));
68
+ }, {}),
69
+ transparent: BACKGROUND_COLORS.reduce(function (acc, color) {
70
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, color, euiBackgroundColor(euiThemeContext, color, {
71
+ method: 'transparent'
72
+ })));
73
+ }, {})
74
+ };
75
+ };
49
76
  var useEuiBackgroundColor = function useEuiBackgroundColor(color) {
50
77
  var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
51
78
  method = _ref3.method;
52
- var euiTheme = (0, _services.useEuiTheme)();
53
- return euiBackgroundColor(euiTheme, color, {
54
- method: method
55
- });
79
+ var backgroundColorMap = (0, _services.useEuiMemoizedStyles)(_euiBackgroundColorMap);
80
+ return backgroundColorMap[method || 'opaque'][color];
56
81
  };
82
+
83
+ /**
84
+ * @returns An object map of color keys to CSS,
85
+ * e.g. { danger: css``, success: css``, ... }
86
+ */
57
87
  exports.useEuiBackgroundColor = useEuiBackgroundColor;
88
+ var _euiBackgroundColors = function _euiBackgroundColors(euiThemeContext) {
89
+ return BACKGROUND_COLORS.reduce(function (acc, color) {
90
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, color, /*#__PURE__*/(0, _react.css)("background-color:", euiBackgroundColor(euiThemeContext, color), ";label:", color, ";")));
91
+ }, {});
92
+ };
58
93
  var useEuiBackgroundColorCSS = function useEuiBackgroundColorCSS() {
59
- var euiThemeContext = (0, _services.useEuiTheme)();
60
- return (0, _react.useMemo)(function () {
61
- return {
62
- transparent: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'transparent'), ";;label:transparent;"),
63
- plain: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'plain'), ";;label:plain;"),
64
- subdued: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'subdued'), ";;label:subdued;"),
65
- accent: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'accent'), ";;label:accent;"),
66
- primary: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'primary'), ";;label:primary;"),
67
- success: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'success'), ";;label:success;"),
68
- warning: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'warning'), ";;label:warning;"),
69
- danger: /*#__PURE__*/(0, _react2.css)("background-color:", euiBackgroundColor(euiThemeContext, 'danger'), ";;label:danger;")
70
- };
71
- }, [euiThemeContext]);
94
+ return (0, _services.useEuiMemoizedStyles)(_euiBackgroundColors);
72
95
  };
96
+
97
+ /**
98
+ * Border colors
99
+ */
73
100
  exports.useEuiBackgroundColorCSS = useEuiBackgroundColorCSS;
74
101
  var euiBorderColor = function euiBorderColor(_ref4, color) {
75
102
  var euiTheme = _ref4.euiTheme,
@@ -85,20 +112,18 @@ var euiBorderColor = function euiBorderColor(_ref4, color) {
85
112
  return (0, _services.tintOrShade)(euiTheme.colors[color], 0.6, colorMode);
86
113
  }
87
114
  };
115
+
116
+ /**
117
+ * @returns An object map of color keys to CSS,
118
+ * e.g. { danger: css``, success: css``, ... }
119
+ */
88
120
  exports.euiBorderColor = euiBorderColor;
121
+ var _euiBorderColors = function _euiBorderColors(euiThemeContext) {
122
+ return BACKGROUND_COLORS.reduce(function (acc, color) {
123
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, color, /*#__PURE__*/(0, _react.css)("border-color:", euiBorderColor(euiThemeContext, color), ";label:", color, ";")));
124
+ }, {});
125
+ };
89
126
  var useEuiBorderColorCSS = function useEuiBorderColorCSS() {
90
- var euiThemeContext = (0, _services.useEuiTheme)();
91
- return (0, _react.useMemo)(function () {
92
- return {
93
- transparent: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'transparent'), ";;label:transparent;"),
94
- plain: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'plain'), ";;label:plain;"),
95
- subdued: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'subdued'), ";;label:subdued;"),
96
- accent: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'accent'), ";;label:accent;"),
97
- primary: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'primary'), ";;label:primary;"),
98
- success: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'success'), ";;label:success;"),
99
- warning: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'warning'), ";;label:warning;"),
100
- danger: /*#__PURE__*/(0, _react2.css)("border-color:", euiBorderColor(euiThemeContext, 'danger'), ";;label:danger;")
101
- };
102
- }, [euiThemeContext]);
127
+ return (0, _services.useEuiMemoizedStyles)(_euiBorderColors);
103
128
  };
104
129
  exports.useEuiBorderColorCSS = useEuiBorderColorCSS;
@@ -3,20 +3,33 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useEuiPaddingSize = exports.useEuiPaddingCSS = exports.euiPaddingSizeCSS = exports.euiPaddingSize = exports.PADDING_SIZES = void 0;
6
+ exports.useEuiPaddingSize = exports.useEuiPaddingCSS = exports.euiPaddingSize = exports.PADDING_SIZES = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _theme = require("../../services/theme");
9
- var _functions = require("../functions");
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
-
9
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ 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."); }
12
+ 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); }
13
+ 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; }
14
+ 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; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /*
21
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
22
+ * or more contributor license agreements. Licensed under the Elastic License
23
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
24
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
25
+ * Side Public License, v 1.
26
+ */
18
27
  var PADDING_SIZES = ['none', 'xs', 's', 'm', 'l', 'xl'];
19
28
  exports.PADDING_SIZES = PADDING_SIZES;
29
+ /**
30
+ * Get a single padding size
31
+ */
32
+
20
33
  var euiPaddingSize = function euiPaddingSize(_ref, size) {
21
34
  var euiTheme = _ref.euiTheme;
22
35
  switch (size) {
@@ -28,26 +41,54 @@ var euiPaddingSize = function euiPaddingSize(_ref, size) {
28
41
  return euiTheme.size[size];
29
42
  }
30
43
  };
44
+
45
+ /**
46
+ * @returns An object map of padding size keys to padding values,
47
+ * e.g. { s: '8px', m: '16px', ... }
48
+ */
31
49
  exports.euiPaddingSize = euiPaddingSize;
32
- var euiPaddingSizeCSS = function euiPaddingSizeCSS(euiThemeContext, side) {
33
- var property = side ? "padding-".concat(_functions.logicalSide[side]) : 'padding';
34
- return {
35
- none: null,
36
- xs: /*#__PURE__*/(0, _react.css)(property, ":", euiPaddingSize(euiThemeContext, 'xs'), ";;label:xs;"),
37
- s: /*#__PURE__*/(0, _react.css)(property, ":", euiPaddingSize(euiThemeContext, 's'), ";;label:s;"),
38
- m: /*#__PURE__*/(0, _react.css)(property, ":", euiPaddingSize(euiThemeContext, 'm'), ";;label:m;"),
39
- l: /*#__PURE__*/(0, _react.css)(property, ":", euiPaddingSize(euiThemeContext, 'l'), ";;label:l;"),
40
- xl: /*#__PURE__*/(0, _react.css)(property, ":", euiPaddingSize(euiThemeContext, 'xl'), ";;label:xl;")
41
- };
50
+ var _getEuiPaddingSize = function _getEuiPaddingSize(euiThemeContext) {
51
+ return PADDING_SIZES.reduce(function (stylesAcc, size) {
52
+ return _objectSpread(_objectSpread({}, stylesAcc), {}, _defineProperty({}, size, size === 'none' ? null : euiPaddingSize(euiThemeContext, size)));
53
+ }, {});
42
54
  };
43
- exports.euiPaddingSizeCSS = euiPaddingSizeCSS;
44
55
  var useEuiPaddingSize = function useEuiPaddingSize(size) {
45
- var euiTheme = (0, _theme.useEuiTheme)();
46
- return euiPaddingSize(euiTheme, size);
56
+ var sizes = (0, _theme.useEuiMemoizedStyles)(_getEuiPaddingSize);
57
+ return sizes[size];
47
58
  };
59
+
60
+ /**
61
+ * @returns An object map of all padding sizes for all padding sides properties
62
+ * e.g., {
63
+ * padding: { s: css`padding-size: 8px`, ... }
64
+ * left: { s: css`padding-inline-start: 8px`, ... }
65
+ * }
66
+ */
48
67
  exports.useEuiPaddingSize = useEuiPaddingSize;
68
+ var _euiPaddingSidesAndSizes = function _euiPaddingSidesAndSizes(euiThemeContext) {
69
+ var sizesMap = _getEuiPaddingSize(euiThemeContext);
70
+ // The `_` prefix stops Emotion from applying the function name as a label
71
+ var _generateSizeStyles = function _generateSizeStyles(cssProperty) {
72
+ return Object.fromEntries(Object.entries(sizesMap).map(function (_ref2) {
73
+ var _ref3 = _slicedToArray(_ref2, 2),
74
+ sizeKey = _ref3[0],
75
+ sizeValue = _ref3[1];
76
+ return [sizeKey, sizeValue === null ? null : /*#__PURE__*/(0, _react.css)(cssProperty, ":", sizeValue, ";label:", sizeKey, ";")];
77
+ }));
78
+ };
79
+ var sidesMap = {
80
+ padding: _generateSizeStyles('padding'),
81
+ vertical: _generateSizeStyles('padding-block'),
82
+ top: _generateSizeStyles('padding-block-start'),
83
+ bottom: _generateSizeStyles('padding-block-end'),
84
+ horizontal: _generateSizeStyles('padding-inline'),
85
+ left: _generateSizeStyles('padding-inline-start'),
86
+ right: _generateSizeStyles('padding-inline-end')
87
+ };
88
+ return sidesMap;
89
+ };
49
90
  var useEuiPaddingCSS = function useEuiPaddingCSS(side) {
50
- var euiTheme = (0, _theme.useEuiTheme)();
51
- return euiPaddingSizeCSS(euiTheme, side);
91
+ var memoizedSideMap = (0, _theme.useEuiMemoizedStyles)(_euiPaddingSidesAndSizes);
92
+ return memoizedSideMap[side || 'padding'];
52
93
  };
53
94
  exports.useEuiPaddingCSS = useEuiPaddingCSS;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiPaletteWarm = exports.euiPalettePositive = exports.euiPaletteNegative = exports.euiPaletteGray = exports.euiPaletteForTemperature = exports.euiPaletteForStatus = exports.euiPaletteForLightBackground = exports.euiPaletteForDarkBackground = exports.euiPaletteCool = exports.euiPaletteComplementary = exports.euiPaletteColorBlindBehindText = exports.euiPaletteColorBlind = void 0;
6
+ exports.euiPaletteWarm = exports.euiPaletteRed = exports.euiPalettePositive = exports.euiPaletteNegative = exports.euiPaletteGreen = exports.euiPaletteGray = exports.euiPaletteForTemperature = exports.euiPaletteForStatus = exports.euiPaletteForLightBackground = exports.euiPaletteForDarkBackground = exports.euiPaletteCool = exports.euiPaletteComplementary = exports.euiPaletteColorBlindBehindText = exports.euiPaletteColorBlind = void 0;
7
7
  var _chromaJs = _interopRequireDefault(require("chroma-js"));
8
8
  var _color_palette = require("./color_palette");
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -132,19 +132,19 @@ var euiPaletteForDarkBackground = function euiPaletteForDarkBackground() {
132
132
  return ['#1BA9F5', '#7DE2D1', '#F990C0', '#F66', '#FFCE7A'];
133
133
  };
134
134
  exports.euiPaletteForDarkBackground = euiPaletteForDarkBackground;
135
- var positiveColor = '#209280';
136
- var negativeColor = '#CC5642';
137
- var lightNegativeColor = euiPaletteColorBlind()[9];
135
+ var greenColor = '#209280';
136
+ var redColor = '#CC5642';
137
+ var lightRedColor = euiPaletteColorBlind()[9];
138
138
  var coolArray = [euiPaletteColorBlind()[1], '#6092C0'];
139
139
  var warmArray = [euiPaletteColorBlind()[7], euiPaletteColorBlind()[9]];
140
140
  var euiPaletteForStatus = function euiPaletteForStatus(steps) {
141
141
  if (steps === 1) {
142
- return [positiveColor];
142
+ return [greenColor];
143
143
  }
144
144
  if (steps <= 3) {
145
- return euiPalette([positiveColor, euiPaletteColorBlind()[5], negativeColor], steps, true);
145
+ return euiPalette([greenColor, euiPaletteColorBlind()[5], redColor], steps, true);
146
146
  }
147
- return euiPalette([positiveColor, euiPaletteColorBlind()[0], euiPaletteColorBlind()[5], lightNegativeColor, negativeColor], steps, true);
147
+ return euiPalette([greenColor, euiPaletteColorBlind()[0], euiPaletteColorBlind()[5], lightRedColor, redColor], steps, true);
148
148
  };
149
149
  exports.euiPaletteForStatus = euiPaletteForStatus;
150
150
  var euiPaletteForTemperature = function euiPaletteForTemperature(steps) {
@@ -153,7 +153,7 @@ var euiPaletteForTemperature = function euiPaletteForTemperature(steps) {
153
153
  if (steps === 1) {
154
154
  return [cools[0]];
155
155
  } else if (steps <= 3) {
156
- return euiPalette([cools[0], lightNegativeColor], steps, true);
156
+ return euiPalette([cools[0], lightRedColor], steps, true);
157
157
  }
158
158
  return euiPalette([].concat(_toConsumableArray(cools), _toConsumableArray(warms)), steps, true);
159
159
  };
@@ -165,19 +165,29 @@ var euiPaletteComplementary = function euiPaletteComplementary(steps) {
165
165
  return euiPalette([euiPaletteColorBlind()[1], euiPaletteColorBlind()[7]], steps, true);
166
166
  };
167
167
  exports.euiPaletteComplementary = euiPaletteComplementary;
168
- var euiPaletteNegative = function euiPaletteNegative(steps) {
168
+ var euiPaletteRed = function euiPaletteRed(steps) {
169
169
  if (steps === 1) {
170
- return [lightNegativeColor];
170
+ return [lightRedColor];
171
171
  }
172
- return euiPalette(['white', negativeColor], steps);
172
+ return euiPalette(['white', redColor], steps);
173
173
  };
174
+ /**
175
+ * @deprecated - use `euiPaletteRed` instead
176
+ */
177
+ exports.euiPaletteRed = euiPaletteRed;
178
+ var euiPaletteNegative = euiPaletteRed;
174
179
  exports.euiPaletteNegative = euiPaletteNegative;
175
- var euiPalettePositive = function euiPalettePositive(steps) {
180
+ var euiPaletteGreen = function euiPaletteGreen(steps) {
176
181
  if (steps === 1) {
177
182
  return [euiPaletteColorBlind()[0]];
178
183
  }
179
- return euiPalette(['white', positiveColor], steps);
184
+ return euiPalette(['white', greenColor], steps);
180
185
  };
186
+ /**
187
+ * @deprecated - use `euiPaletteGreen` instead
188
+ */
189
+ exports.euiPaletteGreen = euiPaletteGreen;
190
+ var euiPalettePositive = euiPaletteGreen;
181
191
  exports.euiPalettePositive = euiPalettePositive;
182
192
  var euiPaletteCool = function euiPaletteCool(steps) {
183
193
  if (steps === 1) {
@@ -188,7 +198,7 @@ var euiPaletteCool = function euiPaletteCool(steps) {
188
198
  exports.euiPaletteCool = euiPaletteCool;
189
199
  var euiPaletteWarm = function euiPaletteWarm(steps) {
190
200
  if (steps === 1) {
191
- return [lightNegativeColor];
201
+ return [lightRedColor];
192
202
  }
193
203
  return euiPalette(['#FBFBDC'].concat(warmArray), steps);
194
204
  };
@@ -24,6 +24,8 @@ var _exportNames = {
24
24
  euiPaletteForStatus: true,
25
25
  euiPaletteForTemperature: true,
26
26
  euiPaletteComplementary: true,
27
+ euiPaletteRed: true,
28
+ euiPaletteGreen: true,
27
29
  euiPaletteNegative: true,
28
30
  euiPalettePositive: true,
29
31
  euiPaletteCool: true,
@@ -115,6 +117,12 @@ Object.defineProperty(exports, "euiPaletteGray", {
115
117
  return _eui_palettes.euiPaletteGray;
116
118
  }
117
119
  });
120
+ Object.defineProperty(exports, "euiPaletteGreen", {
121
+ enumerable: true,
122
+ get: function get() {
123
+ return _eui_palettes.euiPaletteGreen;
124
+ }
125
+ });
118
126
  Object.defineProperty(exports, "euiPaletteNegative", {
119
127
  enumerable: true,
120
128
  get: function get() {
@@ -127,6 +135,12 @@ Object.defineProperty(exports, "euiPalettePositive", {
127
135
  return _eui_palettes.euiPalettePositive;
128
136
  }
129
137
  });
138
+ Object.defineProperty(exports, "euiPaletteRed", {
139
+ enumerable: true,
140
+ get: function get() {
141
+ return _eui_palettes.euiPaletteRed;
142
+ }
143
+ });
130
144
  Object.defineProperty(exports, "euiPaletteWarm", {
131
145
  enumerable: true,
132
146
  get: function get() {
@@ -47,6 +47,17 @@ Object.keys(_useLatest).forEach(function (key) {
47
47
  }
48
48
  });
49
49
  });
50
+ var _useDeepEqual = require("./useDeepEqual");
51
+ Object.keys(_useDeepEqual).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _useDeepEqual[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _useDeepEqual[key];
58
+ }
59
+ });
60
+ });
50
61
  var _useMouseMove = require("./useMouseMove");
51
62
  Object.keys(_useMouseMove).forEach(function (key) {
52
63
  if (key === "default" || key === "__esModule") return;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useDeepEqual = void 0;
7
+ var _react = require("react");
8
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
+ * This hook is mostly a performance concern for third-party objs/arrays that EUI
20
+ * has no control over and may not be correctly memoized (i.e., will create a new
21
+ * reference on every rerender unless passed through this hook).
22
+ */
23
+ var useDeepEqual = function useDeepEqual(object) {
24
+ var ref = (0, _react.useRef)(object);
25
+ if (!(0, _isEqual.default)(object, ref.current)) {
26
+ ref.current = object;
27
+ }
28
+ return ref.current;
29
+ };
30
+ exports.useDeepEqual = useDeepEqual;
@@ -34,8 +34,10 @@ var _exportNames = {
34
34
  euiPaletteForStatus: true,
35
35
  euiPaletteForTemperature: true,
36
36
  euiPaletteGray: true,
37
- euiPaletteNegative: true,
37
+ euiPaletteRed: true,
38
+ euiPaletteGreen: true,
38
39
  euiPalettePositive: true,
40
+ euiPaletteNegative: true,
39
41
  euiPaletteWarm: true,
40
42
  getSteppedGradient: true,
41
43
  hexToHsv: true,
@@ -285,6 +287,12 @@ Object.defineProperty(exports, "euiPaletteGray", {
285
287
  return _color.euiPaletteGray;
286
288
  }
287
289
  });
290
+ Object.defineProperty(exports, "euiPaletteGreen", {
291
+ enumerable: true,
292
+ get: function get() {
293
+ return _color.euiPaletteGreen;
294
+ }
295
+ });
288
296
  Object.defineProperty(exports, "euiPaletteNegative", {
289
297
  enumerable: true,
290
298
  get: function get() {
@@ -297,6 +305,12 @@ Object.defineProperty(exports, "euiPalettePositive", {
297
305
  return _color.euiPalettePositive;
298
306
  }
299
307
  });
308
+ Object.defineProperty(exports, "euiPaletteRed", {
309
+ enumerable: true,
310
+ get: function get() {
311
+ return _color.euiPaletteRed;
312
+ }
313
+ });
300
314
  Object.defineProperty(exports, "euiPaletteWarm", {
301
315
  enumerable: true,
302
316
  get: function get() {
@@ -23,9 +23,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /*
23
23
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
24
24
  * in compliance with, at your election, the Elastic License 2.0 or the Server
25
25
  * Side Public License, v 1.
26
- */ // NOTE: We're specifically using a WeakMap instead of a Map in order to allow
27
- // unmounted components to have their styles garbage-collected by the browser
28
- // @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap
26
+ */ // Typically an object of serialized css`` styles, but can have any amount of nesting, so it's not worth it to try and strictly type this
29
27
  var EuiThemeMemoizedStylesContext = /*#__PURE__*/(0, _react.createContext)(new WeakMap());
30
28
  exports.EuiThemeMemoizedStylesContext = EuiThemeMemoizedStylesContext;
31
29
  var EuiThemeMemoizedStylesProvider = function EuiThemeMemoizedStylesProvider(_ref) {
@@ -0,0 +1,153 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"],
6
+ _excluded2 = ["css"],
7
+ _excluded3 = ["popoverContent", "popoverProps", "color", "type", "title", "aria-current", "className", "isLastBreadcrumb", "breadcrumbCss", "truncationCss", "children"];
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ import React, { useState, useCallback, forwardRef } from 'react';
17
+ import classNames from 'classnames';
18
+ import { useEuiMemoizedStyles } from '../../services';
19
+ import { EuiInnerText } from '../inner_text';
20
+ import { EuiTextColor } from '../text';
21
+ import { EuiLink } from '../link';
22
+ import { EuiPopover } from '../popover';
23
+ import { EuiIcon } from '../icon';
24
+ import { useEuiI18n } from '../i18n';
25
+ import { euiBreadcrumbContentStyles, euiBreadcrumbPopoverStyles } from './_breadcrumb_content.styles';
26
+ import { jsx as ___EmotionJSX } from "@emotion/react";
27
+ export var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref) {
28
+ var text = _ref.text,
29
+ truncate = _ref.truncate,
30
+ type = _ref.type,
31
+ href = _ref.href,
32
+ rel = _ref.rel,
33
+ onClick = _ref.onClick,
34
+ popoverContent = _ref.popoverContent,
35
+ popoverProps = _ref.popoverProps,
36
+ className = _ref.className,
37
+ color = _ref.color,
38
+ isFirstBreadcrumb = _ref.isFirstBreadcrumb,
39
+ isLastBreadcrumb = _ref.isLastBreadcrumb,
40
+ isOnlyBreadcrumb = _ref.isOnlyBreadcrumb,
41
+ highlightLastBreadcrumb = _ref.highlightLastBreadcrumb,
42
+ truncateLastBreadcrumb = _ref.truncateLastBreadcrumb,
43
+ rest = _objectWithoutProperties(_ref, _excluded);
44
+ var classes = classNames('euiBreadcrumb__content', className);
45
+ var styles = useEuiMemoizedStyles(euiBreadcrumbContentStyles);
46
+ var cssStyles = [styles.euiBreadcrumb__content, styles[type]];
47
+ if (type === 'application') {
48
+ if (isOnlyBreadcrumb) {
49
+ cssStyles.push(styles.applicationStyles.onlyChild);
50
+ } else if (isFirstBreadcrumb) {
51
+ cssStyles.push(styles.applicationStyles.firstChild);
52
+ } else if (isLastBreadcrumb) {
53
+ cssStyles.push(styles.applicationStyles.lastChild);
54
+ }
55
+ }
56
+ var truncationStyles = [truncate && !truncateLastBreadcrumb && styles.isTruncated, truncateLastBreadcrumb && styles.isTruncatedLast];
57
+ var isBreadcrumbWithPopover = !!popoverContent;
58
+ var isInteractiveBreadcrumb = href || onClick;
59
+ var linkColor = color || (highlightLastBreadcrumb ? 'text' : 'subdued');
60
+ var plainTextColor = highlightLastBreadcrumb ? 'default' : 'subdued'; // Does not inherit `color` prop
61
+ var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
62
+ return ___EmotionJSX(EuiInnerText, null, function (ref, innerText) {
63
+ var title = innerText === '' ? undefined : innerText;
64
+ var baseProps = {
65
+ ref: ref,
66
+ title: title,
67
+ 'aria-current': ariaCurrent,
68
+ className: classes,
69
+ css: [].concat(cssStyles, truncationStyles)
70
+ };
71
+ if (isBreadcrumbWithPopover) {
72
+ var _ = baseProps.css,
73
+ popoverButtonProps = _objectWithoutProperties(baseProps, _excluded2);
74
+ return ___EmotionJSX(EuiBreadcrumbPopover, _extends({}, popoverButtonProps, {
75
+ breadcrumbCss: cssStyles,
76
+ truncationCss: truncationStyles,
77
+ isLastBreadcrumb: isLastBreadcrumb,
78
+ type: type,
79
+ color: linkColor,
80
+ popoverContent: popoverContent,
81
+ popoverProps: popoverProps
82
+ }, rest), text);
83
+ } else if (isInteractiveBreadcrumb) {
84
+ return ___EmotionJSX(EuiLink, _extends({}, baseProps, {
85
+ color: linkColor,
86
+ onClick: onClick,
87
+ href: href,
88
+ rel: rel
89
+ }, rest), text);
90
+ } else {
91
+ return ___EmotionJSX(EuiTextColor, {
92
+ color: plainTextColor,
93
+ cloneElement: true
94
+ }, ___EmotionJSX("span", _extends({}, baseProps, rest), text));
95
+ }
96
+ });
97
+ };
98
+ var EuiBreadcrumbPopover = /*#__PURE__*/forwardRef(function (_ref2, ref) {
99
+ var popoverContent = _ref2.popoverContent,
100
+ popoverProps = _ref2.popoverProps,
101
+ color = _ref2.color,
102
+ type = _ref2.type,
103
+ title = _ref2.title,
104
+ ariaCurrent = _ref2['aria-current'],
105
+ className = _ref2.className,
106
+ isLastBreadcrumb = _ref2.isLastBreadcrumb,
107
+ breadcrumbCss = _ref2.breadcrumbCss,
108
+ truncationCss = _ref2.truncationCss,
109
+ children = _ref2.children,
110
+ rest = _objectWithoutProperties(_ref2, _excluded3);
111
+ var _useState = useState(false),
112
+ _useState2 = _slicedToArray(_useState, 2),
113
+ isPopoverOpen = _useState2[0],
114
+ setIsPopoverOpen = _useState2[1];
115
+ var closePopover = useCallback(function () {
116
+ return setIsPopoverOpen(false);
117
+ }, []);
118
+ var togglePopover = useCallback(function () {
119
+ return setIsPopoverOpen(function (isOpen) {
120
+ return !isOpen;
121
+ });
122
+ }, []);
123
+ var popoverAriaLabel = useEuiI18n(
124
+ // This component was moved into another file for organization/dev readability,
125
+ // but we're keeping the i18n token the same as before for consumer consistency
126
+ // eslint-disable-next-line local/i18n
127
+ 'euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
128
+ var styles = useEuiMemoizedStyles(euiBreadcrumbPopoverStyles);
129
+ var wrapperStyles = [styles.popoverWrapper.euiBreadcrumb__popoverWrapper, !isLastBreadcrumb && styles.popoverWrapper[type]];
130
+ var buttonStyles = [styles.euiBreadcrumb__popoverButton].concat(_toConsumableArray(breadcrumbCss));
131
+ var truncationStyles = [styles.euiBreadcrumb__popoverTruncation].concat(_toConsumableArray(truncationCss));
132
+ return ___EmotionJSX(EuiPopover, _extends({}, popoverProps, {
133
+ isOpen: isPopoverOpen,
134
+ closePopover: closePopover,
135
+ css: wrapperStyles,
136
+ button: ___EmotionJSX(EuiLink, _extends({
137
+ ref: ref,
138
+ title: title,
139
+ "aria-current": ariaCurrent,
140
+ className: className,
141
+ css: buttonStyles,
142
+ color: color,
143
+ onClick: togglePopover
144
+ }, rest), ___EmotionJSX("span", {
145
+ css: truncationStyles
146
+ }, children), ___EmotionJSX(EuiIcon, {
147
+ type: "arrowDown",
148
+ size: "s",
149
+ "aria-label": " - ".concat(popoverAriaLabel)
150
+ }))
151
+ }), typeof popoverContent === 'function' ? popoverContent(closePopover) : popoverContent);
152
+ });
153
+ EuiBreadcrumbPopover.displayName = 'EuiBreadcrumbPopover';