@elastic/eui 93.2.0 → 93.3.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 (189) hide show
  1. package/dist/eui_theme_dark.css +3 -0
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +3 -0
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/breadcrumbs/breadcrumb.js +9 -6
  6. package/es/components/breadcrumbs/breadcrumbs.js +4 -2
  7. package/es/components/button/button_display/_button_display.js +2 -3
  8. package/es/components/button/button_empty/button_empty.js +2 -3
  9. package/es/components/button/button_group/button_group.js +3 -5
  10. package/es/components/button/button_group/button_group.styles.js +10 -13
  11. package/es/components/button/button_icon/button_icon.js +4 -5
  12. package/es/components/button/button_icon/button_icon.styles.js +11 -3
  13. package/es/components/datagrid/body/cell/data_grid_cell.js +7 -3
  14. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +4 -2
  15. package/es/components/datagrid/body/data_grid_body.js +1 -0
  16. package/es/components/datagrid/body/data_grid_body_custom.js +3 -0
  17. package/es/components/datagrid/body/data_grid_body_virtualized.js +3 -0
  18. package/es/components/datagrid/body/data_grid_row_manager.js +1 -1
  19. package/es/components/datagrid/data_grid.js +3 -1
  20. package/es/components/facet/facet_button.styles.js +1 -2
  21. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -2
  22. package/es/components/icon/icon.js +13 -16
  23. package/es/components/icon/icon.styles.js +6 -9
  24. package/es/components/link/external_link_icon.js +11 -8
  25. package/es/components/link/link.js +2 -3
  26. package/es/components/link/link.styles.js +4 -10
  27. package/es/components/page/page_header/page_header_content.js +4 -2
  28. package/es/components/progress/progress.styles.js +2 -2
  29. package/es/components/skeleton/skeleton_circle.js +2 -3
  30. package/es/components/skeleton/skeleton_rectangle.js +2 -3
  31. package/es/components/skeleton/skeleton_text.js +16 -12
  32. package/es/components/skeleton/skeleton_title.js +2 -3
  33. package/es/components/text/text.js +2 -3
  34. package/es/components/text/text_align.js +1 -2
  35. package/es/components/text/text_align.styles.js +5 -7
  36. package/es/components/text/text_color.js +2 -3
  37. package/es/components/title/title.js +2 -3
  38. package/es/components/title/title.styles.js +0 -7
  39. package/es/global_styling/mixins/_typography.js +17 -6
  40. package/es/services/theme/index.js +1 -1
  41. package/es/services/theme/style_memoization.js +47 -14
  42. package/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  43. package/eui.d.ts +46 -37
  44. package/i18ntokens.json +36 -36
  45. package/lib/components/breadcrumbs/breadcrumb.js +9 -6
  46. package/lib/components/breadcrumbs/breadcrumbs.js +4 -2
  47. package/lib/components/button/button_display/_button_display.js +1 -2
  48. package/lib/components/button/button_empty/button_empty.js +1 -2
  49. package/lib/components/button/button_group/button_group.js +2 -4
  50. package/lib/components/button/button_group/button_group.styles.js +10 -13
  51. package/lib/components/button/button_icon/button_icon.js +3 -4
  52. package/lib/components/button/button_icon/button_icon.styles.js +10 -2
  53. package/lib/components/datagrid/body/cell/data_grid_cell.js +7 -3
  54. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +4 -2
  55. package/lib/components/datagrid/body/data_grid_body.js +1 -0
  56. package/lib/components/datagrid/body/data_grid_body_custom.js +3 -0
  57. package/lib/components/datagrid/body/data_grid_body_virtualized.js +3 -0
  58. package/lib/components/datagrid/body/data_grid_row_manager.js +1 -1
  59. package/lib/components/datagrid/data_grid.js +3 -1
  60. package/lib/components/facet/facet_button.styles.js +1 -2
  61. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -2
  62. package/lib/components/icon/icon.js +12 -15
  63. package/lib/components/icon/icon.styles.js +5 -8
  64. package/lib/components/link/external_link_icon.js +10 -7
  65. package/lib/components/link/link.js +1 -2
  66. package/lib/components/link/link.styles.js +6 -14
  67. package/lib/components/page/page_header/page_header_content.js +4 -2
  68. package/lib/components/progress/progress.styles.js +1 -1
  69. package/lib/components/skeleton/skeleton_circle.js +1 -2
  70. package/lib/components/skeleton/skeleton_rectangle.js +1 -2
  71. package/lib/components/skeleton/skeleton_text.js +18 -11
  72. package/lib/components/skeleton/skeleton_title.js +1 -2
  73. package/lib/components/text/text.js +1 -2
  74. package/lib/components/text/text_align.js +1 -2
  75. package/lib/components/text/text_align.styles.js +5 -7
  76. package/lib/components/text/text_color.js +1 -2
  77. package/lib/components/title/title.js +1 -2
  78. package/lib/components/title/title.styles.js +2 -10
  79. package/lib/global_styling/mixins/_typography.js +27 -19
  80. package/lib/services/theme/index.js +6 -0
  81. package/lib/services/theme/style_memoization.js +49 -16
  82. package/lib/themes/amsterdam/global_styling/mixins/button.js +49 -25
  83. package/optimize/es/components/breadcrumbs/breadcrumb.js +5 -4
  84. package/optimize/es/components/button/button_display/_button_display.js +2 -3
  85. package/optimize/es/components/button/button_empty/button_empty.js +2 -3
  86. package/optimize/es/components/button/button_group/button_group.js +3 -5
  87. package/optimize/es/components/button/button_group/button_group.styles.js +10 -13
  88. package/optimize/es/components/button/button_icon/button_icon.js +4 -5
  89. package/optimize/es/components/button/button_icon/button_icon.styles.js +8 -3
  90. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +5 -3
  91. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +4 -2
  92. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +2 -0
  93. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +2 -0
  94. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +1 -1
  95. package/optimize/es/components/datagrid/data_grid.js +3 -1
  96. package/optimize/es/components/facet/facet_button.styles.js +1 -2
  97. package/optimize/es/components/icon/icon.js +13 -16
  98. package/optimize/es/components/icon/icon.styles.js +6 -9
  99. package/optimize/es/components/link/external_link_icon.js +11 -8
  100. package/optimize/es/components/link/link.js +2 -3
  101. package/optimize/es/components/link/link.styles.js +4 -10
  102. package/optimize/es/components/progress/progress.styles.js +2 -2
  103. package/optimize/es/components/skeleton/skeleton_circle.js +2 -3
  104. package/optimize/es/components/skeleton/skeleton_rectangle.js +2 -3
  105. package/optimize/es/components/skeleton/skeleton_text.js +16 -12
  106. package/optimize/es/components/skeleton/skeleton_title.js +2 -3
  107. package/optimize/es/components/text/text.js +2 -3
  108. package/optimize/es/components/text/text_align.js +1 -2
  109. package/optimize/es/components/text/text_align.styles.js +5 -7
  110. package/optimize/es/components/text/text_color.js +2 -3
  111. package/optimize/es/components/title/title.js +2 -3
  112. package/optimize/es/components/title/title.styles.js +0 -7
  113. package/optimize/es/global_styling/mixins/_typography.js +14 -6
  114. package/optimize/es/services/theme/index.js +1 -1
  115. package/optimize/es/services/theme/style_memoization.js +47 -14
  116. package/optimize/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  117. package/optimize/lib/components/breadcrumbs/breadcrumb.js +5 -4
  118. package/optimize/lib/components/button/button_display/_button_display.js +1 -2
  119. package/optimize/lib/components/button/button_empty/button_empty.js +1 -2
  120. package/optimize/lib/components/button/button_group/button_group.js +2 -4
  121. package/optimize/lib/components/button/button_group/button_group.styles.js +10 -13
  122. package/optimize/lib/components/button/button_icon/button_icon.js +3 -4
  123. package/optimize/lib/components/button/button_icon/button_icon.styles.js +8 -2
  124. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +5 -3
  125. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +4 -2
  126. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +2 -0
  127. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +2 -0
  128. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +1 -1
  129. package/optimize/lib/components/datagrid/data_grid.js +3 -1
  130. package/optimize/lib/components/facet/facet_button.styles.js +1 -2
  131. package/optimize/lib/components/icon/icon.js +12 -15
  132. package/optimize/lib/components/icon/icon.styles.js +5 -8
  133. package/optimize/lib/components/link/external_link_icon.js +10 -7
  134. package/optimize/lib/components/link/link.js +1 -2
  135. package/optimize/lib/components/link/link.styles.js +6 -14
  136. package/optimize/lib/components/progress/progress.styles.js +1 -1
  137. package/optimize/lib/components/skeleton/skeleton_circle.js +1 -2
  138. package/optimize/lib/components/skeleton/skeleton_rectangle.js +1 -2
  139. package/optimize/lib/components/skeleton/skeleton_text.js +18 -11
  140. package/optimize/lib/components/skeleton/skeleton_title.js +1 -2
  141. package/optimize/lib/components/text/text.js +1 -2
  142. package/optimize/lib/components/text/text_align.js +1 -2
  143. package/optimize/lib/components/text/text_align.styles.js +5 -7
  144. package/optimize/lib/components/text/text_color.js +1 -2
  145. package/optimize/lib/components/title/title.js +1 -2
  146. package/optimize/lib/components/title/title.styles.js +2 -10
  147. package/optimize/lib/global_styling/mixins/_typography.js +25 -19
  148. package/optimize/lib/services/theme/index.js +6 -0
  149. package/optimize/lib/services/theme/style_memoization.js +49 -16
  150. package/optimize/lib/themes/amsterdam/global_styling/mixins/button.js +49 -26
  151. package/package.json +3 -3
  152. package/src/components/datagrid/_data_grid_data_row.scss +4 -0
  153. package/test-env/components/breadcrumbs/breadcrumb.js +9 -6
  154. package/test-env/components/breadcrumbs/breadcrumbs.js +4 -2
  155. package/test-env/components/button/button_display/_button_display.js +1 -2
  156. package/test-env/components/button/button_empty/button_empty.js +1 -2
  157. package/test-env/components/button/button_group/button_group.js +2 -4
  158. package/test-env/components/button/button_group/button_group.styles.js +10 -13
  159. package/test-env/components/button/button_icon/button_icon.js +3 -4
  160. package/test-env/components/button/button_icon/button_icon.styles.js +8 -2
  161. package/test-env/components/datagrid/body/cell/data_grid_cell.js +7 -3
  162. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +4 -2
  163. package/test-env/components/datagrid/body/data_grid_body.js +1 -0
  164. package/test-env/components/datagrid/body/data_grid_body_custom.js +3 -0
  165. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +3 -0
  166. package/test-env/components/datagrid/body/data_grid_row_manager.js +1 -1
  167. package/test-env/components/datagrid/data_grid.js +3 -1
  168. package/test-env/components/facet/facet_button.styles.js +1 -2
  169. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -2
  170. package/test-env/components/icon/icon.styles.js +5 -8
  171. package/test-env/components/link/external_link_icon.js +10 -7
  172. package/test-env/components/link/link.js +1 -2
  173. package/test-env/components/link/link.styles.js +6 -14
  174. package/test-env/components/page/page_header/page_header_content.js +4 -2
  175. package/test-env/components/progress/progress.styles.js +1 -1
  176. package/test-env/components/skeleton/skeleton_circle.js +1 -2
  177. package/test-env/components/skeleton/skeleton_rectangle.js +1 -2
  178. package/test-env/components/skeleton/skeleton_text.js +18 -11
  179. package/test-env/components/skeleton/skeleton_title.js +1 -2
  180. package/test-env/components/text/text.js +1 -2
  181. package/test-env/components/text/text_align.js +1 -2
  182. package/test-env/components/text/text_align.styles.js +5 -7
  183. package/test-env/components/text/text_color.js +1 -2
  184. package/test-env/components/title/title.js +1 -2
  185. package/test-env/components/title/title.styles.js +2 -10
  186. package/test-env/global_styling/mixins/_typography.js +25 -19
  187. package/test-env/services/theme/index.js +6 -0
  188. package/test-env/services/theme/style_memoization.js +49 -16
  189. package/test-env/themes/amsterdam/global_styling/mixins/button.js +49 -26
package/eui.d.ts CHANGED
@@ -1520,7 +1520,7 @@ declare module '@elastic/eui/src/global_styling/mixins/_states' {
1520
1520
  declare module '@elastic/eui/src/global_styling/mixins/_typography' {
1521
1521
  import { CSSProperties } from 'react';
1522
1522
  import { _FontScaleOptions } from '@elastic/eui/src/global_styling/functions/typography';
1523
- import { UseEuiTheme } from '@elastic/eui/src/services/theme/hooks';
1523
+ import { UseEuiTheme } from '@elastic/eui/src/services/theme';
1524
1524
  import { _EuiThemeFontScale } from '@elastic/eui/src/global_styling/variables/typography';
1525
1525
  export type EuiThemeFontSize = {
1526
1526
  fontSize: CSSProperties['fontSize'];
@@ -1544,7 +1544,6 @@ declare module '@elastic/eui/src/global_styling/mixins/_typography' {
1544
1544
  * Fixed-width numbers for tabular data
1545
1545
  */
1546
1546
  export const euiNumberFormat: ({ euiTheme }: UseEuiTheme) => string;
1547
- export const useEuiNumberFormat: () => string;
1548
1547
 
1549
1548
  }
1550
1549
  declare module '@elastic/eui/src/services/breakpoint/_sorting' {
@@ -1662,7 +1661,6 @@ declare module '@elastic/eui/src/components/title/title.styles' {
1662
1661
  color: CSSProperties['color'];
1663
1662
  };
1664
1663
  export const euiTitle: (euiThemeContext: UseEuiTheme, scale?: EuiTitleSize, options?: _FontScaleOptions | undefined) => EuiThemeTitle;
1665
- export const useEuiTitle: (scale: EuiTitleSize, options?: _FontScaleOptions | undefined) => EuiThemeTitle;
1666
1664
  /**
1667
1665
  * Styles
1668
1666
  */
@@ -1705,8 +1703,6 @@ declare module '@elastic/eui/src/components/title' {
1705
1703
  }
1706
1704
  declare module '@elastic/eui/src/components/link/link.styles' {
1707
1705
  import { UseEuiTheme } from '@elastic/eui/src/services';
1708
- export const euiLinkHoverCSS: () => string;
1709
- export const euiLinkFocusCSS: (euiTheme: UseEuiTheme['euiTheme']) => string;
1710
1706
  export const euiLinkCSS: (euiThemeContext: UseEuiTheme) => string;
1711
1707
  export const euiLinkStyles: (euiThemeContext: UseEuiTheme) => {
1712
1708
  euiLink: import("@emotion/utils").SerializedStyles;
@@ -1788,7 +1784,7 @@ declare module '@elastic/eui/src/components/text/text_color' {
1788
1784
 
1789
1785
  }
1790
1786
  declare module '@elastic/eui/src/components/text/text_align.styles' {
1791
- export const euiTextAlignStyles: () => {
1787
+ export const euiTextAlignStyles: {
1792
1788
  euiTextAlign: import("@emotion/utils").SerializedStyles;
1793
1789
  left: import("@emotion/utils").SerializedStyles;
1794
1790
  right: import("@emotion/utils").SerializedStyles;
@@ -2640,7 +2636,7 @@ declare module '@elastic/eui/src/components/icon/icon' {
2640
2636
  import React, { PureComponent, ComponentType, SVGAttributes } from 'react';
2641
2637
  import { CommonProps } from '@elastic/eui/src/components/common';
2642
2638
  import { typeToPathMap } from '@elastic/eui/src/components/icon/icon_map';
2643
- import { WithEuiThemeProps } from '@elastic/eui/src/services';
2639
+ import { WithEuiStylesMemoizerProps } from '@elastic/eui/src/services';
2644
2640
  export { COLORS } from '@elastic/eui/src/components/icon/named_colors';
2645
2641
  import { NamedColor } from '@elastic/eui/src/components/icon/named_colors';
2646
2642
  export const TYPES: ("string" | "number" | "function" | "search" | "link" | "at" | "article" | "menu" | "filter" | "image" | "stop" | "key" | "temperature" | "color" | "email" | "list" | "user" | "alert" | "document" | "grid" | "copy" | "scale" | "wordWrap" | "grab" | "help" | "invert" | "spaces" | "dot" | "warning" | "error" | "download" | "accessibility" | "aggregate" | "analyzeEvent" | "annotation" | "apps" | "arrowStart" | "arrowEnd" | "asterisk" | "beaker" | "bell" | "bellSlash" | "beta" | "bolt" | "branch" | "branchUser" | "broom" | "brush" | "bug" | "bullseye" | "calendar" | "check" | "checkInCircleFilled" | "cheer" | "clock" | "cloudDrizzle" | "cloudStormy" | "cloudSunny" | "cluster" | "compute" | "console" | "container" | "continuityAbove" | "continuityAboveBelow" | "continuityBelow" | "continuityWithin" | "cross" | "crosshairs" | "currency" | "cut" | "database" | "desktop" | "diff" | "discuss" | "documentEdit" | "documentation" | "documents" | "dotInCircle" | "doubleArrowLeft" | "doubleArrowRight" | "editorDistributeHorizontal" | "editorDistributeVertical" | "editorItemAlignBottom" | "editorItemAlignCenter" | "editorItemAlignLeft" | "editorItemAlignMiddle" | "editorItemAlignRight" | "editorItemAlignTop" | "editorPositionBottomLeft" | "editorPositionBottomRight" | "editorPositionTopLeft" | "editorPositionTopRight" | "empty" | "endpoint" | "eql" | "eraser" | "esqlVis" | "exit" | "expand" | "expandMini" | "eye" | "filterExclude" | "filterIgnore" | "filterInclude" | "filterInCircle" | "flag" | "fold" | "frameNext" | "framePrevious" | "fullScreenExit" | "gear" | "glasses" | "globe" | "grabOmnidirectional" | "gradient" | "heart" | "heatmap" | "home" | "iInCircle" | "index" | "indexTemporary" | "infinity" | "inputOutput" | "inspect" | "ip" | "keyboard" | "kubernetesNode" | "kubernetesPod" | "launch" | "layers" | "lettering" | "lineDashed" | "lineDotted" | "lineSolid" | "lock" | "lockOpen" | "magnet" | "magnifyWithExclamation" | "magnifyWithMinus" | "magnifyWithPlus" | "memory" | "menuDown" | "menuLeft" | "menuRight" | "menuUp" | "merge" | "minimize" | "minus" | "mobile" | "moon" | "namespace" | "nested" | "node" | "offline" | "online" | "package" | "pageSelect" | "pagesSelect" | "palette" | "partial" | "pause" | "payment" | "pencil" | "percent" | "pin" | "pipeBreaks" | "pipeNoBreaks" | "pivot" | "play" | "playFilled" | "plus" | "popout" | "push" | "quote" | "refresh" | "reporter" | "save" | "securitySignal" | "securitySignalDetected" | "securitySignalResolved" | "sessionViewer" | "shard" | "share" | "snowflake" | "sortAscending" | "sortDescending" | "sortLeft" | "sortRight" | "sortable" | "sparkles" | "starPlusEmpty" | "starPlusFilled" | "stats" | "storage" | "submodule" | "sun" | "symlink" | "tableOfContents" | "tag" | "tear" | "timeline" | "timelineWithArrow" | "timeRefresh" | "timeslider" | "training" | "transitionLeftIn" | "transitionLeftOut" | "transitionTopIn" | "transitionTopOut" | "trash" | "unfold" | "unlink" | "userAvatar" | "users" | "vector" | "videoPlayer" | "wordWrapDisabled" | "wrench" | "tokenAlias" | "tokenAnnotation" | "tokenArray" | "tokenBinary" | "tokenBoolean" | "tokenClass" | "tokenCompletionSuggester" | "tokenConstant" | "tokenDate" | "tokenElement" | "tokenEnum" | "tokenEnumMember" | "tokenEvent" | "tokenException" | "tokenField" | "tokenFile" | "tokenFlattened" | "tokenFunction" | "tokenGeo" | "tokenHistogram" | "tokenInterface" | "tokenIP" | "tokenJoin" | "tokenKey" | "tokenKeyword" | "tokenMethod" | "tokenMetricCounter" | "tokenMetricGauge" | "tokenModule" | "tokenNamespace" | "tokenNested" | "tokenNull" | "tokenNumber" | "tokenObject" | "tokenOperator" | "tokenPackage" | "tokenParameter" | "tokenPercolator" | "tokenProperty" | "tokenRange" | "tokenRankFeature" | "tokenRankFeatures" | "tokenRepo" | "tokenSearchType" | "tokenShape" | "tokenString" | "tokenStruct" | "tokenSymbol" | "tokenTag" | "tokenText" | "tokenTokenCount" | "tokenVariable" | "tokenVectorDense" | "tokenVectorSparse" | "addDataApp" | "advancedSettingsApp" | "agentApp" | "apmApp" | "apmTrace" | "appSearchApp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp" | "auditbeatApp" | "boxesHorizontal" | "boxesVertical" | "canvasApp" | "casesApp" | "classificationJob" | "codeApp" | "consoleApp" | "controlsHorizontal" | "controlsVertical" | "copyClipboard" | "createAdvancedJob" | "createMultiMetricJob" | "createPopulationJob" | "createSingleMetricJob" | "crossClusterReplicationApp" | "dashboardApp" | "dataVisualizer" | "devToolsApp" | "discoverApp" | "editorAlignCenter" | "editorAlignLeft" | "editorAlignRight" | "editorBold" | "editorChecklist" | "editorCodeBlock" | "editorComment" | "editorHeading" | "editorItalic" | "editorLink" | "editorOrderedList" | "editorRedo" | "editorStrike" | "editorTable" | "editorUnderline" | "editorUndo" | "editorUnorderedList" | "emsApp" | "exportAction" | "eyeClosed" | "faceHappy" | "faceNeutral" | "faceSad" | "filebeatApp" | "fleetApp" | "folderCheck" | "folderClosed" | "folderExclamation" | "folderOpen" | "fullScreen" | "gisApp" | "grabHorizontal" | "graphApp" | "grokApp" | "heartbeatApp" | "importAction" | "indexClose" | "indexEdit" | "indexFlush" | "indexManagementApp" | "indexMapping" | "indexOpen" | "indexPatternApp" | "indexRollupApp" | "indexRuntime" | "indexSettings" | "kqlField" | "kqlFunction" | "kqlOperand" | "kqlSelector" | "kqlValue" | "lensApp" | "listAdd" | "logoAWS" | "logoAWSMono" | "logoAerospike" | "logoApache" | "logoAppSearch" | "logoAzure" | "logoAzureMono" | "logoBeats" | "logoBusinessAnalytics" | "logoCeph" | "logoCloud" | "logoCloudEnterprise" | "logoCode" | "logoCodesandbox" | "logoCouchbase" | "logoDocker" | "logoDropwizard" | "logoElastic" | "logoElasticStack" | "logoElasticsearch" | "logoEnterpriseSearch" | "logoEtcd" | "logoGCP" | "logoGCPMono" | "logoGithub" | "logoGmail" | "logoGolang" | "logoGoogleG" | "logoHAproxy" | "logoIBM" | "logoIBMMono" | "logoKafka" | "logoKibana" | "logoKubernetes" | "logoLogging" | "logoLogstash" | "logoMaps" | "logoMemcached" | "logoMetrics" | "logoMongodb" | "logoMySQL" | "logoNginx" | "logoObservability" | "logoOsquery" | "logoPhp" | "logoPostgres" | "logoPrometheus" | "logoRabbitmq" | "logoRedis" | "logoSecurity" | "logoSiteSearch" | "logoSketch" | "logoSlack" | "logoUptime" | "logoVulnerabilityManagement" | "logoWebhook" | "logoWindows" | "logoWorkplaceSearch" | "logsApp" | "logstashFilter" | "logstashIf" | "logstashInput" | "logstashOutput" | "logstashQueue" | "machineLearningApp" | "managementApp" | "mapMarker" | "metricbeatApp" | "metricsApp" | "minusInCircle" | "minusInCircleFilled" | "monitoringApp" | "newChat" | "notebookApp" | "outlierDetectionJob" | "packetbeatApp" | "paperClip" | "pinFilled" | "pipelineApp" | "plusInCircle" | "plusInCircleFilled" | "questionInCircle" | "recentlyViewedApp" | "regressionJob" | "reportingApp" | "returnKey" | "savedObjectsApp" | "searchProfilerApp" | "securityAnalyticsApp" | "securityApp" | "sortDown" | "sortUp" | "spacesApp" | "sqlApp" | "starEmpty" | "starEmptySpace" | "starFilled" | "starFilledSpace" | "starMinusEmpty" | "starMinusFilled" | "stopFilled" | "stopSlash" | "swatchInput" | "tableDensityCompact" | "tableDensityExpanded" | "tableDensityNormal" | "timelionApp" | "upgradeAssistantApp" | "uptimeApp" | "usersRolesApp" | "visArea" | "visAreaStacked" | "visBarHorizontal" | "visBarHorizontalStacked" | "visBarVertical" | "visBarVerticalStacked" | "visGauge" | "visGoal" | "visLine" | "visMapCoordinate" | "visMapRegion" | "visMetric" | "visPie" | "visTable" | "visTagCloud" | "visText" | "visTimelion" | "visVega" | "visVisualBuilder" | "visualizeApp" | "vulnerabilityManagementApp" | "watchesApp" | "workplaceSearchApp" | "tokenDenseVector")[];
@@ -2690,9 +2686,9 @@ declare module '@elastic/eui/src/components/icon/icon' {
2690
2686
  export const appendIconComponentCache: (iconTypeToIconComponentMap: {
2691
2687
  [iconType: string]: React.ComponentType<{}>;
2692
2688
  }) => void;
2693
- export class EuiIconClass extends PureComponent<EuiIconProps & WithEuiThemeProps, State> {
2689
+ export class EuiIconClass extends PureComponent<EuiIconProps & WithEuiStylesMemoizerProps, State> {
2694
2690
  isMounted: boolean;
2695
- constructor(props: EuiIconProps & WithEuiThemeProps);
2691
+ constructor(props: EuiIconProps & WithEuiStylesMemoizerProps);
2696
2692
  componentDidMount(): void;
2697
2693
  componentDidUpdate(prevProps: EuiIconProps): void;
2698
2694
  componentWillUnmount(): void;
@@ -2700,7 +2696,7 @@ declare module '@elastic/eui/src/components/icon/icon' {
2700
2696
  onIconLoad: () => void;
2701
2697
  render(): React.JSX.Element;
2702
2698
  }
2703
- export const EuiIcon: React.ForwardRefExoticComponent<Omit<EuiIconProps, "theme"> & React.RefAttributes<Omit<EuiIconProps, "theme">>>;
2699
+ export const EuiIcon: React.ForwardRefExoticComponent<Omit<EuiIconProps, "stylesMemoizer"> & React.RefAttributes<Omit<EuiIconProps, "stylesMemoizer">>>;
2704
2700
 
2705
2701
  }
2706
2702
  declare module '@elastic/eui/src/components/icon' {
@@ -3243,10 +3239,12 @@ declare module '@elastic/eui/src/components/form/field_number' {
3243
3239
 
3244
3240
  }
3245
3241
  declare module '@elastic/eui/src/themes/amsterdam/global_styling/mixins/button' {
3242
+ import { type SerializedStyles } from '@emotion/react';
3246
3243
  import { UseEuiTheme } from '@elastic/eui/src/services';
3247
3244
  export const BUTTON_COLORS: readonly ["text", "accent", "primary", "success", "warning", "danger"];
3248
3245
  export type _EuiButtonColor = (typeof BUTTON_COLORS)[number];
3249
- export type _EuiButtonDisplay = 'base' | 'fill' | 'empty';
3246
+ export const BUTTON_DISPLAYS: readonly ["base", "fill", "empty"];
3247
+ export type _EuiButtonDisplay = (typeof BUTTON_DISPLAYS)[number];
3250
3248
  export interface _EuiButtonOptions {
3251
3249
  display?: _EuiButtonDisplay;
3252
3250
  }
@@ -3285,20 +3283,12 @@ declare module '@elastic/eui/src/themes/amsterdam/global_styling/mixins/button'
3285
3283
  * @param options Button display type
3286
3284
  * @returns An object of `_EuiButtonColor` keys including `disabled`
3287
3285
  */
3288
- export const useEuiButtonColorCSS: (options?: _EuiButtonOptions) => {
3289
- text: import("@emotion/utils").SerializedStyles;
3290
- accent: import("@emotion/utils").SerializedStyles;
3291
- primary: import("@emotion/utils").SerializedStyles;
3292
- success: import("@emotion/utils").SerializedStyles;
3293
- warning: import("@emotion/utils").SerializedStyles;
3294
- danger: import("@emotion/utils").SerializedStyles;
3295
- disabled: import("@emotion/utils").SerializedStyles;
3296
- };
3286
+ export const useEuiButtonColorCSS: (options?: _EuiButtonOptions) => Record<"text" | "disabled" | "accent" | "primary" | "success" | "warning" | "danger", SerializedStyles>;
3297
3287
  /**
3298
3288
  * Creates the translate animation when button is in focus.
3299
3289
  * @returns string
3300
3290
  */
3301
- export const useEuiButtonFocusCSS: () => string;
3291
+ export const useEuiButtonFocusCSS: () => any;
3302
3292
  /**
3303
3293
  * Map of `size` props to various sizings/scales
3304
3294
  * that should remain consistent across all buttons
@@ -3629,16 +3619,16 @@ declare module '@elastic/eui/src/components/button/button_empty' {
3629
3619
 
3630
3620
  }
3631
3621
  declare module '@elastic/eui/src/components/button/button_icon/button_icon.styles' {
3622
+ import { type SerializedStyles } from '@emotion/react';
3632
3623
  import { UseEuiTheme } from '@elastic/eui/src/services';
3633
- import { _EuiButtonColor } from '@elastic/eui/src/themes/amsterdam/global_styling/mixins/button';
3634
3624
  export const euiButtonIconStyles: (euiThemeContext: UseEuiTheme) => {
3635
- euiButtonIcon: import("@emotion/utils").SerializedStyles;
3636
- isDisabled: import("@emotion/utils").SerializedStyles;
3637
- xs: import("@emotion/utils").SerializedStyles;
3638
- s: import("@emotion/utils").SerializedStyles;
3639
- m: import("@emotion/utils").SerializedStyles;
3625
+ euiButtonIcon: SerializedStyles;
3626
+ isDisabled: SerializedStyles;
3627
+ xs: SerializedStyles;
3628
+ s: SerializedStyles;
3629
+ m: SerializedStyles;
3640
3630
  };
3641
- export const _emptyHoverStyles: (euiThemeContext: UseEuiTheme, color: _EuiButtonColor) => import("@emotion/utils").SerializedStyles;
3631
+ export const _emptyHoverStyles: (euiThemeContext: UseEuiTheme) => Record<"text" | "accent" | "primary" | "success" | "warning" | "danger", SerializedStyles>;
3642
3632
 
3643
3633
  }
3644
3634
  declare module '@elastic/eui/src/components/button/button_icon/button_icon' {
@@ -3822,7 +3812,7 @@ declare module '@elastic/eui/src/components/button/button_group/button_group_but
3822
3812
  }
3823
3813
  declare module '@elastic/eui/src/components/button/button_group/button_group.styles' {
3824
3814
  import { UseEuiTheme } from '@elastic/eui/src/services';
3825
- export const euiButtonGroupStyles: () => {
3815
+ export const euiButtonGroupStyles: {
3826
3816
  euiButtonGroup: import("@emotion/utils").SerializedStyles;
3827
3817
  fullWidth: import("@emotion/utils").SerializedStyles;
3828
3818
  };
@@ -8263,7 +8253,15 @@ declare module '@elastic/eui/src/services/theme/style_memoization' {
8263
8253
  * Hook that memoizes the returned values of components style fns/generators
8264
8254
  * per-theme
8265
8255
  */
8266
- export const useEuiMemoizedStyles: <T extends (theme: UseEuiTheme) => StylesMaps>(styleGenerator: T) => ReturnType<T>;
8256
+ export const useEuiMemoizedStyles: <T extends (theme: UseEuiTheme) => StylesMaps>(stylesGenerator: T) => ReturnType<T>;
8257
+ /**
8258
+ * HOC for class components
8259
+ * Syntax is mostly copied from withEuiTheme HOC
8260
+ */
8261
+ export interface WithEuiStylesMemoizerProps {
8262
+ stylesMemoizer: typeof useEuiMemoizedStyles;
8263
+ }
8264
+ export const withEuiStylesMemoizer: <T extends {} = {}>(Component: React.ComponentType<T & WithEuiStylesMemoizerProps>) => React.ForwardRefExoticComponent<React.PropsWithoutRef<Omit<T, "stylesMemoizer">> & React.RefAttributes<Omit<T, "stylesMemoizer">>>;
8267
8265
  export {};
8268
8266
 
8269
8267
  }
@@ -8299,7 +8297,7 @@ declare module '@elastic/eui/src/services/theme' {
8299
8297
  export { useEuiTheme, withEuiTheme, RenderWithEuiTheme, useEuiThemeCSSVariables, } from '@elastic/eui/src/services/theme/hooks';
8300
8298
  export type { EuiThemeProviderProps } from '@elastic/eui/src/services/theme/provider';
8301
8299
  export { EuiThemeProvider } from '@elastic/eui/src/services/theme/provider';
8302
- export { useEuiMemoizedStyles } from '@elastic/eui/src/services/theme/style_memoization';
8300
+ export { useEuiMemoizedStyles, withEuiStylesMemoizer, type WithEuiStylesMemoizerProps, } from '@elastic/eui/src/services/theme/style_memoization';
8303
8301
  export { getEuiDevProviderWarning, setEuiDevProviderWarning } from '@elastic/eui/src/services/theme/warning';
8304
8302
  export { buildTheme, computed, isInverseColorMode, getColorMode, getComputed, getOn, mergeDeep, setOn, Computed, } from '@elastic/eui/src/services/theme/utils';
8305
8303
  export type { ComputedThemeShape, EuiThemeColorMode, EuiThemeColorModeStandard, EuiThemeComputed, EuiThemeModifications, EuiThemeShape, EuiThemeSystem, } from '@elastic/eui/src/services/theme/types';
@@ -9810,12 +9808,14 @@ declare module '@elastic/eui/src/components/breadcrumbs/breadcrumb' {
9810
9808
  */
9811
9809
  'aria-current'?: AriaAttributes['aria-current'];
9812
9810
  /**
9813
- * Creates a breadcrumb that toggles a popover dialog
9811
+ * Creates a breadcrumb that toggles a popover dialog. Takes any rendered node(s),
9812
+ * or a render function that will pass callback allowing you to close the
9813
+ * breadcrumb popover from within your popover content.
9814
9814
  *
9815
9815
  * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
9816
9816
  * click behavior should only trigger a popover.
9817
9817
  */
9818
- popoverContent?: ReactNode;
9818
+ popoverContent?: ReactNode | ((closePopover: () => void) => ReactNode);
9819
9819
  /**
9820
9820
  * Allows customizing the popover if necessary. Accepts any props that
9821
9821
  * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
@@ -13657,6 +13657,12 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
13657
13657
  * as its only argument.
13658
13658
  */
13659
13659
  renderCellValue: EuiDataGridCellProps['renderCellValue'];
13660
+ /**
13661
+ * An optional object of props passed to the `renderCellValue` component.
13662
+ * This API exists to make it easier to define your `renderCellValue` function
13663
+ * component statically, and not rerender due to other dependent state.
13664
+ */
13665
+ cellContext?: EuiDataGridCellProps['cellContext'];
13660
13666
  /**
13661
13667
  * An optional function that can be used to completely customize the rendering of cell popovers.
13662
13668
  *
@@ -13821,6 +13827,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
13821
13827
  rowCount: number;
13822
13828
  visibleRows: EuiDataGridVisibleRows;
13823
13829
  renderCellValue: EuiDataGridCellProps['renderCellValue'];
13830
+ cellContext?: EuiDataGridCellProps['cellContext'];
13824
13831
  renderCellPopover?: EuiDataGridCellProps['renderCellPopover'];
13825
13832
  renderFooterCellValue?: EuiDataGridCellProps['renderCellValue'];
13826
13833
  renderCustomGridBody?: EuiDataGridProps['renderCustomGridBody'];
@@ -13949,7 +13956,8 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
13949
13956
  * Accepts any props that `EuiPopover` accepts, except for `button` and `closePopover`.
13950
13957
  */
13951
13958
  setCellPopoverProps: (props: Omit<EuiPopoverProps, 'button' | 'closePopover'>) => void;
13952
- }
13959
+ } type CellContext = Omit<Record<string, any>, keyof EuiDataGridCellValueElementProps>; type CellPropsWithContext = CellContext & EuiDataGridCellValueElementProps;
13960
+ export type RenderCellValue = ((props: CellPropsWithContext) => ReactNode) | ComponentClass<CellPropsWithContext>;
13953
13961
  export interface EuiDataGridCellProps {
13954
13962
  rowIndex: number;
13955
13963
  visibleRowIndex: number;
@@ -13962,7 +13970,8 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
13962
13970
  isExpandable: boolean;
13963
13971
  className?: string;
13964
13972
  popoverContext: DataGridCellPopoverContextShape;
13965
- renderCellValue: ((props: EuiDataGridCellValueElementProps) => ReactNode) | ComponentClass<EuiDataGridCellValueElementProps>;
13973
+ renderCellValue: RenderCellValue;
13974
+ cellContext?: CellContext;
13966
13975
  renderCellPopover?: JSXElementConstructor<EuiDataGridCellPopoverElementProps> | ((props: EuiDataGridCellPopoverElementProps) => ReactNode);
13967
13976
  setRowHeight?: (height: number) => void;
13968
13977
  getRowHeight?: (rowIndex: number) => number;
@@ -14828,7 +14837,7 @@ declare module '@elastic/eui/src/components/datagrid/body/cell/data_grid_cell' {
14828
14837
  }
14829
14838
  declare module '@elastic/eui/src/components/datagrid/body/cell/data_grid_cell_wrapper' {
14830
14839
  import { FunctionComponent } from 'react';
14831
- import { EuiDataGridCellProps, EuiDataGridBodyProps, EuiDataGridHeaderRowProps } from '@elastic/eui/src/components/datagrid/data_grid_types'; type CellProps = Pick<EuiDataGridCellProps, 'colIndex' | 'visibleRowIndex' | 'style' | 'renderCellValue' | 'renderCellPopover' | 'interactiveCellId' | 'rowHeightsOptions' | 'rowHeightUtils' | 'rowManager' | 'setRowHeight'> & Pick<EuiDataGridBodyProps, 'schema' | 'schemaDetectors' | 'pagination' | 'columns' | 'leadingControlColumns' | 'trailingControlColumns' | 'visibleColCount'> & Pick<EuiDataGridHeaderRowProps, 'columnWidths' | 'defaultColumnWidth'> & Partial<EuiDataGridCellProps>;
14840
+ import { EuiDataGridCellProps, EuiDataGridBodyProps, EuiDataGridHeaderRowProps } from '@elastic/eui/src/components/datagrid/data_grid_types'; type CellProps = Pick<EuiDataGridCellProps, 'colIndex' | 'visibleRowIndex' | 'style' | 'renderCellValue' | 'cellContext' | 'renderCellPopover' | 'interactiveCellId' | 'rowHeightsOptions' | 'rowHeightUtils' | 'rowManager' | 'setRowHeight'> & Pick<EuiDataGridBodyProps, 'schema' | 'schemaDetectors' | 'pagination' | 'columns' | 'leadingControlColumns' | 'trailingControlColumns' | 'visibleColCount'> & Pick<EuiDataGridHeaderRowProps, 'columnWidths' | 'defaultColumnWidth'> & Partial<EuiDataGridCellProps>;
14832
14841
  /**
14833
14842
  * A DRY wrapper used by both custom and virtualized grid cells.
14834
14843
  * It grabs context, determines the type of cell being rendered
@@ -14853,7 +14862,7 @@ declare module '@elastic/eui/src/components/datagrid/body/footer/data_grid_foote
14853
14862
  schema: import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridSchema;
14854
14863
  columnWidths: import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridColumnWidths;
14855
14864
  defaultColumnWidth?: number | null | undefined;
14856
- renderCellValue: ((props: import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridCellValueElementProps) => React.ReactNode) | React.ComponentClass<import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridCellValueElementProps, any>;
14865
+ renderCellValue: import ("@elastic/eui/src/components/datagrid/data_grid_types").RenderCellValue;
14857
14866
  renderCellPopover?: React.JSXElementConstructor<import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridCellPopoverElementProps> | ((props: import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridCellPopoverElementProps) => React.ReactNode) | undefined;
14858
14867
  interactiveCellId: string;
14859
14868
  visibleRowIndex?: number | undefined;
package/i18ntokens.json CHANGED
@@ -275,14 +275,14 @@
275
275
  "highlighting": "string",
276
276
  "loc": {
277
277
  "start": {
278
- "line": 155,
278
+ "line": 157,
279
279
  "column": 27,
280
- "index": 4628
280
+ "index": 4839
281
281
  },
282
282
  "end": {
283
- "line": 158,
283
+ "line": 160,
284
284
  "column": 3,
285
- "index": 4738
285
+ "index": 4949
286
286
  }
287
287
  },
288
288
  "filepath": "src/components/breadcrumbs/breadcrumb.tsx"
@@ -293,14 +293,14 @@
293
293
  "highlighting": "string",
294
294
  "loc": {
295
295
  "start": {
296
- "line": 233,
296
+ "line": 238,
297
297
  "column": 20,
298
- "index": 6945
298
+ "index": 7303
299
299
  },
300
300
  "end": {
301
- "line": 236,
301
+ "line": 241,
302
302
  "column": 3,
303
- "index": 7038
303
+ "index": 7396
304
304
  }
305
305
  },
306
306
  "filepath": "src/components/breadcrumbs/breadcrumb.tsx"
@@ -941,14 +941,14 @@
941
941
  "highlighting": "string",
942
942
  "loc": {
943
943
  "start": {
944
- "line": 119,
944
+ "line": 121,
945
945
  "column": 10,
946
- "index": 3528
946
+ "index": 3572
947
947
  },
948
948
  "end": {
949
- "line": 127,
949
+ "line": 129,
950
950
  "column": 12,
951
- "index": 3819
951
+ "index": 3863
952
952
  }
953
953
  },
954
954
  "filepath": "src/components/datagrid/body/cell/data_grid_cell.tsx"
@@ -959,14 +959,14 @@
959
959
  "highlighting": "string",
960
960
  "loc": {
961
961
  "start": {
962
- "line": 131,
962
+ "line": 133,
963
963
  "column": 14,
964
- "index": 3898
964
+ "index": 3942
965
965
  },
966
966
  "end": {
967
- "line": 134,
967
+ "line": 136,
968
968
  "column": 16,
969
- "index": 4051
969
+ "index": 4095
970
970
  }
971
971
  },
972
972
  "filepath": "src/components/datagrid/body/cell/data_grid_cell.tsx"
@@ -2273,14 +2273,14 @@
2273
2273
  "highlighting": "string",
2274
2274
  "loc": {
2275
2275
  "start": {
2276
- "line": 342,
2276
+ "line": 343,
2277
2277
  "column": 22,
2278
- "index": 9566
2278
+ "index": 9585
2279
2279
  },
2280
2280
  "end": {
2281
- "line": 346,
2281
+ "line": 347,
2282
2282
  "column": 5,
2283
- "index": 9738
2283
+ "index": 9757
2284
2284
  }
2285
2285
  },
2286
2286
  "filepath": "src/components/datagrid/data_grid.tsx"
@@ -2291,14 +2291,14 @@
2291
2291
  "highlighting": "string",
2292
2292
  "loc": {
2293
2293
  "start": {
2294
- "line": 347,
2294
+ "line": 348,
2295
2295
  "column": 27,
2296
- "index": 9767
2296
+ "index": 9786
2297
2297
  },
2298
2298
  "end": {
2299
- "line": 351,
2299
+ "line": 352,
2300
2300
  "column": 5,
2301
- "index": 9908
2301
+ "index": 9927
2302
2302
  }
2303
2303
  },
2304
2304
  "filepath": "src/components/datagrid/data_grid.tsx"
@@ -2309,14 +2309,14 @@
2309
2309
  "highlighting": "string",
2310
2310
  "loc": {
2311
2311
  "start": {
2312
- "line": 476,
2312
+ "line": 478,
2313
2313
  "column": 18,
2314
- "index": 15363
2314
+ "index": 15428
2315
2315
  },
2316
2316
  "end": {
2317
- "line": 479,
2317
+ "line": 481,
2318
2318
  "column": 20,
2319
- "index": 15516
2319
+ "index": 15581
2320
2320
  }
2321
2321
  },
2322
2322
  "filepath": "src/components/datagrid/data_grid.tsx"
@@ -5045,14 +5045,14 @@
5045
5045
  "highlighting": "string",
5046
5046
  "loc": {
5047
5047
  "start": {
5048
- "line": 39,
5048
+ "line": 42,
5049
5049
  "column": 24,
5050
- "index": 1389
5050
+ "index": 1528
5051
5051
  },
5052
5052
  "end": {
5053
- "line": 42,
5053
+ "line": 45,
5054
5054
  "column": 3,
5055
- "index": 1461
5055
+ "index": 1600
5056
5056
  }
5057
5057
  },
5058
5058
  "filepath": "src/components/link/external_link_icon.tsx"
@@ -5063,14 +5063,14 @@
5063
5063
  "highlighting": "string",
5064
5064
  "loc": {
5065
5065
  "start": {
5066
- "line": 58,
5066
+ "line": 61,
5067
5067
  "column": 12,
5068
- "index": 1805
5068
+ "index": 1911
5069
5069
  },
5070
5070
  "end": {
5071
- "line": 61,
5071
+ "line": 64,
5072
5072
  "column": 14,
5073
- "index": 1956
5073
+ "index": 2062
5074
5074
  }
5075
5075
  },
5076
5076
  "filepath": "src/components/link/external_link_icon.tsx"
@@ -116,11 +116,12 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
116
116
  css: cssStyles
117
117
  };
118
118
  if (isPopoverBreadcrumb) {
119
+ var _closePopover = function _closePopover() {
120
+ return setIsPopoverOpen(false);
121
+ };
119
122
  return (0, _react2.jsx)(_popover.EuiPopover, _extends({}, popoverProps, {
120
123
  isOpen: isPopoverOpen,
121
- closePopover: function closePopover() {
122
- return setIsPopoverOpen(false);
123
- },
124
+ closePopover: _closePopover,
124
125
  css: !isLastBreadcrumb && styles.euiBreadcrumb__popoverWrapper,
125
126
  button: (0, _react2.jsx)(_link.EuiLink, _extends({}, baseProps, {
126
127
  color: linkColor,
@@ -137,7 +138,7 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
137
138
  size: "s",
138
139
  "aria-label": " - ".concat(popoverAriaLabel)
139
140
  }))
140
- }), popoverContent);
141
+ }), typeof popoverContent === 'function' ? popoverContent(_closePopover) : popoverContent);
141
142
  } else if (isInteractiveBreadcrumb) {
142
143
  return (0, _react2.jsx)(_link.EuiLink, _extends({}, baseProps, styleProps, {
143
144
  color: linkColor,
@@ -179,12 +180,14 @@ EuiBreadcrumbContent.propTypes = {
179
180
  */
180
181
  "aria-current": _propTypes.default.any,
181
182
  /**
182
- * Creates a breadcrumb that toggles a popover dialog
183
+ * Creates a breadcrumb that toggles a popover dialog. Takes any rendered node(s),
184
+ * or a render function that will pass callback allowing you to close the
185
+ * breadcrumb popover from within your popover content.
183
186
  *
184
187
  * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
185
188
  * click behavior should only trigger a popover.
186
189
  */
187
- popoverContent: _propTypes.default.node,
190
+ popoverContent: _propTypes.default.oneOfType([_propTypes.default.node.isRequired, _propTypes.default.func.isRequired]),
188
191
  /**
189
192
  * Allows customizing the popover if necessary. Accepts any props that
190
193
  * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
@@ -149,12 +149,14 @@ EuiBreadcrumbs.propTypes = {
149
149
  */
150
150
  "aria-current": _propTypes.default.any,
151
151
  /**
152
- * Creates a breadcrumb that toggles a popover dialog
152
+ * Creates a breadcrumb that toggles a popover dialog. Takes any rendered node(s),
153
+ * or a render function that will pass callback allowing you to close the
154
+ * breadcrumb popover from within your popover content.
153
155
  *
154
156
  * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
155
157
  * click behavior should only trigger a popover.
156
158
  */
157
- popoverContent: _propTypes.default.node,
159
+ popoverContent: _propTypes.default.oneOfType([_propTypes.default.node.isRequired, _propTypes.default.func.isRequired]),
158
160
  /**
159
161
  * Allows customizing the popover if necessary. Accepts any props that
160
162
  * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
@@ -82,8 +82,7 @@ var EuiButtonDisplay = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref)
82
82
  isDisabled: isDisabled || disabled,
83
83
  isLoading: isLoading
84
84
  });
85
- var theme = (0, _services.useEuiTheme)();
86
- var styles = (0, _button_display.euiButtonDisplayStyles)(theme);
85
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_display.euiButtonDisplayStyles);
87
86
  var cssStyles = [styles.euiButtonDisplay, styles[size], fullWidth && styles.fullWidth, minWidth == null && styles.defaultMinWidth, buttonIsDisabled && styles.isDisabled];
88
87
  var innerNode = (0, _react2.jsx)(_button_display_content.EuiButtonDisplayContent, _extends({
89
88
  isLoading: isLoading,
@@ -74,8 +74,7 @@ var EuiButtonEmpty = function EuiButtonEmpty(_ref) {
74
74
  var buttonColorStyles = (0, _button.useEuiButtonColorCSS)({
75
75
  display: 'empty'
76
76
  });
77
- var euiTheme = (0, _services.useEuiTheme)();
78
- var styles = (0, _button_empty.euiButtonEmptyStyles)(euiTheme);
77
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_empty.euiButtonEmptyStyles);
79
78
  var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
80
79
  var classes = (0, _classnames.default)('euiButtonEmpty', className);
81
80
  var contentClassNames = (0, _classnames.default)('euiButtonEmpty__content', contentProps === null || contentProps === void 0 ? void 0 : contentProps.className);
@@ -48,10 +48,8 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
48
48
  _ref$type = _ref.type,
49
49
  type = _ref$type === void 0 ? 'single' : _ref$type,
50
50
  rest = _objectWithoutProperties(_ref, _excluded);
51
- var euiTheme = (0, _services.useEuiTheme)();
52
- var wrapperStyles = (0, _button_group.euiButtonGroupStyles)();
53
- var wrapperCssStyles = [wrapperStyles.euiButtonGroup, isFullWidth && wrapperStyles.fullWidth];
54
- var styles = (0, _button_group.euiButtonGroupButtonsStyles)(euiTheme);
51
+ var wrapperCssStyles = [_button_group.euiButtonGroupStyles.euiButtonGroup, isFullWidth && _button_group.euiButtonGroupStyles.fullWidth];
52
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_group.euiButtonGroupButtonsStyles);
55
53
  var cssStyles = [styles.euiButtonGroup__buttons, isFullWidth && styles.fullWidth, styles[buttonSize]];
56
54
  var classes = (0, _classnames.default)('euiButtonGroup', {
57
55
  'euiButtonGroup-isDisabled': isDisabled
@@ -14,19 +14,16 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
14
14
  * in compliance with, at your election, the Elastic License 2.0 or the Server
15
15
  * Side Public License, v 1.
16
16
  */
17
- var _ref = process.env.NODE_ENV === "production" ? {
18
- name: "jl0hie-fullWidth",
19
- styles: "display:block;label:fullWidth;"
20
- } : {
21
- name: "jl0hie-fullWidth",
22
- styles: "display:block;label:fullWidth;",
23
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
24
- };
25
- var euiButtonGroupStyles = function euiButtonGroupStyles() {
26
- return {
27
- euiButtonGroup: /*#__PURE__*/(0, _react.css)("display:inline-block;", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;;label:euiButtonGroup;"),
28
- fullWidth: _ref
29
- };
17
+ var euiButtonGroupStyles = {
18
+ euiButtonGroup: /*#__PURE__*/(0, _react.css)("display:inline-block;", (0, _global_styling.logicalCSS)('max-width', '100%'), " position:relative;;label:euiButtonGroup;"),
19
+ fullWidth: process.env.NODE_ENV === "production" ? {
20
+ name: "jl0hie-fullWidth",
21
+ styles: "display:block;label:fullWidth;"
22
+ } : {
23
+ name: "jl0hie-fullWidth",
24
+ styles: "display:block;label:fullWidth;",
25
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
26
+ }
30
27
  };
31
28
  exports.euiButtonGroupStyles = euiButtonGroupStyles;
32
29
  var euiButtonGroupButtonsStyles = function euiButtonGroupButtonsStyles(euiThemeContext) {
@@ -52,7 +52,6 @@ var EuiButtonIcon = function EuiButtonIcon(_ref) {
52
52
  isSelected = _ref.isSelected,
53
53
  isLoading = _ref.isLoading,
54
54
  rest = _objectWithoutProperties(_ref, _excluded);
55
- var euiThemeContext = (0, _services.useEuiTheme)();
56
55
  var isDisabled = (0, _button_display.isButtonDisabled)({
57
56
  isDisabled: _isDisabled || disabled,
58
57
  href: href,
@@ -67,9 +66,9 @@ var EuiButtonIcon = function EuiButtonIcon(_ref) {
67
66
  display: display
68
67
  });
69
68
  var buttonFocusStyle = (0, _button.useEuiButtonFocusCSS)();
70
- var emptyHoverStyles = display === 'empty' && !isDisabled && (0, _button_icon._emptyHoverStyles)(euiThemeContext, color);
71
- var styles = (0, _button_icon.euiButtonIconStyles)(euiThemeContext);
72
- var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], buttonFocusStyle, emptyHoverStyles, isDisabled && styles.isDisabled];
69
+ var emptyHoverStyles = (0, _services.useEuiMemoizedStyles)(_button_icon._emptyHoverStyles);
70
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_icon.euiButtonIconStyles);
71
+ var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], buttonFocusStyle, display === 'empty' && !isDisabled && emptyHoverStyles[color], isDisabled && styles.isDisabled];
73
72
  var classes = (0, _classnames.default)('euiButtonIcon', className);
74
73
 
75
74
  // Add an icon to the button if one exists.
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -8,6 +9,11 @@ var _react = require("@emotion/react");
8
9
  var _global_styling = require("../../../global_styling");
9
10
  var _button = require("../../../themes/amsterdam/global_styling/mixins/button");
10
11
  var _button_display = require("../button_display/_button_display.styles");
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
17
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
12
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
19
  * or more contributor license agreements. Licensed under the Elastic License
@@ -35,7 +41,9 @@ var euiButtonIconStyles = function euiButtonIconStyles(euiThemeContext) {
35
41
  };
36
42
  };
37
43
  exports.euiButtonIconStyles = euiButtonIconStyles;
38
- var _emptyHoverStyles = function _emptyHoverStyles(euiThemeContext, color) {
39
- return /*#__PURE__*/(0, _react.css)("&:hover{background-color:", (0, _button.euiButtonEmptyColor)(euiThemeContext, color).backgroundColor, ";}");
44
+ var _emptyHoverStyles = function _emptyHoverStyles(euiThemeContext) {
45
+ return _button.BUTTON_COLORS.reduce(function (styles, color) {
46
+ return _objectSpread(_objectSpread({}, styles), {}, _defineProperty({}, color, /*#__PURE__*/(0, _react.css)("&:hover{background-color:", (0, _button.euiButtonEmptyColor)(euiThemeContext, color).backgroundColor, ";}")));
47
+ }, {});
40
48
  };
41
49
  exports._emptyHoverStyles = _emptyHoverStyles;