@elastic/eui 93.2.0 → 93.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/eui_charts_theme.d.ts +9 -0
  2. package/dist/eui_charts_theme.js +56 -14
  3. package/dist/eui_charts_theme.js.map +1 -1
  4. package/dist/eui_theme_dark.css +3 -0
  5. package/dist/eui_theme_dark.min.css +1 -1
  6. package/dist/eui_theme_light.css +3 -0
  7. package/dist/eui_theme_light.min.css +1 -1
  8. package/es/components/breadcrumbs/_breadcrumb_content.js +362 -0
  9. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  10. package/es/components/breadcrumbs/breadcrumb.js +10 -324
  11. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  12. package/es/components/breadcrumbs/breadcrumbs.js +8 -6
  13. package/es/components/breadcrumbs/types.js +1 -0
  14. package/es/components/button/button_display/_button_display.js +2 -3
  15. package/es/components/button/button_empty/button_empty.js +2 -3
  16. package/es/components/button/button_group/button_group.js +19 -7
  17. package/es/components/button/button_group/button_group.styles.js +11 -14
  18. package/es/components/button/button_group/button_group_button.js +59 -5
  19. package/es/components/button/button_group/button_group_button.styles.js +39 -3
  20. package/es/components/button/button_icon/button_icon.js +4 -5
  21. package/es/components/button/button_icon/button_icon.styles.js +11 -3
  22. package/es/components/datagrid/body/cell/data_grid_cell.js +102 -59
  23. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  24. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  25. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  26. package/es/components/datagrid/body/cell/index.js +1 -1
  27. package/es/components/datagrid/body/data_grid_body.js +14 -0
  28. package/es/components/datagrid/body/data_grid_body_custom.js +54 -35
  29. package/es/components/datagrid/body/data_grid_body_virtualized.js +87 -56
  30. package/es/components/datagrid/body/data_grid_row_manager.js +7 -5
  31. package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  32. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
  33. package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
  34. package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
  35. package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  36. package/es/components/datagrid/controls/column_selector.js +126 -123
  37. package/es/components/datagrid/controls/column_sorting.js +605 -103
  38. package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  39. package/es/components/datagrid/controls/display_selector.js +109 -107
  40. package/es/components/datagrid/data_grid.a11y.js +13 -12
  41. package/es/components/datagrid/data_grid.js +47 -22
  42. package/es/components/datagrid/utils/col_widths.js +12 -8
  43. package/es/components/datagrid/utils/focus.js +10 -8
  44. package/es/components/datagrid/utils/grid_height_width.js +31 -30
  45. package/es/components/datagrid/utils/ref.js +1 -1
  46. package/es/components/datagrid/utils/row_heights.js +2 -2
  47. package/es/components/datagrid/utils/sorting.js +29 -27
  48. package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  49. package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
  50. package/es/components/facet/facet_button.styles.js +1 -2
  51. package/es/components/flex/flex_grid.js +22 -8
  52. package/es/components/flex/flex_grid.styles.js +13 -6
  53. package/es/components/flex/flex_group.js +10 -11
  54. package/es/components/flex/flex_item.js +9 -11
  55. package/es/components/flex/flex_item.styles.js +107 -122
  56. package/es/components/flyout/flyout.js +16 -18
  57. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  58. package/es/components/icon/icon.js +13 -16
  59. package/es/components/icon/icon.styles.js +6 -9
  60. package/es/components/link/external_link_icon.js +11 -8
  61. package/es/components/link/link.js +2 -3
  62. package/es/components/link/link.styles.js +4 -10
  63. package/es/components/modal/confirm_modal.js +2 -1
  64. package/es/components/modal/modal.js +12 -3
  65. package/es/components/observer/resize_observer/resize_observer.js +15 -24
  66. package/es/components/page/page_header/page_header_content.js +4 -2
  67. package/es/components/progress/progress.styles.js +2 -2
  68. package/es/components/skeleton/skeleton_circle.js +2 -3
  69. package/es/components/skeleton/skeleton_rectangle.js +2 -3
  70. package/es/components/skeleton/skeleton_text.js +16 -12
  71. package/es/components/skeleton/skeleton_title.js +2 -3
  72. package/es/components/spacer/spacer.js +2 -3
  73. package/es/components/text/text.js +2 -3
  74. package/es/components/text/text_align.js +1 -2
  75. package/es/components/text/text_align.styles.js +5 -7
  76. package/es/components/text/text_color.js +2 -3
  77. package/es/components/title/title.js +2 -3
  78. package/es/components/title/title.styles.js +0 -7
  79. package/es/components/toast/global_toast_list.js +70 -73
  80. package/es/components/toast/toast.js +27 -42
  81. package/es/components/toast/toast.styles.js +2 -17
  82. package/es/global_styling/mixins/_typography.js +17 -6
  83. package/es/services/color/eui_palettes.js +21 -13
  84. package/es/services/color/index.js +1 -1
  85. package/es/services/hooks/index.js +1 -0
  86. package/es/services/hooks/useDeepEqual.js +23 -0
  87. package/es/services/index.js +1 -1
  88. package/es/services/theme/index.js +1 -1
  89. package/es/services/theme/style_memoization.js +47 -14
  90. package/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  91. package/eui.d.ts +2862 -2748
  92. package/i18ntokens.json +267 -267
  93. package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
  94. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  95. package/lib/components/breadcrumbs/breadcrumb.js +11 -328
  96. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  97. package/lib/components/breadcrumbs/breadcrumbs.js +7 -5
  98. package/lib/components/breadcrumbs/types.js +5 -0
  99. package/lib/components/button/button_display/_button_display.js +1 -2
  100. package/lib/components/button/button_empty/button_empty.js +1 -2
  101. package/lib/components/button/button_group/button_group.js +18 -6
  102. package/lib/components/button/button_group/button_group.styles.js +11 -14
  103. package/lib/components/button/button_group/button_group_button.js +59 -5
  104. package/lib/components/button/button_group/button_group_button.styles.js +45 -11
  105. package/lib/components/button/button_icon/button_icon.js +3 -4
  106. package/lib/components/button/button_icon/button_icon.styles.js +10 -2
  107. package/lib/components/datagrid/body/cell/data_grid_cell.js +100 -58
  108. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  109. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  110. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  111. package/lib/components/datagrid/body/cell/index.js +2 -2
  112. package/lib/components/datagrid/body/data_grid_body.js +14 -0
  113. package/lib/components/datagrid/body/data_grid_body_custom.js +53 -34
  114. package/lib/components/datagrid/body/data_grid_body_virtualized.js +86 -55
  115. package/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
  116. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  117. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  118. package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  119. package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
  120. package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  121. package/lib/components/datagrid/controls/column_selector.js +126 -123
  122. package/lib/components/datagrid/controls/column_sorting.js +615 -110
  123. package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  124. package/lib/components/datagrid/controls/display_selector.js +109 -107
  125. package/lib/components/datagrid/data_grid.a11y.js +13 -12
  126. package/lib/components/datagrid/data_grid.js +45 -20
  127. package/lib/components/datagrid/utils/col_widths.js +12 -8
  128. package/lib/components/datagrid/utils/focus.js +10 -8
  129. package/lib/components/datagrid/utils/grid_height_width.js +29 -28
  130. package/lib/components/datagrid/utils/ref.js +1 -1
  131. package/lib/components/datagrid/utils/row_heights.js +1 -1
  132. package/lib/components/datagrid/utils/sorting.js +31 -29
  133. package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  134. package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
  135. package/lib/components/facet/facet_button.styles.js +1 -2
  136. package/lib/components/flex/flex_grid.js +23 -7
  137. package/lib/components/flex/flex_grid.styles.js +13 -6
  138. package/lib/components/flex/flex_group.js +10 -10
  139. package/lib/components/flex/flex_item.js +13 -13
  140. package/lib/components/flex/flex_item.styles.js +107 -122
  141. package/lib/components/flyout/flyout.js +16 -18
  142. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  143. package/lib/components/icon/icon.js +12 -15
  144. package/lib/components/icon/icon.styles.js +5 -8
  145. package/lib/components/link/external_link_icon.js +10 -7
  146. package/lib/components/link/link.js +1 -2
  147. package/lib/components/link/link.styles.js +6 -14
  148. package/lib/components/modal/confirm_modal.js +2 -1
  149. package/lib/components/modal/modal.js +12 -3
  150. package/lib/components/observer/resize_observer/resize_observer.js +15 -24
  151. package/lib/components/page/page_header/page_header_content.js +4 -2
  152. package/lib/components/progress/progress.styles.js +1 -1
  153. package/lib/components/skeleton/skeleton_circle.js +1 -2
  154. package/lib/components/skeleton/skeleton_rectangle.js +1 -2
  155. package/lib/components/skeleton/skeleton_text.js +18 -11
  156. package/lib/components/skeleton/skeleton_title.js +1 -2
  157. package/lib/components/spacer/spacer.js +1 -2
  158. package/lib/components/text/text.js +1 -2
  159. package/lib/components/text/text_align.js +1 -2
  160. package/lib/components/text/text_align.styles.js +5 -7
  161. package/lib/components/text/text_color.js +1 -2
  162. package/lib/components/title/title.js +1 -2
  163. package/lib/components/title/title.styles.js +2 -10
  164. package/lib/components/toast/global_toast_list.js +68 -71
  165. package/lib/components/toast/toast.js +25 -40
  166. package/lib/components/toast/toast.styles.js +11 -25
  167. package/lib/global_styling/mixins/_typography.js +27 -19
  168. package/lib/services/color/eui_palettes.js +24 -14
  169. package/lib/services/color/index.js +14 -0
  170. package/lib/services/hooks/index.js +11 -0
  171. package/lib/services/hooks/useDeepEqual.js +30 -0
  172. package/lib/services/index.js +15 -1
  173. package/lib/services/theme/index.js +6 -0
  174. package/lib/services/theme/style_memoization.js +49 -16
  175. package/lib/themes/amsterdam/global_styling/mixins/button.js +49 -25
  176. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
  177. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  178. package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -109
  179. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  180. package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
  181. package/optimize/es/components/breadcrumbs/types.js +1 -0
  182. package/optimize/es/components/button/button_display/_button_display.js +2 -3
  183. package/optimize/es/components/button/button_empty/button_empty.js +2 -3
  184. package/optimize/es/components/button/button_group/button_group.js +5 -7
  185. package/optimize/es/components/button/button_group/button_group.styles.js +11 -14
  186. package/optimize/es/components/button/button_group/button_group_button.js +36 -4
  187. package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
  188. package/optimize/es/components/button/button_icon/button_icon.js +4 -5
  189. package/optimize/es/components/button/button_icon/button_icon.styles.js +8 -3
  190. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +83 -56
  191. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  192. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  193. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  194. package/optimize/es/components/datagrid/body/cell/index.js +1 -1
  195. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +40 -35
  196. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +71 -49
  197. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +7 -5
  198. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  199. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  201. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
  202. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  203. package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
  204. package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
  205. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  206. package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
  207. package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
  208. package/optimize/es/components/datagrid/data_grid.js +47 -22
  209. package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
  210. package/optimize/es/components/datagrid/utils/focus.js +10 -8
  211. package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
  212. package/optimize/es/components/datagrid/utils/ref.js +1 -1
  213. package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
  214. package/optimize/es/components/datagrid/utils/sorting.js +29 -27
  215. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
  216. package/optimize/es/components/facet/facet_button.styles.js +1 -2
  217. package/optimize/es/components/flex/flex_grid.js +19 -8
  218. package/optimize/es/components/flex/flex_grid.styles.js +13 -6
  219. package/optimize/es/components/flex/flex_group.js +9 -10
  220. package/optimize/es/components/flex/flex_item.js +9 -11
  221. package/optimize/es/components/flex/flex_item.styles.js +107 -122
  222. package/optimize/es/components/flyout/flyout.js +16 -18
  223. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  224. package/optimize/es/components/icon/icon.js +13 -16
  225. package/optimize/es/components/icon/icon.styles.js +6 -9
  226. package/optimize/es/components/link/external_link_icon.js +11 -8
  227. package/optimize/es/components/link/link.js +2 -3
  228. package/optimize/es/components/link/link.styles.js +4 -10
  229. package/optimize/es/components/modal/confirm_modal.js +2 -1
  230. package/optimize/es/components/modal/modal.js +6 -2
  231. package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
  232. package/optimize/es/components/progress/progress.styles.js +2 -2
  233. package/optimize/es/components/skeleton/skeleton_circle.js +2 -3
  234. package/optimize/es/components/skeleton/skeleton_rectangle.js +2 -3
  235. package/optimize/es/components/skeleton/skeleton_text.js +16 -12
  236. package/optimize/es/components/skeleton/skeleton_title.js +2 -3
  237. package/optimize/es/components/spacer/spacer.js +2 -3
  238. package/optimize/es/components/text/text.js +2 -3
  239. package/optimize/es/components/text/text_align.js +1 -2
  240. package/optimize/es/components/text/text_align.styles.js +5 -7
  241. package/optimize/es/components/text/text_color.js +2 -3
  242. package/optimize/es/components/title/title.js +2 -3
  243. package/optimize/es/components/title/title.styles.js +0 -7
  244. package/optimize/es/components/toast/global_toast_list.js +70 -73
  245. package/optimize/es/components/toast/toast.js +27 -42
  246. package/optimize/es/components/toast/toast.styles.js +2 -17
  247. package/optimize/es/global_styling/mixins/_typography.js +14 -6
  248. package/optimize/es/services/color/eui_palettes.js +21 -13
  249. package/optimize/es/services/color/index.js +1 -1
  250. package/optimize/es/services/hooks/index.js +1 -0
  251. package/optimize/es/services/hooks/useDeepEqual.js +23 -0
  252. package/optimize/es/services/index.js +1 -1
  253. package/optimize/es/services/theme/index.js +1 -1
  254. package/optimize/es/services/theme/style_memoization.js +47 -14
  255. package/optimize/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  256. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
  257. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  258. package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -112
  259. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  260. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  261. package/optimize/lib/components/breadcrumbs/types.js +5 -0
  262. package/optimize/lib/components/button/button_display/_button_display.js +1 -2
  263. package/optimize/lib/components/button/button_empty/button_empty.js +1 -2
  264. package/optimize/lib/components/button/button_group/button_group.js +4 -6
  265. package/optimize/lib/components/button/button_group/button_group.styles.js +11 -14
  266. package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
  267. package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
  268. package/optimize/lib/components/button/button_icon/button_icon.js +3 -4
  269. package/optimize/lib/components/button/button_icon/button_icon.styles.js +8 -2
  270. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +81 -55
  271. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  272. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  273. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  274. package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
  275. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +39 -34
  276. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +72 -50
  277. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
  278. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  279. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  280. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  281. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
  282. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  283. package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
  284. package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
  285. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  286. package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
  287. package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
  288. package/optimize/lib/components/datagrid/data_grid.js +45 -20
  289. package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
  290. package/optimize/lib/components/datagrid/utils/focus.js +10 -8
  291. package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
  292. package/optimize/lib/components/datagrid/utils/ref.js +1 -1
  293. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  294. package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
  295. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
  296. package/optimize/lib/components/facet/facet_button.styles.js +1 -2
  297. package/optimize/lib/components/flex/flex_grid.js +21 -7
  298. package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
  299. package/optimize/lib/components/flex/flex_group.js +9 -9
  300. package/optimize/lib/components/flex/flex_item.js +13 -13
  301. package/optimize/lib/components/flex/flex_item.styles.js +107 -122
  302. package/optimize/lib/components/flyout/flyout.js +16 -18
  303. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  304. package/optimize/lib/components/icon/icon.js +12 -15
  305. package/optimize/lib/components/icon/icon.styles.js +5 -8
  306. package/optimize/lib/components/link/external_link_icon.js +10 -7
  307. package/optimize/lib/components/link/link.js +1 -2
  308. package/optimize/lib/components/link/link.styles.js +6 -14
  309. package/optimize/lib/components/modal/confirm_modal.js +2 -1
  310. package/optimize/lib/components/modal/modal.js +6 -2
  311. package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
  312. package/optimize/lib/components/progress/progress.styles.js +1 -1
  313. package/optimize/lib/components/skeleton/skeleton_circle.js +1 -2
  314. package/optimize/lib/components/skeleton/skeleton_rectangle.js +1 -2
  315. package/optimize/lib/components/skeleton/skeleton_text.js +18 -11
  316. package/optimize/lib/components/skeleton/skeleton_title.js +1 -2
  317. package/optimize/lib/components/spacer/spacer.js +1 -2
  318. package/optimize/lib/components/text/text.js +1 -2
  319. package/optimize/lib/components/text/text_align.js +1 -2
  320. package/optimize/lib/components/text/text_align.styles.js +5 -7
  321. package/optimize/lib/components/text/text_color.js +1 -2
  322. package/optimize/lib/components/title/title.js +1 -2
  323. package/optimize/lib/components/title/title.styles.js +2 -10
  324. package/optimize/lib/components/toast/global_toast_list.js +68 -71
  325. package/optimize/lib/components/toast/toast.js +25 -40
  326. package/optimize/lib/components/toast/toast.styles.js +11 -25
  327. package/optimize/lib/global_styling/mixins/_typography.js +25 -19
  328. package/optimize/lib/services/color/eui_palettes.js +24 -14
  329. package/optimize/lib/services/color/index.js +14 -0
  330. package/optimize/lib/services/hooks/index.js +11 -0
  331. package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
  332. package/optimize/lib/services/index.js +15 -1
  333. package/optimize/lib/services/theme/index.js +6 -0
  334. package/optimize/lib/services/theme/style_memoization.js +49 -16
  335. package/optimize/lib/themes/amsterdam/global_styling/mixins/button.js +49 -26
  336. package/package.json +3 -3
  337. package/src/components/datagrid/_data_grid_data_row.scss +4 -0
  338. package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
  339. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  340. package/test-env/components/breadcrumbs/breadcrumb.js +11 -323
  341. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
  342. package/test-env/components/breadcrumbs/breadcrumbs.js +7 -5
  343. package/test-env/components/breadcrumbs/types.js +5 -0
  344. package/test-env/components/button/button_display/_button_display.js +1 -2
  345. package/test-env/components/button/button_empty/button_empty.js +1 -2
  346. package/test-env/components/button/button_group/button_group.js +18 -6
  347. package/test-env/components/button/button_group/button_group.styles.js +11 -14
  348. package/test-env/components/button/button_group/button_group_button.js +56 -5
  349. package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
  350. package/test-env/components/button/button_icon/button_icon.js +3 -4
  351. package/test-env/components/button/button_icon/button_icon.styles.js +8 -2
  352. package/test-env/components/datagrid/body/cell/data_grid_cell.js +100 -58
  353. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  354. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  355. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  356. package/test-env/components/datagrid/body/cell/index.js +2 -2
  357. package/test-env/components/datagrid/body/data_grid_body.js +14 -0
  358. package/test-env/components/datagrid/body/data_grid_body_custom.js +53 -34
  359. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +86 -55
  360. package/test-env/components/datagrid/body/data_grid_row_manager.js +6 -4
  361. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  362. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  363. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  364. package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
  365. package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
  366. package/test-env/components/datagrid/controls/column_selector.js +126 -123
  367. package/test-env/components/datagrid/controls/column_sorting.js +607 -106
  368. package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
  369. package/test-env/components/datagrid/controls/display_selector.js +109 -107
  370. package/test-env/components/datagrid/data_grid.a11y.js +13 -12
  371. package/test-env/components/datagrid/data_grid.js +45 -20
  372. package/test-env/components/datagrid/utils/col_widths.js +9 -5
  373. package/test-env/components/datagrid/utils/focus.js +10 -8
  374. package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
  375. package/test-env/components/datagrid/utils/ref.js +1 -1
  376. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  377. package/test-env/components/datagrid/utils/sorting.js +31 -29
  378. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  379. package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
  380. package/test-env/components/facet/facet_button.styles.js +1 -2
  381. package/test-env/components/flex/flex_grid.js +21 -7
  382. package/test-env/components/flex/flex_grid.styles.js +13 -6
  383. package/test-env/components/flex/flex_group.js +10 -10
  384. package/test-env/components/flex/flex_item.js +13 -13
  385. package/test-env/components/flex/flex_item.styles.js +107 -122
  386. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  387. package/test-env/components/icon/icon.styles.js +5 -8
  388. package/test-env/components/link/external_link_icon.js +10 -7
  389. package/test-env/components/link/link.js +1 -2
  390. package/test-env/components/link/link.styles.js +6 -14
  391. package/test-env/components/modal/confirm_modal.js +2 -1
  392. package/test-env/components/modal/modal.js +12 -3
  393. package/test-env/components/page/page_header/page_header_content.js +4 -2
  394. package/test-env/components/progress/progress.styles.js +1 -1
  395. package/test-env/components/skeleton/skeleton_circle.js +1 -2
  396. package/test-env/components/skeleton/skeleton_rectangle.js +1 -2
  397. package/test-env/components/skeleton/skeleton_text.js +18 -11
  398. package/test-env/components/skeleton/skeleton_title.js +1 -2
  399. package/test-env/components/spacer/spacer.js +1 -2
  400. package/test-env/components/text/text.js +1 -2
  401. package/test-env/components/text/text_align.js +1 -2
  402. package/test-env/components/text/text_align.styles.js +5 -7
  403. package/test-env/components/text/text_color.js +1 -2
  404. package/test-env/components/title/title.js +1 -2
  405. package/test-env/components/title/title.styles.js +2 -10
  406. package/test-env/components/toast/global_toast_list.js +68 -71
  407. package/test-env/components/toast/toast.js +25 -40
  408. package/test-env/components/toast/toast.styles.js +11 -25
  409. package/test-env/global_styling/mixins/_typography.js +25 -19
  410. package/test-env/services/color/eui_palettes.js +24 -14
  411. package/test-env/services/color/index.js +14 -0
  412. package/test-env/services/hooks/index.js +11 -0
  413. package/test-env/services/hooks/useDeepEqual.js +30 -0
  414. package/test-env/services/index.js +15 -1
  415. package/test-env/services/theme/index.js +6 -0
  416. package/test-env/services/theme/style_memoization.js +49 -16
  417. package/test-env/themes/amsterdam/global_styling/mixins/button.js +49 -26
  418. package/src/themes/charts/theme.scss +0 -5
@@ -5,9 +5,11 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.useDataGridColumnSorting = void 0;
8
+ exports.useDataGridColumnSorting = exports.DataGridSortingControl = void 0;
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
13
  var _react = _interopRequireWildcard(require("react"));
12
14
  var _button = require("../../button");
13
15
  var _drag_and_drop = require("../../drag_and_drop");
@@ -20,8 +22,7 @@ var _data_grid_toolbar_control = require("./data_grid_toolbar_control");
20
22
  var _column_sorting_draggable = require("./column_sorting_draggable");
21
23
  var _data_grid_schema = require("../utils/data_grid_schema");
22
24
  var _react2 = require("@emotion/react");
23
- 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); }
24
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+ var _excluded = ["sorting"];
25
26
  /*
26
27
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
27
28
  * or more contributor license agreements. Licensed under the Elastic License
@@ -29,80 +30,108 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
29
30
  * in compliance with, at your election, the Elastic License 2.0 or the Server
30
31
  * Side Public License, v 1.
31
32
  */
32
-
33
- var useDataGridColumnSorting = function useDataGridColumnSorting(columns, sorting, schema, schemaDetectors, displayValues) {
33
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+ var useDataGridColumnSorting = function useDataGridColumnSorting(_ref) {
36
+ var sorting = _ref.sorting,
37
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
+ return sorting == null ? null : (0, _react2.jsx)(DataGridSortingControl, (0, _extends2.default)({
39
+ sorting: sorting
40
+ }, rest));
41
+ };
42
+ exports.useDataGridColumnSorting = useDataGridColumnSorting;
43
+ var DataGridSortingControl = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
44
+ var columns = _ref2.columns,
45
+ sorting = _ref2.sorting,
46
+ schema = _ref2.schema,
47
+ schemaDetectors = _ref2.schemaDetectors,
48
+ displayValues = _ref2.displayValues;
34
49
  var _useState = (0, _react.useState)(false),
35
50
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
36
51
  isOpen = _useState2[0],
37
52
  setIsOpen = _useState2[1];
53
+ var sortingButtonText = (0, _i18n.useEuiI18n)('euiColumnSorting.button', 'Sort fields');
54
+ var sortFieldAriaLabel = (0, _i18n.useEuiI18n)('euiColumnSorting.sortFieldAriaLabel', 'Sort by: ');
38
55
  var _useState3 = (0, _react.useState)(false),
39
56
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
40
57
  availableColumnsIsOpen = _useState4[0],
41
58
  setAvailableColumnsIsOpen = _useState4[1];
59
+ var availableColumnIds = (0, _react.useMemo)(function () {
60
+ return new Set(columns.map(function (_ref3) {
61
+ var id = _ref3.id;
62
+ return id;
63
+ }));
64
+ }, [columns]);
65
+
42
66
  // prune any non-existent/hidden columns from sorting
43
67
  (0, _react.useEffect)(function () {
44
- if (sorting) {
45
- var nextSortingColumns = [];
46
- var availableColumnIds = new Set(columns.map(function (_ref) {
47
- var id = _ref.id;
48
- return id;
49
- }));
50
- for (var i = 0; i < sorting.columns.length; i++) {
51
- var column = sorting.columns[i];
52
- if (availableColumnIds.has(column.id)) {
53
- nextSortingColumns.push(column);
54
- }
68
+ var nextSortingColumns = [];
69
+ for (var i = 0; i < sorting.columns.length; i++) {
70
+ var column = sorting.columns[i];
71
+ if (availableColumnIds.has(column.id)) {
72
+ nextSortingColumns.push(column);
55
73
  }
74
+ }
56
75
 
57
- // if the column array lengths differ then the sorting columns have been pruned
58
- if (nextSortingColumns.length !== sorting.columns.length) {
59
- sorting.onSort(nextSortingColumns);
60
- }
76
+ // if the column array lengths differ then the sorting columns have been pruned
77
+ if (nextSortingColumns.length !== sorting.columns.length) {
78
+ sorting.onSort(nextSortingColumns);
61
79
  }
62
- }, [columns, sorting]);
63
- var sortingButtonText = (0, _i18n.useEuiI18n)('euiColumnSorting.button', 'Sort fields');
64
- if (sorting == null) return null;
65
- var activeColumnIds = new Set(sorting.columns.map(function (_ref2) {
66
- var id = _ref2.id;
67
- return id;
68
- }));
69
- var _columns$reduce = columns.reduce(function (acc, column) {
70
- if (activeColumnIds.has(column.id)) {
71
- acc.activeColumns.push(column);
72
- } else {
73
- acc.inactiveColumns.push(column);
74
- }
75
- return acc;
76
- }, {
77
- activeColumns: [],
78
- inactiveColumns: []
79
- }),
80
- inactiveColumns = _columns$reduce.inactiveColumns;
81
- var onDragEnd = function onDragEnd(_ref3) {
82
- var sourceIndex = _ref3.source.index,
83
- destination = _ref3.destination;
80
+ }, [availableColumnIds, sorting]);
81
+ var _useMemo = (0, _react.useMemo)(function () {
82
+ var activeColumnIds = new Set(sorting.columns.map(function (_ref4) {
83
+ var id = _ref4.id;
84
+ return id;
85
+ }));
86
+ return columns.reduce(function (acc, column) {
87
+ if (activeColumnIds.has(column.id)) {
88
+ acc.activeColumns.push(column);
89
+ } else {
90
+ acc.inactiveColumns.push(column);
91
+ }
92
+ return acc;
93
+ }, {
94
+ activeColumns: [],
95
+ inactiveColumns: []
96
+ });
97
+ }, [columns, sorting]),
98
+ inactiveColumns = _useMemo.inactiveColumns;
99
+ var onDragEnd = (0, _react.useCallback)(function (_ref5) {
100
+ var sourceIndex = _ref5.source.index,
101
+ destination = _ref5.destination;
84
102
  if (destination) {
85
103
  var destinationIndex = destination.index;
86
104
  var nextColumns = (0, _drag_and_drop.euiDragDropReorder)(sorting.columns, sourceIndex, destinationIndex);
87
105
  sorting.onSort(nextColumns);
88
106
  }
89
- };
90
- var schemaDetails = function schemaDetails(id) {
107
+ }, [sorting]);
108
+ var schemaDetails = (0, _react.useCallback)(function (id) {
91
109
  return schema.hasOwnProperty(id) && schema[id].columnType != null ? (0, _data_grid_schema.getDetailsForSchema)(schemaDetectors, schema[id].columnType) : null;
92
- };
93
- var inactiveSortableColumns = inactiveColumns.filter(function (_ref4) {
94
- var id = _ref4.id,
95
- isSortable = _ref4.isSortable;
96
- var schemaDetail = schemaDetails(id);
97
- var sortable = true;
98
- if (isSortable != null) {
99
- sortable = isSortable;
100
- } else if (schemaDetail != null) {
101
- sortable = schemaDetail.hasOwnProperty('isSortable') ? schemaDetail.isSortable : true;
102
- }
103
- return sortable;
104
- });
105
- var columnSorting = (0, _react2.jsx)(_popover.EuiPopover, {
110
+ }, [schema, schemaDetectors]);
111
+ var inactiveSortableColumns = (0, _react.useMemo)(function () {
112
+ return inactiveColumns.filter(function (_ref6) {
113
+ var id = _ref6.id,
114
+ isSortable = _ref6.isSortable;
115
+ var schemaDetail = schemaDetails(id);
116
+ var sortable = true;
117
+ if (isSortable != null) {
118
+ sortable = isSortable;
119
+ } else if (schemaDetail != null) {
120
+ sortable = schemaDetail.hasOwnProperty('isSortable') ? schemaDetail.isSortable : true;
121
+ }
122
+ return sortable;
123
+ });
124
+ }, [inactiveColumns, schemaDetails]);
125
+ var onButtonClick = (0, _react.useCallback)(function (id, defaultSortDirection) {
126
+ var _schemaDetails;
127
+ var nextColumns = (0, _toConsumableArray2.default)(sorting.columns);
128
+ nextColumns.push({
129
+ id: id,
130
+ direction: defaultSortDirection || ((_schemaDetails = schemaDetails(id)) === null || _schemaDetails === void 0 ? void 0 : _schemaDetails.defaultSortDirection) || 'asc'
131
+ });
132
+ sorting.onSort(nextColumns);
133
+ }, [sorting, schemaDetails]);
134
+ return (0, _react2.jsx)(_popover.EuiPopover, {
106
135
  "data-test-subj": "dataGridColumnSortingPopover",
107
136
  isOpen: isOpen,
108
137
  closePopover: function closePopover() {
@@ -124,9 +153,9 @@ var useDataGridColumnSorting = function useDataGridColumnSorting(columns, sortin
124
153
  }, (0, _react2.jsx)(_drag_and_drop.EuiDroppable, {
125
154
  droppableId: "columnSorting",
126
155
  className: "euiDataGrid__controlScroll"
127
- }, (0, _react2.jsx)(_react.default.Fragment, null, sorting.columns.map(function (_ref5, index) {
128
- var id = _ref5.id,
129
- direction = _ref5.direction;
156
+ }, (0, _react2.jsx)(_react.default.Fragment, null, sorting.columns.map(function (_ref7, index) {
157
+ var id = _ref7.id,
158
+ direction = _ref7.direction;
130
159
  return (0, _react2.jsx)(_column_sorting_draggable.EuiDataGridColumnSortingDraggable, {
131
160
  key: id,
132
161
  id: id,
@@ -172,49 +201,38 @@ var useDataGridColumnSorting = function useDataGridColumnSorting(columns, sortin
172
201
  token: "euiColumnSorting.pickFields",
173
202
  default: "Pick fields to sort by"
174
203
  }))
175
- }, (0, _react2.jsx)(_i18n.EuiI18n, {
176
- token: "euiColumnSorting.sortFieldAriaLabel",
177
- default: "Sort by: "
178
- }, function (sortFieldAriaLabel) {
179
- return (0, _react2.jsx)("div", {
180
- className: "euiDataGridColumnSorting__fieldList",
181
- role: "listbox"
182
- }, inactiveSortableColumns.map(function (_ref6) {
183
- var id = _ref6.id,
184
- defaultSortDirection = _ref6.defaultSortDirection;
185
- return (0, _react2.jsx)("button", {
186
- key: id,
187
- className: "euiDataGridColumnSorting__field",
188
- "aria-label": "".concat(sortFieldAriaLabel, " ").concat(id),
189
- role: "option",
190
- "aria-selected": "false",
191
- "data-test-subj": "dataGridColumnSortingPopoverColumnSelection-".concat(id),
192
- onClick: function onClick() {
193
- var _schemaDetails;
194
- var nextColumns = (0, _toConsumableArray2.default)(sorting.columns);
195
- nextColumns.push({
196
- id: id,
197
- direction: defaultSortDirection || ((_schemaDetails = schemaDetails(id)) === null || _schemaDetails === void 0 ? void 0 : _schemaDetails.defaultSortDirection) || 'asc'
198
- });
199
- sorting.onSort(nextColumns);
200
- }
201
- }, (0, _react2.jsx)(_flex.EuiFlexGroup, {
202
- alignItems: "center",
203
- gutterSize: "s",
204
- component: "span",
205
- responsive: false
206
- }, (0, _react2.jsx)(_flex.EuiFlexItem, {
207
- grow: false
208
- }, (0, _react2.jsx)(_token.EuiToken, {
209
- iconType: schemaDetails(id) != null ? (0, _data_grid_schema.getDetailsForSchema)(schemaDetectors, schema[id].columnType).icon : 'tokenString',
210
- color: schemaDetails(id) != null ? (0, _data_grid_schema.getDetailsForSchema)(schemaDetectors, schema[id].columnType).color : undefined
211
- })), (0, _react2.jsx)(_flex.EuiFlexItem, {
212
- grow: false
213
- }, (0, _react2.jsx)(_text.EuiText, {
214
- size: "xs"
215
- }, displayValues[id]))));
216
- }));
217
- }))), sorting.columns.length > 0 ? (0, _react2.jsx)(_flex.EuiFlexItem, {
204
+ }, (0, _react2.jsx)("div", {
205
+ className: "euiDataGridColumnSorting__fieldList",
206
+ role: "listbox"
207
+ }, inactiveSortableColumns.map(function (_ref8) {
208
+ var id = _ref8.id,
209
+ defaultSortDirection = _ref8.defaultSortDirection;
210
+ return (0, _react2.jsx)("button", {
211
+ key: id,
212
+ className: "euiDataGridColumnSorting__field",
213
+ "aria-label": "".concat(sortFieldAriaLabel, " ").concat(id),
214
+ role: "option",
215
+ "aria-selected": "false",
216
+ "data-test-subj": "dataGridColumnSortingPopoverColumnSelection-".concat(id),
217
+ onClick: function onClick() {
218
+ return onButtonClick(id, defaultSortDirection);
219
+ }
220
+ }, (0, _react2.jsx)(_flex.EuiFlexGroup, {
221
+ alignItems: "center",
222
+ gutterSize: "s",
223
+ component: "span",
224
+ responsive: false
225
+ }, (0, _react2.jsx)(_flex.EuiFlexItem, {
226
+ grow: false
227
+ }, (0, _react2.jsx)(_token.EuiToken, {
228
+ iconType: schemaDetails(id) != null ? (0, _data_grid_schema.getDetailsForSchema)(schemaDetectors, schema[id].columnType).icon : 'tokenString',
229
+ color: schemaDetails(id) != null ? (0, _data_grid_schema.getDetailsForSchema)(schemaDetectors, schema[id].columnType).color : undefined
230
+ })), (0, _react2.jsx)(_flex.EuiFlexItem, {
231
+ grow: false
232
+ }, (0, _react2.jsx)(_text.EuiText, {
233
+ size: "xs"
234
+ }, displayValues[id]))));
235
+ })))), sorting.columns.length > 0 ? (0, _react2.jsx)(_flex.EuiFlexItem, {
218
236
  grow: false
219
237
  }, (0, _react2.jsx)(_button.EuiButtonEmpty, {
220
238
  size: "xs",
@@ -227,6 +245,6 @@ var useDataGridColumnSorting = function useDataGridColumnSorting(columns, sortin
227
245
  token: "euiColumnSorting.clearAll",
228
246
  default: "Clear sorting"
229
247
  }))) : null)));
230
- return columnSorting;
231
- };
232
- exports.useDataGridColumnSorting = useDataGridColumnSorting;
248
+ });
249
+ exports.DataGridSortingControl = DataGridSortingControl;
250
+ DataGridSortingControl.displayName = 'DataGridSortingControl';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -8,7 +9,7 @@ exports.defaultSortDescLabel = exports.defaultSortAscLabel = exports.EuiDataGrid
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
12
13
  var _classnames = _interopRequireDefault(require("classnames"));
13
14
  var _accessibility = require("../../accessibility");
14
15
  var _button = require("../../button");
@@ -28,6 +29,8 @@ var _excluded = ["id", "display", "direction", "index", "sorting", "schema", "sc
28
29
  * in compliance with, at your election, the Elastic License 2.0 or the Server
29
30
  * Side Public License, v 1.
30
31
  */
32
+ 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); }
33
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
34
  var defaultSortAscLabel = (0, _react2.jsx)(_i18n.EuiI18n, {
32
35
  token: "euiColumnSortingDraggable.defaultSortAsc",
33
36
  default: "A-Z"
@@ -62,6 +65,27 @@ var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSortingDraggab
62
65
  'data-test-subj': "euiDataGridColumnSorting-sortColumn-".concat(id, "-desc")
63
66
  }];
64
67
  var dragHandleAriaLabel = (0, _i18n.useEuiI18n)('euiColumnSortingDraggable.dragHandleAriaLabel', 'Drag handle');
68
+ var removeSort = (0, _react.useCallback)(function () {
69
+ var nextColumns = (0, _toConsumableArray2.default)(sorting.columns);
70
+ var columnIndex = nextColumns.map(function (_ref2) {
71
+ var id = _ref2.id;
72
+ return id;
73
+ }).indexOf(id);
74
+ nextColumns.splice(columnIndex, 1);
75
+ sorting.onSort(nextColumns);
76
+ }, [id, sorting]);
77
+ var toggleLegendHandler = (0, _react.useCallback)(function (_, direction) {
78
+ var nextColumns = (0, _toConsumableArray2.default)(sorting.columns);
79
+ var columnIndex = nextColumns.map(function (_ref3) {
80
+ var id = _ref3.id;
81
+ return id;
82
+ }).indexOf(id);
83
+ nextColumns.splice(columnIndex, 1, {
84
+ id: id,
85
+ direction: direction
86
+ });
87
+ sorting.onSort(nextColumns);
88
+ }, [id, sorting]);
65
89
  return (0, _react2.jsx)(_drag_and_drop.EuiDraggable, (0, _extends2.default)({
66
90
  draggableId: id,
67
91
  index: index,
@@ -99,15 +123,7 @@ var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSortingDraggab
99
123
  className: "euiDataGridColumnSorting__button",
100
124
  "aria-label": removeSortLabel,
101
125
  iconType: "cross",
102
- onClick: function onClick() {
103
- var nextColumns = (0, _toConsumableArray2.default)(sorting.columns);
104
- var columnIndex = nextColumns.map(function (_ref2) {
105
- var id = _ref2.id;
106
- return id;
107
- }).indexOf(id);
108
- nextColumns.splice(columnIndex, 1);
109
- sorting.onSort(nextColumns);
110
- }
126
+ onClick: removeSort
111
127
  });
112
128
  })), (0, _react2.jsx)(_flex.EuiFlexItem, (0, _extends2.default)({
113
129
  className: "euiDataGridColumnSorting__name"
@@ -142,18 +158,7 @@ var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSortingDraggab
142
158
  buttonSize: "compressed",
143
159
  className: "euiDataGridColumnSorting__order",
144
160
  idSelected: direction === 'asc' ? "".concat(id, "Asc") : "".concat(id, "Desc"),
145
- onChange: function onChange(_, direction) {
146
- var nextColumns = (0, _toConsumableArray2.default)(sorting.columns);
147
- var columnIndex = nextColumns.map(function (_ref3) {
148
- var id = _ref3.id;
149
- return id;
150
- }).indexOf(id);
151
- nextColumns.splice(columnIndex, 1, {
152
- id: id,
153
- direction: direction
154
- });
155
- sorting.onSort(nextColumns);
156
- }
161
+ onChange: toggleLegendHandler
157
162
  });
158
163
  })), (0, _react2.jsx)(_flex.EuiFlexItem, (0, _extends2.default)({
159
164
  grow: false
@@ -204,114 +204,116 @@ var useDataGridDisplaySelector = function useDataGridDisplaySelector(showDisplay
204
204
  }, []);
205
205
  var buttonLabel = (0, _i18n.useEuiI18n)('euiDisplaySelector.buttonText', 'Display options');
206
206
  var resetButtonLabel = (0, _i18n.useEuiI18n)('euiDisplaySelector.resetButtonText', 'Reset to default');
207
- var displaySelector = showDensityControls || showRowHeightControls || additionalDisplaySettings ? (0, _react2.jsx)(_popover.EuiPopover, {
208
- "data-test-subj": "dataGridDisplaySelectorPopover",
209
- isOpen: isOpen,
210
- closePopover: function closePopover() {
211
- return setIsOpen(false);
212
- },
213
- anchorPosition: "downRight",
214
- panelPaddingSize: "s",
215
- panelClassName: "euiDataGrid__displayPopoverPanel",
216
- button: (0, _react2.jsx)(_tool_tip.EuiToolTip, {
217
- content: buttonLabel,
218
- delay: "long"
219
- }, (0, _react2.jsx)(_button.EuiButtonIcon, {
220
- size: "xs",
221
- iconType: "controlsHorizontal",
222
- color: "text",
223
- "data-test-subj": "dataGridDisplaySelectorButton",
224
- onClick: function onClick() {
225
- return setIsOpen(!isOpen);
207
+ var displaySelector = (0, _react.useMemo)(function () {
208
+ return showDensityControls || showRowHeightControls || additionalDisplaySettings ? (0, _react2.jsx)(_popover.EuiPopover, {
209
+ "data-test-subj": "dataGridDisplaySelectorPopover",
210
+ isOpen: isOpen,
211
+ closePopover: function closePopover() {
212
+ return setIsOpen(false);
226
213
  },
227
- "aria-label": buttonLabel
228
- }))
229
- }, showDensityControls && (0, _react2.jsx)(_i18n.EuiI18n, {
230
- tokens: ['euiDisplaySelector.densityLabel', 'euiDisplaySelector.labelCompact', 'euiDisplaySelector.labelNormal', 'euiDisplaySelector.labelExpanded'],
231
- defaults: ['Density', 'Compact', 'Normal', 'Expanded']
232
- }, function (_ref) {
233
- var _ref2 = (0, _slicedToArray2.default)(_ref, 4),
234
- densityLabel = _ref2[0],
235
- labelCompact = _ref2[1],
236
- labelNormal = _ref2[2],
237
- labelExpanded = _ref2[3];
238
- return (0, _react2.jsx)(_form.EuiFormRow, {
239
- label: densityLabel,
240
- display: "columnCompressed"
241
- }, (0, _react2.jsx)(_button.EuiButtonGroup, {
242
- legend: densityLabel,
243
- buttonSize: "compressed",
244
- isFullWidth: true,
245
- options: [{
246
- id: densityOptions[0],
247
- label: labelCompact
248
- }, {
249
- id: densityOptions[1],
250
- label: labelNormal
251
- }, {
252
- id: densityOptions[2],
253
- label: labelExpanded
254
- }],
255
- onChange: setGridStyles,
256
- idSelected: gridDensity,
257
- "data-test-subj": "densityButtonGroup"
258
- }));
259
- }), showRowHeightControls && (0, _react2.jsx)(_i18n.EuiI18n, {
260
- tokens: ['euiDisplaySelector.rowHeightLabel', 'euiDisplaySelector.labelSingle', 'euiDisplaySelector.labelAuto', 'euiDisplaySelector.labelCustom', 'euiDisplaySelector.lineCountLabel'],
261
- defaults: ['Row height', 'Single', 'Auto fit', 'Custom', 'Lines per row']
262
- }, function (_ref3) {
263
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 5),
264
- rowHeightLabel = _ref4[0],
265
- labelSingle = _ref4[1],
266
- labelAuto = _ref4[2],
267
- labelCustom = _ref4[3],
268
- lineCountLabel = _ref4[4];
269
- return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_form.EuiFormRow, {
270
- label: rowHeightLabel,
271
- display: "columnCompressed"
272
- }, (0, _react2.jsx)(_button.EuiButtonGroup, {
273
- legend: rowHeightLabel,
274
- buttonSize: "compressed",
275
- isFullWidth: true,
276
- options: [{
277
- id: rowHeightButtonOptions[0],
278
- label: labelSingle
279
- }, {
280
- id: rowHeightButtonOptions[1],
281
- label: labelAuto
282
- }, {
283
- id: rowHeightButtonOptions[2],
284
- label: labelCustom
285
- }],
286
- onChange: setRowHeight,
287
- idSelected: rowHeightSelection,
288
- "data-test-subj": "rowHeightButtonGroup"
289
- })), rowHeightSelection === rowHeightButtonOptions[2] && (0, _react2.jsx)(_form.EuiFormRow, {
290
- label: lineCountLabel,
291
- display: "columnCompressed"
292
- }, (0, _react2.jsx)(_form.EuiRange, {
293
- compressed: true,
294
- fullWidth: true,
295
- showInput: true,
296
- min: 1,
297
- max: 20,
298
- step: 1,
299
- required: true,
300
- value: lineCountInput,
301
- onChange: setLineCountHeight,
302
- "data-test-subj": "lineCountNumber"
303
- })));
304
- }), additionalDisplaySettings, showResetButton && (0, _react2.jsx)(_popover.EuiPopoverFooter, null, (0, _react2.jsx)(_flex.EuiFlexGroup, {
305
- justifyContent: "flexEnd",
306
- responsive: false
307
- }, (0, _react2.jsx)(_flex.EuiFlexItem, {
308
- grow: false
309
- }, (0, _react2.jsx)("div", null, (0, _react2.jsx)(_button.EuiButtonEmpty, {
310
- flush: "both",
311
- size: "xs",
312
- onClick: resetToInitialState,
313
- "data-test-subj": "resetDisplaySelector"
314
- }, resetButtonLabel)))))) : null;
214
+ anchorPosition: "downRight",
215
+ panelPaddingSize: "s",
216
+ panelClassName: "euiDataGrid__displayPopoverPanel",
217
+ button: (0, _react2.jsx)(_tool_tip.EuiToolTip, {
218
+ content: buttonLabel,
219
+ delay: "long"
220
+ }, (0, _react2.jsx)(_button.EuiButtonIcon, {
221
+ size: "xs",
222
+ iconType: "controlsHorizontal",
223
+ color: "text",
224
+ "data-test-subj": "dataGridDisplaySelectorButton",
225
+ onClick: function onClick() {
226
+ return setIsOpen(!isOpen);
227
+ },
228
+ "aria-label": buttonLabel
229
+ }))
230
+ }, showDensityControls && (0, _react2.jsx)(_i18n.EuiI18n, {
231
+ tokens: ['euiDisplaySelector.densityLabel', 'euiDisplaySelector.labelCompact', 'euiDisplaySelector.labelNormal', 'euiDisplaySelector.labelExpanded'],
232
+ defaults: ['Density', 'Compact', 'Normal', 'Expanded']
233
+ }, function (_ref) {
234
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 4),
235
+ densityLabel = _ref2[0],
236
+ labelCompact = _ref2[1],
237
+ labelNormal = _ref2[2],
238
+ labelExpanded = _ref2[3];
239
+ return (0, _react2.jsx)(_form.EuiFormRow, {
240
+ label: densityLabel,
241
+ display: "columnCompressed"
242
+ }, (0, _react2.jsx)(_button.EuiButtonGroup, {
243
+ legend: densityLabel,
244
+ buttonSize: "compressed",
245
+ isFullWidth: true,
246
+ options: [{
247
+ id: densityOptions[0],
248
+ label: labelCompact
249
+ }, {
250
+ id: densityOptions[1],
251
+ label: labelNormal
252
+ }, {
253
+ id: densityOptions[2],
254
+ label: labelExpanded
255
+ }],
256
+ onChange: setGridStyles,
257
+ idSelected: gridDensity,
258
+ "data-test-subj": "densityButtonGroup"
259
+ }));
260
+ }), showRowHeightControls && (0, _react2.jsx)(_i18n.EuiI18n, {
261
+ tokens: ['euiDisplaySelector.rowHeightLabel', 'euiDisplaySelector.labelSingle', 'euiDisplaySelector.labelAuto', 'euiDisplaySelector.labelCustom', 'euiDisplaySelector.lineCountLabel'],
262
+ defaults: ['Row height', 'Single', 'Auto fit', 'Custom', 'Lines per row']
263
+ }, function (_ref3) {
264
+ var _ref4 = (0, _slicedToArray2.default)(_ref3, 5),
265
+ rowHeightLabel = _ref4[0],
266
+ labelSingle = _ref4[1],
267
+ labelAuto = _ref4[2],
268
+ labelCustom = _ref4[3],
269
+ lineCountLabel = _ref4[4];
270
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_form.EuiFormRow, {
271
+ label: rowHeightLabel,
272
+ display: "columnCompressed"
273
+ }, (0, _react2.jsx)(_button.EuiButtonGroup, {
274
+ legend: rowHeightLabel,
275
+ buttonSize: "compressed",
276
+ isFullWidth: true,
277
+ options: [{
278
+ id: rowHeightButtonOptions[0],
279
+ label: labelSingle
280
+ }, {
281
+ id: rowHeightButtonOptions[1],
282
+ label: labelAuto
283
+ }, {
284
+ id: rowHeightButtonOptions[2],
285
+ label: labelCustom
286
+ }],
287
+ onChange: setRowHeight,
288
+ idSelected: rowHeightSelection,
289
+ "data-test-subj": "rowHeightButtonGroup"
290
+ })), rowHeightSelection === rowHeightButtonOptions[2] && (0, _react2.jsx)(_form.EuiFormRow, {
291
+ label: lineCountLabel,
292
+ display: "columnCompressed"
293
+ }, (0, _react2.jsx)(_form.EuiRange, {
294
+ compressed: true,
295
+ fullWidth: true,
296
+ showInput: true,
297
+ min: 1,
298
+ max: 20,
299
+ step: 1,
300
+ required: true,
301
+ value: lineCountInput,
302
+ onChange: setLineCountHeight,
303
+ "data-test-subj": "lineCountNumber"
304
+ })));
305
+ }), additionalDisplaySettings, showResetButton && (0, _react2.jsx)(_popover.EuiPopoverFooter, null, (0, _react2.jsx)(_flex.EuiFlexGroup, {
306
+ justifyContent: "flexEnd",
307
+ responsive: false
308
+ }, (0, _react2.jsx)(_flex.EuiFlexItem, {
309
+ grow: false
310
+ }, (0, _react2.jsx)("div", null, (0, _react2.jsx)(_button.EuiButtonEmpty, {
311
+ flush: "both",
312
+ size: "xs",
313
+ onClick: resetToInitialState,
314
+ "data-test-subj": "resetDisplaySelector"
315
+ }, resetButtonLabel)))))) : null;
316
+ }, [additionalDisplaySettings, buttonLabel, isOpen, resetButtonLabel, showDensityControls, showResetButton, showRowHeightControls, gridDensity, rowHeightSelection, lineCountInput, setGridStyles, setRowHeight, setLineCountHeight, resetToInitialState]);
315
317
  return [displaySelector, gridStyles, rowHeightsOptions];
316
318
  };
317
319
  exports.useDataGridDisplaySelector = useDataGridDisplaySelector;