@elastic/eui 115.0.0 → 116.0.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 (275) hide show
  1. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  2. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  3. package/es/components/combo_box/combo_box.a11y.js +5 -5
  4. package/es/components/combo_box/combo_box.js +61 -53
  5. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +147 -84
  6. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  7. package/es/components/context_menu/context_menu.js +19 -21
  8. package/es/components/context_menu/context_menu.styles.js +5 -2
  9. package/es/components/context_menu/context_menu_item.js +69 -58
  10. package/es/components/context_menu/context_menu_item.styles.js +14 -28
  11. package/es/components/context_menu/context_menu_panel.js +37 -21
  12. package/es/components/context_menu/context_menu_panel.styles.js +7 -2
  13. package/es/components/context_menu/context_menu_panel_title.js +124 -0
  14. package/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  15. package/es/components/context_menu/index.js +2 -1
  16. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -29
  17. package/es/components/datagrid/body/data_grid_body.js +23 -17
  18. package/es/components/datagrid/body/data_grid_body_custom.js +23 -17
  19. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  20. package/es/components/datagrid/body/header/column_actions.js +1 -2
  21. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  22. package/es/components/datagrid/controls/column_sorting.js +23 -17
  23. package/es/components/datagrid/utils/in_memory.js +23 -17
  24. package/es/components/filter_group/filter_group.a11y.js +8 -2
  25. package/es/components/flyout/flyout_menu.js +1 -4
  26. package/es/components/form/checkbox/checkbox.js +6 -6
  27. package/es/components/form/checkbox/checkbox.styles.js +1 -22
  28. package/es/components/form/checkbox/checkbox_control.js +78 -0
  29. package/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  30. package/es/components/form/checkbox/index.js +1 -0
  31. package/es/components/form/form.styles.js +2 -1
  32. package/es/components/form/radio/radio.styles.js +1 -1
  33. package/es/components/form/super_select/super_select.js +118 -99
  34. package/es/components/form/super_select/super_select.styles.js +4 -8
  35. package/es/components/form/super_select/super_select_item.js +10 -18
  36. package/es/components/link/external_link_icon.js +4 -2
  37. package/es/components/list_group/list_group.js +20 -34
  38. package/es/components/list_group/list_group.styles.js +2 -16
  39. package/es/components/list_group/list_group_item.js +75 -86
  40. package/es/components/list_group/list_group_item.styles.js +17 -61
  41. package/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  42. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  43. package/es/components/list_item_layout/_list_item_layout.js +692 -0
  44. package/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  45. package/es/components/list_item_layout/index.js +9 -0
  46. package/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  47. package/es/components/selectable/selectable.js +1 -0
  48. package/es/components/selectable/selectable_list/selectable_list.js +52 -36
  49. package/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  50. package/es/components/selectable/selectable_list/selectable_list_item.js +45 -152
  51. package/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  52. package/es/components/selectable/selectable_search/selectable_search.js +4 -1
  53. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  54. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  55. package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  56. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  57. package/es/global_styling/mixins/_helpers.js +32 -11
  58. package/eui.d.ts +10397 -8051
  59. package/i18ntokens.json +2607 -2589
  60. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  61. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  62. package/lib/components/combo_box/combo_box.a11y.js +5 -5
  63. package/lib/components/combo_box/combo_box.js +61 -53
  64. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  65. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  66. package/lib/components/context_menu/context_menu.js +20 -22
  67. package/lib/components/context_menu/context_menu.styles.js +4 -1
  68. package/lib/components/context_menu/context_menu_item.js +70 -59
  69. package/lib/components/context_menu/context_menu_item.styles.js +13 -27
  70. package/lib/components/context_menu/context_menu_panel.js +37 -21
  71. package/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  72. package/lib/components/context_menu/context_menu_panel_title.js +130 -0
  73. package/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  74. package/lib/components/context_menu/index.js +8 -1
  75. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -29
  76. package/lib/components/datagrid/body/data_grid_body.js +23 -17
  77. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -17
  78. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  79. package/lib/components/datagrid/body/header/column_actions.js +1 -2
  80. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  81. package/lib/components/datagrid/controls/column_sorting.js +23 -17
  82. package/lib/components/datagrid/utils/in_memory.js +23 -17
  83. package/lib/components/filter_group/filter_group.a11y.js +8 -2
  84. package/lib/components/flyout/flyout_menu.js +1 -4
  85. package/lib/components/form/checkbox/checkbox.js +6 -6
  86. package/lib/components/form/checkbox/checkbox.styles.js +1 -22
  87. package/lib/components/form/checkbox/checkbox_control.js +84 -0
  88. package/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  89. package/lib/components/form/checkbox/index.js +7 -0
  90. package/lib/components/form/form.styles.js +2 -1
  91. package/lib/components/form/radio/radio.styles.js +1 -1
  92. package/lib/components/form/super_select/super_select.js +116 -97
  93. package/lib/components/form/super_select/super_select.styles.js +4 -8
  94. package/lib/components/form/super_select/super_select_item.js +13 -18
  95. package/lib/components/link/external_link_icon.js +4 -2
  96. package/lib/components/list_group/list_group.js +21 -35
  97. package/lib/components/list_group/list_group.styles.js +2 -16
  98. package/lib/components/list_group/list_group_item.js +75 -86
  99. package/lib/components/list_group/list_group_item.styles.js +17 -61
  100. package/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  101. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  102. package/lib/components/list_item_layout/_list_item_layout.js +699 -0
  103. package/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  104. package/lib/components/list_item_layout/index.js +12 -0
  105. package/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  106. package/lib/components/selectable/selectable.js +1 -0
  107. package/lib/components/selectable/selectable_list/selectable_list.js +50 -34
  108. package/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  109. package/lib/components/selectable/selectable_list/selectable_list_item.js +44 -152
  110. package/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  111. package/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  112. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  113. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  114. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  115. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  116. package/lib/global_styling/mixins/_helpers.js +33 -12
  117. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  118. package/optimize/es/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  119. package/optimize/es/components/combo_box/combo_box.a11y.js +5 -5
  120. package/optimize/es/components/combo_box/combo_box.js +60 -52
  121. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -83
  122. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +8 -7
  123. package/optimize/es/components/context_menu/context_menu.js +18 -13
  124. package/optimize/es/components/context_menu/context_menu.styles.js +5 -2
  125. package/optimize/es/components/context_menu/context_menu_item.js +55 -53
  126. package/optimize/es/components/context_menu/context_menu_item.styles.js +14 -28
  127. package/optimize/es/components/context_menu/context_menu_panel.js +36 -17
  128. package/optimize/es/components/context_menu/context_menu_panel.styles.js +7 -2
  129. package/optimize/es/components/context_menu/context_menu_panel_title.js +53 -0
  130. package/optimize/es/components/context_menu/context_menu_panel_title.styles.js +20 -0
  131. package/optimize/es/components/context_menu/index.js +2 -1
  132. package/optimize/es/components/datagrid/body/header/column_actions.js +1 -2
  133. package/optimize/es/components/filter_group/filter_group.a11y.js +8 -2
  134. package/optimize/es/components/flyout/flyout_menu.js +1 -4
  135. package/optimize/es/components/form/checkbox/checkbox.js +6 -6
  136. package/optimize/es/components/form/checkbox/checkbox.styles.js +1 -22
  137. package/optimize/es/components/form/checkbox/checkbox_control.js +48 -0
  138. package/optimize/es/components/form/checkbox/checkbox_control.styles.js +40 -0
  139. package/optimize/es/components/form/checkbox/index.js +1 -0
  140. package/optimize/es/components/form/form.styles.js +2 -1
  141. package/optimize/es/components/form/radio/radio.styles.js +1 -1
  142. package/optimize/es/components/form/super_select/super_select.js +118 -90
  143. package/optimize/es/components/form/super_select/super_select.styles.js +4 -8
  144. package/optimize/es/components/form/super_select/super_select_item.js +10 -14
  145. package/optimize/es/components/link/external_link_icon.js +4 -2
  146. package/optimize/es/components/list_group/list_group.js +7 -14
  147. package/optimize/es/components/list_group/list_group.styles.js +2 -16
  148. package/optimize/es/components/list_group/list_group_item.js +62 -79
  149. package/optimize/es/components/list_group/list_group_item.styles.js +17 -61
  150. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +6 -6
  151. package/optimize/es/components/list_item_layout/_list_item_layout.js +353 -0
  152. package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +93 -0
  153. package/optimize/es/components/list_item_layout/index.js +9 -0
  154. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +2 -1
  155. package/optimize/es/components/selectable/selectable_list/selectable_list.js +48 -33
  156. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +19 -4
  157. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +41 -143
  158. package/optimize/es/components/selectable/selectable_list/utils/get_list_item_size.js +17 -0
  159. package/optimize/es/components/selectable/selectable_search/selectable_search.js +4 -1
  160. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  161. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  162. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  163. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  164. package/optimize/es/global_styling/mixins/_helpers.js +32 -11
  165. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -4
  166. package/optimize/lib/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  167. package/optimize/lib/components/combo_box/combo_box.a11y.js +5 -5
  168. package/optimize/lib/components/combo_box/combo_box.js +60 -52
  169. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +143 -81
  170. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  171. package/optimize/lib/components/context_menu/context_menu.js +19 -14
  172. package/optimize/lib/components/context_menu/context_menu.styles.js +4 -1
  173. package/optimize/lib/components/context_menu/context_menu_item.js +56 -54
  174. package/optimize/lib/components/context_menu/context_menu_item.styles.js +13 -27
  175. package/optimize/lib/components/context_menu/context_menu_panel.js +36 -17
  176. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +7 -2
  177. package/optimize/lib/components/context_menu/context_menu_panel_title.js +59 -0
  178. package/optimize/lib/components/context_menu/context_menu_panel_title.styles.js +26 -0
  179. package/optimize/lib/components/context_menu/index.js +8 -1
  180. package/optimize/lib/components/datagrid/body/header/column_actions.js +1 -2
  181. package/optimize/lib/components/filter_group/filter_group.a11y.js +8 -2
  182. package/optimize/lib/components/flyout/flyout_menu.js +1 -4
  183. package/optimize/lib/components/form/checkbox/checkbox.js +6 -6
  184. package/optimize/lib/components/form/checkbox/checkbox.styles.js +1 -22
  185. package/optimize/lib/components/form/checkbox/checkbox_control.js +54 -0
  186. package/optimize/lib/components/form/checkbox/checkbox_control.styles.js +44 -0
  187. package/optimize/lib/components/form/checkbox/index.js +7 -0
  188. package/optimize/lib/components/form/form.styles.js +2 -1
  189. package/optimize/lib/components/form/radio/radio.styles.js +1 -1
  190. package/optimize/lib/components/form/super_select/super_select.js +116 -88
  191. package/optimize/lib/components/form/super_select/super_select.styles.js +4 -8
  192. package/optimize/lib/components/form/super_select/super_select_item.js +13 -14
  193. package/optimize/lib/components/link/external_link_icon.js +4 -2
  194. package/optimize/lib/components/list_group/list_group.js +8 -15
  195. package/optimize/lib/components/list_group/list_group.styles.js +2 -16
  196. package/optimize/lib/components/list_group/list_group_item.js +62 -79
  197. package/optimize/lib/components/list_group/list_group_item.styles.js +17 -61
  198. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +5 -5
  199. package/optimize/lib/components/list_item_layout/_list_item_layout.js +361 -0
  200. package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +97 -0
  201. package/optimize/lib/components/list_item_layout/index.js +12 -0
  202. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +2 -1
  203. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +46 -31
  204. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  205. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +41 -143
  206. package/optimize/lib/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  207. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +4 -1
  208. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  209. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  210. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  211. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  212. package/optimize/lib/global_styling/mixins/_helpers.js +33 -12
  213. package/package.json +4 -4
  214. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +14 -11
  215. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +0 -1
  216. package/test-env/components/combo_box/combo_box.a11y.js +5 -5
  217. package/test-env/components/combo_box/combo_box.js +61 -53
  218. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +145 -82
  219. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +7 -6
  220. package/test-env/components/context_menu/context_menu.js +20 -22
  221. package/test-env/components/context_menu/context_menu.styles.js +4 -1
  222. package/test-env/components/context_menu/context_menu_item.js +67 -59
  223. package/test-env/components/context_menu/context_menu_item.styles.js +13 -27
  224. package/test-env/components/context_menu/context_menu_panel.js +37 -21
  225. package/test-env/components/context_menu/context_menu_panel.styles.js +7 -2
  226. package/test-env/components/context_menu/context_menu_panel_title.js +129 -0
  227. package/test-env/components/context_menu/context_menu_panel_title.styles.js +26 -0
  228. package/test-env/components/context_menu/index.js +8 -1
  229. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -29
  230. package/test-env/components/datagrid/body/data_grid_body.js +23 -17
  231. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -17
  232. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -17
  233. package/test-env/components/datagrid/body/header/column_actions.js +1 -2
  234. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  235. package/test-env/components/datagrid/controls/column_sorting.js +23 -17
  236. package/test-env/components/datagrid/utils/in_memory.js +23 -17
  237. package/test-env/components/filter_group/filter_group.a11y.js +8 -2
  238. package/test-env/components/flyout/flyout_menu.js +1 -4
  239. package/test-env/components/form/checkbox/checkbox.js +6 -6
  240. package/test-env/components/form/checkbox/checkbox.styles.js +1 -22
  241. package/test-env/components/form/checkbox/checkbox_control.js +83 -0
  242. package/test-env/components/form/checkbox/checkbox_control.styles.js +44 -0
  243. package/test-env/components/form/checkbox/index.js +7 -0
  244. package/test-env/components/form/form.styles.js +2 -1
  245. package/test-env/components/form/radio/radio.styles.js +1 -1
  246. package/test-env/components/form/super_select/super_select.js +116 -97
  247. package/test-env/components/form/super_select/super_select.styles.js +4 -8
  248. package/test-env/components/form/super_select/super_select_item.js +13 -18
  249. package/test-env/components/link/external_link_icon.js +4 -2
  250. package/test-env/components/list_group/list_group.js +21 -35
  251. package/test-env/components/list_group/list_group.styles.js +2 -16
  252. package/test-env/components/list_group/list_group_item.js +75 -86
  253. package/test-env/components/list_group/list_group_item.styles.js +17 -61
  254. package/test-env/components/list_group/list_group_item_extra_action.styles.js +5 -5
  255. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -28
  256. package/test-env/components/list_item_layout/_list_item_layout.js +691 -0
  257. package/test-env/components/list_item_layout/_list_item_layout.styles.js +97 -0
  258. package/test-env/components/list_item_layout/index.js +12 -0
  259. package/test-env/components/search_bar/filters/field_value_selection_filter.js +2 -1
  260. package/test-env/components/selectable/selectable.js +1 -0
  261. package/test-env/components/selectable/selectable_list/selectable_list.js +50 -34
  262. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +20 -5
  263. package/test-env/components/selectable/selectable_list/selectable_list_item.js +42 -147
  264. package/test-env/components/selectable/selectable_list/utils/get_list_item_size.js +23 -0
  265. package/test-env/components/selectable/selectable_search/selectable_search.js +4 -1
  266. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  267. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +2 -12
  268. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +1 -1
  269. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -1
  270. package/test-env/global_styling/mixins/_helpers.js +33 -12
  271. package/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  272. package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  273. package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +0 -55
  274. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
  275. package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +0 -59
@@ -1,11 +1,11 @@
1
- var _excluded = ["children", "className", "disabled", "checked", "isFocused", "showIcons", "prepend", "append", "allowExclusions", "onFocusBadge", "paddingSize", "role", "searchable", "textWrap", "toolTipContent", "toolTipProps", "aria-describedby"],
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "className", "disabled", "checked", "isFocused", "showIcons", "prepend", "append", "allowExclusions", "singleSelection", "onFocusBadge", "role", "searchable", "toolTipContent", "toolTipProps"],
2
3
  _excluded2 = ["children", "className"];
3
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
4
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
6
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
9
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
10
10
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
11
11
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
@@ -19,40 +19,12 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
19
19
 
20
20
  import classNames from 'classnames';
21
21
  import PropTypes from "prop-types";
22
- import React, { useState, useEffect, useMemo } from 'react';
23
- import { useEuiMemoizedStyles } from '../../../services';
22
+ import React, { useMemo } from 'react';
24
23
  import { EuiI18n } from '../../i18n';
25
- import { EuiIcon } from '../../icon';
26
24
  import { EuiScreenReaderOnly } from '../../accessibility';
27
25
  import { EuiBadge } from '../../badge';
28
- import { EuiToolTip } from '../../tool_tip';
29
- import { euiSelectableListItemStyles } from './selectable_list_item.styles';
26
+ import { EuiListItemLayout } from '../../list_item_layout/_list_item_layout';
30
27
  import { jsx as ___EmotionJSX } from "@emotion/react";
31
- function resolveIconAndColor(checked) {
32
- switch (checked) {
33
- case 'on':
34
- return {
35
- icon: 'check',
36
- color: 'text'
37
- };
38
- case 'off':
39
- return {
40
- icon: 'cross',
41
- color: 'text'
42
- };
43
- case 'mixed':
44
- return {
45
- icon: 'minus',
46
- color: 'text'
47
- };
48
- case undefined:
49
- default:
50
- return {
51
- icon: 'empty'
52
- };
53
- }
54
- }
55
- export var PADDING_SIZES = ['none', 's'];
56
28
  export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
57
29
  var children = _ref.children,
58
30
  className = _ref.className,
@@ -64,46 +36,19 @@ export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
64
36
  prepend = _ref.prepend,
65
37
  append = _ref.append,
66
38
  allowExclusions = _ref.allowExclusions,
39
+ _ref$singleSelection = _ref.singleSelection,
40
+ singleSelection = _ref$singleSelection === void 0 ? true : _ref$singleSelection,
67
41
  _ref$onFocusBadge = _ref.onFocusBadge,
68
- onFocusBadge = _ref$onFocusBadge === void 0 ? true : _ref$onFocusBadge,
69
- _ref$paddingSize = _ref.paddingSize,
70
- paddingSize = _ref$paddingSize === void 0 ? 's' : _ref$paddingSize,
42
+ onFocusBadge = _ref$onFocusBadge === void 0 ? false : _ref$onFocusBadge,
71
43
  _ref$role = _ref.role,
72
44
  role = _ref$role === void 0 ? 'option' : _ref$role,
73
45
  searchable = _ref.searchable,
74
- _ref$textWrap = _ref.textWrap,
75
- textWrap = _ref$textWrap === void 0 ? 'truncate' : _ref$textWrap,
76
46
  toolTipContent = _ref.toolTipContent,
77
47
  toolTipProps = _ref.toolTipProps,
78
- _ariaDescribedBy = _ref['aria-describedby'],
79
48
  rest = _objectWithoutProperties(_ref, _excluded);
80
49
  var classes = classNames('euiSelectableListItem', {
81
50
  'euiSelectableListItem-isFocused': isFocused
82
51
  }, className);
83
- var styles = useEuiMemoizedStyles(euiSelectableListItemStyles);
84
- var cssStyles = [styles.euiSelectableListItem, styles.padding[paddingSize]];
85
- var textStyles = [styles.euiSelectableListItem__text, styles.textWrap[textWrap]];
86
- var optionIcon = useMemo(function () {
87
- if (showIcons) {
88
- var _resolveIconAndColor = resolveIconAndColor(checked),
89
- icon = _resolveIconAndColor.icon,
90
- color = _resolveIconAndColor.color;
91
- return ___EmotionJSX(EuiIcon, {
92
- css: styles.euiSelectableListItem__icon,
93
- className: "euiSelectableListItem__icon",
94
- color: color,
95
- type: icon
96
- });
97
- }
98
- }, [showIcons, checked, styles]);
99
- var prependNode = useMemo(function () {
100
- if (prepend) {
101
- return ___EmotionJSX("span", {
102
- css: styles.euiSelectableListItem__prepend,
103
- className: "euiSelectableListItem__prepend"
104
- }, prepend);
105
- }
106
- }, [prepend, styles]);
107
52
  var onFocusBadgeNode = useMemo(function () {
108
53
  var defaultOnFocusBadgeProps = {
109
54
  'aria-hidden': true,
@@ -124,15 +69,6 @@ export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
124
69
  }, defaultOnFocusBadgeProps, restBadgeProps), _children);
125
70
  }
126
71
  }, [onFocusBadge]);
127
- var showOnFocusBadge = !!(isFocused && !disabled && onFocusBadgeNode);
128
- var appendNode = useMemo(function () {
129
- if (append || showOnFocusBadge) {
130
- return ___EmotionJSX("span", {
131
- css: styles.euiSelectableListItem__append,
132
- className: "euiSelectableListItem__append"
133
- }, append, " ", showOnFocusBadge ? onFocusBadgeNode : null);
134
- }
135
- }, [append, showOnFocusBadge, onFocusBadgeNode, styles]);
136
72
  var screenReaderText = useMemo(function () {
137
73
  var state;
138
74
  var instructions;
@@ -202,80 +138,40 @@ export var EuiSelectableListItem = function EuiSelectableListItem(_ref) {
202
138
  }
203
139
  return state || instructions ? ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("div", null, state || instructions ? '. ' : null, state, state && instructions ? ' ' : null, instructions)) : null;
204
140
  }, [checked, searchable, allowExclusions]);
205
-
206
- // aria-checked is intended to be used with role="checkbox" but
207
- // the MDN documentation lists it as a possibility for role="option".
208
- // See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-checked
209
- // and https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/option_role
210
- var ariaChecked = useMemo(function () {
211
- var rolesThatCanBeMixed = ['option', 'checkbox', 'menuitemcheckbox'];
212
- var rolesThatCanBeChecked = [].concat(rolesThatCanBeMixed, ['radio', 'menuitemradio', 'switch']);
213
- if (!rolesThatCanBeChecked.includes(role)) return undefined;
214
- switch (checked) {
215
- case 'on':
216
- case 'off':
217
- return true;
218
- case 'mixed':
219
- if (rolesThatCanBeMixed.includes(role)) {
220
- return 'mixed';
221
- } else {
222
- return false;
223
- }
224
- default:
225
- return false;
226
- }
227
- }, [role, checked]);
228
141
  var hasToolTip = !!toolTipContent && !disabled;
229
- var _useState = useState(null),
230
- _useState2 = _slicedToArray(_useState, 2),
231
- tooltipRef = _useState2[0],
232
- setTooltipRef = _useState2[1]; // Needs to be state and not a ref to trigger useEffect
233
- var _useState3 = useState(_ariaDescribedBy),
234
- _useState4 = _slicedToArray(_useState3, 2),
235
- ariaDescribedBy = _useState4[0],
236
- setAriaDescribedBy = _useState4[1];
237
-
238
- // Manually trigger the tooltip on keyboard focus
239
- useEffect(function () {
240
- if (!tooltipRef) return;
241
- if (isFocused) {
242
- tooltipRef.showToolTip();
243
- } else {
244
- tooltipRef.hideToolTip();
245
- }
246
- }, [isFocused, tooltipRef]);
247
-
248
- // Manually set the `aria-describedby` id on the <li> wrapper
249
- useEffect(function () {
250
- if (tooltipRef) {
251
- var tooltipId = tooltipRef.id;
252
- setAriaDescribedBy(classNames(tooltipId, _ariaDescribedBy));
253
- }
254
- }, [tooltipRef, _ariaDescribedBy]);
255
- var content = ___EmotionJSX("span", {
256
- css: styles.euiSelectableListItem__content,
257
- className: "euiSelectableListItem__content"
258
- }, optionIcon, prependNode, ___EmotionJSX("span", {
259
- css: textStyles,
260
- className: "euiSelectableListItem__text"
261
- }, children, screenReaderText), appendNode);
262
- return ___EmotionJSX("li", _extends({
142
+ var showOnFocusBadge = isFocused && !disabled && !!onFocusBadgeNode;
143
+ var listItemLayoutProps = _objectSpread({
144
+ element: 'li',
263
145
  role: role,
264
- "aria-disabled": disabled,
265
- "aria-checked": ariaChecked // Whether the item is "checked"
266
- ,
267
- "aria-selected": !disabled && isFocused // Whether the item has keyboard focus per W3 spec
268
- ,
269
- css: cssStyles,
270
- className: classes
271
- }, rest, {
272
- "aria-describedby": ariaDescribedBy
273
- }), hasToolTip ? ___EmotionJSX(EuiToolTip, _extends({
274
- ref: setTooltipRef,
275
- content: toolTipContent,
276
- anchorClassName: "eui-fullWidth",
277
- position: "left"
278
- }, toolTipProps), content) : content);
146
+ className: classes,
147
+ checked: checked,
148
+ isDisabled: disabled,
149
+ isFocused: !disabled && isFocused,
150
+ isSelected: checked !== undefined,
151
+ isSingleSelection: singleSelection,
152
+ selectionMode: allowExclusions || checked === 'mixed' ? 'checked' : undefined,
153
+ showIndicator: showIcons,
154
+ prepend: prepend,
155
+ prependProps: {
156
+ className: 'euiSelectableListItem__prepend'
157
+ },
158
+ append: (append || showOnFocusBadge) && ___EmotionJSX(React.Fragment, null, append, showOnFocusBadge ? onFocusBadgeNode : null),
159
+ appendProps: {
160
+ className: 'euiSelectableListItem__append'
161
+ },
162
+ contentProps: {
163
+ className: 'euiSelectableListItem__content'
164
+ },
165
+ textProps: {
166
+ className: 'euiSelectableListItem__text'
167
+ },
168
+ tooltipProps: hasToolTip ? _objectSpread({
169
+ content: toolTipContent,
170
+ anchorClassName: 'eui-fullWidth',
171
+ position: 'left'
172
+ }, toolTipProps) : undefined
173
+ }, rest);
174
+ return ___EmotionJSX(EuiListItemLayout, listItemLayoutProps, children, screenReaderText);
279
175
  };
280
176
  EuiSelectableListItem.propTypes = {
281
177
  className: PropTypes.string,
@@ -299,6 +195,7 @@ EuiSelectableListItem.propTypes = {
299
195
  prepend: PropTypes.node,
300
196
  append: PropTypes.node,
301
197
  allowExclusions: PropTypes.bool,
198
+ singleSelection: PropTypes.bool,
302
199
  /**
303
200
  * When enabled by setting to either `true` or passing custom a custom badge,
304
201
  * shows a hollow badge as an append (far right) when the item is focused.
@@ -355,10 +252,6 @@ EuiSelectableListItem.propTypes = {
355
252
  target: PropTypes.string,
356
253
  rel: PropTypes.string
357
254
  }).isRequired]),
358
- /**
359
- * Padding for the list items.
360
- */
361
- paddingSize: PropTypes.any,
362
255
  /**
363
256
  * Whether the `EuiSelectable` instance is searchable.
364
257
  * When true, the Space key will not toggle selection, as it will type into the search box instead. Screen reader instructions will be added instructing users to use the Enter key to select items.
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ /**
10
+ * Util to calculate (virtualized) selection list item size
11
+ */
12
+ export var getListItemSize = function getListItemSize(index, rowHeight, isGroupLabel) {
13
+ if (isGroupLabel && index > 0) {
14
+ return rowHeight + 16; // 16px = the additional 2 * 8px padding of the divider line
15
+ }
16
+ return rowHeight;
17
+ };
@@ -1,4 +1,4 @@
1
- var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className", "optionMatcher"];
1
+ var _excluded = ["onChange", "options", "value", "placeholder", "isPreFiltered", "listId", "className", "optionMatcher", "compressed"];
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
4
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
@@ -24,6 +24,8 @@ export var EuiSelectableSearch = function EuiSelectableSearch(_ref) {
24
24
  listId = _ref.listId,
25
25
  className = _ref.className,
26
26
  optionMatcher = _ref.optionMatcher,
27
+ _ref$compressed = _ref.compressed,
28
+ compressed = _ref$compressed === void 0 ? true : _ref$compressed,
27
29
  rest = _objectWithoutProperties(_ref, _excluded);
28
30
  var onChange = useCallback(function (e) {
29
31
  var searchValue = e.target.value;
@@ -51,6 +53,7 @@ export var EuiSelectableSearch = function EuiSelectableSearch(_ref) {
51
53
  incremental: true,
52
54
  fullWidth: true,
53
55
  autoComplete: "off",
56
+ compressed: compressed,
54
57
  "aria-haspopup": "listbox"
55
58
  }, ariaPropsIfListIsPresent, rest));
56
59
  };
@@ -207,7 +207,7 @@ export var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewid
207
207
  className: searchClasses
208
208
  }),
209
209
  listProps: _objectSpread(_objectSpread({
210
- rowHeight: 68,
210
+ rowHeight: 52,
211
211
  showIcons: false,
212
212
  onFocusBadge: {
213
213
  iconSide: 'right',
@@ -11,14 +11,6 @@ import { css } from '@emotion/react';
11
11
  import { euiPaletteColorBlind, makeHighContrastColor } from '../../../services';
12
12
  import { euiFontSize, logicalCSS } from '../../../global_styling';
13
13
  var _ref = process.env.NODE_ENV === "production" ? {
14
- name: "q12130-euiSelectableTemplateSitewide__listItem",
15
- styles: "&:hover,&.euiSelectableListItem-isFocused{&:not([aria-disabled='true']){.euiSelectableListItem__text{text-decoration:none;}.euiSelectableTemplateSitewide__listItemTitle{text-decoration:underline;}}};label:euiSelectableTemplateSitewide__listItem;"
16
- } : {
17
- name: "q12130-euiSelectableTemplateSitewide__listItem",
18
- styles: "&:hover,&.euiSelectableListItem-isFocused{&:not([aria-disabled='true']){.euiSelectableListItem__text{text-decoration:none;}.euiSelectableTemplateSitewide__listItemTitle{text-decoration:underline;}}};label:euiSelectableTemplateSitewide__listItem;",
19
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
20
- };
21
- var _ref2 = process.env.NODE_ENV === "production" ? {
22
14
  name: "rsb9r7-euiSelectableTemplateSitewide",
23
15
  styles: "display:block;label:euiSelectableTemplateSitewide;"
24
16
  } : {
@@ -30,10 +22,8 @@ export var euiSelectableTemplateSitewideStyles = function euiSelectableTemplateS
30
22
  var euiTheme = euiThemeContext.euiTheme;
31
23
  var visColors = euiPaletteColorBlind();
32
24
  return {
33
- euiSelectableTemplateSitewide: _ref2,
34
- // Override EuiSelectable's default item underline
35
- euiSelectableTemplateSitewide__listItem: _ref,
36
- euiSelectableTemplateSitewide__optionMetasList: /*#__PURE__*/css("display:block;", logicalCSS('margin-top', euiTheme.size.xs), " ", euiFontSize(euiThemeContext, 'xs'), " color:", euiTheme.colors.textSubdued, ";;label:euiSelectableTemplateSitewide__optionMetasList;"),
25
+ euiSelectableTemplateSitewide: _ref,
26
+ euiSelectableTemplateSitewide__optionMetasList: /*#__PURE__*/css("display:block;", euiFontSize(euiThemeContext, 'xs'), " color:", euiTheme.colors.textSubdued, ";;label:euiSelectableTemplateSitewide__optionMetasList;"),
37
27
  euiSelectableTemplateSitewide__optionMeta: /*#__PURE__*/css("&:not(:last-of-type)::after{content:'\u2022';", logicalCSS('margin-horizontal', euiTheme.size.xs), " color:", euiTheme.colors.textSubdued, ";};label:euiSelectableTemplateSitewide__optionMeta;"),
38
28
  metaTypes: {
39
29
  fontWeight: "\n font-weight: ".concat(euiTheme.font.weight.medium, ";\n "),
@@ -49,7 +49,7 @@ export var euiSelectableTemplateSitewideFormatOptions = function euiSelectableTe
49
49
  key: item.label,
50
50
  title: title
51
51
  }, item), {}, {
52
- css: [styles.euiSelectableTemplateSitewide__listItem, item.css],
52
+ css: item.css,
53
53
  className: classNames('euiSelectableTemplateSitewide__listItem', item.className),
54
54
  prepend: item.icon ? ___EmotionJSX(EuiIcon, _extends({
55
55
  color: "subdued",
@@ -30,7 +30,7 @@ export var EuiSelectableTemplateSitewidePopover = function EuiSelectableTemplate
30
30
  rest = _objectWithoutProperties(_ref, _excluded);
31
31
  var styles = useEuiMemoizedStyles(euiSelectableTemplateSitewidePopoverStyles);
32
32
  return ___EmotionJSX(EuiPopover, _extends({
33
- panelPaddingSize: "none",
33
+ panelPaddingSize: "s",
34
34
  anchorPosition: "downCenter",
35
35
  isOpen: isOpen,
36
36
  ownFocus: !!trigger,
@@ -6,6 +6,7 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
+ import { euiCanAnimate, euiCantAnimate } from '@elastic/eui-theme-common';
9
10
  import { useEuiTheme } from '../../services/theme';
10
11
  import { transparentize } from '../../services/color';
11
12
  import { logicalCSS, logicalCSSWithFallback } from '../functions';
@@ -47,11 +48,15 @@ export var useEuiScrollBar = function useEuiScrollBar(options) {
47
48
  * Overflow shadow masks for use in YScroll and XScroll helpers
48
49
  */
49
50
 
50
- var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
51
- var size = _ref3.euiTheme.size;
51
+ export var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
52
+ var _ref3$euiTheme = _ref3.euiTheme,
53
+ size = _ref3$euiTheme.size,
54
+ colors = _ref3$euiTheme.colors;
52
55
  var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
53
56
  _direction = _ref4.direction,
54
- _side = _ref4.side;
57
+ _side = _ref4.side,
58
+ _ref4$hasAnimatedOver = _ref4.hasAnimatedOverflowShadow,
59
+ hasAnimatedOverflowShadow = _ref4$hasAnimatedOver === void 0 ? false : _ref4$hasAnimatedOver;
55
60
  var direction = _direction || 'y';
56
61
  var side = _side || 'both';
57
62
  var hideHeight = size.s;
@@ -75,11 +80,20 @@ var euiOverflowShadowStyles = function euiOverflowShadowStyles(_ref3) {
75
80
  // - https://github.com/elastic/kibana/issues/180828
76
81
  // - https://github.com/elastic/eui/pull/6343#issuecomment-1302732021
77
82
  var chromiumMaskWorkaround = 'transform: translateZ(0);';
78
- if (direction === 'y') {
79
- return "mask-image: linear-gradient(to bottom, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
80
- } else {
81
- return "mask-image: linear-gradient(to right, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
83
+ var overflowShadowStatic = direction === 'y' ? "mask-image: linear-gradient(to bottom, ".concat(gradient, "); ").concat(chromiumMaskWorkaround) : "mask-image: linear-gradient(to right, ".concat(gradient, "); ").concat(chromiumMaskWorkaround);
84
+
85
+ // If supported, use the scroll timeline API to animate the gradient to show/hide it on the scroll edges.
86
+ // We only support vertical scrolling as horizontal scrolling has increased complexity on element dimensions.
87
+ if (hasAnimatedOverflowShadow && direction === 'y') {
88
+ var featureFlag = 'animation-timeline: scroll()';
89
+ var gradientStartColor = "var(--euiOverflowShadowColor, ".concat(colors.backgroundBasePlain, ")");
90
+ var gradientEndColor = 'transparent';
91
+ var gradientSize = size.base;
92
+ var gradientScrollRange = size.m;
93
+ var commonPseudoElementStyles = "\n content: '';\n display: block;\n position: sticky;\n z-index: 1;\n block-size: ".concat(gradientSize, ";\n pointer-events: none;\n ");
94
+ return "\n @supports not (".concat(featureFlag, ") {\n ").concat(overflowShadowStatic, "\n }\n\n ").concat(euiCantAnimate, " {\n ").concat(overflowShadowStatic, "\n }\n\n ").concat(euiCanAnimate, " {\n @supports (").concat(featureFlag, ") {\n @keyframes show { \n from { opacity: 0 } \n to { opacity: 1 }\n }\n @keyframes hide { \n from { opacity: 1 }\n to { opacity: 0 }\n }\n\n position: relative;\n\n /* Gradient on start edge */\n &::before {\n ").concat(commonPseudoElementStyles, "\n inset-block-start: 0;\n /* prevent pushing down the content */\n ").concat(logicalCSS('margin-bottom', "-".concat(gradientSize)), " \n /* uses CSS custom property to support customization depending on layout wrapper background color */\n background: linear-gradient(to bottom, ").concat(gradientStartColor, ", ").concat(gradientEndColor, ");\n \n opacity: 0;\n animation: show linear both;\n animation-timeline: scroll(y);\n animation-range: 0px ").concat(gradientScrollRange, ";\n }\n\n /* Gradient on end edge */\n &::after {\n ").concat(commonPseudoElementStyles, "\n inset-block-end: 0;\n /* prevent adding extra space */\n ").concat(logicalCSS('margin-top', "-".concat(gradientSize)), " \n background: linear-gradient(to top, ").concat(gradientStartColor, ", ").concat(gradientEndColor, ");\n\n \n /* NOTE: To ensure the bottom gradient is not visible when the container has no overflow,\n we need to use opacity: 0 as default. Using two animations with 'animation-fill-mode: forwards'\n ensures the show/hide animation works both with and without overflow. */\n /* scroll animation */\n opacity: 0;\n animation-name: show, hide;\n animation-timing-function: step-start, linear;\n animation-fill-mode: forwards;\n animation-timeline: scroll(y);\n animation-range: 0% 100%, calc(100% - ").concat(gradientScrollRange, ") 100%;\n }\n }\n }\n ");
82
95
  }
96
+ return overflowShadowStatic;
83
97
  };
84
98
 
85
99
  /**
@@ -105,20 +119,27 @@ export var euiYScrollWithShadows = function euiYScrollWithShadows(euiTheme) {
105
119
  var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
106
120
  height = _ref7.height,
107
121
  _ref7$side = _ref7.side,
108
- side = _ref7$side === void 0 ? 'both' : _ref7$side;
122
+ side = _ref7$side === void 0 ? 'both' : _ref7$side,
123
+ _ref7$hasAnimatedOver = _ref7.hasAnimatedOverflowShadow,
124
+ hasAnimatedOverflowShadow = _ref7$hasAnimatedOver === void 0 ? false : _ref7$hasAnimatedOver;
109
125
  return "\n ".concat(euiYScroll(euiTheme, {
110
126
  height: height
111
127
  }), "\n ").concat(euiOverflowShadowStyles(euiTheme, {
112
128
  direction: 'y',
113
- side: side
129
+ side: side,
130
+ hasAnimatedOverflowShadow: hasAnimatedOverflowShadow
114
131
  }), "\n");
115
132
  };
116
133
  export var useEuiYScrollWithShadows = function useEuiYScrollWithShadows() {
117
134
  var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
118
- height = _ref8.height;
135
+ height = _ref8.height,
136
+ side = _ref8.side,
137
+ hasAnimatedOverflowShadow = _ref8.hasAnimatedOverflowShadow;
119
138
  var euiTheme = useEuiTheme();
120
139
  return euiYScrollWithShadows(euiTheme, {
121
- height: height
140
+ height: height,
141
+ side: side,
142
+ hasAnimatedOverflowShadow: hasAnimatedOverflowShadow
122
143
  });
123
144
  };
124
145
  export var euiXScroll = function euiXScroll(euiTheme) {