@prom-ui/core 0.2.0 → 0.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 (117) hide show
  1. package/Avatar/package.json +1 -1
  2. package/Backdrop/package.json +1 -1
  3. package/Body/package.json +1 -1
  4. package/BodyProvider/package.json +1 -1
  5. package/Box/package.json +1 -1
  6. package/Button/package.json +1 -1
  7. package/ButtonPageUp/package.json +1 -1
  8. package/Checkbox/package.json +1 -1
  9. package/Flex/package.json +1 -1
  10. package/Grid/package.json +1 -1
  11. package/Icon/package.json +1 -1
  12. package/Image/package.json +1 -1
  13. package/ImageEmoji/package.json +1 -1
  14. package/Input/package.json +1 -1
  15. package/InputField/package.json +1 -1
  16. package/KeyPress/cjs/index.development.js +5 -1
  17. package/KeyPress/cjs/index.development.v2.js +5 -1
  18. package/KeyPress/cjs/index.production.js +1 -1
  19. package/KeyPress/cjs/index.production.v2.js +1 -1
  20. package/KeyPress/index.d.ts +2 -0
  21. package/KeyPress/package.json +1 -1
  22. package/Line/package.json +1 -1
  23. package/Link/package.json +1 -1
  24. package/List/package.json +1 -1
  25. package/Media/{context.d.ts → MediaProvider.d.ts} +2 -2
  26. package/Media/cjs/index.development.js +16 -48
  27. package/Media/cjs/index.development.v2.js +16 -48
  28. package/Media/cjs/index.production.js +1 -1
  29. package/Media/cjs/index.production.v2.js +1 -1
  30. package/Media/index.d.ts +15 -7
  31. package/Media/package.json +2 -2
  32. package/OutsideClick/cjs/index.development.js +5 -1
  33. package/OutsideClick/cjs/index.development.v2.js +5 -1
  34. package/OutsideClick/cjs/index.production.js +1 -1
  35. package/OutsideClick/cjs/index.production.v2.js +1 -1
  36. package/OutsideClick/index.d.ts +2 -1
  37. package/OutsideClick/package.json +1 -1
  38. package/Overlay/package.json +1 -1
  39. package/Picture/package.json +1 -1
  40. package/PortableOverlay/package.json +1 -1
  41. package/Portal/cjs/index.development.js +1 -1
  42. package/Portal/cjs/index.development.v2.js +1 -1
  43. package/Portal/cjs/index.production.js +1 -1
  44. package/Portal/cjs/index.production.v2.js +1 -1
  45. package/Portal/package.json +1 -1
  46. package/QRCode/package.json +1 -1
  47. package/Rating/package.json +1 -1
  48. package/SafeQuery/package.json +1 -1
  49. package/Scroll/package.json +1 -1
  50. package/ScrollControls/package.json +1 -1
  51. package/SideOverlay/package.json +1 -1
  52. package/SimpleSlider/package.json +1 -1
  53. package/Skeleton/package.json +1 -1
  54. package/Spinner/package.json +1 -1
  55. package/Text/package.json +1 -1
  56. package/TextEmoji/package.json +1 -1
  57. package/Tooltip/package.json +1 -1
  58. package/Tumbler/package.json +1 -1
  59. package/package.json +5 -4
  60. package/useDebounce/cjs/index.development.js +32 -0
  61. package/useDebounce/cjs/index.development.v2.js +32 -0
  62. package/useDebounce/cjs/index.production.js +1 -0
  63. package/useDebounce/cjs/index.production.v2.js +1 -0
  64. package/useDebounce/index.d.ts +4 -0
  65. package/useDebounce/index.js +7 -0
  66. package/useDebounce/index.v2.js +7 -0
  67. package/useDebounce/package.json +9 -0
  68. package/useIsMounted/cjs/index.development.js +21 -0
  69. package/useIsMounted/cjs/index.development.v2.js +21 -0
  70. package/useIsMounted/cjs/index.production.js +1 -0
  71. package/useIsMounted/cjs/index.production.v2.js +1 -0
  72. package/useIsMounted/index.d.ts +4 -0
  73. package/useIsMounted/index.js +7 -0
  74. package/useIsMounted/index.v2.js +7 -0
  75. package/useIsMounted/package.json +9 -0
  76. package/useKeyPress/cjs/index.development.js +60 -0
  77. package/useKeyPress/cjs/index.development.v2.js +60 -0
  78. package/useKeyPress/cjs/index.production.js +1 -0
  79. package/useKeyPress/cjs/index.production.v2.js +1 -0
  80. package/useKeyPress/index.d.ts +6 -0
  81. package/useKeyPress/index.js +7 -0
  82. package/useKeyPress/index.v2.js +7 -0
  83. package/useKeyPress/package.json +9 -0
  84. package/useMedia/cjs/index.development.js +27 -0
  85. package/useMedia/cjs/index.development.v2.js +27 -0
  86. package/useMedia/cjs/index.production.js +1 -0
  87. package/useMedia/cjs/index.production.v2.js +1 -0
  88. package/useMedia/index.d.ts +21 -0
  89. package/useMedia/index.js +7 -0
  90. package/useMedia/index.v2.js +7 -0
  91. package/useMedia/package.json +12 -0
  92. package/useOutsideClick/cjs/index.development.js +16 -0
  93. package/useOutsideClick/cjs/index.development.v2.js +16 -0
  94. package/useOutsideClick/cjs/index.production.js +1 -0
  95. package/useOutsideClick/cjs/index.production.v2.js +1 -0
  96. package/useOutsideClick/index.d.ts +5 -0
  97. package/useOutsideClick/index.js +7 -0
  98. package/useOutsideClick/index.v2.js +7 -0
  99. package/useOutsideClick/package.json +12 -0
  100. package/usePortal/cjs/index.development.js +85 -0
  101. package/usePortal/cjs/index.development.v2.js +85 -0
  102. package/usePortal/cjs/index.production.js +1 -0
  103. package/usePortal/cjs/index.production.v2.js +1 -0
  104. package/usePortal/index.d.ts +12 -0
  105. package/usePortal/index.js +7 -0
  106. package/usePortal/index.v2.js +7 -0
  107. package/usePortal/package.json +9 -0
  108. package/useScrollPosition/cjs/index.development.js +12 -0
  109. package/useScrollPosition/cjs/index.development.v2.js +12 -0
  110. package/useScrollPosition/cjs/index.production.js +1 -0
  111. package/useScrollPosition/cjs/index.production.v2.js +1 -0
  112. package/useScrollPosition/index.d.ts +5 -0
  113. package/useScrollPosition/index.js +7 -0
  114. package/useScrollPosition/index.v2.js +7 -0
  115. package/useScrollPosition/package.json +12 -0
  116. package/Media/breakpoints.d.ts +0 -17
  117. package/Media/useMedia.d.ts +0 -7
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react-dom"),t=require("@prom-ui/hooks/usePortal");function o(e){if(e&&"object"==typeof e&&"default"in e)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var i=o(e),c=function(e){var o=e.id,i=e.children,c=t.usePortal(o);return c?r.createPortal(i,c):i};exports.Portal=function(e){var r=e.id,t=void 0===r?"react-portal":r,o=e.isActive,n=void 0===o||o,u=e.children;return n?i.createElement(c,{id:t},u):u};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react-dom"),t=require("@prom-ui/core/usePortal");function c(e){if(e&&"object"==typeof e&&"default"in e)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,c.get?c:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var i=c(e),o=function(e){var c=e.id,i=e.children,o=t.usePortal(c);return o?r.createPortal(i,o):i};exports.Portal=function(e){var r=e.id,t=void 0===r?"react-portal":r,c=e.isActive,n=void 0===c||c,u=e.children;return n?i.createElement(o,{id:t},u):u};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react-dom"),t=require("@prom-ui/hooks/usePortal");function o(e){if(e&&"object"==typeof e&&"default"in e)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var i=o(e),c=function(e){var o=e.id,i=e.children,c=t.usePortal(o);return c?r.createPortal(i,c):i};exports.Portal=function(e){var r=e.id,t=void 0===r?"react-portal":r,o=e.isActive,n=void 0===o||o,u=e.children;return n?i.createElement(c,{id:t},u):u};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react-dom"),t=require("@prom-ui/core/usePortal");function c(e){if(e&&"object"==typeof e&&"default"in e)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,c.get?c:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var i=c(e),o=function(e){var c=e.id,i=e.children,o=t.usePortal(c);return o?r.createPortal(i,o):i};exports.Portal=function(e){var r=e.id,t=void 0===r?"react-portal":r,c=e.isActive,n=void 0===c||c,u=e.children;return n?i.createElement(o,{id:t},u):u};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Portal",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/QRCode",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Rating",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/SafeQuery",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Scroll",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/ScrollControls",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/SideOverlay",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/SimpleSlider",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Skeleton",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Spinner",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Text/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Text",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/TextEmoji",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Tooltip",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Tumbler",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@prom-ui/core",
3
3
  "author": "e.marchenko",
4
- "version": "0.2.0",
4
+ "version": "0.3.0",
5
5
  "description": "core ui blocks",
6
6
  "scripts": {
7
7
  "test": "jest --verbose ./src",
@@ -33,6 +33,8 @@
33
33
  "@evo/emoji": "^0.2.0",
34
34
  "@evo/emoji-text": "^0.1.1",
35
35
  "@evo/errcatch": "^1.0.2",
36
+ "@n8tb1t/use-scroll-position": "^2.0.3",
37
+ "@rooks/use-outside-click-ref": "^3.6.0",
36
38
  "classnames": "^2.3.1",
37
39
  "evokit": "^3.2.3",
38
40
  "evokit-body": "^3.2.0",
@@ -50,7 +52,7 @@
50
52
  "qrcode.react": "^3.1.0",
51
53
  "react-easy-swipe": "^0.0.22",
52
54
  "react-popper-tooltip": "^4.4.2",
53
- "react-responsive": "^8.1.0",
55
+ "react-responsive": "^9.0.2",
54
56
  "react-scrolllock": "^5.0.1",
55
57
  "react-transition-group": "^4.4.2",
56
58
  "ts-debounce": "^4.0.0",
@@ -58,7 +60,6 @@
58
60
  },
59
61
  "peerDependencies": {
60
62
  "@apollo/client": "*",
61
- "@prom-ui/hooks": "*",
62
63
  "@prom-ui/icons": "*",
63
64
  "prop-types": "*",
64
65
  "react": "*",
@@ -69,5 +70,5 @@
69
70
  "optional": true
70
71
  }
71
72
  },
72
- "gitHead": "2515656fea6a3229a6554b5469978b45cc79dbdb"
73
+ "gitHead": "1dfe5028f7a04a2d1955f2a8a73e19c95c0d6be3"
73
74
  }
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ /**
8
+ * Reack hook
9
+ */
10
+ var useDebounce = function (value, delay) {
11
+ // State and setters for debounced value
12
+ var _a = react.useState(value),
13
+ debouncedValue = _a[0],
14
+ setDebouncedValue = _a[1];
15
+ react.useEffect(function () {
16
+ // Update debounced value after delay
17
+ var handler = setTimeout(function () {
18
+ setDebouncedValue(value);
19
+ }, delay);
20
+ // Cancel the timeout if value changes (also on delay change or unmount)
21
+ // This is how we prevent debounced value from updating if value is changed ...
22
+ // .. within the delay period. Timeout gets cleared and restarted.
23
+ return function () {
24
+ clearTimeout(handler);
25
+ };
26
+ }, [value, delay] // Only re-call effect if value or delay changes
27
+ );
28
+
29
+ return debouncedValue;
30
+ };
31
+
32
+ exports.useDebounce = useDebounce;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ /**
8
+ * Reack hook
9
+ */
10
+ var useDebounce = function (value, delay) {
11
+ // State and setters for debounced value
12
+ var _a = react.useState(value),
13
+ debouncedValue = _a[0],
14
+ setDebouncedValue = _a[1];
15
+ react.useEffect(function () {
16
+ // Update debounced value after delay
17
+ var handler = setTimeout(function () {
18
+ setDebouncedValue(value);
19
+ }, delay);
20
+ // Cancel the timeout if value changes (also on delay change or unmount)
21
+ // This is how we prevent debounced value from updating if value is changed ...
22
+ // .. within the delay period. Timeout gets cleared and restarted.
23
+ return function () {
24
+ clearTimeout(handler);
25
+ };
26
+ }, [value, delay] // Only re-call effect if value or delay changes
27
+ );
28
+
29
+ return debouncedValue;
30
+ };
31
+
32
+ exports.useDebounce = useDebounce;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.useDebounce=function(t,r){var u=e.useState(t),n=u[0],o=u[1];return e.useEffect((function(){var e=setTimeout((function(){o(t)}),r);return function(){clearTimeout(e)}}),[t,r]),n};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.useDebounce=function(t,r){var u=e.useState(t),n=u[0],o=u[1];return e.useEffect((function(){var e=setTimeout((function(){o(t)}),r);return function(){clearTimeout(e)}}),[t,r]),n};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Reack hook
3
+ */
4
+ export declare const useDebounce: (value: any, delay: number) => any;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.js');
7
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.v2.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.v2.js');
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "@prom-ui/core/useDebounce",
3
+ "version": "0.3.0",
4
+ "main": "index.js",
5
+ "types": "index.d.ts",
6
+ "sideEffects": [
7
+ "*.css"
8
+ ]
9
+ }
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ /**
8
+ * Reack hook
9
+ */
10
+ var useIsMounted = function () {
11
+ var ref = react.useRef(false);
12
+ react.useEffect(function () {
13
+ ref.current = true;
14
+ return function () {
15
+ ref.current = false;
16
+ };
17
+ }, []);
18
+ return ref.current;
19
+ };
20
+
21
+ exports.useIsMounted = useIsMounted;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ /**
8
+ * Reack hook
9
+ */
10
+ var useIsMounted = function () {
11
+ var ref = react.useRef(false);
12
+ react.useEffect(function () {
13
+ ref.current = true;
14
+ return function () {
15
+ ref.current = false;
16
+ };
17
+ }, []);
18
+ return ref.current;
19
+ };
20
+
21
+ exports.useIsMounted = useIsMounted;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.useIsMounted=function(){var r=e.useRef(!1);return e.useEffect((function(){return r.current=!0,function(){r.current=!1}}),[]),r.current};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.useIsMounted=function(){var r=e.useRef(!1);return e.useEffect((function(){return r.current=!0,function(){r.current=!1}}),[]),r.current};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Reack hook
3
+ */
4
+ export declare const useIsMounted: () => boolean;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.js');
7
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.v2.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.v2.js');
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "@prom-ui/core/useIsMounted",
3
+ "version": "0.3.0",
4
+ "main": "index.js",
5
+ "types": "index.d.ts",
6
+ "sideEffects": [
7
+ "*.css"
8
+ ]
9
+ }
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ function _interopNamespaceCompat(e) {
8
+ if (e && typeof e === 'object' && 'default' in e) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespaceCompat(React);
26
+
27
+ /**
28
+ * Reack hook
29
+ */
30
+ var useKeyPress = function (targetKey, handleKeyDown, handleKeyUp) {
31
+ // State for keeping track of whether key is pressed
32
+ var _a = React__namespace.useState(false),
33
+ keyPressed = _a[0],
34
+ setKeyPressed = _a[1];
35
+ // If pressed key is our target key then set to true
36
+ var downHandler = function (event) {
37
+ if (event.key === targetKey) {
38
+ handleKeyDown ? handleKeyDown(event) : setKeyPressed(true);
39
+ }
40
+ };
41
+ // If released key is our target key then set to false
42
+ var upHandler = function (event) {
43
+ if (event.key === targetKey) {
44
+ handleKeyUp ? handleKeyUp(event) : setKeyPressed(false);
45
+ }
46
+ };
47
+ // Add event listeners
48
+ React__namespace.useEffect(function () {
49
+ window.addEventListener('keydown', downHandler);
50
+ window.addEventListener('keyup', upHandler);
51
+ // Remove event listeners on cleanup
52
+ return function () {
53
+ window.removeEventListener('keydown', downHandler);
54
+ window.removeEventListener('keyup', upHandler);
55
+ };
56
+ }, [targetKey, handleKeyDown, handleKeyUp]);
57
+ return keyPressed;
58
+ };
59
+
60
+ exports.useKeyPress = useKeyPress;
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ function _interopNamespaceCompat(e) {
8
+ if (e && typeof e === 'object' && 'default' in e) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespaceCompat(React);
26
+
27
+ /**
28
+ * Reack hook
29
+ */
30
+ var useKeyPress = function (targetKey, handleKeyDown, handleKeyUp) {
31
+ // State for keeping track of whether key is pressed
32
+ var _a = React__namespace.useState(false),
33
+ keyPressed = _a[0],
34
+ setKeyPressed = _a[1];
35
+ // If pressed key is our target key then set to true
36
+ var downHandler = function (event) {
37
+ if (event.key === targetKey) {
38
+ handleKeyDown ? handleKeyDown(event) : setKeyPressed(true);
39
+ }
40
+ };
41
+ // If released key is our target key then set to false
42
+ var upHandler = function (event) {
43
+ if (event.key === targetKey) {
44
+ handleKeyUp ? handleKeyUp(event) : setKeyPressed(false);
45
+ }
46
+ };
47
+ // Add event listeners
48
+ React__namespace.useEffect(function () {
49
+ window.addEventListener('keydown', downHandler);
50
+ window.addEventListener('keyup', upHandler);
51
+ // Remove event listeners on cleanup
52
+ return function () {
53
+ window.removeEventListener('keydown', downHandler);
54
+ window.removeEventListener('keyup', upHandler);
55
+ };
56
+ }, [targetKey, handleKeyDown, handleKeyUp]);
57
+ return keyPressed;
58
+ };
59
+
60
+ exports.useKeyPress = useKeyPress;
@@ -0,0 +1 @@
1
+ "use strict";function e(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react"));exports.useKeyPress=function(e,n,r){var u=t.useState(!1),o=u[0],i=u[1],c=function(t){t.key===e&&(n?n(t):i(!0))},f=function(t){t.key===e&&(r?r(t):i(!1))};return t.useEffect((function(){return window.addEventListener("keydown",c),window.addEventListener("keyup",f),function(){window.removeEventListener("keydown",c),window.removeEventListener("keyup",f)}}),[e,n,r]),o};
@@ -0,0 +1 @@
1
+ "use strict";function e(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react"));exports.useKeyPress=function(e,n,r){var u=t.useState(!1),o=u[0],i=u[1],c=function(t){t.key===e&&(n?n(t):i(!0))},f=function(t){t.key===e&&(r?r(t):i(!1))};return t.useEffect((function(){return window.addEventListener("keydown",c),window.addEventListener("keyup",f),function(){window.removeEventListener("keydown",c),window.removeEventListener("keyup",f)}}),[e,n,r]),o};
@@ -0,0 +1,6 @@
1
+ type handleFn = (e: KeyboardEvent) => void;
2
+ /**
3
+ * Reack hook
4
+ */
5
+ export declare const useKeyPress: (targetKey: string, handleKeyDown?: handleFn, handleKeyUp?: handleFn) => boolean;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.js');
7
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.v2.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.v2.js');
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "@prom-ui/core/useKeyPress",
3
+ "version": "0.3.0",
4
+ "main": "index.js",
5
+ "types": "index.d.ts",
6
+ "sideEffects": [
7
+ "*.css"
8
+ ]
9
+ }
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var reactResponsive = require('react-responsive');
6
+
7
+ var SCREEN_BREAKPOINTS = {
8
+ small: 480,
9
+ medium: 768,
10
+ large: 960,
11
+ wide: 1200,
12
+ huge: 1400
13
+ };
14
+ /**
15
+ * Хук позволяет определять текущее состояние медиа-запроса и обновлять его при изменении размера окна браузера.
16
+ */
17
+ var useMedia = function (_a) {
18
+ var minWidth = _a.minWidth,
19
+ maxWidth = _a.maxWidth;
20
+ return reactResponsive.useMediaQuery({
21
+ minWidth: minWidth ? SCREEN_BREAKPOINTS[minWidth] : 1,
22
+ maxWidth: maxWidth ? SCREEN_BREAKPOINTS[maxWidth] - 1 : undefined
23
+ });
24
+ };
25
+
26
+ exports.SCREEN_BREAKPOINTS = SCREEN_BREAKPOINTS;
27
+ exports.useMedia = useMedia;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var reactResponsive = require('react-responsive');
6
+
7
+ var SCREEN_BREAKPOINTS = {
8
+ small: 480,
9
+ medium: 768,
10
+ large: 960,
11
+ wide: 1200,
12
+ huge: 1400
13
+ };
14
+ /**
15
+ * Хук позволяет определять текущее состояние медиа-запроса и обновлять его при изменении размера окна браузера.
16
+ */
17
+ var useMedia = function (_a) {
18
+ var minWidth = _a.minWidth,
19
+ maxWidth = _a.maxWidth;
20
+ return reactResponsive.useMediaQuery({
21
+ minWidth: minWidth ? SCREEN_BREAKPOINTS[minWidth] : 1,
22
+ maxWidth: maxWidth ? SCREEN_BREAKPOINTS[maxWidth] - 1 : undefined
23
+ });
24
+ };
25
+
26
+ exports.SCREEN_BREAKPOINTS = SCREEN_BREAKPOINTS;
27
+ exports.useMedia = useMedia;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react-responsive"),i={small:480,medium:768,large:960,wide:1200,huge:1400};exports.SCREEN_BREAKPOINTS=i,exports.useMedia=function(r){var t=r.minWidth,d=r.maxWidth;return e.useMediaQuery({minWidth:t?i[t]:1,maxWidth:d?i[d]-1:void 0})};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react-responsive"),i={small:480,medium:768,large:960,wide:1200,huge:1400};exports.SCREEN_BREAKPOINTS=i,exports.useMedia=function(r){var t=r.minWidth,d=r.maxWidth;return e.useMediaQuery({minWidth:t?i[t]:1,maxWidth:d?i[d]-1:void 0})};
@@ -0,0 +1,21 @@
1
+ export declare const SCREEN_BREAKPOINTS: {
2
+ readonly small: 480;
3
+ readonly medium: 768;
4
+ readonly large: 960;
5
+ readonly wide: 1200;
6
+ readonly huge: 1400;
7
+ };
8
+ export type useMedia = (arg: {
9
+ /**
10
+ * Аналог CSS медиа правила `@media (min-width: ...)`
11
+ */
12
+ minWidth?: keyof typeof SCREEN_BREAKPOINTS;
13
+ /**
14
+ * Аналог CSS медиа правила `@media (max-width: ...)`
15
+ */
16
+ maxWidth?: keyof typeof SCREEN_BREAKPOINTS;
17
+ }) => boolean;
18
+ /**
19
+ * Хук позволяет определять текущее состояние медиа-запроса и обновлять его при изменении размера окна браузера.
20
+ */
21
+ export declare const useMedia: useMedia;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.js');
7
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/index.production.v2.js');
5
+ } else {
6
+ module.exports = require('./cjs/index.development.v2.js');
7
+ }