@elastic/eui 113.2.0 → 113.3.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 (79) hide show
  1. package/es/components/basic_table/collapsed_item_actions.js +2 -0
  2. package/es/components/context_menu/context_menu_item.js +9 -3
  3. package/es/components/context_menu/context_menu_item.styles.js +6 -2
  4. package/es/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  5. package/es/components/flyout/const.js +10 -0
  6. package/es/components/flyout/flyout.component.js +47 -59
  7. package/es/components/flyout/flyout.js +1 -1
  8. package/es/components/flyout/flyout_menu.js +17 -4
  9. package/es/components/flyout/manager/actions.js +9 -5
  10. package/es/components/flyout/manager/flyout_child.js +8 -2
  11. package/es/components/flyout/manager/flyout_managed.js +24 -13
  12. package/es/components/flyout/manager/reducer.js +182 -44
  13. package/es/components/flyout/manager/store.js +67 -12
  14. package/es/components/flyout/use_flyout_menu.js +70 -0
  15. package/es/components/form/file_picker/file_picker.js +46 -18
  16. package/es/components/table/table_row_cell.js +2 -2
  17. package/eui.d.ts +397 -15
  18. package/lib/components/basic_table/collapsed_item_actions.js +2 -0
  19. package/lib/components/context_menu/context_menu_item.js +9 -3
  20. package/lib/components/context_menu/context_menu_item.styles.js +5 -1
  21. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  22. package/lib/components/flyout/const.js +11 -1
  23. package/lib/components/flyout/flyout.component.js +46 -58
  24. package/lib/components/flyout/flyout.js +6 -0
  25. package/lib/components/flyout/flyout_menu.js +17 -4
  26. package/lib/components/flyout/manager/actions.js +9 -5
  27. package/lib/components/flyout/manager/flyout_child.js +8 -2
  28. package/lib/components/flyout/manager/flyout_managed.js +16 -11
  29. package/lib/components/flyout/manager/reducer.js +181 -43
  30. package/lib/components/flyout/manager/store.js +67 -14
  31. package/lib/components/flyout/use_flyout_menu.js +75 -0
  32. package/lib/components/form/file_picker/file_picker.js +46 -18
  33. package/lib/components/table/table_row_cell.js +2 -2
  34. package/optimize/es/components/basic_table/collapsed_item_actions.js +2 -0
  35. package/optimize/es/components/context_menu/context_menu_item.js +3 -2
  36. package/optimize/es/components/context_menu/context_menu_item.styles.js +6 -2
  37. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  38. package/optimize/es/components/flyout/const.js +10 -0
  39. package/optimize/es/components/flyout/flyout.component.js +47 -59
  40. package/optimize/es/components/flyout/flyout.js +1 -1
  41. package/optimize/es/components/flyout/flyout_menu.js +5 -2
  42. package/optimize/es/components/flyout/manager/actions.js +9 -5
  43. package/optimize/es/components/flyout/manager/flyout_managed.js +16 -11
  44. package/optimize/es/components/flyout/manager/reducer.js +182 -44
  45. package/optimize/es/components/flyout/manager/store.js +62 -12
  46. package/optimize/es/components/flyout/use_flyout_menu.js +69 -0
  47. package/optimize/es/components/form/file_picker/file_picker.js +35 -18
  48. package/optimize/es/components/table/table_row_cell.js +2 -2
  49. package/optimize/lib/components/basic_table/collapsed_item_actions.js +2 -0
  50. package/optimize/lib/components/context_menu/context_menu_item.js +3 -2
  51. package/optimize/lib/components/context_menu/context_menu_item.styles.js +5 -1
  52. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  53. package/optimize/lib/components/flyout/const.js +11 -1
  54. package/optimize/lib/components/flyout/flyout.component.js +46 -58
  55. package/optimize/lib/components/flyout/flyout.js +6 -0
  56. package/optimize/lib/components/flyout/flyout_menu.js +5 -2
  57. package/optimize/lib/components/flyout/manager/actions.js +9 -5
  58. package/optimize/lib/components/flyout/manager/flyout_managed.js +16 -11
  59. package/optimize/lib/components/flyout/manager/reducer.js +181 -43
  60. package/optimize/lib/components/flyout/manager/store.js +63 -12
  61. package/optimize/lib/components/flyout/use_flyout_menu.js +74 -0
  62. package/optimize/lib/components/form/file_picker/file_picker.js +35 -18
  63. package/optimize/lib/components/table/table_row_cell.js +2 -2
  64. package/package.json +3 -3
  65. package/test-env/components/basic_table/collapsed_item_actions.js +2 -0
  66. package/test-env/components/context_menu/context_menu_item.js +9 -3
  67. package/test-env/components/context_menu/context_menu_item.styles.js +5 -1
  68. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +17 -3
  69. package/test-env/components/flyout/const.js +11 -1
  70. package/test-env/components/flyout/flyout.component.js +46 -58
  71. package/test-env/components/flyout/flyout_menu.js +17 -4
  72. package/test-env/components/flyout/manager/actions.js +9 -5
  73. package/test-env/components/flyout/manager/flyout_child.js +8 -2
  74. package/test-env/components/flyout/manager/flyout_managed.js +16 -11
  75. package/test-env/components/flyout/manager/reducer.js +181 -43
  76. package/test-env/components/flyout/manager/store.js +63 -12
  77. package/test-env/components/flyout/use_flyout_menu.js +74 -0
  78. package/test-env/components/form/file_picker/file_picker.js +46 -18
  79. package/test-env/components/table/table_row_cell.js +2 -2
@@ -1,4 +1,4 @@
1
- var _excluded = ["stylesMemoizer", "id", "name", "initialPromptText", "className", "disabled", "compressed", "onChange", "isInvalid", "fullWidth", "isLoading", "display"];
1
+ var _excluded = ["stylesMemoizer", "id", "name", "initialPromptText", "className", "disabled", "compressed", "onChange", "isInvalid", "fullWidth", "isLoading", "display", "files"];
2
2
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
3
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
4
4
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
@@ -52,36 +52,41 @@ export var EuiFilePickerClass = /*#__PURE__*/function (_Component) {
52
52
  args[_key] = arguments[_key];
53
53
  }
54
54
  _this = _callSuper(this, EuiFilePickerClass, [].concat(args));
55
+ _defineProperty(_this, "fileInput", null);
56
+ _defineProperty(_this, "generatedId", htmlIdGenerator()());
57
+ _defineProperty(_this, "getPromptTextFromFileList", function (files) {
58
+ if (!files || files.length === 0) {
59
+ return null;
60
+ }
61
+ if (files.length > 1) {
62
+ return ___EmotionJSX(EuiI18n, {
63
+ token: "euiFilePicker.filesSelected",
64
+ default: "{fileCount} files selected",
65
+ values: {
66
+ fileCount: files.length
67
+ }
68
+ });
69
+ }
70
+ return files[0].name;
71
+ });
55
72
  _defineProperty(_this, "state", {
56
- promptText: null,
73
+ promptText: _this.props.files ? _this.getPromptTextFromFileList(_this.props.files) : null,
57
74
  isHoveringDrop: false
58
75
  });
59
- _defineProperty(_this, "fileInput", null);
60
- _defineProperty(_this, "generatedId", htmlIdGenerator()());
61
76
  _defineProperty(_this, "handleChange", function () {
62
77
  if (!_this.fileInput) return;
63
- if (_this.fileInput.files && _this.fileInput.files.length > 1) {
78
+ if (_this.fileInput.files && _this.fileInput.files.length === 1) {
64
79
  _this.setState({
65
- promptText: ___EmotionJSX(EuiI18n, {
66
- token: "euiFilePicker.filesSelected",
67
- default: "{fileCount} files selected",
68
- values: {
69
- fileCount: _this.fileInput.files.length
70
- }
71
- })
72
- });
73
- } else if (_this.fileInput.files && _this.fileInput.files.length === 0) {
74
- _this.setState({
75
- promptText: null
80
+ promptText: _this.fileInput.value.split('\\').pop()
76
81
  });
77
82
  } else {
78
83
  _this.setState({
79
- promptText: _this.fileInput.value.split('\\').pop()
84
+ promptText: _this.getPromptTextFromFileList(_this.fileInput.files ? Array.from(_this.fileInput.files) : null)
80
85
  });
81
86
  }
82
87
  var onChange = _this.props.onChange;
83
88
  if (onChange) {
84
- onChange(_this.fileInput.files);
89
+ onChange(_this.fileInput.files && _this.fileInput.files.length > 0 ? _this.fileInput.files : null);
85
90
  }
86
91
  });
87
92
  _defineProperty(_this, "removeFiles", function (e) {
@@ -109,6 +114,17 @@ export var EuiFilePickerClass = /*#__PURE__*/function (_Component) {
109
114
  }
110
115
  _inherits(EuiFilePickerClass, _Component);
111
116
  return _createClass(EuiFilePickerClass, [{
117
+ key: "componentDidUpdate",
118
+ value: function componentDidUpdate(prevProps) {
119
+ // Update prompt text when files prop changes
120
+ if (this.props.files !== prevProps.files) {
121
+ var _this$props$files;
122
+ this.setState({
123
+ promptText: this.getPromptTextFromFileList((_this$props$files = this.props.files) !== null && _this$props$files !== void 0 ? _this$props$files : null)
124
+ });
125
+ }
126
+ }
127
+ }, {
112
128
  key: "render",
113
129
  value: function render() {
114
130
  var _this2 = this;
@@ -132,6 +148,7 @@ export var EuiFilePickerClass = /*#__PURE__*/function (_Component) {
132
148
  fullWidth = _this2$props$fullWidt === void 0 ? defaultFullWidth : _this2$props$fullWidt,
133
149
  isLoading = _this2$props.isLoading,
134
150
  display = _this2$props.display,
151
+ files = _this2$props.files,
135
152
  rest = _objectWithoutProperties(_this2$props, _excluded);
136
153
  var promptId = "".concat(id || _this2.generatedId, "-filePicker__prompt");
137
154
  var isOverridingInitialPrompt = _this2.state.promptText != null;
@@ -246,6 +263,17 @@ EuiFilePickerClass.propTypes = {
246
263
  * Use as a callback to access the HTML FileList API
247
264
  */
248
265
  onChange: PropTypes.func,
266
+ /**
267
+ * Optionally pass a `File[]` array to maintain the file picker's displayed
268
+ * state between re-renders. Useful for multi-step forms where the component
269
+ * may unmount and remount while the file data is still stored in context.
270
+ *
271
+ * Note: Due to browser security restrictions, the actual file input
272
+ * cannot be programmatically set with files. This prop only controls
273
+ * the displayed state (file names in the prompt). The actual file data
274
+ * should be stored and managed separately in your application state.
275
+ */
276
+ files: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any.isRequired).isRequired, PropTypes.oneOf([null])]),
249
277
  /**
250
278
  * Reduces the size to a typical (compressed) input
251
279
  * @default false
@@ -72,9 +72,9 @@ export var EuiTableRowCell = function EuiTableRowCell(_ref) {
72
72
  return defaultWidth;
73
73
  };
74
74
  var inlineWidthStyles = resolveWidthPropsAsStyle(_style, {
75
- width: getResponsiveWidth(width, mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.minWidth),
75
+ width: getResponsiveWidth(width, mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.width),
76
76
  minWidth: getResponsiveWidth(minWidth, mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.minWidth),
77
- maxWidth: getResponsiveWidth(maxWidth, mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.minWidth)
77
+ maxWidth: getResponsiveWidth(maxWidth, mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.maxWidth)
78
78
  });
79
79
  var Element = setScopeRow ? 'th' : 'td';
80
80
  var sharedProps = _objectSpread({