@elastic/eui 113.3.0 → 114.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.
Files changed (107) hide show
  1. package/es/components/button/split_button/split_button.js +13 -0
  2. package/es/components/button/split_button/split_button_actions.js +15 -0
  3. package/es/components/collapsible_nav/collapsible_nav.js +5 -0
  4. package/es/components/color_picker/color_picker.js +31 -8
  5. package/es/components/datagrid/utils/scrolling.js +39 -10
  6. package/es/components/flyout/_flyout_overlay.js +34 -4
  7. package/es/components/flyout/flyout.component.js +13 -9
  8. package/es/components/flyout/flyout.js +9 -1
  9. package/es/components/flyout/flyout.styles.js +2 -2
  10. package/es/components/flyout/flyout_menu.js +2 -1
  11. package/es/components/flyout/flyout_resizable.js +5 -0
  12. package/es/components/flyout/manager/actions.js +5 -2
  13. package/es/components/flyout/manager/flyout_child.js +1 -0
  14. package/es/components/flyout/manager/flyout_managed.js +5 -3
  15. package/es/components/flyout/manager/reducer.js +116 -57
  16. package/es/components/flyout/manager/store.js +13 -6
  17. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  18. package/es/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +172 -0
  19. package/es/components/overlay_mask/overlay_mask.js +10 -3
  20. package/es/components/tree_view/tree_view_item.styles.js +1 -1
  21. package/es/services/hooks/index.js +8 -8
  22. package/es/services/hooks/useIsPointerDown.js +6 -15
  23. package/es/services/index.js +1 -1
  24. package/eui.d.ts +83 -51
  25. package/i18ntokens.json +661 -643
  26. package/lib/components/button/split_button/split_button.js +13 -0
  27. package/lib/components/button/split_button/split_button_actions.js +15 -0
  28. package/lib/components/collapsible_nav/collapsible_nav.js +5 -0
  29. package/lib/components/color_picker/color_picker.js +30 -7
  30. package/lib/components/datagrid/utils/scrolling.js +37 -8
  31. package/lib/components/flyout/_flyout_overlay.js +33 -3
  32. package/lib/components/flyout/flyout.component.js +13 -9
  33. package/lib/components/flyout/flyout.js +9 -1
  34. package/lib/components/flyout/flyout.styles.js +2 -2
  35. package/lib/components/flyout/flyout_menu.js +2 -1
  36. package/lib/components/flyout/flyout_resizable.js +5 -0
  37. package/lib/components/flyout/manager/actions.js +5 -2
  38. package/lib/components/flyout/manager/flyout_child.js +1 -0
  39. package/lib/components/flyout/manager/flyout_managed.js +5 -3
  40. package/lib/components/flyout/manager/reducer.js +116 -57
  41. package/lib/components/flyout/manager/store.js +13 -6
  42. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  43. package/lib/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +179 -0
  44. package/lib/components/overlay_mask/overlay_mask.js +10 -3
  45. package/lib/components/tree_view/tree_view_item.styles.js +1 -1
  46. package/lib/services/hooks/index.js +60 -91
  47. package/lib/services/hooks/useIsPointerDown.js +7 -14
  48. package/lib/services/index.js +70 -11
  49. package/optimize/es/components/color_picker/color_picker.js +31 -8
  50. package/optimize/es/components/datagrid/utils/scrolling.js +39 -10
  51. package/optimize/es/components/flyout/_flyout_overlay.js +34 -4
  52. package/optimize/es/components/flyout/flyout.component.js +13 -9
  53. package/optimize/es/components/flyout/flyout.js +4 -1
  54. package/optimize/es/components/flyout/flyout.styles.js +2 -2
  55. package/optimize/es/components/flyout/flyout_menu.js +2 -1
  56. package/optimize/es/components/flyout/manager/actions.js +5 -2
  57. package/optimize/es/components/flyout/manager/flyout_managed.js +4 -3
  58. package/optimize/es/components/flyout/manager/reducer.js +116 -57
  59. package/optimize/es/components/flyout/manager/store.js +13 -6
  60. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  61. package/optimize/es/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +172 -0
  62. package/optimize/es/components/overlay_mask/overlay_mask.js +4 -2
  63. package/optimize/es/components/tree_view/tree_view_item.styles.js +1 -1
  64. package/optimize/es/services/hooks/index.js +8 -8
  65. package/optimize/es/services/hooks/useIsPointerDown.js +6 -10
  66. package/optimize/es/services/index.js +1 -1
  67. package/optimize/lib/components/color_picker/color_picker.js +30 -7
  68. package/optimize/lib/components/datagrid/utils/scrolling.js +37 -8
  69. package/optimize/lib/components/flyout/_flyout_overlay.js +33 -3
  70. package/optimize/lib/components/flyout/flyout.component.js +13 -9
  71. package/optimize/lib/components/flyout/flyout.js +4 -1
  72. package/optimize/lib/components/flyout/flyout.styles.js +2 -2
  73. package/optimize/lib/components/flyout/flyout_menu.js +2 -1
  74. package/optimize/lib/components/flyout/manager/actions.js +5 -2
  75. package/optimize/lib/components/flyout/manager/flyout_managed.js +4 -3
  76. package/optimize/lib/components/flyout/manager/reducer.js +116 -57
  77. package/optimize/lib/components/flyout/manager/store.js +13 -6
  78. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  79. package/optimize/lib/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +179 -0
  80. package/optimize/lib/components/overlay_mask/overlay_mask.js +4 -2
  81. package/optimize/lib/components/tree_view/tree_view_item.styles.js +1 -1
  82. package/optimize/lib/services/hooks/index.js +60 -91
  83. package/optimize/lib/services/hooks/useIsPointerDown.js +5 -10
  84. package/optimize/lib/services/index.js +70 -11
  85. package/package.json +4 -4
  86. package/test-env/components/button/split_button/split_button.js +13 -0
  87. package/test-env/components/button/split_button/split_button_actions.js +15 -0
  88. package/test-env/components/collapsible_nav/collapsible_nav.js +5 -0
  89. package/test-env/components/color_picker/color_picker.js +30 -7
  90. package/test-env/components/datagrid/utils/scrolling.js +37 -8
  91. package/test-env/components/flyout/_flyout_overlay.js +33 -3
  92. package/test-env/components/flyout/flyout.component.js +13 -9
  93. package/test-env/components/flyout/flyout.styles.js +2 -2
  94. package/test-env/components/flyout/flyout_menu.js +2 -1
  95. package/test-env/components/flyout/flyout_resizable.js +5 -0
  96. package/test-env/components/flyout/manager/actions.js +5 -2
  97. package/test-env/components/flyout/manager/flyout_child.js +1 -0
  98. package/test-env/components/flyout/manager/flyout_managed.js +5 -3
  99. package/test-env/components/flyout/manager/reducer.js +116 -57
  100. package/test-env/components/flyout/manager/store.js +13 -6
  101. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  102. package/test-env/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +179 -0
  103. package/test-env/components/overlay_mask/overlay_mask.js +10 -3
  104. package/test-env/components/tree_view/tree_view_item.styles.js +1 -1
  105. package/test-env/services/hooks/index.js +60 -91
  106. package/test-env/services/hooks/useIsPointerDown.js +5 -10
  107. package/test-env/services/index.js +70 -11
@@ -3,109 +3,78 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _exportNames = {
7
- useEuiDisabledElement: true
8
- };
6
+ Object.defineProperty(exports, "isMouseEvent", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useMouseMove.isMouseEvent;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "setMultipleRefs", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useCombinedRefs.setMultipleRefs;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useCombinedRefs", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _useCombinedRefs.useCombinedRefs;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useDeepEqual", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _useDeepEqual.useDeepEqual;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "useDependentState", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _useDependentState.useDependentState;
34
+ }
35
+ });
9
36
  Object.defineProperty(exports, "useEuiDisabledElement", {
10
37
  enumerable: true,
11
38
  get: function get() {
12
39
  return _useEuiDisabledElement.useEuiDisabledElement;
13
40
  }
14
41
  });
15
- var _useDependentState = require("./useDependentState");
16
- Object.keys(_useDependentState).forEach(function (key) {
17
- if (key === "default" || key === "__esModule") return;
18
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
19
- if (key in exports && exports[key] === _useDependentState[key]) return;
20
- Object.defineProperty(exports, key, {
21
- enumerable: true,
22
- get: function get() {
23
- return _useDependentState[key];
24
- }
25
- });
42
+ Object.defineProperty(exports, "useForceRender", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _useForceRender.useForceRender;
46
+ }
26
47
  });
27
- var _useCombinedRefs = require("./useCombinedRefs");
28
- Object.keys(_useCombinedRefs).forEach(function (key) {
29
- if (key === "default" || key === "__esModule") return;
30
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
- if (key in exports && exports[key] === _useCombinedRefs[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function get() {
35
- return _useCombinedRefs[key];
36
- }
37
- });
48
+ Object.defineProperty(exports, "useIsPointerDown", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _useIsPointerDown.useIsPointerDown;
52
+ }
38
53
  });
39
- var _useForceRender = require("./useForceRender");
40
- Object.keys(_useForceRender).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
43
- if (key in exports && exports[key] === _useForceRender[key]) return;
44
- Object.defineProperty(exports, key, {
45
- enumerable: true,
46
- get: function get() {
47
- return _useForceRender[key];
48
- }
49
- });
54
+ Object.defineProperty(exports, "useLatest", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _useLatest.useLatest;
58
+ }
50
59
  });
51
- var _useLatest = require("./useLatest");
52
- Object.keys(_useLatest).forEach(function (key) {
53
- if (key === "default" || key === "__esModule") return;
54
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
55
- if (key in exports && exports[key] === _useLatest[key]) return;
56
- Object.defineProperty(exports, key, {
57
- enumerable: true,
58
- get: function get() {
59
- return _useLatest[key];
60
- }
61
- });
60
+ Object.defineProperty(exports, "useMouseMove", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _useMouseMove.useMouseMove;
64
+ }
62
65
  });
63
- var _useDeepEqual = require("./useDeepEqual");
64
- Object.keys(_useDeepEqual).forEach(function (key) {
65
- if (key === "default" || key === "__esModule") return;
66
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
67
- if (key in exports && exports[key] === _useDeepEqual[key]) return;
68
- Object.defineProperty(exports, key, {
69
- enumerable: true,
70
- get: function get() {
71
- return _useDeepEqual[key];
72
- }
73
- });
66
+ Object.defineProperty(exports, "useUpdateEffect", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _useUpdateEffect.useUpdateEffect;
70
+ }
74
71
  });
72
+ var _useDependentState = require("./useDependentState");
73
+ var _useCombinedRefs = require("./useCombinedRefs");
74
+ var _useForceRender = require("./useForceRender");
75
+ var _useLatest = require("./useLatest");
76
+ var _useDeepEqual = require("./useDeepEqual");
75
77
  var _useMouseMove = require("./useMouseMove");
76
- Object.keys(_useMouseMove).forEach(function (key) {
77
- if (key === "default" || key === "__esModule") return;
78
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
79
- if (key in exports && exports[key] === _useMouseMove[key]) return;
80
- Object.defineProperty(exports, key, {
81
- enumerable: true,
82
- get: function get() {
83
- return _useMouseMove[key];
84
- }
85
- });
86
- });
87
78
  var _useIsPointerDown = require("./useIsPointerDown");
88
- Object.keys(_useIsPointerDown).forEach(function (key) {
89
- if (key === "default" || key === "__esModule") return;
90
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
91
- if (key in exports && exports[key] === _useIsPointerDown[key]) return;
92
- Object.defineProperty(exports, key, {
93
- enumerable: true,
94
- get: function get() {
95
- return _useIsPointerDown[key];
96
- }
97
- });
98
- });
99
79
  var _useUpdateEffect = require("./useUpdateEffect");
100
- Object.keys(_useUpdateEffect).forEach(function (key) {
101
- if (key === "default" || key === "__esModule") return;
102
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
103
- if (key in exports && exports[key] === _useUpdateEffect[key]) return;
104
- Object.defineProperty(exports, key, {
105
- enumerable: true,
106
- get: function get() {
107
- return _useUpdateEffect[key];
108
- }
109
- });
110
- });
111
80
  var _useEuiDisabledElement = require("./useEuiDisabledElement");
@@ -5,40 +5,33 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useIsPointerDown = useIsPointerDown;
7
7
  var _react = require("react");
8
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
9
- 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."); }
10
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
8
+ /*
14
9
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
10
  * or more contributor license agreements. Licensed under the Elastic License
16
11
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
17
12
  * in compliance with, at your election, the Elastic License 2.0 or the Server
18
13
  * Side Public License, v 1.
19
14
  */
15
+
20
16
  /**
21
17
  * A hook that tracks whether the pointer is currently down/pressed.
22
18
  * Useful for detecting text selection in progress.
23
19
  */
24
20
  function useIsPointerDown(container) {
25
- var _useState = (0, _react.useState)(false),
26
- _useState2 = _slicedToArray(_useState, 2),
27
- isPointerDown = _useState2[0],
28
- setIsPointerDown = _useState2[1];
21
+ var isPointerDownRef = (0, _react.useRef)(false);
29
22
  (0, _react.useEffect)(function () {
30
23
  var handlePointerDown = function handlePointerDown(event) {
31
24
  if (container !== null && container !== void 0 && container.current && !container.current.contains(event.target)) {
32
25
  return;
33
26
  }
34
- setIsPointerDown(true);
27
+ isPointerDownRef.current = true;
35
28
  };
36
29
  var handlePointerUpOrCancel = function handlePointerUpOrCancel() {
37
- setIsPointerDown(false);
30
+ isPointerDownRef.current = false;
38
31
  };
39
32
  var handleVisibilityChange = function handleVisibilityChange() {
40
33
  if (document.visibilityState === 'hidden') {
41
- setIsPointerDown(false);
34
+ isPointerDownRef.current = false;
42
35
  }
43
36
  };
44
37
  var controller = new AbortController();
@@ -56,5 +49,5 @@ function useIsPointerDown(container) {
56
49
  controller.abort();
57
50
  };
58
51
  }, [container]);
59
- return isPointerDown;
52
+ return isPointerDownRef;
60
53
  }
@@ -69,6 +69,16 @@ var _exportNames = {
69
69
  formatDate: true,
70
70
  formatNumber: true,
71
71
  formatText: true,
72
+ useDependentState: true,
73
+ useCombinedRefs: true,
74
+ setMultipleRefs: true,
75
+ useForceRender: true,
76
+ useLatest: true,
77
+ useDeepEqual: true,
78
+ isMouseEvent: true,
79
+ useMouseMove: true,
80
+ useUpdateEffect: true,
81
+ useEuiDisabledElement: true,
72
82
  isEvenlyDivisibleBy: true,
73
83
  isWithinRange: true,
74
84
  Pager: true,
@@ -426,6 +436,12 @@ Object.defineProperty(exports, "isEvenlyDivisibleBy", {
426
436
  return _number.isEvenlyDivisibleBy;
427
437
  }
428
438
  });
439
+ Object.defineProperty(exports, "isMouseEvent", {
440
+ enumerable: true,
441
+ get: function get() {
442
+ return _hooks.isMouseEvent;
443
+ }
444
+ });
429
445
  Object.defineProperty(exports, "isValidHex", {
430
446
  enumerable: true,
431
447
  get: function get() {
@@ -481,6 +497,12 @@ Object.defineProperty(exports, "saturate", {
481
497
  return _color.saturate;
482
498
  }
483
499
  });
500
+ Object.defineProperty(exports, "setMultipleRefs", {
501
+ enumerable: true,
502
+ get: function get() {
503
+ return _hooks.setMultipleRefs;
504
+ }
505
+ });
484
506
  Object.defineProperty(exports, "shade", {
485
507
  enumerable: true,
486
508
  get: function get() {
@@ -547,18 +569,48 @@ Object.defineProperty(exports, "useColorStopsState", {
547
569
  return _color_picker.useColorStopsState;
548
570
  }
549
571
  });
572
+ Object.defineProperty(exports, "useCombinedRefs", {
573
+ enumerable: true,
574
+ get: function get() {
575
+ return _hooks.useCombinedRefs;
576
+ }
577
+ });
550
578
  Object.defineProperty(exports, "useCurrentEuiBreakpoint", {
551
579
  enumerable: true,
552
580
  get: function get() {
553
581
  return _breakpoint.useCurrentEuiBreakpoint;
554
582
  }
555
583
  });
584
+ Object.defineProperty(exports, "useDeepEqual", {
585
+ enumerable: true,
586
+ get: function get() {
587
+ return _hooks.useDeepEqual;
588
+ }
589
+ });
590
+ Object.defineProperty(exports, "useDependentState", {
591
+ enumerable: true,
592
+ get: function get() {
593
+ return _hooks.useDependentState;
594
+ }
595
+ });
556
596
  Object.defineProperty(exports, "useEuiContainerQuery", {
557
597
  enumerable: true,
558
598
  get: function get() {
559
599
  return _container_query_hook.useEuiContainerQuery;
560
600
  }
561
601
  });
602
+ Object.defineProperty(exports, "useEuiDisabledElement", {
603
+ enumerable: true,
604
+ get: function get() {
605
+ return _hooks.useEuiDisabledElement;
606
+ }
607
+ });
608
+ Object.defineProperty(exports, "useForceRender", {
609
+ enumerable: true,
610
+ get: function get() {
611
+ return _hooks.useForceRender;
612
+ }
613
+ });
562
614
  Object.defineProperty(exports, "useGeneratedHtmlId", {
563
615
  enumerable: true,
564
616
  get: function get() {
@@ -583,6 +635,24 @@ Object.defineProperty(exports, "useIsWithinMinBreakpoint", {
583
635
  return _breakpoint.useIsWithinMinBreakpoint;
584
636
  }
585
637
  });
638
+ Object.defineProperty(exports, "useLatest", {
639
+ enumerable: true,
640
+ get: function get() {
641
+ return _hooks.useLatest;
642
+ }
643
+ });
644
+ Object.defineProperty(exports, "useMouseMove", {
645
+ enumerable: true,
646
+ get: function get() {
647
+ return _hooks.useMouseMove;
648
+ }
649
+ });
650
+ Object.defineProperty(exports, "useUpdateEffect", {
651
+ enumerable: true,
652
+ get: function get() {
653
+ return _hooks.useUpdateEffect;
654
+ }
655
+ });
586
656
  Object.defineProperty(exports, "wcagContrastMin", {
587
657
  enumerable: true,
588
658
  get: function get() {
@@ -661,17 +731,6 @@ Object.keys(_findElement).forEach(function (key) {
661
731
  var _focus_trap = require("./focus_trap");
662
732
  var _format = require("./format");
663
733
  var _hooks = require("./hooks");
664
- Object.keys(_hooks).forEach(function (key) {
665
- if (key === "default" || key === "__esModule") return;
666
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
667
- if (key in exports && exports[key] === _hooks[key]) return;
668
- Object.defineProperty(exports, key, {
669
- enumerable: true,
670
- get: function get() {
671
- return _hooks[key];
672
- }
673
- });
674
- });
675
734
  var _number = require("./number");
676
735
  var _paging = require("./paging");
677
736
  var _popover = require("./popover");
@@ -12,7 +12,7 @@ import _typeof from "@babel/runtime/helpers/typeof";
12
12
  import React, { cloneElement, useEffect, useMemo, useRef, useState } from 'react';
13
13
  import classNames from 'classnames';
14
14
  import chroma from 'chroma-js';
15
- import { useEuiMemoizedStyles, keys, useEuiPaletteColorBlind } from '../../services';
15
+ import { useEuiMemoizedStyles, keys, useEuiPaletteColorBlind, useGeneratedHtmlId } from '../../services';
16
16
  import { EuiFieldText, EuiFormControlLayout, EuiFormRow, EuiRange } from '../form';
17
17
  import { useEuiI18n } from '../i18n';
18
18
  import { EuiPopover } from '../popover';
@@ -85,9 +85,12 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
85
85
  _ref$isClearable = _ref.isClearable,
86
86
  isClearable = _ref$isClearable === void 0 ? false : _ref$isClearable,
87
87
  placeholder = _ref.placeholder,
88
- dataTestSubj = _ref['data-test-subj'];
89
- var _useEuiI18n = useEuiI18n(['euiColorPicker.popoverLabel', 'euiColorPicker.colorLabel', 'euiColorPicker.selectedColorLabel', 'euiColorPicker.colorErrorMessage', 'euiColorPicker.transparent', 'euiColorPicker.alphaLabel', 'euiColorPicker.openLabel', 'euiColorPicker.closeLabel'], ['Color selection dialog', 'Color value', 'Selected color', 'Invalid color value', 'Transparent', 'Alpha channel (opacity) value', 'Press the escape key to close the popover', 'Press the down key to open a popover containing color options']),
90
- _useEuiI18n2 = _slicedToArray(_useEuiI18n, 8),
88
+ dataTestSubj = _ref['data-test-subj'],
89
+ _ariaLabel = _ref['aria-label'],
90
+ ariaLabelledby = _ref['aria-labelledby'],
91
+ ariaDescribedby = _ref['aria-describedby'];
92
+ var _useEuiI18n = useEuiI18n(['euiColorPicker.popoverLabel', 'euiColorPicker.colorLabel', 'euiColorPicker.selectedColorLabel', 'euiColorPicker.colorErrorMessage', 'euiColorPicker.transparent', 'euiColorPicker.alphaLabel', 'euiColorPicker.openLabel', 'euiColorPicker.closeLabel', 'euiColorPicker.ariaLabel'], ['Color selection dialog', 'Color value', 'Selected color', 'Invalid color value', 'Transparent', 'Alpha channel (opacity) value', 'Press the escape key to close the popover', 'Press the down key to open a popover containing color options', 'Select a color']),
93
+ _useEuiI18n2 = _slicedToArray(_useEuiI18n, 9),
91
94
  popoverLabel = _useEuiI18n2[0],
92
95
  colorLabel = _useEuiI18n2[1],
93
96
  selectedColorLabel = _useEuiI18n2[2],
@@ -95,7 +98,16 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
95
98
  transparent = _useEuiI18n2[4],
96
99
  alphaLabel = _useEuiI18n2[5],
97
100
  openLabel = _useEuiI18n2[6],
98
- closeLabel = _useEuiI18n2[7];
101
+ closeLabel = _useEuiI18n2[7],
102
+ ariaLabel = _useEuiI18n2[8];
103
+ var openLabelId = useGeneratedHtmlId({
104
+ prefix: 'colorPicker',
105
+ suffix: 'openLabel'
106
+ });
107
+ var closeLabelId = useGeneratedHtmlId({
108
+ prefix: 'colorPicker',
109
+ suffix: 'closeLabel'
110
+ });
99
111
  var defaultSwatches = useEuiPaletteColorBlind();
100
112
  var swatches = _swatches !== null && _swatches !== void 0 ? _swatches : defaultSwatches;
101
113
  var preferredFormat = useMemo(function () {
@@ -424,10 +436,21 @@ export var EuiColorPicker = function EuiColorPicker(_ref) {
424
436
  readOnly: readOnly,
425
437
  fullWidth: fullWidth,
426
438
  autoComplete: "off",
427
- "data-test-subj": testSubjAnchor,
428
- "aria-label": isColorSelectorShown ? openLabel : closeLabel,
439
+ "data-test-subj": testSubjAnchor
440
+ // if an id is provided it might be used in combination with `htmlFor` on a label,
441
+ // so we don't want to override it with a fallback `aria-label`
442
+ ,
443
+ "aria-label": _ariaLabel ? _ariaLabel : id || ariaLabelledby ? undefined : ariaLabel,
444
+ "aria-labelledby": ariaLabelledby,
445
+ "aria-describedby": classNames(isColorSelectorShown ? openLabelId : closeLabelId, ariaDescribedby),
429
446
  controlOnly: true // Don't need two EuiFormControlwrappers
430
- }));
447
+ }), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("span", null, ___EmotionJSX("span", {
448
+ id: openLabelId,
449
+ "aria-hidden": !isColorSelectorShown
450
+ }, openLabel), ___EmotionJSX("span", {
451
+ id: closeLabelId,
452
+ "aria-hidden": isColorSelectorShown
453
+ }, closeLabel))));
431
454
  }
432
455
  return display === 'inline' ? ___EmotionJSX("div", {
433
456
  css: styles.euiColorPicker,
@@ -8,8 +8,9 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  * Side Public License, v 1.
9
9
  */
10
10
 
11
- import React, { useContext, useEffect, useCallback, useMemo } from 'react';
12
- import { useEuiMemoizedStyles, useIsPointerDown } from '../../../services';
11
+ import React, { useContext, useEffect, useCallback, useMemo, useRef } from 'react';
12
+ import { useEuiMemoizedStyles } from '../../../services';
13
+ import { useIsPointerDown } from '../../../services/hooks';
13
14
  import { logicalStyles } from '../../../global_styling';
14
15
  import { DataGridCellPopoverContext } from '../body/cell';
15
16
  import { DataGridFocusContext } from './focus';
@@ -27,20 +28,48 @@ export var useScroll = function useScroll(args) {
27
28
  scrollCellIntoView = _useScrollCellIntoVie.scrollCellIntoView;
28
29
  var _useContext = useContext(DataGridFocusContext),
29
30
  focusedCell = _useContext.focusedCell;
30
- var isPointerDown = useIsPointerDown(args.outerGridRef);
31
+ var isPointerDownRef = useIsPointerDown(args.outerGridRef);
32
+
33
+ /**
34
+ * Set when `focusedCell` changes while the pointer is held down (e.g. clicking a cell).
35
+ * Allows the `pointerup` listener below to scroll on release without
36
+ * causing snap-back when the user scrolls the grid without changing focus.
37
+ */
38
+ var pendingScrollRef = useRef(false);
39
+ useEffect(function () {
40
+ if (!focusedCell) return;
41
+ if (isPointerDownRef.current) {
42
+ // Pointer is down - defer scroll decision to the pointerup listener
43
+ pendingScrollRef.current = true;
44
+ return;
45
+ }
46
+ scrollCellIntoView({
47
+ rowIndex: focusedCell[1],
48
+ colIndex: focusedCell[0]
49
+ });
50
+ }, [focusedCell, scrollCellIntoView, isPointerDownRef]);
31
51
  useEffect(function () {
32
- if (focusedCell) {
52
+ var handlePointerUp = function handlePointerUp() {
33
53
  var _window;
34
- // do not scroll if text is being selected
35
- if (isPointerDown || ((_window = window) === null || _window === void 0 || (_window = _window.getSelection()) === null || _window === void 0 ? void 0 : _window.type) === 'Range') {
36
- return;
37
- }
54
+ if (!pendingScrollRef.current || !focusedCell) return;
55
+ pendingScrollRef.current = false;
56
+
57
+ // Skip if the interaction resulted in text being selected
58
+ if (((_window = window) === null || _window === void 0 || (_window = _window.getSelection()) === null || _window === void 0 ? void 0 : _window.type) === 'Range') return;
38
59
  scrollCellIntoView({
39
60
  rowIndex: focusedCell[1],
40
61
  colIndex: focusedCell[0]
41
62
  });
42
- }
43
- }, [focusedCell, isPointerDown, scrollCellIntoView]);
63
+ };
64
+ document.addEventListener('pointerup', handlePointerUp, {
65
+ capture: true
66
+ });
67
+ return function () {
68
+ return document.removeEventListener('pointerup', handlePointerUp, {
69
+ capture: true
70
+ });
71
+ };
72
+ }, [focusedCell, scrollCellIntoView]);
44
73
  var _useContext2 = useContext(DataGridCellPopoverContext),
45
74
  popoverIsOpen = _useContext2.popoverIsOpen,
46
75
  cellLocation = _useContext2.cellLocation;
@@ -7,8 +7,9 @@ import _extends from "@babel/runtime/helpers/extends";
7
7
  * Side Public License, v 1.
8
8
  */
9
9
 
10
- import React, { useMemo } from 'react';
10
+ import React, { useEffect, useMemo, useRef } from 'react';
11
11
  import { css, cx } from '@emotion/css';
12
+ import { useCombinedRefs } from '../../services';
12
13
  import { EuiOverlayMask } from '../overlay_mask';
13
14
  import { EuiPortal } from '../portal';
14
15
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -16,8 +17,7 @@ var getEuiFlyoutOverlayStyles = function getEuiFlyoutOverlayStyles(zIndex) {
16
17
  /*
17
18
  This needs to have !important to override the default EuiOverlayMask
18
19
  z-index based on the headerZindexLocation prop. Using the style attribute
19
- doesn't work since EuiOverlayMask requires a string style prop that
20
- causes React errors in the test environment.
20
+ doesn't work since EuiOverlayMask requires the styles to be provided via className
21
21
  */
22
22
  return /*#__PURE__*/css("z-index:", zIndex, "!important;;label:getEuiFlyoutOverlayStyles;");
23
23
  };
@@ -38,10 +38,39 @@ export var EuiFlyoutOverlay = function EuiFlyoutOverlay(_ref) {
38
38
  hasOverlayMask = _ref.hasOverlayMask,
39
39
  maskZIndex = _ref.maskZIndex,
40
40
  _ref$headerZindexLoca = _ref.headerZindexLocation,
41
- headerZindexLocation = _ref$headerZindexLoca === void 0 ? 'below' : _ref$headerZindexLoca;
41
+ headerZindexLocation = _ref$headerZindexLoca === void 0 ? 'below' : _ref$headerZindexLoca,
42
+ containerRect = _ref.containerRect;
42
43
  var styles = useMemo(function () {
43
44
  return getEuiFlyoutOverlayStyles(maskZIndex);
44
45
  }, [maskZIndex]);
46
+
47
+ // Internal ref so we can apply containerRect positioning directly on the DOM
48
+ // node, avoiding new Emotion CSS class generation on every scroll/resize.
49
+ var internalMaskRef = useRef(null);
50
+ var combinedMaskRef = useCombinedRefs([internalMaskRef, maskProps === null || maskProps === void 0 ? void 0 : maskProps.maskRef]);
51
+ useEffect(function () {
52
+ var node = internalMaskRef.current;
53
+ if (!node) return;
54
+
55
+ // containerRect positioning must be applied via node.style.setProperty rather than
56
+ // through the style prop - EuiOverlayMask requires styles to be passed via className
57
+ if (containerRect) {
58
+ node.style.setProperty('inset-block-start', "".concat(containerRect.top, "px"));
59
+ node.style.setProperty('inset-inline-start', "".concat(containerRect.left, "px"));
60
+ node.style.setProperty('inline-size', "".concat(containerRect.width, "px"));
61
+ node.style.setProperty('block-size', "".concat(containerRect.height, "px"));
62
+ node.style.setProperty('inset-inline-end', 'auto');
63
+ node.style.setProperty('inset-block-end', 'auto');
64
+ } else {
65
+ node.style.removeProperty('inset-block-start');
66
+ node.style.removeProperty('inset-inline-start');
67
+ node.style.removeProperty('inline-size');
68
+ node.style.removeProperty('block-size');
69
+ node.style.removeProperty('inset-inline-end');
70
+ node.style.removeProperty('inset-block-end');
71
+ }
72
+ }, [containerRect, hasOverlayMask]); // toggling ownFocus while the flyout is already open should cause re-render
73
+
45
74
  var content = children;
46
75
  if (!isPushed || hasOverlayMask) {
47
76
  content = ___EmotionJSX(EuiPortal, null, content);
@@ -50,6 +79,7 @@ export var EuiFlyoutOverlay = function EuiFlyoutOverlay(_ref) {
50
79
  return ___EmotionJSX(React.Fragment, null, hasOverlayMask && ___EmotionJSX(EuiOverlayMask, _extends({
51
80
  headerZindexLocation: (_maskProps$headerZind = maskProps === null || maskProps === void 0 ? void 0 : maskProps.headerZindexLocation) !== null && _maskProps$headerZind !== void 0 ? _maskProps$headerZind : headerZindexLocation
52
81
  }, maskProps, {
82
+ maskRef: combinedMaskRef,
53
83
  className: classes
54
84
  })), content);
55
85
  };
@@ -3,7 +3,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
6
- var _excluded = ["className", "children", "as", "hideCloseButton", "flyoutMenuProps", "flyoutMenuDisplayMode", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "hasChildBackground", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby", "aria-labelledby", "id", "resizable", "minWidth", "onResize", "onAnimationEnd", "container"];
6
+ var _excluded = ["className", "children", "as", "hideCloseButton", "flyoutMenuProps", "flyoutMenuDisplayMode", "closeButtonProps", "closeButtonPosition", "onClose", "ownFocus", "side", "size", "paddingSize", "maxWidth", "style", "hasChildBackground", "maskProps", "type", "outsideClickCloses", "pushMinBreakpoint", "pushAnimation", "hasAnimation", "focusTrapProps", "includeFixedHeadersInFocusTrap", "includeSelectorInFocusTrap", "aria-describedby", "aria-labelledby", "id", "resizable", "minWidth", "onResize", "onAnimationEnd", "container"];
7
7
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
9
  /*
@@ -88,23 +88,25 @@ export var EuiFlyoutComponent = /*#__PURE__*/forwardRef(function (props, ref) {
88
88
  outsideClickCloses = _usePropsWithComponen.outsideClickCloses,
89
89
  _usePropsWithComponen12 = _usePropsWithComponen.pushMinBreakpoint,
90
90
  pushMinBreakpoint = _usePropsWithComponen12 === void 0 ? DEFAULT_PUSH_MIN_BREAKPOINT : _usePropsWithComponen12,
91
- _usePropsWithComponen13 = _usePropsWithComponen.pushAnimation,
92
- pushAnimation = _usePropsWithComponen13 === void 0 ? false : _usePropsWithComponen13,
91
+ _pushAnimation = _usePropsWithComponen.pushAnimation,
92
+ _hasAnimation = _usePropsWithComponen.hasAnimation,
93
93
  _focusTrapProps = _usePropsWithComponen.focusTrapProps,
94
- _usePropsWithComponen14 = _usePropsWithComponen.includeFixedHeadersInFocusTrap,
95
- includeFixedHeadersInFocusTrap = _usePropsWithComponen14 === void 0 ? true : _usePropsWithComponen14,
94
+ _usePropsWithComponen13 = _usePropsWithComponen.includeFixedHeadersInFocusTrap,
95
+ includeFixedHeadersInFocusTrap = _usePropsWithComponen13 === void 0 ? true : _usePropsWithComponen13,
96
96
  includeSelectorInFocusTrap = _usePropsWithComponen.includeSelectorInFocusTrap,
97
97
  _ariaDescribedBy = _usePropsWithComponen['aria-describedby'],
98
98
  _ariaLabelledBy = _usePropsWithComponen['aria-labelledby'],
99
99
  id = _usePropsWithComponen.id,
100
- _usePropsWithComponen15 = _usePropsWithComponen.resizable,
101
- resizable = _usePropsWithComponen15 === void 0 ? false : _usePropsWithComponen15,
100
+ _usePropsWithComponen14 = _usePropsWithComponen.resizable,
101
+ resizable = _usePropsWithComponen14 === void 0 ? false : _usePropsWithComponen14,
102
102
  minWidth = _usePropsWithComponen.minWidth,
103
103
  onResize = _usePropsWithComponen.onResize,
104
104
  onAnimationEnd = _usePropsWithComponen.onAnimationEnd,
105
105
  containerProp = _usePropsWithComponen.container,
106
106
  rest = _objectWithoutProperties(_usePropsWithComponen, _excluded);
107
107
  var container = resolveContainer(containerProp);
108
+ var hasAnimationDefault = type === 'overlay';
109
+ var hasAnimation = _hasAnimation !== null && _hasAnimation !== void 0 ? _hasAnimation : hasAnimationDefault;
108
110
  var _useEuiThemeCSSVariab = useEuiThemeCSSVariables(),
109
111
  setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
110
112
  var Element = as || defaultElement;
@@ -525,7 +527,7 @@ export var EuiFlyoutComponent = /*#__PURE__*/forwardRef(function (props, ref) {
525
527
  return _objectSpread(_objectSpread(_objectSpread({}, style), composedStyles), containerPositionStyles);
526
528
  }, [style, size, layoutMode, siblingFlyoutId, siblingFlyoutWidth, maxWidth, flyoutZIndex, containerRect, side, isChildFlyout]);
527
529
  var styles = useEuiMemoizedStyles(euiFlyoutStyles);
528
- var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], isEuiFlyoutSizeNamed(size) && styles[size], maxWidth === false && styles.noMaxWidth, isPushed ? styles.push.push : styles.overlay.overlay, isPushed ? styles.push[side] : styles.overlay[side], isPushed && !pushAnimation && styles.push.noAnimation, styles[side]];
530
+ var cssStyles = [styles.euiFlyout, styles.paddingSizes[paddingSize], isEuiFlyoutSizeNamed(size) && styles[size], maxWidth === false && styles.noMaxWidth, isPushed ? styles.push.push : styles.overlay.overlay, isPushed ? styles.push[side] : styles.overlay[side], !hasAnimation && styles.noAnimation, styles[side]];
529
531
  var classes = classnames('euiFlyout', isChildFlyout && hasChildBackground && 'euiFlyout--hasChildBackground', className);
530
532
  var flyoutToggle = useRef(document.activeElement);
531
533
  var _useState5 = useState([]),
@@ -661,8 +663,10 @@ export var EuiFlyoutComponent = /*#__PURE__*/forwardRef(function (props, ref) {
661
663
  isPushed: isPushed,
662
664
  maskZIndex: maskZIndex,
663
665
  headerZindexLocation: effectiveHeaderZindexLocation,
666
+ containerRect: containerRect,
664
667
  maskProps: _objectSpread(_objectSpread({}, maskProps), {}, {
665
- maskRef: maskCombinedRefs
668
+ maskRef: maskCombinedRefs,
669
+ hasAnimation: hasAnimation
666
670
  })
667
671
  }, ___EmotionJSX(EuiWindowEvent, {
668
672
  event: "keydown",
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["as", "onClose", "onActive", "session"];
3
+ var _excluded = ["as", "onClose", "onActive", "session", "historyKey"];
4
4
  /*
5
5
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
6
  * or more contributor license agreements. Licensed under the Elastic License
@@ -24,6 +24,7 @@ export var EuiFlyout = /*#__PURE__*/forwardRef(function (props, ref) {
24
24
  onClose = _usePropsWithComponen.onClose,
25
25
  onActive = _usePropsWithComponen.onActive,
26
26
  session = _usePropsWithComponen.session,
27
+ historyKey = _usePropsWithComponen.historyKey,
27
28
  rest = _objectWithoutProperties(_usePropsWithComponen, _excluded);
28
29
  var hasActiveSession = useHasActiveSession();
29
30
  var isInsideParentFlyout = useIsInsideParentFlyout();
@@ -50,6 +51,7 @@ export var EuiFlyout = /*#__PURE__*/forwardRef(function (props, ref) {
50
51
  return null;
51
52
  }
52
53
  return ___EmotionJSX(EuiFlyoutMain, _extends({}, rest, {
54
+ historyKey: historyKey,
53
55
  onClose: onClose,
54
56
  onActive: onActive,
55
57
  as: "div",
@@ -60,6 +62,7 @@ export var EuiFlyout = /*#__PURE__*/forwardRef(function (props, ref) {
60
62
  // session=inherit: auto-join existing session as child
61
63
  if (hasActiveSession && effectiveSession === SESSION_INHERIT) {
62
64
  return ___EmotionJSX(EuiFlyoutChild, _extends({}, rest, {
65
+ historyKey: historyKey,
63
66
  onClose: onClose,
64
67
  onActive: onActive,
65
68
  as: "div",