@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.
- package/dist/eui_theme_dark.css +8 -21
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +8 -21
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +20 -6
- package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +4 -14
- package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +57 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +25 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +156 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +19 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_group/index.js +9 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -7
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +3 -7
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +4 -8
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -63
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +2 -10
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +122 -41
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -3
- package/es/components/combo_box/combo_box.js +12 -25
- package/es/components/combo_box/combo_box_input/combo_box_input.js +61 -54
- package/es/components/text_truncate/index.js +1 -1
- package/es/components/text_truncate/utils.js +88 -138
- package/es/services/canvas/canvas_text_utils.js +64 -0
- package/es/services/canvas/index.js +9 -0
- package/es/services/index.js +1 -0
- package/eui.d.ts +186 -105
- package/i18ntokens.json +8 -8
- package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +20 -6
- package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +11 -19
- package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +67 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +33 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +166 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +26 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +12 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -7
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +3 -7
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +4 -8
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +14 -61
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -9
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +122 -39
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -4
- package/lib/components/combo_box/combo_box.js +12 -25
- package/lib/components/combo_box/combo_box_input/combo_box_input.js +60 -53
- package/lib/components/text_truncate/index.js +0 -6
- package/lib/components/text_truncate/utils.js +97 -148
- package/lib/services/canvas/canvas_text_utils.js +70 -0
- package/lib/services/canvas/index.js +12 -0
- package/lib/services/index.js +8 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +17 -3
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +4 -14
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +56 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +25 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +48 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +19 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/index.js +9 -0
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -33
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +2 -10
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +54 -21
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -3
- package/optimize/es/components/combo_box/combo_box.js +12 -25
- package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +61 -53
- package/optimize/es/components/text_truncate/index.js +1 -1
- package/optimize/es/components/text_truncate/utils.js +87 -137
- package/optimize/es/services/canvas/canvas_text_utils.js +60 -0
- package/optimize/es/services/canvas/index.js +9 -0
- package/optimize/es/services/index.js +1 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +15 -1
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +11 -19
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +66 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +33 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +58 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +26 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +12 -0
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +5 -31
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -9
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +54 -20
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -4
- package/optimize/lib/components/combo_box/combo_box.js +12 -25
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +60 -52
- package/optimize/lib/components/text_truncate/index.js +0 -6
- package/optimize/lib/components/text_truncate/utils.js +96 -147
- package/optimize/lib/services/canvas/canvas_text_utils.js +67 -0
- package/optimize/lib/services/canvas/index.js +12 -0
- package/optimize/lib/services/index.js +8 -0
- package/package.json +2 -5
- package/src/components/combo_box/_combo_box.scss +12 -19
- package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +20 -6
- package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +11 -19
- package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +66 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +33 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +165 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +26 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_group/index.js +12 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -7
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +3 -7
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +4 -8
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +14 -61
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -9
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +122 -39
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +13 -4
- package/test-env/components/combo_box/combo_box.js +12 -25
- package/test-env/components/combo_box/combo_box_input/combo_box_input.js +60 -53
- package/test-env/components/text_truncate/index.js +0 -6
- package/test-env/components/text_truncate/utils.js +96 -147
- package/test-env/services/canvas/canvas_text_utils.js +30 -0
- package/test-env/services/canvas/index.js +12 -0
- package/test-env/services/index.js +8 -0
package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js
CHANGED
|
@@ -57,10 +57,6 @@ var EuiCollapsibleNavAccordion = function EuiCollapsibleNavAccordion(_ref) {
|
|
|
57
57
|
var euiTheme = (0, _services.useEuiTheme)();
|
|
58
58
|
var styles = (0, _collapsible_nav_accordion.euiCollapsibleNavAccordionStyles)(euiTheme);
|
|
59
59
|
var cssStyles = [styles.euiCollapsibleNavAccordion, isSubItem ? styles.isSubItem : styles.isTopItem, isSelected && styles.isSelected, accordionProps === null || accordionProps === void 0 ? void 0 : accordionProps.css];
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Title / accordion trigger
|
|
63
|
-
*/
|
|
64
60
|
var isTitleInteractive = !!(href || linkProps !== null && linkProps !== void 0 && linkProps.onClick);
|
|
65
61
|
|
|
66
62
|
// Stop propagation on the title so that the accordion toggle doesn't occur on click
|
|
@@ -72,32 +68,6 @@ var EuiCollapsibleNavAccordion = function EuiCollapsibleNavAccordion(_ref) {
|
|
|
72
68
|
}, [linkProps === null || linkProps === void 0 ? void 0 : linkProps.onClick] // eslint-disable-line react-hooks/exhaustive-deps
|
|
73
69
|
);
|
|
74
70
|
|
|
75
|
-
/**
|
|
76
|
-
* Child items
|
|
77
|
-
*/
|
|
78
|
-
// If any of the sub items have an icon, default to an
|
|
79
|
-
// icon of `empty` so that all text lines up vertically
|
|
80
|
-
var itemsHaveIcons = (0, _react.useMemo)(function () {
|
|
81
|
-
return items.some(function (item) {
|
|
82
|
-
return !!item.icon;
|
|
83
|
-
});
|
|
84
|
-
}, [items]);
|
|
85
|
-
var icon = itemsHaveIcons ? 'empty' : undefined;
|
|
86
|
-
var childrenCssStyles = [styles.children.euiCollapsibleNavAccordion__children, isSubItem ? styles.children.isSubItem : styles.children.isTopItem];
|
|
87
|
-
var children = (0, _react2.jsx)("div", {
|
|
88
|
-
css: childrenCssStyles,
|
|
89
|
-
className: "euiCollapsibleNavAccordion__children"
|
|
90
|
-
}, items.map(function (item, index) {
|
|
91
|
-
return (
|
|
92
|
-
// This is an intentional circular dependency between the accordion & parent item display.
|
|
93
|
-
// EuiSideNavItem is purposely recursive to support any amount of nested sub items,
|
|
94
|
-
// and split up into separate files/components for better dev readability
|
|
95
|
-
(0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItem, (0, _extends2.default)({
|
|
96
|
-
key: index,
|
|
97
|
-
icon: icon
|
|
98
|
-
}, item))
|
|
99
|
-
);
|
|
100
|
-
}));
|
|
101
71
|
return (0, _react2.jsx)(_accordion.EuiAccordion, (0, _extends2.default)({
|
|
102
72
|
id: groupID,
|
|
103
73
|
className: classes,
|
|
@@ -119,7 +89,11 @@ var EuiCollapsibleNavAccordion = function EuiCollapsibleNavAccordion(_ref) {
|
|
|
119
89
|
}, accordionProps === null || accordionProps === void 0 ? void 0 : accordionProps.arrowProps), {}, {
|
|
120
90
|
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]
|
|
121
91
|
})
|
|
122
|
-
}),
|
|
92
|
+
}), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
|
|
93
|
+
items: items,
|
|
94
|
+
isSubItem: isSubItem,
|
|
95
|
+
className: "euiCollapsibleNavAccordion__children"
|
|
96
|
+
}));
|
|
123
97
|
};
|
|
124
98
|
exports.EuiCollapsibleNavAccordion = EuiCollapsibleNavAccordion;
|
|
125
99
|
EuiCollapsibleNavAccordion.propTypes = {
|
|
@@ -129,20 +103,20 @@ EuiCollapsibleNavAccordion.propTypes = {
|
|
|
129
103
|
*/
|
|
130
104
|
isSubItem: _propTypes.default.bool,
|
|
131
105
|
buttonContent: _propTypes.default.node.isRequired,
|
|
132
|
-
// On the main `EuiCollapsibleNavItem` component, this uses `EuiCollapsibleNavSubItemProps`
|
|
133
|
-
// to allow for section headings, but by the time `items` reaches this component, we
|
|
134
|
-
// know for sure it's an actual accordion item and not a section heading
|
|
135
106
|
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
136
107
|
/**
|
|
137
108
|
* Required text to render as the nav item title
|
|
138
109
|
*/
|
|
139
|
-
title: _propTypes.default.string
|
|
110
|
+
title: _propTypes.default.string,
|
|
140
111
|
/**
|
|
141
112
|
* Allows customizing the title element.
|
|
142
113
|
* Consider using a heading element for better accessibility.
|
|
143
114
|
* Defaults to an unsemantic `span` or `div`, depending on context.
|
|
144
115
|
*/
|
|
145
116
|
titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
|
|
117
|
+
/**
|
|
118
|
+
* Optional icon to render to the left of title content
|
|
119
|
+
*/
|
|
146
120
|
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]),
|
|
147
121
|
/**
|
|
148
122
|
* Optional props to pass to the title icon
|
|
@@ -161,33 +135,11 @@ EuiCollapsibleNavAccordion.propTypes = {
|
|
|
161
135
|
/**
|
|
162
136
|
* When passed, an `EuiAccordion` with nested child item links will be rendered.
|
|
163
137
|
*
|
|
164
|
-
* Accepts any #
|
|
165
|
-
*
|
|
138
|
+
* Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
|
|
139
|
+
* subitem content, pass an object with a `renderItem` callback.
|
|
166
140
|
*/
|
|
167
141
|
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
168
|
-
|
|
169
|
-
* Required text to render as the nav item title
|
|
170
|
-
*/
|
|
171
|
-
title: _propTypes.default.string,
|
|
172
|
-
/**
|
|
173
|
-
* Allows customizing the title element.
|
|
174
|
-
* Consider using a heading element for better accessibility.
|
|
175
|
-
* Defaults to an unsemantic `span` or `div`, depending on context.
|
|
176
|
-
*/
|
|
177
|
-
titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
|
|
178
|
-
/**
|
|
179
|
-
* Optional icon to render to the left of title content
|
|
180
|
-
*/
|
|
181
|
-
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]),
|
|
182
|
-
/**
|
|
183
|
-
* Optional props to pass to the title icon
|
|
184
|
-
*/
|
|
185
|
-
iconProps: _propTypes.default.any,
|
|
186
|
-
/**
|
|
187
|
-
* Pass this flag to seperate links by group title headings.
|
|
188
|
-
* Strongly consider using the `titleElement` prop for accessibility.
|
|
189
|
-
*/
|
|
190
|
-
isGroupTitle: _propTypes.default.bool
|
|
142
|
+
renderItem: _propTypes.default.func
|
|
191
143
|
}).isRequired),
|
|
192
144
|
/**
|
|
193
145
|
* If `items` is specified, use this prop to pass any prop that `EuiAccordion`
|
|
@@ -203,6 +155,7 @@ EuiCollapsibleNavAccordion.propTypes = {
|
|
|
203
155
|
* Highlights whether an item is currently selected, e.g.
|
|
204
156
|
* if the user is on the same page as the nav link
|
|
205
157
|
*/
|
|
206
|
-
isSelected: _propTypes.default.bool
|
|
158
|
+
isSelected: _propTypes.default.bool,
|
|
159
|
+
renderItem: _propTypes.default.func
|
|
207
160
|
}).isRequired).isRequired
|
|
208
161
|
};
|
|
@@ -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;
|
package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js
CHANGED
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.EuiCollapsibleNavSubItem = exports.EuiCollapsibleNavItem = void 0;
|
|
8
|
+
exports.EuiCollapsibleNavSubItems = exports.EuiCollapsibleNavSubItem = exports.EuiCollapsibleNavItemTitle = exports.EuiCollapsibleNavItem = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -13,7 +13,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
14
|
var _services = require("../../../services");
|
|
15
15
|
var _icon = require("../../icon");
|
|
16
|
-
var _title = require("../../title");
|
|
17
16
|
var _context = require("../context");
|
|
18
17
|
var _collapsed = require("./collapsed");
|
|
19
18
|
var _collapsible_nav_accordion = require("./collapsible_nav_accordion");
|
|
@@ -21,8 +20,9 @@ var _collapsible_nav_link = require("./collapsible_nav_link");
|
|
|
21
20
|
var _collapsible_nav_item = require("./collapsible_nav_item.styles");
|
|
22
21
|
var _react2 = require("@emotion/react");
|
|
23
22
|
var _excluded = ["isSubItem", "title", "titleElement", "icon", "iconProps", "items", "children"],
|
|
24
|
-
_excluded2 = ["
|
|
25
|
-
_excluded3 = ["className"]
|
|
23
|
+
_excluded2 = ["renderItem", "className"],
|
|
24
|
+
_excluded3 = ["items", "isSubItem", "isGroup", "className"],
|
|
25
|
+
_excluded4 = ["className"];
|
|
26
26
|
/*
|
|
27
27
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
28
28
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -105,15 +105,11 @@ EuiCollapsibleNavItemDisplay.propTypes = {
|
|
|
105
105
|
/**
|
|
106
106
|
* When passed, an `EuiAccordion` with nested child item links will be rendered.
|
|
107
107
|
*
|
|
108
|
-
* Accepts any #
|
|
109
|
-
*
|
|
108
|
+
* Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
|
|
109
|
+
* subitem content, pass an object with a `renderItem` callback.
|
|
110
110
|
*/
|
|
111
111
|
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
112
|
-
|
|
113
|
-
* Pass this flag to seperate links by group title headings.
|
|
114
|
-
* Strongly consider using the `titleElement` prop for accessibility.
|
|
115
|
-
*/
|
|
116
|
-
isGroupTitle: _propTypes.default.bool
|
|
112
|
+
renderItem: _propTypes.default.func
|
|
117
113
|
}).isRequired),
|
|
118
114
|
/**
|
|
119
115
|
* If `items` is specified, use this prop to pass any prop that `EuiAccordion`
|
|
@@ -153,23 +149,17 @@ var EuiCollapsibleNavItemTitle = function EuiCollapsibleNavItemTitle(_ref2) {
|
|
|
153
149
|
};
|
|
154
150
|
|
|
155
151
|
/**
|
|
156
|
-
* Sub-items can either be a
|
|
157
|
-
*
|
|
152
|
+
* Sub-items can either be a totally custom rendered item,
|
|
153
|
+
* or they can simply be more links or accordions
|
|
158
154
|
*/
|
|
155
|
+
exports.EuiCollapsibleNavItemTitle = EuiCollapsibleNavItemTitle;
|
|
159
156
|
var EuiCollapsibleNavSubItem = function EuiCollapsibleNavSubItem(_ref3) {
|
|
160
|
-
var
|
|
157
|
+
var renderItem = _ref3.renderItem,
|
|
161
158
|
className = _ref3.className,
|
|
162
159
|
props = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
|
|
163
|
-
var euiTheme = (0, _services.useEuiTheme)();
|
|
164
|
-
var styles = (0, _collapsible_nav_item.euiCollapsibleNavSubItemGroupTitleStyles)(euiTheme);
|
|
165
160
|
var classes = (0, _classnames.default)('euiCollapsibleNavSubItem', className);
|
|
166
|
-
if (
|
|
167
|
-
|
|
168
|
-
return (0, _react2.jsx)(_title.EuiTitle, {
|
|
169
|
-
size: "xxxs",
|
|
170
|
-
css: styles.euiCollapsibleNavItem__groupTitle,
|
|
171
|
-
className: "euiCollapsibleNavItem__groupTitle eui-textTruncate"
|
|
172
|
-
}, (0, _react2.jsx)(TitleElement, null, props.title));
|
|
161
|
+
if (renderItem) {
|
|
162
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, renderItem());
|
|
173
163
|
}
|
|
174
164
|
return (0, _react2.jsx)(EuiCollapsibleNavItemDisplay, (0, _extends2.default)({
|
|
175
165
|
className: classes
|
|
@@ -179,7 +169,8 @@ var EuiCollapsibleNavSubItem = function EuiCollapsibleNavSubItem(_ref3) {
|
|
|
179
169
|
};
|
|
180
170
|
|
|
181
171
|
/**
|
|
182
|
-
*
|
|
172
|
+
* Reuseable component for rendering a group of sub items
|
|
173
|
+
* Used by both `EuiCollapsibleNavGroup` and `EuiCollapsibleNavAccordion`
|
|
183
174
|
*/
|
|
184
175
|
exports.EuiCollapsibleNavSubItem = EuiCollapsibleNavSubItem;
|
|
185
176
|
EuiCollapsibleNavSubItem.propTypes = {
|
|
@@ -214,8 +205,8 @@ EuiCollapsibleNavSubItem.propTypes = {
|
|
|
214
205
|
/**
|
|
215
206
|
* When passed, an `EuiAccordion` with nested child item links will be rendered.
|
|
216
207
|
*
|
|
217
|
-
* Accepts any #
|
|
218
|
-
*
|
|
208
|
+
* Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
|
|
209
|
+
* subitem content, pass an object with a `renderItem` callback.
|
|
219
210
|
*/
|
|
220
211
|
items: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
|
|
221
212
|
/**
|
|
@@ -233,15 +224,111 @@ EuiCollapsibleNavSubItem.propTypes = {
|
|
|
233
224
|
* if the user is on the same page as the nav link
|
|
234
225
|
*/
|
|
235
226
|
isSelected: _propTypes.default.bool,
|
|
227
|
+
renderItem: _propTypes.default.func
|
|
228
|
+
};
|
|
229
|
+
var EuiCollapsibleNavSubItems = function EuiCollapsibleNavSubItems(_ref4) {
|
|
230
|
+
var items = _ref4.items,
|
|
231
|
+
isSubItem = _ref4.isSubItem,
|
|
232
|
+
isGroup = _ref4.isGroup,
|
|
233
|
+
className = _ref4.className,
|
|
234
|
+
rest = (0, _objectWithoutProperties2.default)(_ref4, _excluded3);
|
|
235
|
+
var classes = (0, _classnames.default)('euiCollapsibleNavItem__items', className);
|
|
236
|
+
var euiTheme = (0, _services.useEuiTheme)();
|
|
237
|
+
var styles = (0, _collapsible_nav_item.euiCollapsibleNavSubItemsStyles)(euiTheme);
|
|
238
|
+
var cssStyles = [styles.euiCollapsibleNavItem__items, isGroup ? styles.isGroup : isSubItem ? styles.isSubItem : styles.isTopItem];
|
|
239
|
+
var itemsHaveIcons = (0, _react.useMemo)(function () {
|
|
240
|
+
return items.some(function (item) {
|
|
241
|
+
return !!item.icon;
|
|
242
|
+
});
|
|
243
|
+
}, [items]);
|
|
244
|
+
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
245
|
+
className: classes,
|
|
246
|
+
css: cssStyles
|
|
247
|
+
}, rest), items.map(function (item, index) {
|
|
248
|
+
// If any of the sub items have an icon, default to an
|
|
249
|
+
// icon of `empty` so that all text lines up vertically
|
|
250
|
+
if (!item.renderItem && itemsHaveIcons && !item.icon) {
|
|
251
|
+
item.icon = 'empty';
|
|
252
|
+
}
|
|
253
|
+
return (
|
|
254
|
+
// This is an intentional circular dependency between the accordion & parent item display.
|
|
255
|
+
// EuiSideNavItem is purposely recursive to support any amount of nested sub items,
|
|
256
|
+
// and split up into separate files/components for better dev readability
|
|
257
|
+
(0, _react2.jsx)(EuiCollapsibleNavSubItem, (0, _extends2.default)({
|
|
258
|
+
key: index
|
|
259
|
+
}, item))
|
|
260
|
+
);
|
|
261
|
+
}));
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* The actual exported component
|
|
266
|
+
*/
|
|
267
|
+
exports.EuiCollapsibleNavSubItems = EuiCollapsibleNavSubItems;
|
|
268
|
+
EuiCollapsibleNavSubItems.propTypes = {
|
|
236
269
|
/**
|
|
237
|
-
*
|
|
238
|
-
*
|
|
270
|
+
* Determines whether the item should render as a top-level nav item
|
|
271
|
+
* or a nested nav subitem. Set internally by EUI
|
|
239
272
|
*/
|
|
240
|
-
|
|
273
|
+
isSubItem: _propTypes.default.bool,
|
|
274
|
+
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
275
|
+
/**
|
|
276
|
+
* Required text to render as the nav item title
|
|
277
|
+
*/
|
|
278
|
+
title: _propTypes.default.string,
|
|
279
|
+
/**
|
|
280
|
+
* Allows customizing the title element.
|
|
281
|
+
* Consider using a heading element for better accessibility.
|
|
282
|
+
* Defaults to an unsemantic `span` or `div`, depending on context.
|
|
283
|
+
*/
|
|
284
|
+
titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
|
|
285
|
+
/**
|
|
286
|
+
* Optional icon to render to the left of title content
|
|
287
|
+
*/
|
|
288
|
+
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]),
|
|
289
|
+
/**
|
|
290
|
+
* Optional props to pass to the title icon
|
|
291
|
+
*/
|
|
292
|
+
iconProps: _propTypes.default.any,
|
|
293
|
+
className: _propTypes.default.string,
|
|
294
|
+
"aria-label": _propTypes.default.string,
|
|
295
|
+
"data-test-subj": _propTypes.default.string,
|
|
296
|
+
css: _propTypes.default.any,
|
|
297
|
+
/**
|
|
298
|
+
* The nav item link.
|
|
299
|
+
* If not included, and no `onClick` is specified, the nav item
|
|
300
|
+
* will render as an non-interactive `<span>`.
|
|
301
|
+
*/
|
|
302
|
+
href: _propTypes.default.string,
|
|
303
|
+
/**
|
|
304
|
+
* When passed, an `EuiAccordion` with nested child item links will be rendered.
|
|
305
|
+
*
|
|
306
|
+
* Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
|
|
307
|
+
* subitem content, pass an object with a `renderItem` callback.
|
|
308
|
+
*/
|
|
309
|
+
items: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
|
|
310
|
+
/**
|
|
311
|
+
* If `items` is specified, use this prop to pass any prop that `EuiAccordion`
|
|
312
|
+
* accepts, including props that control the toggled state of the accordion
|
|
313
|
+
* (e.g. `initialIsOpen`, `forceState`)
|
|
314
|
+
*/
|
|
315
|
+
accordionProps: _propTypes.default.any,
|
|
316
|
+
/**
|
|
317
|
+
* If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
|
|
318
|
+
*/
|
|
319
|
+
linkProps: _propTypes.default.any,
|
|
320
|
+
/**
|
|
321
|
+
* Highlights whether an item is currently selected, e.g.
|
|
322
|
+
* if the user is on the same page as the nav link
|
|
323
|
+
*/
|
|
324
|
+
isSelected: _propTypes.default.bool,
|
|
325
|
+
renderItem: _propTypes.default.func
|
|
326
|
+
}).isRequired).isRequired,
|
|
327
|
+
isGroup: _propTypes.default.bool
|
|
241
328
|
};
|
|
242
|
-
var EuiCollapsibleNavItem = function EuiCollapsibleNavItem(
|
|
243
|
-
var className =
|
|
244
|
-
props = (0, _objectWithoutProperties2.default)(
|
|
329
|
+
var EuiCollapsibleNavItem = function EuiCollapsibleNavItem(_ref5) {
|
|
330
|
+
var className = _ref5.className,
|
|
331
|
+
props = (0, _objectWithoutProperties2.default)(_ref5, _excluded4);
|
|
245
332
|
var classes = (0, _classnames.default)('euiCollapsibleNavItem', className);
|
|
246
333
|
var _useContext = (0, _react.useContext)(_context.EuiCollapsibleNavContext),
|
|
247
334
|
isCollapsed = _useContext.isCollapsed,
|
|
@@ -287,15 +374,11 @@ EuiCollapsibleNavItem.propTypes = {
|
|
|
287
374
|
/**
|
|
288
375
|
* When passed, an `EuiAccordion` with nested child item links will be rendered.
|
|
289
376
|
*
|
|
290
|
-
* Accepts any #
|
|
291
|
-
*
|
|
377
|
+
* Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
|
|
378
|
+
* subitem content, pass an object with a `renderItem` callback.
|
|
292
379
|
*/
|
|
293
380
|
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
294
|
-
|
|
295
|
-
* Pass this flag to seperate links by group title headings.
|
|
296
|
-
* Strongly consider using the `titleElement` prop for accessibility.
|
|
297
|
-
*/
|
|
298
|
-
isGroupTitle: _propTypes.default.bool
|
|
381
|
+
renderItem: _propTypes.default.func
|
|
299
382
|
}).isRequired),
|
|
300
383
|
/**
|
|
301
384
|
* If `items` is specified, use this prop to pass any prop that `EuiAccordion`
|
package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js
CHANGED
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.euiCollapsibleNavSubItemsStyles = exports.euiCollapsibleNavItemVariables = exports.euiCollapsibleNavItemTitleStyles = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _react = require("@emotion/react");
|
|
10
10
|
var _global_styling = require("../../../global_styling");
|
|
@@ -51,11 +51,20 @@ var euiCollapsibleNavItemTitleStyles = {
|
|
|
51
51
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
52
52
|
}
|
|
53
53
|
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Sub item groups
|
|
57
|
+
*/
|
|
54
58
|
exports.euiCollapsibleNavItemTitleStyles = euiCollapsibleNavItemTitleStyles;
|
|
55
|
-
var
|
|
59
|
+
var euiCollapsibleNavSubItemsStyles = function euiCollapsibleNavSubItemsStyles(_ref) {
|
|
56
60
|
var euiTheme = _ref.euiTheme;
|
|
57
61
|
return {
|
|
58
|
-
|
|
62
|
+
euiCollapsibleNavItem__items: /*#__PURE__*/(0, _react.css)(";label:euiCollapsibleNavItem__items;"),
|
|
63
|
+
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;"),
|
|
64
|
+
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;"),
|
|
65
|
+
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) {
|
|
66
|
+
return x - y;
|
|
67
|
+
})), ";;label:isSubItem;")
|
|
59
68
|
};
|
|
60
69
|
};
|
|
61
|
-
exports.
|
|
70
|
+
exports.euiCollapsibleNavSubItemsStyles = euiCollapsibleNavSubItemsStyles;
|
|
@@ -92,10 +92,6 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "autoSizeInputRefInstance", null);
|
|
96
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "autoSizeInputRefCallback", function (ref) {
|
|
97
|
-
_this.autoSizeInputRefInstance = ref;
|
|
98
|
-
});
|
|
99
95
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "searchInputRefInstance", null);
|
|
100
96
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "searchInputRefCallback", function (ref) {
|
|
101
97
|
_this.searchInputRefInstance = ref;
|
|
@@ -568,15 +564,7 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
568
564
|
(0, _createClass2.default)(EuiComboBox, [{
|
|
569
565
|
key: "componentDidMount",
|
|
570
566
|
value: function componentDidMount() {
|
|
571
|
-
var _this2 = this;
|
|
572
567
|
this._isMounted = true;
|
|
573
|
-
|
|
574
|
-
// TODO: This will need to be called once the actual stylesheet loads.
|
|
575
|
-
setTimeout(function () {
|
|
576
|
-
if (_this2.autoSizeInputRefInstance) {
|
|
577
|
-
_this2.autoSizeInputRefInstance.copyInputStyles();
|
|
578
|
-
}
|
|
579
|
-
}, 100);
|
|
580
568
|
}
|
|
581
569
|
}, {
|
|
582
570
|
key: "componentDidUpdate",
|
|
@@ -609,7 +597,7 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
609
597
|
}, {
|
|
610
598
|
key: "render",
|
|
611
599
|
value: function render() {
|
|
612
|
-
var
|
|
600
|
+
var _this2 = this;
|
|
613
601
|
var _this$props8 = this.props,
|
|
614
602
|
dataTestSubj = _this$props8['data-test-subj'],
|
|
615
603
|
async = _this$props8.async,
|
|
@@ -680,32 +668,32 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
680
668
|
default: "Choose from the following options"
|
|
681
669
|
}, function (listboxAriaLabel) {
|
|
682
670
|
return (0, _react2.jsx)(_combo_box_options_list.EuiComboBoxOptionsList, {
|
|
683
|
-
zIndex:
|
|
684
|
-
activeOptionIndex:
|
|
685
|
-
areAllOptionsSelected:
|
|
671
|
+
zIndex: _this2.state.listZIndex,
|
|
672
|
+
activeOptionIndex: _this2.state.activeOptionIndex,
|
|
673
|
+
areAllOptionsSelected: _this2.areAllOptionsSelected(),
|
|
686
674
|
customOptionText: customOptionText,
|
|
687
675
|
"data-test-subj": optionsListDataTestSubj,
|
|
688
676
|
fullWidth: fullWidth,
|
|
689
677
|
isCaseSensitive: isCaseSensitive,
|
|
690
678
|
isLoading: isLoading,
|
|
691
|
-
listRef:
|
|
679
|
+
listRef: _this2.listRefCallback,
|
|
692
680
|
matchingOptions: matchingOptions,
|
|
693
|
-
onCloseList:
|
|
681
|
+
onCloseList: _this2.closeList,
|
|
694
682
|
onCreateOption: onCreateOption,
|
|
695
|
-
onOptionClick:
|
|
696
|
-
onOptionEnterKey:
|
|
697
|
-
onScroll:
|
|
698
|
-
optionRef:
|
|
683
|
+
onOptionClick: _this2.onOptionClick,
|
|
684
|
+
onOptionEnterKey: _this2.onOptionEnterKey,
|
|
685
|
+
onScroll: _this2.onOptionListScroll,
|
|
686
|
+
optionRef: _this2.optionRefCallback,
|
|
699
687
|
options: options,
|
|
700
688
|
position: listPosition,
|
|
701
689
|
singleSelection: singleSelection,
|
|
702
690
|
renderOption: renderOption,
|
|
703
|
-
rootId:
|
|
691
|
+
rootId: _this2.rootId,
|
|
704
692
|
rowHeight: rowHeight,
|
|
705
693
|
scrollToIndex: activeOptionIndex,
|
|
706
694
|
searchValue: searchValue,
|
|
707
695
|
selectedOptions: selectedOptions,
|
|
708
|
-
updatePosition:
|
|
696
|
+
updatePosition: _this2.updatePosition,
|
|
709
697
|
width: width,
|
|
710
698
|
delimiter: delimiter,
|
|
711
699
|
getSelectedOptionForSearchValue: _matching_options.getSelectedOptionForSearchValue,
|
|
@@ -729,7 +717,6 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
729
717
|
onBlur: this.onContainerBlur,
|
|
730
718
|
ref: this.comboBoxRefCallback
|
|
731
719
|
}), (0, _react2.jsx)(_combo_box_input.EuiComboBoxInput, {
|
|
732
|
-
autoSizeInputRef: this.autoSizeInputRefCallback,
|
|
733
720
|
compressed: compressed,
|
|
734
721
|
focusedOptionId: this.hasActiveOption() ? this.rootId("_option-".concat(this.state.activeOptionIndex)) : undefined,
|
|
735
722
|
fullWidth: fullWidth,
|