@peculiar/react-components 1.8.1 → 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.
@@ -56,6 +56,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
56
56
  exports.ToastProvider = void 0;
57
57
  var React = __importStar(require("react"));
58
58
  var Portal_1 = require("../Portal");
59
+ var use_event_callback_1 = require("../hooks/use_event_callback");
59
60
  var toast_context_1 = require("./toast_context");
60
61
  var toast_container_1 = require("./toast_container");
61
62
  var toast_1 = require("./toast");
@@ -66,7 +67,7 @@ var ToastProvider = function (props) {
66
67
  toasts: [],
67
68
  queue: [],
68
69
  }), state = _b[0], setState = _b[1];
69
- var addToast = function (options) {
70
+ var addToast = (0, use_event_callback_1.useEventCallback)(function (options) {
70
71
  var id = options.id || "".concat(Date.now()).concat(Math.random());
71
72
  var newToast = __assign(__assign({}, options), { id: id, createdAt: Date.now() });
72
73
  setState(function (prevState) {
@@ -93,8 +94,8 @@ var ToastProvider = function (props) {
93
94
  ], false),
94
95
  };
95
96
  });
96
- };
97
- var removeToast = function (id) {
97
+ });
98
+ var removeToast = (0, use_event_callback_1.useEventCallback)(function (id) {
98
99
  setState(function (prevState) {
99
100
  var inToasts = prevState.toasts.findIndex(function (item) { return item.id === id; });
100
101
  if (inToasts > -1 && prevState.queue.length) {
@@ -121,19 +122,20 @@ var ToastProvider = function (props) {
121
122
  }
122
123
  return prevState;
123
124
  });
124
- };
125
- var removeAllToasts = function () {
125
+ });
126
+ var removeAllToasts = (0, use_event_callback_1.useEventCallback)(function () {
126
127
  setState({
127
128
  toasts: [],
128
129
  queue: [],
129
130
  });
130
- };
131
+ });
131
132
  var hasToasts = Boolean(state.toasts.length);
132
- return (React.createElement(toast_context_1.ToastContext.Provider, { value: {
133
- addToast: addToast,
134
- removeToast: removeToast,
135
- removeAllToasts: removeAllToasts,
136
- } },
133
+ var contextValue = React.useMemo(function () { return ({
134
+ addToast: addToast,
135
+ removeToast: removeToast,
136
+ removeAllToasts: removeAllToasts,
137
+ }); }, [addToast, removeToast, removeAllToasts]);
138
+ return (React.createElement(toast_context_1.ToastContext.Provider, { value: contextValue },
137
139
  children,
138
140
  hasToasts && (React.createElement(Portal_1.Portal, null,
139
141
  React.createElement(toast_container_1.ToastContainer, __assign({}, toastContainerProps), state.toasts.map(function (toast) { return (React.createElement(toast_1.Toast, { key: toast.id, id: toast.id, isClosable: toast.isClosable, duration: toast.duration, alertProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"toast_provider.js","sourceRoot":"","sources":["../../../src/Toast/toast_provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast_provider.js","sourceRoot":"","sources":["../../../src/Toast/toast_provider.tsx"],"names":[],"mappings":"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"}
@@ -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.useEnhancedEffect = typeof window !== 'undefined' ? react_1.default.useLayoutEffect : react_1.default.useEffect;
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,iBAAiB,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,eAAK,CAAC,eAAe,CAAC,CAAC,CAAC,eAAK,CAAC,SAAS,CAAC"}
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
- var _a = react_1.default.useState(false), matches = _a[0], setMatches = _a[1];
17
- (0, use_enhanced_effect_1.useEnhancedEffect)(function () {
18
- var media = window.matchMedia(query);
19
- if (media.matches !== matches) {
20
- setMatches(media.matches);
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
- var listener = function () {
23
- setMatches(media.matches);
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
- media.addListener(listener);
33
+ onChange();
34
+ matchMedia.addListener(onChange);
26
35
  return function () {
27
- media.removeListener(listener);
36
+ matchMedia.removeListener(onChange);
28
37
  };
29
- }, [matches, query]);
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,sCAsBC;AA/BD,gDAA0B;AAC1B,6DAA0D;AAE1D;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAa;IACnC,IAAA,KAAwB,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA5C,OAAO,QAAA,EAAE,UAAU,QAAyB,CAAC;IAEpD,IAAA,uCAAiB,EAAC;QAChB,IAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IAAM,QAAQ,GAAG;YACf,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO;YACL,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,OAAO,OAAO,CAAC;AACjB,CAAC"}
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"}
@@ -20,6 +20,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
20
20
  };
21
21
  import * as React from 'react';
22
22
  import { Portal } from '../Portal';
23
+ import { useEventCallback } from '../hooks/use_event_callback';
23
24
  import { ToastContext, } from './toast_context';
24
25
  import { ToastContainer } from './toast_container';
25
26
  import { Toast } from './toast';
@@ -30,7 +31,7 @@ export var ToastProvider = function (props) {
30
31
  toasts: [],
31
32
  queue: [],
32
33
  }), state = _b[0], setState = _b[1];
33
- var addToast = function (options) {
34
+ var addToast = useEventCallback(function (options) {
34
35
  var id = options.id || "".concat(Date.now()).concat(Math.random());
35
36
  var newToast = __assign(__assign({}, options), { id: id, createdAt: Date.now() });
36
37
  setState(function (prevState) {
@@ -57,8 +58,8 @@ export var ToastProvider = function (props) {
57
58
  ], false),
58
59
  };
59
60
  });
60
- };
61
- var removeToast = function (id) {
61
+ });
62
+ var removeToast = useEventCallback(function (id) {
62
63
  setState(function (prevState) {
63
64
  var inToasts = prevState.toasts.findIndex(function (item) { return item.id === id; });
64
65
  if (inToasts > -1 && prevState.queue.length) {
@@ -85,19 +86,20 @@ export var ToastProvider = function (props) {
85
86
  }
86
87
  return prevState;
87
88
  });
88
- };
89
- var removeAllToasts = function () {
89
+ });
90
+ var removeAllToasts = useEventCallback(function () {
90
91
  setState({
91
92
  toasts: [],
92
93
  queue: [],
93
94
  });
94
- };
95
+ });
95
96
  var hasToasts = Boolean(state.toasts.length);
96
- return (React.createElement(ToastContext.Provider, { value: {
97
- addToast: addToast,
98
- removeToast: removeToast,
99
- removeAllToasts: removeAllToasts,
100
- } },
97
+ var contextValue = React.useMemo(function () { return ({
98
+ addToast: addToast,
99
+ removeToast: removeToast,
100
+ removeAllToasts: removeAllToasts,
101
+ }); }, [addToast, removeToast, removeAllToasts]);
102
+ return (React.createElement(ToastContext.Provider, { value: contextValue },
101
103
  children,
102
104
  hasToasts && (React.createElement(Portal, null,
103
105
  React.createElement(ToastContainer, __assign({}, toastContainerProps), state.toasts.map(function (toast) { return (React.createElement(Toast, { key: toast.id, id: toast.id, isClosable: toast.isClosable, duration: toast.duration, alertProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"toast_provider.js","sourceRoot":"","sources":["../../../src/Toast/toast_provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast_provider.js","sourceRoot":"","sources":["../../../src/Toast/toast_provider.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import React from 'react';
2
- export var useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
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,iBAAiB,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC"}
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
- var _a = React.useState(false), matches = _a[0], setMatches = _a[1];
11
- useEnhancedEffect(function () {
12
- var media = window.matchMedia(query);
13
- if (media.matches !== matches) {
14
- setMatches(media.matches);
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
- var listener = function () {
17
- setMatches(media.matches);
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
- media.addListener(listener);
27
+ onChange();
28
+ matchMedia.addListener(onChange);
20
29
  return function () {
21
- media.removeListener(listener);
30
+ matchMedia.removeListener(onChange);
22
31
  };
23
- }, [matches, query]);
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;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACnC,IAAA,KAAwB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA5C,OAAO,QAAA,EAAE,UAAU,QAAyB,CAAC;IAEpD,iBAAiB,CAAC;QAChB,IAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IAAM,QAAQ,GAAG;YACf,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO;YACL,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,OAAO,OAAO,CAAC;AACjB,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,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Portal } from '../Portal';
3
+ import { useEventCallback } from '../hooks/use_event_callback';
3
4
  import { ToastContext, } from './toast_context';
4
5
  import { ToastContainer } from './toast_container';
5
6
  import { Toast } from './toast';
@@ -10,7 +11,7 @@ export const ToastProvider = (props) => {
10
11
  toasts: [],
11
12
  queue: [],
12
13
  });
13
- const addToast = (options) => {
14
+ const addToast = useEventCallback((options) => {
14
15
  const id = options.id || `${Date.now()}${Math.random()}`;
15
16
  const newToast = {
16
17
  ...options,
@@ -43,8 +44,8 @@ export const ToastProvider = (props) => {
43
44
  ],
44
45
  };
45
46
  });
46
- };
47
- const removeToast = (id) => {
47
+ });
48
+ const removeToast = useEventCallback((id) => {
48
49
  setState((prevState) => {
49
50
  const inToasts = prevState.toasts.findIndex((item) => item.id === id);
50
51
  if (inToasts > -1 && prevState.queue.length) {
@@ -71,19 +72,20 @@ export const ToastProvider = (props) => {
71
72
  }
72
73
  return prevState;
73
74
  });
74
- };
75
- const removeAllToasts = () => {
75
+ });
76
+ const removeAllToasts = useEventCallback(() => {
76
77
  setState({
77
78
  toasts: [],
78
79
  queue: [],
79
80
  });
80
- };
81
+ });
81
82
  const hasToasts = Boolean(state.toasts.length);
82
- return (React.createElement(ToastContext.Provider, { value: {
83
- addToast,
84
- removeToast,
85
- removeAllToasts,
86
- } },
83
+ const contextValue = React.useMemo(() => ({
84
+ addToast,
85
+ removeToast,
86
+ removeAllToasts,
87
+ }), [addToast, removeToast, removeAllToasts]);
88
+ return (React.createElement(ToastContext.Provider, { value: contextValue },
87
89
  children,
88
90
  hasToasts && (React.createElement(Portal, null,
89
91
  React.createElement(ToastContainer, { ...toastContainerProps }, state.toasts.map((toast) => (React.createElement(Toast, { key: toast.id, id: toast.id, isClosable: toast.isClosable, duration: toast.duration, alertProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"toast_provider.js","sourceRoot":"","sources":["../../../src/Toast/toast_provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast_provider.js","sourceRoot":"","sources":["../../../src/Toast/toast_provider.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import React from 'react';
2
- export const useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
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,iBAAiB,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC"}
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(false);
11
- useEnhancedEffect(() => {
12
- const media = window.matchMedia(query);
13
- if (media.matches !== matches) {
14
- setMatches(media.matches);
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
- const listener = () => {
17
- setMatches(media.matches);
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
- media.addListener(listener);
26
+ onChange();
27
+ matchMedia.addListener(onChange);
20
28
  return () => {
21
- media.removeListener(listener);
29
+ matchMedia.removeListener(onChange);
22
30
  };
23
- }, [matches, query]);
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;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,iBAAiB,CAAC,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,OAAO,OAAO,CAAC;AACjB,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"}
@@ -1,2 +1,3 @@
1
1
  import React from 'react';
2
- export declare const useEnhancedEffect: typeof React.useLayoutEffect;
2
+ export declare const IS_SERVER: boolean;
3
+ export declare const useEnhancedEffect: typeof React.useEffect;
@@ -4,4 +4,4 @@
4
4
  *
5
5
  * @param query The media query you want to match against e.g. `"only screen and (min-width: 12em)"`
6
6
  */
7
- export declare function useMediaQuery(query: string): boolean;
7
+ export declare function useMediaQuery(query: string, defaultValue?: boolean): boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@peculiar/react-components",
3
3
  "private": false,
4
- "version": "1.8.1",
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": [
@@ -60,14 +60,14 @@
60
60
  },
61
61
  "devDependencies": {
62
62
  "@babel/preset-env": "7.26.9",
63
- "@storybook/addon-essentials": "8.6.15",
64
- "@storybook/react": "8.6.15",
65
- "@storybook/react-vite": "8.6.15",
63
+ "@storybook/addon-essentials": "8.6.17",
64
+ "@storybook/react": "8.6.17",
65
+ "@storybook/react-vite": "8.6.17",
66
66
  "@types/react": "^18.0.34",
67
67
  "@types/react-dom": "^18.0.11",
68
68
  "react": "^18.2.0",
69
69
  "react-dom": "^18.2.0",
70
- "storybook": "8.6.15",
70
+ "storybook": "8.6.17",
71
71
  "storybook-dark-mode": "^4.0.2",
72
72
  "typescript": "5.9.3",
73
73
  "vite": "^6.4.1"
@@ -79,5 +79,5 @@
79
79
  "node": ">=18.x"
80
80
  },
81
81
  "license": "MIT",
82
- "gitHead": "ff9d8d80ba09326ff6f700279f0982f37c392bbf"
82
+ "gitHead": "93c1a2219bb2de67609606f0bbb8c36cf9c1043b"
83
83
  }