@blocklet/launcher-ux 1.7.76 → 1.7.79

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.
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SubmitHotKey;
7
+
8
+ var _react = require("react");
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /**
15
+ * This component should be used only once in each page,
16
+ * otherwise all registered events will be triggered when the user presses the Meta(Ctrl)+Enter key combination,
17
+ * which may not be consistent with the actual business logic.
18
+ */
19
+ function SubmitHotKey(_ref) {
20
+ let {
21
+ disabled,
22
+ children,
23
+ onConfirm
24
+ } = _ref;
25
+ (0, _react.useEffect)(() => {
26
+ if (disabled) {
27
+ return () => {};
28
+ }
29
+
30
+ const listener = event => {
31
+ if (event.code === 'Enter' && (event.metaKey === true || event.ctrlKey === true)) {
32
+ onConfirm();
33
+ }
34
+ };
35
+
36
+ document.addEventListener('keydown', listener);
37
+ return () => {
38
+ document.removeEventListener('keydown', listener);
39
+ };
40
+ }, [disabled, onConfirm]);
41
+ return children;
42
+ }
43
+
44
+ SubmitHotKey.propTypes = {
45
+ disabled: _propTypes.default.bool,
46
+ children: _propTypes.default.any.isRequired,
47
+ onConfirm: _propTypes.default.func.isRequired
48
+ };
49
+ SubmitHotKey.defaultProps = {
50
+ disabled: false
51
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/launcher-ux",
3
- "version": "1.7.76",
3
+ "version": "1.7.79",
4
4
  "description": "Launcher UX lib",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -50,5 +50,5 @@
50
50
  "babel-plugin-inline-react-svg": "^2.0.1",
51
51
  "babel-plugin-styled-components": "^1.10.7"
52
52
  },
53
- "gitHead": "85fe3de3cbf890c62226a186d941c1d527a050b7"
53
+ "gitHead": "b901351e34881541e11ae0123d09ee2402fe76ae"
54
54
  }