@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
|
@@ -8,14 +8,22 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _moment = _interopRequireDefault(require("moment"));
|
|
10
10
|
var _datemath = _interopRequireDefault(require("@elastic/datemath"));
|
|
11
|
-
var
|
|
11
|
+
var _services = require("../../../../services");
|
|
12
12
|
var _form = require("../../../form");
|
|
13
|
+
var _code = require("../../../code");
|
|
13
14
|
var _i18n = require("../../../i18n");
|
|
15
|
+
var _date_picker = require("../../date_picker");
|
|
14
16
|
var _react2 = require("@emotion/react");
|
|
15
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
18
|
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); }
|
|
17
19
|
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; }
|
|
18
20
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
21
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
22
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
23
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
24
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
25
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
19
27
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
20
28
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
21
29
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
@@ -35,48 +43,92 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
35
43
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
36
44
|
* Side Public License, v 1.
|
|
37
45
|
*/ // eslint-disable-line import/named
|
|
46
|
+
// Allow users to paste in and have the datepicker parse multiple common date formats,
|
|
47
|
+
// in addition to the configured displayed `dateFormat` prop
|
|
48
|
+
var ALLOWED_USER_DATE_FORMATS = [_moment.default.ISO_8601, _moment.default.RFC_2822, 'X' // Unix timestamp in seconds
|
|
49
|
+
];
|
|
38
50
|
var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
|
|
39
51
|
_inherits(EuiAbsoluteTab, _Component);
|
|
40
52
|
var _super = _createSuper(EuiAbsoluteTab);
|
|
53
|
+
// Store outside of state as a ref for faster/unbatched updates
|
|
54
|
+
|
|
41
55
|
function EuiAbsoluteTab(props) {
|
|
42
56
|
var _this;
|
|
43
57
|
_classCallCheck(this, EuiAbsoluteTab);
|
|
44
58
|
_this = _super.call(this, props);
|
|
45
59
|
_defineProperty(_assertThisInitialized(_this), "state", void 0);
|
|
46
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
60
|
+
_defineProperty(_assertThisInitialized(_this), "isParsing", false);
|
|
61
|
+
_defineProperty(_assertThisInitialized(_this), "handleChange", function (date) {
|
|
47
62
|
var onChange = _this.props.onChange;
|
|
48
63
|
if (date === null) {
|
|
49
64
|
return;
|
|
50
65
|
}
|
|
51
|
-
onChange(date.toISOString()
|
|
66
|
+
onChange(date.toISOString());
|
|
52
67
|
var valueAsMoment = (0, _moment.default)(date);
|
|
53
68
|
_this.setState({
|
|
54
69
|
valueAsMoment: valueAsMoment,
|
|
55
70
|
textInputValue: valueAsMoment.format(_this.props.dateFormat),
|
|
71
|
+
hasUnparsedText: false,
|
|
56
72
|
isTextInvalid: false
|
|
57
73
|
});
|
|
58
74
|
});
|
|
59
75
|
_defineProperty(_assertThisInitialized(_this), "handleTextChange", function (event) {
|
|
60
|
-
|
|
61
|
-
var valueAsMoment = (0, _moment.default)(event.target.value, _this.props.dateFormat, true);
|
|
62
|
-
var dateIsValid = valueAsMoment.isValid();
|
|
63
|
-
if (dateIsValid) {
|
|
64
|
-
onChange(valueAsMoment.toISOString(), event);
|
|
65
|
-
}
|
|
76
|
+
if (_this.isParsing) return;
|
|
66
77
|
_this.setState({
|
|
67
78
|
textInputValue: event.target.value,
|
|
68
|
-
|
|
69
|
-
|
|
79
|
+
hasUnparsedText: true,
|
|
80
|
+
isTextInvalid: false
|
|
70
81
|
});
|
|
71
82
|
});
|
|
83
|
+
_defineProperty(_assertThisInitialized(_this), "parseUserDateInput", function (textInputValue) {
|
|
84
|
+
_this.isParsing = true;
|
|
85
|
+
// Wait a tick for state to finish updating (whatever gets returned),
|
|
86
|
+
// and then allow `onChange` user input to continue setting state
|
|
87
|
+
requestAnimationFrame(function () {
|
|
88
|
+
_this.isParsing = false;
|
|
89
|
+
});
|
|
90
|
+
var invalidDateState = {
|
|
91
|
+
textInputValue: textInputValue,
|
|
92
|
+
isTextInvalid: true,
|
|
93
|
+
valueAsMoment: null
|
|
94
|
+
};
|
|
95
|
+
if (!textInputValue) {
|
|
96
|
+
return _this.setState(invalidDateState);
|
|
97
|
+
}
|
|
98
|
+
var _this$props = _this.props,
|
|
99
|
+
onChange = _this$props.onChange,
|
|
100
|
+
dateFormat = _this$props.dateFormat;
|
|
101
|
+
|
|
102
|
+
// Attempt to parse with passed `dateFormat`
|
|
103
|
+
var valueAsMoment = (0, _moment.default)(textInputValue, dateFormat, true);
|
|
104
|
+
var dateIsValid = valueAsMoment.isValid();
|
|
105
|
+
|
|
106
|
+
// If not valid, try a few other other standardized formats
|
|
107
|
+
if (!dateIsValid) {
|
|
108
|
+
valueAsMoment = (0, _moment.default)(textInputValue, ALLOWED_USER_DATE_FORMATS, true);
|
|
109
|
+
dateIsValid = valueAsMoment.isValid();
|
|
110
|
+
}
|
|
111
|
+
if (dateIsValid) {
|
|
112
|
+
onChange(valueAsMoment.toISOString());
|
|
113
|
+
_this.setState({
|
|
114
|
+
textInputValue: valueAsMoment.format(_this.props.dateFormat),
|
|
115
|
+
valueAsMoment: valueAsMoment,
|
|
116
|
+
hasUnparsedText: false,
|
|
117
|
+
isTextInvalid: false
|
|
118
|
+
});
|
|
119
|
+
} else {
|
|
120
|
+
_this.setState(invalidDateState);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
72
123
|
var parsedValue = _datemath.default.parse(props.value, {
|
|
73
124
|
roundUp: props.roundUp
|
|
74
125
|
});
|
|
75
126
|
var _valueAsMoment = parsedValue && parsedValue.isValid() ? parsedValue : (0, _moment.default)();
|
|
76
|
-
var
|
|
127
|
+
var _textInputValue = _valueAsMoment.locale(_this.props.locale || 'en').format(_this.props.dateFormat);
|
|
77
128
|
_this.state = {
|
|
129
|
+
hasUnparsedText: false,
|
|
78
130
|
isTextInvalid: false,
|
|
79
|
-
textInputValue:
|
|
131
|
+
textInputValue: _textInputValue,
|
|
80
132
|
valueAsMoment: _valueAsMoment
|
|
81
133
|
};
|
|
82
134
|
return _this;
|
|
@@ -85,17 +137,18 @@ var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
|
|
|
85
137
|
key: "render",
|
|
86
138
|
value: function render() {
|
|
87
139
|
var _this2 = this;
|
|
88
|
-
var _this$
|
|
89
|
-
dateFormat = _this$
|
|
90
|
-
timeFormat = _this$
|
|
91
|
-
locale = _this$
|
|
92
|
-
utcOffset = _this$
|
|
93
|
-
labelPrefix = _this$
|
|
140
|
+
var _this$props2 = this.props,
|
|
141
|
+
dateFormat = _this$props2.dateFormat,
|
|
142
|
+
timeFormat = _this$props2.timeFormat,
|
|
143
|
+
locale = _this$props2.locale,
|
|
144
|
+
utcOffset = _this$props2.utcOffset,
|
|
145
|
+
labelPrefix = _this$props2.labelPrefix;
|
|
94
146
|
var _this$state = this.state,
|
|
95
147
|
valueAsMoment = _this$state.valueAsMoment,
|
|
96
148
|
isTextInvalid = _this$state.isTextInvalid,
|
|
149
|
+
hasUnparsedText = _this$state.hasUnparsedText,
|
|
97
150
|
textInputValue = _this$state.textInputValue;
|
|
98
|
-
return (0, _react2.jsx)(
|
|
151
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_date_picker.EuiDatePicker, {
|
|
99
152
|
inline: true,
|
|
100
153
|
showTimeSelect: true,
|
|
101
154
|
shadow: false,
|
|
@@ -106,22 +159,34 @@ var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
|
|
|
106
159
|
locale: locale,
|
|
107
160
|
utcOffset: utcOffset
|
|
108
161
|
}), (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
109
|
-
|
|
110
|
-
|
|
162
|
+
tokens: ['euiAbsoluteTab.dateFormatHint', 'euiAbsoluteTab.dateFormatError'],
|
|
163
|
+
defaults: ['Press the Enter key to parse as a date.', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.'],
|
|
111
164
|
values: {
|
|
112
|
-
dateFormat: dateFormat
|
|
165
|
+
dateFormat: (0, _react2.jsx)(_code.EuiCode, null, dateFormat)
|
|
113
166
|
}
|
|
114
|
-
}, function (
|
|
167
|
+
}, function (_ref) {
|
|
168
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
169
|
+
dateFormatHint = _ref2[0],
|
|
170
|
+
dateFormatError = _ref2[1];
|
|
115
171
|
return (0, _react2.jsx)(_form.EuiFormRow, {
|
|
116
172
|
className: "euiSuperDatePicker__absoluteDateFormRow",
|
|
117
173
|
isInvalid: isTextInvalid,
|
|
118
|
-
error: isTextInvalid ? dateFormatError : undefined
|
|
174
|
+
error: isTextInvalid ? dateFormatError : undefined,
|
|
175
|
+
helpText: hasUnparsedText ? isTextInvalid ? dateFormatHint : [dateFormatHint, dateFormatError] : undefined
|
|
119
176
|
}, (0, _react2.jsx)(_form.EuiFieldText, {
|
|
120
177
|
compressed: true,
|
|
121
178
|
isInvalid: isTextInvalid,
|
|
122
179
|
value: textInputValue,
|
|
123
180
|
onChange: _this2.handleTextChange,
|
|
124
|
-
|
|
181
|
+
onPaste: function onPaste(event) {
|
|
182
|
+
_this2.parseUserDateInput(event.clipboardData.getData('text'));
|
|
183
|
+
},
|
|
184
|
+
onKeyDown: function onKeyDown(event) {
|
|
185
|
+
if (event.key === _services.keys.ENTER) {
|
|
186
|
+
_this2.parseUserDateInput(textInputValue);
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"data-test-subj": "superDatePickerAbsoluteDateInput",
|
|
125
190
|
prepend: (0, _react2.jsx)(_form.EuiFormLabel, null, labelPrefix)
|
|
126
191
|
}));
|
|
127
192
|
}));
|
|
@@ -105,7 +105,7 @@ EuiDatePopoverButton.propTypes = {
|
|
|
105
105
|
isOpen: _propTypes.default.bool.isRequired,
|
|
106
106
|
needsUpdating: _propTypes.default.bool,
|
|
107
107
|
locale: _propTypes.default.any,
|
|
108
|
-
onChange: _propTypes.default.
|
|
108
|
+
onChange: _propTypes.default.func.isRequired,
|
|
109
109
|
onPopoverClose: _propTypes.default.any.isRequired,
|
|
110
110
|
onPopoverToggle: _propTypes.default.func.isRequired,
|
|
111
111
|
position: _propTypes.default.oneOf(["start", "end"]).isRequired,
|
package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js
CHANGED
|
@@ -95,8 +95,7 @@ var EuiQuickSelectPopover = function EuiQuickSelectPopover(_ref) {
|
|
|
95
95
|
button: quickSelectButton,
|
|
96
96
|
isOpen: isOpen,
|
|
97
97
|
closePopover: closePopover,
|
|
98
|
-
anchorPosition: "downLeft"
|
|
99
|
-
anchorClassName: "euiQuickSelectPopover__anchor"
|
|
98
|
+
anchorPosition: "downLeft"
|
|
100
99
|
}, (0, _react2.jsx)(EuiQuickSelectPanels, _extends({}, props, {
|
|
101
100
|
applyTime: applyTime,
|
|
102
101
|
prevQuickSelect: prevQuickSelect
|
|
@@ -495,6 +495,7 @@ EuiSuperDatePickerInternal.propTypes = {
|
|
|
495
495
|
customQuickSelectRender: _propTypes.default.func,
|
|
496
496
|
/**
|
|
497
497
|
* Specifies the formatted used when displaying dates and/or datetimes
|
|
498
|
+
* @default 'MMM D, YYYY @ HH:mm:ss.SSS'
|
|
498
499
|
*/
|
|
499
500
|
dateFormat: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string.isRequired]),
|
|
500
501
|
/**
|
|
@@ -511,12 +512,16 @@ EuiSuperDatePickerInternal.propTypes = {
|
|
|
511
512
|
display: _propTypes.default.node.isRequired
|
|
512
513
|
}).isRequired]),
|
|
513
514
|
isLoading: _propTypes.default.bool,
|
|
515
|
+
/**
|
|
516
|
+
* @default true
|
|
517
|
+
*/
|
|
514
518
|
isPaused: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.bool.isRequired]),
|
|
515
519
|
/**
|
|
516
520
|
* Sets the overall width by adding sensible min and max widths.
|
|
517
521
|
* - `auto`: fits width to internal content / time string.
|
|
518
522
|
* - `restricted`: static width that fits the longest possible time string.
|
|
519
523
|
* - `full`: expands to 100% of the container.
|
|
524
|
+
* @default 'restricted'
|
|
520
525
|
*/
|
|
521
526
|
width: _propTypes.default.oneOf(["restricted", "full", "auto"]),
|
|
522
527
|
/**
|
|
@@ -558,17 +563,20 @@ EuiSuperDatePickerInternal.propTypes = {
|
|
|
558
563
|
}).isRequired).isRequired]),
|
|
559
564
|
/**
|
|
560
565
|
* Refresh interval in milliseconds
|
|
566
|
+
* @default 1000
|
|
561
567
|
*/
|
|
562
568
|
refreshInterval: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.number.isRequired]),
|
|
563
569
|
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]),
|
|
564
570
|
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]),
|
|
565
571
|
/**
|
|
566
572
|
* Specifies the formatted used when displaying times
|
|
573
|
+
* @default 'HH:mm'
|
|
567
574
|
*/
|
|
568
575
|
timeFormat: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string.isRequired]),
|
|
569
576
|
utcOffset: _propTypes.default.number,
|
|
570
577
|
/**
|
|
571
578
|
* Set showUpdateButton to false to immediately invoke onTimeChange for all start and end changes.
|
|
579
|
+
* @default true
|
|
572
580
|
*/
|
|
573
581
|
showUpdateButton: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.oneOf(["iconOnly"])]),
|
|
574
582
|
/**
|
|
@@ -705,6 +713,7 @@ EuiSuperDatePicker.propTypes = {
|
|
|
705
713
|
customQuickSelectRender: _propTypes.default.func,
|
|
706
714
|
/**
|
|
707
715
|
* Specifies the formatted used when displaying dates and/or datetimes
|
|
716
|
+
* @default 'MMM D, YYYY @ HH:mm:ss.SSS'
|
|
708
717
|
*/
|
|
709
718
|
dateFormat: _propTypes.default.string,
|
|
710
719
|
/**
|
|
@@ -721,12 +730,16 @@ EuiSuperDatePicker.propTypes = {
|
|
|
721
730
|
display: _propTypes.default.node.isRequired
|
|
722
731
|
}).isRequired]),
|
|
723
732
|
isLoading: _propTypes.default.bool,
|
|
733
|
+
/**
|
|
734
|
+
* @default true
|
|
735
|
+
*/
|
|
724
736
|
isPaused: _propTypes.default.bool,
|
|
725
737
|
/**
|
|
726
738
|
* Sets the overall width by adding sensible min and max widths.
|
|
727
739
|
* - `auto`: fits width to internal content / time string.
|
|
728
740
|
* - `restricted`: static width that fits the longest possible time string.
|
|
729
741
|
* - `full`: expands to 100% of the container.
|
|
742
|
+
* @default 'restricted'
|
|
730
743
|
*/
|
|
731
744
|
width: _propTypes.default.oneOf(["restricted", "full", "auto"]),
|
|
732
745
|
/**
|
|
@@ -764,17 +777,23 @@ EuiSuperDatePicker.propTypes = {
|
|
|
764
777
|
}).isRequired),
|
|
765
778
|
/**
|
|
766
779
|
* Refresh interval in milliseconds
|
|
780
|
+
* @default 1000
|
|
767
781
|
*/
|
|
768
782
|
refreshInterval: _propTypes.default.number,
|
|
783
|
+
/**
|
|
784
|
+
* @default 'now'
|
|
785
|
+
*/
|
|
769
786
|
start: _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]),
|
|
770
787
|
end: _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]),
|
|
771
788
|
/**
|
|
772
789
|
* Specifies the formatted used when displaying times
|
|
790
|
+
* @default 'HH:mm'
|
|
773
791
|
*/
|
|
774
792
|
timeFormat: _propTypes.default.string,
|
|
775
793
|
utcOffset: _propTypes.default.number,
|
|
776
794
|
/**
|
|
777
795
|
* Set showUpdateButton to false to immediately invoke onTimeChange for all start and end changes.
|
|
796
|
+
* @default true
|
|
778
797
|
*/
|
|
779
798
|
showUpdateButton: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.oneOf(["iconOnly"])]),
|
|
780
799
|
/**
|
|
@@ -129,7 +129,7 @@ EuiFacetButton.propTypes = {
|
|
|
129
129
|
* Adds a notification indicator for displaying the quantity provided
|
|
130
130
|
*/
|
|
131
131
|
quantity: _propTypes.default.number,
|
|
132
|
-
element: _propTypes.default.oneOf(["a", "button", "span"
|
|
132
|
+
element: _propTypes.default.oneOf(["a", "button", "span"]),
|
|
133
133
|
size: _propTypes.default.any,
|
|
134
134
|
/**
|
|
135
135
|
* 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;"),
|
|
@@ -187,7 +187,7 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
187
187
|
css: /*#__PURE__*/(0, _react2.css)(fullWidth ? undefined : (0, _global_styling.logicalCSS)('max-width', form.maxWidth), ";label:EuiInputPopover;"),
|
|
188
188
|
display: display,
|
|
189
189
|
button: input,
|
|
190
|
-
|
|
190
|
+
popoverRef: inputRef,
|
|
191
191
|
panelRef: panelRef,
|
|
192
192
|
ref: popoverClassRef,
|
|
193
193
|
closePopover: closePopover,
|
|
@@ -8,13 +8,13 @@ exports.EuiPopover = void 0;
|
|
|
8
8
|
exports.getPopoverAlignFromAnchorPosition = getPopoverAlignFromAnchorPosition;
|
|
9
9
|
exports.getPopoverPositionFromAnchorPosition = getPopoverPositionFromAnchorPosition;
|
|
10
10
|
exports.popoverAnchorPosition = void 0;
|
|
11
|
-
var _react = require("@emotion/react");
|
|
12
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
var
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
14
|
var _tabbable = require("tabbable");
|
|
16
15
|
var _focus_trap = require("../focus_trap");
|
|
17
16
|
var _services = require("../../services");
|
|
17
|
+
var _useCombinedRefs = require("../../services/hooks/useCombinedRefs");
|
|
18
18
|
var _accessibility = require("../accessibility");
|
|
19
19
|
var _portal = require("../portal");
|
|
20
20
|
var _mutation_observer = require("../observer/mutation_observer");
|
|
@@ -24,6 +24,7 @@ var _outside_click_detector = require("../outside_click_detector");
|
|
|
24
24
|
var _popover_arrow = require("./popover_arrow");
|
|
25
25
|
var _popover2 = require("./popover.styles");
|
|
26
26
|
var _popover_panel = require("./popover_panel");
|
|
27
|
+
var _react2 = require("@emotion/react");
|
|
27
28
|
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"];
|
|
28
29
|
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); }
|
|
29
30
|
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; }
|
|
@@ -281,9 +282,9 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
281
282
|
window.addEventListener('resize', _this.positionPopoverFluid);
|
|
282
283
|
}
|
|
283
284
|
});
|
|
284
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
285
|
+
_defineProperty(_assertThisInitialized(_this), "popoverRef", function (node) {
|
|
285
286
|
_this.button = node;
|
|
286
|
-
_this.props.
|
|
287
|
+
(0, _useCombinedRefs.setMultipleRefs)([_this.props.popoverRef, _this.props.buttonRef], node);
|
|
287
288
|
});
|
|
288
289
|
_this.state = {
|
|
289
290
|
prevProps: {
|
|
@@ -402,12 +403,12 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
402
403
|
var tabIndexProp = (_panelProps$tabIndex = panelProps === null || panelProps === void 0 ? void 0 : panelProps.tabIndex) !== null && _panelProps$tabIndex !== void 0 ? _panelProps$tabIndex : _tabIndexProp;
|
|
403
404
|
var styles = (0, _popover2.euiPopoverStyles)();
|
|
404
405
|
var popoverStyles = [styles.euiPopover, {
|
|
405
|
-
display: display
|
|
406
|
+
display: display,
|
|
407
|
+
label: display
|
|
406
408
|
}];
|
|
407
409
|
var classes = (0, _classnames.default)('euiPopover', {
|
|
408
410
|
'euiPopover-isOpen': this.state.isOpening
|
|
409
|
-
}, className);
|
|
410
|
-
var anchorClasses = (0, _classnames.default)('euiPopover__anchor', anchorClassName);
|
|
411
|
+
}, className, anchorClassName);
|
|
411
412
|
var showArrow = hasArrow && !attachToAnchor;
|
|
412
413
|
var panel;
|
|
413
414
|
if (!this.state.suppressingPopover && (isOpen || this.state.isClosing)) {
|
|
@@ -431,17 +432,17 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
431
432
|
var focusTrapScreenReaderText;
|
|
432
433
|
if (ownFocus || popoverScreenReaderText) {
|
|
433
434
|
ariaDescribedby = this.descriptionId;
|
|
434
|
-
focusTrapScreenReaderText = (0,
|
|
435
|
+
focusTrapScreenReaderText = (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
|
|
435
436
|
id: this.descriptionId
|
|
436
|
-
}, ownFocus && (0,
|
|
437
|
+
}, ownFocus && (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
437
438
|
token: "euiPopover.screenReaderAnnouncement",
|
|
438
439
|
default: "You are in a dialog. Press Escape, or tap/click outside the dialog to close."
|
|
439
440
|
}), popoverScreenReaderText));
|
|
440
441
|
}
|
|
441
442
|
var returnFocus = this.state.isOpenStable ? returnFocusConfig : false;
|
|
442
|
-
panel = (0,
|
|
443
|
+
panel = (0, _react2.jsx)(_portal.EuiPortal, {
|
|
443
444
|
insert: insert
|
|
444
|
-
}, (0,
|
|
445
|
+
}, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, _extends({
|
|
445
446
|
clickOutsideDisables: true,
|
|
446
447
|
onClickOutside: this.onClickOutside,
|
|
447
448
|
returnFocus: returnFocus // Ignore temporary state of indecisive focus
|
|
@@ -449,7 +450,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
449
450
|
initialFocus: initialFocus,
|
|
450
451
|
onEscapeKey: this.onEscapeKey,
|
|
451
452
|
disabled: !ownFocus || !this.state.isOpenStable || this.state.isClosing
|
|
452
|
-
}, focusTrapProps), (0,
|
|
453
|
+
}, focusTrapProps), (0, _react2.jsx)(_popover_panel.EuiPopoverPanel, _extends({}, panelProps, {
|
|
453
454
|
panelRef: this.panelRef,
|
|
454
455
|
isOpen: this.state.isOpening,
|
|
455
456
|
position: this.state.arrowPosition,
|
|
@@ -469,10 +470,10 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
469
470
|
// Adding `will-change` to reduce risk of a blurry animation in Chrome 86+
|
|
470
471
|
willChange: !this.state.isOpenStable ? 'transform, opacity' : undefined
|
|
471
472
|
})
|
|
472
|
-
}), showArrow && this.state.arrowPosition && (0,
|
|
473
|
+
}), showArrow && this.state.arrowPosition && (0, _react2.jsx)(_popover_arrow.EuiPopoverArrow, {
|
|
473
474
|
position: this.state.arrowPosition,
|
|
474
475
|
style: this.state.arrowStyles
|
|
475
|
-
}, arrowChildren), focusTrapScreenReaderText, (0,
|
|
476
|
+
}, arrowChildren), focusTrapScreenReaderText, (0, _react2.jsx)(_mutation_observer.EuiMutationObserver, {
|
|
476
477
|
observerOptions: {
|
|
477
478
|
attributes: true,
|
|
478
479
|
// element attribute changes
|
|
@@ -485,7 +486,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
485
486
|
|
|
486
487
|
onMutation: this.onMutation
|
|
487
488
|
}, function (mutationRef) {
|
|
488
|
-
return (0,
|
|
489
|
+
return (0, _react2.jsx)("div", {
|
|
489
490
|
ref: mutationRef
|
|
490
491
|
}, children);
|
|
491
492
|
}))));
|
|
@@ -494,32 +495,20 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
494
495
|
// react-focus-on and related do not register outside click detection
|
|
495
496
|
// when disabled, so we still need to conditionally check for that ourselves
|
|
496
497
|
if (ownFocus) {
|
|
497
|
-
return (0,
|
|
498
|
+
return (0, _react2.jsx)("div", _extends({
|
|
498
499
|
css: popoverStyles,
|
|
499
500
|
className: classes,
|
|
500
|
-
ref: popoverRef
|
|
501
|
-
}, rest),
|
|
502
|
-
css: /*#__PURE__*/(0, _react.css)({
|
|
503
|
-
display: display
|
|
504
|
-
}, ";label:render;"),
|
|
505
|
-
className: anchorClasses,
|
|
506
|
-
ref: this.buttonRef
|
|
507
|
-
}, button instanceof HTMLElement ? null : button), panel);
|
|
501
|
+
ref: this.popoverRef
|
|
502
|
+
}, rest), button instanceof HTMLElement ? null : button, panel);
|
|
508
503
|
} else {
|
|
509
|
-
return (0,
|
|
504
|
+
return (0, _react2.jsx)(_outside_click_detector.EuiOutsideClickDetector, {
|
|
510
505
|
onOutsideClick: this.closePopover
|
|
511
|
-
}, (0,
|
|
506
|
+
}, (0, _react2.jsx)("div", _extends({
|
|
512
507
|
css: popoverStyles,
|
|
513
508
|
className: classes,
|
|
514
|
-
ref: popoverRef,
|
|
509
|
+
ref: this.popoverRef,
|
|
515
510
|
onKeyDown: this.onKeyDown
|
|
516
|
-
}, rest),
|
|
517
|
-
css: /*#__PURE__*/(0, _react.css)({
|
|
518
|
-
display: display
|
|
519
|
-
}, ";label:render;"),
|
|
520
|
-
className: anchorClasses,
|
|
521
|
-
ref: this.buttonRef
|
|
522
|
-
}, button instanceof HTMLElement ? null : button), panel));
|
|
511
|
+
}, rest), button instanceof HTMLElement ? null : button, panel));
|
|
523
512
|
}
|
|
524
513
|
}
|
|
525
514
|
}], [{
|
|
@@ -545,7 +534,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
545
534
|
}
|
|
546
535
|
}]);
|
|
547
536
|
return EuiPopover;
|
|
548
|
-
}(
|
|
537
|
+
}(_react.Component);
|
|
549
538
|
exports.EuiPopover = EuiPopover;
|
|
550
539
|
_defineProperty(EuiPopover, "defaultProps", {
|
|
551
540
|
isOpen: false,
|
|
@@ -559,6 +548,8 @@ _defineProperty(EuiPopover, "defaultProps", {
|
|
|
559
548
|
EuiPopover.propTypes = {
|
|
560
549
|
/**
|
|
561
550
|
* Class name passed to the direct parent of the button
|
|
551
|
+
*
|
|
552
|
+
* @deprecated Use `className` instead
|
|
562
553
|
*/
|
|
563
554
|
anchorClassName: _propTypes.default.string,
|
|
564
555
|
/**
|
|
@@ -574,6 +565,9 @@ EuiPopover.propTypes = {
|
|
|
574
565
|
* Triggering element for which to align the popover to
|
|
575
566
|
*/
|
|
576
567
|
button: _propTypes.default.any.isRequired,
|
|
568
|
+
/**
|
|
569
|
+
* @deprecated Use `popoverRef` instead
|
|
570
|
+
*/
|
|
577
571
|
buttonRef: _propTypes.default.any,
|
|
578
572
|
/**
|
|
579
573
|
* 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
|
|
@@ -47,7 +47,8 @@ var EuiPopoverPanel = function EuiPopoverPanel(_ref) {
|
|
|
47
47
|
var euiThemeContext = (0, _services.useEuiTheme)();
|
|
48
48
|
var cssStyles = (0, _react.useMemo)(function () {
|
|
49
49
|
var styles = (0, _popover_panel.euiPopoverPanelStyles)(euiThemeContext);
|
|
50
|
-
var
|
|
50
|
+
var colorMode = euiThemeContext.colorMode.toLowerCase();
|
|
51
|
+
var sharedStyles = [styles.euiPopover__panel, styles[colorMode], isOpen && styles.isOpen];
|
|
51
52
|
if (hasDragDrop) {
|
|
52
53
|
return [].concat(sharedStyles, [styles.hasDragDrop.hasDragDrop, position && styles.hasDragDrop[position]]);
|
|
53
54
|
}
|
|
@@ -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: {
|
|
@@ -85,9 +85,11 @@ var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewide(_ref)
|
|
|
85
85
|
setPopoverIsOpen(false);
|
|
86
86
|
_closePopover && _closePopover();
|
|
87
87
|
};
|
|
88
|
-
var togglePopover = function
|
|
89
|
-
setPopoverIsOpen(
|
|
90
|
-
|
|
88
|
+
var togglePopover = (0, _react.useCallback)(function () {
|
|
89
|
+
setPopoverIsOpen(function (isOpen) {
|
|
90
|
+
return !isOpen;
|
|
91
|
+
});
|
|
92
|
+
}, []);
|
|
91
93
|
|
|
92
94
|
// Width applied to the internal div
|
|
93
95
|
var popoverWidth = width || 600;
|
|
@@ -162,16 +164,16 @@ var EuiSelectableTemplateSitewide = function EuiSelectableTemplateSitewide(_ref)
|
|
|
162
164
|
if (!currentBreakpoint) return false;
|
|
163
165
|
return popoverButtonBreakpoints.includes(currentBreakpoint);
|
|
164
166
|
}, [currentBreakpoint, popoverButtonBreakpoints]);
|
|
165
|
-
var popoverTrigger
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
var popoverTrigger = (0, _react.useMemo)(function () {
|
|
168
|
+
if (!popoverButton || !canShowPopoverButton) return;
|
|
169
|
+
return (0, _react2.jsx)("span", {
|
|
170
|
+
className: "euiSelectableTemplateSitewide__popoverTrigger",
|
|
168
171
|
onClick: togglePopover,
|
|
169
172
|
onKeyDown: function onKeyDown(e) {
|
|
170
|
-
|
|
171
|
-
e.stopPropagation();
|
|
173
|
+
return e.stopPropagation();
|
|
172
174
|
}
|
|
173
|
-
})
|
|
174
|
-
}
|
|
175
|
+
}, popoverButton);
|
|
176
|
+
}, [popoverButton, canShowPopoverButton, togglePopover]);
|
|
175
177
|
return (0, _react2.jsx)(_selectable.EuiSelectable, _extends({
|
|
176
178
|
isLoading: isLoading,
|
|
177
179
|
options: formattedOptions,
|