@elastic/eui 59.1.0 → 60.1.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.
- package/README.md +7 -0
- package/dist/eui_theme_dark.css +0 -493
- package/dist/eui_theme_dark.json +7 -44
- package/dist/eui_theme_dark.json.d.ts +7 -44
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +0 -493
- package/dist/eui_theme_light.json +7 -44
- package/dist/eui_theme_light.json.d.ts +7 -44
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/accessibility/screen_reader_live/screen_reader_live.js +30 -7
- package/es/components/accessibility/screen_reader_only/screen_reader_only.js +14 -19
- package/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +11 -1
- package/es/components/accessibility/skip_link/skip_link.js +20 -4
- package/es/components/avatar/avatar.js +2 -2
- package/es/components/badge/badge.js +1 -1
- package/es/components/button/button_icon/button_icon.js +1 -1
- package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +2 -2
- package/es/components/combo_box/matching_options.js +3 -2
- package/es/components/datagrid/body/data_grid_body.js +6 -6
- package/es/components/datagrid/body/data_grid_cell.js +12 -12
- package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
- package/es/components/datagrid/body/header/data_grid_header_row.js +6 -6
- package/es/components/datagrid/data_grid.js +6 -6
- package/es/components/datagrid/utils/in_memory.js +6 -6
- package/es/components/date_picker/date_picker.js +1 -1
- package/es/components/empty_prompt/empty_prompt.js +1 -1
- package/es/components/form/field_text/field_text.js +1 -1
- package/es/components/form/form_control_layout/form_control_layout.js +1 -1
- package/es/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/es/components/health/health.js +1 -1
- package/es/components/icon/icon.js +43 -495
- package/es/components/icon/icon.styles.js +75 -0
- package/es/components/icon/icon_map.js +455 -0
- package/es/components/icon/named_colors.js +2 -13
- package/es/components/list_group/list_group.js +1 -1
- package/es/components/list_group/list_group_item.js +1 -1
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -2
- package/es/components/notification/notification_event.js +2 -2
- package/es/components/notification/notification_event_meta.js +1 -1
- package/es/components/notification/notification_event_read_button.js +1 -1
- package/es/components/progress/progress.js +34 -87
- package/es/components/progress/progress.styles.js +155 -0
- package/es/components/provider/cache/cache_provider.js +17 -0
- package/es/components/provider/cache/index.js +8 -0
- package/es/components/provider/provider.js +35 -5
- package/es/components/selectable/selectable.js +39 -22
- package/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -2
- package/es/components/stat/stat.js +28 -35
- package/es/components/stat/stat.styles.js +38 -0
- package/es/components/timeline/timeline.js +15 -8
- package/es/components/timeline/timeline.styles.js +29 -0
- package/es/components/timeline/timeline_item.js +4 -16
- package/es/components/timeline/timeline_item.styles.js +18 -3
- package/es/components/timeline/timeline_item_icon.styles.js +14 -4
- package/es/components/tool_tip/icon_tip.js +1 -1
- package/es/global_styling/functions/logicals.js +2 -2
- package/es/global_styling/utility/utility.js +17 -0
- package/es/services/theme/hooks.js +4 -2
- package/es/services/theme/provider.js +1 -5
- package/es/test/emotion-prefix.js +29 -0
- package/es/test/index.d.ts +5 -0
- package/es/test/index.js +2 -1
- package/eui.d.ts +450 -454
- package/i18ntokens.json +18 -18
- package/lib/components/accessibility/screen_reader_live/screen_reader_live.js +29 -6
- package/lib/components/accessibility/screen_reader_only/screen_reader_only.js +22 -19
- package/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +16 -2
- package/lib/components/accessibility/skip_link/skip_link.js +21 -4
- package/lib/components/avatar/avatar.js +2 -2
- package/lib/components/badge/badge.js +1 -1
- package/lib/components/button/button_icon/button_icon.js +1 -1
- package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +2 -2
- package/lib/components/combo_box/matching_options.js +3 -2
- package/lib/components/datagrid/body/data_grid_body.js +6 -6
- package/lib/components/datagrid/body/data_grid_cell.js +12 -12
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
- package/lib/components/datagrid/body/header/data_grid_header_row.js +6 -6
- package/lib/components/datagrid/data_grid.js +6 -6
- package/lib/components/datagrid/utils/in_memory.js +6 -6
- package/lib/components/date_picker/date_picker.js +1 -1
- package/lib/components/empty_prompt/empty_prompt.js +1 -1
- package/lib/components/form/field_text/field_text.js +1 -1
- package/lib/components/form/form_control_layout/form_control_layout.js +1 -1
- package/lib/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/lib/components/health/health.js +1 -1
- package/lib/components/icon/icon.js +54 -499
- package/lib/components/icon/icon.styles.js +79 -0
- package/lib/components/icon/icon_map.js +463 -0
- package/lib/components/icon/named_colors.js +4 -15
- package/lib/components/list_group/list_group.js +1 -1
- package/lib/components/list_group/list_group_item.js +1 -1
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -2
- package/lib/components/notification/notification_event.js +2 -2
- package/lib/components/notification/notification_event_meta.js +1 -1
- package/lib/components/notification/notification_event_read_button.js +1 -1
- package/lib/components/progress/progress.js +36 -88
- package/lib/components/progress/progress.styles.js +166 -0
- package/lib/components/provider/cache/cache_provider.js +29 -0
- package/lib/components/provider/cache/index.js +18 -0
- package/lib/components/provider/provider.js +36 -5
- package/lib/components/selectable/selectable.js +39 -22
- package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -3
- package/lib/components/stat/stat.js +30 -40
- package/lib/components/stat/stat.styles.js +45 -0
- package/lib/components/timeline/timeline.js +20 -9
- package/lib/components/timeline/timeline.styles.js +39 -0
- package/lib/components/timeline/timeline_item.js +4 -17
- package/lib/components/timeline/timeline_item.styles.js +17 -10
- package/lib/components/timeline/timeline_item_icon.styles.js +15 -4
- package/lib/components/tool_tip/icon_tip.js +1 -1
- package/lib/global_styling/functions/logicals.js +2 -2
- package/lib/global_styling/utility/utility.js +31 -0
- package/lib/services/theme/hooks.js +4 -2
- package/lib/services/theme/provider.js +3 -6
- package/lib/test/emotion-prefix.js +38 -0
- package/lib/test/index.d.ts +5 -0
- package/lib/test/index.js +23 -1
- package/optimize/es/components/accessibility/screen_reader_live/screen_reader_live.js +21 -6
- package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.js +11 -17
- package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +11 -1
- package/optimize/es/components/accessibility/skip_link/skip_link.js +20 -4
- package/optimize/es/components/combo_box/matching_options.js +3 -2
- package/optimize/es/components/icon/icon.js +40 -492
- package/optimize/es/components/icon/icon.styles.js +75 -0
- package/optimize/es/components/icon/icon_map.js +455 -0
- package/optimize/es/components/icon/named_colors.js +2 -13
- package/optimize/es/components/progress/progress.js +31 -84
- package/optimize/es/components/progress/progress.styles.js +155 -0
- package/optimize/es/components/provider/cache/cache_provider.js +17 -0
- package/optimize/es/components/provider/cache/index.js +8 -0
- package/optimize/es/components/provider/provider.js +35 -5
- package/optimize/es/components/selectable/selectable.js +33 -22
- package/optimize/es/components/stat/stat.js +25 -33
- package/optimize/es/components/stat/stat.styles.js +38 -0
- package/optimize/es/components/timeline/timeline.js +10 -1
- package/optimize/es/components/timeline/timeline.styles.js +29 -0
- package/optimize/es/components/timeline/timeline_item.js +4 -9
- package/optimize/es/components/timeline/timeline_item.styles.js +18 -3
- package/optimize/es/components/timeline/timeline_item_icon.styles.js +14 -4
- package/optimize/es/global_styling/functions/logicals.js +2 -2
- package/optimize/es/global_styling/utility/utility.js +17 -0
- package/optimize/es/services/theme/hooks.js +4 -2
- package/optimize/es/services/theme/provider.js +1 -5
- package/optimize/es/test/emotion-prefix.js +27 -0
- package/optimize/es/test/index.d.ts +5 -0
- package/optimize/es/test/index.js +2 -1
- package/optimize/lib/components/accessibility/screen_reader_live/screen_reader_live.js +20 -5
- package/optimize/lib/components/accessibility/screen_reader_only/screen_reader_only.js +18 -16
- package/optimize/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +16 -2
- package/optimize/lib/components/accessibility/skip_link/skip_link.js +21 -4
- package/optimize/lib/components/combo_box/matching_options.js +3 -2
- package/optimize/lib/components/icon/icon.js +49 -494
- package/optimize/lib/components/icon/icon.styles.js +81 -0
- package/optimize/lib/components/icon/icon_map.js +463 -0
- package/optimize/lib/components/icon/named_colors.js +4 -15
- package/optimize/lib/components/progress/progress.js +33 -85
- package/optimize/lib/components/progress/progress.styles.js +168 -0
- package/optimize/lib/components/provider/cache/cache_provider.js +29 -0
- package/optimize/lib/components/provider/cache/index.js +18 -0
- package/optimize/lib/components/provider/provider.js +36 -5
- package/optimize/lib/components/selectable/selectable.js +33 -22
- package/optimize/lib/components/stat/stat.js +27 -37
- package/optimize/lib/components/stat/stat.styles.js +47 -0
- package/optimize/lib/components/timeline/timeline.js +14 -2
- package/optimize/lib/components/timeline/timeline.styles.js +39 -0
- package/optimize/lib/components/timeline/timeline_item.js +4 -10
- package/optimize/lib/components/timeline/timeline_item.styles.js +17 -10
- package/optimize/lib/components/timeline/timeline_item_icon.styles.js +15 -4
- package/optimize/lib/global_styling/functions/logicals.js +2 -2
- package/optimize/lib/global_styling/utility/utility.js +31 -0
- package/optimize/lib/services/theme/hooks.js +4 -2
- package/optimize/lib/services/theme/provider.js +3 -6
- package/optimize/lib/test/emotion-prefix.js +40 -0
- package/optimize/lib/test/index.d.ts +5 -0
- package/optimize/lib/test/index.js +23 -1
- package/package.json +2 -2
- package/src/components/form/form_control_layout/_form_control_layout.scss +2 -4
- package/src/components/index.scss +0 -4
- package/src/global_styling/variables/_form.scss +9 -0
- package/src/themes/amsterdam/overrides/_index.scss +0 -1
- package/test-env/components/accessibility/screen_reader_live/screen_reader_live.js +29 -6
- package/test-env/components/accessibility/screen_reader_only/screen_reader_only.js +21 -18
- package/test-env/components/accessibility/screen_reader_only/screen_reader_only.styles.js +16 -2
- package/test-env/components/accessibility/skip_link/skip_link.js +21 -4
- package/test-env/components/avatar/avatar.js +2 -2
- package/test-env/components/badge/badge.js +1 -1
- package/test-env/components/button/button_icon/button_icon.js +1 -1
- package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +2 -2
- package/test-env/components/combo_box/matching_options.js +3 -2
- package/test-env/components/datagrid/body/data_grid_body.js +6 -6
- package/test-env/components/datagrid/body/data_grid_cell.js +12 -12
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
- package/test-env/components/datagrid/body/header/data_grid_header_row.js +6 -6
- package/test-env/components/datagrid/data_grid.js +6 -6
- package/test-env/components/datagrid/utils/in_memory.js +6 -6
- package/test-env/components/date_picker/date_picker.js +1 -1
- package/test-env/components/empty_prompt/empty_prompt.js +1 -1
- package/test-env/components/form/field_text/field_text.js +1 -1
- package/test-env/components/form/form_control_layout/form_control_layout.js +1 -1
- package/test-env/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/test-env/components/health/health.js +1 -1
- package/test-env/components/icon/icon.styles.js +81 -0
- package/test-env/components/icon/icon_map.js +463 -0
- package/test-env/components/icon/named_colors.js +4 -15
- package/test-env/components/list_group/list_group.js +1 -1
- package/test-env/components/list_group/list_group_item.js +1 -1
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -2
- package/test-env/components/notification/notification_event.js +2 -2
- package/test-env/components/notification/notification_event_meta.js +1 -1
- package/test-env/components/notification/notification_event_read_button.js +1 -1
- package/test-env/components/progress/progress.js +36 -88
- package/test-env/components/progress/progress.styles.js +168 -0
- package/test-env/components/provider/cache/cache_provider.js +29 -0
- package/test-env/components/provider/cache/index.js +18 -0
- package/test-env/components/provider/provider.js +36 -5
- package/test-env/components/selectable/selectable.js +39 -22
- package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
- package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -3
- package/test-env/components/stat/stat.js +29 -39
- package/test-env/components/stat/stat.styles.js +47 -0
- package/test-env/components/timeline/timeline.js +19 -9
- package/test-env/components/timeline/timeline.styles.js +39 -0
- package/test-env/components/timeline/timeline_item.js +4 -17
- package/test-env/components/timeline/timeline_item.styles.js +17 -10
- package/test-env/components/timeline/timeline_item_icon.styles.js +15 -4
- package/test-env/components/tool_tip/icon_tip.js +1 -1
- package/test-env/global_styling/functions/logicals.js +2 -2
- package/test-env/global_styling/utility/utility.js +31 -0
- package/test-env/services/theme/hooks.js +4 -2
- package/test-env/services/theme/provider.js +3 -6
- package/test-env/test/emotion-prefix.js +40 -0
- package/test-env/test/index.js +23 -1
- package/src/components/accessibility/_index.scss +0 -1
- package/src/components/accessibility/screen_reader_only/_screen_reader_only.scss +0 -5
- package/src/components/icon/_icon.scss +0 -87
- package/src/components/icon/_index.scss +0 -2
- package/src/components/icon/_variables.scss +0 -22
- package/src/components/progress/_index.scss +0 -2
- package/src/components/progress/_progress.scss +0 -166
- package/src/components/progress/_variables.scss +0 -21
- package/src/components/stat/_index.scss +0 -1
- package/src/components/stat/_stat.scss +0 -50
- package/src/themes/amsterdam/overrides/_progress.scss +0 -3
|
@@ -7,7 +7,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
7
7
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
8
8
|
* Side Public License, v 1.
|
|
9
9
|
*/
|
|
10
|
-
import React, { useEffect, useState } from 'react';
|
|
10
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
11
11
|
import { EuiScreenReaderOnly } from '../screen_reader_only';
|
|
12
12
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
13
13
|
export var EuiScreenReaderLive = function EuiScreenReaderLive(_ref) {
|
|
@@ -17,18 +17,26 @@ export var EuiScreenReaderLive = function EuiScreenReaderLive(_ref) {
|
|
|
17
17
|
_ref$role = _ref.role,
|
|
18
18
|
role = _ref$role === void 0 ? 'status' : _ref$role,
|
|
19
19
|
_ref$ariaLive = _ref['aria-live'],
|
|
20
|
-
ariaLive = _ref$ariaLive === void 0 ? 'polite' : _ref$ariaLive
|
|
20
|
+
ariaLive = _ref$ariaLive === void 0 ? 'polite' : _ref$ariaLive,
|
|
21
|
+
_ref$focusRegionOnTex = _ref.focusRegionOnTextChange,
|
|
22
|
+
focusRegionOnTextChange = _ref$focusRegionOnTex === void 0 ? false : _ref$focusRegionOnTex;
|
|
21
23
|
|
|
22
24
|
var _useState = useState(false),
|
|
23
25
|
_useState2 = _slicedToArray(_useState, 2),
|
|
24
26
|
toggle = _useState2[0],
|
|
25
27
|
setToggle = _useState2[1];
|
|
26
28
|
|
|
29
|
+
var focusRef = useRef(null);
|
|
27
30
|
useEffect(function () {
|
|
28
31
|
setToggle(function (toggle) {
|
|
29
32
|
return !toggle;
|
|
30
33
|
});
|
|
31
34
|
}, [children]);
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
if (focusRef.current !== null && focusRegionOnTextChange) {
|
|
37
|
+
focusRef.current.focus();
|
|
38
|
+
}
|
|
39
|
+
}, [toggle, focusRegionOnTextChange]);
|
|
32
40
|
return (
|
|
33
41
|
/**
|
|
34
42
|
* Intentionally uses two persistent live regions with oscillating content updates.
|
|
@@ -40,14 +48,21 @@ export var EuiScreenReaderLive = function EuiScreenReaderLive(_ref) {
|
|
|
40
48
|
* See also https://github.com/AlmeroSteyn/react-aria-live and https://github.com/dequelabs/ngA11y
|
|
41
49
|
* for more examples of the double region approach.
|
|
42
50
|
*/
|
|
43
|
-
___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("div",
|
|
51
|
+
___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("div", {
|
|
52
|
+
ref: focusRef,
|
|
53
|
+
tabIndex: focusRegionOnTextChange ? -1 : undefined
|
|
54
|
+
}, ___EmotionJSX("div", {
|
|
44
55
|
role: role,
|
|
45
|
-
"aria-atomic": "true"
|
|
46
|
-
|
|
56
|
+
"aria-atomic": "true" // Setting `aria-hidden` and setting `aria-live` to "off" prevents
|
|
57
|
+
// double announcements from VO when `focusRegionOnTextChange` is true
|
|
58
|
+
,
|
|
59
|
+
"aria-hidden": toggle ? undefined : 'true',
|
|
60
|
+
"aria-live": focusRegionOnTextChange ? 'off' : ariaLive
|
|
47
61
|
}, isActive && toggle ? children : ''), ___EmotionJSX("div", {
|
|
48
62
|
role: role,
|
|
49
63
|
"aria-atomic": "true",
|
|
50
|
-
"aria-
|
|
64
|
+
"aria-hidden": !toggle ? undefined : 'true',
|
|
65
|
+
"aria-live": focusRegionOnTextChange ? 'off' : ariaLive
|
|
51
66
|
}, isActive && !toggle ? children : '')))
|
|
52
67
|
);
|
|
53
68
|
};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
6
|
-
|
|
7
1
|
/*
|
|
8
2
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
9
3
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -11,19 +5,19 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
11
5
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
12
6
|
* Side Public License, v 1.
|
|
13
7
|
*/
|
|
14
|
-
import { cloneElement } from 'react';
|
|
15
8
|
import classNames from 'classnames';
|
|
9
|
+
import { cloneElementWithCss } from '../../../services/theme/clone_element';
|
|
10
|
+
import { euiScreenReaderOnlyStyles } from './screen_reader_only.styles';
|
|
16
11
|
export var EuiScreenReaderOnly = function EuiScreenReaderOnly(_ref) {
|
|
17
12
|
var children = _ref.children,
|
|
13
|
+
className = _ref.className,
|
|
18
14
|
showOnFocus = _ref.showOnFocus;
|
|
19
|
-
var classes = classNames(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return /*#__PURE__*/cloneElement(children, props);
|
|
15
|
+
var classes = classNames(className, children.props.className);
|
|
16
|
+
var styles = euiScreenReaderOnlyStyles(showOnFocus);
|
|
17
|
+
var cssStyles = [styles.euiScreenReaderOnly];
|
|
18
|
+
var props = {
|
|
19
|
+
className: classes.length ? classes : undefined,
|
|
20
|
+
css: cssStyles
|
|
21
|
+
};
|
|
22
|
+
return cloneElementWithCss(children, props);
|
|
29
23
|
};
|
package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js
CHANGED
|
@@ -5,11 +5,21 @@
|
|
|
5
5
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
6
|
* Side Public License, v 1.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
import { css } from '@emotion/react';
|
|
9
9
|
/*
|
|
10
10
|
* Mixin that hides elements offscreen to only be read by screen reader
|
|
11
11
|
* See https://github.com/elastic/eui/pull/5130 and https://github.com/elastic/eui/pull/5152 for more info
|
|
12
12
|
*/
|
|
13
|
+
|
|
13
14
|
export var euiScreenReaderOnly = function euiScreenReaderOnly() {
|
|
14
15
|
return "\n // Take the element out of the layout\n position: absolute;\n // Keep it vertically inline\n top: auto;\n // Chrome requires a left value, and Selenium (used by Kibana's FTR) requires an off-screen position for its .getVisibleText() to not register SR-only text\n left: -10000px;\n // The element must have a size (for some screen readers)\n width: 1px;\n height: 1px;\n // But reduce the visible size to nothing\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n // And ensure no overflows occur\n overflow: hidden;\n // Chrome requires the negative margin to not cause overflows of parent containers\n margin: -1px;\n";
|
|
16
|
+
};
|
|
17
|
+
/*
|
|
18
|
+
* Styles
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
export var euiScreenReaderOnlyStyles = function euiScreenReaderOnlyStyles(showOnFocus) {
|
|
22
|
+
return {
|
|
23
|
+
euiScreenReaderOnly: showOnFocus ? /*#__PURE__*/css("&:not(:focus):not(:active){", euiScreenReaderOnly(), ";};label:euiScreenReaderOnly;") : /*#__PURE__*/css(euiScreenReaderOnly(), ";label:euiScreenReaderOnly;")
|
|
24
|
+
};
|
|
15
25
|
};
|
|
@@ -16,6 +16,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
18
|
import classNames from 'classnames';
|
|
19
|
+
import { isTabbable } from 'tabbable';
|
|
19
20
|
import { useEuiTheme } from '../../../services';
|
|
20
21
|
import { EuiButton } from '../../button/button';
|
|
21
22
|
import { EuiScreenReaderOnly } from '../screen_reader_only';
|
|
@@ -50,13 +51,28 @@ export var EuiSkipLink = function EuiSkipLink(_ref) {
|
|
|
50
51
|
onClick: function onClick(e) {
|
|
51
52
|
e.preventDefault();
|
|
52
53
|
var destinationEl = document.getElementById(destinationId);
|
|
53
|
-
if (!destinationEl) return;
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
if (!destinationEl) return; // Scroll to the top of the destination content only if it's ~mostly out of view
|
|
55
|
+
|
|
56
|
+
var destinationY = destinationEl.getBoundingClientRect().top;
|
|
57
|
+
var halfOfViewportHeight = window.innerHeight / 2;
|
|
58
|
+
|
|
59
|
+
if (destinationY >= halfOfViewportHeight || window.scrollY >= destinationY + halfOfViewportHeight) {
|
|
60
|
+
destinationEl.scrollIntoView();
|
|
61
|
+
} // Ensure the destination content is focusable
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
if (!isTabbable(destinationEl)) {
|
|
65
|
+
destinationEl.tabIndex = -1;
|
|
66
|
+
destinationEl.addEventListener('blur', function () {
|
|
67
|
+
return destinationEl.removeAttribute('tabindex');
|
|
68
|
+
}, {
|
|
69
|
+
once: true
|
|
70
|
+
});
|
|
71
|
+
}
|
|
56
72
|
|
|
57
73
|
destinationEl.focus({
|
|
58
74
|
preventScroll: true
|
|
59
|
-
}); // Scrolling is already handled above, and focus
|
|
75
|
+
}); // Scrolling is already handled above, and focus autoscroll behaves oddly on Chrome around fixed headers
|
|
60
76
|
}
|
|
61
77
|
});
|
|
62
78
|
}
|
|
@@ -10,7 +10,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
10
10
|
export var flattenOptionGroups = function flattenOptionGroups(optionsOrGroups) {
|
|
11
11
|
return optionsOrGroups.reduce(function (options, optionOrGroup) {
|
|
12
12
|
if (optionOrGroup.options) {
|
|
13
|
-
options.
|
|
13
|
+
options = options.concat(optionOrGroup.options);
|
|
14
14
|
} else {
|
|
15
15
|
options.push(optionOrGroup);
|
|
16
16
|
}
|
|
@@ -68,8 +68,9 @@ export var getMatchingOptions = function getMatchingOptions(options, selectedOpt
|
|
|
68
68
|
label: option.label,
|
|
69
69
|
isGroupLabelOption: true
|
|
70
70
|
}); // Add matching options for group
|
|
71
|
+
// use concat over spreading to support large arrays - https://mathiasbynens.be/demo/javascript-argument-count
|
|
71
72
|
|
|
72
|
-
matchingOptions.
|
|
73
|
+
matchingOptions = matchingOptions.concat(matchingOptionsForGroup);
|
|
73
74
|
}
|
|
74
75
|
} else {
|
|
75
76
|
collectMatchingOption(matchingOptions, option, selectedOptions, normalizedSearchValue, isPreFiltered, showPrevSelected);
|