@elastic/eui 62.0.2 → 62.2.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 (313) hide show
  1. package/dist/eui_charts_theme.js +330 -330
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +1 -783
  4. package/dist/eui_theme_dark.json +0 -57
  5. package/dist/eui_theme_dark.json.d.ts +0 -57
  6. package/dist/eui_theme_dark.min.css +1 -1
  7. package/dist/eui_theme_light.css +1 -783
  8. package/dist/eui_theme_light.json +0 -57
  9. package/dist/eui_theme_light.json.d.ts +0 -57
  10. package/dist/eui_theme_light.min.css +1 -1
  11. package/es/components/breadcrumbs/breadcrumb.js +199 -0
  12. package/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
  13. package/es/components/breadcrumbs/breadcrumbs.js +115 -187
  14. package/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
  15. package/es/components/code/code_block.js +119 -107
  16. package/es/components/collapsible_nav/collapsible_nav.js +2 -2
  17. package/es/components/control_bar/control_bar.js +13 -0
  18. package/es/components/datagrid/body/data_grid_body.js +12 -2
  19. package/es/components/datagrid/body/data_grid_cell.js +31 -3
  20. package/es/components/datagrid/body/header/data_grid_header_row.js +1 -1
  21. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  22. package/es/components/datagrid/data_grid.js +10 -2
  23. package/es/components/datagrid/utils/row_heights.js +33 -4
  24. package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  25. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  26. package/es/components/description_list/description_list.js +22 -26
  27. package/es/components/description_list/description_list.styles.js +25 -0
  28. package/es/components/description_list/description_list_context.js +14 -0
  29. package/es/components/description_list/description_list_description.js +43 -2
  30. package/es/components/description_list/description_list_description.styles.js +47 -0
  31. package/es/components/description_list/description_list_title.js +43 -2
  32. package/es/components/description_list/description_list_title.styles.js +37 -0
  33. package/es/components/description_list/description_list_types.js +10 -0
  34. package/es/components/header/header.js +1 -27
  35. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +22 -2
  36. package/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
  37. package/es/components/header/header_links/header_links.js +9 -9
  38. package/es/components/icon/assets/tokenStruct.js +1 -1
  39. package/es/components/page/page_header/page_header.js +1 -0
  40. package/es/components/page/page_header/page_header_content.js +2 -1
  41. package/es/components/page/page_template.js +1 -0
  42. package/es/components/pagination/pagination.js +1 -1
  43. package/es/components/panel/split_panel/split_panel.js +2 -2
  44. package/es/components/popover/wrapping_popover.js +88 -45
  45. package/es/components/portal/portal.js +84 -38
  46. package/es/components/provider/provider.js +2 -2
  47. package/es/components/responsive/hide_for.js +6 -38
  48. package/es/components/responsive/show_for.js +6 -38
  49. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -36
  50. package/es/components/side_nav/side_nav.js +1 -1
  51. package/es/components/table/table_row_cell.js +1 -2
  52. package/es/components/toast/global_toast_list.js +208 -241
  53. package/es/components/toast/global_toast_list.styles.js +38 -0
  54. package/es/components/toast/global_toast_list_item.js +12 -7
  55. package/es/components/toast/toast.js +25 -25
  56. package/es/components/toast/toast.styles.js +55 -0
  57. package/es/components/token/index.js +2 -1
  58. package/es/components/token/token.js +48 -112
  59. package/es/components/token/token.styles.js +93 -0
  60. package/es/components/token/token_map.js +6 -9
  61. package/es/components/token/token_types.js +11 -0
  62. package/es/global_styling/reset/global_styles.js +1 -1
  63. package/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
  64. package/es/services/{hooks/useIsWithinBreakpoints.js → breakpoint/currentEuiBreakpoint.js} +36 -28
  65. package/es/services/breakpoint/index.js +10 -0
  66. package/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
  67. package/es/services/hooks/index.js +0 -1
  68. package/es/services/index.js +1 -1
  69. package/es/test/rtl/component_helpers.js +60 -1
  70. package/eui.d.ts +1787 -1550
  71. package/i18ntokens.json +36 -36
  72. package/lib/components/breadcrumbs/breadcrumb.js +225 -0
  73. package/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
  74. package/lib/components/breadcrumbs/breadcrumbs.js +125 -188
  75. package/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  76. package/lib/components/code/code_block.js +118 -106
  77. package/lib/components/collapsible_nav/collapsible_nav.js +2 -2
  78. package/lib/components/control_bar/control_bar.js +13 -0
  79. package/lib/components/datagrid/body/data_grid_body.js +12 -2
  80. package/lib/components/datagrid/body/data_grid_cell.js +31 -3
  81. package/lib/components/datagrid/body/header/data_grid_header_row.js +1 -1
  82. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  83. package/lib/components/datagrid/data_grid.js +10 -2
  84. package/lib/components/datagrid/utils/row_heights.js +33 -4
  85. package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  86. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  87. package/lib/components/description_list/description_list.js +25 -31
  88. package/lib/components/description_list/description_list.styles.js +36 -0
  89. package/lib/components/description_list/description_list_context.js +24 -0
  90. package/lib/components/description_list/description_list_description.js +52 -2
  91. package/lib/components/description_list/description_list_description.styles.js +51 -0
  92. package/lib/components/description_list/description_list_title.js +52 -2
  93. package/lib/components/description_list/description_list_title.styles.js +50 -0
  94. package/lib/components/description_list/description_list_types.js +20 -0
  95. package/lib/components/header/header.js +1 -27
  96. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
  97. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  98. package/lib/components/header/header_links/header_links.js +8 -8
  99. package/lib/components/icon/assets/tokenStruct.js +1 -1
  100. package/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
  101. package/lib/components/page/page_header/page_header.js +1 -0
  102. package/lib/components/page/page_header/page_header_content.js +3 -2
  103. package/lib/components/page/page_template.js +1 -0
  104. package/lib/components/pagination/pagination.js +1 -1
  105. package/lib/components/panel/split_panel/split_panel.js +3 -3
  106. package/lib/components/popover/wrapping_popover.js +85 -44
  107. package/lib/components/portal/portal.js +87 -39
  108. package/lib/components/provider/provider.js +1 -1
  109. package/lib/components/responsive/hide_for.js +12 -44
  110. package/lib/components/responsive/show_for.js +12 -44
  111. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
  112. package/lib/components/side_nav/side_nav.js +1 -1
  113. package/lib/components/table/table_row_cell.js +1 -3
  114. package/lib/components/toast/global_toast_list.js +209 -238
  115. package/lib/components/toast/global_toast_list.styles.js +45 -0
  116. package/lib/components/toast/global_toast_list_item.js +14 -7
  117. package/lib/components/toast/toast.js +27 -25
  118. package/lib/components/toast/toast.styles.js +66 -0
  119. package/lib/components/token/index.js +5 -3
  120. package/lib/components/token/token.js +50 -120
  121. package/lib/components/token/token.styles.js +101 -0
  122. package/lib/components/token/token_map.js +6 -9
  123. package/lib/components/token/token_types.js +22 -0
  124. package/lib/global_styling/reset/global_styles.js +1 -1
  125. package/{test-env/services → lib/services/breakpoint}/breakpoint.js +5 -9
  126. package/lib/services/breakpoint/currentEuiBreakpoint.js +80 -0
  127. package/lib/services/breakpoint/index.js +44 -0
  128. package/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  129. package/lib/services/hooks/index.js +0 -13
  130. package/lib/services/index.js +28 -0
  131. package/lib/test/rtl/component_helpers.js +69 -3
  132. package/optimize/es/components/breadcrumbs/breadcrumb.js +136 -0
  133. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
  134. package/optimize/es/components/breadcrumbs/breadcrumbs.js +92 -165
  135. package/optimize/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
  136. package/optimize/es/components/code/code_block.js +106 -107
  137. package/optimize/es/components/datagrid/body/data_grid_body.js +2 -0
  138. package/optimize/es/components/datagrid/body/data_grid_cell.js +13 -1
  139. package/optimize/es/components/datagrid/utils/row_heights.js +33 -4
  140. package/optimize/es/components/description_list/description_list.js +20 -24
  141. package/optimize/es/components/description_list/description_list.styles.js +25 -0
  142. package/optimize/es/components/description_list/description_list_context.js +14 -0
  143. package/optimize/es/components/description_list/description_list_description.js +32 -2
  144. package/optimize/es/components/description_list/description_list_description.styles.js +47 -0
  145. package/optimize/es/components/description_list/description_list_title.js +32 -2
  146. package/optimize/es/components/description_list/description_list_title.styles.js +37 -0
  147. package/optimize/es/components/description_list/description_list_types.js +10 -0
  148. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +8 -1
  149. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
  150. package/optimize/es/components/header/header_links/header_links.js +8 -8
  151. package/optimize/es/components/icon/assets/tokenStruct.js +1 -1
  152. package/optimize/es/components/page/page_header/page_header_content.js +1 -1
  153. package/optimize/es/components/panel/split_panel/split_panel.js +1 -1
  154. package/optimize/es/components/popover/wrapping_popover.js +79 -38
  155. package/optimize/es/components/portal/portal.js +66 -34
  156. package/optimize/es/components/provider/provider.js +2 -2
  157. package/optimize/es/components/responsive/hide_for.js +5 -27
  158. package/optimize/es/components/responsive/show_for.js +5 -27
  159. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -35
  160. package/optimize/es/components/table/table_row_cell.js +1 -2
  161. package/optimize/es/components/toast/global_toast_list.js +199 -230
  162. package/optimize/es/components/toast/global_toast_list.styles.js +38 -0
  163. package/optimize/es/components/toast/global_toast_list_item.js +11 -6
  164. package/optimize/es/components/toast/toast.js +24 -24
  165. package/optimize/es/components/toast/toast.styles.js +55 -0
  166. package/optimize/es/components/token/index.js +2 -1
  167. package/optimize/es/components/token/token.js +46 -69
  168. package/optimize/es/components/token/token.styles.js +83 -0
  169. package/optimize/es/components/token/token_map.js +6 -9
  170. package/optimize/es/components/token/token_types.js +11 -0
  171. package/optimize/es/global_styling/reset/global_styles.js +1 -1
  172. package/optimize/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
  173. package/optimize/es/services/breakpoint/currentEuiBreakpoint.js +53 -0
  174. package/optimize/es/services/breakpoint/index.js +10 -0
  175. package/optimize/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
  176. package/optimize/es/services/hooks/index.js +0 -1
  177. package/optimize/es/services/index.js +1 -1
  178. package/optimize/es/test/rtl/component_helpers.js +60 -1
  179. package/optimize/lib/components/breadcrumbs/breadcrumb.js +162 -0
  180. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
  181. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +99 -164
  182. package/optimize/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  183. package/optimize/lib/components/code/code_block.js +105 -106
  184. package/optimize/lib/components/datagrid/body/data_grid_body.js +2 -0
  185. package/optimize/lib/components/datagrid/body/data_grid_cell.js +13 -1
  186. package/optimize/lib/components/datagrid/utils/row_heights.js +33 -4
  187. package/optimize/lib/components/description_list/description_list.js +23 -28
  188. package/optimize/lib/components/description_list/description_list.styles.js +36 -0
  189. package/optimize/lib/components/description_list/description_list_context.js +24 -0
  190. package/optimize/lib/components/description_list/description_list_description.js +43 -2
  191. package/optimize/lib/components/description_list/description_list_description.styles.js +51 -0
  192. package/optimize/lib/components/description_list/description_list_title.js +43 -2
  193. package/optimize/lib/components/description_list/description_list_title.styles.js +50 -0
  194. package/optimize/lib/components/description_list/description_list_types.js +20 -0
  195. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +10 -1
  196. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  197. package/optimize/lib/components/header/header_links/header_links.js +7 -7
  198. package/optimize/lib/components/icon/assets/tokenStruct.js +1 -1
  199. package/optimize/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
  200. package/optimize/lib/components/page/page_header/page_header_content.js +2 -2
  201. package/optimize/lib/components/panel/split_panel/split_panel.js +2 -2
  202. package/optimize/lib/components/popover/wrapping_popover.js +78 -38
  203. package/optimize/lib/components/portal/portal.js +65 -44
  204. package/optimize/lib/components/provider/provider.js +1 -1
  205. package/optimize/lib/components/responsive/hide_for.js +4 -33
  206. package/optimize/lib/components/responsive/show_for.js +4 -33
  207. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +14 -34
  208. package/optimize/lib/components/table/table_row_cell.js +1 -3
  209. package/optimize/lib/components/toast/global_toast_list.js +206 -220
  210. package/optimize/lib/components/toast/global_toast_list.styles.js +47 -0
  211. package/optimize/lib/components/toast/global_toast_list_item.js +14 -7
  212. package/optimize/lib/components/toast/toast.js +26 -24
  213. package/optimize/lib/components/toast/toast.styles.js +66 -0
  214. package/optimize/lib/components/token/index.js +5 -3
  215. package/optimize/lib/components/token/token.js +50 -76
  216. package/optimize/lib/components/token/token.styles.js +91 -0
  217. package/optimize/lib/components/token/token_map.js +6 -9
  218. package/optimize/lib/components/token/token_types.js +22 -0
  219. package/optimize/lib/global_styling/reset/global_styles.js +1 -1
  220. package/optimize/lib/services/{breakpoint.js → breakpoint/breakpoint.js} +5 -9
  221. package/optimize/lib/services/breakpoint/currentEuiBreakpoint.js +81 -0
  222. package/optimize/lib/services/breakpoint/index.js +44 -0
  223. package/optimize/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  224. package/optimize/lib/services/hooks/index.js +0 -13
  225. package/optimize/lib/services/index.js +28 -0
  226. package/optimize/lib/test/rtl/component_helpers.js +69 -3
  227. package/package.json +2 -2
  228. package/src/components/control_bar/_control_bar.scss +1 -1
  229. package/src/components/header/_index.scss +0 -1
  230. package/src/components/index.scss +0 -5
  231. package/src/themes/amsterdam/overrides/_breadcrumbs.scss +0 -12
  232. package/src/themes/amsterdam/overrides/_index.scss +0 -4
  233. package/test-env/components/breadcrumbs/breadcrumb.js +211 -0
  234. package/test-env/components/breadcrumbs/breadcrumb.styles.js +68 -0
  235. package/test-env/components/breadcrumbs/breadcrumbs.js +122 -174
  236. package/test-env/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  237. package/test-env/components/collapsible_nav/collapsible_nav.js +2 -2
  238. package/test-env/components/control_bar/control_bar.js +13 -0
  239. package/test-env/components/datagrid/body/data_grid_body.js +12 -2
  240. package/test-env/components/datagrid/body/data_grid_cell.js +31 -3
  241. package/test-env/components/datagrid/body/header/data_grid_header_row.js +1 -1
  242. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  243. package/test-env/components/datagrid/data_grid.js +10 -2
  244. package/test-env/components/datagrid/utils/row_heights.js +33 -4
  245. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  246. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  247. package/test-env/components/description_list/description_list.js +25 -30
  248. package/test-env/components/description_list/description_list.styles.js +36 -0
  249. package/test-env/components/description_list/description_list_context.js +24 -0
  250. package/test-env/components/description_list/description_list_description.js +43 -2
  251. package/test-env/components/description_list/description_list_description.styles.js +51 -0
  252. package/test-env/components/description_list/description_list_title.js +43 -2
  253. package/test-env/components/description_list/description_list_title.styles.js +50 -0
  254. package/test-env/components/description_list/description_list_types.js +20 -0
  255. package/test-env/components/header/header.js +1 -27
  256. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
  257. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  258. package/test-env/components/header/header_links/header_links.js +8 -8
  259. package/test-env/components/icon/assets/tokenStruct.js +1 -1
  260. package/test-env/components/observer/resize_observer/resize_observer.js +43 -126
  261. package/test-env/components/page/page_header/page_header.js +1 -0
  262. package/test-env/components/page/page_header/page_header_content.js +3 -2
  263. package/test-env/components/page/page_template.js +1 -0
  264. package/test-env/components/pagination/pagination.js +1 -1
  265. package/test-env/components/panel/split_panel/split_panel.js +3 -3
  266. package/test-env/components/popover/wrapping_popover.js +78 -38
  267. package/test-env/components/portal/portal.js +79 -45
  268. package/test-env/components/provider/provider.js +1 -1
  269. package/test-env/components/responsive/hide_for.js +5 -34
  270. package/test-env/components/responsive/show_for.js +5 -34
  271. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
  272. package/test-env/components/side_nav/side_nav.js +1 -1
  273. package/test-env/components/table/table_row_cell.js +1 -3
  274. package/test-env/components/toast/global_toast_list.js +206 -220
  275. package/test-env/components/toast/global_toast_list.styles.js +47 -0
  276. package/test-env/components/toast/global_toast_list_item.js +14 -7
  277. package/test-env/components/toast/toast.js +27 -25
  278. package/test-env/components/toast/toast.styles.js +66 -0
  279. package/test-env/components/token/index.js +5 -3
  280. package/test-env/components/token/token.js +51 -120
  281. package/test-env/components/token/token.styles.js +91 -0
  282. package/test-env/components/token/token_map.js +6 -9
  283. package/test-env/components/token/token_types.js +22 -0
  284. package/test-env/global_styling/reset/global_styles.js +1 -1
  285. package/{lib/services → test-env/services/breakpoint}/breakpoint.js +5 -9
  286. package/test-env/services/breakpoint/currentEuiBreakpoint.js +37 -0
  287. package/test-env/services/breakpoint/index.js +44 -0
  288. package/test-env/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  289. package/test-env/services/hooks/index.js +0 -13
  290. package/test-env/services/index.js +28 -0
  291. package/test-env/test/rtl/component_helpers.js +69 -3
  292. package/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
  293. package/optimize/es/services/hooks/useIsWithinBreakpoints.js +0 -46
  294. package/optimize/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
  295. package/src/components/breadcrumbs/_breadcrumbs.scss +0 -79
  296. package/src/components/breadcrumbs/_index.scss +0 -2
  297. package/src/components/breadcrumbs/_variables.scss +0 -2
  298. package/src/components/description_list/_description_list.scss +0 -211
  299. package/src/components/description_list/_index.scss +0 -1
  300. package/src/components/header/header_breadcrumbs/_header_breadcrumbs.scss +0 -8
  301. package/src/components/header/header_breadcrumbs/_index.scss +0 -1
  302. package/src/components/portal/_index.scss +0 -1
  303. package/src/components/portal/_portal.scss +0 -6
  304. package/src/components/toast/_global_toast_list.scss +0 -90
  305. package/src/components/toast/_index.scss +0 -4
  306. package/src/components/toast/_toast.scss +0 -103
  307. package/src/components/token/_index.scss +0 -2
  308. package/src/components/token/_token.scss +0 -85
  309. package/src/components/token/_variables.scss +0 -13
  310. package/src/themes/amsterdam/overrides/_header_breadcrumbs.scss +0 -71
  311. package/src/themes/amsterdam/overrides/_toast.scss +0 -21
  312. package/src/themes/amsterdam/overrides/_token.scss +0 -4
  313. package/test-env/services/hooks/useIsWithinBreakpoints.js +0 -57
@@ -3,39 +3,32 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.EuiBreadcrumbs = void 0;
7
-
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
6
+ exports.useResponsiveMax = exports.limitBreadcrumbs = exports.EuiBreadcrumbs = void 0;
9
7
 
10
8
  var _react = _interopRequireWildcard(require("react"));
11
9
 
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
14
  var _i18n = require("../i18n");
15
15
 
16
- var _inner_text = require("../inner_text");
17
-
18
- var _link = require("../link");
19
-
20
- var _popover = require("../popover");
21
-
22
- var _icon = require("../icon");
23
-
24
16
  var _services = require("../../services");
25
17
 
26
- var _breakpoint = require("../../services/breakpoint");
18
+ var _breadcrumb = require("./breadcrumb");
19
+
20
+ var _breadcrumbs = require("./breadcrumbs.styles");
27
21
 
28
22
  var _react2 = require("@emotion/react");
29
23
 
30
- var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max"],
31
- _excluded2 = ["text", "href", "onClick", "truncate", "className"];
24
+ var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max", "type", "lastBreadcrumbIsCurrentPage"];
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
27
 
33
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
29
 
35
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
36
31
 
37
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38
-
39
32
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
40
33
 
41
34
  function _extends() { _extends = Object.assign || 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); }
@@ -44,99 +37,12 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
44
37
 
45
38
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
46
39
 
47
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
48
-
49
- 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."); }
50
-
51
- 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); }
52
-
53
- 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; }
54
-
55
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
56
-
57
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
58
-
59
- var CONTENT_CLASSNAME = 'euiBreadcrumb__content';
60
40
  var responsiveDefault = {
61
41
  xs: 1,
62
42
  s: 2,
63
43
  m: 4
64
44
  };
65
45
 
66
- var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max, allBreadcrumbs) {
67
- var breadcrumbsAtStart = [];
68
- var breadcrumbsAtEnd = [];
69
- var limit = Math.min(max, breadcrumbs.length);
70
- var start = Math.floor(limit / 2);
71
- var overflowBreadcrumbs = allBreadcrumbs.slice(start, start + breadcrumbs.length - limit);
72
-
73
- if (overflowBreadcrumbs.length) {
74
- overflowBreadcrumbs[overflowBreadcrumbs.length - 1]['aria-current'] = 'false';
75
- }
76
-
77
- for (var i = 0; i < limit; i++) {
78
- // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
79
- // towards breadcrumbs the end so that if max is an odd number, we'll have one more
80
- // breadcrumb visible at the end than at the beginning.
81
- var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
82
- // half-iteration.
83
-
84
- var normalizedIndex = Math.floor(i * 0.5);
85
- var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
86
- var breadcrumb = breadcrumbs[indexOfBreadcrumb];
87
-
88
- if (isEven) {
89
- breadcrumbsAtEnd.unshift(breadcrumb);
90
- } else {
91
- breadcrumbsAtStart.push(breadcrumb);
92
- }
93
- }
94
-
95
- var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed() {
96
- var _useState = (0, _react.useState)(false),
97
- _useState2 = _slicedToArray(_useState, 2),
98
- isPopoverOpen = _useState2[0],
99
- setIsPopoverOpen = _useState2[1];
100
-
101
- var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
102
- var ellipsisButton = (0, _react2.jsx)(_link.EuiLink, {
103
- className: CONTENT_CLASSNAME,
104
- color: "subdued",
105
- "aria-label": ariaLabel,
106
- title: ariaLabel,
107
- onClick: function onClick() {
108
- return setIsPopoverOpen(!isPopoverOpen);
109
- }
110
- }, "\u2026 ", (0, _react2.jsx)(_icon.EuiIcon, {
111
- type: "arrowDown",
112
- size: "s"
113
- }));
114
- return (0, _react2.jsx)("li", {
115
- className: "euiBreadcrumb euiBreadcrumb--collapsed"
116
- }, (0, _react2.jsx)(_popover.EuiPopover, {
117
- button: ellipsisButton,
118
- isOpen: isPopoverOpen,
119
- closePopover: function closePopover() {
120
- return setIsPopoverOpen(false);
121
- }
122
- }, (0, _react2.jsx)(EuiBreadcrumbs, {
123
- className: "euiBreadcrumbs__inPopover",
124
- breadcrumbs: overflowBreadcrumbs,
125
- responsive: false,
126
- truncate: false,
127
- max: 0
128
- })));
129
- };
130
-
131
- if (max < breadcrumbs.length) {
132
- breadcrumbsAtStart.push((0, _react2.jsx)(EuiBreadcrumbCollapsed, {
133
- key: "collapsed"
134
- }));
135
- }
136
-
137
- return [].concat(breadcrumbsAtStart, breadcrumbsAtEnd);
138
- };
139
-
140
46
  var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
141
47
  var breadcrumbs = _ref.breadcrumbs,
142
48
  className = _ref.className,
@@ -146,96 +52,57 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
146
52
  truncate = _ref$truncate === void 0 ? true : _ref$truncate,
147
53
  _ref$max = _ref.max,
148
54
  max = _ref$max === void 0 ? 5 : _ref$max,
55
+ _ref$type = _ref.type,
56
+ type = _ref$type === void 0 ? 'page' : _ref$type,
57
+ _ref$lastBreadcrumbIs = _ref.lastBreadcrumbIsCurrentPage,
58
+ lastBreadcrumbIsCurrentPage = _ref$lastBreadcrumbIs === void 0 ? true : _ref$lastBreadcrumbIs,
149
59
  rest = _objectWithoutProperties(_ref, _excluded);
150
60
 
151
61
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
152
-
153
- var _useState3 = (0, _react.useState)((0, _breakpoint.getBreakpoint)(typeof window === 'undefined' ? -Infinity : window.innerWidth)),
154
- _useState4 = _slicedToArray(_useState3, 2),
155
- currentBreakpoint = _useState4[0],
156
- setCurrentBreakpoint = _useState4[1];
157
-
158
- var functionToCallOnWindowResize = (0, _services.throttle)(function () {
159
- var newBreakpoint = (0, _breakpoint.getBreakpoint)(window.innerWidth);
160
-
161
- if (newBreakpoint !== currentBreakpoint) {
162
- setCurrentBreakpoint(newBreakpoint);
163
- } // reacts every 50ms to resize changes and always gets the final update
164
-
165
- }, 50); // Add window resize handlers
166
-
167
- (0, _react.useEffect)(function () {
168
- window.addEventListener('resize', functionToCallOnWindowResize);
169
- return function () {
170
- window.removeEventListener('resize', functionToCallOnWindowResize);
171
- };
172
- }, [responsive, functionToCallOnWindowResize]);
173
- var breadcrumbElements = breadcrumbs.map(function (breadcrumb, index) {
174
- var text = breadcrumb.text,
175
- href = breadcrumb.href,
176
- onClick = breadcrumb.onClick,
177
- truncate = breadcrumb.truncate,
178
- breadcrumbClassName = breadcrumb.className,
179
- breadcrumbRest = _objectWithoutProperties(breadcrumb, _excluded2);
180
-
181
- var isLastBreadcrumb = index === breadcrumbs.length - 1;
182
- var className = (0, _classnames.default)('euiBreadcrumb', {
183
- 'euiBreadcrumb--last': isLastBreadcrumb,
184
- 'euiBreadcrumb--truncate': truncate
185
- });
186
- var linkProps = {
187
- className: (0, _classnames.default)(CONTENT_CLASSNAME, breadcrumbClassName),
188
- 'aria-current': isLastBreadcrumb ? 'page' : undefined
189
- };
190
- var link = (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
191
- var title = innerText === '' ? undefined : innerText;
192
-
193
- if (!href && !onClick) {
194
- return (0, _react2.jsx)("span", _extends({
195
- ref: ref,
196
- title: title
197
- }, linkProps, breadcrumbRest), text);
198
- }
199
-
200
- return (0, _react2.jsx)(_link.EuiLink, _extends({
201
- ref: ref,
202
- color: isLastBreadcrumb ? 'text' : 'subdued',
203
- onClick: onClick,
204
- href: href,
205
- title: title
206
- }, linkProps, breadcrumbRest), text);
62
+ var euiTheme = (0, _services.useEuiTheme)();
63
+ var breadcrumbsListStyles = (0, _breadcrumbs.euiBreadcrumbsListStyles)(euiTheme);
64
+ var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
65
+ var responsiveMax = useResponsiveMax(responsive, max);
66
+ var visibleBreadcrumbs = (0, _react.useMemo)(function () {
67
+ var shouldCollapseBreadcrumbs = responsiveMax && breadcrumbs.length > responsiveMax;
68
+ return shouldCollapseBreadcrumbs ? limitBreadcrumbs(breadcrumbs, responsiveMax) : breadcrumbs;
69
+ }, [breadcrumbs, responsiveMax]);
70
+ var breadcrumbChildren = (0, _react.useMemo)(function () {
71
+ return visibleBreadcrumbs.map(function (breadcrumb, index) {
72
+ var isFirstBreadcrumb = index === 0;
73
+ var isLastBreadcrumb = index === visibleBreadcrumbs.length - 1;
74
+ var isOnlyBreadcrumb = visibleBreadcrumbs.length === 1;
75
+ var sharedProps = {
76
+ type: type,
77
+ truncate: truncate
78
+ };
79
+ return breadcrumb.isCollapsedButton ? (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbCollapsed, _extends({
80
+ key: "collapsed"
81
+ }, sharedProps, {
82
+ isFirstBreadcrumb: isFirstBreadcrumb
83
+ }), (0, _react2.jsx)(EuiBreadcrumbs, {
84
+ breadcrumbs: breadcrumb.overflowBreadcrumbs,
85
+ lastBreadcrumbIsCurrentPage: false,
86
+ responsive: false,
87
+ truncate: false,
88
+ max: 0
89
+ })) : (0, _react2.jsx)(_breadcrumb.EuiBreadcrumb, _extends({
90
+ key: index
91
+ }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, _extends({
92
+ isFirstBreadcrumb: isFirstBreadcrumb,
93
+ isLastBreadcrumb: isLastBreadcrumb,
94
+ isOnlyBreadcrumb: isOnlyBreadcrumb,
95
+ highlightLastBreadcrumb: isLastBreadcrumb && lastBreadcrumbIsCurrentPage
96
+ }, sharedProps, breadcrumb)));
207
97
  });
208
- return (0, _react2.jsx)("li", {
209
- className: className,
210
- key: index
211
- }, link);
212
- }); // Use the default object if they simply passed `true` for responsive
213
-
214
- var responsiveObject = _typeof(responsive) === 'object' ? responsive : responsiveDefault; // The max property collapses any breadcrumbs past the max quantity.
215
- // This is the same behavior we want for responsiveness.
216
- // So calculate the max value based on the combination of `max` and `responsive`
217
-
218
- var calculatedMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
219
-
220
- if (responsive && responsiveObject[currentBreakpoint]) {
221
- calculatedMax = responsiveObject[currentBreakpoint];
222
- } // Final check is to make sure max is used over a larger breakpoint value
223
-
224
-
225
- if (max && calculatedMax) {
226
- calculatedMax = max < calculatedMax ? max : calculatedMax;
227
- }
228
-
229
- var limitedBreadcrumbs = calculatedMax ? limitBreadcrumbs(breadcrumbElements, calculatedMax, breadcrumbs) : breadcrumbElements;
230
- var classes = (0, _classnames.default)('euiBreadcrumbs', className, {
231
- 'euiBreadcrumbs--truncate': truncate
232
- });
98
+ }, [visibleBreadcrumbs, truncate, type, lastBreadcrumbIsCurrentPage]);
233
99
  return (0, _react2.jsx)("nav", _extends({
234
100
  "aria-label": ariaLabel,
235
- className: classes
101
+ className: (0, _classnames.default)('euiBreadcrumbs', className)
236
102
  }, rest), (0, _react2.jsx)("ol", {
237
- className: "euiBreadcrumbs__list"
238
- }, limitedBreadcrumbs));
103
+ className: "euiBreadcrumbs__list",
104
+ css: cssBreadcrumbsListStyles
105
+ }, breadcrumbChildren));
239
106
  };
240
107
 
241
108
  exports.EuiBreadcrumbs = EuiBreadcrumbs;
@@ -276,6 +143,7 @@ EuiBreadcrumbs.propTypes = {
276
143
  "aria-label": _propTypes.default.string,
277
144
  "data-test-subj": _propTypes.default.string,
278
145
  href: _propTypes.default.string,
146
+ rel: _propTypes.default.string,
279
147
  onClick: _propTypes.default.func,
280
148
 
281
149
  /**
@@ -297,5 +165,74 @@ EuiBreadcrumbs.propTypes = {
297
165
  * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
298
166
  */
299
167
  "aria-current": _propTypes.default.any
300
- }).isRequired).isRequired
301
- };
168
+ }).isRequired).isRequired,
169
+
170
+ /**
171
+ * Determines breadcrumbs appearance, with `page` being the default styling.
172
+ * Application breadcrumbs should only be once per page, in (e.g.) EuiHeader
173
+ */
174
+ type: _propTypes.default.oneOf(["page", "application"]),
175
+
176
+ /**
177
+ * Whether the last breadcrumb should visually (and accessibly, to screen readers)
178
+ * be highlighted as the current page. Defaults to true.
179
+ */
180
+ lastBreadcrumbIsCurrentPage: _propTypes.default.bool
181
+ };
182
+
183
+ var useResponsiveMax = function useResponsiveMax(responsive, max) {
184
+ // Use the default object if they simply passed `true` for responsive
185
+ var responsiveObject = _typeof(responsive) === 'object' ? responsive : responsiveDefault; // The max property collapses any breadcrumbs past the max quantity.
186
+ // This is the same behavior we want for responsiveness.
187
+ // So calculate the max value based on the combination of `max` and `responsive`
188
+
189
+ var responsiveMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
190
+
191
+ var currentBreakpoint = (0, _services.useCurrentEuiBreakpoint)();
192
+
193
+ if (responsive && currentBreakpoint && responsiveObject[currentBreakpoint]) {
194
+ responsiveMax = responsiveObject[currentBreakpoint];
195
+ } // Final check is to make sure max is used over a larger breakpoint value
196
+
197
+
198
+ if (max && responsiveMax) {
199
+ responsiveMax = max < responsiveMax ? max : responsiveMax;
200
+ }
201
+
202
+ return responsiveMax;
203
+ };
204
+
205
+ exports.useResponsiveMax = useResponsiveMax;
206
+
207
+ var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max) {
208
+ var breadcrumbsAtStart = [];
209
+ var breadcrumbsAtEnd = [];
210
+ var limit = Math.min(max, breadcrumbs.length);
211
+ var start = Math.floor(limit / 2);
212
+ var overflowBreadcrumbs = breadcrumbs.slice(start, start + breadcrumbs.length - limit);
213
+
214
+ for (var i = 0; i < limit; i++) {
215
+ // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
216
+ // towards breadcrumbs the end so that if max is an odd number, we'll have one more
217
+ // breadcrumb visible at the end than at the beginning.
218
+ var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
219
+ // half-iteration.
220
+
221
+ var normalizedIndex = Math.floor(i * 0.5);
222
+ var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
223
+ var breadcrumb = breadcrumbs[indexOfBreadcrumb];
224
+
225
+ if (isEven) {
226
+ breadcrumbsAtEnd.unshift(breadcrumb);
227
+ } else {
228
+ breadcrumbsAtStart.push(breadcrumb);
229
+ }
230
+ }
231
+
232
+ return [].concat(breadcrumbsAtStart, [{
233
+ isCollapsedButton: true,
234
+ overflowBreadcrumbs: overflowBreadcrumbs
235
+ }], breadcrumbsAtEnd);
236
+ };
237
+
238
+ exports.limitBreadcrumbs = limitBreadcrumbs;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiBreadcrumbsListStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
13
+
14
+ var _ref = process.env.NODE_ENV === "production" ? {
15
+ name: "1bwn7gf-isTruncated",
16
+ styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;"
17
+ } : {
18
+ name: "1bwn7gf-isTruncated",
19
+ styles: "flex-wrap:nowrap;white-space:nowrap;label:isTruncated;",
20
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
+ };
22
+
23
+ var euiBreadcrumbsListStyles = function euiBreadcrumbsListStyles(euiThemeContext) {
24
+ // Styles cast to the <ol> element
25
+ var euiTheme = euiThemeContext.euiTheme;
26
+ return {
27
+ euiBreadcrumbs__list: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";align-items:center;display:flex;flex-wrap:wrap;line-height:", euiTheme.size.l, ";", (0, _global_styling.logicalCSS)( // Add vertical space between breadcrumbs, but make sure the whole breadcrumb set doesn't add space below itself
28
+ 'margin-bottom', "-".concat(euiTheme.size.xs)), " ", (0, _global_styling.logicalCSS)('min-width', 0), ";;label:euiBreadcrumbs__list;"),
29
+ isTruncated: _ref
30
+ };
31
+ };
32
+
33
+ exports.euiBreadcrumbsListStyles = euiBreadcrumbsListStyles;