@elastic/eui 113.2.1 → 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 (142) hide show
  1. package/es/components/basic_table/collapsed_item_actions.js +2 -0
  2. package/es/components/button/split_button/split_button.js +13 -0
  3. package/es/components/button/split_button/split_button_actions.js +15 -0
  4. package/es/components/collapsible_nav/collapsible_nav.js +5 -0
  5. package/es/components/color_picker/color_picker.js +31 -8
  6. package/es/components/context_menu/context_menu_item.js +9 -3
  7. package/es/components/context_menu/context_menu_item.styles.js +6 -2
  8. package/es/components/datagrid/utils/scrolling.js +39 -10
  9. package/es/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  10. package/es/components/flyout/_flyout_overlay.js +34 -4
  11. package/es/components/flyout/const.js +10 -0
  12. package/es/components/flyout/flyout.component.js +49 -57
  13. package/es/components/flyout/flyout.js +10 -2
  14. package/es/components/flyout/flyout.styles.js +2 -2
  15. package/es/components/flyout/flyout_menu.js +19 -5
  16. package/es/components/flyout/flyout_resizable.js +5 -0
  17. package/es/components/flyout/manager/actions.js +12 -5
  18. package/es/components/flyout/manager/flyout_child.js +9 -2
  19. package/es/components/flyout/manager/flyout_managed.js +27 -14
  20. package/es/components/flyout/manager/reducer.js +251 -54
  21. package/es/components/flyout/manager/store.js +74 -12
  22. package/es/components/flyout/use_flyout_menu.js +70 -0
  23. package/es/components/form/file_picker/file_picker.js +46 -18
  24. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  25. package/es/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +172 -0
  26. package/es/components/overlay_mask/overlay_mask.js +10 -3
  27. package/es/components/tree_view/tree_view_item.styles.js +1 -1
  28. package/es/services/hooks/index.js +8 -8
  29. package/es/services/hooks/useIsPointerDown.js +6 -15
  30. package/es/services/index.js +1 -1
  31. package/eui.d.ts +477 -63
  32. package/i18ntokens.json +661 -643
  33. package/lib/components/basic_table/collapsed_item_actions.js +2 -0
  34. package/lib/components/button/split_button/split_button.js +13 -0
  35. package/lib/components/button/split_button/split_button_actions.js +15 -0
  36. package/lib/components/collapsible_nav/collapsible_nav.js +5 -0
  37. package/lib/components/color_picker/color_picker.js +30 -7
  38. package/lib/components/context_menu/context_menu_item.js +9 -3
  39. package/lib/components/context_menu/context_menu_item.styles.js +5 -1
  40. package/lib/components/datagrid/utils/scrolling.js +37 -8
  41. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  42. package/lib/components/flyout/_flyout_overlay.js +33 -3
  43. package/lib/components/flyout/const.js +11 -1
  44. package/lib/components/flyout/flyout.component.js +48 -56
  45. package/lib/components/flyout/flyout.js +15 -1
  46. package/lib/components/flyout/flyout.styles.js +2 -2
  47. package/lib/components/flyout/flyout_menu.js +19 -5
  48. package/lib/components/flyout/flyout_resizable.js +5 -0
  49. package/lib/components/flyout/manager/actions.js +12 -5
  50. package/lib/components/flyout/manager/flyout_child.js +9 -2
  51. package/lib/components/flyout/manager/flyout_managed.js +19 -12
  52. package/lib/components/flyout/manager/reducer.js +250 -53
  53. package/lib/components/flyout/manager/store.js +74 -14
  54. package/lib/components/flyout/use_flyout_menu.js +75 -0
  55. package/lib/components/form/file_picker/file_picker.js +46 -18
  56. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  57. package/lib/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +179 -0
  58. package/lib/components/overlay_mask/overlay_mask.js +10 -3
  59. package/lib/components/tree_view/tree_view_item.styles.js +1 -1
  60. package/lib/services/hooks/index.js +60 -91
  61. package/lib/services/hooks/useIsPointerDown.js +7 -14
  62. package/lib/services/index.js +70 -11
  63. package/optimize/es/components/basic_table/collapsed_item_actions.js +2 -0
  64. package/optimize/es/components/color_picker/color_picker.js +31 -8
  65. package/optimize/es/components/context_menu/context_menu_item.js +3 -2
  66. package/optimize/es/components/context_menu/context_menu_item.styles.js +6 -2
  67. package/optimize/es/components/datagrid/utils/scrolling.js +39 -10
  68. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  69. package/optimize/es/components/flyout/_flyout_overlay.js +34 -4
  70. package/optimize/es/components/flyout/const.js +10 -0
  71. package/optimize/es/components/flyout/flyout.component.js +49 -57
  72. package/optimize/es/components/flyout/flyout.js +5 -2
  73. package/optimize/es/components/flyout/flyout.styles.js +2 -2
  74. package/optimize/es/components/flyout/flyout_menu.js +7 -3
  75. package/optimize/es/components/flyout/manager/actions.js +12 -5
  76. package/optimize/es/components/flyout/manager/flyout_managed.js +18 -12
  77. package/optimize/es/components/flyout/manager/reducer.js +251 -54
  78. package/optimize/es/components/flyout/manager/store.js +69 -12
  79. package/optimize/es/components/flyout/use_flyout_menu.js +69 -0
  80. package/optimize/es/components/form/file_picker/file_picker.js +35 -18
  81. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  82. package/optimize/es/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +172 -0
  83. package/optimize/es/components/overlay_mask/overlay_mask.js +4 -2
  84. package/optimize/es/components/tree_view/tree_view_item.styles.js +1 -1
  85. package/optimize/es/services/hooks/index.js +8 -8
  86. package/optimize/es/services/hooks/useIsPointerDown.js +6 -10
  87. package/optimize/es/services/index.js +1 -1
  88. package/optimize/lib/components/basic_table/collapsed_item_actions.js +2 -0
  89. package/optimize/lib/components/color_picker/color_picker.js +30 -7
  90. package/optimize/lib/components/context_menu/context_menu_item.js +3 -2
  91. package/optimize/lib/components/context_menu/context_menu_item.styles.js +5 -1
  92. package/optimize/lib/components/datagrid/utils/scrolling.js +37 -8
  93. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  94. package/optimize/lib/components/flyout/_flyout_overlay.js +33 -3
  95. package/optimize/lib/components/flyout/const.js +11 -1
  96. package/optimize/lib/components/flyout/flyout.component.js +48 -56
  97. package/optimize/lib/components/flyout/flyout.js +10 -1
  98. package/optimize/lib/components/flyout/flyout.styles.js +2 -2
  99. package/optimize/lib/components/flyout/flyout_menu.js +7 -3
  100. package/optimize/lib/components/flyout/manager/actions.js +12 -5
  101. package/optimize/lib/components/flyout/manager/flyout_managed.js +18 -12
  102. package/optimize/lib/components/flyout/manager/reducer.js +250 -53
  103. package/optimize/lib/components/flyout/manager/store.js +70 -12
  104. package/optimize/lib/components/flyout/use_flyout_menu.js +74 -0
  105. package/optimize/lib/components/form/file_picker/file_picker.js +35 -18
  106. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  107. package/optimize/lib/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +179 -0
  108. package/optimize/lib/components/overlay_mask/overlay_mask.js +4 -2
  109. package/optimize/lib/components/tree_view/tree_view_item.styles.js +1 -1
  110. package/optimize/lib/services/hooks/index.js +60 -91
  111. package/optimize/lib/services/hooks/useIsPointerDown.js +5 -10
  112. package/optimize/lib/services/index.js +70 -11
  113. package/package.json +4 -4
  114. package/test-env/components/basic_table/collapsed_item_actions.js +2 -0
  115. package/test-env/components/button/split_button/split_button.js +13 -0
  116. package/test-env/components/button/split_button/split_button_actions.js +15 -0
  117. package/test-env/components/collapsible_nav/collapsible_nav.js +5 -0
  118. package/test-env/components/color_picker/color_picker.js +30 -7
  119. package/test-env/components/context_menu/context_menu_item.js +9 -3
  120. package/test-env/components/context_menu/context_menu_item.styles.js +5 -1
  121. package/test-env/components/datagrid/utils/scrolling.js +37 -8
  122. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  123. package/test-env/components/flyout/_flyout_overlay.js +33 -3
  124. package/test-env/components/flyout/const.js +11 -1
  125. package/test-env/components/flyout/flyout.component.js +48 -56
  126. package/test-env/components/flyout/flyout.styles.js +2 -2
  127. package/test-env/components/flyout/flyout_menu.js +19 -5
  128. package/test-env/components/flyout/flyout_resizable.js +5 -0
  129. package/test-env/components/flyout/manager/actions.js +12 -5
  130. package/test-env/components/flyout/manager/flyout_child.js +9 -2
  131. package/test-env/components/flyout/manager/flyout_managed.js +19 -12
  132. package/test-env/components/flyout/manager/reducer.js +250 -53
  133. package/test-env/components/flyout/manager/store.js +70 -12
  134. package/test-env/components/flyout/use_flyout_menu.js +74 -0
  135. package/test-env/components/form/file_picker/file_picker.js +46 -18
  136. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -1
  137. package/test-env/components/markdown_editor/plugins/remark/remark_intraword_underscore.js +179 -0
  138. package/test-env/components/overlay_mask/overlay_mask.js +10 -3
  139. package/test-env/components/tree_view/tree_view_item.styles.js +1 -1
  140. package/test-env/services/hooks/index.js +60 -91
  141. package/test-env/services/hooks/useIsPointerDown.js +5 -10
  142. package/test-env/services/index.js +70 -11
@@ -29,7 +29,7 @@ var _validatable_control = require("../validatable_control");
29
29
  var _form_control_layout_clear_button = require("../form_control_layout/form_control_layout_clear_button");
30
30
  var _file_picker = require("./file_picker.styles");
31
31
  var _react2 = require("@emotion/react");
32
- var _excluded = ["stylesMemoizer", "id", "name", "initialPromptText", "className", "disabled", "compressed", "onChange", "isInvalid", "fullWidth", "isLoading", "display"];
32
+ var _excluded = ["stylesMemoizer", "id", "name", "initialPromptText", "className", "disabled", "compressed", "onChange", "isInvalid", "fullWidth", "isLoading", "display", "files"];
33
33
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
34
34
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
35
35
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
@@ -48,36 +48,41 @@ var EuiFilePickerClass = exports.EuiFilePickerClass = /*#__PURE__*/function (_Co
48
48
  args[_key] = arguments[_key];
49
49
  }
50
50
  _this = _callSuper(this, EuiFilePickerClass, [].concat(args));
51
+ (0, _defineProperty2.default)(_this, "fileInput", null);
52
+ (0, _defineProperty2.default)(_this, "generatedId", (0, _services.htmlIdGenerator)()());
53
+ (0, _defineProperty2.default)(_this, "getPromptTextFromFileList", function (files) {
54
+ if (!files || files.length === 0) {
55
+ return null;
56
+ }
57
+ if (files.length > 1) {
58
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
59
+ token: "euiFilePicker.filesSelected",
60
+ default: "{fileCount} files selected",
61
+ values: {
62
+ fileCount: files.length
63
+ }
64
+ });
65
+ }
66
+ return files[0].name;
67
+ });
51
68
  (0, _defineProperty2.default)(_this, "state", {
52
- promptText: null,
69
+ promptText: _this.props.files ? _this.getPromptTextFromFileList(_this.props.files) : null,
53
70
  isHoveringDrop: false
54
71
  });
55
- (0, _defineProperty2.default)(_this, "fileInput", null);
56
- (0, _defineProperty2.default)(_this, "generatedId", (0, _services.htmlIdGenerator)()());
57
72
  (0, _defineProperty2.default)(_this, "handleChange", function () {
58
73
  if (!_this.fileInput) return;
59
- if (_this.fileInput.files && _this.fileInput.files.length > 1) {
74
+ if (_this.fileInput.files && _this.fileInput.files.length === 1) {
60
75
  _this.setState({
61
- promptText: (0, _react2.jsx)(_i18n.EuiI18n, {
62
- token: "euiFilePicker.filesSelected",
63
- default: "{fileCount} files selected",
64
- values: {
65
- fileCount: _this.fileInput.files.length
66
- }
67
- })
68
- });
69
- } else if (_this.fileInput.files && _this.fileInput.files.length === 0) {
70
- _this.setState({
71
- promptText: null
76
+ promptText: _this.fileInput.value.split('\\').pop()
72
77
  });
73
78
  } else {
74
79
  _this.setState({
75
- promptText: _this.fileInput.value.split('\\').pop()
80
+ promptText: _this.getPromptTextFromFileList(_this.fileInput.files ? Array.from(_this.fileInput.files) : null)
76
81
  });
77
82
  }
78
83
  var onChange = _this.props.onChange;
79
84
  if (onChange) {
80
- onChange(_this.fileInput.files);
85
+ onChange(_this.fileInput.files && _this.fileInput.files.length > 0 ? _this.fileInput.files : null);
81
86
  }
82
87
  });
83
88
  (0, _defineProperty2.default)(_this, "removeFiles", function (e) {
@@ -105,6 +110,17 @@ var EuiFilePickerClass = exports.EuiFilePickerClass = /*#__PURE__*/function (_Co
105
110
  }
106
111
  (0, _inherits2.default)(EuiFilePickerClass, _Component);
107
112
  return (0, _createClass2.default)(EuiFilePickerClass, [{
113
+ key: "componentDidUpdate",
114
+ value: function componentDidUpdate(prevProps) {
115
+ // Update prompt text when files prop changes
116
+ if (this.props.files !== prevProps.files) {
117
+ var _this$props$files;
118
+ this.setState({
119
+ promptText: this.getPromptTextFromFileList((_this$props$files = this.props.files) !== null && _this$props$files !== void 0 ? _this$props$files : null)
120
+ });
121
+ }
122
+ }
123
+ }, {
108
124
  key: "render",
109
125
  value: function render() {
110
126
  var _this2 = this;
@@ -128,6 +144,7 @@ var EuiFilePickerClass = exports.EuiFilePickerClass = /*#__PURE__*/function (_Co
128
144
  fullWidth = _this2$props$fullWidt === void 0 ? defaultFullWidth : _this2$props$fullWidt,
129
145
  isLoading = _this2$props.isLoading,
130
146
  display = _this2$props.display,
147
+ files = _this2$props.files,
131
148
  rest = (0, _objectWithoutProperties2.default)(_this2$props, _excluded);
132
149
  var promptId = "".concat(id || _this2.generatedId, "-filePicker__prompt");
133
150
  var isOverridingInitialPrompt = _this2.state.promptText != null;
@@ -242,6 +259,17 @@ EuiFilePickerClass.propTypes = {
242
259
  * Use as a callback to access the HTML FileList API
243
260
  */
244
261
  onChange: _propTypes.default.func,
262
+ /**
263
+ * Optionally pass a `File[]` array to maintain the file picker's displayed
264
+ * state between re-renders. Useful for multi-step forms where the component
265
+ * may unmount and remount while the file data is still stored in context.
266
+ *
267
+ * Note: Due to browser security restrictions, the actual file input
268
+ * cannot be programmatically set with files. This prop only controls
269
+ * the displayed state (file names in the prompt). The actual file data
270
+ * should be stored and managed separately in your application state.
271
+ */
272
+ files: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.any.isRequired).isRequired, _propTypes.default.oneOf([null])]),
245
273
  /**
246
274
  * Reduces the size to a typical (compressed) input
247
275
  * @default false
@@ -12,6 +12,7 @@ var _remarkParseNoTrim = _interopRequireDefault(require("remark-parse-no-trim"))
12
12
  var _remarkEmoji = _interopRequireDefault(require("remark-emoji"));
13
13
  var _remarkBreaks = _interopRequireDefault(require("remark-breaks"));
14
14
  var _remark_prismjs = _interopRequireDefault(require("../remark/remark_prismjs"));
15
+ var _remark_intraword_underscore = _interopRequireDefault(require("../remark/remark_intraword_underscore"));
15
16
  var MarkdownTooltip = _interopRequireWildcard(require("../markdown_tooltip"));
16
17
  var MarkdownCheckbox = _interopRequireWildcard(require("../markdown_checkbox"));
17
18
  var _markdown_link_validator = require("../markdown_link_validator");
@@ -42,7 +43,7 @@ var getDefaultEuiMarkdownParsingPlugins = exports.getDefaultEuiMarkdownParsingPl
42
43
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
43
44
  var exclude = _ref.exclude,
44
45
  parsingConfig = (0, _objectWithoutProperties2.default)(_ref, _excluded);
45
- var parsingPlugins = [[_remarkParseNoTrim.default, {}], [_remark_prismjs.default, {}]];
46
+ var parsingPlugins = [[_remarkParseNoTrim.default, {}], [_remark_prismjs.default, {}], [_remark_intraword_underscore.default, {}]];
46
47
  Object.entries(DEFAULT_PARSING_PLUGINS).forEach(function (_ref2) {
47
48
  var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
48
49
  pluginName = _ref3[0],
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
8
+ 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; } }
9
+ 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; }
10
+ /*
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
+
18
+ // Temporary workaround for https://github.com/elastic/eui/issues/9404
19
+ // remark-parse v8 doesn't implement the CommonMark rule that underscore
20
+ // emphasis delimiters flanked by alphanumerics on both sides (intraword)
21
+ // cannot open or close emphasis. This causes identifiers like
22
+ // `ABCD__PineappleCherry__e` to render with bold formatting.
23
+ // This plugin walks the parsed AST and reverses incorrectly applied
24
+ // emphasis/strong nodes when both sides are alphanumeric characters.
25
+
26
+ // eslint-disable-next-line import/no-unresolved
27
+
28
+ var isTextNode = function isTextNode(node) {
29
+ return node.type === 'text';
30
+ };
31
+ var isEmphasisOrStrong = function isEmphasisOrStrong(node) {
32
+ return node.type === 'emphasis' || node.type === 'strong';
33
+ };
34
+ var isAlphanumeric = function isAlphanumeric(ch) {
35
+ return /[a-zA-Z0-9]/.test(ch);
36
+ };
37
+
38
+ /**
39
+ * Recursively converts an emphasis/strong node back into plain text
40
+ * with underscore delimiters restored.
41
+ */
42
+ function flattenToText(node) {
43
+ var delimiter = node.type === 'emphasis' ? '_' : '__';
44
+ var inner = '';
45
+ var _iterator = _createForOfIteratorHelper(node.children),
46
+ _step;
47
+ try {
48
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
49
+ var child = _step.value;
50
+ if (isTextNode(child)) {
51
+ inner += child.value;
52
+ } else if (isEmphasisOrStrong(child)) {
53
+ inner += flattenToText(child);
54
+ } else {
55
+ // Contains non-text children (links, images, etc.) — leave emphasis intact
56
+ return delimiter + collectText(node) + delimiter;
57
+ }
58
+ }
59
+ } catch (err) {
60
+ _iterator.e(err);
61
+ } finally {
62
+ _iterator.f();
63
+ }
64
+ return delimiter + inner + delimiter;
65
+ }
66
+ function collectText(node) {
67
+ if (isTextNode(node)) return node.value;
68
+ if ('children' in node) {
69
+ return node.children.map(collectText).join('');
70
+ }
71
+ return '';
72
+ }
73
+ function processParent(parent, source) {
74
+ var modified = false;
75
+ var i = 0;
76
+ while (i < parent.children.length) {
77
+ var child = parent.children[i];
78
+ if (isEmphasisOrStrong(child) && isIntraword(parent, i, source)) {
79
+ var textValue = flattenToText(child);
80
+ var replacement = {
81
+ type: 'text',
82
+ value: textValue
83
+ };
84
+ parent.children.splice(i, 1, replacement);
85
+ modified = true;
86
+ // Don't advance — the replaced node may need to merge with neighbors
87
+ } else {
88
+ if ('children' in child) {
89
+ processParent(child, source);
90
+ }
91
+ i++;
92
+ }
93
+ if (modified) {
94
+ mergeAdjacentText(parent);
95
+ modified = false;
96
+ // After merging, restart scan since indices shifted
97
+ i = 0;
98
+ }
99
+ }
100
+ }
101
+ function getInnerText(node) {
102
+ if (isTextNode(node)) return node.value;
103
+ if ('children' in node) {
104
+ var children = node.children;
105
+ if (children.length > 0) return getInnerText(children[0]);
106
+ }
107
+ return '';
108
+ }
109
+ function getInnerTextEnd(node) {
110
+ if (isTextNode(node)) return node.value;
111
+ if ('children' in node) {
112
+ var children = node.children;
113
+ if (children.length > 0) return getInnerTextEnd(children[children.length - 1]);
114
+ }
115
+ return '';
116
+ }
117
+
118
+ /**
119
+ * Checks whether the emphasis/strong node at `index` within `parent`
120
+ * is an intraword usage of underscore delimiters.
121
+ *
122
+ * A node is intraword when at least one side has an alphanumeric text
123
+ * neighbor AND the inner content on the corresponding delimiter side
124
+ * also touches word characters — proving the underscores are embedded
125
+ * in a word rather than used as formatting.
126
+ */
127
+ function isIntraword(parent, index, source) {
128
+ var _node$position;
129
+ var node = parent.children[index];
130
+
131
+ // Verify the delimiter is `_` (not `*`) by inspecting the source
132
+ if (((_node$position = node.position) === null || _node$position === void 0 || (_node$position = _node$position.start) === null || _node$position === void 0 ? void 0 : _node$position.offset) != null) {
133
+ var ch = source[node.position.start.offset];
134
+ if (ch !== '_') return false;
135
+ }
136
+ var prev = index > 0 ? parent.children[index - 1] : null;
137
+ var next = index < parent.children.length - 1 ? parent.children[index + 1] : null;
138
+ var prevChar = prev != null && isTextNode(prev) && prev.value.length > 0 ? prev.value[prev.value.length - 1] : null;
139
+ var nextChar = next != null && isTextNode(next) && next.value.length > 0 ? next.value[0] : null;
140
+ var prevIsAlpha = prevChar != null && isAlphanumeric(prevChar);
141
+ var nextIsAlpha = nextChar != null && isAlphanumeric(nextChar);
142
+
143
+ // Both sides flanked by alphanumeric — classic intraword (e.g. `foo__bar__baz`)
144
+ if (prevIsAlpha && nextIsAlpha) return true;
145
+
146
+ // One-sided: prev is alpha or underscore, no alpha next — check inner text
147
+ // starts with alpha (e.g. `Lorem__ipsum__` or `Lorem__ipsum_`)
148
+ if (prevIsAlpha || prevChar === '_') {
149
+ var inner = getInnerText(node);
150
+ if (inner.length > 0 && isAlphanumeric(inner[0])) return true;
151
+ }
152
+
153
+ // One-sided: next is alpha or underscore, no alpha prev — check inner text
154
+ // ends with alpha (e.g. `__Lorem__ipsum` or `_Lorem__ipsum`)
155
+ if (nextIsAlpha || nextChar === '_') {
156
+ var _inner = getInnerTextEnd(node);
157
+ if (_inner.length > 0 && isAlphanumeric(_inner[_inner.length - 1])) return true;
158
+ }
159
+ return false;
160
+ }
161
+ function mergeAdjacentText(parent) {
162
+ var i = 0;
163
+ while (i < parent.children.length - 1) {
164
+ if (isTextNode(parent.children[i]) && isTextNode(parent.children[i + 1])) {
165
+ parent.children[i].value += parent.children[i + 1].value;
166
+ parent.children.splice(i + 1, 1);
167
+ } else {
168
+ i++;
169
+ }
170
+ }
171
+ }
172
+ var attacher = function remarkIntrawordUnderscore() {
173
+ return function (tree, file) {
174
+ var source = String(file);
175
+ processParent(tree, source);
176
+ };
177
+ };
178
+ var _default = exports.default = attacher;
179
+ module.exports = exports.default;
@@ -18,7 +18,7 @@ var _services = require("../../services");
18
18
  var _portal = require("../portal");
19
19
  var _overlay_mask = require("./overlay_mask.styles");
20
20
  var _overlay_mask_body = require("./overlay_mask_body.styles");
21
- var _excluded = ["className", "children", "headerZindexLocation", "maskRef"];
21
+ var _excluded = ["className", "children", "headerZindexLocation", "maskRef", "hasAnimation"];
22
22
  /*
23
23
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
24
  * or more contributor license agreements. Licensed under the Elastic License
@@ -34,6 +34,8 @@ var EuiOverlayMask = exports.EuiOverlayMask = function EuiOverlayMask(_ref) {
34
34
  _ref$headerZindexLoca = _ref.headerZindexLocation,
35
35
  headerZindexLocation = _ref$headerZindexLoca === void 0 ? 'above' : _ref$headerZindexLoca,
36
36
  maskRef = _ref.maskRef,
37
+ _ref$hasAnimation = _ref.hasAnimation,
38
+ hasAnimation = _ref$hasAnimation === void 0 ? true : _ref$hasAnimation,
37
39
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
40
  var hasRendered = (0, _react.useRef)(false);
39
41
  var _useState = (0, _react.useState)(null),
@@ -45,7 +47,7 @@ var EuiOverlayMask = exports.EuiOverlayMask = function EuiOverlayMask(_ref) {
45
47
  hasRendered.current = true;
46
48
  }, []);
47
49
  var styles = (0, _services.useEuiMemoizedStyles)(_overlay_mask.euiOverlayMaskStyles);
48
- var cssStyles = (0, _css.cx)([styles.euiOverlayMask, styles["".concat(headerZindexLocation, "Header")], hasRendered.current && styles.noAnimation]);
50
+ var cssStyles = (0, _css.cx)([styles.euiOverlayMask, styles["".concat(headerZindexLocation, "Header")], (hasRendered.current || !hasAnimation) && styles.noAnimation]);
49
51
  (0, _react.useEffect)(function () {
50
52
  if (!overlayMaskNode) return;
51
53
  (0, _common.keysOf)(rest).forEach(function (key) {
@@ -104,5 +106,10 @@ EuiOverlayMask.propTypes = {
104
106
  /**
105
107
  * React ref to be passed to the wrapping container
106
108
  */
107
- maskRef: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.any.isRequired])
109
+ maskRef: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.any.isRequired]),
110
+ /**
111
+ * If enabled, the mask will have a fade in animation.
112
+ * @default true
113
+ */
114
+ hasAnimation: _propTypes.default.bool
108
115
  };
@@ -30,7 +30,7 @@ var euiTreeViewItemStyles = exports.euiTreeViewItemStyles = function euiTreeView
30
30
  euiTreeView__node: _ref,
31
31
  default: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', defaultSize), " line-height:", defaultSize, ";;label:default;"),
32
32
  compressed: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', compressedSize), " line-height:", compressedSize, ";;label:compressed;"),
33
- expanded: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', '100vh'), ";;label:expanded;")
33
+ expanded: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', 'none'), ";;label:expanded;")
34
34
  },
35
35
  button: {
36
36
  euiTreeView__nodeInner: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), " ", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.s), " ", (0, _global_styling.logicalCSS)('padding-right', euiTheme.size.xxs), " display:flex;align-items:center;&:focus{", (0, _global_styling.euiFocusRing)(euiThemeContext, 'inset'), ";}&:hover,&:active,&:focus{background-color:", euiTheme.components.treeViewItemBackgroundHover, ";};label:euiTreeView__nodeInner;"),
@@ -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");
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.useIsPointerDown = useIsPointerDown;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
7
  var _react = require("react");
10
8
  /*
11
9
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -20,23 +18,20 @@ var _react = require("react");
20
18
  * Useful for detecting text selection in progress.
21
19
  */
22
20
  function useIsPointerDown(container) {
23
- var _useState = (0, _react.useState)(false),
24
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
- isPointerDown = _useState2[0],
26
- setIsPointerDown = _useState2[1];
21
+ var isPointerDownRef = (0, _react.useRef)(false);
27
22
  (0, _react.useEffect)(function () {
28
23
  var handlePointerDown = function handlePointerDown(event) {
29
24
  if (container !== null && container !== void 0 && container.current && !container.current.contains(event.target)) {
30
25
  return;
31
26
  }
32
- setIsPointerDown(true);
27
+ isPointerDownRef.current = true;
33
28
  };
34
29
  var handlePointerUpOrCancel = function handlePointerUpOrCancel() {
35
- setIsPointerDown(false);
30
+ isPointerDownRef.current = false;
36
31
  };
37
32
  var handleVisibilityChange = function handleVisibilityChange() {
38
33
  if (document.visibilityState === 'hidden') {
39
- setIsPointerDown(false);
34
+ isPointerDownRef.current = false;
40
35
  }
41
36
  };
42
37
  var controller = new AbortController();
@@ -54,5 +49,5 @@ function useIsPointerDown(container) {
54
49
  controller.abort();
55
50
  };
56
51
  }, [container]);
57
- return isPointerDown;
52
+ return isPointerDownRef;
58
53
  }