@koine/react 1.0.96 → 1.0.97

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.
@@ -1,5 +1,6 @@
1
- import { useState, useEffect } from "react";
1
+ import { useState } from "react";
2
2
  import { isUndefined, getMediaQueryWidthResolvers, } from "@koine/utils";
3
+ import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect";
3
4
  /**
4
5
  * Use `null` instead of `false` as default value, @see https://observablehq.com/@werehamster/avoiding-hydration-mismatch-when-using-react-hooks
5
6
  *
@@ -25,7 +26,7 @@ export function createUseMediaQueryWidth(customBreakpoints) {
25
26
  var _b = ruleBreakpoint.split("_"), br1 = _b[0], br2 = _b[1];
26
27
  var query = queryResolvers[rule](br1, br2);
27
28
  var _c = useState(isUndefined(serverValue) ? null : serverValue), matches = _c[0], setMatches = _c[1];
28
- useEffect(function () {
29
+ useIsomorphicLayoutEffect(function () {
29
30
  var mq = window.matchMedia(query);
30
31
  var handleChange = function (event) {
31
32
  setMatches(event.matches);
@@ -52,9 +53,10 @@ export function createUseMediaQueryWidth(customBreakpoints) {
52
53
  export default createUseMediaQueryWidth;
53
54
  //// without creator it would be:
54
55
  //// ---------------------------------------------------------------------------
55
- // import { useState, useEffect, useMemo } from "react";
56
+ // import { useState, useIsomorphicLayoutEffect, useMemo } from "react";
56
57
  // import { isBrowser, type Split } from "@koine/utils";
57
58
  // import { breakpoints as themeBreakpoints } from "@/config/theme/breakpoints";
59
+ // import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect"
58
60
  // type Breakpoint = "xs" | "sm" | "md" | "lg" | "xl";
59
61
  // type Breakpoints = Record<Breakpoint, number>;
60
62
  // type MediaQuery =
@@ -149,7 +151,7 @@ export default createUseMediaQueryWidth;
149
151
  // [query]
150
152
  // );
151
153
  // const [matches, setMatches] = useState(mq.matches);
152
- // useEffect(() => {
154
+ // useIsomorphicLayoutEffect(() => {
153
155
  // const mq = window.matchMedia(query);
154
156
  // const handleChange = (event: MediaQueryListEvent) => {
155
157
  // setMatches(event.matches);
@@ -1,6 +1,7 @@
1
- import { useLayoutEffect, useRef } from "react";
1
+ import { useRef } from "react";
2
2
  import { injectCss, calculateFixedOffset, listenResize, $each, } from "@koine/dom";
3
3
  import { debounce } from "@koine/utils";
4
+ import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect";
4
5
  var observer;
5
6
  var inject = function (value) {
6
7
  injectCss("useFixedOffset", "html{scroll-padding-top: ".concat(value, "px}"));
@@ -12,7 +13,7 @@ var inject = function (value) {
12
13
  */
13
14
  export function useFixedOffset() {
14
15
  var fixedOffset = useRef(0);
15
- useLayoutEffect(function () {
16
+ useIsomorphicLayoutEffect(function () {
16
17
  var update = function () {
17
18
  var newFixedOffset = calculateFixedOffset();
18
19
  fixedOffset.current = newFixedOffset;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createUseMediaQueryWidth = void 0;
4
4
  var react_1 = require("react");
5
5
  var utils_1 = require("@koine/utils");
6
+ var useIsomorphicLayoutEffect_1 = require("../hooks/useIsomorphicLayoutEffect");
6
7
  /**
7
8
  * Use `null` instead of `false` as default value, @see https://observablehq.com/@werehamster/avoiding-hydration-mismatch-when-using-react-hooks
8
9
  *
@@ -28,7 +29,7 @@ function createUseMediaQueryWidth(customBreakpoints) {
28
29
  var _b = ruleBreakpoint.split("_"), br1 = _b[0], br2 = _b[1];
29
30
  var query = queryResolvers[rule](br1, br2);
30
31
  var _c = (0, react_1.useState)((0, utils_1.isUndefined)(serverValue) ? null : serverValue), matches = _c[0], setMatches = _c[1];
31
- (0, react_1.useEffect)(function () {
32
+ (0, useIsomorphicLayoutEffect_1.useIsomorphicLayoutEffect)(function () {
32
33
  var mq = window.matchMedia(query);
33
34
  var handleChange = function (event) {
34
35
  setMatches(event.matches);
@@ -56,9 +57,10 @@ exports.createUseMediaQueryWidth = createUseMediaQueryWidth;
56
57
  exports.default = createUseMediaQueryWidth;
57
58
  //// without creator it would be:
58
59
  //// ---------------------------------------------------------------------------
59
- // import { useState, useEffect, useMemo } from "react";
60
+ // import { useState, useIsomorphicLayoutEffect, useMemo } from "react";
60
61
  // import { isBrowser, type Split } from "@koine/utils";
61
62
  // import { breakpoints as themeBreakpoints } from "@/config/theme/breakpoints";
63
+ // import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect"
62
64
  // type Breakpoint = "xs" | "sm" | "md" | "lg" | "xl";
63
65
  // type Breakpoints = Record<Breakpoint, number>;
64
66
  // type MediaQuery =
@@ -153,7 +155,7 @@ exports.default = createUseMediaQueryWidth;
153
155
  // [query]
154
156
  // );
155
157
  // const [matches, setMatches] = useState(mq.matches);
156
- // useEffect(() => {
158
+ // useIsomorphicLayoutEffect(() => {
157
159
  // const mq = window.matchMedia(query);
158
160
  // const handleChange = (event: MediaQueryListEvent) => {
159
161
  // setMatches(event.matches);
@@ -4,6 +4,7 @@ exports.useFixedOffset = void 0;
4
4
  var react_1 = require("react");
5
5
  var dom_1 = require("@koine/dom");
6
6
  var utils_1 = require("@koine/utils");
7
+ var useIsomorphicLayoutEffect_1 = require("./useIsomorphicLayoutEffect");
7
8
  var observer;
8
9
  var inject = function (value) {
9
10
  (0, dom_1.injectCss)("useFixedOffset", "html{scroll-padding-top: ".concat(value, "px}"));
@@ -15,7 +16,7 @@ var inject = function (value) {
15
16
  */
16
17
  function useFixedOffset() {
17
18
  var fixedOffset = (0, react_1.useRef)(0);
18
- (0, react_1.useLayoutEffect)(function () {
19
+ (0, useIsomorphicLayoutEffect_1.useIsomorphicLayoutEffect)(function () {
19
20
  var update = function () {
20
21
  var newFixedOffset = (0, dom_1.calculateFixedOffset)();
21
22
  fixedOffset.current = newFixedOffset;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framer-motion": "^7.5.3",
9
9
  "react": "^18.2.0",
10
10
  "@mui/base": "^5.0.0-alpha.101",
11
- "@koine/utils": "1.0.96",
11
+ "@koine/utils": "1.0.97",
12
12
  "ts-debounce": "^4.0.0",
13
13
  "react-icons": "^4.4.0",
14
14
  "date-fns": "^2.29.3",
@@ -17,12 +17,12 @@
17
17
  "@tiptap/starter-kit": "^2.0.0-beta.199",
18
18
  "@kuus/yup": "^1.0.0-beta.4",
19
19
  "react-hook-form": "^7.37.0",
20
- "@koine/dom": "1.0.96",
20
+ "@koine/dom": "1.0.97",
21
21
  "react-popper": "^2.3.0",
22
22
  "tslib": "^2.4.0"
23
23
  },
24
24
  "peerDependencies": {},
25
- "version": "1.0.96",
25
+ "version": "1.0.97",
26
26
  "module": "./index.js",
27
27
  "types": "./index.d.ts"
28
28
  }