@elastic/eui 87.0.0 → 87.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/dist/eui_theme_dark.css +0 -234
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -234
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accordion/accordion.js +82 -35
  6. package/es/components/auto_sizer/index.js +1 -1
  7. package/es/components/breadcrumbs/breadcrumb.js +2 -3
  8. package/es/components/breadcrumbs/breadcrumbs.js +2 -3
  9. package/es/components/code/code_block_virtualized.js +25 -17
  10. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +14 -1
  11. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +8 -7
  12. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +6 -6
  13. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +7 -7
  14. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
  15. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -9
  16. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
  17. package/es/components/control_bar/control_bar.js +2 -3
  18. package/es/components/date_picker/date_picker_range.js +5 -2
  19. package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  20. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  21. package/es/components/empty_prompt/empty_prompt.js +0 -1
  22. package/es/components/flyout/flyout.js +9 -7
  23. package/es/components/flyout/flyout_body.js +15 -3
  24. package/es/components/form/range/dual_range.js +33 -6
  25. package/es/components/form/range/range.js +31 -6
  26. package/es/components/form/super_select/super_select.js +1 -1
  27. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +2 -3
  28. package/es/components/header/header_links/header_links.js +2 -3
  29. package/es/components/page/page_header/page_header_content.js +2 -3
  30. package/es/components/page/page_sidebar/page_sidebar.js +2 -2
  31. package/es/components/page_template/page_template.js +14 -5
  32. package/es/components/popover/input_popover.js +24 -9
  33. package/es/components/popover/popover.js +4 -6
  34. package/es/components/resizable_container/index.js +2 -1
  35. package/es/components/resizable_container/resizable_button.js +81 -50
  36. package/es/components/resizable_container/resizable_button.styles.js +66 -0
  37. package/es/components/resizable_container/resizable_collapse_button.js +24 -14
  38. package/es/components/resizable_container/resizable_collapse_button.styles.js +85 -0
  39. package/es/components/selectable/selectable_list/selectable_list.js +97 -79
  40. package/es/components/steps/step.styles.js +5 -5
  41. package/es/components/tool_tip/icon_tip.js +1 -1
  42. package/es/components/tool_tip/tool_tip.js +4 -14
  43. package/es/components/tool_tip/tool_tip_anchor.js +5 -14
  44. package/es/components/tour/tour_step.js +2 -3
  45. package/es/services/accessibility/html_id_generator.js +19 -3
  46. package/es/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
  47. package/eui.d.ts +198 -56
  48. package/i18ntokens.json +64 -46
  49. package/lib/components/accordion/accordion.js +82 -35
  50. package/lib/components/auto_sizer/index.js +11 -7
  51. package/lib/components/breadcrumbs/breadcrumb.js +2 -3
  52. package/lib/components/code/code_block_virtualized.js +25 -17
  53. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +14 -1
  54. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +8 -7
  55. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +6 -6
  56. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +7 -7
  57. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
  58. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -9
  59. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
  60. package/lib/components/date_picker/date_picker_range.js +5 -2
  61. package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  62. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  63. package/lib/components/empty_prompt/empty_prompt.js +0 -1
  64. package/lib/components/flyout/flyout.js +9 -7
  65. package/lib/components/flyout/flyout_body.js +15 -3
  66. package/lib/components/form/range/dual_range.js +33 -6
  67. package/lib/components/form/range/range.js +14 -6
  68. package/lib/components/form/super_select/super_select.js +1 -1
  69. package/lib/components/page/page_sidebar/page_sidebar.js +1 -1
  70. package/lib/components/page_template/page_template.js +14 -5
  71. package/lib/components/popover/input_popover.js +23 -8
  72. package/lib/components/popover/popover.js +4 -6
  73. package/lib/components/resizable_container/index.js +8 -1
  74. package/lib/components/resizable_container/resizable_button.js +83 -51
  75. package/lib/components/resizable_container/resizable_button.styles.js +71 -0
  76. package/lib/components/resizable_container/resizable_collapse_button.js +24 -14
  77. package/lib/components/resizable_container/resizable_collapse_button.styles.js +90 -0
  78. package/lib/components/selectable/selectable_list/selectable_list.js +97 -79
  79. package/lib/components/steps/step.styles.js +5 -5
  80. package/lib/components/tool_tip/icon_tip.js +1 -1
  81. package/lib/components/tool_tip/tool_tip.js +4 -14
  82. package/lib/components/tool_tip/tool_tip_anchor.js +5 -13
  83. package/lib/services/accessibility/html_id_generator.js +21 -2
  84. package/lib/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
  85. package/optimize/es/components/accordion/accordion.js +82 -35
  86. package/optimize/es/components/auto_sizer/index.js +1 -1
  87. package/optimize/es/components/code/code_block_virtualized.js +25 -17
  88. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +5 -1
  89. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -1
  90. package/optimize/es/components/date_picker/date_picker_range.js +5 -2
  91. package/optimize/es/components/flyout/flyout.js +9 -7
  92. package/optimize/es/components/flyout/flyout_body.js +4 -2
  93. package/optimize/es/components/form/range/dual_range.js +7 -4
  94. package/optimize/es/components/form/range/range.js +5 -4
  95. package/optimize/es/components/page/page_sidebar/page_sidebar.js +2 -2
  96. package/optimize/es/components/page_template/page_template.js +14 -5
  97. package/optimize/es/components/popover/input_popover.js +13 -8
  98. package/optimize/es/components/popover/popover.js +2 -3
  99. package/optimize/es/components/resizable_container/index.js +2 -1
  100. package/optimize/es/components/resizable_container/resizable_button.js +61 -44
  101. package/optimize/es/components/resizable_container/resizable_button.styles.js +66 -0
  102. package/optimize/es/components/resizable_container/resizable_collapse_button.js +19 -11
  103. package/optimize/es/components/resizable_container/resizable_collapse_button.styles.js +85 -0
  104. package/optimize/es/components/selectable/selectable_list/selectable_list.js +97 -79
  105. package/optimize/es/components/steps/step.styles.js +5 -5
  106. package/optimize/es/components/tool_tip/tool_tip.js +3 -13
  107. package/optimize/es/components/tool_tip/tool_tip_anchor.js +4 -8
  108. package/optimize/es/services/accessibility/html_id_generator.js +19 -3
  109. package/optimize/es/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
  110. package/optimize/lib/components/accordion/accordion.js +82 -35
  111. package/optimize/lib/components/auto_sizer/index.js +11 -7
  112. package/optimize/lib/components/code/code_block_virtualized.js +25 -17
  113. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +5 -1
  114. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -1
  115. package/optimize/lib/components/date_picker/date_picker_range.js +5 -2
  116. package/optimize/lib/components/flyout/flyout.js +9 -7
  117. package/optimize/lib/components/flyout/flyout_body.js +4 -2
  118. package/optimize/lib/components/form/range/dual_range.js +7 -4
  119. package/optimize/lib/components/form/range/range.js +5 -4
  120. package/optimize/lib/components/page/page_sidebar/page_sidebar.js +1 -1
  121. package/optimize/lib/components/page_template/page_template.js +14 -5
  122. package/optimize/lib/components/popover/input_popover.js +12 -7
  123. package/optimize/lib/components/popover/popover.js +2 -3
  124. package/optimize/lib/components/resizable_container/index.js +8 -1
  125. package/optimize/lib/components/resizable_container/resizable_button.js +63 -45
  126. package/optimize/lib/components/resizable_container/resizable_button.styles.js +71 -0
  127. package/optimize/lib/components/resizable_container/resizable_collapse_button.js +19 -11
  128. package/optimize/lib/components/resizable_container/resizable_collapse_button.styles.js +90 -0
  129. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +97 -79
  130. package/optimize/lib/components/steps/step.styles.js +5 -5
  131. package/optimize/lib/components/tool_tip/tool_tip.js +3 -13
  132. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +4 -8
  133. package/optimize/lib/services/accessibility/html_id_generator.js +21 -2
  134. package/optimize/lib/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
  135. package/package.json +19 -21
  136. package/src/components/index.scss +0 -1
  137. package/test-env/components/accordion/accordion.js +82 -35
  138. package/test-env/components/auto_sizer/index.js +11 -7
  139. package/test-env/components/breadcrumbs/breadcrumb.js +2 -3
  140. package/test-env/components/code/code_block_virtualized.js +25 -17
  141. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +14 -1
  142. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +8 -7
  143. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +6 -6
  144. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +7 -7
  145. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
  146. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -9
  147. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
  148. package/test-env/components/date_picker/date_picker_range.js +5 -2
  149. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -2
  150. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  151. package/test-env/components/empty_prompt/empty_prompt.js +0 -1
  152. package/test-env/components/flyout/flyout_body.js +15 -3
  153. package/test-env/components/form/range/dual_range.js +33 -6
  154. package/test-env/components/form/range/range.js +14 -6
  155. package/test-env/components/form/super_select/super_select.js +1 -1
  156. package/test-env/components/page/page_sidebar/page_sidebar.js +1 -1
  157. package/test-env/components/page_template/page_template.js +14 -5
  158. package/test-env/components/popover/input_popover.js +23 -8
  159. package/test-env/components/popover/popover.js +4 -6
  160. package/test-env/components/resizable_container/index.js +8 -1
  161. package/test-env/components/resizable_container/resizable_button.js +83 -51
  162. package/test-env/components/resizable_container/resizable_button.styles.js +71 -0
  163. package/test-env/components/resizable_container/resizable_collapse_button.js +19 -14
  164. package/test-env/components/resizable_container/resizable_collapse_button.styles.js +90 -0
  165. package/test-env/components/selectable/selectable_list/selectable_list.js +97 -79
  166. package/test-env/components/steps/step.styles.js +5 -5
  167. package/test-env/components/tool_tip/icon_tip.js +1 -1
  168. package/test-env/components/tool_tip/tool_tip.js +4 -14
  169. package/test-env/components/tool_tip/tool_tip_anchor.js +5 -11
  170. package/test-env/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
  171. package/src/components/resizable_container/_index.scss +0 -3
  172. package/src/components/resizable_container/_resizable_button.scss +0 -129
  173. package/src/components/resizable_container/_resizable_collapse_button.scss +0 -145
  174. package/src/components/resizable_container/_variables.scss +0 -2
@@ -93,11 +93,11 @@ var EuiCollapsedNavPopover = function EuiCollapsedNavPopover(_ref) {
93
93
  exports.EuiCollapsedNavPopover = EuiCollapsedNavPopover;
94
94
  EuiCollapsedNavPopover.propTypes = {
95
95
  /**
96
- * ReactNode to render as this component's title
96
+ * Required text to render as the nav item title
97
97
  */
98
- title: _propTypes.default.node.isRequired,
98
+ title: _propTypes.default.string.isRequired,
99
99
  /**
100
- * Allows customizing title's element.
100
+ * Allows customizing the title element.
101
101
  * Consider using a heading element for better accessibility.
102
102
  * Defaults to an unsemantic `span` or `div`, depending on context.
103
103
  */
@@ -125,11 +125,11 @@ EuiCollapsedNavPopover.propTypes = {
125
125
  */
126
126
  items: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.shape({
127
127
  /**
128
- * ReactNode to render as this component's title
128
+ * Required text to render as the nav item title
129
129
  */
130
- title: _propTypes.default.node,
130
+ title: _propTypes.default.string,
131
131
  /**
132
- * Allows customizing title's element.
132
+ * Allows customizing the title element.
133
133
  * Consider using a heading element for better accessibility.
134
134
  * Defaults to an unsemantic `span` or `div`, depending on context.
135
135
  */
@@ -148,7 +148,7 @@ EuiCollapsedNavPopover.propTypes = {
148
148
  */
149
149
  isGroupTitle: _propTypes.default.bool
150
150
  }).isRequired), _propTypes.default.arrayOf(_propTypes.default.shape({
151
- title: _propTypes.default.node,
151
+ title: _propTypes.default.string,
152
152
  titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
153
153
  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", "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", "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", "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]),
154
154
  iconProps: _propTypes.default.any,
@@ -137,11 +137,11 @@ EuiCollapsibleNavAccordion.propTypes = {
137
137
  // know for sure it's an actual accordion item and not a section heading
138
138
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
139
139
  /**
140
- * ReactNode to render as this component's title
140
+ * Required text to render as the nav item title
141
141
  */
142
- title: _propTypes.default.node.isRequired,
142
+ title: _propTypes.default.string.isRequired,
143
143
  /**
144
- * Allows customizing title's element.
144
+ * Allows customizing the title element.
145
145
  * Consider using a heading element for better accessibility.
146
146
  * Defaults to an unsemantic `span` or `div`, depending on context.
147
147
  */
@@ -169,11 +169,11 @@ EuiCollapsibleNavAccordion.propTypes = {
169
169
  */
170
170
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
171
171
  /**
172
- * ReactNode to render as this component's title
172
+ * Required text to render as the nav item title
173
173
  */
174
- title: _propTypes.default.node,
174
+ title: _propTypes.default.string,
175
175
  /**
176
- * Allows customizing title's element.
176
+ * Allows customizing the title element.
177
177
  * Consider using a heading element for better accessibility.
178
178
  * Defaults to an unsemantic `span` or `div`, depending on context.
179
179
  */
@@ -76,11 +76,11 @@ var EuiCollapsibleNavItemDisplay = function EuiCollapsibleNavItemDisplay(_ref) {
76
76
  */
77
77
  EuiCollapsibleNavItemDisplay.propTypes = {
78
78
  /**
79
- * ReactNode to render as this component's title
79
+ * Required text to render as the nav item title
80
80
  */
81
- title: _propTypes.default.node.isRequired,
81
+ title: _propTypes.default.string.isRequired,
82
82
  /**
83
- * Allows customizing title's element.
83
+ * Allows customizing the title element.
84
84
  * Consider using a heading element for better accessibility.
85
85
  * Defaults to an unsemantic `span` or `div`, depending on context.
86
86
  */
@@ -185,11 +185,11 @@ var EuiCollapsibleNavSubItem = function EuiCollapsibleNavSubItem(_ref3) {
185
185
  exports.EuiCollapsibleNavSubItem = EuiCollapsibleNavSubItem;
186
186
  EuiCollapsibleNavSubItem.propTypes = {
187
187
  /**
188
- * ReactNode to render as this component's title
188
+ * Required text to render as the nav item title
189
189
  */
190
- title: _propTypes.default.node,
190
+ title: _propTypes.default.string,
191
191
  /**
192
- * Allows customizing title's element.
192
+ * Allows customizing the title element.
193
193
  * Consider using a heading element for better accessibility.
194
194
  * Defaults to an unsemantic `span` or `div`, depending on context.
195
195
  */
@@ -258,11 +258,11 @@ var EuiCollapsibleNavItem = function EuiCollapsibleNavItem(_ref4) {
258
258
  exports.EuiCollapsibleNavItem = EuiCollapsibleNavItem;
259
259
  EuiCollapsibleNavItem.propTypes = {
260
260
  /**
261
- * ReactNode to render as this component's title
261
+ * Required text to render as the nav item title
262
262
  */
263
- title: _propTypes.default.node.isRequired,
263
+ title: _propTypes.default.string.isRequired,
264
264
  /**
265
- * Allows customizing title's element.
265
+ * Allows customizing the title element.
266
266
  * Consider using a heading element for better accessibility.
267
267
  * Defaults to an unsemantic `span` or `div`, depending on context.
268
268
  */
@@ -150,7 +150,7 @@ EuiColorPalettePicker.propTypes = {
150
150
  */
151
151
  isOpen: _propTypes.default.bool,
152
152
  /**
153
- * Optional props to pass to the underlying [EuiPopover](/#/layout/popover).
153
+ * Optional props to pass to the underlying [EuiInputPopover](/#/layout/popover#popover-attached-to-input-element).
154
154
  * Allows fine-grained control of the popover dropdown menu, including
155
155
  * `repositionOnScroll` for EuiSuperSelects used within scrollable containers,
156
156
  * and customizing popover panel styling.
@@ -12,7 +12,7 @@ var _form = require("../form");
12
12
  var _services = require("../../services");
13
13
  var _date_picker_range = require("./date_picker_range.styles");
14
14
  var _react2 = require("@emotion/react");
15
- var _excluded = ["children", "className", "startDateControl", "endDateControl", "iconType", "inline", "shadow", "fullWidth", "isCustom", "readOnly", "isLoading", "isInvalid", "disabled", "onFocus", "onBlur", "append", "prepend"];
15
+ var _excluded = ["children", "className", "startDateControl", "endDateControl", "iconType", "inline", "shadow", "fullWidth", "compressed", "isCustom", "readOnly", "isLoading", "isInvalid", "disabled", "onFocus", "onBlur", "append", "prepend"];
16
16
  /*
17
17
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
18
  * or more contributor license agreements. Licensed under the Elastic License
@@ -37,6 +37,7 @@ var EuiDatePickerRange = function EuiDatePickerRange(_ref) {
37
37
  _ref$shadow = _ref.shadow,
38
38
  shadow = _ref$shadow === void 0 ? true : _ref$shadow,
39
39
  _fullWidth = _ref.fullWidth,
40
+ _compressed = _ref.compressed,
40
41
  isCustom = _ref.isCustom,
41
42
  readOnly = _ref.readOnly,
42
43
  isLoading = _ref.isLoading,
@@ -47,8 +48,9 @@ var EuiDatePickerRange = function EuiDatePickerRange(_ref) {
47
48
  append = _ref.append,
48
49
  prepend = _ref.prepend,
49
50
  rest = _objectWithoutProperties(_ref, _excluded);
50
- // `fullWidth` should not affect inline datepickers (matches non-range behavior)
51
+ // `fullWidth` and `compressed` should not affect inline datepickers (matches non-range behavior)
51
52
  var fullWidth = _fullWidth && !inline;
53
+ var compressed = _compressed && !inline;
52
54
  var classes = (0, _classnames.default)('euiDatePickerRange', className);
53
55
  var euiTheme = (0, _services.useEuiTheme)();
54
56
  var styles = (0, _date_picker_range.euiDatePickerRangeStyles)(euiTheme);
@@ -120,6 +122,7 @@ var EuiDatePickerRange = function EuiDatePickerRange(_ref) {
120
122
  startControl: startControl,
121
123
  endControl: endControl,
122
124
  fullWidth: fullWidth,
125
+ compressed: compressed,
123
126
  readOnly: readOnly,
124
127
  isDisabled: disabled,
125
128
  isInvalid: isInvalid,
@@ -615,7 +615,7 @@ EuiSuperDatePickerInternal.propTypes = {
615
615
  /**
616
616
  * Common display alternatives for the anchor wrapper
617
617
  */
618
- display: _propTypes.default.oneOf(["inlineBlock", "block"]),
618
+ display: _propTypes.default.any,
619
619
  /**
620
620
  * Delay before showing tooltip. Good for repeatable items.
621
621
  */
@@ -797,7 +797,7 @@ EuiSuperDatePicker.propTypes = {
797
797
  children: _propTypes.default.element.isRequired,
798
798
  className: _propTypes.default.string,
799
799
  content: _propTypes.default.node,
800
- display: _propTypes.default.oneOf(["inlineBlock", "block"]),
800
+ display: _propTypes.default.any,
801
801
  delay: _propTypes.default.oneOf(["regular", "long"]).isRequired,
802
802
  title: _propTypes.default.node,
803
803
  id: _propTypes.default.string,
@@ -220,7 +220,7 @@ EuiSuperUpdateButton.propTypes = {
220
220
  /**
221
221
  * Common display alternatives for the anchor wrapper
222
222
  */
223
- display: _propTypes.default.oneOf(["inlineBlock", "block"]),
223
+ display: _propTypes.default.any,
224
224
  /**
225
225
  * Delay before showing tooltip. Good for repeatable items.
226
226
  */
@@ -135,7 +135,6 @@ EuiEmptyPrompt.propTypes = {
135
135
  "aria-label": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string]),
136
136
  "data-test-subj": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string]),
137
137
  css: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.any]),
138
- element: _propTypes.default.oneOf(["div"]),
139
138
  /**
140
139
  * Adds a medium shadow to the panel;
141
140
  * Only works when `color="plain"`
@@ -18,7 +18,7 @@ var _portal = require("../portal");
18
18
  var _accessibility = require("../accessibility");
19
19
  var _flyout = require("./flyout.styles");
20
20
  var _react2 = require("@emotion/react");
21
- var _excluded = ["className", "children", "as", "hideCloseButton", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "focusTrapProps", "includeFixedHeadersInFocusTrap"];
21
+ var _excluded = ["className", "children", "as", "hideCloseButton", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "focusTrapProps", "includeFixedHeadersInFocusTrap", "aria-describedby"];
22
22
  /*
23
23
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
24
  * or more contributor license agreements. Licensed under the Elastic License
@@ -94,6 +94,7 @@ var EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
94
94
  _focusTrapProps = _ref$focusTrapProps === void 0 ? {} : _ref$focusTrapProps,
95
95
  _ref$includeFixedHead = _ref.includeFixedHeadersInFocusTrap,
96
96
  includeFixedHeadersInFocusTrap = _ref$includeFixedHead === void 0 ? true : _ref$includeFixedHead,
97
+ _ariaDescribedBy = _ref['aria-describedby'],
97
98
  rest = _objectWithoutProperties(_ref, _excluded);
98
99
  var Element = as || defaultElement;
99
100
  var maskRef = (0, _react.useRef)(null);
@@ -227,6 +228,7 @@ var EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
227
228
  */
228
229
  var hasOverlayMask = ownFocus && !isPushed;
229
230
  var descriptionId = (0, _services.useGeneratedHtmlId)();
231
+ var ariaDescribedBy = (0, _classnames.default)(descriptionId, _ariaDescribedBy);
230
232
  var screenReaderDescription = (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
231
233
  id: descriptionId
232
234
  }, hasOverlayMask ? (0, _react2.jsx)(_i18n.EuiI18n, {
@@ -271,15 +273,15 @@ var EuiFlyout = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
271
273
  clickOutsideDisables: !ownFocus,
272
274
  onClickOutside: onClickOutside
273
275
  }, focusTrapProps), (0, _react2.jsx)(Element, _extends({
274
- css: cssStyles
275
- }, rest, {
276
- role: "dialog",
277
276
  className: classes,
278
- tabIndex: 0,
279
- "data-autofocus": true,
280
- "aria-describedby": !isPushed ? descriptionId : undefined,
277
+ css: cssStyles,
281
278
  style: newStyle,
282
279
  ref: setRef
280
+ }, rest, {
281
+ role: !isPushed ? 'dialog' : rest.role,
282
+ tabIndex: !isPushed ? 0 : rest.tabIndex,
283
+ "aria-describedby": !isPushed ? ariaDescribedBy : _ariaDescribedBy,
284
+ "data-autofocus": !isPushed || undefined
283
285
  }), !isPushed && screenReaderDescription, closeButton, children));
284
286
 
285
287
  // If ownFocus is set, wrap with an overlay and allow the user to click it to close it.
@@ -10,7 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _services = require("../../services");
11
11
  var _flyout_body = require("./flyout_body.styles");
12
12
  var _react2 = require("@emotion/react");
13
- var _excluded = ["children", "className", "banner"];
13
+ var _excluded = ["children", "className", "banner", "scrollableTabIndex"];
14
14
  /*
15
15
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
16
16
  * or more contributor license agreements. Licensed under the Elastic License
@@ -26,6 +26,8 @@ var EuiFlyoutBody = function EuiFlyoutBody(_ref) {
26
26
  var children = _ref.children,
27
27
  className = _ref.className,
28
28
  banner = _ref.banner,
29
+ _ref$scrollableTabInd = _ref.scrollableTabIndex,
30
+ scrollableTabIndex = _ref$scrollableTabInd === void 0 ? 0 : _ref$scrollableTabInd,
29
31
  rest = _objectWithoutProperties(_ref, _excluded);
30
32
  var classes = (0, _classnames.default)('euiFlyoutBody', className);
31
33
  var euiTheme = (0, _services.useEuiTheme)();
@@ -37,7 +39,7 @@ var EuiFlyoutBody = function EuiFlyoutBody(_ref) {
37
39
  className: classes,
38
40
  css: cssStyles
39
41
  }, rest), (0, _react2.jsx)("div", {
40
- tabIndex: 0,
42
+ tabIndex: scrollableTabIndex,
41
43
  className: "euiFlyoutBody__overflow",
42
44
  css: overflowCssStyles
43
45
  }, banner && (0, _react2.jsx)("div", {
@@ -56,5 +58,15 @@ EuiFlyoutBody.propTypes = {
56
58
  /**
57
59
  * Use to display a banner at the top of the body. It is suggested to use `EuiCallOut` for it.
58
60
  */
59
- banner: _propTypes.default.node
61
+ banner: _propTypes.default.node,
62
+ /**
63
+ * [Scrollable regions (or their children) should be focusable](https://dequeuniversity.com/rules/axe/4.0/scrollable-region-focusable)
64
+ * to allow keyboard users to scroll the region via arrow keys.
65
+ *
66
+ * By default, EuiFlyoutBody's scroll overflow wrapper sets a `tabIndex` of `0`.
67
+ * If you know your flyout body content already contains focusable children
68
+ * that satisfy keyboard accessibility requirements, you can use this prop
69
+ * to override this default.
70
+ */
71
+ scrollableTabIndex: _propTypes.default.number
60
72
  };
@@ -27,7 +27,7 @@ var _range = require("./range.styles");
27
27
  var _dual_range = require("./dual_range.styles");
28
28
  var _i18n = require("../../i18n");
29
29
  var _react2 = require("@emotion/react");
30
- var _excluded = ["className", "css", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "showTicks", "tickInterval", "ticks", "levels", "onBlur", "onChange", "onFocus", "showRange", "value", "isInvalid", "append", "prepend", "minInputProps", "maxInputProps", "isDraggable", "theme"];
30
+ var _excluded = ["className", "css", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "showTicks", "tickInterval", "ticks", "levels", "onBlur", "onChange", "onFocus", "showRange", "value", "isInvalid", "append", "prepend", "minInputProps", "maxInputProps", "inputPopoverProps", "isDraggable", "theme"];
31
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
33
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -273,9 +273,11 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
273
273
  });
274
274
  });
275
275
  _defineProperty(_assertThisInitialized(_this), "onResize", function (width) {
276
+ var _this$props$inputPopo, _this$props$inputPopo2;
276
277
  _this.setState({
277
278
  rangeWidth: width
278
279
  });
280
+ (_this$props$inputPopo = _this.props.inputPopoverProps) === null || _this$props$inputPopo === void 0 ? void 0 : (_this$props$inputPopo2 = _this$props$inputPopo.onPanelResize) === null || _this$props$inputPopo2 === void 0 ? void 0 : _this$props$inputPopo2.call(_this$props$inputPopo, width);
279
281
  });
280
282
  _defineProperty(_assertThisInitialized(_this), "getNearestStep", function (value) {
281
283
  var min = _this.props.min;
@@ -392,6 +394,7 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
392
394
  prepend = _this$props.prepend,
393
395
  minInputProps = _this$props.minInputProps,
394
396
  maxInputProps = _this$props.maxInputProps,
397
+ inputPopoverProps = _this$props.inputPopoverProps,
395
398
  isDraggable = _this$props.isDraggable,
396
399
  theme = _this$props.theme,
397
400
  rest = _objectWithoutProperties(_this$props, _excluded);
@@ -632,8 +635,8 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
632
635
  className: showTicks || ticks ? 'euiRange__slimHorizontalSpacer' : 'euiRange__horizontalSpacer',
633
636
  css: showTicks || ticks ? rangeStyles.euiRange__slimHorizontalSpacer : rangeStyles.euiRange__horizontalSpacer
634
637
  }), maxInput));
635
- var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, {
636
- className: "euiRange__popover",
638
+ var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, _extends({}, inputPopoverProps, {
639
+ className: (0, _classnames.default)('euiDualRange__popover', inputPopoverProps === null || inputPopoverProps === void 0 ? void 0 : inputPopoverProps.className),
637
640
  input: (0, _react2.jsx)(_form_control_layout.EuiFormControlLayoutDelimited, {
638
641
  startControl: minInput,
639
642
  endControl: maxInput,
@@ -652,7 +655,7 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
652
655
  disableFocusTrap: true,
653
656
  onPanelResize: this.onResize,
654
657
  popoverScreenReaderText: dualSliderScreenReaderInstructions
655
- }, theRange) : undefined;
658
+ }), theRange) : undefined;
656
659
  return thePopover || theRange;
657
660
  }
658
661
  }]);
@@ -773,14 +776,38 @@ EuiDualRangeClass.propTypes = {
773
776
  * @default false
774
777
  */
775
778
  fullWidth: _propTypes.default.bool,
779
+ /**
780
+ * Only impacts inputs rendered by the `showInput` prop
781
+ */
782
+ isInvalid: _propTypes.default.bool,
776
783
  /**
777
784
  * Only impacts inputs rendered when the `showInput` prop is set to `"inputWithPopover"`
778
785
  */
779
786
  isLoading: _propTypes.default.bool,
780
787
  /**
781
- * Only impacts inputs rendered by the `showInput` prop
788
+ * Only impacts input popovers rendered when the `showInput` prop is set to `"inputWithPopover"`
789
+ *
790
+ * Allows customizing the underlying [EuiInputPopover](/#/layout/popover#popover-attached-to-input-element),
791
+ * except for props controlled by the range component
782
792
  */
783
- isInvalid: _propTypes.default.bool
793
+ inputPopoverProps: _propTypes.default.shape({
794
+ className: _propTypes.default.string,
795
+ "aria-label": _propTypes.default.string,
796
+ "data-test-subj": _propTypes.default.string,
797
+ css: _propTypes.default.any,
798
+ /**
799
+ * Alignment of the popover relative to the input
800
+ */
801
+ anchorPosition: _propTypes.default.oneOf(["downLeft", "downRight", "downCenter"]),
802
+ inputRef: _propTypes.default.any,
803
+ onPanelResize: _propTypes.default.func,
804
+ /**
805
+ * By default, **EuiInputPopovers** inherit the same width as the passed input element.
806
+ * However, if the input width is too small, you can pass a minimum panel width
807
+ * (that should be based on the popover content).
808
+ */
809
+ panelMinWidth: _propTypes.default.number
810
+ })
784
811
  };
785
812
  var EuiDualRange = (0, _services.withEuiTheme)(EuiDualRangeClass);
786
813
  exports.EuiDualRange = EuiDualRange;
@@ -22,7 +22,7 @@ var _range_wrapper = require("./range_wrapper");
22
22
  var _range = require("./range.styles");
23
23
  var _i18n = require("../../i18n");
24
24
  var _react2 = require("@emotion/react");
25
- var _excluded = ["className", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "showTicks", "tickInterval", "ticks", "levels", "showRange", "showValue", "valueAppend", "valuePrepend", "onBlur", "onChange", "onFocus", "value", "tabIndex", "isInvalid", "theme"];
25
+ var _excluded = ["className", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "inputPopoverProps", "showTicks", "tickInterval", "ticks", "levels", "showRange", "showValue", "valueAppend", "valuePrepend", "onBlur", "onChange", "onFocus", "value", "tabIndex", "isInvalid", "theme"];
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -128,6 +128,7 @@ var EuiRangeClass = /*#__PURE__*/function (_Component) {
128
128
  step = _this$props.step,
129
129
  showLabels = _this$props.showLabels,
130
130
  showInput = _this$props.showInput,
131
+ inputPopoverProps = _this$props.inputPopoverProps,
131
132
  showTicks = _this$props.showTicks,
132
133
  tickInterval = _this$props.tickInterval,
133
134
  ticks = _this$props.ticks,
@@ -240,8 +241,8 @@ var EuiRangeClass = /*#__PURE__*/function (_Component) {
240
241
  className: showTicks || ticks ? 'euiRange__slimHorizontalSpacer' : 'euiRange__horizontalSpacer',
241
242
  css: showTicks || ticks ? styles.euiRange__slimHorizontalSpacer : styles.euiRange__horizontalSpacer
242
243
  }), theInput));
243
- var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, {
244
- className: "euiRange__popover",
244
+ var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, _extends({}, inputPopoverProps, {
245
+ className: (0, _classnames.default)('euiRange__popover', inputPopoverProps === null || inputPopoverProps === void 0 ? void 0 : inputPopoverProps.className),
245
246
  input: theInput // `showInputOnly` confirms existence
246
247
  ,
247
248
  fullWidth: fullWidth,
@@ -249,7 +250,7 @@ var EuiRangeClass = /*#__PURE__*/function (_Component) {
249
250
  closePopover: this.closePopover,
250
251
  disableFocusTrap: true,
251
252
  popoverScreenReaderText: sliderScreenReaderInstructions
252
- }, theRange) : undefined;
253
+ }), theRange) : undefined;
253
254
  return thePopover ? thePopover : theRange;
254
255
  }
255
256
  }]);
@@ -369,14 +370,21 @@ EuiRangeClass.propTypes = {
369
370
  * @default false
370
371
  */
371
372
  fullWidth: _propTypes.default.bool,
373
+ /**
374
+ * Only impacts inputs rendered by the `showInput` prop
375
+ */
376
+ isInvalid: _propTypes.default.bool,
372
377
  /**
373
378
  * Only impacts inputs rendered when the `showInput` prop is set to `"inputWithPopover"`
374
379
  */
375
380
  isLoading: _propTypes.default.bool,
376
381
  /**
377
- * Only impacts inputs rendered by the `showInput` prop
382
+ * Only impacts input popovers rendered when the `showInput` prop is set to `"inputWithPopover"`
383
+ *
384
+ * Allows customizing the underlying [EuiInputPopover](/#/layout/popover#popover-attached-to-input-element),
385
+ * except for props controlled by the range component
378
386
  */
379
- isInvalid: _propTypes.default.bool
387
+ inputPopoverProps: _propTypes.default.any
380
388
  };
381
389
  var EuiRange = (0, _services.withEuiTheme)(EuiRangeClass);
382
390
  exports.EuiRange = EuiRange;
@@ -360,7 +360,7 @@ EuiSuperSelect.propTypes = {
360
360
  */
361
361
  isOpen: _propTypes.default.bool,
362
362
  /**
363
- * Optional props to pass to the underlying [EuiPopover](/#/layout/popover).
363
+ * Optional props to pass to the underlying [EuiInputPopover](/#/layout/popover#popover-attached-to-input-element).
364
364
  * Allows fine-grained control of the popover dropdown menu, including
365
365
  * `repositionOnScroll` for EuiSuperSelects used within scrollable containers,
366
366
  * and customizing popover panel styling.
@@ -59,7 +59,7 @@ var EuiPageSidebar = function EuiPageSidebar(_ref) {
59
59
  _useState2 = _slicedToArray(_useState, 2),
60
60
  inlineStyles = _useState2[0],
61
61
  setInlineStyles = _useState2[1];
62
- (0, _react.useEffect)(function () {
62
+ (0, _react.useLayoutEffect)(function () {
63
63
  var updatedStyles = _objectSpread(_objectSpread({}, style), (0, _global_styling.logicalStyle)('min-width', isResponding ? '100%' : minWidth));
64
64
  if (sticky) {
65
65
  var _document$body$datase;
@@ -48,6 +48,14 @@ var TemplateContext = /*#__PURE__*/(0, _react.createContext)({
48
48
  bottomBar: {}
49
49
  });
50
50
  exports.TemplateContext = TemplateContext;
51
+ var calculateOffset = function calculateOffset(base) {
52
+ var _document$body$datase;
53
+ if (typeof document === 'undefined') return 0; // SSR catch
54
+
55
+ var euiHeaderFixedCounter = Number((_document$body$datase = document.body.dataset.fixedHeaders) !== null && _document$body$datase !== void 0 ? _document$body$datase : 0);
56
+ return base * 3 * euiHeaderFixedCounter;
57
+ };
58
+
51
59
  /**
52
60
  * Consumed via `EuiPageTemplate`,
53
61
  * it controls and propogates most of the shared props per direct child
@@ -74,7 +82,9 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
74
82
  rest = _objectWithoutProperties(_ref, _excluded);
75
83
  var _useEuiTheme = (0, _services.useEuiTheme)(),
76
84
  euiTheme = _useEuiTheme.euiTheme;
77
- var _useState = (0, _react.useState)(_offset),
85
+ var _useState = (0, _react.useState)(function () {
86
+ return _offset !== null && _offset !== void 0 ? _offset : calculateOffset(euiTheme.base);
87
+ }),
78
88
  _useState2 = _slicedToArray(_useState, 2),
79
89
  offset = _useState2[0],
80
90
  setOffset = _useState2[1];
@@ -87,9 +97,7 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
87
97
  });
88
98
  (0, _react.useEffect)(function () {
89
99
  if (_offset === undefined) {
90
- var _document$body$datase;
91
- var euiHeaderFixedCounter = Number((_document$body$datase = document.body.dataset.fixedHeaders) !== null && _document$body$datase !== void 0 ? _document$body$datase : 0);
92
- setOffset(euiTheme.base * 3 * euiHeaderFixedCounter);
100
+ setOffset(calculateOffset(euiTheme.base));
93
101
  }
94
102
  }, [_offset, euiTheme.base]);
95
103
 
@@ -127,7 +135,8 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
127
135
  return {
128
136
  restrictWidth: restrictWidth,
129
137
  paddingSize: paddingSize,
130
- parent: "#".concat(pageInnerId)
138
+ // pageInnerId may contain colons that are parsed as pseudo-elements if not escaped
139
+ parent: "#".concat(CSS.escape(pageInnerId))
131
140
  };
132
141
  };
133
142
  var innerPanelled = function innerPanelled() {
@@ -16,7 +16,7 @@ var _services = require("../../services");
16
16
  var _form = require("../form/form.styles");
17
17
  var _react2 = require("@emotion/react");
18
18
  var _global_styling = require("../../global_styling");
19
- var _excluded = ["children", "className", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "onPanelResize", "inputRef", "panelRef"];
19
+ var _excluded = ["children", "className", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "panelMinWidth", "onPanelResize", "inputRef", "panelRef"];
20
20
  /*
21
21
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
22
22
  * or more contributor license agreements. Licensed under the Elastic License
@@ -45,6 +45,8 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
45
45
  input = _ref.input,
46
46
  _ref$fullWidth = _ref.fullWidth,
47
47
  fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
48
+ _ref$panelMinWidth = _ref.panelMinWidth,
49
+ panelMinWidth = _ref$panelMinWidth === void 0 ? 0 : _ref$panelMinWidth,
48
50
  onPanelResize = _ref.onPanelResize,
49
51
  _inputRef = _ref.inputRef,
50
52
  _panelRef = _ref.panelRef,
@@ -62,22 +64,24 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
62
64
  _useState6 = _slicedToArray(_useState5, 2),
63
65
  panelEl = _useState6[0],
64
66
  setPanelEl = _useState6[1];
67
+ var popoverClassRef = (0, _react.useRef)(null);
65
68
  var inputRef = (0, _services.useCombinedRefs)([setInputEl, _inputRef]);
66
69
  var panelRef = (0, _services.useCombinedRefs)([setPanelEl, _panelRef]);
67
70
  var setPanelWidth = (0, _react.useCallback)(function (width) {
68
71
  if (panelEl && (!!inputElWidth || !!width)) {
69
72
  var newWidth = !!width ? width : inputElWidth;
70
- panelEl.style.width = "".concat(newWidth, "px");
71
- if (onPanelResize) {
72
- onPanelResize(newWidth);
73
- }
73
+ var widthToSet = newWidth && newWidth > panelMinWidth ? newWidth : panelMinWidth;
74
+ panelEl.style.width = "".concat(widthToSet, "px");
75
+ onPanelResize === null || onPanelResize === void 0 ? void 0 : onPanelResize(widthToSet);
74
76
  }
75
- }, [panelEl, inputElWidth, onPanelResize]);
77
+ }, [panelEl, inputElWidth, onPanelResize, panelMinWidth]);
76
78
  var onResize = (0, _react.useCallback)(function () {
77
79
  if (inputEl) {
80
+ var _popoverClassRef$curr;
78
81
  var _width = inputEl.getBoundingClientRect().width;
79
82
  setInputElWidth(_width);
80
83
  setPanelWidth(_width);
84
+ (_popoverClassRef$curr = popoverClassRef.current) === null || _popoverClassRef$curr === void 0 ? void 0 : _popoverClassRef$curr.positionPopoverFluid();
81
85
  }
82
86
  }, [inputEl, setPanelWidth]);
83
87
  (0, _react.useEffect)(function () {
@@ -112,7 +116,8 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
112
116
  }),
113
117
  buttonRef: inputRef,
114
118
  panelRef: panelRef,
115
- className: classes
119
+ className: classes,
120
+ ref: popoverClassRef
116
121
  }, props), (0, _react2.jsx)(_focus_trap.EuiFocusTrap, _extends({
117
122
  clickOutsideDisables: true,
118
123
  disabled: disableFocusTrap
@@ -126,11 +131,21 @@ EuiInputPopover.propTypes = {
126
131
  "aria-label": _propTypes.default.string,
127
132
  "data-test-subj": _propTypes.default.string,
128
133
  css: _propTypes.default.any,
134
+ /**
135
+ * Alignment of the popover relative to the input
136
+ */
137
+ anchorPosition: _propTypes.default.oneOf(["downLeft", "downRight", "downCenter"]),
129
138
  disableFocusTrap: _propTypes.default.bool,
130
139
  fullWidth: _propTypes.default.bool,
131
140
  input: _propTypes.default.any.isRequired,
132
141
  inputRef: _propTypes.default.any,
133
- onPanelResize: _propTypes.default.func
142
+ onPanelResize: _propTypes.default.func,
143
+ /**
144
+ * By default, **EuiInputPopovers** inherit the same width as the passed input element.
145
+ * However, if the input width is too small, you can pass a minimum panel width
146
+ * (that should be based on the popover content).
147
+ */
148
+ panelMinWidth: _propTypes.default.number
134
149
  };
135
150
  EuiInputPopover.defaultProps = {
136
151
  anchorPosition: 'downLeft',