@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/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js
CHANGED
|
@@ -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
|
-
}),
|
|
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
|
|
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 #
|
|
168
|
-
*
|
|
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
|
};
|
package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js
CHANGED
|
@@ -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 = ["
|
|
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 #
|
|
110
|
-
*
|
|
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
|
|
158
|
-
*
|
|
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
|
|
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 (
|
|
168
|
-
|
|
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
|
-
*
|
|
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 #
|
|
219
|
-
*
|
|
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
|
-
*
|
|
239
|
-
*
|
|
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
|
-
|
|
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(
|
|
244
|
-
var className =
|
|
245
|
-
props = _objectWithoutProperties(
|
|
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 #
|
|
292
|
-
*
|
|
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`
|
package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js
CHANGED
|
@@ -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.
|
|
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
|
|
61
|
+
var euiCollapsibleNavSubItemsStyles = function euiCollapsibleNavSubItemsStyles(_ref) {
|
|
58
62
|
var euiTheme = _ref.euiTheme;
|
|
59
63
|
return {
|
|
60
|
-
|
|
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.
|
|
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
|
|
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:
|
|
689
|
-
activeOptionIndex:
|
|
690
|
-
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:
|
|
684
|
+
listRef: _this2.listRefCallback,
|
|
697
685
|
matchingOptions: matchingOptions,
|
|
698
|
-
onCloseList:
|
|
686
|
+
onCloseList: _this2.closeList,
|
|
699
687
|
onCreateOption: onCreateOption,
|
|
700
|
-
onOptionClick:
|
|
701
|
-
onOptionEnterKey:
|
|
702
|
-
onScroll:
|
|
703
|
-
optionRef:
|
|
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:
|
|
696
|
+
rootId: _this2.rootId,
|
|
709
697
|
rowHeight: rowHeight,
|
|
710
698
|
scrollToIndex: activeOptionIndex,
|
|
711
699
|
searchValue: searchValue,
|
|
712
700
|
selectedOptions: selectedOptions,
|
|
713
|
-
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,
|