@peculiar/react-components 1.8.2 → 1.8.3
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.
- package/dist/cjs/hooks/use_enhanced_effect.js +3 -2
- package/dist/cjs/hooks/use_enhanced_effect.js.map +1 -1
- package/dist/cjs/hooks/use_media_query.js +20 -11
- package/dist/cjs/hooks/use_media_query.js.map +1 -1
- package/dist/esm/hooks/use_enhanced_effect.js +2 -1
- package/dist/esm/hooks/use_enhanced_effect.js.map +1 -1
- package/dist/esm/hooks/use_media_query.js +21 -12
- package/dist/esm/hooks/use_media_query.js.map +1 -1
- package/dist/esnext/hooks/use_enhanced_effect.js +2 -1
- package/dist/esnext/hooks/use_enhanced_effect.js.map +1 -1
- package/dist/esnext/hooks/use_media_query.js +20 -12
- package/dist/esnext/hooks/use_media_query.js.map +1 -1
- package/dist/types/hooks/use_enhanced_effect.d.ts +2 -1
- package/dist/types/hooks/use_media_query.d.ts +1 -1
- package/package.json +2 -2
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useEnhancedEffect = void 0;
|
|
6
|
+
exports.useEnhancedEffect = exports.IS_SERVER = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
|
-
exports.
|
|
8
|
+
exports.IS_SERVER = typeof window === 'undefined';
|
|
9
|
+
exports.useEnhancedEffect = exports.IS_SERVER ? react_1.default.useEffect : react_1.default.useLayoutEffect;
|
|
9
10
|
//# sourceMappingURL=use_enhanced_effect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_enhanced_effect.js","sourceRoot":"","sources":["../../../src/hooks/use_enhanced_effect.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAEb,QAAA,
|
|
1
|
+
{"version":3,"file":"use_enhanced_effect.js","sourceRoot":"","sources":["../../../src/hooks/use_enhanced_effect.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAEb,QAAA,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAE1C,QAAA,iBAAiB,GAAG,iBAAS,CAAC,CAAC,CAAC,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,eAAe,CAAC"}
|
|
@@ -12,21 +12,30 @@ var use_enhanced_effect_1 = require("./use_enhanced_effect");
|
|
|
12
12
|
*
|
|
13
13
|
* @param query The media query you want to match against e.g. `"only screen and (min-width: 12em)"`
|
|
14
14
|
*/
|
|
15
|
-
function useMediaQuery(query) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
function useMediaQuery(query, defaultValue) {
|
|
16
|
+
if (defaultValue === void 0) { defaultValue = false; }
|
|
17
|
+
var _a = react_1.default.useState(function () {
|
|
18
|
+
// Prevent a React hydration mismatch when a default value is provided
|
|
19
|
+
// by not defaulting to window.matchMedia(query).matches.
|
|
20
|
+
if (defaultValue !== undefined) {
|
|
21
|
+
return defaultValue;
|
|
22
|
+
}
|
|
23
|
+
if (use_enhanced_effect_1.IS_SERVER) {
|
|
24
|
+
return false;
|
|
21
25
|
}
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
return window.matchMedia(query).matches;
|
|
27
|
+
}), matches = _a[0], setMatches = _a[1];
|
|
28
|
+
(0, use_enhanced_effect_1.useEnhancedEffect)(function () {
|
|
29
|
+
var matchMedia = window.matchMedia(query);
|
|
30
|
+
var onChange = function () {
|
|
31
|
+
setMatches(matchMedia.matches);
|
|
24
32
|
};
|
|
25
|
-
|
|
33
|
+
onChange();
|
|
34
|
+
matchMedia.addListener(onChange);
|
|
26
35
|
return function () {
|
|
27
|
-
|
|
36
|
+
matchMedia.removeListener(onChange);
|
|
28
37
|
};
|
|
29
|
-
}, [
|
|
38
|
+
}, [query]);
|
|
30
39
|
return matches;
|
|
31
40
|
}
|
|
32
41
|
//# sourceMappingURL=use_media_query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_media_query.js","sourceRoot":"","sources":["../../../src/hooks/use_media_query.ts"],"names":[],"mappings":";;;;;AASA,
|
|
1
|
+
{"version":3,"file":"use_media_query.js","sourceRoot":"","sources":["../../../src/hooks/use_media_query.ts"],"names":[],"mappings":";;;;;AASA,sCA+BC;AAxCD,gDAA0B;AAC1B,6DAAqE;AAErE;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAa,EAAE,YAAoB;IAApB,6BAAA,EAAA,oBAAoB;IACzD,IAAA,KAAwB,eAAK,CAAC,QAAQ,CAAC;QAC3C,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,+BAAS,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC,CAAC,EAZK,OAAO,QAAA,EAAE,UAAU,QAYxB,CAAC;IAEH,IAAA,uCAAiB,EAAC;QAChB,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAM,QAAQ,GAAG;YACf,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,QAAQ,EAAE,CAAC;QACX,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO;YACL,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export var
|
|
2
|
+
export var IS_SERVER = typeof window === 'undefined';
|
|
3
|
+
export var useEnhancedEffect = IS_SERVER ? React.useEffect : React.useLayoutEffect;
|
|
3
4
|
//# sourceMappingURL=use_enhanced_effect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_enhanced_effect.js","sourceRoot":"","sources":["../../../src/hooks/use_enhanced_effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,IAAM,
|
|
1
|
+
{"version":3,"file":"use_enhanced_effect.js","sourceRoot":"","sources":["../../../src/hooks/use_enhanced_effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,IAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEvD,MAAM,CAAC,IAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC"}
|
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { useEnhancedEffect } from './use_enhanced_effect';
|
|
2
|
+
import { IS_SERVER, useEnhancedEffect } from './use_enhanced_effect';
|
|
3
3
|
/**
|
|
4
4
|
* A hook that returns `true` if the media query matched and `false` if not. This
|
|
5
5
|
* hook will always return `false` when rendering on the server.
|
|
6
6
|
*
|
|
7
7
|
* @param query The media query you want to match against e.g. `"only screen and (min-width: 12em)"`
|
|
8
8
|
*/
|
|
9
|
-
export function useMediaQuery(query) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
export function useMediaQuery(query, defaultValue) {
|
|
10
|
+
if (defaultValue === void 0) { defaultValue = false; }
|
|
11
|
+
var _a = React.useState(function () {
|
|
12
|
+
// Prevent a React hydration mismatch when a default value is provided
|
|
13
|
+
// by not defaulting to window.matchMedia(query).matches.
|
|
14
|
+
if (defaultValue !== undefined) {
|
|
15
|
+
return defaultValue;
|
|
16
|
+
}
|
|
17
|
+
if (IS_SERVER) {
|
|
18
|
+
return false;
|
|
15
19
|
}
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
return window.matchMedia(query).matches;
|
|
21
|
+
}), matches = _a[0], setMatches = _a[1];
|
|
22
|
+
useEnhancedEffect(function () {
|
|
23
|
+
var matchMedia = window.matchMedia(query);
|
|
24
|
+
var onChange = function () {
|
|
25
|
+
setMatches(matchMedia.matches);
|
|
18
26
|
};
|
|
19
|
-
|
|
27
|
+
onChange();
|
|
28
|
+
matchMedia.addListener(onChange);
|
|
20
29
|
return function () {
|
|
21
|
-
|
|
30
|
+
matchMedia.removeListener(onChange);
|
|
22
31
|
};
|
|
23
|
-
}, [
|
|
32
|
+
}, [query]);
|
|
24
33
|
return matches;
|
|
25
34
|
}
|
|
26
35
|
//# sourceMappingURL=use_media_query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_media_query.js","sourceRoot":"","sources":["../../../src/hooks/use_media_query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"use_media_query.js","sourceRoot":"","sources":["../../../src/hooks/use_media_query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,YAAoB;IAApB,6BAAA,EAAA,oBAAoB;IACzD,IAAA,KAAwB,KAAK,CAAC,QAAQ,CAAC;QAC3C,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC,CAAC,EAZK,OAAO,QAAA,EAAE,UAAU,QAYxB,CAAC;IAEH,iBAAiB,CAAC;QAChB,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAM,QAAQ,GAAG;YACf,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,QAAQ,EAAE,CAAC;QACX,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO;YACL,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export const
|
|
2
|
+
export const IS_SERVER = typeof window === 'undefined';
|
|
3
|
+
export const useEnhancedEffect = IS_SERVER ? React.useEffect : React.useLayoutEffect;
|
|
3
4
|
//# sourceMappingURL=use_enhanced_effect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_enhanced_effect.js","sourceRoot":"","sources":["../../../src/hooks/use_enhanced_effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"use_enhanced_effect.js","sourceRoot":"","sources":["../../../src/hooks/use_enhanced_effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC"}
|
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { useEnhancedEffect } from './use_enhanced_effect';
|
|
2
|
+
import { IS_SERVER, useEnhancedEffect } from './use_enhanced_effect';
|
|
3
3
|
/**
|
|
4
4
|
* A hook that returns `true` if the media query matched and `false` if not. This
|
|
5
5
|
* hook will always return `false` when rendering on the server.
|
|
6
6
|
*
|
|
7
7
|
* @param query The media query you want to match against e.g. `"only screen and (min-width: 12em)"`
|
|
8
8
|
*/
|
|
9
|
-
export function useMediaQuery(query) {
|
|
10
|
-
const [matches, setMatches] = React.useState(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (
|
|
14
|
-
|
|
9
|
+
export function useMediaQuery(query, defaultValue = false) {
|
|
10
|
+
const [matches, setMatches] = React.useState(() => {
|
|
11
|
+
// Prevent a React hydration mismatch when a default value is provided
|
|
12
|
+
// by not defaulting to window.matchMedia(query).matches.
|
|
13
|
+
if (defaultValue !== undefined) {
|
|
14
|
+
return defaultValue;
|
|
15
|
+
}
|
|
16
|
+
if (IS_SERVER) {
|
|
17
|
+
return false;
|
|
15
18
|
}
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
return window.matchMedia(query).matches;
|
|
20
|
+
});
|
|
21
|
+
useEnhancedEffect(() => {
|
|
22
|
+
const matchMedia = window.matchMedia(query);
|
|
23
|
+
const onChange = () => {
|
|
24
|
+
setMatches(matchMedia.matches);
|
|
18
25
|
};
|
|
19
|
-
|
|
26
|
+
onChange();
|
|
27
|
+
matchMedia.addListener(onChange);
|
|
20
28
|
return () => {
|
|
21
|
-
|
|
29
|
+
matchMedia.removeListener(onChange);
|
|
22
30
|
};
|
|
23
|
-
}, [
|
|
31
|
+
}, [query]);
|
|
24
32
|
return matches;
|
|
25
33
|
}
|
|
26
34
|
//# sourceMappingURL=use_media_query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_media_query.js","sourceRoot":"","sources":["../../../src/hooks/use_media_query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"use_media_query.js","sourceRoot":"","sources":["../../../src/hooks/use_media_query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,YAAY,GAAG,KAAK;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;QAChD,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,iBAAiB,CAAC,GAAG,EAAE;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,QAAQ,EAAE,CAAC;QACX,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peculiar/react-components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.8.
|
|
4
|
+
"version": "1.8.3",
|
|
5
5
|
"author": "PeculiarVentures Team",
|
|
6
6
|
"description": "A simple and customizable component library to build faster, beautiful, and more accessible React applications.",
|
|
7
7
|
"keywords": [
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"node": ">=18.x"
|
|
80
80
|
},
|
|
81
81
|
"license": "MIT",
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "93c1a2219bb2de67609606f0bbb8c36cf9c1043b"
|
|
83
83
|
}
|