@elastic/eui 62.0.2 → 62.1.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 (283) hide show
  1. package/dist/eui_theme_dark.css +1 -783
  2. package/dist/eui_theme_dark.json +0 -57
  3. package/dist/eui_theme_dark.json.d.ts +0 -57
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +1 -783
  6. package/dist/eui_theme_light.json +0 -57
  7. package/dist/eui_theme_light.json.d.ts +0 -57
  8. package/dist/eui_theme_light.min.css +1 -1
  9. package/es/components/breadcrumbs/breadcrumb.js +199 -0
  10. package/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
  11. package/es/components/breadcrumbs/breadcrumbs.js +115 -187
  12. package/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
  13. package/es/components/code/code_block.js +119 -107
  14. package/es/components/collapsible_nav/collapsible_nav.js +2 -2
  15. package/es/components/control_bar/control_bar.js +13 -0
  16. package/es/components/datagrid/body/data_grid_body.js +1 -1
  17. package/es/components/datagrid/body/header/data_grid_header_row.js +1 -1
  18. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  19. package/es/components/datagrid/data_grid.js +1 -1
  20. package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  21. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  22. package/es/components/description_list/description_list.js +22 -26
  23. package/es/components/description_list/description_list.styles.js +25 -0
  24. package/es/components/description_list/description_list_context.js +14 -0
  25. package/es/components/description_list/description_list_description.js +43 -2
  26. package/es/components/description_list/description_list_description.styles.js +47 -0
  27. package/es/components/description_list/description_list_title.js +43 -2
  28. package/es/components/description_list/description_list_title.styles.js +37 -0
  29. package/es/components/description_list/description_list_types.js +10 -0
  30. package/es/components/header/header.js +1 -27
  31. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +22 -2
  32. package/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
  33. package/es/components/header/header_links/header_links.js +9 -9
  34. package/es/components/icon/assets/tokenStruct.js +1 -1
  35. package/es/components/page/page_header/page_header.js +1 -0
  36. package/es/components/page/page_header/page_header_content.js +2 -1
  37. package/es/components/page/page_template.js +1 -0
  38. package/es/components/pagination/pagination.js +1 -1
  39. package/es/components/panel/split_panel/split_panel.js +2 -2
  40. package/es/components/provider/provider.js +2 -2
  41. package/es/components/responsive/hide_for.js +6 -38
  42. package/es/components/responsive/show_for.js +6 -38
  43. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -36
  44. package/es/components/side_nav/side_nav.js +1 -1
  45. package/es/components/table/table_row_cell.js +1 -2
  46. package/es/components/toast/global_toast_list.js +208 -241
  47. package/es/components/toast/global_toast_list.styles.js +38 -0
  48. package/es/components/toast/global_toast_list_item.js +12 -7
  49. package/es/components/toast/toast.js +25 -25
  50. package/es/components/toast/toast.styles.js +55 -0
  51. package/es/components/token/index.js +2 -1
  52. package/es/components/token/token.js +48 -112
  53. package/es/components/token/token.styles.js +93 -0
  54. package/es/components/token/token_map.js +6 -9
  55. package/es/components/token/token_types.js +11 -0
  56. package/es/global_styling/reset/global_styles.js +1 -1
  57. package/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
  58. package/es/services/{hooks/useIsWithinBreakpoints.js → breakpoint/currentEuiBreakpoint.js} +36 -28
  59. package/es/services/breakpoint/index.js +10 -0
  60. package/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
  61. package/es/services/hooks/index.js +0 -1
  62. package/es/services/index.js +1 -1
  63. package/eui.d.ts +1681 -1479
  64. package/i18ntokens.json +36 -36
  65. package/lib/components/breadcrumbs/breadcrumb.js +225 -0
  66. package/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
  67. package/lib/components/breadcrumbs/breadcrumbs.js +125 -188
  68. package/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  69. package/lib/components/code/code_block.js +118 -106
  70. package/lib/components/collapsible_nav/collapsible_nav.js +2 -2
  71. package/lib/components/control_bar/control_bar.js +13 -0
  72. package/lib/components/datagrid/body/data_grid_body.js +1 -1
  73. package/lib/components/datagrid/body/header/data_grid_header_row.js +1 -1
  74. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  75. package/lib/components/datagrid/data_grid.js +1 -1
  76. package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  77. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  78. package/lib/components/description_list/description_list.js +25 -31
  79. package/lib/components/description_list/description_list.styles.js +36 -0
  80. package/lib/components/description_list/description_list_context.js +24 -0
  81. package/lib/components/description_list/description_list_description.js +52 -2
  82. package/lib/components/description_list/description_list_description.styles.js +51 -0
  83. package/lib/components/description_list/description_list_title.js +52 -2
  84. package/lib/components/description_list/description_list_title.styles.js +50 -0
  85. package/lib/components/description_list/description_list_types.js +20 -0
  86. package/lib/components/header/header.js +1 -27
  87. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
  88. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  89. package/lib/components/header/header_links/header_links.js +8 -8
  90. package/lib/components/icon/assets/tokenStruct.js +1 -1
  91. package/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
  92. package/lib/components/page/page_header/page_header.js +1 -0
  93. package/lib/components/page/page_header/page_header_content.js +3 -2
  94. package/lib/components/page/page_template.js +1 -0
  95. package/lib/components/pagination/pagination.js +1 -1
  96. package/lib/components/panel/split_panel/split_panel.js +3 -3
  97. package/lib/components/provider/provider.js +1 -1
  98. package/lib/components/responsive/hide_for.js +12 -44
  99. package/lib/components/responsive/show_for.js +12 -44
  100. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
  101. package/lib/components/side_nav/side_nav.js +1 -1
  102. package/lib/components/table/table_row_cell.js +1 -3
  103. package/lib/components/toast/global_toast_list.js +209 -238
  104. package/lib/components/toast/global_toast_list.styles.js +45 -0
  105. package/lib/components/toast/global_toast_list_item.js +14 -7
  106. package/lib/components/toast/toast.js +27 -25
  107. package/lib/components/toast/toast.styles.js +66 -0
  108. package/lib/components/token/index.js +5 -3
  109. package/lib/components/token/token.js +50 -120
  110. package/lib/components/token/token.styles.js +101 -0
  111. package/lib/components/token/token_map.js +6 -9
  112. package/lib/components/token/token_types.js +22 -0
  113. package/lib/global_styling/reset/global_styles.js +1 -1
  114. package/{test-env/services → lib/services/breakpoint}/breakpoint.js +5 -9
  115. package/lib/services/breakpoint/currentEuiBreakpoint.js +80 -0
  116. package/lib/services/breakpoint/index.js +44 -0
  117. package/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  118. package/lib/services/hooks/index.js +0 -13
  119. package/lib/services/index.js +28 -0
  120. package/optimize/es/components/breadcrumbs/breadcrumb.js +136 -0
  121. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +61 -0
  122. package/optimize/es/components/breadcrumbs/breadcrumbs.js +92 -165
  123. package/optimize/es/components/breadcrumbs/breadcrumbs.styles.js +30 -0
  124. package/optimize/es/components/code/code_block.js +106 -107
  125. package/optimize/es/components/description_list/description_list.js +20 -24
  126. package/optimize/es/components/description_list/description_list.styles.js +25 -0
  127. package/optimize/es/components/description_list/description_list_context.js +14 -0
  128. package/optimize/es/components/description_list/description_list_description.js +32 -2
  129. package/optimize/es/components/description_list/description_list_description.styles.js +47 -0
  130. package/optimize/es/components/description_list/description_list_title.js +32 -2
  131. package/optimize/es/components/description_list/description_list_title.styles.js +37 -0
  132. package/optimize/es/components/description_list/description_list_types.js +10 -0
  133. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +8 -1
  134. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +15 -0
  135. package/optimize/es/components/header/header_links/header_links.js +8 -8
  136. package/optimize/es/components/icon/assets/tokenStruct.js +1 -1
  137. package/optimize/es/components/page/page_header/page_header_content.js +1 -1
  138. package/optimize/es/components/panel/split_panel/split_panel.js +1 -1
  139. package/optimize/es/components/provider/provider.js +2 -2
  140. package/optimize/es/components/responsive/hide_for.js +5 -27
  141. package/optimize/es/components/responsive/show_for.js +5 -27
  142. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -35
  143. package/optimize/es/components/table/table_row_cell.js +1 -2
  144. package/optimize/es/components/toast/global_toast_list.js +199 -230
  145. package/optimize/es/components/toast/global_toast_list.styles.js +38 -0
  146. package/optimize/es/components/toast/global_toast_list_item.js +11 -6
  147. package/optimize/es/components/toast/toast.js +24 -24
  148. package/optimize/es/components/toast/toast.styles.js +55 -0
  149. package/optimize/es/components/token/index.js +2 -1
  150. package/optimize/es/components/token/token.js +46 -69
  151. package/optimize/es/components/token/token.styles.js +83 -0
  152. package/optimize/es/components/token/token_map.js +6 -9
  153. package/optimize/es/components/token/token_types.js +11 -0
  154. package/optimize/es/global_styling/reset/global_styles.js +1 -1
  155. package/optimize/es/services/{breakpoint.js → breakpoint/breakpoint.js} +4 -9
  156. package/optimize/es/services/breakpoint/currentEuiBreakpoint.js +53 -0
  157. package/optimize/es/services/breakpoint/index.js +10 -0
  158. package/optimize/es/services/breakpoint/useIsWithinBreakpoints.js +24 -0
  159. package/optimize/es/services/hooks/index.js +0 -1
  160. package/optimize/es/services/index.js +1 -1
  161. package/optimize/lib/components/breadcrumbs/breadcrumb.js +162 -0
  162. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +68 -0
  163. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +99 -164
  164. package/optimize/lib/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  165. package/optimize/lib/components/code/code_block.js +105 -106
  166. package/optimize/lib/components/description_list/description_list.js +23 -28
  167. package/optimize/lib/components/description_list/description_list.styles.js +36 -0
  168. package/optimize/lib/components/description_list/description_list_context.js +24 -0
  169. package/optimize/lib/components/description_list/description_list_description.js +43 -2
  170. package/optimize/lib/components/description_list/description_list_description.styles.js +51 -0
  171. package/optimize/lib/components/description_list/description_list_title.js +43 -2
  172. package/optimize/lib/components/description_list/description_list_title.styles.js +50 -0
  173. package/optimize/lib/components/description_list/description_list_types.js +20 -0
  174. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +10 -1
  175. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  176. package/optimize/lib/components/header/header_links/header_links.js +7 -7
  177. package/optimize/lib/components/icon/assets/tokenStruct.js +1 -1
  178. package/optimize/lib/components/icon/svgs/tokens/tokenStruct.svg +1 -1
  179. package/optimize/lib/components/page/page_header/page_header_content.js +2 -2
  180. package/optimize/lib/components/panel/split_panel/split_panel.js +2 -2
  181. package/optimize/lib/components/provider/provider.js +1 -1
  182. package/optimize/lib/components/responsive/hide_for.js +4 -33
  183. package/optimize/lib/components/responsive/show_for.js +4 -33
  184. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +14 -34
  185. package/optimize/lib/components/table/table_row_cell.js +1 -3
  186. package/optimize/lib/components/toast/global_toast_list.js +206 -220
  187. package/optimize/lib/components/toast/global_toast_list.styles.js +47 -0
  188. package/optimize/lib/components/toast/global_toast_list_item.js +14 -7
  189. package/optimize/lib/components/toast/toast.js +26 -24
  190. package/optimize/lib/components/toast/toast.styles.js +66 -0
  191. package/optimize/lib/components/token/index.js +5 -3
  192. package/optimize/lib/components/token/token.js +50 -76
  193. package/optimize/lib/components/token/token.styles.js +91 -0
  194. package/optimize/lib/components/token/token_map.js +6 -9
  195. package/optimize/lib/components/token/token_types.js +22 -0
  196. package/optimize/lib/global_styling/reset/global_styles.js +1 -1
  197. package/optimize/lib/services/{breakpoint.js → breakpoint/breakpoint.js} +5 -9
  198. package/optimize/lib/services/breakpoint/currentEuiBreakpoint.js +81 -0
  199. package/optimize/lib/services/breakpoint/index.js +44 -0
  200. package/optimize/lib/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  201. package/optimize/lib/services/hooks/index.js +0 -13
  202. package/optimize/lib/services/index.js +28 -0
  203. package/package.json +2 -2
  204. package/src/components/control_bar/_control_bar.scss +1 -1
  205. package/src/components/header/_index.scss +0 -1
  206. package/src/components/index.scss +0 -5
  207. package/src/themes/amsterdam/overrides/_breadcrumbs.scss +0 -12
  208. package/src/themes/amsterdam/overrides/_index.scss +0 -4
  209. package/test-env/components/breadcrumbs/breadcrumb.js +211 -0
  210. package/test-env/components/breadcrumbs/breadcrumb.styles.js +68 -0
  211. package/test-env/components/breadcrumbs/breadcrumbs.js +122 -174
  212. package/test-env/components/breadcrumbs/breadcrumbs.styles.js +33 -0
  213. package/test-env/components/collapsible_nav/collapsible_nav.js +2 -2
  214. package/test-env/components/control_bar/control_bar.js +13 -0
  215. package/test-env/components/datagrid/body/data_grid_body.js +1 -1
  216. package/test-env/components/datagrid/body/header/data_grid_header_row.js +1 -1
  217. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  218. package/test-env/components/datagrid/data_grid.js +1 -1
  219. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  220. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  221. package/test-env/components/description_list/description_list.js +25 -30
  222. package/test-env/components/description_list/description_list.styles.js +36 -0
  223. package/test-env/components/description_list/description_list_context.js +24 -0
  224. package/test-env/components/description_list/description_list_description.js +43 -2
  225. package/test-env/components/description_list/description_list_description.styles.js +51 -0
  226. package/test-env/components/description_list/description_list_title.js +43 -2
  227. package/test-env/components/description_list/description_list_title.styles.js +50 -0
  228. package/test-env/components/description_list/description_list_types.js +20 -0
  229. package/test-env/components/header/header.js +1 -27
  230. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +24 -2
  231. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.styles.js +26 -0
  232. package/test-env/components/header/header_links/header_links.js +8 -8
  233. package/test-env/components/icon/assets/tokenStruct.js +1 -1
  234. package/test-env/components/page/page_header/page_header.js +1 -0
  235. package/test-env/components/page/page_header/page_header_content.js +3 -2
  236. package/test-env/components/page/page_template.js +1 -0
  237. package/test-env/components/pagination/pagination.js +1 -1
  238. package/test-env/components/panel/split_panel/split_panel.js +3 -3
  239. package/test-env/components/provider/provider.js +1 -1
  240. package/test-env/components/responsive/hide_for.js +5 -34
  241. package/test-env/components/responsive/show_for.js +5 -34
  242. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +15 -35
  243. package/test-env/components/side_nav/side_nav.js +1 -1
  244. package/test-env/components/table/table_row_cell.js +1 -3
  245. package/test-env/components/toast/global_toast_list.js +206 -220
  246. package/test-env/components/toast/global_toast_list.styles.js +47 -0
  247. package/test-env/components/toast/global_toast_list_item.js +14 -7
  248. package/test-env/components/toast/toast.js +27 -25
  249. package/test-env/components/toast/toast.styles.js +66 -0
  250. package/test-env/components/token/index.js +5 -3
  251. package/test-env/components/token/token.js +51 -120
  252. package/test-env/components/token/token.styles.js +91 -0
  253. package/test-env/components/token/token_map.js +6 -9
  254. package/test-env/components/token/token_types.js +22 -0
  255. package/test-env/global_styling/reset/global_styles.js +1 -1
  256. package/{lib/services → test-env/services/breakpoint}/breakpoint.js +5 -9
  257. package/test-env/services/breakpoint/currentEuiBreakpoint.js +37 -0
  258. package/test-env/services/breakpoint/index.js +44 -0
  259. package/test-env/services/breakpoint/useIsWithinBreakpoints.js +34 -0
  260. package/test-env/services/hooks/index.js +0 -13
  261. package/test-env/services/index.js +28 -0
  262. package/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
  263. package/optimize/es/services/hooks/useIsWithinBreakpoints.js +0 -46
  264. package/optimize/lib/services/hooks/useIsWithinBreakpoints.js +0 -57
  265. package/src/components/breadcrumbs/_breadcrumbs.scss +0 -79
  266. package/src/components/breadcrumbs/_index.scss +0 -2
  267. package/src/components/breadcrumbs/_variables.scss +0 -2
  268. package/src/components/description_list/_description_list.scss +0 -211
  269. package/src/components/description_list/_index.scss +0 -1
  270. package/src/components/header/header_breadcrumbs/_header_breadcrumbs.scss +0 -8
  271. package/src/components/header/header_breadcrumbs/_index.scss +0 -1
  272. package/src/components/portal/_index.scss +0 -1
  273. package/src/components/portal/_portal.scss +0 -6
  274. package/src/components/toast/_global_toast_list.scss +0 -90
  275. package/src/components/toast/_index.scss +0 -4
  276. package/src/components/toast/_toast.scss +0 -103
  277. package/src/components/token/_index.scss +0 -2
  278. package/src/components/token/_token.scss +0 -85
  279. package/src/components/token/_variables.scss +0 -13
  280. package/src/themes/amsterdam/overrides/_header_breadcrumbs.scss +0 -71
  281. package/src/themes/amsterdam/overrides/_toast.scss +0 -21
  282. package/src/themes/amsterdam/overrides/_token.scss +0 -4
  283. package/test-env/services/hooks/useIsWithinBreakpoints.js +0 -57
@@ -7,7 +7,7 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.EuiBreadcrumbs = void 0;
10
+ exports.useResponsiveMax = exports.limitBreadcrumbs = exports.EuiBreadcrumbs = void 0;
11
11
 
12
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
@@ -15,118 +15,34 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
15
 
16
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
17
 
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
18
+ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
22
- var _react = _interopRequireWildcard(require("react"));
23
-
24
22
  var _classnames = _interopRequireDefault(require("classnames"));
25
23
 
26
24
  var _i18n = require("../i18n");
27
25
 
28
- var _inner_text = require("../inner_text");
29
-
30
- var _link = require("../link");
31
-
32
- var _popover = require("../popover");
33
-
34
- var _icon = require("../icon");
35
-
36
26
  var _services = require("../../services");
37
27
 
38
- var _breakpoint = require("../../services/breakpoint");
28
+ var _breadcrumb = require("./breadcrumb");
29
+
30
+ var _breadcrumbs = require("./breadcrumbs.styles");
39
31
 
40
32
  var _react2 = require("@emotion/react");
41
33
 
42
- var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max"],
43
- _excluded2 = ["text", "href", "onClick", "truncate", "className"];
34
+ var _excluded = ["breadcrumbs", "className", "responsive", "truncate", "max", "type", "lastBreadcrumbIsCurrentPage"];
44
35
 
45
36
  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); }
46
37
 
47
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
48
39
 
49
- var CONTENT_CLASSNAME = 'euiBreadcrumb__content';
50
40
  var responsiveDefault = {
51
41
  xs: 1,
52
42
  s: 2,
53
43
  m: 4
54
44
  };
55
45
 
56
- var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max, allBreadcrumbs) {
57
- var breadcrumbsAtStart = [];
58
- var breadcrumbsAtEnd = [];
59
- var limit = Math.min(max, breadcrumbs.length);
60
- var start = Math.floor(limit / 2);
61
- var overflowBreadcrumbs = allBreadcrumbs.slice(start, start + breadcrumbs.length - limit);
62
-
63
- if (overflowBreadcrumbs.length) {
64
- overflowBreadcrumbs[overflowBreadcrumbs.length - 1]['aria-current'] = 'false';
65
- }
66
-
67
- for (var i = 0; i < limit; i++) {
68
- // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
69
- // towards breadcrumbs the end so that if max is an odd number, we'll have one more
70
- // breadcrumb visible at the end than at the beginning.
71
- var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
72
- // half-iteration.
73
-
74
- var normalizedIndex = Math.floor(i * 0.5);
75
- var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
76
- var breadcrumb = breadcrumbs[indexOfBreadcrumb];
77
-
78
- if (isEven) {
79
- breadcrumbsAtEnd.unshift(breadcrumb);
80
- } else {
81
- breadcrumbsAtStart.push(breadcrumb);
82
- }
83
- }
84
-
85
- var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed() {
86
- var _useState = (0, _react.useState)(false),
87
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
88
- isPopoverOpen = _useState2[0],
89
- setIsPopoverOpen = _useState2[1];
90
-
91
- var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
92
- var ellipsisButton = (0, _react2.jsx)(_link.EuiLink, {
93
- className: CONTENT_CLASSNAME,
94
- color: "subdued",
95
- "aria-label": ariaLabel,
96
- title: ariaLabel,
97
- onClick: function onClick() {
98
- return setIsPopoverOpen(!isPopoverOpen);
99
- }
100
- }, "\u2026 ", (0, _react2.jsx)(_icon.EuiIcon, {
101
- type: "arrowDown",
102
- size: "s"
103
- }));
104
- return (0, _react2.jsx)("li", {
105
- className: "euiBreadcrumb euiBreadcrumb--collapsed"
106
- }, (0, _react2.jsx)(_popover.EuiPopover, {
107
- button: ellipsisButton,
108
- isOpen: isPopoverOpen,
109
- closePopover: function closePopover() {
110
- return setIsPopoverOpen(false);
111
- }
112
- }, (0, _react2.jsx)(EuiBreadcrumbs, {
113
- className: "euiBreadcrumbs__inPopover",
114
- breadcrumbs: overflowBreadcrumbs,
115
- responsive: false,
116
- truncate: false,
117
- max: 0
118
- })));
119
- };
120
-
121
- if (max < breadcrumbs.length) {
122
- breadcrumbsAtStart.push((0, _react2.jsx)(EuiBreadcrumbCollapsed, {
123
- key: "collapsed"
124
- }));
125
- }
126
-
127
- return [].concat(breadcrumbsAtStart, breadcrumbsAtEnd);
128
- };
129
-
130
46
  var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
131
47
  var breadcrumbs = _ref.breadcrumbs,
132
48
  className = _ref.className,
@@ -136,94 +52,56 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
136
52
  truncate = _ref$truncate === void 0 ? true : _ref$truncate,
137
53
  _ref$max = _ref.max,
138
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,
139
59
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
140
60
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumbs.nav.ariaLabel', 'Breadcrumbs');
141
-
142
- var _useState3 = (0, _react.useState)((0, _breakpoint.getBreakpoint)(typeof window === 'undefined' ? -Infinity : window.innerWidth)),
143
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
144
- currentBreakpoint = _useState4[0],
145
- setCurrentBreakpoint = _useState4[1];
146
-
147
- var functionToCallOnWindowResize = (0, _services.throttle)(function () {
148
- var newBreakpoint = (0, _breakpoint.getBreakpoint)(window.innerWidth);
149
-
150
- if (newBreakpoint !== currentBreakpoint) {
151
- setCurrentBreakpoint(newBreakpoint);
152
- } // reacts every 50ms to resize changes and always gets the final update
153
-
154
- }, 50); // Add window resize handlers
155
-
156
- (0, _react.useEffect)(function () {
157
- window.addEventListener('resize', functionToCallOnWindowResize);
158
- return function () {
159
- window.removeEventListener('resize', functionToCallOnWindowResize);
160
- };
161
- }, [responsive, functionToCallOnWindowResize]);
162
- var breadcrumbElements = breadcrumbs.map(function (breadcrumb, index) {
163
- var text = breadcrumb.text,
164
- href = breadcrumb.href,
165
- onClick = breadcrumb.onClick,
166
- truncate = breadcrumb.truncate,
167
- breadcrumbClassName = breadcrumb.className,
168
- breadcrumbRest = (0, _objectWithoutProperties2.default)(breadcrumb, _excluded2);
169
- var isLastBreadcrumb = index === breadcrumbs.length - 1;
170
- var className = (0, _classnames.default)('euiBreadcrumb', {
171
- 'euiBreadcrumb--last': isLastBreadcrumb,
172
- 'euiBreadcrumb--truncate': truncate
173
- });
174
- var linkProps = {
175
- className: (0, _classnames.default)(CONTENT_CLASSNAME, breadcrumbClassName),
176
- 'aria-current': isLastBreadcrumb ? 'page' : undefined
177
- };
178
- var link = (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
179
- var title = innerText === '' ? undefined : innerText;
180
-
181
- if (!href && !onClick) {
182
- return (0, _react2.jsx)("span", (0, _extends2.default)({
183
- ref: ref,
184
- title: title
185
- }, linkProps, breadcrumbRest), text);
186
- }
187
-
188
- return (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({
189
- ref: ref,
190
- color: isLastBreadcrumb ? 'text' : 'subdued',
191
- onClick: onClick,
192
- href: href,
193
- title: title
194
- }, linkProps, breadcrumbRest), text);
61
+ var euiTheme = (0, _services.useEuiTheme)();
62
+ var breadcrumbsListStyles = (0, _breadcrumbs.euiBreadcrumbsListStyles)(euiTheme);
63
+ var cssBreadcrumbsListStyles = [breadcrumbsListStyles.euiBreadcrumbs__list, truncate && breadcrumbsListStyles.isTruncated];
64
+ var responsiveMax = useResponsiveMax(responsive, max);
65
+ var visibleBreadcrumbs = (0, _react.useMemo)(function () {
66
+ var shouldCollapseBreadcrumbs = responsiveMax && breadcrumbs.length > responsiveMax;
67
+ return shouldCollapseBreadcrumbs ? limitBreadcrumbs(breadcrumbs, responsiveMax) : breadcrumbs;
68
+ }, [breadcrumbs, responsiveMax]);
69
+ var breadcrumbChildren = (0, _react.useMemo)(function () {
70
+ return visibleBreadcrumbs.map(function (breadcrumb, index) {
71
+ var isFirstBreadcrumb = index === 0;
72
+ var isLastBreadcrumb = index === visibleBreadcrumbs.length - 1;
73
+ var isOnlyBreadcrumb = visibleBreadcrumbs.length === 1;
74
+ var sharedProps = {
75
+ type: type,
76
+ truncate: truncate
77
+ };
78
+ return breadcrumb.isCollapsedButton ? (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbCollapsed, (0, _extends2.default)({
79
+ key: "collapsed"
80
+ }, sharedProps, {
81
+ isFirstBreadcrumb: isFirstBreadcrumb
82
+ }), (0, _react2.jsx)(EuiBreadcrumbs, {
83
+ breadcrumbs: breadcrumb.overflowBreadcrumbs,
84
+ lastBreadcrumbIsCurrentPage: false,
85
+ responsive: false,
86
+ truncate: false,
87
+ max: 0
88
+ })) : (0, _react2.jsx)(_breadcrumb.EuiBreadcrumb, (0, _extends2.default)({
89
+ key: index
90
+ }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, (0, _extends2.default)({
91
+ isFirstBreadcrumb: isFirstBreadcrumb,
92
+ isLastBreadcrumb: isLastBreadcrumb,
93
+ isOnlyBreadcrumb: isOnlyBreadcrumb,
94
+ highlightLastBreadcrumb: isLastBreadcrumb && lastBreadcrumbIsCurrentPage
95
+ }, sharedProps, breadcrumb)));
195
96
  });
196
- return (0, _react2.jsx)("li", {
197
- className: className,
198
- key: index
199
- }, link);
200
- }); // Use the default object if they simply passed `true` for responsive
201
-
202
- var responsiveObject = (0, _typeof2.default)(responsive) === 'object' ? responsive : responsiveDefault; // The max property collapses any breadcrumbs past the max quantity.
203
- // This is the same behavior we want for responsiveness.
204
- // So calculate the max value based on the combination of `max` and `responsive`
205
-
206
- var calculatedMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
207
-
208
- if (responsive && responsiveObject[currentBreakpoint]) {
209
- calculatedMax = responsiveObject[currentBreakpoint];
210
- } // Final check is to make sure max is used over a larger breakpoint value
211
-
212
-
213
- if (max && calculatedMax) {
214
- calculatedMax = max < calculatedMax ? max : calculatedMax;
215
- }
216
-
217
- var limitedBreadcrumbs = calculatedMax ? limitBreadcrumbs(breadcrumbElements, calculatedMax, breadcrumbs) : breadcrumbElements;
218
- var classes = (0, _classnames.default)('euiBreadcrumbs', className, {
219
- 'euiBreadcrumbs--truncate': truncate
220
- });
97
+ }, [visibleBreadcrumbs, truncate, type, lastBreadcrumbIsCurrentPage]);
221
98
  return (0, _react2.jsx)("nav", (0, _extends2.default)({
222
99
  "aria-label": ariaLabel,
223
- className: classes
100
+ className: (0, _classnames.default)('euiBreadcrumbs', className)
224
101
  }, rest), (0, _react2.jsx)("ol", {
225
- className: "euiBreadcrumbs__list"
226
- }, limitedBreadcrumbs));
102
+ className: "euiBreadcrumbs__list",
103
+ css: cssBreadcrumbsListStyles
104
+ }, breadcrumbChildren));
227
105
  };
228
106
 
229
107
  exports.EuiBreadcrumbs = EuiBreadcrumbs;
@@ -264,6 +142,7 @@ EuiBreadcrumbs.propTypes = {
264
142
  "aria-label": _propTypes.default.string,
265
143
  "data-test-subj": _propTypes.default.string,
266
144
  href: _propTypes.default.string,
145
+ rel: _propTypes.default.string,
267
146
  onClick: _propTypes.default.func,
268
147
 
269
148
  /**
@@ -285,5 +164,74 @@ EuiBreadcrumbs.propTypes = {
285
164
  * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
286
165
  */
287
166
  "aria-current": _propTypes.default.any
288
- }).isRequired).isRequired
289
- };
167
+ }).isRequired).isRequired,
168
+
169
+ /**
170
+ * Determines breadcrumbs appearance, with `page` being the default styling.
171
+ * Application breadcrumbs should only be once per page, in (e.g.) EuiHeader
172
+ */
173
+ type: _propTypes.default.oneOf(["page", "application"]),
174
+
175
+ /**
176
+ * Whether the last breadcrumb should visually (and accessibly, to screen readers)
177
+ * be highlighted as the current page. Defaults to true.
178
+ */
179
+ lastBreadcrumbIsCurrentPage: _propTypes.default.bool
180
+ };
181
+
182
+ var useResponsiveMax = function useResponsiveMax(responsive, max) {
183
+ // Use the default object if they simply passed `true` for responsive
184
+ var responsiveObject = (0, _typeof2.default)(responsive) === 'object' ? responsive : responsiveDefault; // The max property collapses any breadcrumbs past the max quantity.
185
+ // This is the same behavior we want for responsiveness.
186
+ // So calculate the max value based on the combination of `max` and `responsive`
187
+
188
+ var responsiveMax = max; // Set the calculated max to the number associated with the currentBreakpoint key if it exists
189
+
190
+ var currentBreakpoint = (0, _services.useCurrentEuiBreakpoint)();
191
+
192
+ if (responsive && currentBreakpoint && responsiveObject[currentBreakpoint]) {
193
+ responsiveMax = responsiveObject[currentBreakpoint];
194
+ } // Final check is to make sure max is used over a larger breakpoint value
195
+
196
+
197
+ if (max && responsiveMax) {
198
+ responsiveMax = max < responsiveMax ? max : responsiveMax;
199
+ }
200
+
201
+ return responsiveMax;
202
+ };
203
+
204
+ exports.useResponsiveMax = useResponsiveMax;
205
+
206
+ var limitBreadcrumbs = function limitBreadcrumbs(breadcrumbs, max) {
207
+ var breadcrumbsAtStart = [];
208
+ var breadcrumbsAtEnd = [];
209
+ var limit = Math.min(max, breadcrumbs.length);
210
+ var start = Math.floor(limit / 2);
211
+ var overflowBreadcrumbs = breadcrumbs.slice(start, start + breadcrumbs.length - limit);
212
+
213
+ for (var i = 0; i < limit; i++) {
214
+ // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased
215
+ // towards breadcrumbs the end so that if max is an odd number, we'll have one more
216
+ // breadcrumb visible at the end than at the beginning.
217
+ var isEven = i % 2 === 0; // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a
218
+ // half-iteration.
219
+
220
+ var normalizedIndex = Math.floor(i * 0.5);
221
+ var indexOfBreadcrumb = isEven ? breadcrumbs.length - 1 - normalizedIndex : normalizedIndex;
222
+ var breadcrumb = breadcrumbs[indexOfBreadcrumb];
223
+
224
+ if (isEven) {
225
+ breadcrumbsAtEnd.unshift(breadcrumb);
226
+ } else {
227
+ breadcrumbsAtStart.push(breadcrumb);
228
+ }
229
+ }
230
+
231
+ return [].concat(breadcrumbsAtStart, [{
232
+ isCollapsedButton: true,
233
+ overflowBreadcrumbs: overflowBreadcrumbs
234
+ }], breadcrumbsAtEnd);
235
+ };
236
+
237
+ 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;
@@ -263,7 +263,7 @@ EuiCollapsibleNav.propTypes = {
263
263
  /**
264
264
  * Named breakpoint or pixel value for customizing the minimum window width to enable docking
265
265
  */
266
- pushMinBreakpoint: _propTypes.default.oneOfType([_propTypes.default.oneOf(["xs", "s", "m", "l", "xl"]).isRequired, _propTypes.default.number.isRequired]),
266
+ pushMinBreakpoint: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.number.isRequired]),
267
267
  style: _propTypes.default.any,
268
268
 
269
269
  /**
@@ -287,7 +287,7 @@ EuiCollapsibleNav.propTypes = {
287
287
  * Keeps navigation flyout visible and push `<body>` content via padding
288
288
  */
289
289
  isDocked: _propTypes.default.bool,
290
- dockedBreakpoint: _propTypes.default.oneOfType([_propTypes.default.oneOf(["xs", "s", "m", "l", "xl"]).isRequired, _propTypes.default.number.isRequired]),
290
+ dockedBreakpoint: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.number.isRequired]),
291
291
 
292
292
  /**
293
293
  * Button for controlling visible state of the nav
@@ -371,6 +371,7 @@ EuiControlBar.propTypes = {
371
371
  "aria-label": _propTypes.default.string,
372
372
  "data-test-subj": _propTypes.default.string,
373
373
  href: _propTypes.default.string,
374
+ rel: _propTypes.default.string,
374
375
  onClick: _propTypes.default.func,
375
376
 
376
377
  /**
@@ -393,6 +394,18 @@ EuiControlBar.propTypes = {
393
394
  */
394
395
  "aria-current": _propTypes.default.any
395
396
  }).isRequired),
397
+
398
+ /**
399
+ * Determines breadcrumbs appearance, with `page` being the default styling.
400
+ * Application breadcrumbs should only be once per page, in (e.g.) EuiHeader
401
+ */
402
+ type: _propTypes.default.oneOf(["page", "application"]),
403
+
404
+ /**
405
+ * Whether the last breadcrumb should visually (and accessibly, to screen readers)
406
+ * be highlighted as the current page. Defaults to true.
407
+ */
408
+ lastBreadcrumbIsCurrentPage: _propTypes.default.bool,
396
409
  text: _propTypes.default.node,
397
410
  iconType: _propTypes.default.string
398
411
  }).isRequired).isRequired,
@@ -947,7 +947,7 @@ EuiDataGridBody.propTypes = {
947
947
  /**
948
948
  * The color associated with this data type; it's used to color the icon token
949
949
  */
950
- color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.oneOf(["euiColorVis0", "euiColorVis1", "euiColorVis2", "euiColorVis3", "euiColorVis4", "euiColorVis5", "euiColorVis6", "euiColorVis7", "euiColorVis8", "euiColorVis9", "gray"]).isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
950
+ color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
951
951
 
952
952
  /**
953
953
  * Text for how to represent an ascending sort of this data type, e.g. 'A -> Z'
@@ -571,7 +571,7 @@ EuiDataGridHeaderRow.propTypes = {
571
571
  /**
572
572
  * The color associated with this data type; it's used to color the icon token
573
573
  */
574
- color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.oneOf(["euiColorVis0", "euiColorVis1", "euiColorVis2", "euiColorVis3", "euiColorVis4", "euiColorVis5", "euiColorVis6", "euiColorVis7", "euiColorVis8", "euiColorVis9", "gray"]).isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
574
+ color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
575
575
 
576
576
  /**
577
577
  * Text for how to represent an ascending sort of this data type, e.g. 'A -> Z'
@@ -210,7 +210,7 @@ EuiDataGridColumnSortingDraggable.propTypes = {
210
210
  /**
211
211
  * The color associated with this data type; it's used to color the icon token
212
212
  */
213
- color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.oneOf(["euiColorVis0", "euiColorVis1", "euiColorVis2", "euiColorVis3", "euiColorVis4", "euiColorVis5", "euiColorVis6", "euiColorVis7", "euiColorVis8", "euiColorVis9", "gray"]).isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
213
+ color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
214
214
 
215
215
  /**
216
216
  * Text for how to represent an ascending sort of this data type, e.g. 'A -> Z'
@@ -932,7 +932,7 @@ EuiDataGrid.propTypes = {
932
932
  /**
933
933
  * The color associated with this data type; it's used to color the icon token
934
934
  */
935
- color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.oneOf(["euiColorVis0", "euiColorVis1", "euiColorVis2", "euiColorVis3", "euiColorVis4", "euiColorVis5", "euiColorVis6", "euiColorVis7", "euiColorVis8", "euiColorVis9", "gray"]).isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
935
+ color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.string.isRequired]).isRequired, _propTypes.default.string.isRequired]),
936
936
 
937
937
  /**
938
938
  * Text for how to represent an ascending sort of this data type, e.g. 'A -> Z'
@@ -669,7 +669,7 @@ EuiSuperDatePickerInternal.propTypes = {
669
669
  * Forces state to be `iconOnly` when within provided breakpoints.
670
670
  * Remove completely with `false` or provide your own list of breakpoints.
671
671
  */
672
- responsive: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.arrayOf(_propTypes.default.oneOf(["xs", "s", "m", "l", "xl"]).isRequired).isRequired])
672
+ responsive: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.arrayOf(_propTypes.default.any.isRequired).isRequired])
673
673
  }),
674
674
  timeOptions: _propTypes.default.shape({
675
675
  timeTenseOptions: _propTypes.default.arrayOf(_propTypes.default.any.isRequired).isRequired,
@@ -808,6 +808,6 @@ EuiSuperDatePicker.propTypes = {
808
808
  onMouseOut: _propTypes.default.func
809
809
  }),
810
810
  iconOnly: _propTypes.default.bool,
811
- responsive: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.arrayOf(_propTypes.default.oneOf(["xs", "s", "m", "l", "xl"]).isRequired).isRequired])
811
+ responsive: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.arrayOf(_propTypes.default.any.isRequired).isRequired])
812
812
  })
813
813
  };
@@ -285,5 +285,5 @@ EuiSuperUpdateButton.propTypes = {
285
285
  * Forces state to be `iconOnly` when within provided breakpoints.
286
286
  * Remove completely with `false` or provide your own list of breakpoints.
287
287
  */
288
- responsive: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.arrayOf(_propTypes.default.oneOf(["xs", "s", "m", "l", "xl"]).isRequired).isRequired])
288
+ responsive: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.arrayOf(_propTypes.default.any.isRequired).isRequired])
289
289
  };
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.TYPES = exports.TEXT_STYLES = exports.EuiDescriptionList = exports.ALIGNMENTS = void 0;
8
+ exports.EuiDescriptionList = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -21,31 +21,15 @@ var _description_list_title = require("./description_list_title");
21
21
 
22
22
  var _description_list_description = require("./description_list_description");
23
23
 
24
- var _common = require("../common");
24
+ var _services = require("../../services");
25
+
26
+ var _description_list = require("./description_list.styles");
27
+
28
+ var _description_list_context = require("./description_list_context");
25
29
 
26
30
  var _react2 = require("@emotion/react");
27
31
 
28
32
  var _excluded = ["align", "children", "className", "compressed", "descriptionProps", "listItems", "textStyle", "titleProps", "type"];
29
- var typesToClassNameMap = {
30
- row: 'euiDescriptionList--row',
31
- inline: 'euiDescriptionList--inline',
32
- column: 'euiDescriptionList--column',
33
- responsiveColumn: 'euiDescriptionList--responsiveColumn'
34
- };
35
- var TYPES = (0, _common.keysOf)(typesToClassNameMap);
36
- exports.TYPES = TYPES;
37
- var alignmentsToClassNameMap = {
38
- center: 'euiDescriptionList--center',
39
- left: ''
40
- };
41
- var ALIGNMENTS = (0, _common.keysOf)(alignmentsToClassNameMap);
42
- exports.ALIGNMENTS = ALIGNMENTS;
43
- var textStylesToClassNameMap = {
44
- normal: '',
45
- reverse: 'euiDescriptionList--reverse'
46
- };
47
- var TEXT_STYLES = (0, _common.keysOf)(textStylesToClassNameMap);
48
- exports.TEXT_STYLES = TEXT_STYLES;
49
33
 
50
34
  var EuiDescriptionList = function EuiDescriptionList(_ref) {
51
35
  var _ref$align = _ref.align,
@@ -62,9 +46,10 @@ var EuiDescriptionList = function EuiDescriptionList(_ref) {
62
46
  _ref$type = _ref.type,
63
47
  type = _ref$type === void 0 ? 'row' : _ref$type,
64
48
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
65
- var classes = (0, _classnames.default)('euiDescriptionList', type ? typesToClassNameMap[type] : undefined, align ? alignmentsToClassNameMap[align] : undefined, textStyle ? textStylesToClassNameMap[textStyle] : undefined, {
66
- 'euiDescriptionList--compressed': compressed
67
- }, className);
49
+ var euiTheme = (0, _services.useEuiTheme)();
50
+ var styles = (0, _description_list.euiDescriptionListStyles)(euiTheme);
51
+ var cssStyles = [styles.euiDescriptionList, styles[type], styles[align]];
52
+ var classes = (0, _classnames.default)('euiDescriptionList', className);
68
53
  var childrenOrListItems = null;
69
54
 
70
55
  if (listItems) {
@@ -79,9 +64,19 @@ var EuiDescriptionList = function EuiDescriptionList(_ref) {
79
64
  childrenOrListItems = children;
80
65
  }
81
66
 
82
- return (0, _react2.jsx)("dl", (0, _extends2.default)({
83
- className: classes
84
- }, rest), childrenOrListItems);
67
+ return (0, _react2.jsx)(_description_list_context.EuiDescriptionListContext.Provider, {
68
+ value: {
69
+ type: type,
70
+ compressed: compressed,
71
+ textStyle: textStyle,
72
+ align: align
73
+ }
74
+ }, (0, _react2.jsx)("dl", (0, _extends2.default)({
75
+ className: classes,
76
+ css: cssStyles
77
+ }, rest, {
78
+ "data-type": type
79
+ }), childrenOrListItems));
85
80
  };
86
81
 
87
82
  exports.EuiDescriptionList = EuiDescriptionList;
@@ -97,7 +92,7 @@ EuiDescriptionList.propTypes = {
97
92
  /**
98
93
  * Text alignment
99
94
  */
100
- align: _propTypes.default.oneOf(["center", "left"]),
95
+ align: _propTypes.default.any,
101
96
 
102
97
  /**
103
98
  * Smaller text and condensed spacing
@@ -113,7 +108,7 @@ EuiDescriptionList.propTypes = {
113
108
  /**
114
109
  * How each item should be laid out
115
110
  */
116
- type: _propTypes.default.oneOf(["row", "inline", "column", "responsiveColumn"]),
111
+ type: _propTypes.default.any,
117
112
 
118
113
  /**
119
114
  * Props object to be passed to `EuiDescriptionListTitle`
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiDescriptionListStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+ var euiDescriptionListStyles = function euiDescriptionListStyles(euiThemeContext) {
20
+ // Flex display for column and responsive column
21
+ var columnDisplay = "\n display: flex;\n align-items: baseline;\n flex-wrap: wrap; \n ";
22
+ return {
23
+ euiDescriptionList: /*#__PURE__*/(0, _react.css)(";label:euiDescriptionList;"),
24
+ // Types
25
+ row: /*#__PURE__*/(0, _react.css)(";label:row;"),
26
+ inline: /*#__PURE__*/(0, _react.css)(";label:inline;"),
27
+ column: /*#__PURE__*/(0, _react.css)(columnDisplay, ";;label:column;"),
28
+ // Responsive columns behave as a row on breakpoints xs-s
29
+ responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
30
+ // Alignment
31
+ center: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('center'), ";;label:center;"),
32
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('left'), ";;label:left;")
33
+ };
34
+ };
35
+
36
+ exports.euiDescriptionListStyles = euiDescriptionListStyles;