@elastic/eui 90.0.0 → 91.0.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_charts_theme.js +1 -15
- package/dist/eui_charts_theme.js.map +1 -1
- package/dist/eui_theme_dark.css +112 -80
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +112 -80
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/accordion/accordion.js +13 -2
- package/es/components/accordion/accordion_children/accordion_children.js +4 -3
- package/es/components/breadcrumbs/breadcrumb.js +5 -5
- package/es/components/breadcrumbs/breadcrumbs.js +5 -5
- package/es/components/button/button_display/_button_display.js +1 -1
- package/es/components/button/button_group/button_group.js +8 -10
- package/es/components/button/button_group/button_group_button.js +8 -51
- package/es/components/button/button_group/button_group_button.styles.js +2 -12
- package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
- package/es/components/combo_box/combo_box.js +7 -5
- package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/es/components/combo_box/utils.js +23 -0
- package/es/components/control_bar/control_bar.js +5 -5
- package/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/es/components/datagrid/controls/column_selector.js +5 -6
- package/es/components/datagrid/controls/column_sorting.js +6 -9
- package/es/components/datagrid/controls/display_selector.js +21 -16
- package/es/components/datagrid/data_grid.js +3 -864
- package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
- package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
- package/es/components/facet/facet_button.js +1 -1
- package/es/components/filter_group/filter_group.styles.js +1 -1
- package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
- package/es/components/header/header_links/header_links.js +5 -5
- package/es/components/i18n/i18n.js +1 -0
- package/es/components/page/page_header/page_header_content.js +5 -5
- package/es/components/popover/input_popover.js +1 -1
- package/es/components/popover/popover.js +15 -27
- package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
- package/es/components/popover/popover_panel/_popover_panel.js +2 -6
- package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
- package/es/components/toast/global_toast_list.js +11 -1
- package/es/components/tour/tour_step.js +5 -5
- package/es/global_styling/mixins/_states.js +4 -1
- package/es/services/color/eui_palettes.js +0 -6
- package/es/services/color/index.js +1 -1
- package/es/services/hooks/useCombinedRefs.js +16 -9
- package/es/services/index.js +1 -2
- package/es/test/rtl/component_helpers.d.ts +2 -0
- package/es/test/rtl/component_helpers.js +40 -1
- package/eui.d.ts +96 -82
- package/i18ntokens.json +199 -181
- package/lib/components/accordion/accordion.js +13 -2
- package/lib/components/accordion/accordion_children/accordion_children.js +4 -3
- package/lib/components/breadcrumbs/breadcrumb.js +5 -5
- package/lib/components/button/button_display/_button_display.js +1 -1
- package/lib/components/button/button_group/button_group.js +7 -9
- package/lib/components/button/button_group/button_group_button.js +8 -51
- package/lib/components/button/button_group/button_group_button.styles.js +2 -12
- package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
- package/lib/components/combo_box/combo_box.js +7 -5
- package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/lib/components/combo_box/utils.js +31 -0
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/lib/components/datagrid/controls/column_selector.js +5 -6
- package/lib/components/datagrid/controls/column_sorting.js +5 -8
- package/lib/components/datagrid/controls/display_selector.js +21 -16
- package/lib/components/datagrid/data_grid.js +2 -863
- package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
- package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
- package/lib/components/facet/facet_button.js +1 -1
- package/lib/components/filter_group/filter_group.styles.js +1 -1
- package/lib/components/i18n/i18n.js +1 -0
- package/lib/components/popover/input_popover.js +1 -1
- package/lib/components/popover/popover.js +29 -35
- package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
- package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
- package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
- package/lib/components/toast/global_toast_list.js +11 -1
- package/lib/global_styling/mixins/_states.js +4 -1
- package/lib/services/color/eui_palettes.js +1 -8
- package/lib/services/color/index.js +0 -7
- package/lib/services/hooks/useCombinedRefs.js +19 -10
- package/lib/services/index.js +0 -15
- package/lib/test/rtl/component_helpers.d.ts +2 -0
- package/lib/test/rtl/component_helpers.js +41 -3
- package/optimize/es/components/accordion/accordion.js +5 -2
- package/optimize/es/components/accordion/accordion_children/accordion_children.js +4 -3
- package/optimize/es/components/button/button_group/button_group.js +7 -8
- package/optimize/es/components/button/button_group/button_group_button.js +6 -38
- package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
- package/optimize/es/components/combo_box/combo_box.js +7 -5
- package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/optimize/es/components/combo_box/utils.js +23 -0
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/optimize/es/components/datagrid/controls/column_selector.js +5 -6
- package/optimize/es/components/datagrid/controls/column_sorting.js +6 -9
- package/optimize/es/components/datagrid/controls/display_selector.js +21 -16
- package/optimize/es/components/datagrid/data_grid.js +3 -3
- package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
- package/optimize/es/components/i18n/i18n.js +1 -0
- package/optimize/es/components/popover/input_popover.js +1 -1
- package/optimize/es/components/popover/popover.js +10 -22
- package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
- package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
- package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
- package/optimize/es/components/toast/global_toast_list.js +1 -1
- package/optimize/es/global_styling/mixins/_states.js +4 -1
- package/optimize/es/services/color/eui_palettes.js +0 -6
- package/optimize/es/services/color/index.js +1 -1
- package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
- package/optimize/es/services/index.js +1 -2
- package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
- package/optimize/es/test/rtl/component_helpers.js +40 -1
- package/optimize/lib/components/accordion/accordion.js +5 -2
- package/optimize/lib/components/accordion/accordion_children/accordion_children.js +4 -3
- package/optimize/lib/components/button/button_group/button_group.js +6 -7
- package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
- package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
- package/optimize/lib/components/combo_box/combo_box.js +7 -5
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/optimize/lib/components/combo_box/utils.js +31 -0
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/optimize/lib/components/datagrid/controls/column_selector.js +5 -6
- package/optimize/lib/components/datagrid/controls/column_sorting.js +5 -8
- package/optimize/lib/components/datagrid/controls/display_selector.js +21 -16
- package/optimize/lib/components/datagrid/data_grid.js +2 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
- package/optimize/lib/components/i18n/i18n.js +1 -0
- package/optimize/lib/components/popover/input_popover.js +1 -1
- package/optimize/lib/components/popover/popover.js +24 -35
- package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
- package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
- package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
- package/optimize/lib/components/toast/global_toast_list.js +1 -1
- package/optimize/lib/global_styling/mixins/_states.js +4 -1
- package/optimize/lib/services/color/eui_palettes.js +1 -8
- package/optimize/lib/services/color/index.js +0 -7
- package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
- package/optimize/lib/services/index.js +0 -15
- package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
- package/optimize/lib/test/rtl/component_helpers.js +41 -3
- package/package.json +10 -10
- package/src/components/combo_box/_combo_box.scss +46 -14
- package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
- package/src/components/combo_box/combo_box_input/_index.scss +0 -2
- package/src/components/datagrid/_data_grid_data_row.scss +1 -2
- package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
- package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
- package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
- package/src/global_styling/variables/_typography.scss +2 -2
- package/test-env/components/accordion/accordion.js +13 -2
- package/test-env/components/accordion/accordion_children/accordion_children.js +4 -3
- package/test-env/components/breadcrumbs/breadcrumb.js +5 -5
- package/test-env/components/button/button_display/_button_display.js +1 -1
- package/test-env/components/button/button_group/button_group.js +7 -9
- package/test-env/components/button/button_group/button_group_button.js +8 -51
- package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
- package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
- package/test-env/components/combo_box/combo_box.js +7 -5
- package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/test-env/components/combo_box/utils.js +31 -0
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/test-env/components/datagrid/controls/column_selector.js +5 -6
- package/test-env/components/datagrid/controls/column_sorting.js +5 -8
- package/test-env/components/datagrid/controls/display_selector.js +21 -16
- package/test-env/components/datagrid/data_grid.js +2 -863
- package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
- package/test-env/components/facet/facet_button.js +1 -1
- package/test-env/components/filter_group/filter_group.styles.js +1 -1
- package/test-env/components/i18n/i18n.js +1 -0
- package/test-env/components/popover/input_popover.js +1 -1
- package/test-env/components/popover/popover.js +29 -35
- package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
- package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
- package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
- package/test-env/components/toast/global_toast_list.js +11 -1
- package/test-env/global_styling/mixins/_states.js +4 -1
- package/test-env/services/color/eui_palettes.js +1 -8
- package/test-env/services/color/index.js +0 -7
- package/test-env/services/hooks/useCombinedRefs.js +19 -10
- package/test-env/services/index.js +0 -15
- package/test-env/test/rtl/component_helpers.js +41 -3
- package/es/services/random.js +0 -94
- package/es/services/utils.js +0 -25
- package/es/test/patch_random.js +0 -18
- package/lib/services/random.js +0 -100
- package/lib/services/utils.js +0 -35
- package/lib/test/patch_random.js +0 -25
- package/optimize/es/services/random.js +0 -85
- package/optimize/es/services/utils.js +0 -25
- package/optimize/es/test/patch_random.js +0 -18
- package/optimize/lib/services/random.js +0 -91
- package/optimize/lib/services/utils.js +0 -35
- package/optimize/lib/test/patch_random.js +0 -25
- package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
- package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
- package/test-env/services/random.js +0 -91
- package/test-env/services/utils.js +0 -35
- package/test-env/test/patch_random.js +0 -25
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.EuiAbsoluteTab = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
12
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
@@ -17,9 +18,11 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
17
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
19
|
var _moment = _interopRequireDefault(require("moment"));
|
|
19
20
|
var _datemath = _interopRequireDefault(require("@elastic/datemath"));
|
|
20
|
-
var
|
|
21
|
+
var _services = require("../../../../services");
|
|
21
22
|
var _form = require("../../../form");
|
|
23
|
+
var _code = require("../../../code");
|
|
22
24
|
var _i18n = require("../../../i18n");
|
|
25
|
+
var _date_picker = require("../../date_picker");
|
|
23
26
|
var _react2 = require("@emotion/react");
|
|
24
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); }
|
|
25
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; }
|
|
@@ -31,48 +34,92 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
31
34
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
32
35
|
* Side Public License, v 1.
|
|
33
36
|
*/ // eslint-disable-line import/named
|
|
37
|
+
// Allow users to paste in and have the datepicker parse multiple common date formats,
|
|
38
|
+
// in addition to the configured displayed `dateFormat` prop
|
|
39
|
+
var ALLOWED_USER_DATE_FORMATS = [_moment.default.ISO_8601, _moment.default.RFC_2822, 'X' // Unix timestamp in seconds
|
|
40
|
+
];
|
|
34
41
|
var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
|
|
35
42
|
(0, _inherits2.default)(EuiAbsoluteTab, _Component);
|
|
36
43
|
var _super = _createSuper(EuiAbsoluteTab);
|
|
44
|
+
// Store outside of state as a ref for faster/unbatched updates
|
|
45
|
+
|
|
37
46
|
function EuiAbsoluteTab(props) {
|
|
38
47
|
var _this;
|
|
39
48
|
(0, _classCallCheck2.default)(this, EuiAbsoluteTab);
|
|
40
49
|
_this = _super.call(this, props);
|
|
41
50
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", void 0);
|
|
42
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
51
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isParsing", false);
|
|
52
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleChange", function (date) {
|
|
43
53
|
var onChange = _this.props.onChange;
|
|
44
54
|
if (date === null) {
|
|
45
55
|
return;
|
|
46
56
|
}
|
|
47
|
-
onChange(date.toISOString()
|
|
57
|
+
onChange(date.toISOString());
|
|
48
58
|
var valueAsMoment = (0, _moment.default)(date);
|
|
49
59
|
_this.setState({
|
|
50
60
|
valueAsMoment: valueAsMoment,
|
|
51
61
|
textInputValue: valueAsMoment.format(_this.props.dateFormat),
|
|
62
|
+
hasUnparsedText: false,
|
|
52
63
|
isTextInvalid: false
|
|
53
64
|
});
|
|
54
65
|
});
|
|
55
66
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleTextChange", function (event) {
|
|
56
|
-
|
|
57
|
-
var valueAsMoment = (0, _moment.default)(event.target.value, _this.props.dateFormat, true);
|
|
58
|
-
var dateIsValid = valueAsMoment.isValid();
|
|
59
|
-
if (dateIsValid) {
|
|
60
|
-
onChange(valueAsMoment.toISOString(), event);
|
|
61
|
-
}
|
|
67
|
+
if (_this.isParsing) return;
|
|
62
68
|
_this.setState({
|
|
63
69
|
textInputValue: event.target.value,
|
|
64
|
-
|
|
65
|
-
|
|
70
|
+
hasUnparsedText: true,
|
|
71
|
+
isTextInvalid: false
|
|
66
72
|
});
|
|
67
73
|
});
|
|
74
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "parseUserDateInput", function (textInputValue) {
|
|
75
|
+
_this.isParsing = true;
|
|
76
|
+
// Wait a tick for state to finish updating (whatever gets returned),
|
|
77
|
+
// and then allow `onChange` user input to continue setting state
|
|
78
|
+
requestAnimationFrame(function () {
|
|
79
|
+
_this.isParsing = false;
|
|
80
|
+
});
|
|
81
|
+
var invalidDateState = {
|
|
82
|
+
textInputValue: textInputValue,
|
|
83
|
+
isTextInvalid: true,
|
|
84
|
+
valueAsMoment: null
|
|
85
|
+
};
|
|
86
|
+
if (!textInputValue) {
|
|
87
|
+
return _this.setState(invalidDateState);
|
|
88
|
+
}
|
|
89
|
+
var _this$props = _this.props,
|
|
90
|
+
onChange = _this$props.onChange,
|
|
91
|
+
dateFormat = _this$props.dateFormat;
|
|
92
|
+
|
|
93
|
+
// Attempt to parse with passed `dateFormat`
|
|
94
|
+
var valueAsMoment = (0, _moment.default)(textInputValue, dateFormat, true);
|
|
95
|
+
var dateIsValid = valueAsMoment.isValid();
|
|
96
|
+
|
|
97
|
+
// If not valid, try a few other other standardized formats
|
|
98
|
+
if (!dateIsValid) {
|
|
99
|
+
valueAsMoment = (0, _moment.default)(textInputValue, ALLOWED_USER_DATE_FORMATS, true);
|
|
100
|
+
dateIsValid = valueAsMoment.isValid();
|
|
101
|
+
}
|
|
102
|
+
if (dateIsValid) {
|
|
103
|
+
onChange(valueAsMoment.toISOString());
|
|
104
|
+
_this.setState({
|
|
105
|
+
textInputValue: valueAsMoment.format(_this.props.dateFormat),
|
|
106
|
+
valueAsMoment: valueAsMoment,
|
|
107
|
+
hasUnparsedText: false,
|
|
108
|
+
isTextInvalid: false
|
|
109
|
+
});
|
|
110
|
+
} else {
|
|
111
|
+
_this.setState(invalidDateState);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
68
114
|
var parsedValue = _datemath.default.parse(props.value, {
|
|
69
115
|
roundUp: props.roundUp
|
|
70
116
|
});
|
|
71
117
|
var _valueAsMoment = parsedValue && parsedValue.isValid() ? parsedValue : (0, _moment.default)();
|
|
72
|
-
var
|
|
118
|
+
var _textInputValue = _valueAsMoment.locale(_this.props.locale || 'en').format(_this.props.dateFormat);
|
|
73
119
|
_this.state = {
|
|
120
|
+
hasUnparsedText: false,
|
|
74
121
|
isTextInvalid: false,
|
|
75
|
-
textInputValue:
|
|
122
|
+
textInputValue: _textInputValue,
|
|
76
123
|
valueAsMoment: _valueAsMoment
|
|
77
124
|
};
|
|
78
125
|
return _this;
|
|
@@ -81,17 +128,18 @@ var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
|
|
|
81
128
|
key: "render",
|
|
82
129
|
value: function render() {
|
|
83
130
|
var _this2 = this;
|
|
84
|
-
var _this$
|
|
85
|
-
dateFormat = _this$
|
|
86
|
-
timeFormat = _this$
|
|
87
|
-
locale = _this$
|
|
88
|
-
utcOffset = _this$
|
|
89
|
-
labelPrefix = _this$
|
|
131
|
+
var _this$props2 = this.props,
|
|
132
|
+
dateFormat = _this$props2.dateFormat,
|
|
133
|
+
timeFormat = _this$props2.timeFormat,
|
|
134
|
+
locale = _this$props2.locale,
|
|
135
|
+
utcOffset = _this$props2.utcOffset,
|
|
136
|
+
labelPrefix = _this$props2.labelPrefix;
|
|
90
137
|
var _this$state = this.state,
|
|
91
138
|
valueAsMoment = _this$state.valueAsMoment,
|
|
92
139
|
isTextInvalid = _this$state.isTextInvalid,
|
|
140
|
+
hasUnparsedText = _this$state.hasUnparsedText,
|
|
93
141
|
textInputValue = _this$state.textInputValue;
|
|
94
|
-
return (0, _react2.jsx)(
|
|
142
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_date_picker.EuiDatePicker, {
|
|
95
143
|
inline: true,
|
|
96
144
|
showTimeSelect: true,
|
|
97
145
|
shadow: false,
|
|
@@ -102,22 +150,34 @@ var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
|
|
|
102
150
|
locale: locale,
|
|
103
151
|
utcOffset: utcOffset
|
|
104
152
|
}), (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
105
|
-
|
|
106
|
-
|
|
153
|
+
tokens: ['euiAbsoluteTab.dateFormatHint', 'euiAbsoluteTab.dateFormatError'],
|
|
154
|
+
defaults: ['Press the Enter key to parse as a date.', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.'],
|
|
107
155
|
values: {
|
|
108
|
-
dateFormat: dateFormat
|
|
156
|
+
dateFormat: (0, _react2.jsx)(_code.EuiCode, null, dateFormat)
|
|
109
157
|
}
|
|
110
|
-
}, function (
|
|
158
|
+
}, function (_ref) {
|
|
159
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
160
|
+
dateFormatHint = _ref2[0],
|
|
161
|
+
dateFormatError = _ref2[1];
|
|
111
162
|
return (0, _react2.jsx)(_form.EuiFormRow, {
|
|
112
163
|
className: "euiSuperDatePicker__absoluteDateFormRow",
|
|
113
164
|
isInvalid: isTextInvalid,
|
|
114
|
-
error: isTextInvalid ? dateFormatError : undefined
|
|
165
|
+
error: isTextInvalid ? dateFormatError : undefined,
|
|
166
|
+
helpText: hasUnparsedText ? isTextInvalid ? dateFormatHint : [dateFormatHint, dateFormatError] : undefined
|
|
115
167
|
}, (0, _react2.jsx)(_form.EuiFieldText, {
|
|
116
168
|
compressed: true,
|
|
117
169
|
isInvalid: isTextInvalid,
|
|
118
170
|
value: textInputValue,
|
|
119
171
|
onChange: _this2.handleTextChange,
|
|
120
|
-
|
|
172
|
+
onPaste: function onPaste(event) {
|
|
173
|
+
_this2.parseUserDateInput(event.clipboardData.getData('text'));
|
|
174
|
+
},
|
|
175
|
+
onKeyDown: function onKeyDown(event) {
|
|
176
|
+
if (event.key === _services.keys.ENTER) {
|
|
177
|
+
_this2.parseUserDateInput(textInputValue);
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"data-test-subj": "superDatePickerAbsoluteDateInput",
|
|
121
181
|
prepend: (0, _react2.jsx)(_form.EuiFormLabel, null, labelPrefix)
|
|
122
182
|
}));
|
|
123
183
|
}));
|
package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js
CHANGED
|
@@ -104,7 +104,7 @@ EuiDatePopoverButton.propTypes = {
|
|
|
104
104
|
isOpen: _propTypes.default.bool.isRequired,
|
|
105
105
|
needsUpdating: _propTypes.default.bool,
|
|
106
106
|
locale: _propTypes.default.any,
|
|
107
|
-
onChange: _propTypes.default.
|
|
107
|
+
onChange: _propTypes.default.func.isRequired,
|
|
108
108
|
onPopoverClose: _propTypes.default.any.isRequired,
|
|
109
109
|
onPopoverToggle: _propTypes.default.func.isRequired,
|
|
110
110
|
position: _propTypes.default.oneOf(["start", "end"]).isRequired,
|
|
@@ -89,8 +89,7 @@ var EuiQuickSelectPopover = function EuiQuickSelectPopover(_ref) {
|
|
|
89
89
|
button: quickSelectButton,
|
|
90
90
|
isOpen: isOpen,
|
|
91
91
|
closePopover: closePopover,
|
|
92
|
-
anchorPosition: "downLeft"
|
|
93
|
-
anchorClassName: "euiQuickSelectPopover__anchor"
|
|
92
|
+
anchorPosition: "downLeft"
|
|
94
93
|
}, (0, _react2.jsx)(EuiQuickSelectPanels, (0, _extends2.default)({}, props, {
|
|
95
94
|
applyTime: applyTime,
|
|
96
95
|
prevQuickSelect: prevQuickSelect
|
|
@@ -491,6 +491,7 @@ EuiSuperDatePickerInternal.propTypes = {
|
|
|
491
491
|
customQuickSelectRender: _propTypes.default.func,
|
|
492
492
|
/**
|
|
493
493
|
* Specifies the formatted used when displaying dates and/or datetimes
|
|
494
|
+
* @default 'MMM D, YYYY @ HH:mm:ss.SSS'
|
|
494
495
|
*/
|
|
495
496
|
dateFormat: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string.isRequired]),
|
|
496
497
|
/**
|
|
@@ -507,12 +508,16 @@ EuiSuperDatePickerInternal.propTypes = {
|
|
|
507
508
|
display: _propTypes.default.node.isRequired
|
|
508
509
|
}).isRequired]),
|
|
509
510
|
isLoading: _propTypes.default.bool,
|
|
511
|
+
/**
|
|
512
|
+
* @default true
|
|
513
|
+
*/
|
|
510
514
|
isPaused: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.bool.isRequired]),
|
|
511
515
|
/**
|
|
512
516
|
* Sets the overall width by adding sensible min and max widths.
|
|
513
517
|
* - `auto`: fits width to internal content / time string.
|
|
514
518
|
* - `restricted`: static width that fits the longest possible time string.
|
|
515
519
|
* - `full`: expands to 100% of the container.
|
|
520
|
+
* @default 'restricted'
|
|
516
521
|
*/
|
|
517
522
|
width: _propTypes.default.oneOf(["restricted", "full", "auto"]),
|
|
518
523
|
/**
|
|
@@ -554,17 +559,20 @@ EuiSuperDatePickerInternal.propTypes = {
|
|
|
554
559
|
}).isRequired).isRequired]),
|
|
555
560
|
/**
|
|
556
561
|
* Refresh interval in milliseconds
|
|
562
|
+
* @default 1000
|
|
557
563
|
*/
|
|
558
564
|
refreshInterval: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.number.isRequired]),
|
|
559
565
|
start: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]), _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]).isRequired]),
|
|
560
566
|
end: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]), _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]).isRequired]),
|
|
561
567
|
/**
|
|
562
568
|
* Specifies the formatted used when displaying times
|
|
569
|
+
* @default 'HH:mm'
|
|
563
570
|
*/
|
|
564
571
|
timeFormat: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string.isRequired]),
|
|
565
572
|
utcOffset: _propTypes.default.number,
|
|
566
573
|
/**
|
|
567
574
|
* Set showUpdateButton to false to immediately invoke onTimeChange for all start and end changes.
|
|
575
|
+
* @default true
|
|
568
576
|
*/
|
|
569
577
|
showUpdateButton: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.oneOf(["iconOnly"])]),
|
|
570
578
|
/**
|
|
@@ -701,6 +709,7 @@ EuiSuperDatePicker.propTypes = {
|
|
|
701
709
|
customQuickSelectRender: _propTypes.default.func,
|
|
702
710
|
/**
|
|
703
711
|
* Specifies the formatted used when displaying dates and/or datetimes
|
|
712
|
+
* @default 'MMM D, YYYY @ HH:mm:ss.SSS'
|
|
704
713
|
*/
|
|
705
714
|
dateFormat: _propTypes.default.string,
|
|
706
715
|
/**
|
|
@@ -717,12 +726,16 @@ EuiSuperDatePicker.propTypes = {
|
|
|
717
726
|
display: _propTypes.default.node.isRequired
|
|
718
727
|
}).isRequired]),
|
|
719
728
|
isLoading: _propTypes.default.bool,
|
|
729
|
+
/**
|
|
730
|
+
* @default true
|
|
731
|
+
*/
|
|
720
732
|
isPaused: _propTypes.default.bool,
|
|
721
733
|
/**
|
|
722
734
|
* Sets the overall width by adding sensible min and max widths.
|
|
723
735
|
* - `auto`: fits width to internal content / time string.
|
|
724
736
|
* - `restricted`: static width that fits the longest possible time string.
|
|
725
737
|
* - `full`: expands to 100% of the container.
|
|
738
|
+
* @default 'restricted'
|
|
726
739
|
*/
|
|
727
740
|
width: _propTypes.default.oneOf(["restricted", "full", "auto"]),
|
|
728
741
|
/**
|
|
@@ -760,17 +773,23 @@ EuiSuperDatePicker.propTypes = {
|
|
|
760
773
|
}).isRequired),
|
|
761
774
|
/**
|
|
762
775
|
* Refresh interval in milliseconds
|
|
776
|
+
* @default 1000
|
|
763
777
|
*/
|
|
764
778
|
refreshInterval: _propTypes.default.number,
|
|
779
|
+
/**
|
|
780
|
+
* @default 'now'
|
|
781
|
+
*/
|
|
765
782
|
start: _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]),
|
|
766
783
|
end: _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]),
|
|
767
784
|
/**
|
|
768
785
|
* Specifies the formatted used when displaying times
|
|
786
|
+
* @default 'HH:mm'
|
|
769
787
|
*/
|
|
770
788
|
timeFormat: _propTypes.default.string,
|
|
771
789
|
utcOffset: _propTypes.default.number,
|
|
772
790
|
/**
|
|
773
791
|
* Set showUpdateButton to false to immediately invoke onTimeChange for all start and end changes.
|
|
792
|
+
* @default true
|
|
774
793
|
*/
|
|
775
794
|
showUpdateButton: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.oneOf(["iconOnly"])]),
|
|
776
795
|
/**
|
|
@@ -128,7 +128,7 @@ EuiFacetButton.propTypes = {
|
|
|
128
128
|
* Adds a notification indicator for displaying the quantity provided
|
|
129
129
|
*/
|
|
130
130
|
quantity: _propTypes.default.number,
|
|
131
|
-
element: _propTypes.default.oneOf(["a", "button", "span"
|
|
131
|
+
element: _propTypes.default.oneOf(["a", "button", "span"]),
|
|
132
132
|
size: _propTypes.default.any,
|
|
133
133
|
/**
|
|
134
134
|
* Extends the button to 100% width
|
|
@@ -32,7 +32,7 @@ var euiFilterGroupStyles = function euiFilterGroupStyles(euiThemeContext) {
|
|
|
32
32
|
controlCompressedBorderRadius = _euiFormVariables.controlCompressedBorderRadius,
|
|
33
33
|
controlCompressedHeight = _euiFormVariables.controlCompressedHeight;
|
|
34
34
|
return {
|
|
35
|
-
euiFilterGroup: /*#__PURE__*/(0, _react.css)("display:inline-flex;", (0, _global_styling.logicalCSS)('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", (0, _filter_button.euiFilterButtonDisplay)(euiThemeContext), ";}.
|
|
35
|
+
euiFilterGroup: /*#__PURE__*/(0, _react.css)("display:inline-flex;", (0, _global_styling.logicalCSS)('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", (0, _filter_button.euiFilterButtonDisplay)(euiThemeContext), ";}.euiPopover>.euiFilterButton{", (0, _global_styling.logicalCSS)('width', '100%'), ";}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{flex-wrap:wrap;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs']), "{display:flex;.euiFilterButton{flex-grow:1;}};label:euiFilterGroup;"),
|
|
36
36
|
fullWidth: _ref,
|
|
37
37
|
uncompressed: /*#__PURE__*/(0, _react.css)("border-radius:", controlBorderRadius, ";", buttonChildrenBorderRadii(controlBorderRadius), ";;label:uncompressed;"),
|
|
38
38
|
compressed: /*#__PURE__*/(0, _react.css)("border-radius:", controlCompressedBorderRadius, ";", buttonChildrenBorderRadii(controlCompressedBorderRadius), " .euiFilterButton{", (0, _global_styling.logicalCSS)('height', controlCompressedHeight), ";};label:compressed;"),
|
|
@@ -179,7 +179,7 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
179
179
|
css: /*#__PURE__*/(0, _react2.css)(fullWidth ? undefined : (0, _global_styling.logicalCSS)('max-width', form.maxWidth), ";label:EuiInputPopover;"),
|
|
180
180
|
display: display,
|
|
181
181
|
button: input,
|
|
182
|
-
|
|
182
|
+
popoverRef: inputRef,
|
|
183
183
|
panelRef: panelRef,
|
|
184
184
|
ref: popoverClassRef,
|
|
185
185
|
closePopover: closePopover,
|
|
@@ -9,7 +9,6 @@ exports.EuiPopover = void 0;
|
|
|
9
9
|
exports.getPopoverAlignFromAnchorPosition = getPopoverAlignFromAnchorPosition;
|
|
10
10
|
exports.getPopoverPositionFromAnchorPosition = getPopoverPositionFromAnchorPosition;
|
|
11
11
|
exports.popoverAnchorPosition = void 0;
|
|
12
|
-
var _react = require("@emotion/react");
|
|
13
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
14
13
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
14
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
@@ -22,11 +21,12 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
22
21
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
22
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
24
23
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
var
|
|
24
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
26
25
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
26
|
var _tabbable = require("tabbable");
|
|
28
27
|
var _focus_trap = require("../focus_trap");
|
|
29
28
|
var _services = require("../../services");
|
|
29
|
+
var _useCombinedRefs = require("../../services/hooks/useCombinedRefs");
|
|
30
30
|
var _accessibility = require("../accessibility");
|
|
31
31
|
var _portal = require("../portal");
|
|
32
32
|
var _mutation_observer = require("../observer/mutation_observer");
|
|
@@ -36,6 +36,7 @@ var _outside_click_detector = require("../outside_click_detector");
|
|
|
36
36
|
var _popover_arrow = require("./popover_arrow");
|
|
37
37
|
var _popover2 = require("./popover.styles");
|
|
38
38
|
var _popover_panel = require("./popover_panel");
|
|
39
|
+
var _react2 = require("@emotion/react");
|
|
39
40
|
var _excluded = ["anchorClassName", "anchorPosition", "button", "buttonRef", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "repositionToCrossAxis", "hasDragDrop", "zIndex", "attachToAnchor", "display", "offset", "onPositionChange", "buffer", "aria-label", "aria-labelledby", "container", "focusTrapProps", "initialFocus", "tabIndex"];
|
|
40
41
|
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); }
|
|
41
42
|
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; }
|
|
@@ -268,9 +269,9 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
268
269
|
window.addEventListener('resize', _this.positionPopoverFluid);
|
|
269
270
|
}
|
|
270
271
|
});
|
|
271
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
272
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "popoverRef", function (node) {
|
|
272
273
|
_this.button = node;
|
|
273
|
-
_this.props.
|
|
274
|
+
(0, _useCombinedRefs.setMultipleRefs)([_this.props.popoverRef, _this.props.buttonRef], node);
|
|
274
275
|
});
|
|
275
276
|
_this.state = {
|
|
276
277
|
prevProps: {
|
|
@@ -389,12 +390,12 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
389
390
|
var tabIndexProp = (_panelProps$tabIndex = panelProps === null || panelProps === void 0 ? void 0 : panelProps.tabIndex) !== null && _panelProps$tabIndex !== void 0 ? _panelProps$tabIndex : _tabIndexProp;
|
|
390
391
|
var styles = (0, _popover2.euiPopoverStyles)();
|
|
391
392
|
var popoverStyles = [styles.euiPopover, {
|
|
392
|
-
display: display
|
|
393
|
+
display: display,
|
|
394
|
+
label: display
|
|
393
395
|
}];
|
|
394
396
|
var classes = (0, _classnames.default)('euiPopover', {
|
|
395
397
|
'euiPopover-isOpen': this.state.isOpening
|
|
396
|
-
}, className);
|
|
397
|
-
var anchorClasses = (0, _classnames.default)('euiPopover__anchor', anchorClassName);
|
|
398
|
+
}, className, anchorClassName);
|
|
398
399
|
var showArrow = hasArrow && !attachToAnchor;
|
|
399
400
|
var panel;
|
|
400
401
|
if (!this.state.suppressingPopover && (isOpen || this.state.isClosing)) {
|
|
@@ -418,17 +419,17 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
418
419
|
var focusTrapScreenReaderText;
|
|
419
420
|
if (ownFocus || popoverScreenReaderText) {
|
|
420
421
|
ariaDescribedby = this.descriptionId;
|
|
421
|
-
focusTrapScreenReaderText = (0,
|
|
422
|
+
focusTrapScreenReaderText = (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
|
|
422
423
|
id: this.descriptionId
|
|
423
|
-
}, ownFocus && (0,
|
|
424
|
+
}, ownFocus && (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
424
425
|
token: "euiPopover.screenReaderAnnouncement",
|
|
425
426
|
default: "You are in a dialog. Press Escape, or tap/click outside the dialog to close."
|
|
426
427
|
}), popoverScreenReaderText));
|
|
427
428
|
}
|
|
428
429
|
var returnFocus = this.state.isOpenStable ? returnFocusConfig : false;
|
|
429
|
-
panel = (0,
|
|
430
|
+
panel = (0, _react2.jsx)(_portal.EuiPortal, {
|
|
430
431
|
insert: insert
|
|
431
|
-
}, (0,
|
|
432
|
+
}, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, (0, _extends2.default)({
|
|
432
433
|
clickOutsideDisables: true,
|
|
433
434
|
onClickOutside: this.onClickOutside,
|
|
434
435
|
returnFocus: returnFocus // Ignore temporary state of indecisive focus
|
|
@@ -436,7 +437,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
436
437
|
initialFocus: initialFocus,
|
|
437
438
|
onEscapeKey: this.onEscapeKey,
|
|
438
439
|
disabled: !ownFocus || !this.state.isOpenStable || this.state.isClosing
|
|
439
|
-
}, focusTrapProps), (0,
|
|
440
|
+
}, focusTrapProps), (0, _react2.jsx)(_popover_panel.EuiPopoverPanel, (0, _extends2.default)({}, panelProps, {
|
|
440
441
|
panelRef: this.panelRef,
|
|
441
442
|
isOpen: this.state.isOpening,
|
|
442
443
|
position: this.state.arrowPosition,
|
|
@@ -456,10 +457,10 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
456
457
|
// Adding `will-change` to reduce risk of a blurry animation in Chrome 86+
|
|
457
458
|
willChange: !this.state.isOpenStable ? 'transform, opacity' : undefined
|
|
458
459
|
})
|
|
459
|
-
}), showArrow && this.state.arrowPosition && (0,
|
|
460
|
+
}), showArrow && this.state.arrowPosition && (0, _react2.jsx)(_popover_arrow.EuiPopoverArrow, {
|
|
460
461
|
position: this.state.arrowPosition,
|
|
461
462
|
style: this.state.arrowStyles
|
|
462
|
-
}, arrowChildren), focusTrapScreenReaderText, (0,
|
|
463
|
+
}, arrowChildren), focusTrapScreenReaderText, (0, _react2.jsx)(_mutation_observer.EuiMutationObserver, {
|
|
463
464
|
observerOptions: {
|
|
464
465
|
attributes: true,
|
|
465
466
|
// element attribute changes
|
|
@@ -472,7 +473,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
472
473
|
|
|
473
474
|
onMutation: this.onMutation
|
|
474
475
|
}, function (mutationRef) {
|
|
475
|
-
return (0,
|
|
476
|
+
return (0, _react2.jsx)("div", {
|
|
476
477
|
ref: mutationRef
|
|
477
478
|
}, children);
|
|
478
479
|
}))));
|
|
@@ -481,32 +482,20 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
481
482
|
// react-focus-on and related do not register outside click detection
|
|
482
483
|
// when disabled, so we still need to conditionally check for that ourselves
|
|
483
484
|
if (ownFocus) {
|
|
484
|
-
return (0,
|
|
485
|
+
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
485
486
|
css: popoverStyles,
|
|
486
487
|
className: classes,
|
|
487
|
-
ref: popoverRef
|
|
488
|
-
}, rest),
|
|
489
|
-
css: /*#__PURE__*/(0, _react.css)({
|
|
490
|
-
display: display
|
|
491
|
-
}, ";label:render;"),
|
|
492
|
-
className: anchorClasses,
|
|
493
|
-
ref: this.buttonRef
|
|
494
|
-
}, button instanceof HTMLElement ? null : button), panel);
|
|
488
|
+
ref: this.popoverRef
|
|
489
|
+
}, rest), button instanceof HTMLElement ? null : button, panel);
|
|
495
490
|
} else {
|
|
496
|
-
return (0,
|
|
491
|
+
return (0, _react2.jsx)(_outside_click_detector.EuiOutsideClickDetector, {
|
|
497
492
|
onOutsideClick: this.closePopover
|
|
498
|
-
}, (0,
|
|
493
|
+
}, (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
499
494
|
css: popoverStyles,
|
|
500
495
|
className: classes,
|
|
501
|
-
ref: popoverRef,
|
|
496
|
+
ref: this.popoverRef,
|
|
502
497
|
onKeyDown: this.onKeyDown
|
|
503
|
-
}, rest),
|
|
504
|
-
css: /*#__PURE__*/(0, _react.css)({
|
|
505
|
-
display: display
|
|
506
|
-
}, ";label:render;"),
|
|
507
|
-
className: anchorClasses,
|
|
508
|
-
ref: this.buttonRef
|
|
509
|
-
}, button instanceof HTMLElement ? null : button), panel));
|
|
498
|
+
}, rest), button instanceof HTMLElement ? null : button, panel));
|
|
510
499
|
}
|
|
511
500
|
}
|
|
512
501
|
}], [{
|
|
@@ -532,7 +521,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
532
521
|
}
|
|
533
522
|
}]);
|
|
534
523
|
return EuiPopover;
|
|
535
|
-
}(
|
|
524
|
+
}(_react.Component);
|
|
536
525
|
exports.EuiPopover = EuiPopover;
|
|
537
526
|
(0, _defineProperty2.default)(EuiPopover, "defaultProps", {
|
|
538
527
|
isOpen: false,
|
|
@@ -546,6 +535,8 @@ exports.EuiPopover = EuiPopover;
|
|
|
546
535
|
EuiPopover.propTypes = {
|
|
547
536
|
/**
|
|
548
537
|
* Class name passed to the direct parent of the button
|
|
538
|
+
*
|
|
539
|
+
* @deprecated Use `className` instead
|
|
549
540
|
*/
|
|
550
541
|
anchorClassName: _propTypes.default.string,
|
|
551
542
|
/**
|
|
@@ -561,6 +552,9 @@ EuiPopover.propTypes = {
|
|
|
561
552
|
* Triggering element for which to align the popover to
|
|
562
553
|
*/
|
|
563
554
|
button: _propTypes.default.any.isRequired,
|
|
555
|
+
/**
|
|
556
|
+
* @deprecated Use `popoverRef` instead
|
|
557
|
+
*/
|
|
564
558
|
buttonRef: _propTypes.default.any,
|
|
565
559
|
/**
|
|
566
560
|
* Callback to handle hiding of the popover
|
|
@@ -18,9 +18,7 @@ var popoverArrowSize = 'm';
|
|
|
18
18
|
exports.popoverArrowSize = popoverArrowSize;
|
|
19
19
|
var euiPopoverArrowStyles = function euiPopoverArrowStyles(euiThemeContext) {
|
|
20
20
|
var euiTheme = euiThemeContext.euiTheme;
|
|
21
|
-
|
|
22
|
-
// Match the background color of panels
|
|
23
|
-
var borderColor = (0, _global_styling.euiBackgroundColor)(euiThemeContext, 'plain');
|
|
21
|
+
var borderColor = 'var(--euiPopoverBackgroundColor)';
|
|
24
22
|
var arrowSize = euiTheme.size[popoverArrowSize];
|
|
25
23
|
return {
|
|
26
24
|
// Base
|
|
@@ -46,7 +46,8 @@ var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
|
|
|
46
46
|
var euiThemeContext = (0, _services.useEuiTheme)();
|
|
47
47
|
var cssStyles = (0, _react.useMemo)(function () {
|
|
48
48
|
var styles = (0, _popover_panel.euiPopoverPanelStyles)(euiThemeContext);
|
|
49
|
-
var
|
|
49
|
+
var colorMode = euiThemeContext.colorMode.toLowerCase();
|
|
50
|
+
var sharedStyles = [styles.euiPopover__panel, styles[colorMode], isOpen && styles.isOpen];
|
|
50
51
|
if (hasDragDrop) {
|
|
51
52
|
return [].concat(sharedStyles, [styles.hasDragDrop.hasDragDrop, position && styles.hasDragDrop[position]]);
|
|
52
53
|
}
|
|
@@ -7,6 +7,7 @@ exports.openAnimationTiming = exports.euiPopoverPanelStyles = void 0;
|
|
|
7
7
|
var _react = require("@emotion/react");
|
|
8
8
|
var _mixins = require("../../../themes/amsterdam/global_styling/mixins");
|
|
9
9
|
var _functions = require("../../../themes/amsterdam/global_styling/functions");
|
|
10
|
+
var _services = require("../../../services");
|
|
10
11
|
var _global_styling = require("../../../global_styling");
|
|
11
12
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
|
|
12
13
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -21,6 +22,7 @@ var openAnimationTiming = 'slow';
|
|
|
21
22
|
* 1. Can expand further, but it looks weird if it's smaller than the originating button.
|
|
22
23
|
* 2. Animation happens on the panel. But don't animate position when using the attached mode like for inputs
|
|
23
24
|
* 3. Make sure the panel stays within the window.
|
|
25
|
+
* 4. Make the popover lighter on dark mode (too hard to distinguish from plain bgs otherwise), and set a CSS var for the arrow to use
|
|
24
26
|
*/
|
|
25
27
|
exports.openAnimationTiming = openAnimationTiming;
|
|
26
28
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
@@ -42,8 +44,11 @@ var euiPopoverPanelStyles = function euiPopoverPanelStyles(euiThemeContext) {
|
|
|
42
44
|
}));
|
|
43
45
|
return {
|
|
44
46
|
// Base
|
|
45
|
-
euiPopover__panel: /*#__PURE__*/(0, _react.css)("position:absolute;", (0, _global_styling.logicalCSS)('min-width', "".concat(euiTheme.base * 7, "px")), (0, _global_styling.logicalCSS)('max-width', "calc(100vw - ".concat(euiTheme.size.xl, ")")), "backface-visibility:hidden;pointer-events:none;opacity:0;", _global_styling.euiCanAnimate, "{transition:", opacityTransition, ",", transformTransition, ";}&:focus{outline-offset:0;};label:euiPopover__panel;"),
|
|
47
|
+
euiPopover__panel: /*#__PURE__*/(0, _react.css)("position:absolute;", (0, _global_styling.logicalCSS)('min-width', "".concat(euiTheme.base * 7, "px")), (0, _global_styling.logicalCSS)('max-width', "calc(100vw - ".concat(euiTheme.size.xl, ")")), "backface-visibility:hidden;pointer-events:none;opacity:0;background-color:var(--euiPopoverBackgroundColor);", _global_styling.euiCanAnimate, "{transition:", opacityTransition, ",", transformTransition, ";}&:focus{outline-offset:0;};label:euiPopover__panel;"),
|
|
46
48
|
isOpen: _ref,
|
|
49
|
+
/* 4 */
|
|
50
|
+
light: /*#__PURE__*/(0, _react.css)("--euiPopoverBackgroundColor:", euiTheme.colors.emptyShade, ";;label:light;"),
|
|
51
|
+
dark: /*#__PURE__*/(0, _react.css)("--euiPopoverBackgroundColor:", (0, _services.tint)(euiTheme.colors.emptyShade, 0.025), ";;label:dark;"),
|
|
47
52
|
// Regular popover with an arrow, a transform animation/transition, and a
|
|
48
53
|
// drop shadow via `filter` (which automatically handles the arrow)
|
|
49
54
|
hasTransform: {
|
|
@@ -77,9 +77,11 @@ var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewide(_ref)
|
|
|
77
77
|
setPopoverIsOpen(false);
|
|
78
78
|
_closePopover && _closePopover();
|
|
79
79
|
};
|
|
80
|
-
var togglePopover = function
|
|
81
|
-
setPopoverIsOpen(
|
|
82
|
-
|
|
80
|
+
var togglePopover = (0, _react.useCallback)(function () {
|
|
81
|
+
setPopoverIsOpen(function (isOpen) {
|
|
82
|
+
return !isOpen;
|
|
83
|
+
});
|
|
84
|
+
}, []);
|
|
83
85
|
|
|
84
86
|
// Width applied to the internal div
|
|
85
87
|
var popoverWidth = width || 600;
|
|
@@ -154,16 +156,16 @@ var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewide(_ref)
|
|
|
154
156
|
if (!currentBreakpoint) return false;
|
|
155
157
|
return popoverButtonBreakpoints.includes(currentBreakpoint);
|
|
156
158
|
}, [currentBreakpoint, popoverButtonBreakpoints]);
|
|
157
|
-
var popoverTrigger
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
var popoverTrigger = (0, _react.useMemo)(function () {
|
|
160
|
+
if (!popoverButton || !canShowPopoverButton) return;
|
|
161
|
+
return (0, _react2.jsx)("span", {
|
|
162
|
+
className: "euiSelectableTemplateSitewide__popoverTrigger",
|
|
160
163
|
onClick: togglePopover,
|
|
161
164
|
onKeyDown: function onKeyDown(e) {
|
|
162
|
-
|
|
163
|
-
e.stopPropagation();
|
|
165
|
+
return e.stopPropagation();
|
|
164
166
|
}
|
|
165
|
-
})
|
|
166
|
-
}
|
|
167
|
+
}, popoverButton);
|
|
168
|
+
}, [popoverButton, canShowPopoverButton, togglePopover]);
|
|
167
169
|
return (0, _react2.jsx)(_selectable.EuiSelectable, (0, _extends2.default)({
|
|
168
170
|
isLoading: isLoading,
|
|
169
171
|
options: formattedOptions,
|