@elastic/eui 88.5.0 → 88.5.2

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 (107) hide show
  1. package/dist/eui_theme_dark.css +8 -21
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +8 -21
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +20 -6
  6. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +4 -14
  7. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +57 -0
  8. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +25 -0
  9. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +156 -0
  10. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +19 -0
  11. package/es/components/collapsible_nav_beta/collapsible_nav_group/index.js +9 -0
  12. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -7
  13. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +3 -7
  14. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +4 -8
  15. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -63
  16. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +2 -10
  17. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +122 -41
  18. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -3
  19. package/es/components/combo_box/combo_box.js +12 -25
  20. package/es/components/combo_box/combo_box_input/combo_box_input.js +61 -54
  21. package/es/components/text_truncate/index.js +1 -1
  22. package/es/components/text_truncate/utils.js +88 -138
  23. package/es/services/canvas/canvas_text_utils.js +64 -0
  24. package/es/services/canvas/index.js +9 -0
  25. package/es/services/index.js +1 -0
  26. package/eui.d.ts +186 -105
  27. package/i18ntokens.json +8 -8
  28. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +20 -6
  29. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +11 -19
  30. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +67 -0
  31. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +33 -0
  32. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +166 -0
  33. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +26 -0
  34. package/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +12 -0
  35. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -7
  36. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +3 -7
  37. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +4 -8
  38. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +14 -61
  39. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -9
  40. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +122 -39
  41. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -4
  42. package/lib/components/combo_box/combo_box.js +12 -25
  43. package/lib/components/combo_box/combo_box_input/combo_box_input.js +60 -53
  44. package/lib/components/text_truncate/index.js +0 -6
  45. package/lib/components/text_truncate/utils.js +97 -148
  46. package/lib/services/canvas/canvas_text_utils.js +70 -0
  47. package/lib/services/canvas/index.js +12 -0
  48. package/lib/services/index.js +8 -0
  49. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +17 -3
  50. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +4 -14
  51. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +56 -0
  52. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +25 -0
  53. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +48 -0
  54. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +19 -0
  55. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/index.js +9 -0
  56. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -33
  57. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +2 -10
  58. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +54 -21
  59. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -3
  60. package/optimize/es/components/combo_box/combo_box.js +12 -25
  61. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +61 -53
  62. package/optimize/es/components/text_truncate/index.js +1 -1
  63. package/optimize/es/components/text_truncate/utils.js +87 -137
  64. package/optimize/es/services/canvas/canvas_text_utils.js +60 -0
  65. package/optimize/es/services/canvas/index.js +9 -0
  66. package/optimize/es/services/index.js +1 -0
  67. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +15 -1
  68. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +11 -19
  69. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +66 -0
  70. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +33 -0
  71. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +58 -0
  72. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +26 -0
  73. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +12 -0
  74. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +5 -31
  75. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -9
  76. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +54 -20
  77. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -4
  78. package/optimize/lib/components/combo_box/combo_box.js +12 -25
  79. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +60 -52
  80. package/optimize/lib/components/text_truncate/index.js +0 -6
  81. package/optimize/lib/components/text_truncate/utils.js +96 -147
  82. package/optimize/lib/services/canvas/canvas_text_utils.js +67 -0
  83. package/optimize/lib/services/canvas/index.js +12 -0
  84. package/optimize/lib/services/index.js +8 -0
  85. package/package.json +2 -5
  86. package/src/components/combo_box/_combo_box.scss +12 -19
  87. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +20 -6
  88. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +11 -19
  89. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +66 -0
  90. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +33 -0
  91. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +165 -0
  92. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +26 -0
  93. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/index.js +12 -0
  94. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -7
  95. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +3 -7
  96. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +4 -8
  97. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +14 -61
  98. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -9
  99. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +122 -39
  100. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -4
  101. package/test-env/components/combo_box/combo_box.js +12 -25
  102. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +60 -53
  103. package/test-env/components/text_truncate/index.js +0 -6
  104. package/test-env/components/text_truncate/utils.js +96 -147
  105. package/test-env/services/canvas/canvas_text_utils.js +30 -0
  106. package/test-env/services/canvas/index.js +12 -0
  107. package/test-env/services/index.js +8 -0
@@ -60,10 +60,6 @@ var EuiCollapsibleNavAccordion = function EuiCollapsibleNavAccordion(_ref) {
60
60
  var euiTheme = (0, _services.useEuiTheme)();
61
61
  var styles = (0, _collapsible_nav_accordion.euiCollapsibleNavAccordionStyles)(euiTheme);
62
62
  var cssStyles = [styles.euiCollapsibleNavAccordion, isSubItem ? styles.isSubItem : styles.isTopItem, isSelected && styles.isSelected, accordionProps === null || accordionProps === void 0 ? void 0 : accordionProps.css];
63
-
64
- /**
65
- * Title / accordion trigger
66
- */
67
63
  var isTitleInteractive = !!(href || linkProps !== null && linkProps !== void 0 && linkProps.onClick);
68
64
 
69
65
  // Stop propagation on the title so that the accordion toggle doesn't occur on click
@@ -75,32 +71,6 @@ var EuiCollapsibleNavAccordion = function EuiCollapsibleNavAccordion(_ref) {
75
71
  }, [linkProps === null || linkProps === void 0 ? void 0 : linkProps.onClick] // eslint-disable-line react-hooks/exhaustive-deps
76
72
  );
77
73
 
78
- /**
79
- * Child items
80
- */
81
- // If any of the sub items have an icon, default to an
82
- // icon of `empty` so that all text lines up vertically
83
- var itemsHaveIcons = (0, _react.useMemo)(function () {
84
- return items.some(function (item) {
85
- return !!item.icon;
86
- });
87
- }, [items]);
88
- var icon = itemsHaveIcons ? 'empty' : undefined;
89
- var childrenCssStyles = [styles.children.euiCollapsibleNavAccordion__children, isSubItem ? styles.children.isSubItem : styles.children.isTopItem];
90
- var children = (0, _react2.jsx)("div", {
91
- css: childrenCssStyles,
92
- className: "euiCollapsibleNavAccordion__children"
93
- }, items.map(function (item, index) {
94
- return (
95
- // This is an intentional circular dependency between the accordion & parent item display.
96
- // EuiSideNavItem is purposely recursive to support any amount of nested sub items,
97
- // and split up into separate files/components for better dev readability
98
- (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItem, _extends({
99
- key: index,
100
- icon: icon
101
- }, item))
102
- );
103
- }));
104
74
  return (0, _react2.jsx)(_accordion.EuiAccordion, _extends({
105
75
  id: groupID,
106
76
  className: classes,
@@ -122,7 +92,11 @@ var EuiCollapsibleNavAccordion = function EuiCollapsibleNavAccordion(_ref) {
122
92
  }, accordionProps === null || accordionProps === void 0 ? void 0 : accordionProps.arrowProps), {}, {
123
93
  css: [styles.euiCollapsibleNavAccordion__arrow, accordionProps === null || accordionProps === void 0 ? void 0 : (_accordionProps$arrow = accordionProps.arrowProps) === null || _accordionProps$arrow === void 0 ? void 0 : _accordionProps$arrow.css]
124
94
  })
125
- }), children);
95
+ }), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
96
+ items: items,
97
+ isSubItem: isSubItem,
98
+ className: "euiCollapsibleNavAccordion__children"
99
+ }));
126
100
  };
127
101
  exports.EuiCollapsibleNavAccordion = EuiCollapsibleNavAccordion;
128
102
  EuiCollapsibleNavAccordion.propTypes = {
@@ -132,20 +106,20 @@ EuiCollapsibleNavAccordion.propTypes = {
132
106
  */
133
107
  isSubItem: _propTypes.default.bool,
134
108
  buttonContent: _propTypes.default.node.isRequired,
135
- // On the main `EuiCollapsibleNavItem` component, this uses `EuiCollapsibleNavSubItemProps`
136
- // to allow for section headings, but by the time `items` reaches this component, we
137
- // know for sure it's an actual accordion item and not a section heading
138
109
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
139
110
  /**
140
111
  * Required text to render as the nav item title
141
112
  */
142
- title: _propTypes.default.string.isRequired,
113
+ title: _propTypes.default.string,
143
114
  /**
144
115
  * Allows customizing the title element.
145
116
  * Consider using a heading element for better accessibility.
146
117
  * Defaults to an unsemantic `span` or `div`, depending on context.
147
118
  */
148
119
  titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
120
+ /**
121
+ * Optional icon to render to the left of title content
122
+ */
149
123
  icon: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "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", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDenseVector", "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"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]),
150
124
  /**
151
125
  * Optional props to pass to the title icon
@@ -164,33 +138,11 @@ EuiCollapsibleNavAccordion.propTypes = {
164
138
  /**
165
139
  * When passed, an `EuiAccordion` with nested child item links will be rendered.
166
140
  *
167
- * Accepts any #EuiCollapsibleNavItem prop, and also accepts an
168
- * #EuiCollapsibleNavSubItemGroupTitle
141
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
142
+ * subitem content, pass an object with a `renderItem` callback.
169
143
  */
170
144
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
171
- /**
172
- * Required text to render as the nav item title
173
- */
174
- title: _propTypes.default.string,
175
- /**
176
- * Allows customizing the title element.
177
- * Consider using a heading element for better accessibility.
178
- * Defaults to an unsemantic `span` or `div`, depending on context.
179
- */
180
- titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
181
- /**
182
- * Optional icon to render to the left of title content
183
- */
184
- icon: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "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", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDenseVector", "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"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]),
185
- /**
186
- * Optional props to pass to the title icon
187
- */
188
- iconProps: _propTypes.default.any,
189
- /**
190
- * Pass this flag to seperate links by group title headings.
191
- * Strongly consider using the `titleElement` prop for accessibility.
192
- */
193
- isGroupTitle: _propTypes.default.bool
145
+ renderItem: _propTypes.default.func
194
146
  }).isRequired),
195
147
  /**
196
148
  * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
@@ -206,6 +158,7 @@ EuiCollapsibleNavAccordion.propTypes = {
206
158
  * Highlights whether an item is currently selected, e.g.
207
159
  * if the user is on the same page as the nav link
208
160
  */
209
- isSelected: _propTypes.default.bool
161
+ isSelected: _propTypes.default.bool,
162
+ renderItem: _propTypes.default.func
210
163
  }).isRequired).isRequired
211
164
  };
@@ -26,15 +26,7 @@ var euiCollapsibleNavAccordionStyles = function euiCollapsibleNavAccordionStyles
26
26
  isSelected: /*#__PURE__*/(0, _react.css)("&>.euiAccordion__triggerWrapper{background-color:", sharedStyles.backgroundSelectedColor, ";&:hover{background-color:", sharedStyles.backgroundSelectedColor, ";}};label:isSelected;"),
27
27
  isSubItem: /*#__PURE__*/(0, _react.css)("&.euiAccordion-isOpen{", (0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.m), ";};label:isSubItem;"),
28
28
  // Arrow element
29
- euiCollapsibleNavAccordion__arrow: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-right', euiTheme.size.xs), _global_styling.euiCanAnimate, "{transition:background-color ", sharedStyles.animation, ";}&:hover,&:focus-visible{background-color:", euiTheme.colors.lightShade, ";&>.euiIcon{color:", sharedStyles.color, ";}}transform:none!important;&>.euiIcon{color:", sharedStyles.rightIconColor, ";transform:rotate(90deg);", _global_styling.euiCanAnimate, "{transition:transform ", sharedStyles.animation, ",color ", sharedStyles.animation, ";}}&.euiAccordion__arrow[aria-expanded='true']>.euiIcon{color:", sharedStyles.color, ";transform:rotate(-90deg);};label:euiCollapsibleNavAccordion__arrow;"),
30
- // Children wrapper
31
- children: {
32
- euiCollapsibleNavAccordion__children: /*#__PURE__*/(0, _react.css)(";label:euiCollapsibleNavAccordion__children;"),
33
- isTopItem: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('padding-top', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.xl), ";;label:isTopItem;"),
34
- isSubItem: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-left', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('margin-left', euiTheme.size.s), " ", (0, _global_styling.logicalCSS)('padding-left', (0, _global_styling.mathWithUnits)([euiTheme.size.s, euiTheme.border.width.thin], function (x, y) {
35
- return x - y;
36
- })), ";;label:isSubItem;")
37
- }
29
+ euiCollapsibleNavAccordion__arrow: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-right', euiTheme.size.xs), _global_styling.euiCanAnimate, "{transition:background-color ", sharedStyles.animation, ";}&:hover,&:focus-visible{background-color:", euiTheme.colors.lightShade, ";&>.euiIcon{color:", sharedStyles.color, ";}}transform:none!important;&>.euiIcon{color:", sharedStyles.rightIconColor, ";transform:rotate(90deg);", _global_styling.euiCanAnimate, "{transition:transform ", sharedStyles.animation, ",color ", sharedStyles.animation, ";}}&.euiAccordion__arrow[aria-expanded='true']>.euiIcon{color:", sharedStyles.color, ";transform:rotate(-90deg);};label:euiCollapsibleNavAccordion__arrow;")
38
30
  };
39
31
  };
40
32
  exports.euiCollapsibleNavAccordionStyles = euiCollapsibleNavAccordionStyles;
@@ -4,13 +4,12 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.EuiCollapsibleNavSubItem = exports.EuiCollapsibleNavItem = void 0;
7
+ exports.EuiCollapsibleNavSubItems = exports.EuiCollapsibleNavSubItem = exports.EuiCollapsibleNavItemTitle = exports.EuiCollapsibleNavItem = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _services = require("../../../services");
12
12
  var _icon = require("../../icon");
13
- var _title = require("../../title");
14
13
  var _context = require("../context");
15
14
  var _collapsed = require("./collapsed");
16
15
  var _collapsible_nav_accordion = require("./collapsible_nav_accordion");
@@ -18,8 +17,9 @@ var _collapsible_nav_link = require("./collapsible_nav_link");
18
17
  var _collapsible_nav_item = require("./collapsible_nav_item.styles");
19
18
  var _react2 = require("@emotion/react");
20
19
  var _excluded = ["isSubItem", "title", "titleElement", "icon", "iconProps", "items", "children"],
21
- _excluded2 = ["isGroupTitle", "className"],
22
- _excluded3 = ["className"];
20
+ _excluded2 = ["renderItem", "className"],
21
+ _excluded3 = ["items", "isSubItem", "isGroup", "className"],
22
+ _excluded4 = ["className"];
23
23
  /*
24
24
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
25
25
  * or more contributor license agreements. Licensed under the Elastic License
@@ -106,15 +106,11 @@ EuiCollapsibleNavItemDisplay.propTypes = {
106
106
  /**
107
107
  * When passed, an `EuiAccordion` with nested child item links will be rendered.
108
108
  *
109
- * Accepts any #EuiCollapsibleNavItem prop, and also accepts an
110
- * #EuiCollapsibleNavSubItemGroupTitle
109
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
110
+ * subitem content, pass an object with a `renderItem` callback.
111
111
  */
112
112
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
113
- /**
114
- * Pass this flag to seperate links by group title headings.
115
- * Strongly consider using the `titleElement` prop for accessibility.
116
- */
117
- isGroupTitle: _propTypes.default.bool
113
+ renderItem: _propTypes.default.func
118
114
  }).isRequired),
119
115
  /**
120
116
  * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
@@ -154,23 +150,17 @@ var EuiCollapsibleNavItemTitle = function EuiCollapsibleNavItemTitle(_ref2) {
154
150
  };
155
151
 
156
152
  /**
157
- * Sub-items can either be a group title, to visually separate sections
158
- * of nav links, or they can simply be more links or accordions
153
+ * Sub-items can either be a totally custom rendered item,
154
+ * or they can simply be more links or accordions
159
155
  */
156
+ exports.EuiCollapsibleNavItemTitle = EuiCollapsibleNavItemTitle;
160
157
  var EuiCollapsibleNavSubItem = function EuiCollapsibleNavSubItem(_ref3) {
161
- var isGroupTitle = _ref3.isGroupTitle,
158
+ var renderItem = _ref3.renderItem,
162
159
  className = _ref3.className,
163
160
  props = _objectWithoutProperties(_ref3, _excluded2);
164
- var euiTheme = (0, _services.useEuiTheme)();
165
- var styles = (0, _collapsible_nav_item.euiCollapsibleNavSubItemGroupTitleStyles)(euiTheme);
166
161
  var classes = (0, _classnames.default)('euiCollapsibleNavSubItem', className);
167
- if (isGroupTitle) {
168
- var TitleElement = props.titleElement || 'div';
169
- return (0, _react2.jsx)(_title.EuiTitle, {
170
- size: "xxxs",
171
- css: styles.euiCollapsibleNavItem__groupTitle,
172
- className: "euiCollapsibleNavItem__groupTitle eui-textTruncate"
173
- }, (0, _react2.jsx)(TitleElement, null, props.title));
162
+ if (renderItem) {
163
+ return (0, _react2.jsx)(_react.default.Fragment, null, renderItem());
174
164
  }
175
165
  return (0, _react2.jsx)(EuiCollapsibleNavItemDisplay, _extends({
176
166
  className: classes
@@ -180,7 +170,8 @@ var EuiCollapsibleNavSubItem = function EuiCollapsibleNavSubItem(_ref3) {
180
170
  };
181
171
 
182
172
  /**
183
- * The actual exported component
173
+ * Reuseable component for rendering a group of sub items
174
+ * Used by both `EuiCollapsibleNavGroup` and `EuiCollapsibleNavAccordion`
184
175
  */
185
176
  exports.EuiCollapsibleNavSubItem = EuiCollapsibleNavSubItem;
186
177
  EuiCollapsibleNavSubItem.propTypes = {
@@ -215,8 +206,8 @@ EuiCollapsibleNavSubItem.propTypes = {
215
206
  /**
216
207
  * When passed, an `EuiAccordion` with nested child item links will be rendered.
217
208
  *
218
- * Accepts any #EuiCollapsibleNavItem prop, and also accepts an
219
- * #EuiCollapsibleNavSubItemGroupTitle
209
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
210
+ * subitem content, pass an object with a `renderItem` callback.
220
211
  */
221
212
  items: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
222
213
  /**
@@ -234,15 +225,111 @@ EuiCollapsibleNavSubItem.propTypes = {
234
225
  * if the user is on the same page as the nav link
235
226
  */
236
227
  isSelected: _propTypes.default.bool,
228
+ renderItem: _propTypes.default.func
229
+ };
230
+ var EuiCollapsibleNavSubItems = function EuiCollapsibleNavSubItems(_ref4) {
231
+ var items = _ref4.items,
232
+ isSubItem = _ref4.isSubItem,
233
+ isGroup = _ref4.isGroup,
234
+ className = _ref4.className,
235
+ rest = _objectWithoutProperties(_ref4, _excluded3);
236
+ var classes = (0, _classnames.default)('euiCollapsibleNavItem__items', className);
237
+ var euiTheme = (0, _services.useEuiTheme)();
238
+ var styles = (0, _collapsible_nav_item.euiCollapsibleNavSubItemsStyles)(euiTheme);
239
+ var cssStyles = [styles.euiCollapsibleNavItem__items, isGroup ? styles.isGroup : isSubItem ? styles.isSubItem : styles.isTopItem];
240
+ var itemsHaveIcons = (0, _react.useMemo)(function () {
241
+ return items.some(function (item) {
242
+ return !!item.icon;
243
+ });
244
+ }, [items]);
245
+ return (0, _react2.jsx)("div", _extends({
246
+ className: classes,
247
+ css: cssStyles
248
+ }, rest), items.map(function (item, index) {
249
+ // If any of the sub items have an icon, default to an
250
+ // icon of `empty` so that all text lines up vertically
251
+ if (!item.renderItem && itemsHaveIcons && !item.icon) {
252
+ item.icon = 'empty';
253
+ }
254
+ return (
255
+ // This is an intentional circular dependency between the accordion & parent item display.
256
+ // EuiSideNavItem is purposely recursive to support any amount of nested sub items,
257
+ // and split up into separate files/components for better dev readability
258
+ (0, _react2.jsx)(EuiCollapsibleNavSubItem, _extends({
259
+ key: index
260
+ }, item))
261
+ );
262
+ }));
263
+ };
264
+
265
+ /**
266
+ * The actual exported component
267
+ */
268
+ exports.EuiCollapsibleNavSubItems = EuiCollapsibleNavSubItems;
269
+ EuiCollapsibleNavSubItems.propTypes = {
237
270
  /**
238
- * Pass this flag to seperate links by group title headings.
239
- * Strongly consider using the `titleElement` prop for accessibility.
271
+ * Determines whether the item should render as a top-level nav item
272
+ * or a nested nav subitem. Set internally by EUI
240
273
  */
241
- isGroupTitle: _propTypes.default.bool
274
+ isSubItem: _propTypes.default.bool,
275
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({
276
+ /**
277
+ * Required text to render as the nav item title
278
+ */
279
+ title: _propTypes.default.string,
280
+ /**
281
+ * Allows customizing the title element.
282
+ * Consider using a heading element for better accessibility.
283
+ * Defaults to an unsemantic `span` or `div`, depending on context.
284
+ */
285
+ titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
286
+ /**
287
+ * Optional icon to render to the left of title content
288
+ */
289
+ icon: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "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", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDenseVector", "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"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]),
290
+ /**
291
+ * Optional props to pass to the title icon
292
+ */
293
+ iconProps: _propTypes.default.any,
294
+ className: _propTypes.default.string,
295
+ "aria-label": _propTypes.default.string,
296
+ "data-test-subj": _propTypes.default.string,
297
+ css: _propTypes.default.any,
298
+ /**
299
+ * The nav item link.
300
+ * If not included, and no `onClick` is specified, the nav item
301
+ * will render as an non-interactive `<span>`.
302
+ */
303
+ href: _propTypes.default.string,
304
+ /**
305
+ * When passed, an `EuiAccordion` with nested child item links will be rendered.
306
+ *
307
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
308
+ * subitem content, pass an object with a `renderItem` callback.
309
+ */
310
+ items: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
311
+ /**
312
+ * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
313
+ * accepts, including props that control the toggled state of the accordion
314
+ * (e.g. `initialIsOpen`, `forceState`)
315
+ */
316
+ accordionProps: _propTypes.default.any,
317
+ /**
318
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
319
+ */
320
+ linkProps: _propTypes.default.any,
321
+ /**
322
+ * Highlights whether an item is currently selected, e.g.
323
+ * if the user is on the same page as the nav link
324
+ */
325
+ isSelected: _propTypes.default.bool,
326
+ renderItem: _propTypes.default.func
327
+ }).isRequired).isRequired,
328
+ isGroup: _propTypes.default.bool
242
329
  };
243
- var EuiCollapsibleNavItem = function EuiCollapsibleNavItem(_ref4) {
244
- var className = _ref4.className,
245
- props = _objectWithoutProperties(_ref4, _excluded3);
330
+ var EuiCollapsibleNavItem = function EuiCollapsibleNavItem(_ref5) {
331
+ var className = _ref5.className,
332
+ props = _objectWithoutProperties(_ref5, _excluded4);
246
333
  var classes = (0, _classnames.default)('euiCollapsibleNavItem', className);
247
334
  var _useContext = (0, _react.useContext)(_context.EuiCollapsibleNavContext),
248
335
  isCollapsed = _useContext.isCollapsed,
@@ -288,15 +375,11 @@ EuiCollapsibleNavItem.propTypes = {
288
375
  /**
289
376
  * When passed, an `EuiAccordion` with nested child item links will be rendered.
290
377
  *
291
- * Accepts any #EuiCollapsibleNavItem prop, and also accepts an
292
- * #EuiCollapsibleNavSubItemGroupTitle
378
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
379
+ * subitem content, pass an object with a `renderItem` callback.
293
380
  */
294
381
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
295
- /**
296
- * Pass this flag to seperate links by group title headings.
297
- * Strongly consider using the `titleElement` prop for accessibility.
298
- */
299
- isGroupTitle: _propTypes.default.bool
382
+ renderItem: _propTypes.default.func
300
383
  }).isRequired),
301
384
  /**
302
385
  * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
@@ -4,7 +4,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.euiCollapsibleNavSubItemGroupTitleStyles = exports.euiCollapsibleNavItemVariables = exports.euiCollapsibleNavItemTitleStyles = void 0;
7
+ exports.euiCollapsibleNavSubItemsStyles = exports.euiCollapsibleNavItemVariables = exports.euiCollapsibleNavItemTitleStyles = void 0;
8
8
  var _react = require("@emotion/react");
9
9
  var _global_styling = require("../../../global_styling");
10
10
  var _button = require("../../../themes/amsterdam/global_styling/mixins/button");
@@ -53,11 +53,20 @@ var euiCollapsibleNavItemTitleStyles = {
53
53
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
54
54
  }
55
55
  };
56
+
57
+ /**
58
+ * Sub item groups
59
+ */
56
60
  exports.euiCollapsibleNavItemTitleStyles = euiCollapsibleNavItemTitleStyles;
57
- var euiCollapsibleNavSubItemGroupTitleStyles = function euiCollapsibleNavSubItemGroupTitleStyles(_ref) {
61
+ var euiCollapsibleNavSubItemsStyles = function euiCollapsibleNavSubItemsStyles(_ref) {
58
62
  var euiTheme = _ref.euiTheme;
59
63
  return {
60
- euiCollapsibleNavItem__groupTitle: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-top', euiTheme.size.base), " ", (0, _global_styling.logicalShorthandCSS)('padding', "".concat(euiTheme.size.xs, " ").concat(euiTheme.size.s)), ";;label:euiCollapsibleNavItem__groupTitle;")
64
+ euiCollapsibleNavItem__items: /*#__PURE__*/(0, _react.css)(";label:euiCollapsibleNavItem__items;"),
65
+ isGroup: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('padding-top', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.s), ";;label:isGroup;"),
66
+ isTopItem: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('padding-top', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.xl), ";;label:isTopItem;"),
67
+ isSubItem: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-left', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('margin-left', euiTheme.size.s), " ", (0, _global_styling.logicalCSS)('padding-left', (0, _global_styling.mathWithUnits)([euiTheme.size.s, euiTheme.border.width.thin], function (x, y) {
68
+ return x - y;
69
+ })), ";;label:isSubItem;")
61
70
  };
62
71
  };
63
- exports.euiCollapsibleNavSubItemGroupTitleStyles = euiCollapsibleNavSubItemGroupTitleStyles;
72
+ exports.euiCollapsibleNavSubItemsStyles = euiCollapsibleNavSubItemsStyles;
@@ -97,10 +97,6 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
97
97
  });
98
98
  }
99
99
  });
100
- _defineProperty(_assertThisInitialized(_this), "autoSizeInputRefInstance", null);
101
- _defineProperty(_assertThisInitialized(_this), "autoSizeInputRefCallback", function (ref) {
102
- _this.autoSizeInputRefInstance = ref;
103
- });
104
100
  _defineProperty(_assertThisInitialized(_this), "searchInputRefInstance", null);
105
101
  _defineProperty(_assertThisInitialized(_this), "searchInputRefCallback", function (ref) {
106
102
  _this.searchInputRefInstance = ref;
@@ -573,15 +569,7 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
573
569
  _createClass(EuiComboBox, [{
574
570
  key: "componentDidMount",
575
571
  value: function componentDidMount() {
576
- var _this2 = this;
577
572
  this._isMounted = true;
578
-
579
- // TODO: This will need to be called once the actual stylesheet loads.
580
- setTimeout(function () {
581
- if (_this2.autoSizeInputRefInstance) {
582
- _this2.autoSizeInputRefInstance.copyInputStyles();
583
- }
584
- }, 100);
585
573
  }
586
574
  }, {
587
575
  key: "componentDidUpdate",
@@ -614,7 +602,7 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
614
602
  }, {
615
603
  key: "render",
616
604
  value: function render() {
617
- var _this3 = this;
605
+ var _this2 = this;
618
606
  var _this$props8 = this.props,
619
607
  dataTestSubj = _this$props8['data-test-subj'],
620
608
  async = _this$props8.async,
@@ -685,32 +673,32 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
685
673
  default: "Choose from the following options"
686
674
  }, function (listboxAriaLabel) {
687
675
  return (0, _react2.jsx)(_combo_box_options_list.EuiComboBoxOptionsList, {
688
- zIndex: _this3.state.listZIndex,
689
- activeOptionIndex: _this3.state.activeOptionIndex,
690
- areAllOptionsSelected: _this3.areAllOptionsSelected(),
676
+ zIndex: _this2.state.listZIndex,
677
+ activeOptionIndex: _this2.state.activeOptionIndex,
678
+ areAllOptionsSelected: _this2.areAllOptionsSelected(),
691
679
  customOptionText: customOptionText,
692
680
  "data-test-subj": optionsListDataTestSubj,
693
681
  fullWidth: fullWidth,
694
682
  isCaseSensitive: isCaseSensitive,
695
683
  isLoading: isLoading,
696
- listRef: _this3.listRefCallback,
684
+ listRef: _this2.listRefCallback,
697
685
  matchingOptions: matchingOptions,
698
- onCloseList: _this3.closeList,
686
+ onCloseList: _this2.closeList,
699
687
  onCreateOption: onCreateOption,
700
- onOptionClick: _this3.onOptionClick,
701
- onOptionEnterKey: _this3.onOptionEnterKey,
702
- onScroll: _this3.onOptionListScroll,
703
- optionRef: _this3.optionRefCallback,
688
+ onOptionClick: _this2.onOptionClick,
689
+ onOptionEnterKey: _this2.onOptionEnterKey,
690
+ onScroll: _this2.onOptionListScroll,
691
+ optionRef: _this2.optionRefCallback,
704
692
  options: options,
705
693
  position: listPosition,
706
694
  singleSelection: singleSelection,
707
695
  renderOption: renderOption,
708
- rootId: _this3.rootId,
696
+ rootId: _this2.rootId,
709
697
  rowHeight: rowHeight,
710
698
  scrollToIndex: activeOptionIndex,
711
699
  searchValue: searchValue,
712
700
  selectedOptions: selectedOptions,
713
- updatePosition: _this3.updatePosition,
701
+ updatePosition: _this2.updatePosition,
714
702
  width: width,
715
703
  delimiter: delimiter,
716
704
  getSelectedOptionForSearchValue: _matching_options.getSelectedOptionForSearchValue,
@@ -734,7 +722,6 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
734
722
  onBlur: this.onContainerBlur,
735
723
  ref: this.comboBoxRefCallback
736
724
  }), (0, _react2.jsx)(_combo_box_input.EuiComboBoxInput, {
737
- autoSizeInputRef: this.autoSizeInputRefCallback,
738
725
  compressed: compressed,
739
726
  focusedOptionId: this.hasActiveOption() ? this.rootId("_option-".concat(this.state.activeOptionIndex)) : undefined,
740
727
  fullWidth: fullWidth,