@elastic/eui 87.0.0 → 87.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/eui_theme_dark.css +0 -234
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +0 -234
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/accordion/accordion.js +82 -35
- package/es/components/auto_sizer/index.js +1 -1
- package/es/components/breadcrumbs/breadcrumb.js +2 -3
- package/es/components/breadcrumbs/breadcrumbs.js +2 -3
- package/es/components/code/code_block_virtualized.js +25 -17
- package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +14 -1
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +8 -7
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +6 -6
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +7 -7
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -9
- package/es/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
- package/es/components/control_bar/control_bar.js +2 -3
- package/es/components/date_picker/date_picker_range.js +5 -2
- package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -2
- package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
- package/es/components/empty_prompt/empty_prompt.js +0 -1
- package/es/components/flyout/flyout.js +9 -7
- package/es/components/flyout/flyout_body.js +15 -3
- package/es/components/form/range/dual_range.js +33 -6
- package/es/components/form/range/range.js +31 -6
- package/es/components/form/super_select/super_select.js +1 -1
- package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +2 -3
- package/es/components/header/header_links/header_links.js +2 -3
- package/es/components/page/page_header/page_header_content.js +2 -3
- package/es/components/page/page_sidebar/page_sidebar.js +2 -2
- package/es/components/page_template/page_template.js +14 -5
- package/es/components/popover/input_popover.js +24 -9
- package/es/components/popover/popover.js +4 -6
- package/es/components/resizable_container/index.js +2 -1
- package/es/components/resizable_container/resizable_button.js +81 -50
- package/es/components/resizable_container/resizable_button.styles.js +66 -0
- package/es/components/resizable_container/resizable_collapse_button.js +24 -14
- package/es/components/resizable_container/resizable_collapse_button.styles.js +85 -0
- package/es/components/selectable/selectable_list/selectable_list.js +97 -79
- package/es/components/steps/step.styles.js +5 -5
- package/es/components/tool_tip/icon_tip.js +1 -1
- package/es/components/tool_tip/tool_tip.js +4 -14
- package/es/components/tool_tip/tool_tip_anchor.js +5 -14
- package/es/components/tour/tour_step.js +2 -3
- package/es/services/accessibility/html_id_generator.js +19 -3
- package/es/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
- package/eui.d.ts +198 -56
- package/i18ntokens.json +64 -46
- package/lib/components/accordion/accordion.js +82 -35
- package/lib/components/auto_sizer/index.js +11 -7
- package/lib/components/breadcrumbs/breadcrumb.js +2 -3
- package/lib/components/code/code_block_virtualized.js +25 -17
- package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +14 -1
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +8 -7
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +6 -6
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +7 -7
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -9
- package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
- package/lib/components/date_picker/date_picker_range.js +5 -2
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -2
- package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
- package/lib/components/empty_prompt/empty_prompt.js +0 -1
- package/lib/components/flyout/flyout.js +9 -7
- package/lib/components/flyout/flyout_body.js +15 -3
- package/lib/components/form/range/dual_range.js +33 -6
- package/lib/components/form/range/range.js +14 -6
- package/lib/components/form/super_select/super_select.js +1 -1
- package/lib/components/page/page_sidebar/page_sidebar.js +1 -1
- package/lib/components/page_template/page_template.js +14 -5
- package/lib/components/popover/input_popover.js +23 -8
- package/lib/components/popover/popover.js +4 -6
- package/lib/components/resizable_container/index.js +8 -1
- package/lib/components/resizable_container/resizable_button.js +83 -51
- package/lib/components/resizable_container/resizable_button.styles.js +71 -0
- package/lib/components/resizable_container/resizable_collapse_button.js +24 -14
- package/lib/components/resizable_container/resizable_collapse_button.styles.js +90 -0
- package/lib/components/selectable/selectable_list/selectable_list.js +97 -79
- package/lib/components/steps/step.styles.js +5 -5
- package/lib/components/tool_tip/icon_tip.js +1 -1
- package/lib/components/tool_tip/tool_tip.js +4 -14
- package/lib/components/tool_tip/tool_tip_anchor.js +5 -13
- package/lib/services/accessibility/html_id_generator.js +21 -2
- package/lib/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
- package/optimize/es/components/accordion/accordion.js +82 -35
- package/optimize/es/components/auto_sizer/index.js +1 -1
- package/optimize/es/components/code/code_block_virtualized.js +25 -17
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +5 -1
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -1
- package/optimize/es/components/date_picker/date_picker_range.js +5 -2
- package/optimize/es/components/flyout/flyout.js +9 -7
- package/optimize/es/components/flyout/flyout_body.js +4 -2
- package/optimize/es/components/form/range/dual_range.js +7 -4
- package/optimize/es/components/form/range/range.js +5 -4
- package/optimize/es/components/page/page_sidebar/page_sidebar.js +2 -2
- package/optimize/es/components/page_template/page_template.js +14 -5
- package/optimize/es/components/popover/input_popover.js +13 -8
- package/optimize/es/components/popover/popover.js +2 -3
- package/optimize/es/components/resizable_container/index.js +2 -1
- package/optimize/es/components/resizable_container/resizable_button.js +61 -44
- package/optimize/es/components/resizable_container/resizable_button.styles.js +66 -0
- package/optimize/es/components/resizable_container/resizable_collapse_button.js +19 -11
- package/optimize/es/components/resizable_container/resizable_collapse_button.styles.js +85 -0
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +97 -79
- package/optimize/es/components/steps/step.styles.js +5 -5
- package/optimize/es/components/tool_tip/tool_tip.js +3 -13
- package/optimize/es/components/tool_tip/tool_tip_anchor.js +4 -8
- package/optimize/es/services/accessibility/html_id_generator.js +19 -3
- package/optimize/es/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
- package/optimize/lib/components/accordion/accordion.js +82 -35
- package/optimize/lib/components/auto_sizer/index.js +11 -7
- package/optimize/lib/components/code/code_block_virtualized.js +25 -17
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +5 -1
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -1
- package/optimize/lib/components/date_picker/date_picker_range.js +5 -2
- package/optimize/lib/components/flyout/flyout.js +9 -7
- package/optimize/lib/components/flyout/flyout_body.js +4 -2
- package/optimize/lib/components/form/range/dual_range.js +7 -4
- package/optimize/lib/components/form/range/range.js +5 -4
- package/optimize/lib/components/page/page_sidebar/page_sidebar.js +1 -1
- package/optimize/lib/components/page_template/page_template.js +14 -5
- package/optimize/lib/components/popover/input_popover.js +12 -7
- package/optimize/lib/components/popover/popover.js +2 -3
- package/optimize/lib/components/resizable_container/index.js +8 -1
- package/optimize/lib/components/resizable_container/resizable_button.js +63 -45
- package/optimize/lib/components/resizable_container/resizable_button.styles.js +71 -0
- package/optimize/lib/components/resizable_container/resizable_collapse_button.js +19 -11
- package/optimize/lib/components/resizable_container/resizable_collapse_button.styles.js +90 -0
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +97 -79
- package/optimize/lib/components/steps/step.styles.js +5 -5
- package/optimize/lib/components/tool_tip/tool_tip.js +3 -13
- package/optimize/lib/components/tool_tip/tool_tip_anchor.js +4 -8
- package/optimize/lib/services/accessibility/html_id_generator.js +21 -2
- package/optimize/lib/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
- package/package.json +19 -21
- package/src/components/index.scss +0 -1
- package/test-env/components/accordion/accordion.js +82 -35
- package/test-env/components/auto_sizer/index.js +11 -7
- package/test-env/components/breadcrumbs/breadcrumb.js +2 -3
- package/test-env/components/code/code_block_virtualized.js +25 -17
- package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +14 -1
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +8 -7
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +6 -6
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +7 -7
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -6
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -9
- package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +1 -1
- package/test-env/components/date_picker/date_picker_range.js +5 -2
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -2
- package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
- package/test-env/components/empty_prompt/empty_prompt.js +0 -1
- package/test-env/components/flyout/flyout_body.js +15 -3
- package/test-env/components/form/range/dual_range.js +33 -6
- package/test-env/components/form/range/range.js +14 -6
- package/test-env/components/form/super_select/super_select.js +1 -1
- package/test-env/components/page/page_sidebar/page_sidebar.js +1 -1
- package/test-env/components/page_template/page_template.js +14 -5
- package/test-env/components/popover/input_popover.js +23 -8
- package/test-env/components/popover/popover.js +4 -6
- package/test-env/components/resizable_container/index.js +8 -1
- package/test-env/components/resizable_container/resizable_button.js +83 -51
- package/test-env/components/resizable_container/resizable_button.styles.js +71 -0
- package/test-env/components/resizable_container/resizable_collapse_button.js +19 -14
- package/test-env/components/resizable_container/resizable_collapse_button.styles.js +90 -0
- package/test-env/components/selectable/selectable_list/selectable_list.js +97 -79
- package/test-env/components/steps/step.styles.js +5 -5
- package/test-env/components/tool_tip/icon_tip.js +1 -1
- package/test-env/components/tool_tip/tool_tip.js +4 -14
- package/test-env/components/tool_tip/tool_tip_anchor.js +5 -11
- package/test-env/themes/amsterdam/global_styling/mixins/shadow.js +0 -1
- package/src/components/resizable_container/_index.scss +0 -3
- package/src/components/resizable_container/_resizable_button.scss +0 -129
- package/src/components/resizable_container/_resizable_collapse_button.scss +0 -145
- package/src/components/resizable_container/_variables.scss +0 -2
|
@@ -13,7 +13,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
13
13
|
var _services = require("../../services");
|
|
14
14
|
var _flyout_body = require("./flyout_body.styles");
|
|
15
15
|
var _react2 = require("@emotion/react");
|
|
16
|
-
var _excluded = ["children", "className", "banner"];
|
|
16
|
+
var _excluded = ["children", "className", "banner", "scrollableTabIndex"];
|
|
17
17
|
/*
|
|
18
18
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
19
19
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -25,6 +25,8 @@ var EuiFlyoutBody = function EuiFlyoutBody(_ref) {
|
|
|
25
25
|
var children = _ref.children,
|
|
26
26
|
className = _ref.className,
|
|
27
27
|
banner = _ref.banner,
|
|
28
|
+
_ref$scrollableTabInd = _ref.scrollableTabIndex,
|
|
29
|
+
scrollableTabIndex = _ref$scrollableTabInd === void 0 ? 0 : _ref$scrollableTabInd,
|
|
28
30
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
29
31
|
var classes = (0, _classnames.default)('euiFlyoutBody', className);
|
|
30
32
|
var euiTheme = (0, _services.useEuiTheme)();
|
|
@@ -36,7 +38,7 @@ var EuiFlyoutBody = function EuiFlyoutBody(_ref) {
|
|
|
36
38
|
className: classes,
|
|
37
39
|
css: cssStyles
|
|
38
40
|
}, rest), (0, _react2.jsx)("div", {
|
|
39
|
-
tabIndex:
|
|
41
|
+
tabIndex: scrollableTabIndex,
|
|
40
42
|
className: "euiFlyoutBody__overflow",
|
|
41
43
|
css: overflowCssStyles
|
|
42
44
|
}, banner && (0, _react2.jsx)("div", {
|
|
@@ -55,5 +57,15 @@ EuiFlyoutBody.propTypes = {
|
|
|
55
57
|
/**
|
|
56
58
|
* Use to display a banner at the top of the body. It is suggested to use `EuiCallOut` for it.
|
|
57
59
|
*/
|
|
58
|
-
banner: _propTypes.default.node
|
|
60
|
+
banner: _propTypes.default.node,
|
|
61
|
+
/**
|
|
62
|
+
* [Scrollable regions (or their children) should be focusable](https://dequeuniversity.com/rules/axe/4.0/scrollable-region-focusable)
|
|
63
|
+
* to allow keyboard users to scroll the region via arrow keys.
|
|
64
|
+
*
|
|
65
|
+
* By default, EuiFlyoutBody's scroll overflow wrapper sets a `tabIndex` of `0`.
|
|
66
|
+
* If you know your flyout body content already contains focusable children
|
|
67
|
+
* that satisfy keyboard accessibility requirements, you can use this prop
|
|
68
|
+
* to override this default.
|
|
69
|
+
*/
|
|
70
|
+
scrollableTabIndex: _propTypes.default.number
|
|
59
71
|
};
|
|
@@ -38,7 +38,7 @@ var _range = require("./range.styles");
|
|
|
38
38
|
var _dual_range = require("./dual_range.styles");
|
|
39
39
|
var _i18n = require("../../i18n");
|
|
40
40
|
var _react2 = require("@emotion/react");
|
|
41
|
-
var _excluded = ["className", "css", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "showTicks", "tickInterval", "ticks", "levels", "onBlur", "onChange", "onFocus", "showRange", "value", "isInvalid", "append", "prepend", "minInputProps", "maxInputProps", "isDraggable", "theme"];
|
|
41
|
+
var _excluded = ["className", "css", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "showTicks", "tickInterval", "ticks", "levels", "onBlur", "onChange", "onFocus", "showRange", "value", "isInvalid", "append", "prepend", "minInputProps", "maxInputProps", "inputPopoverProps", "isDraggable", "theme"];
|
|
42
42
|
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); }
|
|
43
43
|
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; }
|
|
44
44
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -268,9 +268,11 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
268
268
|
});
|
|
269
269
|
});
|
|
270
270
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onResize", function (width) {
|
|
271
|
+
var _this$props$inputPopo, _this$props$inputPopo2;
|
|
271
272
|
_this.setState({
|
|
272
273
|
rangeWidth: width
|
|
273
274
|
});
|
|
275
|
+
(_this$props$inputPopo = _this.props.inputPopoverProps) === null || _this$props$inputPopo === void 0 ? void 0 : (_this$props$inputPopo2 = _this$props$inputPopo.onPanelResize) === null || _this$props$inputPopo2 === void 0 ? void 0 : _this$props$inputPopo2.call(_this$props$inputPopo, width);
|
|
274
276
|
});
|
|
275
277
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getNearestStep", function (value) {
|
|
276
278
|
var min = _this.props.min;
|
|
@@ -387,6 +389,7 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
387
389
|
prepend = _this$props.prepend,
|
|
388
390
|
minInputProps = _this$props.minInputProps,
|
|
389
391
|
maxInputProps = _this$props.maxInputProps,
|
|
392
|
+
inputPopoverProps = _this$props.inputPopoverProps,
|
|
390
393
|
isDraggable = _this$props.isDraggable,
|
|
391
394
|
theme = _this$props.theme,
|
|
392
395
|
rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
|
|
@@ -627,8 +630,8 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
627
630
|
className: showTicks || ticks ? 'euiRange__slimHorizontalSpacer' : 'euiRange__horizontalSpacer',
|
|
628
631
|
css: showTicks || ticks ? rangeStyles.euiRange__slimHorizontalSpacer : rangeStyles.euiRange__horizontalSpacer
|
|
629
632
|
}), maxInput));
|
|
630
|
-
var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, {
|
|
631
|
-
className:
|
|
633
|
+
var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, (0, _extends2.default)({}, inputPopoverProps, {
|
|
634
|
+
className: (0, _classnames.default)('euiDualRange__popover', inputPopoverProps === null || inputPopoverProps === void 0 ? void 0 : inputPopoverProps.className),
|
|
632
635
|
input: (0, _react2.jsx)(_form_control_layout.EuiFormControlLayoutDelimited, {
|
|
633
636
|
startControl: minInput,
|
|
634
637
|
endControl: maxInput,
|
|
@@ -647,7 +650,7 @@ var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
647
650
|
disableFocusTrap: true,
|
|
648
651
|
onPanelResize: this.onResize,
|
|
649
652
|
popoverScreenReaderText: dualSliderScreenReaderInstructions
|
|
650
|
-
}, theRange) : undefined;
|
|
653
|
+
}), theRange) : undefined;
|
|
651
654
|
return thePopover || theRange;
|
|
652
655
|
}
|
|
653
656
|
}]);
|
|
@@ -768,14 +771,38 @@ EuiDualRangeClass.propTypes = {
|
|
|
768
771
|
* @default false
|
|
769
772
|
*/
|
|
770
773
|
fullWidth: _propTypes.default.bool,
|
|
774
|
+
/**
|
|
775
|
+
* Only impacts inputs rendered by the `showInput` prop
|
|
776
|
+
*/
|
|
777
|
+
isInvalid: _propTypes.default.bool,
|
|
771
778
|
/**
|
|
772
779
|
* Only impacts inputs rendered when the `showInput` prop is set to `"inputWithPopover"`
|
|
773
780
|
*/
|
|
774
781
|
isLoading: _propTypes.default.bool,
|
|
775
782
|
/**
|
|
776
|
-
* Only impacts
|
|
783
|
+
* Only impacts input popovers rendered when the `showInput` prop is set to `"inputWithPopover"`
|
|
784
|
+
*
|
|
785
|
+
* Allows customizing the underlying [EuiInputPopover](/#/layout/popover#popover-attached-to-input-element),
|
|
786
|
+
* except for props controlled by the range component
|
|
777
787
|
*/
|
|
778
|
-
|
|
788
|
+
inputPopoverProps: _propTypes.default.shape({
|
|
789
|
+
className: _propTypes.default.string,
|
|
790
|
+
"aria-label": _propTypes.default.string,
|
|
791
|
+
"data-test-subj": _propTypes.default.string,
|
|
792
|
+
css: _propTypes.default.any,
|
|
793
|
+
/**
|
|
794
|
+
* Alignment of the popover relative to the input
|
|
795
|
+
*/
|
|
796
|
+
anchorPosition: _propTypes.default.oneOf(["downLeft", "downRight", "downCenter"]),
|
|
797
|
+
inputRef: _propTypes.default.any,
|
|
798
|
+
onPanelResize: _propTypes.default.func,
|
|
799
|
+
/**
|
|
800
|
+
* By default, **EuiInputPopovers** inherit the same width as the passed input element.
|
|
801
|
+
* However, if the input width is too small, you can pass a minimum panel width
|
|
802
|
+
* (that should be based on the popover content).
|
|
803
|
+
*/
|
|
804
|
+
panelMinWidth: _propTypes.default.number
|
|
805
|
+
})
|
|
779
806
|
};
|
|
780
807
|
var EuiDualRange = (0, _services.withEuiTheme)(EuiDualRangeClass);
|
|
781
808
|
exports.EuiDualRange = EuiDualRange;
|
|
@@ -33,7 +33,7 @@ var _range_wrapper = require("./range_wrapper");
|
|
|
33
33
|
var _range = require("./range.styles");
|
|
34
34
|
var _i18n = require("../../i18n");
|
|
35
35
|
var _react2 = require("@emotion/react");
|
|
36
|
-
var _excluded = ["className", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "showTicks", "tickInterval", "ticks", "levels", "showRange", "showValue", "valueAppend", "valuePrepend", "onBlur", "onChange", "onFocus", "value", "tabIndex", "isInvalid", "theme"];
|
|
36
|
+
var _excluded = ["className", "compressed", "disabled", "fullWidth", "isLoading", "readOnly", "id", "max", "min", "name", "step", "showLabels", "showInput", "inputPopoverProps", "showTicks", "tickInterval", "ticks", "levels", "showRange", "showValue", "valueAppend", "valuePrepend", "onBlur", "onChange", "onFocus", "value", "tabIndex", "isInvalid", "theme"];
|
|
37
37
|
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); }
|
|
38
38
|
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; }
|
|
39
39
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
@@ -123,6 +123,7 @@ var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
123
123
|
step = _this$props.step,
|
|
124
124
|
showLabels = _this$props.showLabels,
|
|
125
125
|
showInput = _this$props.showInput,
|
|
126
|
+
inputPopoverProps = _this$props.inputPopoverProps,
|
|
126
127
|
showTicks = _this$props.showTicks,
|
|
127
128
|
tickInterval = _this$props.tickInterval,
|
|
128
129
|
ticks = _this$props.ticks,
|
|
@@ -235,8 +236,8 @@ var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
235
236
|
className: showTicks || ticks ? 'euiRange__slimHorizontalSpacer' : 'euiRange__horizontalSpacer',
|
|
236
237
|
css: showTicks || ticks ? styles.euiRange__slimHorizontalSpacer : styles.euiRange__horizontalSpacer
|
|
237
238
|
}), theInput));
|
|
238
|
-
var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, {
|
|
239
|
-
className:
|
|
239
|
+
var thePopover = showInputOnly ? (0, _react2.jsx)(_popover.EuiInputPopover, (0, _extends2.default)({}, inputPopoverProps, {
|
|
240
|
+
className: (0, _classnames.default)('euiRange__popover', inputPopoverProps === null || inputPopoverProps === void 0 ? void 0 : inputPopoverProps.className),
|
|
240
241
|
input: theInput // `showInputOnly` confirms existence
|
|
241
242
|
,
|
|
242
243
|
fullWidth: fullWidth,
|
|
@@ -244,7 +245,7 @@ var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
244
245
|
closePopover: this.closePopover,
|
|
245
246
|
disableFocusTrap: true,
|
|
246
247
|
popoverScreenReaderText: sliderScreenReaderInstructions
|
|
247
|
-
}, theRange) : undefined;
|
|
248
|
+
}), theRange) : undefined;
|
|
248
249
|
return thePopover ? thePopover : theRange;
|
|
249
250
|
}
|
|
250
251
|
}]);
|
|
@@ -364,14 +365,21 @@ EuiRangeClass.propTypes = {
|
|
|
364
365
|
* @default false
|
|
365
366
|
*/
|
|
366
367
|
fullWidth: _propTypes.default.bool,
|
|
368
|
+
/**
|
|
369
|
+
* Only impacts inputs rendered by the `showInput` prop
|
|
370
|
+
*/
|
|
371
|
+
isInvalid: _propTypes.default.bool,
|
|
367
372
|
/**
|
|
368
373
|
* Only impacts inputs rendered when the `showInput` prop is set to `"inputWithPopover"`
|
|
369
374
|
*/
|
|
370
375
|
isLoading: _propTypes.default.bool,
|
|
371
376
|
/**
|
|
372
|
-
* Only impacts
|
|
377
|
+
* Only impacts input popovers rendered when the `showInput` prop is set to `"inputWithPopover"`
|
|
378
|
+
*
|
|
379
|
+
* Allows customizing the underlying [EuiInputPopover](/#/layout/popover#popover-attached-to-input-element),
|
|
380
|
+
* except for props controlled by the range component
|
|
373
381
|
*/
|
|
374
|
-
|
|
382
|
+
inputPopoverProps: _propTypes.default.any
|
|
375
383
|
};
|
|
376
384
|
var EuiRange = (0, _services.withEuiTheme)(EuiRangeClass);
|
|
377
385
|
exports.EuiRange = EuiRange;
|
|
@@ -355,7 +355,7 @@ EuiSuperSelect.propTypes = {
|
|
|
355
355
|
*/
|
|
356
356
|
isOpen: _propTypes.default.bool,
|
|
357
357
|
/**
|
|
358
|
-
* Optional props to pass to the underlying [
|
|
358
|
+
* Optional props to pass to the underlying [EuiInputPopover](/#/layout/popover#popover-attached-to-input-element).
|
|
359
359
|
* Allows fine-grained control of the popover dropdown menu, including
|
|
360
360
|
* `repositionOnScroll` for EuiSuperSelects used within scrollable containers,
|
|
361
361
|
* and customizing popover panel styling.
|
|
@@ -52,7 +52,7 @@ var EuiPageSidebar = function EuiPageSidebar(_ref) {
|
|
|
52
52
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
53
53
|
inlineStyles = _useState2[0],
|
|
54
54
|
setInlineStyles = _useState2[1];
|
|
55
|
-
(0, _react.
|
|
55
|
+
(0, _react.useLayoutEffect)(function () {
|
|
56
56
|
var updatedStyles = _objectSpread(_objectSpread({}, style), (0, _global_styling.logicalStyle)('min-width', isResponding ? '100%' : minWidth));
|
|
57
57
|
if (sticky) {
|
|
58
58
|
var _document$body$datase;
|
|
@@ -40,6 +40,14 @@ var TemplateContext = /*#__PURE__*/(0, _react.createContext)({
|
|
|
40
40
|
bottomBar: {}
|
|
41
41
|
});
|
|
42
42
|
exports.TemplateContext = TemplateContext;
|
|
43
|
+
var calculateOffset = function calculateOffset(base) {
|
|
44
|
+
var _document$body$datase;
|
|
45
|
+
if (typeof document === 'undefined') return 0; // SSR catch
|
|
46
|
+
|
|
47
|
+
var euiHeaderFixedCounter = Number((_document$body$datase = document.body.dataset.fixedHeaders) !== null && _document$body$datase !== void 0 ? _document$body$datase : 0);
|
|
48
|
+
return base * 3 * euiHeaderFixedCounter;
|
|
49
|
+
};
|
|
50
|
+
|
|
43
51
|
/**
|
|
44
52
|
* Consumed via `EuiPageTemplate`,
|
|
45
53
|
* it controls and propogates most of the shared props per direct child
|
|
@@ -66,7 +74,9 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
|
|
|
66
74
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
67
75
|
var _useEuiTheme = (0, _services.useEuiTheme)(),
|
|
68
76
|
euiTheme = _useEuiTheme.euiTheme;
|
|
69
|
-
var _useState = (0, _react.useState)(
|
|
77
|
+
var _useState = (0, _react.useState)(function () {
|
|
78
|
+
return _offset !== null && _offset !== void 0 ? _offset : calculateOffset(euiTheme.base);
|
|
79
|
+
}),
|
|
70
80
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
71
81
|
offset = _useState2[0],
|
|
72
82
|
setOffset = _useState2[1];
|
|
@@ -79,9 +89,7 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
|
|
|
79
89
|
});
|
|
80
90
|
(0, _react.useEffect)(function () {
|
|
81
91
|
if (_offset === undefined) {
|
|
82
|
-
|
|
83
|
-
var euiHeaderFixedCounter = Number((_document$body$datase = document.body.dataset.fixedHeaders) !== null && _document$body$datase !== void 0 ? _document$body$datase : 0);
|
|
84
|
-
setOffset(euiTheme.base * 3 * euiHeaderFixedCounter);
|
|
92
|
+
setOffset(calculateOffset(euiTheme.base));
|
|
85
93
|
}
|
|
86
94
|
}, [_offset, euiTheme.base]);
|
|
87
95
|
|
|
@@ -119,7 +127,8 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
|
|
|
119
127
|
return {
|
|
120
128
|
restrictWidth: restrictWidth,
|
|
121
129
|
paddingSize: paddingSize,
|
|
122
|
-
|
|
130
|
+
// pageInnerId may contain colons that are parsed as pseudo-elements if not escaped
|
|
131
|
+
parent: "#".concat(CSS.escape(pageInnerId))
|
|
123
132
|
};
|
|
124
133
|
};
|
|
125
134
|
var innerPanelled = function innerPanelled() {
|
|
@@ -20,7 +20,7 @@ var _services = require("../../services");
|
|
|
20
20
|
var _form = require("../form/form.styles");
|
|
21
21
|
var _react2 = require("@emotion/react");
|
|
22
22
|
var _global_styling = require("../../global_styling");
|
|
23
|
-
var _excluded = ["children", "className", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "onPanelResize", "inputRef", "panelRef"];
|
|
23
|
+
var _excluded = ["children", "className", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "panelMinWidth", "onPanelResize", "inputRef", "panelRef"];
|
|
24
24
|
/*
|
|
25
25
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
26
26
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -39,6 +39,8 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
39
39
|
input = _ref.input,
|
|
40
40
|
_ref$fullWidth = _ref.fullWidth,
|
|
41
41
|
fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
|
|
42
|
+
_ref$panelMinWidth = _ref.panelMinWidth,
|
|
43
|
+
panelMinWidth = _ref$panelMinWidth === void 0 ? 0 : _ref$panelMinWidth,
|
|
42
44
|
onPanelResize = _ref.onPanelResize,
|
|
43
45
|
_inputRef = _ref.inputRef,
|
|
44
46
|
_panelRef = _ref.panelRef,
|
|
@@ -56,22 +58,24 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
56
58
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
57
59
|
panelEl = _useState6[0],
|
|
58
60
|
setPanelEl = _useState6[1];
|
|
61
|
+
var popoverClassRef = (0, _react.useRef)(null);
|
|
59
62
|
var inputRef = (0, _services.useCombinedRefs)([setInputEl, _inputRef]);
|
|
60
63
|
var panelRef = (0, _services.useCombinedRefs)([setPanelEl, _panelRef]);
|
|
61
64
|
var setPanelWidth = (0, _react.useCallback)(function (width) {
|
|
62
65
|
if (panelEl && (!!inputElWidth || !!width)) {
|
|
63
66
|
var newWidth = !!width ? width : inputElWidth;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
67
|
+
var widthToSet = newWidth && newWidth > panelMinWidth ? newWidth : panelMinWidth;
|
|
68
|
+
panelEl.style.width = "".concat(widthToSet, "px");
|
|
69
|
+
onPanelResize === null || onPanelResize === void 0 ? void 0 : onPanelResize(widthToSet);
|
|
68
70
|
}
|
|
69
|
-
}, [panelEl, inputElWidth, onPanelResize]);
|
|
71
|
+
}, [panelEl, inputElWidth, onPanelResize, panelMinWidth]);
|
|
70
72
|
var onResize = (0, _react.useCallback)(function () {
|
|
71
73
|
if (inputEl) {
|
|
74
|
+
var _popoverClassRef$curr;
|
|
72
75
|
var _width = inputEl.getBoundingClientRect().width;
|
|
73
76
|
setInputElWidth(_width);
|
|
74
77
|
setPanelWidth(_width);
|
|
78
|
+
(_popoverClassRef$curr = popoverClassRef.current) === null || _popoverClassRef$curr === void 0 ? void 0 : _popoverClassRef$curr.positionPopoverFluid();
|
|
75
79
|
}
|
|
76
80
|
}, [inputEl, setPanelWidth]);
|
|
77
81
|
(0, _react.useEffect)(function () {
|
|
@@ -106,7 +110,8 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
|
|
|
106
110
|
}),
|
|
107
111
|
buttonRef: inputRef,
|
|
108
112
|
panelRef: panelRef,
|
|
109
|
-
className: classes
|
|
113
|
+
className: classes,
|
|
114
|
+
ref: popoverClassRef
|
|
110
115
|
}, props), (0, _react2.jsx)(_focus_trap.EuiFocusTrap, (0, _extends2.default)({
|
|
111
116
|
clickOutsideDisables: true,
|
|
112
117
|
disabled: disableFocusTrap
|
|
@@ -120,11 +125,21 @@ EuiInputPopover.propTypes = {
|
|
|
120
125
|
"aria-label": _propTypes.default.string,
|
|
121
126
|
"data-test-subj": _propTypes.default.string,
|
|
122
127
|
css: _propTypes.default.any,
|
|
128
|
+
/**
|
|
129
|
+
* Alignment of the popover relative to the input
|
|
130
|
+
*/
|
|
131
|
+
anchorPosition: _propTypes.default.oneOf(["downLeft", "downRight", "downCenter"]),
|
|
123
132
|
disableFocusTrap: _propTypes.default.bool,
|
|
124
133
|
fullWidth: _propTypes.default.bool,
|
|
125
134
|
input: _propTypes.default.any.isRequired,
|
|
126
135
|
inputRef: _propTypes.default.any,
|
|
127
|
-
onPanelResize: _propTypes.default.func
|
|
136
|
+
onPanelResize: _propTypes.default.func,
|
|
137
|
+
/**
|
|
138
|
+
* By default, **EuiInputPopovers** inherit the same width as the passed input element.
|
|
139
|
+
* However, if the input width is too small, you can pass a minimum panel width
|
|
140
|
+
* (that should be based on the popover content).
|
|
141
|
+
*/
|
|
142
|
+
panelMinWidth: _propTypes.default.number
|
|
128
143
|
};
|
|
129
144
|
EuiInputPopover.defaultProps = {
|
|
130
145
|
anchorPosition: 'downLeft',
|
|
@@ -217,8 +217,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
217
217
|
top = _findPopoverPosition.top,
|
|
218
218
|
left = _findPopoverPosition.left,
|
|
219
219
|
foundPosition = _findPopoverPosition.position,
|
|
220
|
-
arrow = _findPopoverPosition.arrow
|
|
221
|
-
anchorBoundingBox = _findPopoverPosition.anchorBoundingBox;
|
|
220
|
+
arrow = _findPopoverPosition.arrow;
|
|
222
221
|
|
|
223
222
|
// the popover's z-index must inherit from the button
|
|
224
223
|
// this keeps a button's popover under a flyout that would cover the button
|
|
@@ -227,7 +226,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
|
|
|
227
226
|
var zIndex = zIndexProp == null ? (0, _popover.getElementZIndex)(_this.button, _this.panel) + 2000 : zIndexProp;
|
|
228
227
|
var popoverStyles = _objectSpread(_objectSpread({}, _this.props.panelStyle), {}, {
|
|
229
228
|
top: top,
|
|
230
|
-
left:
|
|
229
|
+
left: left,
|
|
231
230
|
zIndex: zIndex
|
|
232
231
|
});
|
|
233
232
|
var willRenderArrow = !_this.props.attachToAnchor && _this.props.hasArrow;
|
|
@@ -549,9 +548,8 @@ EuiPopover.propTypes = {
|
|
|
549
548
|
*/
|
|
550
549
|
anchorPosition: _propTypes.default.any,
|
|
551
550
|
/**
|
|
552
|
-
* Style and position alteration for arrow-less
|
|
553
|
-
*
|
|
554
|
-
* EuiInputPopover
|
|
551
|
+
* Style and position alteration for arrow-less attachment.
|
|
552
|
+
* Intended for use with inputs as anchors, e.g. EuiInputPopover
|
|
555
553
|
*/
|
|
556
554
|
attachToAnchor: _propTypes.default.bool,
|
|
557
555
|
/**
|
|
@@ -3,10 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "EuiResizableButton", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _resizable_button.EuiResizableButton;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "EuiResizableContainer", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function get() {
|
|
9
15
|
return _resizable_container.EuiResizableContainer;
|
|
10
16
|
}
|
|
11
17
|
});
|
|
12
|
-
var _resizable_container = require("./resizable_container");
|
|
18
|
+
var _resizable_container = require("./resizable_container");
|
|
19
|
+
var _resizable_button = require("./resizable_button");
|
|
@@ -5,8 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.EuiResizableButton = void 0;
|
|
9
|
-
exports.euiResizableButtonWithControls = euiResizableButtonWithControls;
|
|
8
|
+
exports.euiResizableButtonWithControls = exports.EuiResizableButtonControlled = exports.EuiResizableButton = void 0;
|
|
10
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -16,8 +15,10 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
16
15
|
var _i18n = require("../i18n");
|
|
17
16
|
var _services = require("../../services");
|
|
18
17
|
var _context = require("./context");
|
|
18
|
+
var _resizable_button = require("./resizable_button.styles");
|
|
19
19
|
var _react2 = require("@emotion/react");
|
|
20
|
-
var _excluded = ["isHorizontal", "
|
|
20
|
+
var _excluded = ["isHorizontal", "alignIndicator", "className"],
|
|
21
|
+
_excluded2 = ["registration", "id", "disabled", "onFocus"];
|
|
21
22
|
/*
|
|
22
23
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
23
24
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -27,15 +28,70 @@ var _excluded = ["isHorizontal", "className", "id", "registration", "disabled",
|
|
|
27
28
|
*/
|
|
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; }
|
|
30
|
-
|
|
31
|
+
/**
|
|
32
|
+
* A generic button for indicating/facilitating resizable content,
|
|
33
|
+
* usable outside of the EuiResizableContainer context
|
|
34
|
+
*/
|
|
35
|
+
var EuiResizableButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
31
36
|
var isHorizontal = _ref.isHorizontal,
|
|
37
|
+
_ref$alignIndicator = _ref.alignIndicator,
|
|
38
|
+
alignIndicator = _ref$alignIndicator === void 0 ? 'center' : _ref$alignIndicator,
|
|
32
39
|
className = _ref.className,
|
|
33
|
-
id = _ref.id,
|
|
34
|
-
registration = _ref.registration,
|
|
35
|
-
disabled = _ref.disabled,
|
|
36
|
-
onFocus = _ref.onFocus,
|
|
37
|
-
onBlur = _ref.onBlur,
|
|
38
40
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
41
|
+
var classes = (0, _classnames.default)('euiResizableButton', className);
|
|
42
|
+
var euiTheme = (0, _services.useEuiTheme)();
|
|
43
|
+
var styles = (0, _resizable_button.euiResizableButtonStyles)(euiTheme);
|
|
44
|
+
var cssStyles = [styles.euiResizableButton, isHorizontal ? styles.horizontal : styles.vertical, styles.alignIndicator[alignIndicator]];
|
|
45
|
+
return (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
46
|
+
tokens: ['euiResizableButton.horizontalResizerAriaLabel', 'euiResizableButton.verticalResizerAriaLabel'],
|
|
47
|
+
defaults: ['Press the left or right arrow keys to adjust panels size', 'Press the up or down arrow keys to adjust panels size']
|
|
48
|
+
}, function (_ref2) {
|
|
49
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
50
|
+
horizontalResizerAriaLabel = _ref3[0],
|
|
51
|
+
verticalResizerAriaLabel = _ref3[1];
|
|
52
|
+
return (0, _react2.jsx)("button", (0, _extends2.default)({
|
|
53
|
+
ref: ref,
|
|
54
|
+
"aria-label": isHorizontal ? horizontalResizerAriaLabel : verticalResizerAriaLabel,
|
|
55
|
+
className: classes,
|
|
56
|
+
css: cssStyles,
|
|
57
|
+
"data-test-subj": "euiResizableButton",
|
|
58
|
+
type: "button"
|
|
59
|
+
}, rest));
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
exports.EuiResizableButton = EuiResizableButton;
|
|
63
|
+
EuiResizableButton.propTypes = {
|
|
64
|
+
className: _propTypes.default.string,
|
|
65
|
+
"aria-label": _propTypes.default.string,
|
|
66
|
+
"data-test-subj": _propTypes.default.string,
|
|
67
|
+
css: _propTypes.default.any,
|
|
68
|
+
/**
|
|
69
|
+
* Defaults to displaying a resizer for vertical (y-axis) resizing.
|
|
70
|
+
* Set to `true` to display a resizer for horizontal (x-axis) resizing.
|
|
71
|
+
*/
|
|
72
|
+
isHorizontal: _propTypes.default.bool,
|
|
73
|
+
/**
|
|
74
|
+
* Specify the alignment of the initial resize indicator. Defaults to `center`,
|
|
75
|
+
* but consider using `start` for extremely tall content that scrolls off-screen
|
|
76
|
+
*/
|
|
77
|
+
alignIndicator: _propTypes.default.oneOf(["center", "start", "end"]),
|
|
78
|
+
/**
|
|
79
|
+
* When disabled, the resizer button will be completely hidden
|
|
80
|
+
*/
|
|
81
|
+
disabled: _propTypes.default.bool
|
|
82
|
+
};
|
|
83
|
+
EuiResizableButton.displayName = 'EuiResizableButton';
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Resizer button specific to controlled EuiResizableContainer usage
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
var EuiResizableButtonControlled = function EuiResizableButtonControlled(_ref4) {
|
|
90
|
+
var registration = _ref4.registration,
|
|
91
|
+
id = _ref4.id,
|
|
92
|
+
disabled = _ref4.disabled,
|
|
93
|
+
_onFocus = _ref4.onFocus,
|
|
94
|
+
rest = (0, _objectWithoutProperties2.default)(_ref4, _excluded2);
|
|
39
95
|
var resizerId = (0, _services.useGeneratedHtmlId)({
|
|
40
96
|
prefix: 'resizable-button',
|
|
41
97
|
conditionalId: id
|
|
@@ -47,13 +103,9 @@ var EuiResizableButton = function EuiResizableButton(_ref) {
|
|
|
47
103
|
} : _useEuiResizableConta2,
|
|
48
104
|
resizers = _useEuiResizableConta3.resizers;
|
|
49
105
|
var isDisabled = (0, _react.useMemo)(function () {
|
|
50
|
-
|
|
106
|
+
var _resizers$resizerId;
|
|
107
|
+
return disabled || ((_resizers$resizerId = resizers[resizerId]) === null || _resizers$resizerId === void 0 ? void 0 : _resizers$resizerId.isDisabled);
|
|
51
108
|
}, [resizers, resizerId, disabled]);
|
|
52
|
-
var classes = (0, _classnames.default)('euiResizableButton', {
|
|
53
|
-
'euiResizableButton--vertical': !isHorizontal,
|
|
54
|
-
'euiResizableButton--horizontal': isHorizontal,
|
|
55
|
-
'euiResizableButton--disabled': isDisabled
|
|
56
|
-
}, className);
|
|
57
109
|
var previousRef = (0, _react.useRef)();
|
|
58
110
|
var onRef = (0, _react.useCallback)(function (ref) {
|
|
59
111
|
if (!registration) return;
|
|
@@ -72,42 +124,22 @@ var EuiResizableButton = function EuiResizableButton(_ref) {
|
|
|
72
124
|
}
|
|
73
125
|
}
|
|
74
126
|
}, [registration, resizerId, disabled]);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
horizontalResizerAriaLabel = _ref3[0],
|
|
87
|
-
verticalResizerAriaLabel = _ref3[1];
|
|
88
|
-
return (0, _react2.jsx)("button", (0, _extends2.default)({
|
|
89
|
-
id: resizerId,
|
|
90
|
-
ref: onRef,
|
|
91
|
-
"aria-label": isHorizontal ? horizontalResizerAriaLabel : verticalResizerAriaLabel,
|
|
92
|
-
className: classes,
|
|
93
|
-
"data-test-subj": "euiResizableButton",
|
|
94
|
-
type: "button",
|
|
95
|
-
onClick: setFocus,
|
|
96
|
-
onFocus: handleFocus,
|
|
97
|
-
onBlur: onBlur,
|
|
98
|
-
disabled: isDisabled
|
|
99
|
-
}, rest));
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
exports.EuiResizableButton = EuiResizableButton;
|
|
103
|
-
EuiResizableButton.propTypes = {
|
|
104
|
-
className: _propTypes.default.string,
|
|
105
|
-
"aria-label": _propTypes.default.string,
|
|
106
|
-
"data-test-subj": _propTypes.default.string,
|
|
107
|
-
css: _propTypes.default.any
|
|
127
|
+
return (0, _react2.jsx)(EuiResizableButton, (0, _extends2.default)({
|
|
128
|
+
id: resizerId,
|
|
129
|
+
ref: onRef,
|
|
130
|
+
disabled: isDisabled,
|
|
131
|
+
onClick: function onClick(e) {
|
|
132
|
+
return e.currentTarget.focus();
|
|
133
|
+
},
|
|
134
|
+
onFocus: function onFocus() {
|
|
135
|
+
return _onFocus === null || _onFocus === void 0 ? void 0 : _onFocus(resizerId);
|
|
136
|
+
}
|
|
137
|
+
}, rest));
|
|
108
138
|
};
|
|
109
|
-
|
|
139
|
+
exports.EuiResizableButtonControlled = EuiResizableButtonControlled;
|
|
140
|
+
var euiResizableButtonWithControls = function euiResizableButtonWithControls(controls) {
|
|
110
141
|
return function (props) {
|
|
111
|
-
return (0, _react2.jsx)(
|
|
142
|
+
return (0, _react2.jsx)(EuiResizableButtonControlled, (0, _extends2.default)({}, controls, props));
|
|
112
143
|
};
|
|
113
|
-
}
|
|
144
|
+
};
|
|
145
|
+
exports.euiResizableButtonWithControls = euiResizableButtonWithControls;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiResizableButtonStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _services = require("../../services");
|
|
9
|
+
var _global_styling = require("../../global_styling");
|
|
10
|
+
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)."; } /*
|
|
11
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
12
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
13
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
14
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
15
|
+
* Side Public License, v 1.
|
|
16
|
+
*/
|
|
17
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
18
|
+
name: "1fvu7sv-end",
|
|
19
|
+
styles: "align-items:flex-end;label:end;"
|
|
20
|
+
} : {
|
|
21
|
+
name: "1fvu7sv-end",
|
|
22
|
+
styles: "align-items:flex-end;label:end;",
|
|
23
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
24
|
+
};
|
|
25
|
+
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
26
|
+
name: "h0ntv8-start",
|
|
27
|
+
styles: "align-items:flex-start;label:start;"
|
|
28
|
+
} : {
|
|
29
|
+
name: "h0ntv8-start",
|
|
30
|
+
styles: "align-items:flex-start;label:start;",
|
|
31
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
32
|
+
};
|
|
33
|
+
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
34
|
+
name: "8391db-center",
|
|
35
|
+
styles: "align-items:center;label:center;"
|
|
36
|
+
} : {
|
|
37
|
+
name: "8391db-center",
|
|
38
|
+
styles: "align-items:center;label:center;",
|
|
39
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
40
|
+
};
|
|
41
|
+
var euiResizableButtonStyles = function euiResizableButtonStyles(euiThemeContext) {
|
|
42
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
43
|
+
var buttonSize = euiTheme.size.base;
|
|
44
|
+
var grabHandleWidth = euiTheme.size.m;
|
|
45
|
+
var grabHandleHeight = euiTheme.border.width.thin;
|
|
46
|
+
var transitionSpeed = euiTheme.animation.fast;
|
|
47
|
+
var transition = "".concat(transitionSpeed, " ease");
|
|
48
|
+
return {
|
|
49
|
+
// Mimics the "grab" icon with CSS psuedo-elements.
|
|
50
|
+
// 1. The "grab" icon transforms into a thicker straight line on :hover and :focus
|
|
51
|
+
// 2. Start/end aligned handles should have a slight margin offset that disappears on hover/focus
|
|
52
|
+
// 3. CSS hack to smooth out/anti-alias the 1px wide handles at various zoom levels
|
|
53
|
+
euiResizableButton: /*#__PURE__*/(0, _react.css)("z-index:1;flex-shrink:0;display:flex;justify-content:center;gap:", (0, _global_styling.mathWithUnits)(grabHandleHeight, function (x) {
|
|
54
|
+
return x * 2;
|
|
55
|
+
}), ";&:disabled{display:none;}&:hover,&:focus{gap:0;justify-content:center;}", _global_styling.euiCanAnimate, "{transition:gap ", transition, ",justify-content ", transition, ";}&::before,&::after{content:'';display:block;background-color:", euiTheme.colors.darkestShade, ";transform:translateZ(0);", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ",margin ", transition, ",background-color ", transition, ";}}&:hover{&::before,&::after{background-color:", euiTheme.colors.mediumShade, ";", _global_styling.euiCanAnimate, "{transition-delay:", transitionSpeed, ";}}}&:focus,&:active{background-color:", (0, _services.transparentize)(euiTheme.colors.primary, 0.1), ";&::before,&::after{background-color:", euiTheme.colors.primary, ";", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ";transition-delay:", (0, _global_styling.mathWithUnits)(transitionSpeed, function (x) {
|
|
56
|
+
return x / 2;
|
|
57
|
+
}), ";}}};label:euiResizableButton;"),
|
|
58
|
+
horizontal: /*#__PURE__*/(0, _react.css)("cursor:col-resize;", (0, _global_styling.logicalCSS)('height', '100%'), " ", (0, _global_styling.logicalCSS)('width', buttonSize), " margin-inline:", (0, _global_styling.mathWithUnits)(buttonSize, function (x) {
|
|
59
|
+
return x / -2;
|
|
60
|
+
}), ";&::before,&::after{", (0, _global_styling.logicalCSS)('width', grabHandleHeight), " ", (0, _global_styling.logicalCSS)('height', grabHandleWidth), " margin-block:", euiTheme.size.base, ";}&:hover,&:focus,&:active{&::before,&::after{", (0, _global_styling.logicalCSS)('height', '100%'), " margin-block:0;transform:none;}};label:horizontal;"),
|
|
61
|
+
vertical: /*#__PURE__*/(0, _react.css)("flex-direction:column;cursor:row-resize;", (0, _global_styling.logicalCSS)('width', '100%'), " ", (0, _global_styling.logicalCSS)('height', buttonSize), " margin-block:", (0, _global_styling.mathWithUnits)(buttonSize, function (x) {
|
|
62
|
+
return x / -2;
|
|
63
|
+
}), ";&::before,&::after{", (0, _global_styling.logicalCSS)('height', grabHandleHeight), " ", (0, _global_styling.logicalCSS)('width', grabHandleWidth), " margin-inline:", euiTheme.size.base, ";}&:hover,&:focus,&:active{&::before,&::after{", (0, _global_styling.logicalCSS)('width', '100%'), " margin-inline:0;transform:none;}};label:vertical;"),
|
|
64
|
+
alignIndicator: {
|
|
65
|
+
center: _ref3,
|
|
66
|
+
start: _ref2,
|
|
67
|
+
end: _ref
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
exports.euiResizableButtonStyles = euiResizableButtonStyles;
|