@elastic/eui 70.2.4 → 70.3.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/dist/eui_theme_dark.css +0 -198
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +0 -198
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/accessibility/skip_link/skip_link.js +6 -5
- package/es/components/badge/beta_badge/beta_badge.js +11 -3
- package/es/components/badge/beta_badge/beta_badge.styles.js +25 -4
- package/es/components/card/card.js +6 -1
- package/es/components/card/card.styles.js +4 -4
- package/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +109 -0
- package/es/components/flyout/flyout.a11y.js +92 -0
- package/es/components/image/image_fullscreen_wrapper.styles.js +3 -11
- package/es/components/modal/confirm_modal.js +11 -0
- package/es/components/modal/modal.a11y.js +70 -0
- package/es/components/modal/modal.js +17 -27
- package/es/components/modal/modal.styles.js +23 -0
- package/es/components/modal/modal_body.js +8 -0
- package/es/components/modal/modal_body.styles.js +16 -0
- package/es/components/modal/modal_footer.js +6 -0
- package/es/components/modal/modal_footer.styles.js +15 -0
- package/es/components/modal/modal_header.js +6 -0
- package/es/components/modal/modal_header.styles.js +14 -0
- package/es/components/modal/modal_header_title.js +3 -1
- package/es/components/page_template/outer/page_outer.js +1 -1
- package/es/components/page_template/page_template.js +28 -6
- package/es/components/popover/popover.a11y.js +83 -0
- package/es/components/search_bar/query/default_syntax.js +2 -1
- package/es/components/tabs/tabs.a11y.js +97 -0
- package/es/components/tree_view/tree_view.a11y.js +74 -0
- package/es/global_styling/utility/animations.js +5 -2
- package/eui.d.ts +58 -7
- package/i18ntokens.json +2 -2
- package/lib/components/accessibility/skip_link/skip_link.js +6 -5
- package/lib/components/badge/beta_badge/beta_badge.js +13 -4
- package/lib/components/badge/beta_badge/beta_badge.styles.js +25 -4
- package/lib/components/card/card.js +6 -1
- package/lib/components/card/card.styles.js +4 -4
- package/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +111 -0
- package/lib/components/flyout/flyout.a11y.js +94 -0
- package/lib/components/image/image_fullscreen_wrapper.styles.js +9 -10
- package/lib/components/modal/confirm_modal.js +13 -0
- package/lib/components/modal/modal.a11y.js +73 -0
- package/lib/components/modal/modal.js +17 -32
- package/lib/components/modal/modal.styles.js +36 -0
- package/lib/components/modal/modal_body.js +10 -0
- package/lib/components/modal/modal_body.styles.js +27 -0
- package/lib/components/modal/modal_footer.js +8 -0
- package/lib/components/modal/modal_footer.styles.js +26 -0
- package/lib/components/modal/modal_header.js +8 -0
- package/lib/components/modal/modal_header.styles.js +24 -0
- package/lib/components/modal/modal_header_title.js +4 -1
- package/lib/components/page_template/outer/page_outer.js +1 -1
- package/lib/components/page_template/page_template.js +32 -10
- package/lib/components/popover/popover.a11y.js +86 -0
- package/lib/components/search_bar/query/default_syntax.js +2 -1
- package/lib/components/tabs/tabs.a11y.js +98 -0
- package/lib/components/tree_view/tree_view.a11y.js +80 -0
- package/lib/global_styling/utility/animations.js +9 -3
- package/optimize/es/components/accessibility/skip_link/skip_link.js +6 -5
- package/optimize/es/components/badge/beta_badge/beta_badge.js +5 -2
- package/optimize/es/components/badge/beta_badge/beta_badge.styles.js +25 -4
- package/optimize/es/components/card/card.styles.js +4 -4
- package/optimize/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +98 -0
- package/optimize/es/components/flyout/flyout.a11y.js +77 -0
- package/optimize/es/components/image/image_fullscreen_wrapper.styles.js +3 -11
- package/optimize/es/components/modal/confirm_modal.js +6 -0
- package/optimize/es/components/modal/modal.a11y.js +60 -0
- package/optimize/es/components/modal/modal.js +17 -27
- package/optimize/es/components/modal/modal.styles.js +23 -0
- package/optimize/es/components/modal/modal_body.js +8 -0
- package/optimize/es/components/modal/modal_body.styles.js +16 -0
- package/optimize/es/components/modal/modal_footer.js +6 -0
- package/optimize/es/components/modal/modal_footer.styles.js +15 -0
- package/optimize/es/components/modal/modal_header.js +6 -0
- package/optimize/es/components/modal/modal_header.styles.js +14 -0
- package/optimize/es/components/modal/modal_header_title.js +3 -1
- package/optimize/es/components/page_template/page_template.js +5 -3
- package/optimize/es/components/popover/popover.a11y.js +73 -0
- package/optimize/es/components/search_bar/query/default_syntax.js +2 -1
- package/optimize/es/components/tabs/tabs.a11y.js +97 -0
- package/optimize/es/components/tree_view/tree_view.a11y.js +74 -0
- package/optimize/es/global_styling/utility/animations.js +5 -2
- package/optimize/lib/components/accessibility/skip_link/skip_link.js +6 -5
- package/optimize/lib/components/badge/beta_badge/beta_badge.js +7 -3
- package/optimize/lib/components/badge/beta_badge/beta_badge.styles.js +25 -4
- package/optimize/lib/components/card/card.styles.js +4 -4
- package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +111 -0
- package/optimize/lib/components/flyout/flyout.a11y.js +84 -0
- package/optimize/lib/components/image/image_fullscreen_wrapper.styles.js +9 -12
- package/optimize/lib/components/modal/confirm_modal.js +8 -0
- package/optimize/lib/components/modal/modal.a11y.js +73 -0
- package/optimize/lib/components/modal/modal.js +17 -31
- package/optimize/lib/components/modal/modal.styles.js +36 -0
- package/optimize/lib/components/modal/modal_body.js +10 -0
- package/optimize/lib/components/modal/modal_body.styles.js +27 -0
- package/optimize/lib/components/modal/modal_footer.js +8 -0
- package/optimize/lib/components/modal/modal_footer.styles.js +26 -0
- package/optimize/lib/components/modal/modal_header.js +8 -0
- package/optimize/lib/components/modal/modal_header.styles.js +24 -0
- package/optimize/lib/components/modal/modal_header_title.js +4 -1
- package/optimize/lib/components/page_template/page_template.js +5 -3
- package/optimize/lib/components/popover/popover.a11y.js +86 -0
- package/optimize/lib/components/search_bar/query/default_syntax.js +2 -1
- package/optimize/lib/components/tabs/tabs.a11y.js +98 -0
- package/optimize/lib/components/tree_view/tree_view.a11y.js +80 -0
- package/optimize/lib/global_styling/utility/animations.js +9 -3
- package/package.json +5 -4
- package/src/components/index.scss +0 -1
- package/src/themes/amsterdam/overrides/_index.scss +0 -1
- package/test-env/components/accessibility/skip_link/skip_link.js +6 -5
- package/test-env/components/badge/beta_badge/beta_badge.js +13 -4
- package/test-env/components/badge/beta_badge/beta_badge.styles.js +25 -4
- package/test-env/components/card/card.js +6 -1
- package/test-env/components/card/card.styles.js +4 -4
- package/test-env/components/date_picker/super_date_picker/super_date_picker.a11y.js +111 -0
- package/test-env/components/flyout/flyout.a11y.js +84 -0
- package/test-env/components/image/image_fullscreen_wrapper.styles.js +9 -12
- package/test-env/components/modal/confirm_modal.js +13 -0
- package/test-env/components/modal/modal.a11y.js +73 -0
- package/test-env/components/modal/modal.js +17 -31
- package/test-env/components/modal/modal.styles.js +36 -0
- package/test-env/components/modal/modal_body.js +10 -0
- package/test-env/components/modal/modal_body.styles.js +27 -0
- package/test-env/components/modal/modal_footer.js +8 -0
- package/test-env/components/modal/modal_footer.styles.js +26 -0
- package/test-env/components/modal/modal_header.js +8 -0
- package/test-env/components/modal/modal_header.styles.js +24 -0
- package/test-env/components/modal/modal_header_title.js +4 -1
- package/test-env/components/page_template/outer/page_outer.js +1 -1
- package/test-env/components/page_template/page_template.js +32 -10
- package/test-env/components/popover/popover.a11y.js +86 -0
- package/test-env/components/search_bar/query/default_syntax.js +2 -1
- package/test-env/components/tabs/tabs.a11y.js +98 -0
- package/test-env/components/tree_view/tree_view.a11y.js +80 -0
- package/test-env/global_styling/utility/animations.js +9 -3
- package/src/components/modal/_index.scss +0 -1
- package/src/components/modal/_modal.scss +0 -156
- package/src/themes/amsterdam/overrides/_modal.scss +0 -3
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
|
|
11
|
+
var _popover = require("./popover");
|
|
12
|
+
|
|
13
|
+
var _button = require("../button");
|
|
14
|
+
|
|
15
|
+
var _text = require("../text");
|
|
16
|
+
|
|
17
|
+
var _react2 = require("@emotion/react");
|
|
18
|
+
|
|
19
|
+
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); }
|
|
20
|
+
|
|
21
|
+
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; }
|
|
22
|
+
|
|
23
|
+
/*
|
|
24
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
25
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
26
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
27
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
28
|
+
* Side Public License, v 1.
|
|
29
|
+
*/
|
|
30
|
+
/// <reference types="../../../cypress/support"/>
|
|
31
|
+
var Popover = function Popover() {
|
|
32
|
+
var _useState = (0, _react.useState)(false),
|
|
33
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
34
|
+
isPopoverOpen = _useState2[0],
|
|
35
|
+
setIsPopoverOpen = _useState2[1];
|
|
36
|
+
|
|
37
|
+
var onButtonClick = function onButtonClick() {
|
|
38
|
+
return setIsPopoverOpen(function (isPopoverOpen) {
|
|
39
|
+
return !isPopoverOpen;
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var closePopover = function closePopover() {
|
|
44
|
+
return setIsPopoverOpen(false);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var button = (0, _react2.jsx)(_button.EuiButtonEmpty, {
|
|
48
|
+
iconType: "documentation",
|
|
49
|
+
iconSide: "right",
|
|
50
|
+
onClick: onButtonClick
|
|
51
|
+
}, "How it works");
|
|
52
|
+
var popoverProps = {
|
|
53
|
+
button: button,
|
|
54
|
+
isOpen: isPopoverOpen,
|
|
55
|
+
closePopover: closePopover
|
|
56
|
+
};
|
|
57
|
+
return (0, _react2.jsx)(_popover.EuiPopover, popoverProps, (0, _react2.jsx)(_text.EuiText, {
|
|
58
|
+
style: {
|
|
59
|
+
width: 300
|
|
60
|
+
}
|
|
61
|
+
}, (0, _react2.jsx)("p", null, "Popover content that\u2019s wider than the default width")));
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
beforeEach(function () {
|
|
65
|
+
cy.mount((0, _react2.jsx)(Popover, null));
|
|
66
|
+
cy.get('div.euiPopover__panel').should('not.exist');
|
|
67
|
+
});
|
|
68
|
+
describe('EuiPopover', function () {
|
|
69
|
+
describe('Automated accessibility check', function () {
|
|
70
|
+
it('has zero violations on render', function () {
|
|
71
|
+
cy.checkAxe();
|
|
72
|
+
});
|
|
73
|
+
it('has zero violations when popover is opened', function () {
|
|
74
|
+
cy.get('button.euiButtonEmpty').click();
|
|
75
|
+
cy.get('div.euiPopover__panel').should('exist');
|
|
76
|
+
cy.checkAxe();
|
|
77
|
+
});
|
|
78
|
+
it('has zero violations when popover is closed', function () {
|
|
79
|
+
cy.get('button.euiButtonEmpty').click();
|
|
80
|
+
cy.get('div.euiPopover__panel').should('exist');
|
|
81
|
+
cy.get('button.euiButtonEmpty').click();
|
|
82
|
+
cy.get('div.euiPopover__panel').should('not.exist');
|
|
83
|
+
cy.checkAxe();
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
});
|
|
@@ -3506,7 +3506,8 @@ var printValue = function printValue(value, options) {
|
|
|
3506
3506
|
return value.toString();
|
|
3507
3507
|
}
|
|
3508
3508
|
|
|
3509
|
-
if (value.length === 0 || value.match(
|
|
3509
|
+
if (value.length === 0 || value.match(/[^\w\-_*:()"/\\]/) || // Escape spaces and special characters not used as syntax identifiers
|
|
3510
|
+
value.toLowerCase() === 'or') {
|
|
3510
3511
|
return "\"".concat(escapePhraseValue(value), "\"");
|
|
3511
3512
|
}
|
|
3512
3513
|
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _tabbed_content = require("./tabbed_content");
|
|
10
|
+
|
|
11
|
+
var _spacer = require("../spacer");
|
|
12
|
+
|
|
13
|
+
var _text = require("../text");
|
|
14
|
+
|
|
15
|
+
var _react2 = require("@emotion/react");
|
|
16
|
+
|
|
17
|
+
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; }
|
|
18
|
+
|
|
19
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
20
|
+
|
|
21
|
+
var tabs = [{
|
|
22
|
+
id: 'cobalt--id',
|
|
23
|
+
name: 'Cobalt',
|
|
24
|
+
content: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_spacer.EuiSpacer, null), (0, _react2.jsx)(_text.EuiText, null, (0, _react2.jsx)("p", null, "Cobalt is a chemical element with symbol Co and atomic number 27. Like nickel, cobalt is found in the Earth\u2019s crust only in chemically combined form, save for small deposits found in alloys of natural meteoric iron. The free element, produced by reductive smelting, is a hard, lustrous, silver-gray metal.")))
|
|
25
|
+
}, {
|
|
26
|
+
id: 'dextrose--id',
|
|
27
|
+
name: 'Dextrose',
|
|
28
|
+
content: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_spacer.EuiSpacer, null), (0, _react2.jsx)(_text.EuiText, null, (0, _react2.jsx)("p", null, "Intravenous sugar solution, also known as dextrose solution, is a mixture of dextrose (glucose) and water. It is used to treat low blood sugar or water loss without electrolyte loss.")))
|
|
29
|
+
}, {
|
|
30
|
+
id: 'hydrogen--id',
|
|
31
|
+
name: 'Hydrogen',
|
|
32
|
+
content: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_spacer.EuiSpacer, null), (0, _react2.jsx)(_text.EuiText, null, (0, _react2.jsx)("p", null, "Hydrogen is a chemical element with symbol H and atomic number 1. With a standard atomic weight of 1.008, hydrogen is the lightest element on the periodic table")))
|
|
33
|
+
}, {
|
|
34
|
+
id: 'monosodium_glutammate--id',
|
|
35
|
+
name: 'Monosodium Glutamate',
|
|
36
|
+
content: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_spacer.EuiSpacer, null), (0, _react2.jsx)(_text.EuiText, null, (0, _react2.jsx)("p", null, "Monosodium glutamate (MSG, also known as sodium glutamate) is the sodium salt of glutamic acid, one of the most abundant naturally occurring non-essential amino acids. Monosodium glutamate is found naturally in tomatoes, cheese and other foods.")))
|
|
37
|
+
}];
|
|
38
|
+
var defaultTabProps = {
|
|
39
|
+
tabs: tabs,
|
|
40
|
+
initialSelectedTab: tabs[0],
|
|
41
|
+
autoFocus: 'selected',
|
|
42
|
+
onTabClick: function onTabClick() {}
|
|
43
|
+
};
|
|
44
|
+
describe('EuiTabs', function () {
|
|
45
|
+
describe('Automated accessibility check', function () {
|
|
46
|
+
it('has zero violations with default props', function () {
|
|
47
|
+
cy.mount((0, _react2.jsx)(_tabbed_content.EuiTabbedContent, defaultTabProps));
|
|
48
|
+
cy.get('div.euiTabs').should('exist');
|
|
49
|
+
cy.checkAxe();
|
|
50
|
+
});
|
|
51
|
+
it('has zero violations with second tab open on render', function () {
|
|
52
|
+
var secondSelectedTab = _objectSpread(_objectSpread({}, defaultTabProps), {}, {
|
|
53
|
+
initialSelectedTab: tabs[1]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
cy.mount((0, _react2.jsx)(_tabbed_content.EuiTabbedContent, secondSelectedTab));
|
|
57
|
+
cy.get('div.euiTabs').should('exist');
|
|
58
|
+
cy.checkAxe();
|
|
59
|
+
});
|
|
60
|
+
it('has zero violations with third tab open on render', function () {
|
|
61
|
+
var thirdSelectedTab = _objectSpread(_objectSpread({}, defaultTabProps), {}, {
|
|
62
|
+
initialSelectedTab: tabs[2]
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
cy.mount((0, _react2.jsx)(_tabbed_content.EuiTabbedContent, thirdSelectedTab));
|
|
66
|
+
cy.get('div.euiTabs').should('exist');
|
|
67
|
+
cy.checkAxe();
|
|
68
|
+
});
|
|
69
|
+
it('has zero violations with last tab open on render', function () {
|
|
70
|
+
var lastSelectedTab = _objectSpread(_objectSpread({}, defaultTabProps), {}, {
|
|
71
|
+
initialSelectedTab: tabs[3]
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
cy.mount((0, _react2.jsx)(_tabbed_content.EuiTabbedContent, lastSelectedTab));
|
|
75
|
+
cy.get('div.euiTabs').should('exist');
|
|
76
|
+
cy.checkAxe();
|
|
77
|
+
});
|
|
78
|
+
it('has zero violations with all tabs disabled except first', function () {
|
|
79
|
+
var disabledTabs = tabs.map(function (tab, i) {
|
|
80
|
+
if (i === 0) {
|
|
81
|
+
return tab;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return _objectSpread(_objectSpread({}, tab), {}, {
|
|
85
|
+
disabled: true
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
var disabledTabProps = _objectSpread(_objectSpread({}, defaultTabProps), {}, {
|
|
90
|
+
tabs: disabledTabs
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
cy.mount((0, _react2.jsx)(_tabbed_content.EuiTabbedContent, disabledTabProps));
|
|
94
|
+
cy.get('div.euiTabs').should('exist');
|
|
95
|
+
cy.checkAxe();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
});
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _tree_view = require("./tree_view");
|
|
8
|
+
|
|
9
|
+
var _react2 = require("@emotion/react");
|
|
10
|
+
|
|
11
|
+
/*
|
|
12
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
13
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
14
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
15
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
16
|
+
* Side Public License, v 1.
|
|
17
|
+
*/
|
|
18
|
+
/// <reference types="../../../cypress/support"/>
|
|
19
|
+
var TreeView = function TreeView() {
|
|
20
|
+
var items = [{
|
|
21
|
+
label: 'Item One',
|
|
22
|
+
id: 'item_one',
|
|
23
|
+
isExpanded: true,
|
|
24
|
+
children: [{
|
|
25
|
+
label: 'Item A',
|
|
26
|
+
id: 'item_a'
|
|
27
|
+
}, {
|
|
28
|
+
label: 'Item B',
|
|
29
|
+
id: 'item_b',
|
|
30
|
+
children: [{
|
|
31
|
+
label: 'A Cloud',
|
|
32
|
+
id: 'item_cloud'
|
|
33
|
+
}, {
|
|
34
|
+
label: "I'm a Bug",
|
|
35
|
+
id: 'item_bug',
|
|
36
|
+
className: 'classForBug'
|
|
37
|
+
}]
|
|
38
|
+
}, {
|
|
39
|
+
label: 'Item C',
|
|
40
|
+
id: 'item_c',
|
|
41
|
+
children: [{
|
|
42
|
+
label: 'Another Cloud',
|
|
43
|
+
id: 'item_cloud2'
|
|
44
|
+
}, {
|
|
45
|
+
label: 'Another Bug',
|
|
46
|
+
id: 'item_bug2'
|
|
47
|
+
}]
|
|
48
|
+
}]
|
|
49
|
+
}, {
|
|
50
|
+
label: 'Item Two',
|
|
51
|
+
id: 'item_two'
|
|
52
|
+
}];
|
|
53
|
+
var defaultTreeViewProps = {
|
|
54
|
+
items: items,
|
|
55
|
+
'aria-label': 'Sample folder tree'
|
|
56
|
+
};
|
|
57
|
+
return (0, _react2.jsx)("div", {
|
|
58
|
+
style: {
|
|
59
|
+
width: '20rem'
|
|
60
|
+
}
|
|
61
|
+
}, (0, _react2.jsx)(_tree_view.EuiTreeView, defaultTreeViewProps));
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
describe('EuiTreeView', function () {
|
|
65
|
+
describe('Automated accessibility check', function () {
|
|
66
|
+
it('has zero violations on first render', function () {
|
|
67
|
+
cy.mount((0, _react2.jsx)(TreeView, null));
|
|
68
|
+
cy.get('div.euiTreeView__wrapper').should('exist');
|
|
69
|
+
cy.checkAxe();
|
|
70
|
+
});
|
|
71
|
+
it('has zero violations with a nested child expanded', function () {
|
|
72
|
+
cy.mount((0, _react2.jsx)(TreeView, null));
|
|
73
|
+
cy.get('div.euiTreeView__wrapper').should('exist');
|
|
74
|
+
cy.get('button#item_b').realClick();
|
|
75
|
+
cy.get('button#item_b').should('have.attr', 'aria-expanded', 'true');
|
|
76
|
+
cy.get('li.euiTreeView__node').contains('A Cloud').should('exist');
|
|
77
|
+
cy.checkAxe();
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
@@ -5,13 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.euiAnimFadeIn = void 0;
|
|
8
|
+
exports.euiAnimSlideInUp = exports.euiAnimFadeIn = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
12
12
|
var _react = require("@emotion/react");
|
|
13
13
|
|
|
14
|
-
var _templateObject;
|
|
14
|
+
var _templateObject, _templateObject2;
|
|
15
15
|
|
|
16
16
|
var euiAnimFadeIn = (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n"])));
|
|
17
|
-
exports.euiAnimFadeIn = euiAnimFadeIn;
|
|
17
|
+
exports.euiAnimFadeIn = euiAnimFadeIn;
|
|
18
|
+
|
|
19
|
+
var euiAnimSlideInUp = function euiAnimSlideInUp(size) {
|
|
20
|
+
return (0, _react.keyframes)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateY(", ");\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n"])), size);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.euiAnimSlideInUp = euiAnimSlideInUp;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import 'modal';
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
.euiModal {
|
|
2
|
-
border: $euiBorderThin;
|
|
3
|
-
// This mixin overwrites some of the border above
|
|
4
|
-
@include euiBottomShadowLarge; // sass-lint:disable-line mixins-before-declarations
|
|
5
|
-
display: flex;
|
|
6
|
-
flex-direction: column;
|
|
7
|
-
max-height: 75vh; // We overflow the modal body based off this
|
|
8
|
-
|
|
9
|
-
// TODO: Consider restoring this once https://bugs.chromium.org/p/chromium/issues/detail?id=1229700 is resolved
|
|
10
|
-
// overflow: hidden; Ensure long, non-breaking text doesn't expand beyond the modal bounds
|
|
11
|
-
|
|
12
|
-
position: relative;
|
|
13
|
-
background-color: $euiColorEmptyShade;
|
|
14
|
-
border-radius: $euiBorderRadius;
|
|
15
|
-
z-index: $euiZModal;
|
|
16
|
-
min-width: $euiFormMaxWidth;
|
|
17
|
-
animation: euiModal $euiAnimSpeedSlow $euiAnimSlightBounce;
|
|
18
|
-
max-width: calc(100vw - #{$euiSize});
|
|
19
|
-
|
|
20
|
-
// Remove the outline from the focusable container
|
|
21
|
-
&:focus {
|
|
22
|
-
outline: none;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.euiModal--maxWidth-default {
|
|
27
|
-
// Sass and CSS's versions of `min` collide here, so we use all uppercase to ensure the CSS version is used
|
|
28
|
-
// https://css-tricks.com/when-sass-and-new-css-features-collide/#the-solution
|
|
29
|
-
// sass-lint:disable-block function-name-format
|
|
30
|
-
max-width: MIN(#{map-get($euiBreakpoints, 'm')}, calc(100vw - #{$euiSize}));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.euiModal--confirmation {
|
|
34
|
-
min-width: $euiFormMaxWidth;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.euiModalHeader {
|
|
38
|
-
display: flex;
|
|
39
|
-
justify-content: space-between;
|
|
40
|
-
align-items: center;
|
|
41
|
-
padding: $euiSizeL $euiSizeXXL $euiSize $euiSizeL;
|
|
42
|
-
flex-grow: 0;
|
|
43
|
-
flex-shrink: 0;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.euiModalHeader__title {
|
|
47
|
-
@include euiTitle('m');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.euiModalBody {
|
|
51
|
-
flex-grow: 1;
|
|
52
|
-
overflow: hidden;
|
|
53
|
-
// The below fixes scroll on Chrome and Safari
|
|
54
|
-
display: flex;
|
|
55
|
-
flex-direction: column;
|
|
56
|
-
|
|
57
|
-
.euiModalBody__overflow {
|
|
58
|
-
@include euiYScrollWithShadows;
|
|
59
|
-
padding: $euiSizeS $euiSizeL;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.euiModalFooter {
|
|
64
|
-
display: flex;
|
|
65
|
-
justify-content: flex-end;
|
|
66
|
-
padding: $euiSize $euiSizeL $euiSizeL;
|
|
67
|
-
flex-grow: 0;
|
|
68
|
-
flex-shrink: 0; // ensure the height of the footer is based off its contents and doesn't squish
|
|
69
|
-
|
|
70
|
-
> * + * {
|
|
71
|
-
margin-left: $euiSize;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// If a body doesn't exist, remove some extra padding from footer
|
|
76
|
-
.euiModalHeader + .euiModalFooter {
|
|
77
|
-
padding-top: $euiSizeS;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// If a footer doesn't exist (body is the last element) add padding to the bottom
|
|
81
|
-
.euiModalBody:last-of-type .euiModalBody__overflow {
|
|
82
|
-
padding-bottom: $euiSizeL;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
// The actual size of the X button in pixels is a bit fuzzy because of all the
|
|
87
|
-
// button padding so there is some pixel pushing here.
|
|
88
|
-
.euiModal__closeIcon {
|
|
89
|
-
background-color: transparentize($euiColorEmptyShade, .1);
|
|
90
|
-
position: absolute;
|
|
91
|
-
right: $euiSizeXS;
|
|
92
|
-
top: $euiSizeXS;
|
|
93
|
-
z-index: 3;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
@keyframes euiModal {
|
|
97
|
-
0% {
|
|
98
|
-
opacity: 0;
|
|
99
|
-
transform: translateY($euiSizeXL);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
100% {
|
|
103
|
-
opacity: 1;
|
|
104
|
-
transform: translateY(0);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// On mobile we fix modals as a takeover.
|
|
109
|
-
@include euiBreakpoint('xs', 's') {
|
|
110
|
-
.euiModal {
|
|
111
|
-
// sass-lint:disable-block no-important
|
|
112
|
-
position: fixed;
|
|
113
|
-
width: 100vw !important;
|
|
114
|
-
max-width: none !important;
|
|
115
|
-
min-width: 0 !important;
|
|
116
|
-
max-height: 100vh;
|
|
117
|
-
left: 0;
|
|
118
|
-
right: 0;
|
|
119
|
-
bottom: 0;
|
|
120
|
-
top: 0;
|
|
121
|
-
border-radius: 0;
|
|
122
|
-
border: none;
|
|
123
|
-
|
|
124
|
-
&.euiModal--confirmation {
|
|
125
|
-
@include euiBottomShadowLarge($reverse: true);
|
|
126
|
-
top: auto;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.euiModalHeader {
|
|
131
|
-
width: 100%;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.euiModalFooter {
|
|
135
|
-
width: 100%;
|
|
136
|
-
background: $euiColorLightestShade;
|
|
137
|
-
padding: $euiSizeM $euiSizeL !important; // sass-lint:disable-line no-important
|
|
138
|
-
justify-content: stretch;
|
|
139
|
-
|
|
140
|
-
> * {
|
|
141
|
-
flex: 1;
|
|
142
|
-
|
|
143
|
-
+ * {
|
|
144
|
-
margin-left: 0;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.euiModalBody {
|
|
150
|
-
width: 100%;
|
|
151
|
-
|
|
152
|
-
.euiModalBody__overflow {
|
|
153
|
-
padding-bottom: $euiSizeL;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|